From sandhya.viswanathan at intel.com Mon Mar 2 00:30:47 2020 From: sandhya.viswanathan at intel.com (sandhya.viswanathan at intel.com) Date: Mon, 02 Mar 2020 00:30:47 +0000 Subject: hg: panama/dev: Summary: [vector] Extract cleanup for x86 Message-ID: <202003020030.0220Unxj028630@aojmv0008.oracle.com> Changeset: a588cc88c80d Author: sviswanathan Date: 2020-03-01 16:27 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/a588cc88c80d Summary: [vector] Extract cleanup for x86 Reviewed-by: srukmannagar ! 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/x86.ad From sandhya.viswanathan at intel.com Mon Mar 2 04:06:13 2020 From: sandhya.viswanathan at intel.com (sandhya.viswanathan at intel.com) Date: Mon, 02 Mar 2020 04:06:13 +0000 Subject: hg: panama/dev: manual merge with default Message-ID: <202003020406.02246DCT009116@aojmv0008.oracle.com> Changeset: 13e725914984 Author: sviswanathan Date: 2020-03-01 20:01 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/13e725914984 manual merge with default - make/CopyInterimCLDRConverter.gmk - make/Help.gmk - make/autoconf/basics.m4 - make/autoconf/basics_windows.m4 ! make/autoconf/toolchain.m4 ! make/common/NativeCompilation.gmk ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/assembler_aarch64.hpp ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp ! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp ! src/hotspot/cpu/arm/arm.ad ! src/hotspot/cpu/arm/sharedRuntime_arm.cpp ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp ! src/hotspot/cpu/s390/s390.ad ! src/hotspot/cpu/s390/sharedRuntime_s390.cpp ! src/hotspot/cpu/sparc/sharedRuntime_sparc.cpp ! src/hotspot/cpu/sparc/sparc.ad ! 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/sharedRuntime_x86_32.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/cpu/x86/vm_version_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/classfile/vmSymbols.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/opto/c2_globals.hpp ! src/hotspot/share/opto/callnode.cpp ! src/hotspot/share/opto/cfgnode.cpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/doCall.cpp ! src/hotspot/share/opto/escape.cpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/graphKit.hpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/macro.hpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/matcher.hpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/output.cpp ! src/hotspot/share/opto/parse2.cpp ! src/hotspot/share/opto/phase.hpp ! src/hotspot/share/opto/superword.cpp ! src/hotspot/share/opto/type.cpp ! src/hotspot/share/opto/vectornode.cpp ! src/hotspot/share/opto/vectornode.hpp ! src/hotspot/share/runtime/deoptimization.cpp - src/hotspot/share/runtime/fieldType.cpp - src/hotspot/share/runtime/fieldType.hpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/hotspot/share/utilities/globalDefinitions.hpp - src/java.base/linux/classes/jdk/internal/platform/cgroupv1/Metrics.java - src/java.base/linux/classes/jdk/internal/platform/cgroupv1/SubSystem.java ! src/java.base/share/classes/java/lang/Class.java ! src/java.base/share/classes/jdk/internal/misc/Unsafe.java ! src/java.base/share/classes/module-info.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.aarch64.test/src/org/graalvm/compiler/asm/aarch64/test/AArch64MacroAssemblerTest.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotGCProvider.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/DimensionsNode.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/NewObjectSnippets.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/Access.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/HeapAccess.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryCheckpoint.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/GCProvider.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jszip-utils/dist/jszip-utils-ie.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jszip-utils/dist/jszip-utils-ie.min.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jszip-utils/dist/jszip-utils.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jszip-utils/dist/jszip-utils.min.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jszip/dist/jszip.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jszip/dist/jszip.min.js - src/jdk.javadoc/share/legal/jszip.md - test/hotspot/jtreg/gc/shenandoah/compiler/TestCommonGCLoads.java - test/hotspot/jtreg/runtime/7116786/Test7116786.java - test/hotspot/jtreg/runtime/7116786/testcases.jar - test/hotspot/jtreg/runtime/CDSCompressedKPtrs/CDSCompressedKPtrsError.java - test/hotspot/jtreg/runtime/EnclosingMethodAttr/enclMethodAttr.jar - test/hotspot/jtreg/runtime/LocalVariableTable/DuplicateLVT.cod - test/hotspot/jtreg/runtime/LocalVariableTable/DuplicateLVTT.cod - test/hotspot/jtreg/runtime/LocalVariableTable/NotFoundLVTT.cod - test/hotspot/jtreg/runtime/LocalVariableTable/testcase.jar - test/hotspot/jtreg/runtime/classFileParserBug/emptynumbootstrapmethods.jar - test/hotspot/jtreg/runtime/classFileParserBug/test.jar - test/hotspot/jtreg/runtime/duplAttributes/test.jar - test/jdk/java/net/httpclient/ssltest/bad.keystore - test/jdk/java/net/httpclient/ssltest/good.keystore - test/jdk/java/net/httpclient/ssltest/loopback.keystore From sundar at openjdk.java.net Mon Mar 2 09:56:38 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Mon, 2 Mar 2020 09:56:38 GMT Subject: [foreign-jextract] [Rev 02] RFR: 8239490: jextract throws "No matching declaration found for bitfield" because wrong bitfield content is found In-Reply-To: References: Message-ID: On Fri, 28 Feb 2020 13:30:46 GMT, Maurizio Cimadamore wrote: >> This patch fixes an issue wit bitfields handling; the issue is that we are using a map to keep track of which layouts are associated with bitfield contents. Unfortunately, most of the times, bitfield contents is associated with "shared" layouts, such as int layouts - so we end up overwriting the map, associating different contents to the same underlying layout and this causes downstream issues in the code that needs to access this information. >> >> A more robust solution is to use layout annotations to do this - these are not exposed in a public API, but we already have some reflective hacks in order to use them from within jextract. I've added one more hack to add a single annotation to a layout. Longer term, we plan to make this part of the layout API public, so that no more hacks will be required (as we have other use cases for public metadata on layouts). >> >> I've also added a test to verify that bitfields are correctly parsed. While writing the test, I've realized that our testing framework, while decent, can probably be streamlined more, I'll start thinking about ways on how to do that as a separate change, so that we can write these kind of tests more quickly (which hopefully will lead us to write more of them). > > The pull request has been updated with 1 additional commit. Copyright missing in .h file ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/36 From mcimadamore at openjdk.java.net Mon Mar 2 10:06:52 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 2 Mar 2020 10:06:52 GMT Subject: [foreign-jextract] [Rev 03] RFR: 8239490: jextract throws "No matching declaration found for bitfield" because wrong bitfield content is found In-Reply-To: References: Message-ID: <9HTl_a7ZfXVXsNe35xzZPZGIO_bEtgb_IJ7pxqIh83A=.504f72fc-16b4-460a-b62c-75cdaa04b493@github.com> > This patch fixes an issue wit bitfields handling; the issue is that we are using a map to keep track of which layouts are associated with bitfield contents. Unfortunately, most of the times, bitfield contents is associated with "shared" layouts, such as int layouts - so we end up overwriting the map, associating different contents to the same underlying layout and this causes downstream issues in the code that needs to access this information. > > A more robust solution is to use layout annotations to do this - these are not exposed in a public API, but we already have some reflective hacks in order to use them from within jextract. I've added one more hack to add a single annotation to a layout. Longer term, we plan to make this part of the layout API public, so that no more hacks will be required (as we have other use cases for public metadata on layouts). > > I've also added a test to verify that bitfields are correctly parsed. While writing the test, I've realized that our testing framework, while decent, can probably be streamlined more, I'll start thinking about ways on how to do that as a separate change, so that we can write these kind of tests more quickly (which hopefully will lead us to write more of them). The pull request has been updated with 1 additional commit. ------------- Added commits: - c37cf68d: Add missing copyright Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/36/files - new: https://git.openjdk.java.net/panama-foreign/pull/36/files/35d9f5b6..c37cf68d Webrevs: - full: https://webrevs.openjdk.java.net/panama-foreign/36/webrev.03 - incr: https://webrevs.openjdk.java.net/panama-foreign/36/webrev.02-03 Stats: 24 lines in 1 file changed: 24 ins; 0 del; 0 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/36.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/36/head:pull/36 PR: https://git.openjdk.java.net/panama-foreign/pull/36 From sundar at openjdk.java.net Mon Mar 2 10:42:45 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Mon, 2 Mar 2020 10:42:45 GMT Subject: [foreign-jextract] [Rev 03] RFR: 8239490: jextract throws "No matching declaration found for bitfield" because wrong bitfield content is found In-Reply-To: <9HTl_a7ZfXVXsNe35xzZPZGIO_bEtgb_IJ7pxqIh83A=.504f72fc-16b4-460a-b62c-75cdaa04b493@github.com> References: <9HTl_a7ZfXVXsNe35xzZPZGIO_bEtgb_IJ7pxqIh83A=.504f72fc-16b4-460a-b62c-75cdaa04b493@github.com> Message-ID: On Mon, 2 Mar 2020 10:06:52 GMT, Maurizio Cimadamore wrote: >> This patch fixes an issue wit bitfields handling; the issue is that we are using a map to keep track of which layouts are associated with bitfield contents. Unfortunately, most of the times, bitfield contents is associated with "shared" layouts, such as int layouts - so we end up overwriting the map, associating different contents to the same underlying layout and this causes downstream issues in the code that needs to access this information. >> >> A more robust solution is to use layout annotations to do this - these are not exposed in a public API, but we already have some reflective hacks in order to use them from within jextract. I've added one more hack to add a single annotation to a layout. Longer term, we plan to make this part of the layout API public, so that no more hacks will be required (as we have other use cases for public metadata on layouts). >> >> I've also added a test to verify that bitfields are correctly parsed. While writing the test, I've realized that our testing framework, while decent, can probably be streamlined more, I'll start thinking about ways on how to do that as a separate change, so that we can write these kind of tests more quickly (which hopefully will lead us to write more of them). > > The pull request has been updated with 1 additional commit. Looks good ------------- Marked as reviewed by sundar (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/36 From mcimadamore at openjdk.java.net Mon Mar 2 11:14:55 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 2 Mar 2020 11:14:55 GMT Subject: [Integrated] [foreign-jextract] RFR: 8239490: jextract throws "No matching declaration found for bitfield" because wrong bitfield content is found In-Reply-To: References: Message-ID: Changeset: 1c06cd85 Author: Maurizio Cimadamore Date: 2020-03-02 11:14:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1c06cd85 8239490: jextract throws "No matching declaration found for bitfield" because wrong bitfield content is found Reviewed-by: sundar ! make/autoconf/lib-clang.m4 ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/Utils.java ! src/jdk.incubator.foreign/share/classes/module-info.java ! src/jdk.incubator.jextract/share/classes/jdk/incubator/jextract/tool/HandleSourceFactory.java ! src/jdk.incubator.jextract/share/classes/jdk/incubator/jextract/tool/StaticWrapperSourceFactory.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/jextract/impl/Utils.java ! test/jdk/java/jextract/JextractApiTestBase.java + test/jdk/java/jextract/Test8239490.h + test/jdk/java/jextract/Test8239490.java From sundar at openjdk.java.net Mon Mar 2 18:09:58 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Mon, 2 Mar 2020 18:09:58 GMT Subject: [foreign-jextract] RFR: 8240300: jextract produces non compilable code with repeated declarations Message-ID: Filtering repeated global variables and functions in code generator (added necessary hashCode, equals for decls, types) ------------- Commits: - f1720cf0: 8240300: jextract produces non compilable code with repeated declarations Changes: https://git.openjdk.java.net/panama-foreign/pull/37/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/37/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8240300 Stats: 289 lines in 5 files changed: 267 ins; 0 del; 22 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/37.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/37/head:pull/37 PR: https://git.openjdk.java.net/panama-foreign/pull/37 From mcimadamore at openjdk.java.net Mon Mar 2 18:43:26 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 2 Mar 2020 18:43:26 GMT Subject: [foreign-jextract] RFR: 8240300: jextract produces non compilable code with repeated declarations In-Reply-To: References: Message-ID: <8Oo-fAI6v-cPBg6jbwaUVVrstlNEODnva2L12LpnKxk=.798507f3-a6b2-4fd3-99ca-3db10d8b3f64@github.com> On Mon, 2 Mar 2020 18:03:42 GMT, Athijegannathan Sundararajan wrote: > Filtering repeated global variables and functions in code generator (added necessary hashCode, equals for decls, types) Looks good - thanks for adding equals/hashcode to types and declaration. I guess we should add them to the top interfaces as well (so that we can document that these things can be compared with equals()) ? ------------- Marked as reviewed by mcimadamore (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/37 From henryjen at openjdk.java.net Mon Mar 2 19:27:35 2020 From: henryjen at openjdk.java.net (Henry Jen) Date: Mon, 2 Mar 2020 19:27:35 GMT Subject: [foreign-jextract] RFR: 8240300: jextract produces non compilable code with repeated declarations In-Reply-To: References: Message-ID: On Mon, 2 Mar 2020 18:03:42 GMT, Athijegannathan Sundararajan wrote: > Filtering repeated global variables and functions in code generator (added necessary hashCode, equals for decls, types) src/jdk.incubator.jextract/share/classes/jdk/incubator/jextract/tool/StaticWrapperSourceFactory.java line 102: > 101: public Void visitVariable(Declaration.Variable tree, Declaration parent) { > 102: if (parent == null && !(variables.add(tree))) { > 103: return null; Why check parent == null? Isn't that the case for global variable or you have top-level for header file as parent? src/jdk.incubator.jextract/share/classes/jdk/internal/jextract/impl/DeclarationImpl.java line 198: > 197: if (this == o) return true; > 198: if (o == null || getClass() != o.getClass()) return false; > 199: FunctionImpl function = (FunctionImpl) o; I am not sure if we should force same class or check at the interface level by only using interface APIs. Although we only have one implementation class now and perhaps will remain so in foreseeable future. Same applies to other classes. src/jdk.incubator.jextract/share/classes/jdk/internal/jextract/impl/DeclarationImpl.java line 200: > 199: FunctionImpl function = (FunctionImpl) o; > 200: return params.equals(function.params) && > 201: type.equals(function.type); Type would have covered both parameter type and return type. Compare params depends on how Variable implements equals and may cause same type declaration with different argument name to fail(not the case here). src/jdk.incubator.jextract/share/classes/jdk/internal/jextract/impl/TypeImpl.java line 271: > 270: argtypes.equals(function.argtypes) && > 271: restype.equals(function.restype); > 272: } Function with typedef and raw type will not be equal? typedef int* intptr; void intConsumer(int *ptr); void intConsumer(intptr); ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/37 From mcimadamore at openjdk.java.net Mon Mar 2 21:58:29 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 2 Mar 2020 21:58:29 GMT Subject: [foreign-jextract] RFR: 8240300: jextract produces non compilable code with repeated declarations In-Reply-To: References: Message-ID: On Mon, 2 Mar 2020 19:24:14 GMT, Henry Jen wrote: >> Filtering repeated global variables and functions in code generator (added necessary hashCode, equals for decls, types) > > src/jdk.incubator.jextract/share/classes/jdk/internal/jextract/impl/TypeImpl.java line 271: > >> 270: argtypes.equals(function.argtypes) && >> 271: restype.equals(function.restype); >> 272: } > > Function with typedef and raw type will not be equal? > > typedef int* intptr; > void intConsumer(int *ptr); > void intConsumer(intptr); Ok, this is maybe something worth considering - should equals for type redefinition be extended/relaxed to cover the following the cases? A == typedef A B typedef A B == A I don't think the code in this patch is *wrong* - and I can see pros and cons (and use cases) for both approaches. I guess one thing we should evaluate is whether clients which use equality e.g. for purposes similar to how equality is used in this patch (e.g. come up with a cache of types which have same properties) will benefit more from a 'smart' equality or not. Now, in our case, since basic jextract normalizes all type references to follow typedefs, it just happens that we really care about deep type equality where typedefs have been replaced. But smarter code generators which preserve the 'shape' of the original code (e.g. which spin synthetic interface for typedeffed types), might not consider `typedef A B` and `A` as the same thing. So, again, like in the case for declaration, I believe that, perhaps the safest move is to do what Sundar is doing here - and build every other kind of smarter comparison on top (and jextract would need such a smarter comparison too). ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/37 From shravya.rukmannagari at intel.com Mon Mar 2 22:38:02 2020 From: shravya.rukmannagari at intel.com (shravya.rukmannagari at intel.com) Date: Mon, 02 Mar 2020 22:38:02 +0000 Subject: hg: panama/dev: Vector API SSE2 Fixes Message-ID: <202003022238.022Mc25D023002@aojmv0008.oracle.com> Changeset: 038d2c2b609d Author: srukmannagar Date: 2020-03-02 14:35 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/038d2c2b609d Vector API SSE2 Fixes ! src/hotspot/cpu/x86/x86.ad From sundar at openjdk.java.net Tue Mar 3 03:55:53 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Tue, 3 Mar 2020 03:55:53 GMT Subject: [foreign-jextract] RFR: 8240300: jextract produces non compilable code with repeated declarations In-Reply-To: <8Oo-fAI6v-cPBg6jbwaUVVrstlNEODnva2L12LpnKxk=.798507f3-a6b2-4fd3-99ca-3db10d8b3f64@github.com> References: <8Oo-fAI6v-cPBg6jbwaUVVrstlNEODnva2L12LpnKxk=.798507f3-a6b2-4fd3-99ca-3db10d8b3f64@github.com> Message-ID: <-k4mjI3c-z8tWecWWtyeogRwaN-RZMuUER-JzE1hhcM=.ca61221b-a01c-4612-95a6-61311ad491ea@github.com> On Mon, 2 Mar 2020 18:41:11 GMT, Maurizio Cimadamore wrote: >> Filtering repeated global variables and functions in code generator (added necessary hashCode, equals for decls, types) > > Looks good - thanks for adding equals/hashcode to types and declaration. I guess we should add them to the top interfaces as well (so that we can document that these things can be compared with equals()) ? > Looks good - thanks for adding equals/hashcode to types and declaration. I guess we should add them to the top interfaces as well (so that we can document that these things can be compared with equals()) ? Yes. I agree. I'll add equals and hashCode to Declaration and Type as suggested. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/37 From sundar at openjdk.java.net Tue Mar 3 03:55:54 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Tue, 3 Mar 2020 03:55:54 GMT Subject: [foreign-jextract] RFR: 8240300: jextract produces non compilable code with repeated declarations In-Reply-To: References: Message-ID: On Mon, 2 Mar 2020 18:45:12 GMT, Henry Jen wrote: >> Filtering repeated global variables and functions in code generator (added necessary hashCode, equals for decls, types) > > src/jdk.incubator.jextract/share/classes/jdk/incubator/jextract/tool/StaticWrapperSourceFactory.java line 102: > >> 101: public Void visitVariable(Declaration.Variable tree, Declaration parent) { >> 102: if (parent == null && !(variables.add(tree))) { >> 103: return null; > > Why check parent == null? Isn't that the case for global variable or you have top-level for header file as parent? Yes. Struct fields will result in the same method being called (please check parent check in the same method). We just want to check globals for repeated decls. Note that struct field re-declaration will be prevented by compiler anyway (cannot have two fields of same name in the same struct) > src/jdk.incubator.jextract/share/classes/jdk/internal/jextract/impl/DeclarationImpl.java line 200: > >> 199: FunctionImpl function = (FunctionImpl) o; >> 200: return params.equals(function.params) && >> 201: type.equals(function.type); > > Type would have covered both parameter type and return type. Compare params depends on how Variable implements equals and may cause same type declaration with different argument name to fail(not the case here). Agree. Function parameters should not be compared. Only type and (function) name should be. Will fix this and expand test to cover this case (void func(int x) and void func(int y) as duplicate declarations) > src/jdk.incubator.jextract/share/classes/jdk/internal/jextract/impl/DeclarationImpl.java line 198: > >> 197: if (this == o) return true; >> 198: if (o == null || getClass() != o.getClass()) return false; >> 199: FunctionImpl function = (FunctionImpl) o; > > I am not sure if we should force same class or check at the interface level by only using interface APIs. Although we only have one implementation class now and perhaps will remain so in foreseeable future. Same applies to other classes. Going to add equals and hashCode to Declaration and Type as suggested by Maurizio. Will fix equality of type with instanced check. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/37 From sundar at openjdk.java.net Tue Mar 3 03:59:13 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Tue, 3 Mar 2020 03:59:13 GMT Subject: [foreign-jextract] RFR: 8240300: jextract produces non compilable code with repeated declarations In-Reply-To: References: Message-ID: On Mon, 2 Mar 2020 21:56:09 GMT, Maurizio Cimadamore wrote: >> src/jdk.incubator.jextract/share/classes/jdk/internal/jextract/impl/TypeImpl.java line 271: >> >>> 270: argtypes.equals(function.argtypes) && >>> 271: restype.equals(function.restype); >>> 272: } >> >> Function with typedef and raw type will not be equal? >> >> typedef int* intptr; >> void intConsumer(int *ptr); >> void intConsumer(intptr); > > Ok, this is maybe something worth considering - should equals for type redefinition be extended/relaxed to cover the following the cases? > A == typedef A B > typedef A B == A > I don't think the code in this patch is *wrong* - and I can see pros and cons (and use cases) for both approaches. > > I guess one thing we should evaluate is whether clients which use equality e.g. for purposes similar to how equality is used in this patch (e.g. come up with a cache of types which have same properties) will benefit more from a 'smart' equality or not. > > Now, in our case, since basic jextract normalizes all type references to follow typedefs, it just happens that we really care about deep type equality where typedefs have been replaced. But smarter code generators which preserve the 'shape' of the original code (e.g. which spin synthetic interface for typedeffed types), might not consider `typedef A B` and `A` as the same thing. > > So, again, like in the case for declaration, I believe that, perhaps the safest move is to do what Sundar is doing here - and build every other kind of smarter comparison on top (and jextract would need such a smarter comparison too). Yes. Not sure if we can handle it without underlying clang Type objects around. I'll see if simple cases can be handled at least. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/37 From sundar at openjdk.java.net Tue Mar 3 04:37:52 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Tue, 3 Mar 2020 04:37:52 GMT Subject: [foreign-jextract] [Rev 01] RFR: 8240300: jextract produces non compilable code with repeated declarations In-Reply-To: References: Message-ID: > Filtering repeated global variables and functions in code generator (added necessary hashCode, equals for decls, types) The pull request has been updated with 1 additional commit. ------------- Added commits: - a87c74eb: * added hashCode, equals to Type and Declaration Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/37/files - new: https://git.openjdk.java.net/panama-foreign/pull/37/files/f1720cf0..a87c74eb Webrevs: - full: https://webrevs.openjdk.java.net/panama-foreign/37/webrev.01 - incr: https://webrevs.openjdk.java.net/panama-foreign/37/webrev.00-01 Stats: 164 lines in 8 files changed: 95 ins; 22 del; 47 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/37.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/37/head:pull/37 PR: https://git.openjdk.java.net/panama-foreign/pull/37 From sundar at openjdk.java.net Tue Mar 3 09:14:01 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Tue, 3 Mar 2020 09:14:01 GMT Subject: [foreign-jextract] [Rev 02] RFR: 8240300: jextract produces non compilable code with repeated declarations In-Reply-To: References: Message-ID: > Filtering repeated global variables and functions in code generator (added necessary hashCode, equals for decls, types) The pull request has been updated with 1 additional commit. ------------- Added commits: - 55effa95: added typedef support for duplicate declaration detection. Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/37/files - new: https://git.openjdk.java.net/panama-foreign/pull/37/files/a87c74eb..55effa95 Webrevs: - full: https://webrevs.openjdk.java.net/panama-foreign/37/webrev.02 - incr: https://webrevs.openjdk.java.net/panama-foreign/37/webrev.01-02 Stats: 76 lines in 4 files changed: 63 ins; 0 del; 13 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/37.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/37/head:pull/37 PR: https://git.openjdk.java.net/panama-foreign/pull/37 From henryjen at openjdk.java.net Tue Mar 3 17:27:56 2020 From: henryjen at openjdk.java.net (Henry Jen) Date: Tue, 3 Mar 2020 17:27:56 GMT Subject: [foreign-jextract] [Rev 02] RFR: 8240300: jextract produces non compilable code with repeated declarations In-Reply-To: References: Message-ID: On Tue, 3 Mar 2020 09:14:01 GMT, Athijegannathan Sundararajan wrote: >> Filtering repeated global variables and functions in code generator (added necessary hashCode, equals for decls, types) > > The pull request has been updated with 1 additional commit. Looks good in general. Type.Delegate is tricky, especially with multiple delegations. In current implementation we requires the order to be the same if I read that correctly. I feels like that atomic signed int and signed atomic int should be considered equal? ------------- Marked as reviewed by henryjen (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/37 From sundar at openjdk.java.net Tue Mar 3 17:29:07 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Tue, 3 Mar 2020 17:29:07 GMT Subject: [Integrated] [foreign-jextract] RFR: 8240300: jextract produces non compilable code with repeated declarations In-Reply-To: References: Message-ID: <314f7458-5e7d-4103-ae5a-e14349c5f6f7@openjdk.org> Changeset: 09f6317a Author: Athijegannathan Sundararajan Date: 2020-03-03 17:28:15 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/09f6317a 8240300: jextract produces non compilable code with repeated declarations Reviewed-by: mcimadamore, henryjen ! src/jdk.incubator.jextract/share/classes/jdk/incubator/jextract/Declaration.java ! src/jdk.incubator.jextract/share/classes/jdk/incubator/jextract/Type.java ! src/jdk.incubator.jextract/share/classes/jdk/incubator/jextract/tool/StaticWrapperSourceFactory.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/jextract/impl/DeclarationImpl.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/jextract/impl/TypeImpl.java ! test/jdk/tools/jextract/JextractToolProviderTest.java ! test/jdk/tools/jextract/JextractToolRunner.java + test/jdk/tools/jextract/RepeatedDeclsTest.java + test/jdk/tools/jextract/repeatedDecls.h From jvernee at openjdk.java.net Tue Mar 3 17:39:09 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Tue, 3 Mar 2020 17:39:09 GMT Subject: [foreign-jextract] RFR: 8240372: TypeTranslator can not handle plain function types Message-ID: Hi, Please review this patch that adds handling for functions that use plain function types, as opposed to function pointers as parameter types (see the bug & test case). I also noticed when writing the tests that some of the test files were using the copyright header with class path exception. I went through these with a script and corrected the copyright headers. Thanks, Jorn ------------- Commits: - 1e9fdb81: Add missing newline - 0fad3d5f: Adjust copyright for test files - 8ca9f47d: Support plain function types as parameter types Changes: https://git.openjdk.java.net/panama-foreign/pull/38/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/38/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8240372 Stats: 147 lines in 14 files changed: 76 ins; 35 del; 36 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/38.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/38/head:pull/38 PR: https://git.openjdk.java.net/panama-foreign/pull/38 From sundar at openjdk.java.net Tue Mar 3 17:45:55 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Tue, 3 Mar 2020 17:45:55 GMT Subject: [foreign-jextract] RFR: 8240372: TypeTranslator can not handle plain function types In-Reply-To: References: Message-ID: <2t3AAfWQaUnpZnANGSmw5DS4fdohfhDKOBbZbugf5Tc=.acf0db05-a1a1-4fd5-b301-8710e66dcc7b@github.com> On Tue, 3 Mar 2020 17:33:35 GMT, Jorn Vernee wrote: > Hi, > > Please review this patch that adds handling for functions that use plain function types, as opposed to function pointers as parameter types (see the bug & test case). > > I also noticed when writing the tests that some of the test files were using the copyright header with class path exception. I went through these with a script and corrected the copyright headers. > > Thanks, > Jorn Looks good! ------------- Marked as reviewed by sundar (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/38 From jvernee at openjdk.java.net Tue Mar 3 17:47:04 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Tue, 3 Mar 2020 17:47:04 GMT Subject: [Integrated] [foreign-jextract] RFR: 8240372: TypeTranslator can not handle plain function types In-Reply-To: References: Message-ID: <8965d53c-ef8b-4aff-bd94-fd2db4cb43ca@openjdk.org> Changeset: 7651422c Author: Jorn Vernee Date: 2020-03-03 17:45:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7651422c 8240372: TypeTranslator can not handle plain function types Reviewed-by: sundar ! src/jdk.incubator.jextract/share/classes/jdk/incubator/jextract/tool/TypeTranslator.java ! test/jdk/java/jextract/JextractApiTestBase.java ! test/jdk/java/jextract/SmokeTest.java ! test/jdk/java/jextract/TEST.properties ! test/jdk/java/jextract/Test8238712.h ! test/jdk/java/jextract/Test8238712.java ! test/jdk/java/jextract/Test8239490.h ! test/jdk/java/jextract/Test8239490.java + test/jdk/java/jextract/Test8240372.h + test/jdk/java/jextract/Test8240372.java ! test/jdk/java/jextract/TestAttributes.java ! test/jdk/java/jextract/TestMacros.java ! test/jdk/java/jextract/badMacros.h ! test/jdk/java/jextract/smoke.h From youngty1997 at gmail.com Tue Mar 3 18:05:18 2020 From: youngty1997 at gmail.com (Ty Young) Date: Tue, 3 Mar 2020 12:05:18 -0600 Subject: Associated MemoryAddress API Message-ID: Hi, In more OO type memory allocation situations where allocated memory *technically* belongs to another object located in memory, it'd be useful to have an API so that you can associate a MemoryAddress which contains an int pointer to some larger object(struct, for example but could be anything). This would be different than AllocationScope as you don't know how much memory in the end you'll need but you still know it belongs to another MemoryAddress. Could this be done? From maurizio.cimadamore at oracle.com Tue Mar 3 18:46:19 2020 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Tue, 3 Mar 2020 18:46:19 +0000 Subject: Associated MemoryAddress API In-Reply-To: References: Message-ID: <26e4b51c-8491-fda5-5f3f-b03563fc10c9@oracle.com> On 03/03/2020 18:05, Ty Young wrote: > Hi, > > > In more OO type memory allocation situations where allocated memory > *technically* belongs to another object located in memory, it'd be > useful to have an API so that you can associate a MemoryAddress which > contains an int pointer to some larger object(struct, for example but > could be anything). This would be different than AllocationScope as > you don't know how much memory in the end you'll need but you still > know it belongs to another MemoryAddress. > How is this use case different from slicing an existing memory segment? E.g. you can have a memory segment for a big heap array - and then you can create a slice segment view of that big segment - does that address the use case you mentioned here? Maurizio > > Could this be done? > > > > > From youngty1997 at gmail.com Tue Mar 3 19:17:01 2020 From: youngty1997 at gmail.com (Ty Young) Date: Tue, 3 Mar 2020 13:17:01 -0600 Subject: Associated MemoryAddress API In-Reply-To: <26e4b51c-8491-fda5-5f3f-b03563fc10c9@oracle.com> References: <26e4b51c-8491-fda5-5f3f-b03563fc10c9@oracle.com> Message-ID: <123362fa-b7d7-63d5-4219-256e0846dc78@gmail.com> On 3/3/20 12:46 PM, Maurizio Cimadamore wrote: > > On 03/03/2020 18:05, Ty Young wrote: >> Hi, >> >> >> In more OO type memory allocation situations where allocated memory >> *technically* belongs to another object located in memory, it'd be >> useful to have an API so that you can associate a MemoryAddress which >> contains an int pointer to some larger object(struct, for example but >> could be anything). This would be different than AllocationScope as >> you don't know how much memory in the end you'll need but you still >> know it belongs to another MemoryAddress. >> > How is this use case different from slicing an existing memory > segment? E.g. you can have a memory segment for a big heap array - and > then you can create a slice segment view of that big segment - does > that address the use case you mentioned here? Because you need to know how memory is used beforehand. The difference between what exists already(AllocationScope & Arrays Vs. this) is a top-down vs bottom-up approach. In order to use AllocationScope & Arrays you need to have some idea of how much memory you're going to use(top-down). What I'm asking for here is a bottom-up approach wherein memory can be freely allocated and later attached(associated) to a parent MemoryAddress. My example of this is NVML and the opaque GPU pointers. When using bindings for NVML, it would make sense to allocate lots of GPU specific pointers that can, for example, hold the GPUs utilization as part of some higher level abstraction API. Since they are bound by the GPU, they should be freed before the GPU pointer itself is. There isn't, however, a way to associate MemoryAddress(s) like this. A cool idea that could be implemented if such an API was added is auto allocating AllocationScope(s) where when the initial AllocationScope is fully used a new AllocationScope(with same size) is created that has the one before it set as a parent. You could of course place limits on how many are created. > > Maurizio > >> >> Could this be done? >> >> >> >> >> From maurizio.cimadamore at oracle.com Tue Mar 3 21:16:57 2020 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Tue, 3 Mar 2020 21:16:57 +0000 Subject: Associated MemoryAddress API In-Reply-To: <123362fa-b7d7-63d5-4219-256e0846dc78@gmail.com> References: <26e4b51c-8491-fda5-5f3f-b03563fc10c9@oracle.com> <123362fa-b7d7-63d5-4219-256e0846dc78@gmail.com> Message-ID: On 03/03/2020 19:17, Ty Young wrote: > > On 3/3/20 12:46 PM, Maurizio Cimadamore wrote: >> >> On 03/03/2020 18:05, Ty Young wrote: >>> Hi, >>> >>> >>> In more OO type memory allocation situations where allocated memory >>> *technically* belongs to another object located in memory, it'd be >>> useful to have an API so that you can associate a MemoryAddress >>> which contains an int pointer to some larger object(struct, for >>> example but could be anything). This would be different than >>> AllocationScope as you don't know how much memory in the end you'll >>> need but you still know it belongs to another MemoryAddress. >>> >> How is this use case different from slicing an existing memory >> segment? E.g. you can have a memory segment for a big heap array - >> and then you can create a slice segment view of that big segment - >> does that address the use case you mentioned here? > > > Because you need to know how memory is used beforehand. > > > The difference between what exists already(AllocationScope & Arrays > Vs. this) is a top-down vs bottom-up approach. In order to use > AllocationScope & Arrays you need to have some idea of how much memory > you're going to use(top-down). What I'm asking for here is a bottom-up > approach wherein memory can be freely allocated and later > attached(associated) to a parent MemoryAddress. > > > My example of this is NVML and the opaque GPU pointers. When using > bindings for NVML, it would make sense to allocate lots of GPU > specific pointers that can, for example, hold the GPUs utilization as > part of some higher level abstraction API. Since they are bound by the > GPU, they should be freed before the GPU pointer itself is. There > isn't, however, a way to associate MemoryAddress(s) like this. > > > A cool idea that could be implemented if such an API was added is auto > allocating AllocationScope(s) where when the initial AllocationScope > is fully used a new AllocationScope(with same size) is created that > has the one before it set as a parent. You could of course place > limits on how many are created. So... what you are asking for is, essentially, a way to create an ad-hoc MemorySegment for the entire GPU memory (mostly as a way to attach some temporal bounds to the GPU memory) - and then derive a bunch of MemoryAddresses which are just offset inside this ad-hoc GPU memory segment. Right? Now, assuming I understand you correctly, we are considering enhancing the API for creating unchecked segments so that you could e.g .attach your own cleanup actions when close() is called. This would, for instance allow you to 'free' the GPU memory (by calling the right API method) when you are done with it. You could also set the size of the (unchecked) GPU segment according to your need (I presume there's some way to know how much GPU memory you've got?).? At which point a MemoryAddress you derive from such segment would simply be an offset into the GPU memory - which seems to be what you want; and when you call close() on the GPU segment, all addresses derived from it would become invalid. That said, there would be no support for memory dereference if you go down this path - that is, while you can use MemorySegment and MemoryAddress as abstractions to model GPU memory and offsets to such memory - you wouldn't be able to use a VarHandle to dereference the GPU memory. Well - you could, but you'd have to add quite a bit of adaptation (e.g. reading a GPU-based MemoryAddress would really mean get the MemoryAddress offset, the GPU memory base, and use some native call to do the access - which kind of defeats the point of having a VH, IMHO). Have I answered your question? Thanks Maurizio > >> >> Maurizio >> >>> >>> Could this be done? >>> >>> >>> >>> >>> From shravya.rukmannagari at intel.com Tue Mar 3 21:48:49 2020 From: shravya.rukmannagari at intel.com (Rukmannagari, Shravya) Date: Tue, 3 Mar 2020 21:48:49 +0000 Subject: Store Mask Support for VectorAPI Message-ID: Hi All, Please find the webrev below which adds Store Mask support for float and double data types using AVX = 1. Please let me know if you have any comments or suggestions. https://cr.openjdk.java.net/~srukmannagar/VectorAPI_StoreMask/webrev.00/ Thanks, Shravya From youngty1997 at gmail.com Tue Mar 3 22:10:00 2020 From: youngty1997 at gmail.com (Ty Young) Date: Tue, 3 Mar 2020 16:10:00 -0600 Subject: Associated MemoryAddress API In-Reply-To: References: <26e4b51c-8491-fda5-5f3f-b03563fc10c9@oracle.com> <123362fa-b7d7-63d5-4219-256e0846dc78@gmail.com> Message-ID: <3ac10529-436b-3edc-f6db-5f4ecf8037dc@gmail.com> On 3/3/20 3:16 PM, Maurizio Cimadamore wrote: > > On 03/03/2020 19:17, Ty Young wrote: >> >> On 3/3/20 12:46 PM, Maurizio Cimadamore wrote: >>> >>> On 03/03/2020 18:05, Ty Young wrote: >>>> Hi, >>>> >>>> >>>> In more OO type memory allocation situations where allocated memory >>>> *technically* belongs to another object located in memory, it'd be >>>> useful to have an API so that you can associate a MemoryAddress >>>> which contains an int pointer to some larger object(struct, for >>>> example but could be anything). This would be different than >>>> AllocationScope as you don't know how much memory in the end you'll >>>> need but you still know it belongs to another MemoryAddress. >>>> >>> How is this use case different from slicing an existing memory >>> segment? E.g. you can have a memory segment for a big heap array - >>> and then you can create a slice segment view of that big segment - >>> does that address the use case you mentioned here? >> >> >> Because you need to know how memory is used beforehand. >> >> >> The difference between what exists already(AllocationScope & Arrays >> Vs. this) is a top-down vs bottom-up approach. In order to use >> AllocationScope & Arrays you need to have some idea of how much >> memory you're going to use(top-down). What I'm asking for here is a >> bottom-up approach wherein memory can be freely allocated and later >> attached(associated) to a parent MemoryAddress. >> >> >> My example of this is NVML and the opaque GPU pointers. When using >> bindings for NVML, it would make sense to allocate lots of GPU >> specific pointers that can, for example, hold the GPUs utilization as >> part of some higher level abstraction API. Since they are bound by >> the GPU, they should be freed before the GPU pointer itself is. There >> isn't, however, a way to associate MemoryAddress(s) like this. >> >> >> A cool idea that could be implemented if such an API was added is >> auto allocating AllocationScope(s) where when the initial >> AllocationScope is fully used a new AllocationScope(with same size) >> is created that has the one before it set as a parent. You could of >> course place limits on how many are created. > > So... what you are asking for is, essentially, a way to create an > ad-hoc MemorySegment for the entire GPU memory (mostly as a way to > attach some temporal bounds to the GPU memory) - and then derive a > bunch of MemoryAddresses which are just offset inside this ad-hoc GPU > memory segment. > > Right? > > Now, assuming I understand you correctly, we are considering enhancing > the API for creating unchecked segments so that you could e.g .attach > your own cleanup actions when close() is called. This would, for > instance allow you to 'free' the GPU memory (by calling the right API > method) when you are done with it. > Unless i'm misunderstanding, this still requires that you know ahead of time the amount of memory required. What i'm asking for is a way to associate what would otherwise be 100% separate segments with some other segment. No memory carving used. Basically: MemorySegment seg = MemorySegment.allocateNative(MemoryLayouts.C_POINTER); MemorySegment segChild = MemorySegment.allocateNative(MemoryLayouts.C_POINTER); segChild = segChild.setParent(seg); Then when closing seg, it'll also free segChild. Doing it this way doesn't feel that great though.? Maybe someone else has a better way. > You could also set the size of the (unchecked) GPU segment according > to your need (I presume there's some way to know how much GPU memory > you've got?). Not GPU memory, but memory which contains GPU information. Anyway, no there isn't a way. That has to be tracked in Panama, which is why i'd like API for tracking and management for it. > At which point a MemoryAddress you derive from such segment would > simply be an offset into the GPU memory - which seems to be what you > want; and when you call close() on the GPU segment, all addresses > derived from it would become invalid. > > That said, there would be no support for memory dereference if you go > down this path - that is, while you can use MemorySegment and > MemoryAddress as abstractions to model GPU memory and offsets to such > memory - you wouldn't be able to use a VarHandle to dereference the > GPU memory. Well - you could, but you'd have to add quite a bit of > adaptation (e.g. reading a GPU-based MemoryAddress would really mean > get the MemoryAddress offset, the GPU memory base, and use some native > call to do the access - which kind of defeats the point of having a > VH, IMHO). > > Have I answered your question? > > Thanks > Maurizio > >> >>> >>> Maurizio >>> >>>> >>>> Could this be done? >>>> >>>> >>>> >>>> >>>> From maurizio.cimadamore at oracle.com Tue Mar 3 23:54:34 2020 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Tue, 3 Mar 2020 15:54:34 -0800 (PST) Subject: Associated MemoryAddress API In-Reply-To: <3ac10529-436b-3edc-f6db-5f4ecf8037dc@gmail.com> References: <26e4b51c-8491-fda5-5f3f-b03563fc10c9@oracle.com> <123362fa-b7d7-63d5-4219-256e0846dc78@gmail.com> <3ac10529-436b-3edc-f6db-5f4ecf8037dc@gmail.com> Message-ID: <558e5590-78d5-ae39-3d38-8256e9e0f497@oracle.com> > > > Basically: > > > MemorySegment seg = > MemorySegment.allocateNative(MemoryLayouts.C_POINTER); > > > MemorySegment segChild = > MemorySegment.allocateNative(MemoryLayouts.C_POINTER); > > > segChild = segChild.setParent(seg); > > > Then when closing seg, it'll also free segChild. There's no great way to do that. One option, if we added support for custom cleanup callback, would be to create an unchecked segment for 'seg' whose close closes both. Another option would be to have some abstraction built on top of memory segments, which manages this more complex (and dependent) lifecycle - some sort of factory which gives out segments which are all tied to the same original segment (also managed by the factory). Something like this (rough attempt): class DependentSegmentFactory implements AutoCloseable { ??? final MemorySegment parent = MemorySegment.allocateNative(MemoryLayouts.C_POINTER); ??? final List children = new ArrayList<>(); ??? MemorySegment makeNewSegment() { ???????? MemorySegment segment = MemorySegment.allocateNative(MemoryLayouts.C_POINTER); ???????? children.add(segment); ???????? return segment; ??? } ??? void close() { ????????? children.forEach(MemorySegment::close()); ????????? parent.close(); ??? } } Ultimately, what you are looking for is some kind of operation which allows you to create one or more segments which share the same life-cycle, but probably with some kind of asymmetric relationship, so that only one segment in the group gets to decide when it's time to close everything down. I've seen a similar problem in our libclang port: https://github.com/openjdk/panama-foreign/blob/foreign-jextract/src/jdk.incubator.jextract/share/classes/jdk/internal/clang/TranslationUnit.java#L85 For which I've had to define an AllocationScope abstraction --- which has same name, accidentally, as the public API, but whose behavior is different: https://github.com/openjdk/panama-foreign/blob/foreign-jextract/src/jdk.incubator.jextract/share/classes/jdk/internal/clang/AllocationScope.java So I agree that at times it would be nice to be able to have more control over the lifecycle of related segments - and we need to think of ways in which to do that neatly (assuming we find a way to support this w/o making the API too cumbersome to use in the common case - which I assume will not want this level of fine-grained control). Maurizio From paul.sandoz at oracle.com Wed Mar 4 02:14:18 2020 From: paul.sandoz at oracle.com (Paul Sandoz) Date: Tue, 3 Mar 2020 18:14:18 -0800 Subject: [vector] RFR: Support non power-of-two and 2048-bit vector length for gather load/scatter store In-Reply-To: References: Message-ID: <5350A269-D761-47DD-A87C-DDBDB5AF6C0E@oracle.com> Hi, Than you for applying some consistency to these operations. VectorShape ? Can you add a @throws to the JavaDoc of forIndexBitSize and also forBitSize? ByteVector & ShortVector ? Also change the mask accepting gather implementation to use the internal mask accepting stOp. That implementation currently fails if any of the mask bits are not set. X-Vector.java.template ? 4389 #if[longOrDouble] 4390 4391 // Mask for gather load 4392 @ForceInline 4393 public final VectorMask gatherMask() { 4394 if ((Class) vectorType() == $Type$MaxVector.class) { 4395 return IntMaxVector.IntMaxMask.GATHER_MASK; 4396 } 4397 throw new AssertionError(); 4398 } 4399 #end[longOrDouble] Hmm.. I am unsure about this since it?s a general method (should be package private) but only works in the case of when the vector type is of the max vector. Is there a better way to surface this up since presumably this is called only when the vector type is of max vector? Maybe be more explicit in the case of "isp.laneCount() != vsp.laneCount()?? X-VectorBits.java ? 699 #if[intAndMax] 700 static final IntMaxMask GATHER_MASK = new IntMaxMask(maskLowerHalf()); 701 #end[intAndMax] LOWER_HALF_TRUE_MASK is a wordier but more accurate description. Paul. > On Feb 13, 2020, at 10:32 PM, Yang Zhang wrote: > > Hi, > > I'm adding support non power-of-two and 2048-bit vector length for gather load/scatter store. > Could you please help to review it? > > Webrev: http://cr.openjdk.java.net/~yzhang/vectorapi/vectorapi.2048npow/webrev.00/index.html > No new failures with a full jtreg. > > In this patch, I made the following changes. > 1. For gather load/scatter store, int array is used for index map. New index shape calculation function is added. > For AArch64 SVE, the maximum of index bit size is (2048/elementSize) * 32. > Index increments is (128/elementSize) * 32. So that new index shape calculation function is added. > > 2. Use a gather mask to control index vector loading for long/double gather load/scatter store. > When vector length is 2048 or non-power-of-two, e.g. SVE, there are > index out of bounds failures in long/double gather load test cases. > Take 2048 as an example, in long gather load (fromArray), indexShape > of long species is S_MAX_BIT, and the lane count of long vector is 32. > When converting long species to int species, indexShape of int species > is still S_MAX_BIT, but the lane count of int vector is 64. So when > loading index vector (IntVector), unnecessary index data is loaded. > If current vector is the tail, out of bounds failure happens. > > This failure is only for SVE. For X86, the reason why there isn't such > failure is that: > i) Byte/Short gather loads aren't intrinsified. > ii) For X86 AVX512, indexShape(int index map, 8 elements) of long512/double512 > (8 elements) is initialized as S_256_BIT. For SVE with 512-bit vector length, > indexShape is initialized as S_256_BIT too. But for SVE 2048-bit and non-power-of-two, > there will be failures above. > > 3. Gather load and scatter store is a pair of similar operations. One solution should be applied to them. > The original java implementations of gather load and scatter store are different. > > Vector gather load scatter store > Int or float With intrinsification With intrinsification > Long or Double With intrinsification With intrinsification > Get indexShape directly Get indexShape indirectly > Normal index loading Special controlled index loading > Byte or short Without intrinsification With intrinsification, no instruction support on x86/arm > > I think gather load and scatter store is a pair of similar operations. One solution should be applied to them. > Based on above, I use a simple implementation for them. > Vector gather load/scatter store > Int or float With intrinsification > Long or Double With intrinsification > Get indexShape directly > Special controlled index loading > Byte or short Without intrinsification > If any problem, please let me know. > > 4. Some assertions that vector length is power of two are removed. > 5. Add comments for gather load intrinsification. > > Regards, > Yang > > From Qi.Feng at arm.com Wed Mar 4 07:02:57 2020 From: Qi.Feng at arm.com (Qi Feng) Date: Wed, 4 Mar 2020 07:02:57 +0000 Subject: [vector] Fix reduce_add2F/reduce_add2D for incorrect associativity Message-ID: Hi, Please help me review this patch. Webrev: http://cr.openjdk.java.net/~yzhang/vectorapi/vectorapi.fadd/webrev.00/ The implementation of these two instructs on AArch64 accumulate it's arguments in the wrong order, since the addition of floating point values doesn't obey associative law. Thanks, Qi From Yang.Zhang at arm.com Wed Mar 4 10:50:26 2020 From: Yang.Zhang at arm.com (Yang Zhang) Date: Wed, 4 Mar 2020 10:50:26 +0000 Subject: [vector] RFR: Support non power-of-two and 2048-bit vector length for gather load/scatter store In-Reply-To: <5350A269-D761-47DD-A87C-DDBDB5AF6C0E@oracle.com> References: <5350A269-D761-47DD-A87C-DDBDB5AF6C0E@oracle.com> Message-ID: Hi Paul > ByteVector & ShortVector > ? > Also change the mask accepting gather implementation to use the internal mask accepting stOp. That implementation currently fails if any of the mask bits are not set. I don't quite understand this. Could you explain more about it? Which implementation fails if any of the mask bits are not set? Regards Yang -----Original Message----- From: Paul Sandoz Sent: Wednesday, March 4, 2020 10:14 AM To: Yang Zhang Cc: panama-dev at openjdk.java.net Subject: Re: [vector] RFR: Support non power-of-two and 2048-bit vector length for gather load/scatter store Hi, Than you for applying some consistency to these operations. VectorShape ? Can you add a @throws to the JavaDoc of forIndexBitSize and also forBitSize? ByteVector & ShortVector ? Also change the mask accepting gather implementation to use the internal mask accepting stOp. That implementation currently fails if any of the mask bits are not set. X-Vector.java.template ? 4389 #if[longOrDouble] 4390 4391 // Mask for gather load 4392 @ForceInline 4393 public final VectorMask gatherMask() { 4394 if ((Class) vectorType() == $Type$MaxVector.class) { 4395 return IntMaxVector.IntMaxMask.GATHER_MASK; 4396 } 4397 throw new AssertionError(); 4398 } 4399 #end[longOrDouble] Hmm.. I am unsure about this since it?s a general method (should be package private) but only works in the case of when the vector type is of the max vector. Is there a better way to surface this up since presumably this is called only when the vector type is of max vector? Maybe be more explicit in the case of "isp.laneCount() != vsp.laneCount()?? X-VectorBits.java ? 699 #if[intAndMax] 700 static final IntMaxMask GATHER_MASK = new IntMaxMask(maskLowerHalf()); 701 #end[intAndMax] LOWER_HALF_TRUE_MASK is a wordier but more accurate description. Paul. > On Feb 13, 2020, at 10:32 PM, Yang Zhang wrote: > > Hi, > > I'm adding support non power-of-two and 2048-bit vector length for gather load/scatter store. > Could you please help to review it? > > Webrev: > http://cr.openjdk.java.net/~yzhang/vectorapi/vectorapi.2048npow/webrev > .00/index.html > No new failures with a full jtreg. > > In this patch, I made the following changes. > 1. For gather load/scatter store, int array is used for index map. New index shape calculation function is added. > For AArch64 SVE, the maximum of index bit size is (2048/elementSize) * 32. > Index increments is (128/elementSize) * 32. So that new index shape calculation function is added. > > 2. Use a gather mask to control index vector loading for long/double gather load/scatter store. > When vector length is 2048 or non-power-of-two, e.g. SVE, there are > index out of bounds failures in long/double gather load test cases. > Take 2048 as an example, in long gather load (fromArray), indexShape > of long species is S_MAX_BIT, and the lane count of long vector is 32. > When converting long species to int species, indexShape of int species > is still S_MAX_BIT, but the lane count of int vector is 64. So when > loading index vector (IntVector), unnecessary index data is loaded. > If current vector is the tail, out of bounds failure happens. > > This failure is only for SVE. For X86, the reason why there isn't such > failure is that: > i) Byte/Short gather loads aren't intrinsified. > ii) For X86 AVX512, indexShape(int index map, 8 elements) of > long512/double512 > (8 elements) is initialized as S_256_BIT. For SVE with 512-bit vector > length, indexShape is initialized as S_256_BIT too. But for SVE > 2048-bit and non-power-of-two, there will be failures above. > > 3. Gather load and scatter store is a pair of similar operations. One solution should be applied to them. > The original java implementations of gather load and scatter store are different. > > Vector gather load scatter store > Int or float With intrinsification With intrinsification > Long or Double With intrinsification With intrinsification > Get indexShape directly Get indexShape indirectly > Normal index loading Special controlled index loading > Byte or short Without intrinsification With intrinsification, no instruction support on x86/arm > > I think gather load and scatter store is a pair of similar operations. One solution should be applied to them. > Based on above, I use a simple implementation for them. > Vector gather load/scatter store > Int or float With intrinsification > Long or Double With intrinsification > Get indexShape directly > Special controlled index loading > Byte or short Without intrinsification > If any problem, please let me know. > > 4. Some assertions that vector length is power of two are removed. > 5. Add comments for gather load intrinsification. > > Regards, > Yang > > From paul.sandoz at oracle.com Wed Mar 4 16:16:21 2020 From: paul.sandoz at oracle.com (Paul Sandoz) Date: Wed, 4 Mar 2020 08:16:21 -0800 Subject: [vector] RFR: Support non power-of-two and 2048-bit vector length for gather load/scatter store In-Reply-To: References: <5350A269-D761-47DD-A87C-DDBDB5AF6C0E@oracle.com> Message-ID: <2CD9EDC0-FABE-4C64-B851-CC4F0C984C9F@oracle.com> > On Mar 4, 2020, at 2:50 AM, Yang Zhang wrote: > > Hi Paul > >> ByteVector & ShortVector >> ? >> Also change the mask accepting gather implementation to use the internal mask accepting stOp. That implementation currently fails if any of the mask bits are not set. > > I don't quite understand this. Could you explain more about it? Which implementation fails if any of the mask bits are not set? > > I mixed up gather vs scatter which may have confused you. Here is the implementation on ByteVector: @ForceInline public final void intoArray(byte[] a, int offset, int[] indexMap, int mapOffset, VectorMask m) { ByteSpecies vsp = vspecies(); if (m.allTrue()) { intoArray(a, offset, indexMap, mapOffset); return; } throw new AssertionError("fixme"); } We can replace the implementation with: stOp(a, offset, m, (arr, off, i, v) -> { int j = indexMap[mapOffset + i]; arr[off + j] = e; } ); Paul. From maurizio.cimadamore at oracle.com Wed Mar 4 22:03:46 2020 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 04 Mar 2020 22:03:46 +0000 Subject: hg: panama/dev: 86 new changesets Message-ID: <202003042203.024M3pLZ027947@aojmv0008.oracle.com> Changeset: 541b03673cdb Author: dcubed Date: 2020-02-26 19:33 -0500 URL: https://hg.openjdk.java.net/panama/dev/rev/541b03673cdb 8240132: ProblemList com/sun/jdi/InvokeHangTest.java Reviewed-by: mikael ! test/jdk/ProblemList.txt Changeset: bccb9f3423e3 Author: dcubed Date: 2020-02-26 19:39 -0500 URL: https://hg.openjdk.java.net/panama/dev/rev/bccb9f3423e3 8240134: ProblemList javax/script/Test7.java Reviewed-by: dholmes ! test/jdk/ProblemList.txt Changeset: 57849c7f9d22 Author: dcubed Date: 2020-02-26 19:41 -0500 URL: https://hg.openjdk.java.net/panama/dev/rev/57849c7f9d22 8240135: ProblemList vmTestbase/vm/mlvm/meth/stress/compiler/deoptimize/Test.java#id1 Reviewed-by: iignatyev, dholmes ! test/hotspot/jtreg/ProblemList.txt Changeset: 95c882e86df2 Author: jwilhelm Date: 2020-02-27 03:10 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/95c882e86df2 Added tag jdk-15+12 for changeset 2ec0ff304263 ! .hgtags Changeset: 76f3aaaffd3c Author: dholmes Date: 2020-02-26 23:10 -0500 URL: https://hg.openjdk.java.net/panama/dev/rev/76f3aaaffd3c 8240141: Incorrect copyright header in src/hotspot/os_cpu/linux_sparc/os_linux_sparc.cpp Reviewed-by: iignatyev ! src/hotspot/os_cpu/linux_sparc/os_linux_sparc.cpp Changeset: 3b9b5cb7586f Author: amlu Date: 2020-02-27 12:19 +0800 URL: https://hg.openjdk.java.net/panama/dev/rev/3b9b5cb7586f 8239979: sun/security/tools/keytool/ExtOptionCamelCase.java is not run Reviewed-by: rhalade ! test/jdk/sun/security/tools/keytool/ExtOptionCamelCase.java Changeset: 495d1a4eee04 Author: rraghavan Date: 2020-02-27 16:06 +0530 URL: https://hg.openjdk.java.net/panama/dev/rev/495d1a4eee04 8235995: Remove src/jdk.internal.vm.compiler/.mx.graal directory Summary: Removed src/jdk.internal.vm.compiler/.mx.graal directory and files Reviewed-by: dlong - src/jdk.internal.vm.compiler/.mx.graal/.project - src/jdk.internal.vm.compiler/.mx.graal/.pydevproject - src/jdk.internal.vm.compiler/.mx.graal/eclipse-settings/org.eclipse.jdt.core.prefs - src/jdk.internal.vm.compiler/.mx.graal/mx_graal.py - src/jdk.internal.vm.compiler/.mx.graal/mx_graal_9.py - src/jdk.internal.vm.compiler/.mx.graal/mx_graal_bench.py - src/jdk.internal.vm.compiler/.mx.graal/outputparser.py - src/jdk.internal.vm.compiler/.mx.graal/sanitycheck.py - src/jdk.internal.vm.compiler/.mx.graal/suite.py Changeset: c87cb2daad04 Author: neliasso Date: 2020-02-27 13:11 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/c87cb2daad04 8239878: Bug in PrintEliminateAllocations code causes TestClhsdbJstackLock.java to fail Reviewed-by: shade ! src/hotspot/share/opto/macro.cpp Changeset: e6336e3c5984 Author: hseigel Date: 2020-02-27 13:00 +0000 URL: https://hg.openjdk.java.net/panama/dev/rev/e6336e3c5984 8235225: Replace CHECK_0 with CHECK_NULL for non-integer returning methods Summary: Change CHECK_0 to CHECK_NULL and CHECK_false where appropriate Reviewed-by: mikael, dholmes, coleenp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/classListParser.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/oops/arrayKlass.cpp ! src/hotspot/share/oops/objArrayKlass.cpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/prims/jvmtiRedefineClasses.cpp ! src/hotspot/share/services/management.cpp ! src/hotspot/share/services/memoryManager.cpp Changeset: b5745158500a Author: zgu Date: 2020-02-26 15:32 -0500 URL: https://hg.openjdk.java.net/panama/dev/rev/b5745158500a 8237632: Shenandoah: accept NULL fwdptr to cooperate with JVMTI and JFR Reviewed-by: shade, rkennke ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahForwarding.hpp ! src/hotspot/share/gc/shenandoah/shenandoahForwarding.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp Changeset: 0b02c862a03e Author: dcubed Date: 2020-02-27 11:34 -0500 URL: https://hg.openjdk.java.net/panama/dev/rev/0b02c862a03e 8239873: [TESTBUG] FieldLayout/OldLayoutCheck.java fails after the fix for JDK-8239503 Summary: Don't run the test with -XX:-UseCompressedOops. Reviewed-by: fparain, hseigel ! test/hotspot/jtreg/runtime/FieldLayout/OldLayoutCheck.java Changeset: 8f26915495d6 Author: zgu Date: 2020-02-27 12:17 -0500 URL: https://hg.openjdk.java.net/panama/dev/rev/8f26915495d6 8239354: Shenandoah: minor enhancements to traversal GC Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Changeset: 7abee91f0bb5 Author: darcy Date: 2020-02-27 10:30 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/7abee91f0bb5 8225495: Note whether returned annotations are declaration annotations or type annotations Reviewed-by: jjg ! src/java.compiler/share/classes/javax/lang/model/AnnotatedConstruct.java ! src/java.compiler/share/classes/javax/lang/model/element/Element.java ! src/java.compiler/share/classes/javax/lang/model/type/TypeMirror.java ! src/java.compiler/share/classes/javax/lang/model/util/Elements.java Changeset: 6e9aa02cf215 Author: wetmore Date: 2020-02-27 11:48 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/6e9aa02cf215 8239815: Update ECC legal file Reviewed-by: mullan ! src/jdk.crypto.ec/share/legal/ecc.md Changeset: 52367bbd4bd4 Author: jjg Date: 2020-02-27 12:16 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/52367bbd4bd4 8239804: Cleanup/simplify HTML/CSS for general block tags Reviewed-by: prappo, hannesw ! make/jdk/src/classes/build/tools/taglet/ModuleGraph.java ! make/jdk/src/classes/build/tools/taglet/ToolGuide.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/HtmlDocletWriter.java ! 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/MethodWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SerializedFormWriterImpl.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/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/ParamTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/TagletWriter.java ! test/langtools/jdk/javadoc/doclet/AuthorDD/AuthorDD.java ! test/langtools/jdk/javadoc/doclet/testAuthor/TestAuthor.java ! test/langtools/jdk/javadoc/doclet/testClassCrossReferences/TestClassCrossReferences.java ! test/langtools/jdk/javadoc/doclet/testConstructorIndent/TestConstructorIndent.java ! test/langtools/jdk/javadoc/doclet/testConstructors/TestConstructors.java ! test/langtools/jdk/javadoc/doclet/testCopyFiles/TestCopyFiles.java + test/langtools/jdk/javadoc/doclet/testExternalOverridenMethod/TestExternalOverriddenMethod.java - test/langtools/jdk/javadoc/doclet/testExternalOverridenMethod/TestExternalOverridenMethod.java ! test/langtools/jdk/javadoc/doclet/testHiddenMembers/TestHiddenMembers.java ! test/langtools/jdk/javadoc/doclet/testHref/TestHref.java ! test/langtools/jdk/javadoc/doclet/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java ! test/langtools/jdk/javadoc/doclet/testHtmlStrongTag/TestHtmlStrongTag.java ! test/langtools/jdk/javadoc/doclet/testHtmlTag/TestHtmlTag.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/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestMultiInheritance.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverriddenMethodDocCopy.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverriddenPrivateMethods.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverriddenPrivateMethodsWithPackageFlag.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverriddenPrivateMethodsWithPrivateFlag.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverrideMethods.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg1/BaseClass.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/pkg1/SubClass.java ! test/langtools/jdk/javadoc/doclet/testParamTaglet/TestParamTaglet.java ! test/langtools/jdk/javadoc/doclet/testPrivateClasses/TestPrivateClasses.java ! test/langtools/jdk/javadoc/doclet/testPrivateClasses/pkg/PrivateParent.java ! test/langtools/jdk/javadoc/doclet/testPrivateClasses/pkg/PublicChild.java ! test/langtools/jdk/javadoc/doclet/testProperty/TestProperty.java ! test/langtools/jdk/javadoc/doclet/testRecordTypes/TestRecordTypes.java ! test/langtools/jdk/javadoc/doclet/testSeeTag/TestSeeTag.java ! test/langtools/jdk/javadoc/doclet/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java ! test/langtools/jdk/javadoc/doclet/testSimpleTag/TestSimpleTag.java ! test/langtools/jdk/javadoc/doclet/testSimpleTagInherit/TestSimpleTagInherit.java ! test/langtools/jdk/javadoc/doclet/testSinceTag/TestSinceTag.java ! test/langtools/jdk/javadoc/doclet/testThrowsHead/TestThrowsHead.java ! test/langtools/jdk/javadoc/doclet/testValueTag/TestValueTag.java ! test/langtools/jdk/javadoc/doclet/testVersionTag/TestVersionTag.java Changeset: a30f7d67296e Author: cjplummer Date: 2020-02-27 13:51 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/a30f7d67296e 8240142: Fix copyright in ThreadGroupReferenceImpl.h Reviewed-by: dholmes ! src/jdk.jdwp.agent/share/native/libjdwp/ThreadGroupReferenceImpl.h Changeset: 7e846d63ca61 Author: cjplummer Date: 2020-02-27 13:52 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/7e846d63ca61 8239379: ProblemList serviceability/sa/sadebugd/DebugdConnectTest.java on OSX Reviewed-by: sspitsyn ! test/hotspot/jtreg/ProblemList.txt Changeset: 04ba72c457f3 Author: cjplummer Date: 2020-02-27 13:57 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/04ba72c457f3 8193237: SA: ClhsdbLauncher should show the command being executed Reviewed-by: sspitsyn, amenkov ! test/hotspot/jtreg/serviceability/sa/ClhsdbLauncher.java Changeset: 02f6ce8441df Author: xuelei Date: 2020-02-27 21:14 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/02f6ce8441df 8240193: loadLibrary("osxsecurity") should not be removed Reviewed-by: ascarpino ! src/java.base/macosx/classes/apple/security/KeychainStore.java Changeset: 27e301f90b3a Author: ihse Date: 2020-02-28 09:53 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/27e301f90b3a 8239799: Cross-compilation ARM32/AARCH clientvm builds fails after JDK-8239450 Reviewed-by: erikj ! make/autoconf/buildjdk-spec.gmk.in Changeset: 8def7c4e6800 Author: chagedorn Date: 2020-02-28 15:33 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/8def7c4e6800 8239852: java/util/concurrent tests fail with -XX:+VerifyGraphEdges: assert(!VerifyGraphEdges) failed: verification should have failed Summary: Remove an assertion which was too strong for some valid IRs when running with -XX:+VerifyGraphEdges Reviewed-by: neliasso, thartmann ! src/hotspot/share/opto/gcm.cpp Changeset: 1a57db1b936f Author: dcubed Date: 2020-02-28 10:16 -0500 URL: https://hg.openjdk.java.net/panama/dev/rev/1a57db1b936f 8240231: Build failure on illumos after 8238988 Summary: add missing cast Reviewed-by: dcubed, shade Contributed-by: peter.tribble at gmail.com ! src/hotspot/os_cpu/solaris_x86/thread_solaris_x86.cpp Changeset: ec5e6e8d1ed2 Author: lucy Date: 2020-02-28 16:36 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/ec5e6e8d1ed2 8239931: [win][x86] vtable stub generation: assert failure (code size estimate) follow-up Reviewed-by: mdoerr ! src/hotspot/cpu/x86/vtableStubs_x86_32.cpp Changeset: c838a35b86e9 Author: shade Date: 2020-02-28 17:59 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/c838a35b86e9 8240215: Shenandoah: remove ShenandoahAllocationTrace Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: df9f37c56847 Author: shade Date: 2020-02-28 17:59 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/df9f37c56847 8240216: Shenandoah: remove ShenandoahTerminationTrace Reviewed-by: zgu ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: c005ba590219 Author: shade Date: 2020-02-28 17:59 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/c005ba590219 8240217: Shenandoah: remove ShenandoahEvacAssist Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: d1062bce95b9 Author: simonis Date: 2020-02-28 19:49 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/d1062bce95b9 8240226: DeflateIn_InflateOut.java test incorrectly assumes size of compressed file Reviewed-by: martin, alanb ! test/jdk/java/util/zip/DeflateIn_InflateOut.java Changeset: 9d59ab73463c Author: jjg Date: 2020-02-28 12:46 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/9d59ab73463c 8240136: Cleanup/simplify HTML/CSS for definition lists Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeOptionalMemberWriterImpl.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/HtmlDocletWriter.java ! 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/formats/html/markup/HtmlStyle.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlTree.java + test/langtools/jdk/javadoc/doclet/testExternalOverriddenMethod/TestExternalOverriddenMethod.java + test/langtools/jdk/javadoc/doclet/testExternalOverriddenMethod/package-list + test/langtools/jdk/javadoc/doclet/testExternalOverriddenMethod/pkg/XReader.java - test/langtools/jdk/javadoc/doclet/testExternalOverridenMethod/TestExternalOverriddenMethod.java - test/langtools/jdk/javadoc/doclet/testExternalOverridenMethod/package-list - test/langtools/jdk/javadoc/doclet/testExternalOverridenMethod/pkg/XReader.java ! test/langtools/jdk/javadoc/doclet/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java ! test/langtools/jdk/javadoc/doclet/testIndex/TestIndex.java ! test/langtools/jdk/javadoc/doclet/testInterface/TestInterface.java ! test/langtools/jdk/javadoc/doclet/testLambdaFeature/TestLambdaFeature.java ! test/langtools/jdk/javadoc/doclet/testLinkTaglet/TestLinkTaglet.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/langtools/jdk/javadoc/doclet/testPackageHtml/TestPackageHtml.java ! test/langtools/jdk/javadoc/doclet/testPrivateClasses/TestPrivateClasses.java ! test/langtools/jdk/javadoc/doclet/testSummaryTag/TestSummaryTag.java Changeset: 7b59e4c72006 Author: lmesnik Date: 2020-02-28 13:21 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/7b59e4c72006 8203239: [TESTBUG] remove vmTestbase/vm/gc/kind/parOld test Reviewed-by: lkorinth, shade ! test/hotspot/jtreg/TEST.quick-groups - test/hotspot/jtreg/vmTestbase/vm/gc/kind/parOld/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/gc/kind/parOld/test.sh Changeset: f227e770495f Author: minqi Date: 2020-02-28 15:30 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/f227e770495f 8236604: Optimize SystemDictionary::resolve_well_known_classes for CDS Summary: Serialize SystemDictionary::_well_known_classes into CDS and quickly resolve them at runtime in vm startup stage. Reviewed-by: iklam, coleenp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.hpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/klass.cpp Changeset: 0569a84a9ec0 Author: jiefu Date: 2020-02-29 09:38 +0800 URL: https://hg.openjdk.java.net/panama/dev/rev/0569a84a9ec0 8240254: Build is broken when cds is disabled after JDK-8236604 Reviewed-by: redestad ! src/hotspot/share/classfile/systemDictionary.hpp Changeset: f46dfe6b18ac Author: minqi Date: 2020-02-28 19:29 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/f46dfe6b18ac 8240258: SystemDictionary::quick_resolve need guarded by INCLUDE_CDS Summary: Supplemental fix for 8236604 to guard SystemDictionary::quick_resolve with CDS Reviewed-by: iklam, ccheung ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp Changeset: eeba18e49d0b Author: lzang Date: 2020-02-29 14:43 +0800 URL: https://hg.openjdk.java.net/panama/dev/rev/eeba18e49d0b 8239916: SA: delete dead code in jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java Reviewed-by: stefank ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java Changeset: 1e4e7bf0b6f5 Author: fyang Date: 2020-02-26 17:32 +0800 URL: https://hg.openjdk.java.net/panama/dev/rev/1e4e7bf0b6f5 8239915: Zero VM crashes when handling dynamic constant Reviewed-by: dholmes Contributed-by: wangkun49 at huawei.com ! src/hotspot/share/interpreter/bytecodeInterpreter.cpp + test/hotspot/jtreg/runtime/invokedynamic/DynamicConstantHelper.jasm + test/hotspot/jtreg/runtime/invokedynamic/TestDynamicConstant.java Changeset: 4a5a7dc9d05c Author: iklam Date: 2020-03-01 17:36 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/4a5a7dc9d05c 8240267: VM fails to start with CDS enabled but JVMTI disabled Reviewed-by: dholmes ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/systemDictionary.cpp Changeset: 4b9d816b1531 Author: rhalade Date: 2020-03-01 23:04 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/4b9d816b1531 8225130: Add exception for expiring Comodo roots to VerifyCACerts test Reviewed-by: weijun ! test/jdk/sun/security/lib/cacerts/VerifyCACerts.java Changeset: acc083236275 Author: redestad Date: 2020-03-02 08:22 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/acc083236275 8196334: Optimize UUID#fromString Reviewed-by: igerasim, alanb Contributed-by: plokhotnyuk at gmail.com, jon.chambers at gmail.com, claes.redestad at oracle.com ! src/java.base/share/classes/java/util/UUID.java ! test/jdk/java/util/UUID/UUIDTest.java + test/micro/org/openjdk/bench/java/util/UUIDBench.java Changeset: 1d64bd5b34e0 Author: chagedorn Date: 2020-03-02 10:23 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/1d64bd5b34e0 8238438: SuperWord::co_locate_pack picks memory state of first instead of last load Summary: Fix selection of first and last memory state in SuperWord::co_locate_pack Reviewed-by: thartmann, kvn ! src/hotspot/share/opto/superword.cpp ! src/hotspot/share/opto/superword.hpp + test/hotspot/jtreg/compiler/loopopts/superword/CoLocatePackMemoryState.java Changeset: 41073408f25e Author: stefank Date: 2020-03-02 12:30 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/41073408f25e 8240220: IdealLoopTree::dump_head predicate printing is broken Reviewed-by: thartmann, neliasso, chagedorn ! src/hotspot/share/opto/loopnode.cpp Changeset: e04746cec89c Author: stefank Date: 2020-03-02 12:30 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/e04746cec89c 8240223: Use consistent predicate order in and with PhaseIdealLoop::find_predicate Reviewed-by: thartmann, neliasso, chagedorn ! src/hotspot/share/opto/loopUnswitch.cpp ! src/hotspot/share/opto/loopnode.cpp Changeset: 387369ff21a4 Author: mbalao Date: 2020-02-05 12:20 -0300 URL: https://hg.openjdk.java.net/panama/dev/rev/387369ff21a4 8238555: Allow Initialization of SunPKCS11 with NSS when there are external FIPS modules in the NSSDB Reviewed-by: mullan, valeriep ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Secmod.java Changeset: 5f6949a3dbe0 Author: hseigel Date: 2020-03-02 16:10 +0000 URL: https://hg.openjdk.java.net/panama/dev/rev/5f6949a3dbe0 8239568: [TESTBUG] LoadLibraryTest.java fails with RuntimeException Summary: Throw jtreg.SkippedException instead of failing if shared library isn't unloaded Reviewed-by: coleenp, lmesnik - test/hotspot/jtreg/runtime/logging/loadLibraryTest/LoadLibrary.java ! test/hotspot/jtreg/runtime/logging/loadLibraryTest/LoadLibraryTest.java ! test/hotspot/jtreg/runtime/logging/loadLibraryTest/libLoadLibraryClass.c Changeset: e826821a469d Author: pconcannon Date: 2020-03-02 16:47 +0000 URL: https://hg.openjdk.java.net/panama/dev/rev/e826821a469d 8234812: Add micros for DatagramChannel send/receive Summary: Benchmarks for the DatagramChannel::send and DatagramChannel::receive methods Reviewed-by: alanb, chegar + test/micro/org/openjdk/bench/java/nio/DatagramChannelSendReceive.java Changeset: 3a9bd48ecffc Author: lfoltan Date: 2020-03-02 18:42 +0000 URL: https://hg.openjdk.java.net/panama/dev/rev/3a9bd48ecffc 8237766: Enhance signature API to include ResolvingSignatureStream Summary: New ResolvingSignatureStream class provides the capability to easily walk through the differing parts of a signature while resolving or querying its underlying types. Reviewed-by: coleenp, fparain, hseigel Contributed-by: lois.foltan at oracle.com, john.r.rose at oracle.com ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/runtime/reflection.cpp ! src/hotspot/share/runtime/signature.cpp ! src/hotspot/share/runtime/signature.hpp Changeset: ac3371755ede Author: kbarrett Date: 2020-03-02 14:45 -0500 URL: https://hg.openjdk.java.net/panama/dev/rev/ac3371755ede 8240246: Avoid cast_to_oop from char* Summary: Change type of gtest object from char[] to unsigned char[]. Reviewed-by: dholmes ! test/hotspot/gtest/oops/test_oop.cpp Changeset: 83ff8e2fa7ab Author: mseledtsov Date: 2020-03-02 12:16 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/83ff8e2fa7ab 8236938: [TESTBUG] JFR event MetaspaceAllocationFailure is not tested Summary: New test for MetaspaceAllocationFailure Reviewed-by: hseigel, stuefe ! test/hotspot/jtreg/runtime/Metaspace/FragmentMetaspace.java - test/hotspot/jtreg/runtime/testlibrary/GeneratedClassLoader.java + test/jdk/jdk/jfr/event/runtime/TestMetaspaceAllocationFailure.java + test/lib/jdk/test/lib/classloader/GeneratingCompilingClassLoader.java Changeset: 80e4a066342d Author: dholmes Date: 2020-03-02 19:49 -0500 URL: https://hg.openjdk.java.net/panama/dev/rev/80e4a066342d 8238676: jni crashes on accessing it from process exit hook Reviewed-by: fparain, gziemski ! make/test/JtregNativeHotspot.gmk ! src/hotspot/share/prims/jni.cpp + test/hotspot/jtreg/runtime/jni/atExit/TestAtExit.java + test/hotspot/jtreg/runtime/jni/atExit/libatExit.c Changeset: f3d90cac1c7c Author: prr Date: 2020-02-12 14:45 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/f3d90cac1c7c 8238842: AIOOBE in GIFImageReader.initializeStringTable Reviewed-by: serb, bpb ! src/java.desktop/share/classes/com/sun/imageio/plugins/gif/GIFImageReader.java + test/jdk/javax/imageio/plugins/gif/GIFCodeSizeTest.java Changeset: 314f940aaf82 Author: serb Date: 2020-02-13 13:17 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/314f940aaf82 8238738: AudioSystem.getMixerInfo() takes about 30 sec to report a gone audio device Reviewed-by: prr ! src/java.desktop/windows/native/libjsound/PLATFORM_API_WinOS_DirectSound.cpp Changeset: 19adbbca4307 Author: serb Date: 2020-02-13 13:19 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/19adbbca4307 8221823: Requested JDialog width is ignored Reviewed-by: aivanov ! src/java.desktop/windows/classes/sun/awt/windows/WDialogPeer.java ! src/java.desktop/windows/classes/sun/awt/windows/WFramePeer.java ! src/java.desktop/windows/classes/sun/awt/windows/WWindowPeer.java ! src/java.desktop/windows/native/libawt/windows/awt_Window.cpp ! test/jdk/ProblemList.txt ! test/jdk/java/awt/Mixing/AWT_Mixing/HierarchyBoundsListenerMixingTest.java ! test/jdk/java/awt/Mixing/AWT_Mixing/MixingFrameResizing.java ! test/jdk/java/awt/Mixing/AWT_Mixing/MixingPanelsResizing.java + test/jdk/java/awt/Window/MinimumSizeDPIVariation/MinimumSizeDPIVariation.java Changeset: bdcad73943d5 Author: serb Date: 2020-02-13 13:21 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/bdcad73943d5 8238741: java.awt.Robot(GraphicsDevice) constructor does not follow the spec Reviewed-by: aivanov ! src/java.desktop/share/classes/java/awt/Robot.java + test/jdk/java/awt/Headless/HeadlessRobot.java Changeset: ece447fa3843 Author: serb Date: 2020-02-13 13:23 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/ece447fa3843 8233827: Enable screenshots in the enhanced failure handler on Linux/macOS Reviewed-by: iignatyev ! test/failure_handler/src/share/conf/linux.properties ! test/failure_handler/src/share/conf/mac.properties Changeset: df45736e03ac Author: prr Date: 2020-02-14 09:10 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/df45736e03ac 8238942: Rendering artifacts with LCD text and fractional metrics Reviewed-by: serb, jdv ! src/java.desktop/share/native/libfontmanager/freetypeScaler.c Changeset: bc9c585b41e7 Author: prr Date: 2020-02-14 10:44 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/bc9c585b41e7 8239091: Reversed arguments in call to strstr in freetype "debug" code. Reviewed-by: bpb ! src/java.desktop/share/native/libfontmanager/freetypeScaler.c Changeset: 81bb0384f515 Author: kizune Date: 2020-02-17 20:04 +0300 URL: https://hg.openjdk.java.net/panama/dev/rev/81bb0384f515 8237221: [macos] java/awt/MenuBar/SeparatorsNavigation/SeparatorsNavigation.java fails Reviewed-by: serb + test/jdk/java/awt/MenuBar/SeparatorsNavigation/SeparatorsNavigation.java Changeset: 062b36ecf8d7 Author: psadhukhan Date: 2020-02-20 14:49 +0530 URL: https://hg.openjdk.java.net/panama/dev/rev/062b36ecf8d7 8239334: Tab Size does not work correctly in JTextArea with setLineWrap on Reviewed-by: serb, pbansal ! src/java.desktop/share/classes/javax/swing/text/WrappedPlainView.java + test/jdk/javax/swing/JTextArea/TestTabSizeWithLineWrap.java Changeset: c28ebdb28a8e Author: pbansal Date: 2020-02-21 16:31 +0530 URL: https://hg.openjdk.java.net/panama/dev/rev/c28ebdb28a8e 8216329: Cannot resize CheckBoxItemMenu in Synth L&F with setHorizontalTextPosition Reviewed-by: serb, psadhukhan ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicMenuItemUI.java ! src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/WindowsMenuItemUI.java + test/jdk/javax/swing/plaf/synth/SynthCheckBoxMenuItem/Check_Icon.png + test/jdk/javax/swing/plaf/synth/SynthCheckBoxMenuItem/MenuItem_Selected.png + test/jdk/javax/swing/plaf/synth/SynthCheckBoxMenuItem/TestJCheckBoxMenuItem.java Changeset: 427e3df3f0a3 Author: pbansal Date: 2020-02-21 17:00 +0530 URL: https://hg.openjdk.java.net/panama/dev/rev/427e3df3f0a3 8153090: TAB key cannot change input focus after the radio button in the Color Selection dialog Reviewed-by: serb, psadhukhan ! src/java.desktop/share/classes/javax/swing/colorchooser/ColorPanel.java Changeset: 159f96d0784c Author: pbansal Date: 2020-02-21 17:09 +0530 URL: https://hg.openjdk.java.net/panama/dev/rev/159f96d0784c 8238985: [TESTBUG] The arrow image is blue instead of green Reviewed-by: serb, psadhukhan ! test/jdk/javax/swing/JTextPane/TestJTextPaneHTMLRendering.java Changeset: ea4c6da34c1f Author: aivanov Date: 2020-02-25 20:00 +0000 URL: https://hg.openjdk.java.net/panama/dev/rev/ea4c6da34c1f 8235147: Release HDC from passiveDCList sooner Reviewed-by: serb, jdv ! src/java.desktop/windows/native/libawt/windows/awt_Component.cpp ! src/java.desktop/windows/native/libawt/windows/awt_Component.h Changeset: 965c0a1421e5 Author: serb Date: 2020-02-27 09:49 +0000 URL: https://hg.openjdk.java.net/panama/dev/rev/965c0a1421e5 8239583: [AIX] simplify the native references in X input methods Reviewed-by: clanger, itakiguchi ! src/java.desktop/aix/native/libawt_xawt/awt/awt_InputMethod.c ! src/java.desktop/unix/native/common/awt/awt_p.h ! src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c Changeset: 69495f2ee5ba Author: serb Date: 2020-02-28 16:49 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/69495f2ee5ba 8240202: A few client tests leave mouse buttons pressed Reviewed-by: prr ! test/jdk/ProblemList.txt ! test/jdk/java/awt/Mixing/AWT_Mixing/JSplitPaneOverlapping.java ! test/jdk/javax/swing/JButton/PressedButtonRightClickTest.java Changeset: ed5224c3e044 Author: psadhukhan Date: 2020-03-02 10:50 +0530 URL: https://hg.openjdk.java.net/panama/dev/rev/ed5224c3e044 Merge - make/CopyInterimCLDRConverter.gmk - make/Help.gmk - make/autoconf/basics.m4 - make/autoconf/basics_windows.m4 - src/java.base/linux/classes/jdk/internal/platform/cgroupv1/Metrics.java - src/java.base/linux/classes/jdk/internal/platform/cgroupv1/SubSystem.java - src/jdk.internal.vm.compiler/.mx.graal/.project - src/jdk.internal.vm.compiler/.mx.graal/.pydevproject - src/jdk.internal.vm.compiler/.mx.graal/eclipse-settings/org.eclipse.jdt.core.prefs - src/jdk.internal.vm.compiler/.mx.graal/mx_graal.py - src/jdk.internal.vm.compiler/.mx.graal/mx_graal_9.py - src/jdk.internal.vm.compiler/.mx.graal/mx_graal_bench.py - src/jdk.internal.vm.compiler/.mx.graal/outputparser.py - src/jdk.internal.vm.compiler/.mx.graal/sanitycheck.py - src/jdk.internal.vm.compiler/.mx.graal/suite.py - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.aarch64.test/src/org/graalvm/compiler/asm/aarch64/test/AArch64MacroAssemblerTest.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotGCProvider.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/DimensionsNode.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/NewObjectSnippets.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/Access.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/HeapAccess.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryCheckpoint.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/GCProvider.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jszip-utils/dist/jszip-utils-ie.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jszip-utils/dist/jszip-utils-ie.min.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jszip-utils/dist/jszip-utils.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jszip-utils/dist/jszip-utils.min.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jszip/dist/jszip.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jszip/dist/jszip.min.js - src/jdk.javadoc/share/legal/jszip.md - test/hotspot/jtreg/gc/shenandoah/compiler/TestCommonGCLoads.java - test/hotspot/jtreg/runtime/7116786/Test7116786.java - test/hotspot/jtreg/runtime/7116786/testcases.jar - test/hotspot/jtreg/runtime/CDSCompressedKPtrs/CDSCompressedKPtrsError.java - test/hotspot/jtreg/runtime/EnclosingMethodAttr/enclMethodAttr.jar - test/hotspot/jtreg/runtime/LocalVariableTable/DuplicateLVT.cod - test/hotspot/jtreg/runtime/LocalVariableTable/DuplicateLVTT.cod - test/hotspot/jtreg/runtime/LocalVariableTable/NotFoundLVTT.cod - test/hotspot/jtreg/runtime/LocalVariableTable/testcase.jar - test/hotspot/jtreg/runtime/classFileParserBug/emptynumbootstrapmethods.jar - test/hotspot/jtreg/runtime/classFileParserBug/test.jar - test/hotspot/jtreg/runtime/duplAttributes/test.jar - test/hotspot/jtreg/vmTestbase/vm/gc/kind/parOld/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/gc/kind/parOld/test.sh ! test/jdk/ProblemList.txt - test/langtools/jdk/javadoc/doclet/testExternalOverridenMethod/TestExternalOverridenMethod.java - test/langtools/jdk/javadoc/doclet/testExternalOverridenMethod/package-list - test/langtools/jdk/javadoc/doclet/testExternalOverridenMethod/pkg/XReader.java Changeset: d765d242df98 Author: psadhukhan Date: 2020-03-03 13:31 +0530 URL: https://hg.openjdk.java.net/panama/dev/rev/d765d242df98 Merge - test/hotspot/jtreg/runtime/logging/loadLibraryTest/LoadLibrary.java - test/hotspot/jtreg/runtime/testlibrary/GeneratedClassLoader.java Changeset: 370822016750 Author: neliasso Date: 2020-03-03 10:29 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/370822016750 8238759: Clones should always keep the base pointer Reviewed-by: rkennke, thartmann ! src/hotspot/share/gc/shared/c2/barrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/opto/arraycopynode.cpp ! test/hotspot/jtreg/compiler/arguments/TestStressReflectiveCode.java Changeset: 1bc5f223df65 Author: simonis Date: 2020-03-03 11:24 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/1bc5f223df65 8240235: jdk.test.lib.util.JarUtils updates jar files incorrectly Reviewed-by: martin, clanger, lancea ! test/lib/jdk/test/lib/util/JarUtils.java Changeset: de17bc931bbe Author: redestad Date: 2020-03-03 11:40 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/de17bc931bbe 8240302: x64: Assembler::reachable redundantly call Relocation::type() more than once Reviewed-by: kvn, iklam, thartmann ! src/hotspot/cpu/x86/assembler_x86.cpp Changeset: 32e20dcd43eb Author: redestad Date: 2020-03-03 12:41 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/32e20dcd43eb 8240263: Assertion-only call in Method::link_method affecting product builds Reviewed-by: shade, dcubed, iklam ! src/hotspot/share/oops/method.cpp Changeset: d8dbc734645b Author: hseigel Date: 2020-03-03 15:50 +0000 URL: https://hg.openjdk.java.net/panama/dev/rev/d8dbc734645b 8240324: Improve is_boot_class_loader_data() by adding simple check Summary: Check if cld is the null_cld before looking at the class loader oop Reviewed-by: coleenp ! src/hotspot/share/classfile/classLoaderData.inline.hpp Changeset: e0e5cbb61e86 Author: coleenp Date: 2020-03-03 11:19 -0500 URL: https://hg.openjdk.java.net/panama/dev/rev/e0e5cbb61e86 8225760: oop::raw_set_obj isn't needed Reviewed-by: hseigel, rkennke ! src/hotspot/share/oops/oopsHierarchy.hpp Changeset: 06b31c23a9a8 Author: fmatte Date: 2020-02-27 19:33 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/06b31c23a9a8 8239055: Wrong implementation of VMState.hasListener Summary: Correct the VMState.hasListener implementation to return WeakReference type Reviewed-by: sspitsyn, poonam ! src/jdk.jdi/share/classes/com/sun/tools/jdi/VMState.java Changeset: ef54941dbc95 Author: mseledtsov Date: 2020-03-03 12:43 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/ef54941dbc95 8235206: JFR TestCrossProcessStreaming - validate that data can be consumed while it is being produced Summary: Updated test to validate concurrent produce/consume Reviewed-by: egahlin ! test/jdk/jdk/jfr/api/consumer/streaming/TestCrossProcessStreaming.java Changeset: 522f5bb0e92b Author: xuelei Date: 2020-03-03 15:57 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/522f5bb0e92b 8233619: SSLEngine handshake status immediately after the handshake can be NOT_HANDSHAKING rather than FINISHED with TLSv1.3 Reviewed-by: jnimeh ! src/java.base/share/classes/sun/security/ssl/Finished.java ! src/java.base/share/classes/sun/security/ssl/NewSessionTicket.java ! src/java.base/share/classes/sun/security/ssl/PostHandshakeContext.java + test/jdk/javax/net/ssl/SSLEngine/FinishedPresent.java Changeset: f6322be85592 Author: roland Date: 2020-02-21 15:01 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/f6322be85592 8239367: RunThese30M.java failed due to "assert(false) failed: graph should be schedulable" Reviewed-by: thartmann, vlivanov, neliasso ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/graphKit.cpp + test/hotspot/jtreg/compiler/types/TestSubTypeCheckMacroNodeWrongMem.java Changeset: 1d4d4c9d03c2 Author: roland Date: 2020-02-20 16:41 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/1d4d4c9d03c2 8238384: CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found" Reviewed-by: vlivanov, thartmann ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/gcm.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/macro.hpp ! src/hotspot/share/opto/macroArrayCopy.cpp ! src/hotspot/share/opto/type.hpp + test/hotspot/jtreg/compiler/escapeAnalysis/TestCopyOfBrokenAntiDependency.java Changeset: a3a462ce27cd Author: bae Date: 2020-03-03 13:06 +0300 URL: https://hg.openjdk.java.net/panama/dev/rev/a3a462ce27cd 8239787: AArch64: String.indexOf may incorrectly handle empty strings Reviewed-by: aph, lmesnik, yan Contributed-by: alexey at azul.com ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp + test/hotspot/jtreg/runtime/StringIntrinsic/StringIndexOfChar.java Changeset: 6f709455592a Author: shade Date: 2020-03-04 11:50 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/6f709455592a 8240511: Shenandoah: parallel safepoint workers count should be ParallelGCThreads Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp - test/hotspot/jtreg/gc/shenandoah/options/TestSafepointWorkers.java Changeset: 8797eb1fe3bf Author: jlahoda Date: 2020-03-04 13:43 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/8797eb1fe3bf 8239575: javadoc triggers javac AssertionError for annos on modules Summary: Ensure ModuleSymbols are implicitly loaded only once in the javadoc context. Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/ModuleFinder.java ! test/langtools/jdk/javadoc/tool/modules/Modules.java Changeset: d2fc63de7876 Author: jlahoda Date: 2020-03-04 13:43 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/d2fc63de7876 8228451: NPE in Attr.java when -XDshould-stop.ifError=FLOW Summary: Avoiding parsing of compound assignment as a type. Reviewed-by: jjg, vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/langtools/tools/javac/parser/JavacParserTest.java Changeset: 1c06a8ee8aca Author: jlahoda Date: 2020-03-04 13:43 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/1c06a8ee8aca 8234896: Tab completion does not work for method references in jshell. Reviewed-by: rfield ! src/jdk.jshell/share/classes/jdk/jshell/SourceCodeAnalysisImpl.java ! test/langtools/jdk/jshell/CompletionSuggestionTest.java Changeset: b0d94da54415 Author: herrick Date: 2020-03-03 17:58 -0500 URL: https://hg.openjdk.java.net/panama/dev/rev/b0d94da54415 8237967: No proper error message when --runtime-image points to non-existent path Reviewed-by: kizune, asemenyuk, almatvee ! src/jdk.incubator.jpackage/share/classes/jdk/incubator/jpackage/internal/DeployParams.java ! src/jdk.incubator.jpackage/share/classes/jdk/incubator/jpackage/internal/resources/MainResources.properties ! src/jdk.incubator.jpackage/share/classes/jdk/incubator/jpackage/internal/resources/MainResources_ja.properties ! src/jdk.incubator.jpackage/share/classes/jdk/incubator/jpackage/internal/resources/MainResources_zh_CN.properties ! test/jdk/tools/jpackage/share/InvalidArgTest.java Changeset: dffb6122849b Author: herrick Date: 2020-03-03 18:07 -0500 URL: https://hg.openjdk.java.net/panama/dev/rev/dffb6122849b 8237966: Creating runtime pkg requires --mac-package-identifier Reviewed-by: kizune, asemenyuk, almatvee ! src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/MacPkgBundler.java Changeset: b77e4d778eb7 Author: herrick Date: 2020-03-03 18:10 -0500 URL: https://hg.openjdk.java.net/panama/dev/rev/b77e4d778eb7 8238692: MacOS runtime Installer issue Reviewed-by: kizune, asemenyuk, almatvee ! src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/MacAppImageBuilder.java ! src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/MacPkgBundler.java ! src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/resources/MacResources.properties Changeset: 707abe6ca3cb Author: simonis Date: 2020-03-04 14:55 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/707abe6ca3cb 8240333: jmod incorrectly updates .jar and .jmod files during hashing Reviewed-by: martin, alanb, lancea ! src/jdk.jlink/share/classes/jdk/tools/jmod/JmodOutputStream.java ! src/jdk.jlink/share/classes/jdk/tools/jmod/JmodTask.java Changeset: 2fc917015437 Author: shade Date: 2020-03-04 19:23 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/2fc917015437 8240534: Shenandoah: ditch debug safepoint timeout adjustment Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp Changeset: d0b769130118 Author: jjg Date: 2020-03-04 12:58 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/d0b769130118 8239817: Eliminate use of contentContainer and friends Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractOverviewIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractTreeWriter.java ! 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/ClassUseWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstantsSummaryWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DeprecatedListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DocFilesHandlerImpl.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/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/PackageTreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageUseWriter.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/SerializedFormWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SingleIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SplitIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SubWriterHolderWriter.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/TreeWriter.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/testHtmlLandmarkRegions/TestHtmlLandmarkRegions.java ! test/langtools/jdk/javadoc/doclet/testHtmlTag/TestHtmlTag.java ! test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testOverview/TestOverview.java From paul.sandoz at oracle.com Wed Mar 4 23:09:50 2020 From: paul.sandoz at oracle.com (Paul Sandoz) Date: Wed, 4 Mar 2020 15:09:50 -0800 Subject: [vector] Stop leakage of internal APIs Message-ID: Hi, This patch stops the leakage of package private Abstract* classes into the public API: http://cr.openjdk.java.net/~psandoz/panama/vector-internal-api-leakage/webrev/ This applies to: 1) public methods overridden by the abstract classes that are not themselves fully overridden by further public subclasses; and 2) those methods return a type of that is a package private abstract class. This primarily affects Vector. AbstractVector and public subclasses, such as DoubleVector. I also made changes to species, shuffle, and mask classes for consistency even though there are no public subclasses. Paul. From Yang.Zhang at arm.com Thu Mar 5 03:53:41 2020 From: Yang.Zhang at arm.com (Yang Zhang) Date: Thu, 5 Mar 2020 03:53:41 +0000 Subject: [vector] Fix reduce_add2F/reduce_add2D for incorrect associativity In-Reply-To: References: Message-ID: Looks good to me. Regards Yang -----Original Message----- From: panama-dev On Behalf Of Qi Feng Sent: Wednesday, March 4, 2020 3:03 PM To: panama-dev at openjdk.java.net Cc: nd Subject: [vector] Fix reduce_add2F/reduce_add2D for incorrect associativity Hi, Please help me review this patch. Webrev: http://cr.openjdk.java.net/~yzhang/vectorapi/vectorapi.fadd/webrev.00/ The implementation of these two instructs on AArch64 accumulate it's arguments in the wrong order, since the addition of floating point values doesn't obey associative law. Thanks, Qi From yang.zhang at arm.com Thu Mar 5 04:00:56 2020 From: yang.zhang at arm.com (yang.zhang at arm.com) Date: Thu, 05 Mar 2020 04:00:56 +0000 Subject: hg: panama/dev: Fix reduce_add2F/reduce_add2D for incorrect associativity Message-ID: <202003050400.02540uqh001443@aojmv0008.oracle.com> Changeset: a385ccae8a6e Author: yzhang Date: 2020-03-04 14:50 +0800 URL: https://hg.openjdk.java.net/panama/dev/rev/a385ccae8a6e Fix reduce_add2F/reduce_add2D for incorrect associativity The implementation of these two nodes on AArch64 accumulate it's arguments in the wrong order, as the addition of floating point values doesn't obey associative law. Contributed-by: qi.feng at arm.com ! src/hotspot/cpu/aarch64/aarch64.ad From Yang.Zhang at arm.com Thu Mar 5 07:07:37 2020 From: Yang.Zhang at arm.com (Yang Zhang) Date: Thu, 5 Mar 2020 07:07:37 +0000 Subject: [vector] RFR: Support non power-of-two and 2048-bit vector length for gather load/scatter store In-Reply-To: <5350A269-D761-47DD-A87C-DDBDB5AF6C0E@oracle.com> References: <5350A269-D761-47DD-A87C-DDBDB5AF6C0E@oracle.com> Message-ID: Hi Paul Thanks for your review. I have updated the patch. Please check it. http://cr.openjdk.java.net/~yzhang/vectorapi/vectorapi.2048npow/webrev.01/ Regards Yang -----Original Message----- From: Paul Sandoz Sent: Wednesday, March 4, 2020 10:14 AM To: Yang Zhang Cc: panama-dev at openjdk.java.net Subject: Re: [vector] RFR: Support non power-of-two and 2048-bit vector length for gather load/scatter store Hi, Than you for applying some consistency to these operations. VectorShape ? Can you add a @throws to the JavaDoc of forIndexBitSize and also forBitSize? ByteVector & ShortVector ? Also change the mask accepting gather implementation to use the internal mask accepting stOp. That implementation currently fails if any of the mask bits are not set. X-Vector.java.template ? 4389 #if[longOrDouble] 4390 4391 // Mask for gather load 4392 @ForceInline 4393 public final VectorMask gatherMask() { 4394 if ((Class) vectorType() == $Type$MaxVector.class) { 4395 return IntMaxVector.IntMaxMask.GATHER_MASK; 4396 } 4397 throw new AssertionError(); 4398 } 4399 #end[longOrDouble] Hmm.. I am unsure about this since it?s a general method (should be package private) but only works in the case of when the vector type is of the max vector. Is there a better way to surface this up since presumably this is called only when the vector type is of max vector? Maybe be more explicit in the case of "isp.laneCount() != vsp.laneCount()?? X-VectorBits.java ? 699 #if[intAndMax] 700 static final IntMaxMask GATHER_MASK = new IntMaxMask(maskLowerHalf()); 701 #end[intAndMax] LOWER_HALF_TRUE_MASK is a wordier but more accurate description. Paul. > On Feb 13, 2020, at 10:32 PM, Yang Zhang wrote: > > Hi, > > I'm adding support non power-of-two and 2048-bit vector length for gather load/scatter store. > Could you please help to review it? > > Webrev: > http://cr.openjdk.java.net/~yzhang/vectorapi/vectorapi.2048npow/webrev > .00/index.html > No new failures with a full jtreg. > > In this patch, I made the following changes. > 1. For gather load/scatter store, int array is used for index map. New index shape calculation function is added. > For AArch64 SVE, the maximum of index bit size is (2048/elementSize) * 32. > Index increments is (128/elementSize) * 32. So that new index shape calculation function is added. > > 2. Use a gather mask to control index vector loading for long/double gather load/scatter store. > When vector length is 2048 or non-power-of-two, e.g. SVE, there are > index out of bounds failures in long/double gather load test cases. > Take 2048 as an example, in long gather load (fromArray), indexShape > of long species is S_MAX_BIT, and the lane count of long vector is 32. > When converting long species to int species, indexShape of int species > is still S_MAX_BIT, but the lane count of int vector is 64. So when > loading index vector (IntVector), unnecessary index data is loaded. > If current vector is the tail, out of bounds failure happens. > > This failure is only for SVE. For X86, the reason why there isn't such > failure is that: > i) Byte/Short gather loads aren't intrinsified. > ii) For X86 AVX512, indexShape(int index map, 8 elements) of > long512/double512 > (8 elements) is initialized as S_256_BIT. For SVE with 512-bit vector > length, indexShape is initialized as S_256_BIT too. But for SVE > 2048-bit and non-power-of-two, there will be failures above. > > 3. Gather load and scatter store is a pair of similar operations. One solution should be applied to them. > The original java implementations of gather load and scatter store are different. > > Vector gather load scatter store > Int or float With intrinsification With intrinsification > Long or Double With intrinsification With intrinsification > Get indexShape directly Get indexShape indirectly > Normal index loading Special controlled index loading > Byte or short Without intrinsification With intrinsification, no instruction support on x86/arm > > I think gather load and scatter store is a pair of similar operations. One solution should be applied to them. > Based on above, I use a simple implementation for them. > Vector gather load/scatter store > Int or float With intrinsification > Long or Double With intrinsification > Get indexShape directly > Special controlled index loading > Byte or short Without intrinsification > If any problem, please let me know. > > 4. Some assertions that vector length is power of two are removed. > 5. Add comments for gather load intrinsification. > > Regards, > Yang > > From sundar at openjdk.java.net Thu Mar 5 13:20:35 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Thu, 5 Mar 2020 13:20:35 GMT Subject: [foreign-jextract] RFR: 8240602: port more tests from old jextract tests Message-ID: * catch RuntimeException around header parser and return failure exit code. * add union, (macro) constants and bad bitfield tests. * IDE suggested simplyfing refactorings ------------- Commits: - 0228346a: tab removal in comments (jcheck failure) - 2e7fddc0: 8240602: port more tests from old jextract tests Changes: https://git.openjdk.java.net/panama-foreign/pull/39/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/39/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8240602 Stats: 441 lines in 10 files changed: 421 ins; 3 del; 17 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/39.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/39/head:pull/39 PR: https://git.openjdk.java.net/panama-foreign/pull/39 From sundar at openjdk.java.net Thu Mar 5 13:53:12 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Thu, 5 Mar 2020 13:53:12 GMT Subject: [foreign-jextract] [Rev 01] RFR: 8240602: port more tests from old jextract tests In-Reply-To: References: Message-ID: > * catch RuntimeException around header parser and return failure exit code. > * add union, (macro) constants and bad bitfield tests. > * IDE suggested simplyfing refactorings The pull request has been updated with 1 additional commit. ------------- Added commits: - 19d91382: fixed copyright header for tests. Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/39/files - new: https://git.openjdk.java.net/panama-foreign/pull/39/files/0228346a..19d91382 Webrevs: - full: https://webrevs.openjdk.java.net/panama-foreign/39/webrev.01 - incr: https://webrevs.openjdk.java.net/panama-foreign/39/webrev.00-01 Stats: 16 lines in 6 files changed: 0 ins; 10 del; 6 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/39.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/39/head:pull/39 PR: https://git.openjdk.java.net/panama-foreign/pull/39 From jvernee at openjdk.java.net Thu Mar 5 13:57:45 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Thu, 5 Mar 2020 13:57:45 GMT Subject: [foreign-jextract] [Rev 01] RFR: 8240602: port more tests from old jextract tests In-Reply-To: References: Message-ID: On Thu, 5 Mar 2020 13:53:12 GMT, Athijegannathan Sundararajan wrote: >> * catch RuntimeException around header parser and return failure exit code. >> * add union, (macro) constants and bad bitfield tests. >> * IDE suggested simplyfing refactorings > > The pull request has been updated with 1 additional commit. LGTM! ------------- Marked as reviewed by jvernee (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/39 From sundar at openjdk.java.net Thu Mar 5 13:58:58 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Thu, 5 Mar 2020 13:58:58 GMT Subject: [Integrated] [foreign-jextract] RFR: 8240602: port more tests from old jextract tests In-Reply-To: References: Message-ID: <7566520d-2ee8-40b0-831d-e627bbe19a49@openjdk.org> Changeset: 5cf8520c Author: Athijegannathan Sundararajan Date: 2020-03-05 13:57:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5cf8520c 8240602: port more tests from old jextract tests Reviewed-by: jvernee ! src/jdk.incubator.jextract/share/classes/jdk/incubator/jextract/tool/Main.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/jextract/impl/TypeImpl.java + test/jdk/tools/jextract/BadBitfieldTest.java + test/jdk/tools/jextract/ConstantsTest.java ! test/jdk/tools/jextract/RepeatedDeclsTest.java + test/jdk/tools/jextract/UniondeclTest.java + test/jdk/tools/jextract/badBitfields.h + test/jdk/tools/jextract/constants.h + test/jdk/tools/jextract/constants_aux.h + test/jdk/tools/jextract/uniondecl.h From jvernee at openjdk.java.net Thu Mar 5 15:22:47 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Thu, 5 Mar 2020 15:22:47 GMT Subject: [foreign-jextract] RFR: Improve jextract error reporting Message-ID: Hi, I spent the last couple of days tracking down a crash I was seeing sometimes when running jextract. In the process I ended up doing several improvements to jextract's error checking and reporting, that I think are useful to keep in the long run. The changes include: - Using `clang_parseTranslationUnit2` to parse, since that returns an error code, instead of a null translation unit. This also means we can still process diagnostic for the returned translation unit (now returned in a buffer). - Checking the return codes for `clang_parseTranslationUnit2`, `clang_saveTranslationUnit`, and `clang_reparseTranslationUnit` (using a proper enum) and throwing an exception in case they are erroneous. - Catching BadMacroException instead of Throwable in the macro parser. We only care about the former, and catching Throwable could lead to too many exceptions being eaten. Technically, if there is an unknown exception, we could just skip the macro, but this isn't always the right strategy. For example, when re-parsing fails the used translation unit becomes invalid, so we really need to do something else than just skipping the macro in that case (to be addressed in another patch https://bugs.openjdk.java.net/browse/JDK-8240614). Imo it's better to just crash than to skip when we encounter an unknwon exception, so that we're more likely to find issues. - Enabling libclang crash recovery by default. By default the crash recovery was being disabled. This leads to the process exiting with OS exception code. If we enable this however, it will instead try to return an error code from the libclang call, which we can then check for and handle the failure however we want. Thanks, Jorn ------------- Commits: - add33e44: Improve clang error reporting Changes: https://git.openjdk.java.net/panama-foreign/pull/40/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/40/webrev.00 Stats: 176 lines in 6 files changed: 151 ins; 6 del; 19 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/40.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/40/head:pull/40 PR: https://git.openjdk.java.net/panama-foreign/pull/40 From paul.sandoz at oracle.com Thu Mar 5 16:34:43 2020 From: paul.sandoz at oracle.com (Paul Sandoz) Date: Thu, 5 Mar 2020 08:34:43 -0800 Subject: [vector] RFR: Support non power-of-two and 2048-bit vector length for gather load/scatter store In-Reply-To: References: <5350A269-D761-47DD-A87C-DDBDB5AF6C0E@oracle.com> Message-ID: Thank you this looks better. The fragility of the renamed method lowerHalfTrueMask still makes me uncomfortable. 3038 IntVector vix; 3039 if (isp.laneCount() != vsp.laneCount()) { 3040 // For DoubleMaxVector, if vector length is 2048 bits, indexShape 3041 // of Double species is S_MAX_BIT. and the lane count of Double 3042 // vector is 32. When converting Double species to int species, 3043 // indexShape is still S_MAX_BIT, but the lane count of int vector 3044 // is 64. So when loading index vector (IntVector), only lower half 3045 // of index data is needed. 3046 vix = IntVector 3047 .fromArray(isp, indexMap, mapOffset, vsp.lowerHalfTrueMask()) 3048 .add(offset); 3049 } else { When "isp.laneCount() != vsp.laneCount()? is true then I assume its always the case that the species vector type is DoubleMaxVector. Is there anyway we could make this more explicit? Can we refer directly to IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK as in: assert vsp.vectorType() == DoubleMaxVector.class ... .fromArray(isp, indexMap, mapOffset, IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK) ? Paul. > On Mar 4, 2020, at 11:07 PM, Yang Zhang wrote: > > Hi Paul > > Thanks for your review. I have updated the patch. Please check it. > http://cr.openjdk.java.net/~yzhang/vectorapi/vectorapi.2048npow/webrev.01/ > > Regards > Yang > > -----Original Message----- > From: Paul Sandoz > Sent: Wednesday, March 4, 2020 10:14 AM > To: Yang Zhang > Cc: panama-dev at openjdk.java.net > Subject: Re: [vector] RFR: Support non power-of-two and 2048-bit vector length for gather load/scatter store > > Hi, > > Than you for applying some consistency to these operations. > > > VectorShape > ? > > Can you add a @throws to the JavaDoc of forIndexBitSize and also forBitSize? > > > ByteVector & ShortVector > ? > > Also change the mask accepting gather implementation to use the internal mask accepting stOp. That implementation currently fails if any of the mask bits are not set. > > > X-Vector.java.template > ? > > 4389 #if[longOrDouble] > 4390 > 4391 // Mask for gather load > 4392 @ForceInline > 4393 public final VectorMask gatherMask() { > 4394 if ((Class) vectorType() == $Type$MaxVector.class) { > 4395 return IntMaxVector.IntMaxMask.GATHER_MASK; > 4396 } > 4397 throw new AssertionError(); > 4398 } > 4399 #end[longOrDouble] > > Hmm.. I am unsure about this since it?s a general method (should be package private) but only works in the case of when the vector type is of the max vector. > > Is there a better way to surface this up since presumably this is called only when the vector type is of max vector? Maybe be more explicit in the case of "isp.laneCount() != vsp.laneCount()?? > > > X-VectorBits.java > ? > > 699 #if[intAndMax] > 700 static final IntMaxMask GATHER_MASK = new IntMaxMask(maskLowerHalf()); > 701 #end[intAndMax] > > LOWER_HALF_TRUE_MASK is a wordier but more accurate description. > > Paul. > >> On Feb 13, 2020, at 10:32 PM, Yang Zhang wrote: >> >> Hi, >> >> I'm adding support non power-of-two and 2048-bit vector length for gather load/scatter store. >> Could you please help to review it? >> >> Webrev: >> http://cr.openjdk.java.net/~yzhang/vectorapi/vectorapi.2048npow/webrev >> .00/index.html >> No new failures with a full jtreg. >> >> In this patch, I made the following changes. >> 1. For gather load/scatter store, int array is used for index map. New index shape calculation function is added. >> For AArch64 SVE, the maximum of index bit size is (2048/elementSize) * 32. >> Index increments is (128/elementSize) * 32. So that new index shape calculation function is added. >> >> 2. Use a gather mask to control index vector loading for long/double gather load/scatter store. >> When vector length is 2048 or non-power-of-two, e.g. SVE, there are >> index out of bounds failures in long/double gather load test cases. >> Take 2048 as an example, in long gather load (fromArray), indexShape >> of long species is S_MAX_BIT, and the lane count of long vector is 32. >> When converting long species to int species, indexShape of int species >> is still S_MAX_BIT, but the lane count of int vector is 64. So when >> loading index vector (IntVector), unnecessary index data is loaded. >> If current vector is the tail, out of bounds failure happens. >> >> This failure is only for SVE. For X86, the reason why there isn't such >> failure is that: >> i) Byte/Short gather loads aren't intrinsified. >> ii) For X86 AVX512, indexShape(int index map, 8 elements) of >> long512/double512 >> (8 elements) is initialized as S_256_BIT. For SVE with 512-bit vector >> length, indexShape is initialized as S_256_BIT too. But for SVE >> 2048-bit and non-power-of-two, there will be failures above. >> >> 3. Gather load and scatter store is a pair of similar operations. One solution should be applied to them. >> The original java implementations of gather load and scatter store are different. >> >> Vector gather load scatter store >> Int or float With intrinsification With intrinsification >> Long or Double With intrinsification With intrinsification >> Get indexShape directly Get indexShape indirectly >> Normal index loading Special controlled index loading >> Byte or short Without intrinsification With intrinsification, no instruction support on x86/arm >> >> I think gather load and scatter store is a pair of similar operations. One solution should be applied to them. >> Based on above, I use a simple implementation for them. >> Vector gather load/scatter store >> Int or float With intrinsification >> Long or Double With intrinsification >> Get indexShape directly >> Special controlled index loading >> Byte or short Without intrinsification >> If any problem, please let me know. >> >> 4. Some assertions that vector length is power of two are removed. >> 5. Add comments for gather load intrinsification. >> >> Regards, >> Yang >> >> > > IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. From sundar at openjdk.java.net Thu Mar 5 17:28:03 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Thu, 5 Mar 2020 17:28:03 GMT Subject: [foreign-jextract] RFR: Improve jextract error reporting In-Reply-To: References: Message-ID: On Thu, 5 Mar 2020 15:17:56 GMT, Jorn Vernee wrote: > Hi, > > I spent the last couple of days tracking down a crash I was seeing sometimes when running jextract. In the process I ended up doing several improvements to jextract's error checking and reporting, that I think are useful to keep in the long run. > > The changes include: > - Using `clang_parseTranslationUnit2` to parse, since that returns an error code, instead of a null translation unit. This also means we can still process diagnostic for the returned translation unit (now returned in a buffer). > - Checking the return codes for `clang_parseTranslationUnit2`, `clang_saveTranslationUnit`, and `clang_reparseTranslationUnit` (using a proper enum) and throwing an exception in case they are erroneous. > - Catching BadMacroException instead of Throwable in the macro parser. We only care about the former, and catching Throwable could lead to too many exceptions being eaten. Technically, if there is an unknown exception, we could just skip the macro, but this isn't always the right strategy. For example, when re-parsing fails the used translation unit becomes invalid, so we really need to do something else than just skipping the macro in that case (to be addressed in another patch https://bugs.openjdk.java.net/browse/JDK-8240614). Imo it's better to just crash than to skip when we encounter an unknwon exception, so that we're more likely to find issues. > - Enabling libclang crash recovery by default. By default the crash recovery was being disabled. This leads to the process exiting with OS exception code. If we enable this however, it will instead try to return an error code from the libclang call, which we can then check for and handle the failure however we want. > > Thanks, > Jorn Marked as reviewed by sundar (Committer). src/jdk.incubator.jextract/share/classes/jdk/internal/clang/SaveError.java line 59: > 58: public static SaveError valueOf(int code) { > 59: return lookup.computeIfAbsent(code, k -> { throw new NoSuchElementException("No SaveError with code: " + k); }); > 60: } Do we need this computeIfAbsent with lambda? All we do is to throw exception always if key is not found. src/jdk.incubator.jextract/share/classes/jdk/internal/clang/TranslationUnit.java line 67: > 66: if (res != SaveError.None) { > 67: throw new TranslationUnitSaveException(path); > 68: } Would it be useful to store the SaveError kind in TranslationUnitSaveException? src/jdk.incubator.jextract/share/classes/jdk/internal/clang/LibClang.java line 38: > 37: Index index = new Index(Index_h.clang_createIndex(local ? 1 : 0, 0)); > 38: Index_h.clang_toggleCrashRecovery(NO_CRASH_RECOVERY ? 0 : 1); > 39: if (DEBUG && NO_CRASH_RECOVERY) { I vaguely recall a specific reason for this default. Maurizio may recall about this ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/40 From jvernee at openjdk.java.net Thu Mar 5 17:42:05 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Thu, 5 Mar 2020 17:42:05 GMT Subject: [foreign-jextract] RFR: Improve jextract error reporting In-Reply-To: References: Message-ID: On Thu, 5 Mar 2020 17:22:06 GMT, Athijegannathan Sundararajan wrote: >> Hi, >> >> I spent the last couple of days tracking down a crash I was seeing sometimes when running jextract. In the process I ended up doing several improvements to jextract's error checking and reporting, that I think are useful to keep in the long run. >> >> The changes include: >> - Using `clang_parseTranslationUnit2` to parse, since that returns an error code, instead of a null translation unit. This also means we can still process diagnostic for the returned translation unit (now returned in a buffer). >> - Checking the return codes for `clang_parseTranslationUnit2`, `clang_saveTranslationUnit`, and `clang_reparseTranslationUnit` (using a proper enum) and throwing an exception in case they are erroneous. >> - Catching BadMacroException instead of Throwable in the macro parser. We only care about the former, and catching Throwable could lead to too many exceptions being eaten. Technically, if there is an unknown exception, we could just skip the macro, but this isn't always the right strategy. For example, when re-parsing fails the used translation unit becomes invalid, so we really need to do something else than just skipping the macro in that case (to be addressed in another patch https://bugs.openjdk.java.net/browse/JDK-8240614). Imo it's better to just crash than to skip when we encounter an unknwon exception, so that we're more likely to find issues. >> - Enabling libclang crash recovery by default. By default the crash recovery was being disabled. This leads to the process exiting with OS exception code. If we enable this however, it will instead try to return an error code from the libclang call, which we can then check for and handle the failure however we want. >> >> Thanks, >> Jorn > > src/jdk.incubator.jextract/share/classes/jdk/internal/clang/TranslationUnit.java line 67: > >> 66: if (res != SaveError.None) { >> 67: throw new TranslationUnitSaveException(path); >> 68: } > > Would it be useful to store the SaveError kind in TranslationUnitSaveException? Yes, good idea. > src/jdk.incubator.jextract/share/classes/jdk/internal/clang/SaveError.java line 59: > >> 58: public static SaveError valueOf(int code) { >> 59: return lookup.computeIfAbsent(code, k -> { throw new NoSuchElementException("No SaveError with code: " + k); }); >> 60: } > > Do we need this computeIfAbsent with lambda? All we do is to throw exception always if key is not found. `Map` doesn't have a `getOrThrow`, but `computeIfAbsent` effectively works the same way. The alternative would be `get` plus null check. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/40 From jvernee at openjdk.java.net Thu Mar 5 17:51:43 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Thu, 5 Mar 2020 17:51:43 GMT Subject: [foreign-jextract] RFR: Improve jextract error reporting In-Reply-To: References: Message-ID: On Thu, 5 Mar 2020 17:25:43 GMT, Athijegannathan Sundararajan wrote: >> Hi, >> >> I spent the last couple of days tracking down a crash I was seeing sometimes when running jextract. In the process I ended up doing several improvements to jextract's error checking and reporting, that I think are useful to keep in the long run. >> >> The changes include: >> - Using `clang_parseTranslationUnit2` to parse, since that returns an error code, instead of a null translation unit. This also means we can still process diagnostic for the returned translation unit (now returned in a buffer). >> - Checking the return codes for `clang_parseTranslationUnit2`, `clang_saveTranslationUnit`, and `clang_reparseTranslationUnit` (using a proper enum) and throwing an exception in case they are erroneous. >> - Catching BadMacroException instead of Throwable in the macro parser. We only care about the former, and catching Throwable could lead to too many exceptions being eaten. Technically, if there is an unknown exception, we could just skip the macro, but this isn't always the right strategy. For example, when re-parsing fails the used translation unit becomes invalid, so we really need to do something else than just skipping the macro in that case (to be addressed in another patch https://bugs.openjdk.java.net/browse/JDK-8240614). Imo it's better to just crash than to skip when we encounter an unknwon exception, so that we're more likely to find issues. >> - Enabling libclang crash recovery by default. By default the crash recovery was being disabled. This leads to the process exiting with OS exception code. If we enable this however, it will instead try to return an error code from the libclang call, which we can then check for and handle the failure however we want. >> >> Thanks, >> Jorn > > Marked as reviewed by sundar (Committer). Wrt the crash recovery; It seems to work reliably on Windows, so I think we should at least turn it on there, since the alternative is having a jextract that crashes quite frequently on Windows (maybe 1 in 5 runs, depending on the header contents). ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/40 From henryjen at openjdk.java.net Thu Mar 5 17:54:42 2020 From: henryjen at openjdk.java.net (Henry Jen) Date: Thu, 5 Mar 2020 17:54:42 GMT Subject: [foreign-jextract] RFR: Improve jextract error reporting In-Reply-To: References: Message-ID: On Thu, 5 Mar 2020 15:17:56 GMT, Jorn Vernee wrote: > Hi, > > I spent the last couple of days tracking down a crash I was seeing sometimes when running jextract. In the process I ended up doing several improvements to jextract's error checking and reporting, that I think are useful to keep in the long run. > > The changes include: > - Using `clang_parseTranslationUnit2` to parse, since that returns an error code, instead of a null translation unit. This also means we can still process diagnostic for the returned translation unit (now returned in a buffer). > - Checking the return codes for `clang_parseTranslationUnit2`, `clang_saveTranslationUnit`, and `clang_reparseTranslationUnit` (using a proper enum) and throwing an exception in case they are erroneous. > - Catching BadMacroException instead of Throwable in the macro parser. We only care about the former, and catching Throwable could lead to too many exceptions being eaten. Technically, if there is an unknown exception, we could just skip the macro, but this isn't always the right strategy. For example, when re-parsing fails the used translation unit becomes invalid, so we really need to do something else than just skipping the macro in that case (to be addressed in another patch https://bugs.openjdk.java.net/browse/JDK-8240614). Imo it's better to just crash than to skip when we encounter an unknwon exception, so that we're more likely to find issues. > - Enabling libclang crash recovery by default. By default the crash recovery was being disabled. This leads to the process exiting with OS exception code. If we enable this however, it will instead try to return an error code from the libclang call, which we can then check for and handle the failure however we want. > > Thanks, > Jorn Looks good, my only concern is the disable clang crash recovery default was disabled but now default to enable. The past experience is that crash recovery cause JVM crash from time to time, so unless we are certain that situation changes and should be default to enable, perhaps we should just default to disable as before. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/40 From sandhya.viswanathan at intel.com Fri Mar 6 00:34:43 2020 From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya) Date: Fri, 6 Mar 2020 00:34:43 +0000 Subject: [vector] Stop leakage of internal APIs In-Reply-To: References: Message-ID: Hi Paul, The changes look good to me. Best Regards, Sandhya -----Original Message----- From: panama-dev On Behalf Of Paul Sandoz Sent: Wednesday, March 04, 2020 3:10 PM To: panama-dev at openjdk.java.net Subject: [vector] Stop leakage of internal APIs Hi, This patch stops the leakage of package private Abstract* classes into the public API: http://cr.openjdk.java.net/~psandoz/panama/vector-internal-api-leakage/webrev/ This applies to: 1) public methods overridden by the abstract classes that are not themselves fully overridden by further public subclasses; and 2) those methods return a type of that is a package private abstract class. This primarily affects Vector. AbstractVector and public subclasses, such as DoubleVector. I also made changes to species, shuffle, and mask classes for consistency even though there are no public subclasses. Paul. From sundar at openjdk.java.net Fri Mar 6 02:52:34 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Fri, 6 Mar 2020 02:52:34 GMT Subject: [foreign-jextract] RFR: Improve jextract error reporting In-Reply-To: References: Message-ID: On Thu, 5 Mar 2020 17:52:25 GMT, Henry Jen wrote: >> Hi, >> >> I spent the last couple of days tracking down a crash I was seeing sometimes when running jextract. In the process I ended up doing several improvements to jextract's error checking and reporting, that I think are useful to keep in the long run. >> >> The changes include: >> - Using `clang_parseTranslationUnit2` to parse, since that returns an error code, instead of a null translation unit. This also means we can still process diagnostic for the returned translation unit (now returned in a buffer). >> - Checking the return codes for `clang_parseTranslationUnit2`, `clang_saveTranslationUnit`, and `clang_reparseTranslationUnit` (using a proper enum) and throwing an exception in case they are erroneous. >> - Catching BadMacroException instead of Throwable in the macro parser. We only care about the former, and catching Throwable could lead to too many exceptions being eaten. Technically, if there is an unknown exception, we could just skip the macro, but this isn't always the right strategy. For example, when re-parsing fails the used translation unit becomes invalid, so we really need to do something else than just skipping the macro in that case (to be addressed in another patch https://bugs.openjdk.java.net/browse/JDK-8240614). Imo it's better to just crash than to skip when we encounter an unknwon exception, so that we're more likely to find issues. >> - Enabling libclang crash recovery by default. By default the crash recovery was being disabled. This leads to the process exiting with OS exception code. If we enable this however, it will instead try to return an error code from the libclang call, which we can then check for and handle the failure however we want. >> >> Thanks, >> Jorn > > Looks good, my only concern is the disable clang crash recovery default was disabled but now default to enable. > > The past experience is that crash recovery cause JVM crash from time to time, so unless we are certain that situation changes and should be default to enable, perhaps we should just default to disable as before. > Looks good, my only concern is the disable clang crash recovery default was disabled but now default to enable. > > The past experience is that crash recovery cause JVM crash from time to time, so unless we are certain that situation changes and should be default to enable, perhaps we should just default to disable as before. I agree with Henry. It's better to restore the default but make it configurable via system property. Having different defaults on different platforms would be confusing to the user. Because it is configurable, we can try the config for debugging on any platform. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/40 From sundar at openjdk.java.net Fri Mar 6 08:57:01 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Fri, 6 Mar 2020 08:57:01 GMT Subject: [foreign-jextract] RFR: 8240657: when Java keywords are used as identifiers in C header, jextract generates non-compilable java code Message-ID: If java keywords are found to be used as C identifiers, "_" is appended. ------------- Commits: - 4d3b20a1: 8240657: when Java keywords are used as identifiers in C header, jextract generates non-compilable java code Changes: https://git.openjdk.java.net/panama-foreign/pull/41/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/41/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8240657 Stats: 117 lines in 3 files changed: 107 ins; 1 del; 9 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/41.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/41/head:pull/41 PR: https://git.openjdk.java.net/panama-foreign/pull/41 From Yang.Zhang at arm.com Fri Mar 6 10:50:14 2020 From: Yang.Zhang at arm.com (Yang Zhang) Date: Fri, 6 Mar 2020 10:50:14 +0000 Subject: [vector] RFR: Support non power-of-two and 2048-bit vector length for gather load/scatter store In-Reply-To: References: <5350A269-D761-47DD-A87C-DDBDB5AF6C0E@oracle.com> Message-ID: >When "isp.laneCount() != vsp.laneCount()? is true then I assume its always the case that the species vector type is DoubleMaxVector. >Is there anyway we could make this more explicit? >Can we refer directly to IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK as in: > assert vsp.vectorType() == DoubleMaxVector.class > ....... > .fromArray(isp, indexMap, mapOffset, IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK) When "isp.laneCount() != vsp.laneCount()? is true, it means that DoubleMaxVector is non-power-of-two or 2048 etc. 128, 256, 512 are excluded. Because when vsp.vectorShap is 128/256/512, isp. vectorShape can be initialized as 64/128/256. "assert vsp.vectorType() == DoubleMaxVector.class" doesn't exclude 128/256/512. There are test failures in Double/LongMaxVectorTests. test DoubleMaxVectorTests.gatherDoubleMaxVectorTests(double[-i * 5], index[random]): failure java.lang.ClassCastException: class jdk.incubator.vector.IntMaxVector$IntMaxMask cannot be cast to class jdk.incubator.vector.Int128Vector$Int128Mask IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK can be used here, so method lowerHalfTrueMask can be removed. Please check this update. http://cr.openjdk.java.net/~yzhang/vectorapi/vectorapi.2048npow/webrev.02/ Regards Yang -----Original Message----- From: Paul Sandoz Sent: Friday, March 6, 2020 12:35 AM To: Yang Zhang Cc: panama-dev at openjdk.java.net Subject: Re: [vector] RFR: Support non power-of-two and 2048-bit vector length for gather load/scatter store Thank you this looks better. The fragility of the renamed method lowerHalfTrueMask still makes me uncomfortable. 3038 IntVector vix; 3039 if (isp.laneCount() != vsp.laneCount()) { 3040 // For DoubleMaxVector, if vector length is 2048 bits, indexShape 3041 // of Double species is S_MAX_BIT. and the lane count of Double 3042 // vector is 32. When converting Double species to int species, 3043 // indexShape is still S_MAX_BIT, but the lane count of int vector 3044 // is 64. So when loading index vector (IntVector), only lower half 3045 // of index data is needed. 3046 vix = IntVector 3047 .fromArray(isp, indexMap, mapOffset, vsp.lowerHalfTrueMask()) 3048 .add(offset); 3049 } else { When "isp.laneCount() != vsp.laneCount()? is true then I assume its always the case that the species vector type is DoubleMaxVector. Is there anyway we could make this more explicit? Can we refer directly to IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK as in: assert vsp.vectorType() == DoubleMaxVector.class ... .fromArray(isp, indexMap, mapOffset, IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK) ? Paul. > On Mar 4, 2020, at 11:07 PM, Yang Zhang wrote: > > Hi Paul > > Thanks for your review. I have updated the patch. Please check it. > http://cr.openjdk.java.net/~yzhang/vectorapi/vectorapi.2048npow/webrev > .01/ > > Regards > Yang > > -----Original Message----- > From: Paul Sandoz > Sent: Wednesday, March 4, 2020 10:14 AM > To: Yang Zhang > Cc: panama-dev at openjdk.java.net > Subject: Re: [vector] RFR: Support non power-of-two and 2048-bit > vector length for gather load/scatter store > > Hi, > > Than you for applying some consistency to these operations. > > > VectorShape > ? > > Can you add a @throws to the JavaDoc of forIndexBitSize and also forBitSize? > > > ByteVector & ShortVector > ? > > Also change the mask accepting gather implementation to use the internal mask accepting stOp. That implementation currently fails if any of the mask bits are not set. > > > X-Vector.java.template > ? > > 4389 #if[longOrDouble] > 4390 > 4391 // Mask for gather load > 4392 @ForceInline > 4393 public final VectorMask gatherMask() { > 4394 if ((Class) vectorType() == $Type$MaxVector.class) { > 4395 return IntMaxVector.IntMaxMask.GATHER_MASK; > 4396 } > 4397 throw new AssertionError(); > 4398 } > 4399 #end[longOrDouble] > > Hmm.. I am unsure about this since it?s a general method (should be package private) but only works in the case of when the vector type is of the max vector. > > Is there a better way to surface this up since presumably this is called only when the vector type is of max vector? Maybe be more explicit in the case of "isp.laneCount() != vsp.laneCount()?? > > > X-VectorBits.java > ? > > 699 #if[intAndMax] > 700 static final IntMaxMask GATHER_MASK = new IntMaxMask(maskLowerHalf()); > 701 #end[intAndMax] > > LOWER_HALF_TRUE_MASK is a wordier but more accurate description. > > Paul. > >> On Feb 13, 2020, at 10:32 PM, Yang Zhang wrote: >> >> Hi, >> >> I'm adding support non power-of-two and 2048-bit vector length for gather load/scatter store. >> Could you please help to review it? >> >> Webrev: >> http://cr.openjdk.java.net/~yzhang/vectorapi/vectorapi.2048npow/webre >> v >> .00/index.html >> No new failures with a full jtreg. >> >> In this patch, I made the following changes. >> 1. For gather load/scatter store, int array is used for index map. New index shape calculation function is added. >> For AArch64 SVE, the maximum of index bit size is (2048/elementSize) * 32. >> Index increments is (128/elementSize) * 32. So that new index shape calculation function is added. >> >> 2. Use a gather mask to control index vector loading for long/double gather load/scatter store. >> When vector length is 2048 or non-power-of-two, e.g. SVE, there are >> index out of bounds failures in long/double gather load test cases. >> Take 2048 as an example, in long gather load (fromArray), indexShape >> of long species is S_MAX_BIT, and the lane count of long vector is 32. >> When converting long species to int species, indexShape of int >> species is still S_MAX_BIT, but the lane count of int vector is 64. >> So when loading index vector (IntVector), unnecessary index data is loaded. >> If current vector is the tail, out of bounds failure happens. >> >> This failure is only for SVE. For X86, the reason why there isn't >> such failure is that: >> i) Byte/Short gather loads aren't intrinsified. >> ii) For X86 AVX512, indexShape(int index map, 8 elements) of >> long512/double512 >> (8 elements) is initialized as S_256_BIT. For SVE with 512-bit vector >> length, indexShape is initialized as S_256_BIT too. But for SVE >> 2048-bit and non-power-of-two, there will be failures above. >> >> 3. Gather load and scatter store is a pair of similar operations. One solution should be applied to them. >> The original java implementations of gather load and scatter store are different. >> >> Vector gather load scatter store >> Int or float With intrinsification With intrinsification >> Long or Double With intrinsification With intrinsification >> Get indexShape directly Get indexShape indirectly >> Normal index loading Special controlled index loading >> Byte or short Without intrinsification With intrinsification, no instruction support on x86/arm >> >> I think gather load and scatter store is a pair of similar operations. One solution should be applied to them. >> Based on above, I use a simple implementation for them. >> Vector gather load/scatter store >> Int or float With intrinsification >> Long or Double With intrinsification >> Get indexShape directly >> Special controlled index loading >> Byte or short Without intrinsification >> If any problem, please let me know. >> >> 4. Some assertions that vector length is power of two are removed. >> 5. Add comments for gather load intrinsification. >> >> Regards, >> Yang >> >> > > IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. From jvernee at openjdk.java.net Fri Mar 6 11:00:34 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Fri, 6 Mar 2020 11:00:34 GMT Subject: [foreign-jextract] [Rev 01] RFR: Improve jextract error reporting In-Reply-To: References: Message-ID: > Hi, > > I spent the last couple of days tracking down a crash I was seeing sometimes when running jextract. In the process I ended up doing several improvements to jextract's error checking and reporting, that I think are useful to keep in the long run. > > The changes include: > - Using `clang_parseTranslationUnit2` to parse, since that returns an error code, instead of a null translation unit. This also means we can still process diagnostic for the returned translation unit (now returned in a buffer). > - Checking the return codes for `clang_parseTranslationUnit2`, `clang_saveTranslationUnit`, and `clang_reparseTranslationUnit` (using a proper enum) and throwing an exception in case they are erroneous. > - Catching BadMacroException instead of Throwable in the macro parser. We only care about the former, and catching Throwable could lead to too many exceptions being eaten. Technically, if there is an unknown exception, we could just skip the macro, but this isn't always the right strategy. For example, when re-parsing fails the used translation unit becomes invalid, so we really need to do something else than just skipping the macro in that case (to be addressed in another patch https://bugs.openjdk.java.net/browse/JDK-8240614). Imo it's better to just crash than to skip when we encounter an unknwon exception, so that we're more likely to find issues. > - Enabling libclang crash recovery by default. By default the crash recovery was being disabled. This leads to the process exiting with OS exception code. If we enable this however, it will instead try to return an error code from the libclang call, which we can then check for and handle the failure however we want. > > Thanks, > Jorn The pull request has been updated with 1 additional commit. ------------- Added commits: - 79bacd6c: Change crash recovery option back to default to false + save error code in TranslationUnitSaveException Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/40/files - new: https://git.openjdk.java.net/panama-foreign/pull/40/files/add33e44..79bacd6c Webrevs: - full: https://webrevs.openjdk.java.net/panama-foreign/40/webrev.01 - incr: https://webrevs.openjdk.java.net/panama-foreign/40/webrev.00-01 Stats: 9 lines in 2 files changed: 3 ins; 0 del; 6 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/40.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/40/head:pull/40 PR: https://git.openjdk.java.net/panama-foreign/pull/40 From jvernee at openjdk.java.net Fri Mar 6 11:00:34 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Fri, 6 Mar 2020 11:00:34 GMT Subject: [foreign-jextract] [Rev 01] RFR: Improve jextract error reporting In-Reply-To: References: Message-ID: On Fri, 6 Mar 2020 02:50:16 GMT, Athijegannathan Sundararajan wrote: >> Looks good, my only concern is the disable clang crash recovery default was disabled but now default to enable. >> >> The past experience is that crash recovery cause JVM crash from time to time, so unless we are certain that situation changes and should be default to enable, perhaps we should just default to disable as before. > >> Looks good, my only concern is the disable clang crash recovery default was disabled but now default to enable. >> >> The past experience is that crash recovery cause JVM crash from time to time, so unless we are certain that situation changes and should be default to enable, perhaps we should just default to disable as before. > > I agree with Henry. It's better to restore the default but make it configurable via system property. Having different defaults on different platforms would be confusing to the user. Because it is configurable, we can try the config for debugging on any platform. I've uploaded another revision where I've change the default of crash recovery back to disabled, but kept the property. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/40 From duke at openjdk.java.net Fri Mar 6 11:08:32 2020 From: duke at openjdk.java.net (duke) Date: Fri, 6 Mar 2020 11:08:32 GMT Subject: git: openjdk/panama-foreign: foreign: 87 new changesets Message-ID: <7050ca00-9960-416d-9986-17c4d14dca36@openjdk.org> Changeset: ff55c490 Author: Phil Race Date: 2020-02-12 14:45:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ff55c490 8238842: AIOOBE in GIFImageReader.initializeStringTable Reviewed-by: serb, bpb ! src/java.desktop/share/classes/com/sun/imageio/plugins/gif/GIFImageReader.java + test/jdk/javax/imageio/plugins/gif/GIFCodeSizeTest.java Changeset: 7af366a7 Author: Sergey Bylokhov Date: 2020-02-13 13:17:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7af366a7 8238738: AudioSystem.getMixerInfo() takes about 30 sec to report a gone audio device Reviewed-by: prr ! src/java.desktop/windows/native/libjsound/PLATFORM_API_WinOS_DirectSound.cpp Changeset: 8d2aa62b Author: Sergey Bylokhov Date: 2020-02-13 13:19:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8d2aa62b 8221823: Requested JDialog width is ignored Reviewed-by: aivanov ! src/java.desktop/windows/classes/sun/awt/windows/WDialogPeer.java ! src/java.desktop/windows/classes/sun/awt/windows/WFramePeer.java ! src/java.desktop/windows/classes/sun/awt/windows/WWindowPeer.java ! src/java.desktop/windows/native/libawt/windows/awt_Window.cpp ! test/jdk/ProblemList.txt ! test/jdk/java/awt/Mixing/AWT_Mixing/HierarchyBoundsListenerMixingTest.java ! test/jdk/java/awt/Mixing/AWT_Mixing/MixingFrameResizing.java ! test/jdk/java/awt/Mixing/AWT_Mixing/MixingPanelsResizing.java + test/jdk/java/awt/Window/MinimumSizeDPIVariation/MinimumSizeDPIVariation.java Changeset: 784e5751 Author: Sergey Bylokhov Date: 2020-02-13 13:21:21 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/784e5751 8238741: java.awt.Robot(GraphicsDevice) constructor does not follow the spec Reviewed-by: aivanov ! src/java.desktop/share/classes/java/awt/Robot.java + test/jdk/java/awt/Headless/HeadlessRobot.java Changeset: 5705a551 Author: Sergey Bylokhov Date: 2020-02-13 13:23:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5705a551 8233827: Enable screenshots in the enhanced failure handler on Linux/macOS Reviewed-by: iignatyev ! test/failure_handler/src/share/conf/linux.properties ! test/failure_handler/src/share/conf/mac.properties Changeset: e6915ff1 Author: Phil Race Date: 2020-02-14 09:10:43 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e6915ff1 8238942: Rendering artifacts with LCD text and fractional metrics Reviewed-by: serb, jdv ! src/java.desktop/share/native/libfontmanager/freetypeScaler.c Changeset: 80f5a47b Author: Phil Race Date: 2020-02-14 10:44:30 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/80f5a47b 8239091: Reversed arguments in call to strstr in freetype "debug" code Reviewed-by: bpb ! src/java.desktop/share/native/libfontmanager/freetypeScaler.c Changeset: c6e9d209 Author: Alexander Zuev Date: 2020-02-17 20:04:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c6e9d209 8237221: [macos] java/awt/MenuBar/SeparatorsNavigation/SeparatorsNavigation.java fails Reviewed-by: serb + test/jdk/java/awt/MenuBar/SeparatorsNavigation/SeparatorsNavigation.java Changeset: 3c720426 Author: Prasanta Sadhukhan Date: 2020-02-20 14:49:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3c720426 8239334: Tab Size does not work correctly in JTextArea with setLineWrap on Reviewed-by: serb, pbansal ! src/java.desktop/share/classes/javax/swing/text/WrappedPlainView.java + test/jdk/javax/swing/JTextArea/TestTabSizeWithLineWrap.java Changeset: b5fdcb08 Author: Pankaj Bansal Date: 2020-02-21 16:31:45 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b5fdcb08 8216329: Cannot resize CheckBoxItemMenu in Synth L&F with setHorizontalTextPosition Reviewed-by: serb, psadhukhan ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicMenuItemUI.java ! src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/WindowsMenuItemUI.java + test/jdk/javax/swing/plaf/synth/SynthCheckBoxMenuItem/Check_Icon.png + test/jdk/javax/swing/plaf/synth/SynthCheckBoxMenuItem/MenuItem_Selected.png + test/jdk/javax/swing/plaf/synth/SynthCheckBoxMenuItem/TestJCheckBoxMenuItem.java Changeset: b5e16220 Author: Pankaj Bansal Date: 2020-02-21 17:00:23 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b5e16220 8153090: TAB key cannot change input focus after the radio button in the Color Selection dialog Reviewed-by: serb, psadhukhan ! src/java.desktop/share/classes/javax/swing/colorchooser/ColorPanel.java Changeset: f916df3b Author: Pankaj Bansal Date: 2020-02-21 17:09:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f916df3b 8238985: [TESTBUG] The arrow image is blue instead of green Reviewed-by: serb, psadhukhan ! test/jdk/javax/swing/JTextPane/TestJTextPaneHTMLRendering.java Changeset: fa7f53ee Author: Alexey Ivanov Date: 2020-02-25 20:00:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/fa7f53ee 8235147: Release HDC from passiveDCList sooner Reviewed-by: serb, jdv ! src/java.desktop/windows/native/libawt/windows/awt_Component.cpp ! src/java.desktop/windows/native/libawt/windows/awt_Component.h Changeset: 55768aa4 Author: Sergey Bylokhov Date: 2020-02-27 09:49:33 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/55768aa4 8239583: [AIX] simplify the native references in X input methods Reviewed-by: clanger, itakiguchi ! src/java.desktop/aix/native/libawt_xawt/awt/awt_InputMethod.c ! src/java.desktop/unix/native/common/awt/awt_p.h ! src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c Changeset: 5e912fbe Author: Sergey Bylokhov Date: 2020-02-28 16:49:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5e912fbe 8240202: A few client tests leave mouse buttons pressed Reviewed-by: prr ! test/jdk/ProblemList.txt ! test/jdk/java/awt/Mixing/AWT_Mixing/JSplitPaneOverlapping.java ! test/jdk/javax/swing/JButton/PressedButtonRightClickTest.java Changeset: bd25c0e0 Author: Christian Hagedorn Date: 2020-02-28 15:33:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/bd25c0e0 8239852: java/util/concurrent tests fail with -XX:+VerifyGraphEdges: assert(!VerifyGraphEdges) failed: verification should have failed Remove an assertion which was too strong for some valid IRs when running with -XX:+VerifyGraphEdges Reviewed-by: neliasso, thartmann ! src/hotspot/share/opto/gcm.cpp Changeset: 0cd6d13b Author: Peter Tribble Committer: Daniel D. Daugherty Date: 2020-02-28 10:16:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0cd6d13b 8240231: Build failure on illumos after 8238988 Add missing cast Reviewed-by: dcubed, shade ! src/hotspot/os_cpu/solaris_x86/thread_solaris_x86.cpp Changeset: 637795e0 Author: Lutz Schmidt Date: 2020-02-28 16:36:47 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/637795e0 8239931: [win][x86] vtable stub generation: assert failure (code size estimate) follow-up Reviewed-by: mdoerr ! src/hotspot/cpu/x86/vtableStubs_x86_32.cpp Changeset: 5afeeed5 Author: Aleksey Shipilev Date: 2020-02-28 17:59:50 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5afeeed5 8240215: Shenandoah: remove ShenandoahAllocationTrace Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: 6ad1db40 Author: Aleksey Shipilev Date: 2020-02-28 17:59:51 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6ad1db40 8240216: Shenandoah: remove ShenandoahTerminationTrace Reviewed-by: zgu ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: 8a79f267 Author: Aleksey Shipilev Date: 2020-02-28 17:59:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8a79f267 8240217: Shenandoah: remove ShenandoahEvacAssist Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: b38f3cf3 Author: Volker Simonis Date: 2020-02-28 19:49:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b38f3cf3 8240226: DeflateIn_InflateOut.java test incorrectly assumes size of compressed file Reviewed-by: martin, alanb ! test/jdk/java/util/zip/DeflateIn_InflateOut.java Changeset: 1be89d96 Author: Jonathan Gibbons Date: 2020-02-28 12:46:58 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1be89d96 8240136: Cleanup/simplify HTML/CSS for definition lists Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeOptionalMemberWriterImpl.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/HtmlDocletWriter.java ! 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/formats/html/markup/HtmlStyle.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlTree.java = test/langtools/jdk/javadoc/doclet/testExternalOverriddenMethod/TestExternalOverriddenMethod.java = test/langtools/jdk/javadoc/doclet/testExternalOverriddenMethod/package-list + test/langtools/jdk/javadoc/doclet/testExternalOverriddenMethod/pkg/XReader.java - test/langtools/jdk/javadoc/doclet/testExternalOverridenMethod/pkg/XReader.java ! test/langtools/jdk/javadoc/doclet/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java ! test/langtools/jdk/javadoc/doclet/testIndex/TestIndex.java ! test/langtools/jdk/javadoc/doclet/testInterface/TestInterface.java ! test/langtools/jdk/javadoc/doclet/testLambdaFeature/TestLambdaFeature.java ! test/langtools/jdk/javadoc/doclet/testLinkTaglet/TestLinkTaglet.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/langtools/jdk/javadoc/doclet/testPackageHtml/TestPackageHtml.java ! test/langtools/jdk/javadoc/doclet/testPrivateClasses/TestPrivateClasses.java ! test/langtools/jdk/javadoc/doclet/testSummaryTag/TestSummaryTag.java Changeset: b247e6d9 Author: Leonid Mesnik Date: 2020-02-28 13:21:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b247e6d9 8203239: [TESTBUG] remove vmTestbase/vm/gc/kind/parOld test Reviewed-by: lkorinth, shade ! test/hotspot/jtreg/TEST.quick-groups - test/hotspot/jtreg/vmTestbase/vm/gc/kind/parOld/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/gc/kind/parOld/test.sh Changeset: add146cc Author: Yumin Qi Date: 2020-02-28 15:30:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/add146cc 8236604: Optimize SystemDictionary::resolve_well_known_classes for CDS Serialize SystemDictionary::_well_known_classes into CDS and quickly resolve them at runtime in vm startup stage. Reviewed-by: iklam, coleenp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.hpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/klass.cpp Changeset: f176fae8 Author: Jie Fu Date: 2020-02-29 09:38:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f176fae8 8240254: Build is broken when cds is disabled after JDK-8236604 Reviewed-by: redestad ! src/hotspot/share/classfile/systemDictionary.hpp Changeset: 5bfb8146 Author: Yumin Qi Date: 2020-02-28 19:29:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5bfb8146 8240258: SystemDictionary::quick_resolve need guarded by INCLUDE_CDS Supplemental fix for 8236604 to guard SystemDictionary::quick_resolve with CDS Reviewed-by: iklam, ccheung ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp Changeset: 0a820d6d Author: Lin Zang Date: 2020-02-29 14:43:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0a820d6d 8239916: SA: delete dead code in jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java Reviewed-by: stefank ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java Changeset: 742bdf00 Author: Kun Wang Committer: Fei Yang Date: 2020-02-26 17:32:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/742bdf00 8239915: Zero VM crashes when handling dynamic constant Reviewed-by: dholmes ! src/hotspot/share/interpreter/bytecodeInterpreter.cpp + test/hotspot/jtreg/runtime/invokedynamic/DynamicConstantHelper.jasm + test/hotspot/jtreg/runtime/invokedynamic/TestDynamicConstant.java Changeset: 0532bd23 Author: Ioi Lam Date: 2020-03-01 17:36:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0532bd23 8240267: VM fails to start with CDS enabled but JVMTI disabled Reviewed-by: dholmes ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/systemDictionary.cpp Changeset: 65bf6185 Author: Prasanta Sadhukhan Date: 2020-03-02 10:50:33 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/65bf6185 Merge ! test/jdk/ProblemList.txt ! test/jdk/ProblemList.txt Changeset: 751de037 Author: Rajan Halade Date: 2020-03-01 23:04:02 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/751de037 8225130: Add exception for expiring Comodo roots to VerifyCACerts test Reviewed-by: weijun ! test/jdk/sun/security/lib/cacerts/VerifyCACerts.java Changeset: ebadfaeb Author: Claes Redestad Date: 2020-03-02 08:22:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ebadfaeb 8196334: Optimize UUID#fromString Co-authored-by: Andriy Plokhotnyuk Co-authored-by: Jon Chambers Reviewed-by: igerasim, alanb ! src/java.base/share/classes/java/util/UUID.java ! test/jdk/java/util/UUID/UUIDTest.java + test/micro/org/openjdk/bench/java/util/UUIDBench.java Changeset: d7b122ed Author: Christian Hagedorn Date: 2020-03-02 10:23:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d7b122ed 8238438: SuperWord::co_locate_pack picks memory state of first instead of last load Fix selection of first and last memory state in SuperWord::co_locate_pack Reviewed-by: thartmann, kvn ! src/hotspot/share/opto/superword.cpp ! src/hotspot/share/opto/superword.hpp + test/hotspot/jtreg/compiler/loopopts/superword/CoLocatePackMemoryState.java Changeset: ac60e4b9 Author: Stefan Karlsson Date: 2020-03-02 12:30:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ac60e4b9 8240220: IdealLoopTree::dump_head predicate printing is broken Reviewed-by: thartmann, neliasso, chagedorn ! src/hotspot/share/opto/loopnode.cpp Changeset: 14913407 Author: Stefan Karlsson Date: 2020-03-02 12:30:59 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/14913407 8240223: Use consistent predicate order in and with PhaseIdealLoop::find_predicate Reviewed-by: thartmann, neliasso, chagedorn ! src/hotspot/share/opto/loopUnswitch.cpp ! src/hotspot/share/opto/loopnode.cpp Changeset: 84f3e867 Author: Martin Balao Date: 2020-02-05 12:20:36 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/84f3e867 8238555: Allow Initialization of SunPKCS11 with NSS when there are external FIPS modules in the NSSDB Reviewed-by: mullan, valeriep ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Secmod.java Changeset: 6bb05362 Author: Harold Seigel Date: 2020-03-02 16:10:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6bb05362 8239568: [TESTBUG] LoadLibraryTest.java fails with RuntimeException Throw jtreg.SkippedException instead of failing if shared library isn't unloaded Reviewed-by: coleenp, lmesnik - test/hotspot/jtreg/runtime/logging/loadLibraryTest/LoadLibrary.java ! test/hotspot/jtreg/runtime/logging/loadLibraryTest/LoadLibraryTest.java ! test/hotspot/jtreg/runtime/logging/loadLibraryTest/libLoadLibraryClass.c Changeset: e455d382 Author: Patrick Concannon Date: 2020-03-02 16:47:51 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e455d382 8234812: Add micros for DatagramChannel send/receive Benchmarks for the DatagramChannel::send and DatagramChannel::receive methods Reviewed-by: alanb, chegar + test/micro/org/openjdk/bench/java/nio/DatagramChannelSendReceive.java Changeset: c280d98e Author: Lois Foltan Date: 2020-03-02 18:42:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c280d98e 8237766: Enhance signature API to include ResolvingSignatureStream New ResolvingSignatureStream class provides the capability to easily walk through the differing parts of a signature while resolving or querying its underlying types. Co-authored-by: John Rose Reviewed-by: coleenp, fparain, hseigel ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/runtime/reflection.cpp ! src/hotspot/share/runtime/signature.cpp ! src/hotspot/share/runtime/signature.hpp Changeset: 96b61b8f Author: Kim Barrett Date: 2020-03-02 14:45:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/96b61b8f 8240246: Avoid cast_to_oop from char* Change type of gtest object from char[] to unsigned char[]. Reviewed-by: dholmes ! test/hotspot/gtest/oops/test_oop.cpp Changeset: 35ee1cb2 Author: Mikhailo Seledtsov Date: 2020-03-02 12:16:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/35ee1cb2 8236938: [TESTBUG] JFR event MetaspaceAllocationFailure is not tested New test for MetaspaceAllocationFailure Reviewed-by: hseigel, stuefe ! test/hotspot/jtreg/runtime/Metaspace/FragmentMetaspace.java - test/hotspot/jtreg/runtime/testlibrary/GeneratedClassLoader.java + test/jdk/jdk/jfr/event/runtime/TestMetaspaceAllocationFailure.java + test/lib/jdk/test/lib/classloader/GeneratingCompilingClassLoader.java Changeset: c42de933 Author: David Holmes Date: 2020-03-02 19:49:42 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c42de933 8238676: jni crashes on accessing it from process exit hook Reviewed-by: fparain, gziemski ! make/test/JtregNativeHotspot.gmk ! src/hotspot/share/prims/jni.cpp + test/hotspot/jtreg/runtime/jni/atExit/TestAtExit.java + test/hotspot/jtreg/runtime/jni/atExit/libatExit.c Changeset: 26a7b0dd Author: Prasanta Sadhukhan Date: 2020-03-03 13:31:33 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/26a7b0dd Merge Changeset: 908a9331 Author: Nils Eliasson Date: 2020-03-03 10:29:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/908a9331 8238759: Clones should always keep the base pointer Reviewed-by: rkennke, thartmann ! src/hotspot/share/gc/shared/c2/barrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/opto/arraycopynode.cpp ! test/hotspot/jtreg/compiler/arguments/TestStressReflectiveCode.java Changeset: 2a791467 Author: Volker Simonis Date: 2020-03-03 11:24:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2a791467 8240235: jdk.test.lib.util.JarUtils updates jar files incorrectly Reviewed-by: martin, clanger, lancea ! test/lib/jdk/test/lib/util/JarUtils.java Changeset: 3fdf26d8 Author: Claes Redestad Date: 2020-03-03 11:40:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3fdf26d8 8240302: x64: Assembler::reachable redundantly call Relocation::type() more than once Reviewed-by: kvn, iklam, thartmann ! src/hotspot/cpu/x86/assembler_x86.cpp Changeset: 52cfd292 Author: Claes Redestad Date: 2020-03-03 12:41:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/52cfd292 8240263: Assertion-only call in Method::link_method affecting product builds Reviewed-by: shade, dcubed, iklam ! src/hotspot/share/oops/method.cpp Changeset: cf89ff7a Author: Harold Seigel Date: 2020-03-03 15:50:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/cf89ff7a 8240324: Improve is_boot_class_loader_data() by adding simple check Check if cld is the null_cld before looking at the class loader oop Reviewed-by: coleenp ! src/hotspot/share/classfile/classLoaderData.inline.hpp Changeset: 3ca275fb Author: Coleen Phillimore Date: 2020-03-03 11:19:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3ca275fb 8225760: oop::raw_set_obj isn't needed Reviewed-by: hseigel, rkennke ! src/hotspot/share/oops/oopsHierarchy.hpp Changeset: ea55699f Author: Fairoz Matte Date: 2020-02-27 19:33:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ea55699f 8239055: Wrong implementation of VMState.hasListener Correct the VMState.hasListener implementation to return WeakReference type Reviewed-by: sspitsyn, poonam ! src/jdk.jdi/share/classes/com/sun/tools/jdi/VMState.java Changeset: 467ee78a Author: Mikhailo Seledtsov Date: 2020-03-03 12:43:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/467ee78a 8235206: JFR TestCrossProcessStreaming - validate that data can be consumed while it is being produced Updated test to validate concurrent produce/consume Reviewed-by: egahlin ! test/jdk/jdk/jfr/api/consumer/streaming/TestCrossProcessStreaming.java Changeset: 89448a83 Author: Xue-Lei Andrew Fan Date: 2020-03-03 15:57:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/89448a83 8233619: SSLEngine handshake status immediately after the handshake can be NOT_HANDSHAKING rather than FINISHED with TLSv1.3 Reviewed-by: jnimeh ! src/java.base/share/classes/sun/security/ssl/Finished.java ! src/java.base/share/classes/sun/security/ssl/NewSessionTicket.java ! src/java.base/share/classes/sun/security/ssl/PostHandshakeContext.java + test/jdk/javax/net/ssl/SSLEngine/FinishedPresent.java Changeset: 1e796eae Author: Roland Westrelin Date: 2020-02-21 15:01:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1e796eae 8239367: RunThese30M.java failed due to "assert(false) failed: graph should be schedulable" Reviewed-by: thartmann, vlivanov, neliasso ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/graphKit.cpp + test/hotspot/jtreg/compiler/types/TestSubTypeCheckMacroNodeWrongMem.java Changeset: 86ad1950 Author: Roland Westrelin Date: 2020-02-20 16:41:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/86ad1950 8238384: CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found" Reviewed-by: vlivanov, thartmann ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/gcm.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/macro.hpp ! src/hotspot/share/opto/macroArrayCopy.cpp ! src/hotspot/share/opto/type.hpp + test/hotspot/jtreg/compiler/escapeAnalysis/TestCopyOfBrokenAntiDependency.java Changeset: 8e74ed46 Author: Alexey Bakhtin Committer: Andrew Brygin Date: 2020-03-03 13:06:50 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8e74ed46 8239787: AArch64: String.indexOf may incorrectly handle empty strings Reviewed-by: aph, lmesnik, yan ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp + test/hotspot/jtreg/runtime/StringIntrinsic/StringIndexOfChar.java Changeset: b3666b94 Author: Aleksey Shipilev Date: 2020-03-04 11:50:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b3666b94 8240511: Shenandoah: parallel safepoint workers count should be ParallelGCThreads Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp - test/hotspot/jtreg/gc/shenandoah/options/TestSafepointWorkers.java Changeset: 9d57eefe Author: Jan Lahoda Date: 2020-03-04 13:43:25 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9d57eefe 8239575: javadoc triggers javac AssertionError for annos on modules Ensure ModuleSymbols are implicitly loaded only once in the javadoc context. Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/ModuleFinder.java ! test/langtools/jdk/javadoc/tool/modules/Modules.java Changeset: 0c998388 Author: Jan Lahoda Date: 2020-03-04 13:43:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0c998388 8228451: NPE in Attr.java when -XDshould-stop.ifError=FLOW Avoiding parsing of compound assignment as a type. Reviewed-by: jjg, vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/langtools/tools/javac/parser/JavacParserTest.java Changeset: e44dcf09 Author: Jan Lahoda Date: 2020-03-04 13:43:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e44dcf09 8234896: Tab completion does not work for method references in jshell Reviewed-by: rfield ! src/jdk.jshell/share/classes/jdk/jshell/SourceCodeAnalysisImpl.java ! test/langtools/jdk/jshell/CompletionSuggestionTest.java Changeset: aa547959 Author: Andy Herrick Date: 2020-03-03 17:58:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/aa547959 8237967: No proper error message when --runtime-image points to non-existent path Reviewed-by: kizune, asemenyuk, almatvee ! src/jdk.incubator.jpackage/share/classes/jdk/incubator/jpackage/internal/DeployParams.java ! src/jdk.incubator.jpackage/share/classes/jdk/incubator/jpackage/internal/resources/MainResources.properties ! src/jdk.incubator.jpackage/share/classes/jdk/incubator/jpackage/internal/resources/MainResources_ja.properties ! src/jdk.incubator.jpackage/share/classes/jdk/incubator/jpackage/internal/resources/MainResources_zh_CN.properties ! test/jdk/tools/jpackage/share/InvalidArgTest.java Changeset: ef4053ee Author: Andy Herrick Date: 2020-03-03 18:07:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ef4053ee 8237966: Creating runtime pkg requires --mac-package-identifier Reviewed-by: kizune, asemenyuk, almatvee ! src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/MacPkgBundler.java Changeset: 128f0833 Author: Andy Herrick Date: 2020-03-03 18:10:15 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/128f0833 8238692: MacOS runtime Installer issue Reviewed-by: kizune, asemenyuk, almatvee ! src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/MacAppImageBuilder.java ! src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/MacPkgBundler.java ! src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/resources/MacResources.properties Changeset: ff843fab Author: Volker Simonis Date: 2020-03-04 14:55:43 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ff843fab 8240333: jmod incorrectly updates .jar and .jmod files during hashing Reviewed-by: martin, alanb, lancea ! src/jdk.jlink/share/classes/jdk/tools/jmod/JmodOutputStream.java ! src/jdk.jlink/share/classes/jdk/tools/jmod/JmodTask.java Changeset: 01ef6d79 Author: Aleksey Shipilev Date: 2020-03-04 19:23:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/01ef6d79 8240534: Shenandoah: ditch debug safepoint timeout adjustment Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp Changeset: edb59b58 Author: Jonathan Gibbons Date: 2020-03-04 12:58:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/edb59b58 8239817: Eliminate use of contentContainer and friends Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractOverviewIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractTreeWriter.java ! 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/ClassUseWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstantsSummaryWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DeprecatedListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DocFilesHandlerImpl.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/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/PackageTreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageUseWriter.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/SerializedFormWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SingleIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SplitIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SubWriterHolderWriter.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/TreeWriter.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/testHtmlLandmarkRegions/TestHtmlLandmarkRegions.java ! test/langtools/jdk/javadoc/doclet/testHtmlTag/TestHtmlTag.java ! test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testOverview/TestOverview.java Changeset: 5229896f Author: Calvin Cheung Date: 2020-03-04 15:34:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5229896f 8240481: Remove CDS usage of InstanceKlass::is_in_error_state Track the classes which fail verification during CDS dumping in DumpTimeSharedClassInfo. Reviewed-by: iklam, minqi ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.hpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp Changeset: 10b09c79 Author: Jesper Wilhelmsson Date: 2020-03-05 02:02:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/10b09c79 Added tag jdk-15+13 for changeset 1c06a8ee8aca ! .hgtags Changeset: 6cb2e02a Author: Yumin Qi Date: 2020-03-04 21:29:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6cb2e02a 8240546: runtime/cds/appcds/TestZGCWithCDS.java fails with Graal Test failed since Graal does not work with ZGC, fixed in test to skip Graal if ZGC. Reviewed-by: ccheung ! test/hotspot/jtreg/runtime/cds/appcds/TestZGCWithCDS.java Changeset: 7ba18fc0 Author: Ioi Lam Date: 2020-03-04 22:26:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7ba18fc0 8240244: Avoid calling resolve_super_or_fail in SystemDictionary::load_shared_class Reviewed-by: redestad, lfoltan, minqi ! src/hotspot/share/classfile/classListParser.cpp ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/classfile/classLoaderExt.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/memory/dynamicArchive.cpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp Changeset: d1818942 Author: Qi Feng Committer: Ningsheng Jian Date: 2020-03-05 14:51:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d1818942 8240286: [TESTBUG] Test command error in hotspot/jtreg/compiler/loopopts/superword/SumRedAbsNeg_Float.java Reviewed-by: kvn, thartmann ! test/hotspot/jtreg/compiler/loopopts/superword/SumRedAbsNeg_Float.java Changeset: b2f1f73e Author: Ravi Reddy Committer: David Buck Date: 2020-03-05 03:27:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b2f1f73e 8183369: RFC unconformity of HttpURLConnection with proxy HttpURLConnection retried with proxy if the connection fails on first attempt as per RFC Reviewed-by: chegar, dfuchs, vtewari ! src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! test/jdk/java/net/HttpURLConnection/HttpURLConWithProxy.java Changeset: 3490262a Author: Yasumasa Suenaga Date: 2020-03-05 19:46:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3490262a 8240197: Cannot start JVM when $JAVA_HOME includes CJK characters Reviewed-by: iklam, stuefe, rschmelter ! src/hotspot/os/windows/os_windows.cpp Changeset: 3ddd7b86 Author: Erik ?sterlund Date: 2020-03-05 11:12:51 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3ddd7b86 8240370: Provide Intel JCC Erratum opt-out Reviewed-by: redestad, vlivanov, thartmann ! src/hotspot/cpu/x86/globals_x86.hpp ! src/hotspot/cpu/x86/vm_version_x86.cpp Changeset: 78982f7c Author: Claes Redestad Date: 2020-03-05 13:14:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/78982f7c 8240528: OopMap cleanup Reviewed-by: kvn, thartmann ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/share/compiler/oopMap.cpp ! src/hotspot/share/compiler/oopMap.hpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/runtime/vmStructs.cpp Changeset: d75e62e1 Author: Markus Gr?nlund Date: 2020-03-05 17:55:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d75e62e1 8239376: JFR: assert(!cld->is_unsafe_anonymous()) failed: invariant Reviewed-by: coleenp, lfoltan, hseigel ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSet.cpp Changeset: db91be2e Author: Alexandre Iline Date: 2020-03-05 09:51:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/db91be2e 8240241: Add support for JCov DiffCoverage to make files Reviewed-by: erikj, ihse ! doc/testing.html ! doc/testing.md ! make/RunTests.gmk Changeset: 3607ddd5 Author: Lance Andersen Date: 2020-03-05 13:56:40 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3607ddd5 8211917: Zip FS should add META-INF/MANIFEST.FS at the start of the Zip/JAR Reviewed-by: clanger, jpai ! src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipFileSystem.java + test/jdk/jdk/nio/zipfs/testng/TEST.properties + test/jdk/jdk/nio/zipfs/testng/test/ManifestOrderTest.java + test/jdk/jdk/nio/zipfs/testng/util/ZipFsBaseTest.java Changeset: 4a32eda4 Author: Vicente Romero Date: 2020-03-05 16:46:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/4a32eda4 8240454: incorrect error message: as of release 13, 'record' is a restricted type name Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/langtools/lib/combo/tools/javac/combo/CompilationTestCase.java ! test/langtools/lib/combo/tools/javac/combo/Diagnostics.java ! test/langtools/lib/combo/tools/javac/combo/JavacTemplateTestBase.java ! test/langtools/tools/javac/records/RecordCompilationTests.java ! test/langtools/tools/javac/switchexpr/WrongYieldTest.out Changeset: 001b8056 Author: Joe Darcy Date: 2020-03-05 15:07:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/001b8056 8240624: Note mapping of RoundingMode constants to equivalent IEEE 754-2019 attribute Reviewed-by: bpb ! src/java.base/share/classes/java/math/RoundingMode.java Changeset: f456f151 Author: Doug Simon Date: 2020-03-05 16:32:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f456f151 8240538: [JVMCI] add test for JVMCI ConstantPool class Reviewed-by: kvn, iignatyev + test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/ConstantPoolTest.java Changeset: 9c6a7696 Author: Ramkumar Sunderbabu Committer: Ramkumar Sunderbabu Date: 2020-03-06 10:27:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9c6a7696 8153430: jdk regression test MletParserLocaleTest, ParserInfiniteLoopTest reduce default timeout Removed timeout=5 from the tests so that default timeout is used Reviewed-by: cjplummer ! test/jdk/javax/management/loading/MletParserLocaleTest.java ! test/jdk/javax/management/loading/ParserInfiniteLoopTest.java Changeset: f10fd7a7 Author: Matthias Baesken Date: 2020-03-05 13:12:51 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f10fd7a7 8240603: Windows 32bit compile error after 8238676 Reviewed-by: clanger, dholmes ! test/hotspot/jtreg/runtime/jni/atExit/libatExit.c Changeset: 3adad5a6 Author: Martin Doerr Date: 2020-03-06 11:04:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3adad5a6 8239856: [ntintel] asserts about copying unaligned array element Reviewed-by: stuefe, sspitsyn ! src/jdk.jdwp.agent/share/native/libjdwp/ArrayReferenceImpl.c Changeset: 25d2db06 Author: Ivan Walulya Date: 2020-03-06 11:40:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/25d2db06 8240589: OtherRegionsTable::_num_occupied not updated correctly Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/g1/heapRegionRemSet.cpp Changeset: 05b8f97b Author: duke Date: 2020-03-06 11:01:19 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/05b8f97b Automatic merge of jdk:master into master Changeset: d348a91d Author: duke Date: 2020-03-06 11:01:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d348a91d Automatic merge of master into foreign ! make/RunTests.gmk ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! make/RunTests.gmk ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp From duke at openjdk.java.net Fri Mar 6 11:14:36 2020 From: duke at openjdk.java.net (duke) Date: Fri, 6 Mar 2020 11:14:36 GMT Subject: git: openjdk/panama-foreign: master: 86 new changesets Message-ID: <1328391f-a16b-425f-a427-d42e297892f9@openjdk.org> Changeset: ff55c490 Author: Phil Race Date: 2020-02-12 14:45:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ff55c490 8238842: AIOOBE in GIFImageReader.initializeStringTable Reviewed-by: serb, bpb ! src/java.desktop/share/classes/com/sun/imageio/plugins/gif/GIFImageReader.java + test/jdk/javax/imageio/plugins/gif/GIFCodeSizeTest.java Changeset: 7af366a7 Author: Sergey Bylokhov Date: 2020-02-13 13:17:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7af366a7 8238738: AudioSystem.getMixerInfo() takes about 30 sec to report a gone audio device Reviewed-by: prr ! src/java.desktop/windows/native/libjsound/PLATFORM_API_WinOS_DirectSound.cpp Changeset: 8d2aa62b Author: Sergey Bylokhov Date: 2020-02-13 13:19:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8d2aa62b 8221823: Requested JDialog width is ignored Reviewed-by: aivanov ! src/java.desktop/windows/classes/sun/awt/windows/WDialogPeer.java ! src/java.desktop/windows/classes/sun/awt/windows/WFramePeer.java ! src/java.desktop/windows/classes/sun/awt/windows/WWindowPeer.java ! src/java.desktop/windows/native/libawt/windows/awt_Window.cpp ! test/jdk/ProblemList.txt ! test/jdk/java/awt/Mixing/AWT_Mixing/HierarchyBoundsListenerMixingTest.java ! test/jdk/java/awt/Mixing/AWT_Mixing/MixingFrameResizing.java ! test/jdk/java/awt/Mixing/AWT_Mixing/MixingPanelsResizing.java + test/jdk/java/awt/Window/MinimumSizeDPIVariation/MinimumSizeDPIVariation.java Changeset: 784e5751 Author: Sergey Bylokhov Date: 2020-02-13 13:21:21 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/784e5751 8238741: java.awt.Robot(GraphicsDevice) constructor does not follow the spec Reviewed-by: aivanov ! src/java.desktop/share/classes/java/awt/Robot.java + test/jdk/java/awt/Headless/HeadlessRobot.java Changeset: 5705a551 Author: Sergey Bylokhov Date: 2020-02-13 13:23:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5705a551 8233827: Enable screenshots in the enhanced failure handler on Linux/macOS Reviewed-by: iignatyev ! test/failure_handler/src/share/conf/linux.properties ! test/failure_handler/src/share/conf/mac.properties Changeset: e6915ff1 Author: Phil Race Date: 2020-02-14 09:10:43 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e6915ff1 8238942: Rendering artifacts with LCD text and fractional metrics Reviewed-by: serb, jdv ! src/java.desktop/share/native/libfontmanager/freetypeScaler.c Changeset: 80f5a47b Author: Phil Race Date: 2020-02-14 10:44:30 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/80f5a47b 8239091: Reversed arguments in call to strstr in freetype "debug" code Reviewed-by: bpb ! src/java.desktop/share/native/libfontmanager/freetypeScaler.c Changeset: c6e9d209 Author: Alexander Zuev Date: 2020-02-17 20:04:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c6e9d209 8237221: [macos] java/awt/MenuBar/SeparatorsNavigation/SeparatorsNavigation.java fails Reviewed-by: serb + test/jdk/java/awt/MenuBar/SeparatorsNavigation/SeparatorsNavigation.java Changeset: 3c720426 Author: Prasanta Sadhukhan Date: 2020-02-20 14:49:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3c720426 8239334: Tab Size does not work correctly in JTextArea with setLineWrap on Reviewed-by: serb, pbansal ! src/java.desktop/share/classes/javax/swing/text/WrappedPlainView.java + test/jdk/javax/swing/JTextArea/TestTabSizeWithLineWrap.java Changeset: b5fdcb08 Author: Pankaj Bansal Date: 2020-02-21 16:31:45 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b5fdcb08 8216329: Cannot resize CheckBoxItemMenu in Synth L&F with setHorizontalTextPosition Reviewed-by: serb, psadhukhan ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicMenuItemUI.java ! src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/WindowsMenuItemUI.java + test/jdk/javax/swing/plaf/synth/SynthCheckBoxMenuItem/Check_Icon.png + test/jdk/javax/swing/plaf/synth/SynthCheckBoxMenuItem/MenuItem_Selected.png + test/jdk/javax/swing/plaf/synth/SynthCheckBoxMenuItem/TestJCheckBoxMenuItem.java Changeset: b5e16220 Author: Pankaj Bansal Date: 2020-02-21 17:00:23 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b5e16220 8153090: TAB key cannot change input focus after the radio button in the Color Selection dialog Reviewed-by: serb, psadhukhan ! src/java.desktop/share/classes/javax/swing/colorchooser/ColorPanel.java Changeset: f916df3b Author: Pankaj Bansal Date: 2020-02-21 17:09:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f916df3b 8238985: [TESTBUG] The arrow image is blue instead of green Reviewed-by: serb, psadhukhan ! test/jdk/javax/swing/JTextPane/TestJTextPaneHTMLRendering.java Changeset: fa7f53ee Author: Alexey Ivanov Date: 2020-02-25 20:00:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/fa7f53ee 8235147: Release HDC from passiveDCList sooner Reviewed-by: serb, jdv ! src/java.desktop/windows/native/libawt/windows/awt_Component.cpp ! src/java.desktop/windows/native/libawt/windows/awt_Component.h Changeset: 55768aa4 Author: Sergey Bylokhov Date: 2020-02-27 09:49:33 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/55768aa4 8239583: [AIX] simplify the native references in X input methods Reviewed-by: clanger, itakiguchi ! src/java.desktop/aix/native/libawt_xawt/awt/awt_InputMethod.c ! src/java.desktop/unix/native/common/awt/awt_p.h ! src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c Changeset: 5e912fbe Author: Sergey Bylokhov Date: 2020-02-28 16:49:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5e912fbe 8240202: A few client tests leave mouse buttons pressed Reviewed-by: prr ! test/jdk/ProblemList.txt ! test/jdk/java/awt/Mixing/AWT_Mixing/JSplitPaneOverlapping.java ! test/jdk/javax/swing/JButton/PressedButtonRightClickTest.java Changeset: bd25c0e0 Author: Christian Hagedorn Date: 2020-02-28 15:33:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/bd25c0e0 8239852: java/util/concurrent tests fail with -XX:+VerifyGraphEdges: assert(!VerifyGraphEdges) failed: verification should have failed Remove an assertion which was too strong for some valid IRs when running with -XX:+VerifyGraphEdges Reviewed-by: neliasso, thartmann ! src/hotspot/share/opto/gcm.cpp Changeset: 0cd6d13b Author: Peter Tribble Committer: Daniel D. Daugherty Date: 2020-02-28 10:16:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0cd6d13b 8240231: Build failure on illumos after 8238988 Add missing cast Reviewed-by: dcubed, shade ! src/hotspot/os_cpu/solaris_x86/thread_solaris_x86.cpp Changeset: 637795e0 Author: Lutz Schmidt Date: 2020-02-28 16:36:47 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/637795e0 8239931: [win][x86] vtable stub generation: assert failure (code size estimate) follow-up Reviewed-by: mdoerr ! src/hotspot/cpu/x86/vtableStubs_x86_32.cpp Changeset: 5afeeed5 Author: Aleksey Shipilev Date: 2020-02-28 17:59:50 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5afeeed5 8240215: Shenandoah: remove ShenandoahAllocationTrace Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: 6ad1db40 Author: Aleksey Shipilev Date: 2020-02-28 17:59:51 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6ad1db40 8240216: Shenandoah: remove ShenandoahTerminationTrace Reviewed-by: zgu ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: 8a79f267 Author: Aleksey Shipilev Date: 2020-02-28 17:59:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8a79f267 8240217: Shenandoah: remove ShenandoahEvacAssist Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: b38f3cf3 Author: Volker Simonis Date: 2020-02-28 19:49:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b38f3cf3 8240226: DeflateIn_InflateOut.java test incorrectly assumes size of compressed file Reviewed-by: martin, alanb ! test/jdk/java/util/zip/DeflateIn_InflateOut.java Changeset: 1be89d96 Author: Jonathan Gibbons Date: 2020-02-28 12:46:58 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1be89d96 8240136: Cleanup/simplify HTML/CSS for definition lists Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeOptionalMemberWriterImpl.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/HtmlDocletWriter.java ! 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/formats/html/markup/HtmlStyle.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlTree.java = test/langtools/jdk/javadoc/doclet/testExternalOverriddenMethod/TestExternalOverriddenMethod.java = test/langtools/jdk/javadoc/doclet/testExternalOverriddenMethod/package-list + test/langtools/jdk/javadoc/doclet/testExternalOverriddenMethod/pkg/XReader.java - test/langtools/jdk/javadoc/doclet/testExternalOverridenMethod/pkg/XReader.java ! test/langtools/jdk/javadoc/doclet/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java ! test/langtools/jdk/javadoc/doclet/testIndex/TestIndex.java ! test/langtools/jdk/javadoc/doclet/testInterface/TestInterface.java ! test/langtools/jdk/javadoc/doclet/testLambdaFeature/TestLambdaFeature.java ! test/langtools/jdk/javadoc/doclet/testLinkTaglet/TestLinkTaglet.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/langtools/jdk/javadoc/doclet/testPackageHtml/TestPackageHtml.java ! test/langtools/jdk/javadoc/doclet/testPrivateClasses/TestPrivateClasses.java ! test/langtools/jdk/javadoc/doclet/testSummaryTag/TestSummaryTag.java Changeset: b247e6d9 Author: Leonid Mesnik Date: 2020-02-28 13:21:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b247e6d9 8203239: [TESTBUG] remove vmTestbase/vm/gc/kind/parOld test Reviewed-by: lkorinth, shade ! test/hotspot/jtreg/TEST.quick-groups - test/hotspot/jtreg/vmTestbase/vm/gc/kind/parOld/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/gc/kind/parOld/test.sh Changeset: add146cc Author: Yumin Qi Date: 2020-02-28 15:30:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/add146cc 8236604: Optimize SystemDictionary::resolve_well_known_classes for CDS Serialize SystemDictionary::_well_known_classes into CDS and quickly resolve them at runtime in vm startup stage. Reviewed-by: iklam, coleenp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.hpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/klass.cpp Changeset: f176fae8 Author: Jie Fu Date: 2020-02-29 09:38:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f176fae8 8240254: Build is broken when cds is disabled after JDK-8236604 Reviewed-by: redestad ! src/hotspot/share/classfile/systemDictionary.hpp Changeset: 5bfb8146 Author: Yumin Qi Date: 2020-02-28 19:29:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5bfb8146 8240258: SystemDictionary::quick_resolve need guarded by INCLUDE_CDS Supplemental fix for 8236604 to guard SystemDictionary::quick_resolve with CDS Reviewed-by: iklam, ccheung ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp Changeset: 0a820d6d Author: Lin Zang Date: 2020-02-29 14:43:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0a820d6d 8239916: SA: delete dead code in jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java Reviewed-by: stefank ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java Changeset: 742bdf00 Author: Kun Wang Committer: Fei Yang Date: 2020-02-26 17:32:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/742bdf00 8239915: Zero VM crashes when handling dynamic constant Reviewed-by: dholmes ! src/hotspot/share/interpreter/bytecodeInterpreter.cpp + test/hotspot/jtreg/runtime/invokedynamic/DynamicConstantHelper.jasm + test/hotspot/jtreg/runtime/invokedynamic/TestDynamicConstant.java Changeset: 0532bd23 Author: Ioi Lam Date: 2020-03-01 17:36:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0532bd23 8240267: VM fails to start with CDS enabled but JVMTI disabled Reviewed-by: dholmes ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/systemDictionary.cpp Changeset: 65bf6185 Author: Prasanta Sadhukhan Date: 2020-03-02 10:50:33 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/65bf6185 Merge ! test/jdk/ProblemList.txt ! test/jdk/ProblemList.txt Changeset: 751de037 Author: Rajan Halade Date: 2020-03-01 23:04:02 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/751de037 8225130: Add exception for expiring Comodo roots to VerifyCACerts test Reviewed-by: weijun ! test/jdk/sun/security/lib/cacerts/VerifyCACerts.java Changeset: ebadfaeb Author: Claes Redestad Date: 2020-03-02 08:22:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ebadfaeb 8196334: Optimize UUID#fromString Co-authored-by: Andriy Plokhotnyuk Co-authored-by: Jon Chambers Reviewed-by: igerasim, alanb ! src/java.base/share/classes/java/util/UUID.java ! test/jdk/java/util/UUID/UUIDTest.java + test/micro/org/openjdk/bench/java/util/UUIDBench.java Changeset: d7b122ed Author: Christian Hagedorn Date: 2020-03-02 10:23:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d7b122ed 8238438: SuperWord::co_locate_pack picks memory state of first instead of last load Fix selection of first and last memory state in SuperWord::co_locate_pack Reviewed-by: thartmann, kvn ! src/hotspot/share/opto/superword.cpp ! src/hotspot/share/opto/superword.hpp + test/hotspot/jtreg/compiler/loopopts/superword/CoLocatePackMemoryState.java Changeset: ac60e4b9 Author: Stefan Karlsson Date: 2020-03-02 12:30:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ac60e4b9 8240220: IdealLoopTree::dump_head predicate printing is broken Reviewed-by: thartmann, neliasso, chagedorn ! src/hotspot/share/opto/loopnode.cpp Changeset: 14913407 Author: Stefan Karlsson Date: 2020-03-02 12:30:59 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/14913407 8240223: Use consistent predicate order in and with PhaseIdealLoop::find_predicate Reviewed-by: thartmann, neliasso, chagedorn ! src/hotspot/share/opto/loopUnswitch.cpp ! src/hotspot/share/opto/loopnode.cpp Changeset: 84f3e867 Author: Martin Balao Date: 2020-02-05 12:20:36 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/84f3e867 8238555: Allow Initialization of SunPKCS11 with NSS when there are external FIPS modules in the NSSDB Reviewed-by: mullan, valeriep ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Secmod.java Changeset: 6bb05362 Author: Harold Seigel Date: 2020-03-02 16:10:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6bb05362 8239568: [TESTBUG] LoadLibraryTest.java fails with RuntimeException Throw jtreg.SkippedException instead of failing if shared library isn't unloaded Reviewed-by: coleenp, lmesnik - test/hotspot/jtreg/runtime/logging/loadLibraryTest/LoadLibrary.java ! test/hotspot/jtreg/runtime/logging/loadLibraryTest/LoadLibraryTest.java ! test/hotspot/jtreg/runtime/logging/loadLibraryTest/libLoadLibraryClass.c Changeset: e455d382 Author: Patrick Concannon Date: 2020-03-02 16:47:51 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e455d382 8234812: Add micros for DatagramChannel send/receive Benchmarks for the DatagramChannel::send and DatagramChannel::receive methods Reviewed-by: alanb, chegar + test/micro/org/openjdk/bench/java/nio/DatagramChannelSendReceive.java Changeset: c280d98e Author: Lois Foltan Date: 2020-03-02 18:42:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c280d98e 8237766: Enhance signature API to include ResolvingSignatureStream New ResolvingSignatureStream class provides the capability to easily walk through the differing parts of a signature while resolving or querying its underlying types. Co-authored-by: John Rose Reviewed-by: coleenp, fparain, hseigel ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/runtime/reflection.cpp ! src/hotspot/share/runtime/signature.cpp ! src/hotspot/share/runtime/signature.hpp Changeset: 96b61b8f Author: Kim Barrett Date: 2020-03-02 14:45:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/96b61b8f 8240246: Avoid cast_to_oop from char* Change type of gtest object from char[] to unsigned char[]. Reviewed-by: dholmes ! test/hotspot/gtest/oops/test_oop.cpp Changeset: 35ee1cb2 Author: Mikhailo Seledtsov Date: 2020-03-02 12:16:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/35ee1cb2 8236938: [TESTBUG] JFR event MetaspaceAllocationFailure is not tested New test for MetaspaceAllocationFailure Reviewed-by: hseigel, stuefe ! test/hotspot/jtreg/runtime/Metaspace/FragmentMetaspace.java - test/hotspot/jtreg/runtime/testlibrary/GeneratedClassLoader.java + test/jdk/jdk/jfr/event/runtime/TestMetaspaceAllocationFailure.java + test/lib/jdk/test/lib/classloader/GeneratingCompilingClassLoader.java Changeset: c42de933 Author: David Holmes Date: 2020-03-02 19:49:42 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c42de933 8238676: jni crashes on accessing it from process exit hook Reviewed-by: fparain, gziemski ! make/test/JtregNativeHotspot.gmk ! src/hotspot/share/prims/jni.cpp + test/hotspot/jtreg/runtime/jni/atExit/TestAtExit.java + test/hotspot/jtreg/runtime/jni/atExit/libatExit.c Changeset: 26a7b0dd Author: Prasanta Sadhukhan Date: 2020-03-03 13:31:33 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/26a7b0dd Merge Changeset: 908a9331 Author: Nils Eliasson Date: 2020-03-03 10:29:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/908a9331 8238759: Clones should always keep the base pointer Reviewed-by: rkennke, thartmann ! src/hotspot/share/gc/shared/c2/barrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/opto/arraycopynode.cpp ! test/hotspot/jtreg/compiler/arguments/TestStressReflectiveCode.java Changeset: 2a791467 Author: Volker Simonis Date: 2020-03-03 11:24:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2a791467 8240235: jdk.test.lib.util.JarUtils updates jar files incorrectly Reviewed-by: martin, clanger, lancea ! test/lib/jdk/test/lib/util/JarUtils.java Changeset: 3fdf26d8 Author: Claes Redestad Date: 2020-03-03 11:40:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3fdf26d8 8240302: x64: Assembler::reachable redundantly call Relocation::type() more than once Reviewed-by: kvn, iklam, thartmann ! src/hotspot/cpu/x86/assembler_x86.cpp Changeset: 52cfd292 Author: Claes Redestad Date: 2020-03-03 12:41:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/52cfd292 8240263: Assertion-only call in Method::link_method affecting product builds Reviewed-by: shade, dcubed, iklam ! src/hotspot/share/oops/method.cpp Changeset: cf89ff7a Author: Harold Seigel Date: 2020-03-03 15:50:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/cf89ff7a 8240324: Improve is_boot_class_loader_data() by adding simple check Check if cld is the null_cld before looking at the class loader oop Reviewed-by: coleenp ! src/hotspot/share/classfile/classLoaderData.inline.hpp Changeset: 3ca275fb Author: Coleen Phillimore Date: 2020-03-03 11:19:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3ca275fb 8225760: oop::raw_set_obj isn't needed Reviewed-by: hseigel, rkennke ! src/hotspot/share/oops/oopsHierarchy.hpp Changeset: ea55699f Author: Fairoz Matte Date: 2020-02-27 19:33:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ea55699f 8239055: Wrong implementation of VMState.hasListener Correct the VMState.hasListener implementation to return WeakReference type Reviewed-by: sspitsyn, poonam ! src/jdk.jdi/share/classes/com/sun/tools/jdi/VMState.java Changeset: 467ee78a Author: Mikhailo Seledtsov Date: 2020-03-03 12:43:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/467ee78a 8235206: JFR TestCrossProcessStreaming - validate that data can be consumed while it is being produced Updated test to validate concurrent produce/consume Reviewed-by: egahlin ! test/jdk/jdk/jfr/api/consumer/streaming/TestCrossProcessStreaming.java Changeset: 89448a83 Author: Xue-Lei Andrew Fan Date: 2020-03-03 15:57:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/89448a83 8233619: SSLEngine handshake status immediately after the handshake can be NOT_HANDSHAKING rather than FINISHED with TLSv1.3 Reviewed-by: jnimeh ! src/java.base/share/classes/sun/security/ssl/Finished.java ! src/java.base/share/classes/sun/security/ssl/NewSessionTicket.java ! src/java.base/share/classes/sun/security/ssl/PostHandshakeContext.java + test/jdk/javax/net/ssl/SSLEngine/FinishedPresent.java Changeset: 1e796eae Author: Roland Westrelin Date: 2020-02-21 15:01:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1e796eae 8239367: RunThese30M.java failed due to "assert(false) failed: graph should be schedulable" Reviewed-by: thartmann, vlivanov, neliasso ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/graphKit.cpp + test/hotspot/jtreg/compiler/types/TestSubTypeCheckMacroNodeWrongMem.java Changeset: 86ad1950 Author: Roland Westrelin Date: 2020-02-20 16:41:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/86ad1950 8238384: CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found" Reviewed-by: vlivanov, thartmann ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/gcm.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/macro.hpp ! src/hotspot/share/opto/macroArrayCopy.cpp ! src/hotspot/share/opto/type.hpp + test/hotspot/jtreg/compiler/escapeAnalysis/TestCopyOfBrokenAntiDependency.java Changeset: 8e74ed46 Author: Alexey Bakhtin Committer: Andrew Brygin Date: 2020-03-03 13:06:50 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8e74ed46 8239787: AArch64: String.indexOf may incorrectly handle empty strings Reviewed-by: aph, lmesnik, yan ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp + test/hotspot/jtreg/runtime/StringIntrinsic/StringIndexOfChar.java Changeset: b3666b94 Author: Aleksey Shipilev Date: 2020-03-04 11:50:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b3666b94 8240511: Shenandoah: parallel safepoint workers count should be ParallelGCThreads Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp - test/hotspot/jtreg/gc/shenandoah/options/TestSafepointWorkers.java Changeset: 9d57eefe Author: Jan Lahoda Date: 2020-03-04 13:43:25 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9d57eefe 8239575: javadoc triggers javac AssertionError for annos on modules Ensure ModuleSymbols are implicitly loaded only once in the javadoc context. Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/ModuleFinder.java ! test/langtools/jdk/javadoc/tool/modules/Modules.java Changeset: 0c998388 Author: Jan Lahoda Date: 2020-03-04 13:43:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0c998388 8228451: NPE in Attr.java when -XDshould-stop.ifError=FLOW Avoiding parsing of compound assignment as a type. Reviewed-by: jjg, vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/langtools/tools/javac/parser/JavacParserTest.java Changeset: e44dcf09 Author: Jan Lahoda Date: 2020-03-04 13:43:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e44dcf09 8234896: Tab completion does not work for method references in jshell Reviewed-by: rfield ! src/jdk.jshell/share/classes/jdk/jshell/SourceCodeAnalysisImpl.java ! test/langtools/jdk/jshell/CompletionSuggestionTest.java Changeset: aa547959 Author: Andy Herrick Date: 2020-03-03 17:58:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/aa547959 8237967: No proper error message when --runtime-image points to non-existent path Reviewed-by: kizune, asemenyuk, almatvee ! src/jdk.incubator.jpackage/share/classes/jdk/incubator/jpackage/internal/DeployParams.java ! src/jdk.incubator.jpackage/share/classes/jdk/incubator/jpackage/internal/resources/MainResources.properties ! src/jdk.incubator.jpackage/share/classes/jdk/incubator/jpackage/internal/resources/MainResources_ja.properties ! src/jdk.incubator.jpackage/share/classes/jdk/incubator/jpackage/internal/resources/MainResources_zh_CN.properties ! test/jdk/tools/jpackage/share/InvalidArgTest.java Changeset: ef4053ee Author: Andy Herrick Date: 2020-03-03 18:07:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ef4053ee 8237966: Creating runtime pkg requires --mac-package-identifier Reviewed-by: kizune, asemenyuk, almatvee ! src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/MacPkgBundler.java Changeset: 128f0833 Author: Andy Herrick Date: 2020-03-03 18:10:15 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/128f0833 8238692: MacOS runtime Installer issue Reviewed-by: kizune, asemenyuk, almatvee ! src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/MacAppImageBuilder.java ! src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/MacPkgBundler.java ! src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/resources/MacResources.properties Changeset: ff843fab Author: Volker Simonis Date: 2020-03-04 14:55:43 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ff843fab 8240333: jmod incorrectly updates .jar and .jmod files during hashing Reviewed-by: martin, alanb, lancea ! src/jdk.jlink/share/classes/jdk/tools/jmod/JmodOutputStream.java ! src/jdk.jlink/share/classes/jdk/tools/jmod/JmodTask.java Changeset: 01ef6d79 Author: Aleksey Shipilev Date: 2020-03-04 19:23:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/01ef6d79 8240534: Shenandoah: ditch debug safepoint timeout adjustment Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp Changeset: edb59b58 Author: Jonathan Gibbons Date: 2020-03-04 12:58:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/edb59b58 8239817: Eliminate use of contentContainer and friends Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractOverviewIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractTreeWriter.java ! 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/ClassUseWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstantsSummaryWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DeprecatedListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DocFilesHandlerImpl.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/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/PackageTreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageUseWriter.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/SerializedFormWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SingleIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SplitIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SubWriterHolderWriter.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/TreeWriter.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/testHtmlLandmarkRegions/TestHtmlLandmarkRegions.java ! test/langtools/jdk/javadoc/doclet/testHtmlTag/TestHtmlTag.java ! test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testOverview/TestOverview.java Changeset: 5229896f Author: Calvin Cheung Date: 2020-03-04 15:34:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5229896f 8240481: Remove CDS usage of InstanceKlass::is_in_error_state Track the classes which fail verification during CDS dumping in DumpTimeSharedClassInfo. Reviewed-by: iklam, minqi ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.hpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp Changeset: 10b09c79 Author: Jesper Wilhelmsson Date: 2020-03-05 02:02:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/10b09c79 Added tag jdk-15+13 for changeset 1c06a8ee8aca ! .hgtags Changeset: 6cb2e02a Author: Yumin Qi Date: 2020-03-04 21:29:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6cb2e02a 8240546: runtime/cds/appcds/TestZGCWithCDS.java fails with Graal Test failed since Graal does not work with ZGC, fixed in test to skip Graal if ZGC. Reviewed-by: ccheung ! test/hotspot/jtreg/runtime/cds/appcds/TestZGCWithCDS.java Changeset: 7ba18fc0 Author: Ioi Lam Date: 2020-03-04 22:26:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7ba18fc0 8240244: Avoid calling resolve_super_or_fail in SystemDictionary::load_shared_class Reviewed-by: redestad, lfoltan, minqi ! src/hotspot/share/classfile/classListParser.cpp ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/classfile/classLoaderExt.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/memory/dynamicArchive.cpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp Changeset: d1818942 Author: Qi Feng Committer: Ningsheng Jian Date: 2020-03-05 14:51:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d1818942 8240286: [TESTBUG] Test command error in hotspot/jtreg/compiler/loopopts/superword/SumRedAbsNeg_Float.java Reviewed-by: kvn, thartmann ! test/hotspot/jtreg/compiler/loopopts/superword/SumRedAbsNeg_Float.java Changeset: b2f1f73e Author: Ravi Reddy Committer: David Buck Date: 2020-03-05 03:27:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b2f1f73e 8183369: RFC unconformity of HttpURLConnection with proxy HttpURLConnection retried with proxy if the connection fails on first attempt as per RFC Reviewed-by: chegar, dfuchs, vtewari ! src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! test/jdk/java/net/HttpURLConnection/HttpURLConWithProxy.java Changeset: 3490262a Author: Yasumasa Suenaga Date: 2020-03-05 19:46:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3490262a 8240197: Cannot start JVM when $JAVA_HOME includes CJK characters Reviewed-by: iklam, stuefe, rschmelter ! src/hotspot/os/windows/os_windows.cpp Changeset: 3ddd7b86 Author: Erik ?sterlund Date: 2020-03-05 11:12:51 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3ddd7b86 8240370: Provide Intel JCC Erratum opt-out Reviewed-by: redestad, vlivanov, thartmann ! src/hotspot/cpu/x86/globals_x86.hpp ! src/hotspot/cpu/x86/vm_version_x86.cpp Changeset: 78982f7c Author: Claes Redestad Date: 2020-03-05 13:14:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/78982f7c 8240528: OopMap cleanup Reviewed-by: kvn, thartmann ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/share/compiler/oopMap.cpp ! src/hotspot/share/compiler/oopMap.hpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/runtime/vmStructs.cpp Changeset: d75e62e1 Author: Markus Gr?nlund Date: 2020-03-05 17:55:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d75e62e1 8239376: JFR: assert(!cld->is_unsafe_anonymous()) failed: invariant Reviewed-by: coleenp, lfoltan, hseigel ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSet.cpp Changeset: db91be2e Author: Alexandre Iline Date: 2020-03-05 09:51:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/db91be2e 8240241: Add support for JCov DiffCoverage to make files Reviewed-by: erikj, ihse ! doc/testing.html ! doc/testing.md ! make/RunTests.gmk Changeset: 3607ddd5 Author: Lance Andersen Date: 2020-03-05 13:56:40 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3607ddd5 8211917: Zip FS should add META-INF/MANIFEST.FS at the start of the Zip/JAR Reviewed-by: clanger, jpai ! src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipFileSystem.java + test/jdk/jdk/nio/zipfs/testng/TEST.properties + test/jdk/jdk/nio/zipfs/testng/test/ManifestOrderTest.java + test/jdk/jdk/nio/zipfs/testng/util/ZipFsBaseTest.java Changeset: 4a32eda4 Author: Vicente Romero Date: 2020-03-05 16:46:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/4a32eda4 8240454: incorrect error message: as of release 13, 'record' is a restricted type name Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/langtools/lib/combo/tools/javac/combo/CompilationTestCase.java ! test/langtools/lib/combo/tools/javac/combo/Diagnostics.java ! test/langtools/lib/combo/tools/javac/combo/JavacTemplateTestBase.java ! test/langtools/tools/javac/records/RecordCompilationTests.java ! test/langtools/tools/javac/switchexpr/WrongYieldTest.out Changeset: 001b8056 Author: Joe Darcy Date: 2020-03-05 15:07:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/001b8056 8240624: Note mapping of RoundingMode constants to equivalent IEEE 754-2019 attribute Reviewed-by: bpb ! src/java.base/share/classes/java/math/RoundingMode.java Changeset: f456f151 Author: Doug Simon Date: 2020-03-05 16:32:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f456f151 8240538: [JVMCI] add test for JVMCI ConstantPool class Reviewed-by: kvn, iignatyev + test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/ConstantPoolTest.java Changeset: 9c6a7696 Author: Ramkumar Sunderbabu Committer: Ramkumar Sunderbabu Date: 2020-03-06 10:27:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9c6a7696 8153430: jdk regression test MletParserLocaleTest, ParserInfiniteLoopTest reduce default timeout Removed timeout=5 from the tests so that default timeout is used Reviewed-by: cjplummer ! test/jdk/javax/management/loading/MletParserLocaleTest.java ! test/jdk/javax/management/loading/ParserInfiniteLoopTest.java Changeset: f10fd7a7 Author: Matthias Baesken Date: 2020-03-05 13:12:51 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f10fd7a7 8240603: Windows 32bit compile error after 8238676 Reviewed-by: clanger, dholmes ! test/hotspot/jtreg/runtime/jni/atExit/libatExit.c Changeset: 3adad5a6 Author: Martin Doerr Date: 2020-03-06 11:04:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3adad5a6 8239856: [ntintel] asserts about copying unaligned array element Reviewed-by: stuefe, sspitsyn ! src/jdk.jdwp.agent/share/native/libjdwp/ArrayReferenceImpl.c Changeset: 25d2db06 Author: Ivan Walulya Date: 2020-03-06 11:40:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/25d2db06 8240589: OtherRegionsTable::_num_occupied not updated correctly Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/g1/heapRegionRemSet.cpp Changeset: 05b8f97b Author: duke Date: 2020-03-06 11:01:19 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/05b8f97b Automatic merge of jdk:master into master From sundar at openjdk.java.net Fri Mar 6 11:19:28 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Fri, 6 Mar 2020 11:19:28 GMT Subject: [foreign-jextract] [Rev 01] RFR: Improve jextract error reporting In-Reply-To: References: Message-ID: On Fri, 6 Mar 2020 11:00:34 GMT, Jorn Vernee wrote: >> Hi, >> >> I spent the last couple of days tracking down a crash I was seeing sometimes when running jextract. In the process I ended up doing several improvements to jextract's error checking and reporting, that I think are useful to keep in the long run. >> >> The changes include: >> - Using `clang_parseTranslationUnit2` to parse, since that returns an error code, instead of a null translation unit. This also means we can still process diagnostic for the returned translation unit (now returned in a buffer). >> - Checking the return codes for `clang_parseTranslationUnit2`, `clang_saveTranslationUnit`, and `clang_reparseTranslationUnit` (using a proper enum) and throwing an exception in case they are erroneous. >> - Catching BadMacroException instead of Throwable in the macro parser. We only care about the former, and catching Throwable could lead to too many exceptions being eaten. Technically, if there is an unknown exception, we could just skip the macro, but this isn't always the right strategy. For example, when re-parsing fails the used translation unit becomes invalid, so we really need to do something else than just skipping the macro in that case (to be addressed in another patch https://bugs.openjdk.java.net/browse/JDK-8240614). Imo it's better to just crash than to skip when we encounter an unknwon exception, so that we're more likely to find issues. >> - Enabling libclang crash recovery by default. By default the crash recovery was being disabled. This leads to the process exiting with OS exception code. If we enable this however, it will instead try to return an error code from the libclang call, which we can then check for and handle the failure however we want. >> >> Thanks, >> Jorn > > The pull request has been updated with 1 additional commit. src/jdk.incubator.jextract/share/classes/jdk/internal/clang/LibClang.java line 39: > 38: Index_h.clang_toggleCrashRecovery(CRASH_RECOVERY ? 1 : 0); > 39: if (DEBUG && !CRASH_RECOVERY) { > 40: System.err.println("LibClang crash recovery disabled"); Crash recovery is disabled by default, right? Shouldn't the debug for enabling? (because that is the explicit config behaviour - or else this message will be printed always) ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/40 From duke at openjdk.java.net Fri Mar 6 11:21:32 2020 From: duke at openjdk.java.net (duke) Date: Fri, 6 Mar 2020 11:21:32 GMT Subject: git: openjdk/panama-foreign: foreign-abi: 88 new changesets Message-ID: Changeset: ff55c490 Author: Phil Race Date: 2020-02-12 14:45:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ff55c490 8238842: AIOOBE in GIFImageReader.initializeStringTable Reviewed-by: serb, bpb ! src/java.desktop/share/classes/com/sun/imageio/plugins/gif/GIFImageReader.java + test/jdk/javax/imageio/plugins/gif/GIFCodeSizeTest.java Changeset: 7af366a7 Author: Sergey Bylokhov Date: 2020-02-13 13:17:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7af366a7 8238738: AudioSystem.getMixerInfo() takes about 30 sec to report a gone audio device Reviewed-by: prr ! src/java.desktop/windows/native/libjsound/PLATFORM_API_WinOS_DirectSound.cpp Changeset: 8d2aa62b Author: Sergey Bylokhov Date: 2020-02-13 13:19:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8d2aa62b 8221823: Requested JDialog width is ignored Reviewed-by: aivanov ! src/java.desktop/windows/classes/sun/awt/windows/WDialogPeer.java ! src/java.desktop/windows/classes/sun/awt/windows/WFramePeer.java ! src/java.desktop/windows/classes/sun/awt/windows/WWindowPeer.java ! src/java.desktop/windows/native/libawt/windows/awt_Window.cpp ! test/jdk/ProblemList.txt ! test/jdk/java/awt/Mixing/AWT_Mixing/HierarchyBoundsListenerMixingTest.java ! test/jdk/java/awt/Mixing/AWT_Mixing/MixingFrameResizing.java ! test/jdk/java/awt/Mixing/AWT_Mixing/MixingPanelsResizing.java + test/jdk/java/awt/Window/MinimumSizeDPIVariation/MinimumSizeDPIVariation.java Changeset: 784e5751 Author: Sergey Bylokhov Date: 2020-02-13 13:21:21 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/784e5751 8238741: java.awt.Robot(GraphicsDevice) constructor does not follow the spec Reviewed-by: aivanov ! src/java.desktop/share/classes/java/awt/Robot.java + test/jdk/java/awt/Headless/HeadlessRobot.java Changeset: 5705a551 Author: Sergey Bylokhov Date: 2020-02-13 13:23:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5705a551 8233827: Enable screenshots in the enhanced failure handler on Linux/macOS Reviewed-by: iignatyev ! test/failure_handler/src/share/conf/linux.properties ! test/failure_handler/src/share/conf/mac.properties Changeset: e6915ff1 Author: Phil Race Date: 2020-02-14 09:10:43 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e6915ff1 8238942: Rendering artifacts with LCD text and fractional metrics Reviewed-by: serb, jdv ! src/java.desktop/share/native/libfontmanager/freetypeScaler.c Changeset: 80f5a47b Author: Phil Race Date: 2020-02-14 10:44:30 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/80f5a47b 8239091: Reversed arguments in call to strstr in freetype "debug" code Reviewed-by: bpb ! src/java.desktop/share/native/libfontmanager/freetypeScaler.c Changeset: c6e9d209 Author: Alexander Zuev Date: 2020-02-17 20:04:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c6e9d209 8237221: [macos] java/awt/MenuBar/SeparatorsNavigation/SeparatorsNavigation.java fails Reviewed-by: serb + test/jdk/java/awt/MenuBar/SeparatorsNavigation/SeparatorsNavigation.java Changeset: 3c720426 Author: Prasanta Sadhukhan Date: 2020-02-20 14:49:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3c720426 8239334: Tab Size does not work correctly in JTextArea with setLineWrap on Reviewed-by: serb, pbansal ! src/java.desktop/share/classes/javax/swing/text/WrappedPlainView.java + test/jdk/javax/swing/JTextArea/TestTabSizeWithLineWrap.java Changeset: b5fdcb08 Author: Pankaj Bansal Date: 2020-02-21 16:31:45 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b5fdcb08 8216329: Cannot resize CheckBoxItemMenu in Synth L&F with setHorizontalTextPosition Reviewed-by: serb, psadhukhan ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicMenuItemUI.java ! src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/WindowsMenuItemUI.java + test/jdk/javax/swing/plaf/synth/SynthCheckBoxMenuItem/Check_Icon.png + test/jdk/javax/swing/plaf/synth/SynthCheckBoxMenuItem/MenuItem_Selected.png + test/jdk/javax/swing/plaf/synth/SynthCheckBoxMenuItem/TestJCheckBoxMenuItem.java Changeset: b5e16220 Author: Pankaj Bansal Date: 2020-02-21 17:00:23 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b5e16220 8153090: TAB key cannot change input focus after the radio button in the Color Selection dialog Reviewed-by: serb, psadhukhan ! src/java.desktop/share/classes/javax/swing/colorchooser/ColorPanel.java Changeset: f916df3b Author: Pankaj Bansal Date: 2020-02-21 17:09:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f916df3b 8238985: [TESTBUG] The arrow image is blue instead of green Reviewed-by: serb, psadhukhan ! test/jdk/javax/swing/JTextPane/TestJTextPaneHTMLRendering.java Changeset: fa7f53ee Author: Alexey Ivanov Date: 2020-02-25 20:00:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/fa7f53ee 8235147: Release HDC from passiveDCList sooner Reviewed-by: serb, jdv ! src/java.desktop/windows/native/libawt/windows/awt_Component.cpp ! src/java.desktop/windows/native/libawt/windows/awt_Component.h Changeset: 55768aa4 Author: Sergey Bylokhov Date: 2020-02-27 09:49:33 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/55768aa4 8239583: [AIX] simplify the native references in X input methods Reviewed-by: clanger, itakiguchi ! src/java.desktop/aix/native/libawt_xawt/awt/awt_InputMethod.c ! src/java.desktop/unix/native/common/awt/awt_p.h ! src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c Changeset: 5e912fbe Author: Sergey Bylokhov Date: 2020-02-28 16:49:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5e912fbe 8240202: A few client tests leave mouse buttons pressed Reviewed-by: prr ! test/jdk/ProblemList.txt ! test/jdk/java/awt/Mixing/AWT_Mixing/JSplitPaneOverlapping.java ! test/jdk/javax/swing/JButton/PressedButtonRightClickTest.java Changeset: bd25c0e0 Author: Christian Hagedorn Date: 2020-02-28 15:33:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/bd25c0e0 8239852: java/util/concurrent tests fail with -XX:+VerifyGraphEdges: assert(!VerifyGraphEdges) failed: verification should have failed Remove an assertion which was too strong for some valid IRs when running with -XX:+VerifyGraphEdges Reviewed-by: neliasso, thartmann ! src/hotspot/share/opto/gcm.cpp Changeset: 0cd6d13b Author: Peter Tribble Committer: Daniel D. Daugherty Date: 2020-02-28 10:16:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0cd6d13b 8240231: Build failure on illumos after 8238988 Add missing cast Reviewed-by: dcubed, shade ! src/hotspot/os_cpu/solaris_x86/thread_solaris_x86.cpp Changeset: 637795e0 Author: Lutz Schmidt Date: 2020-02-28 16:36:47 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/637795e0 8239931: [win][x86] vtable stub generation: assert failure (code size estimate) follow-up Reviewed-by: mdoerr ! src/hotspot/cpu/x86/vtableStubs_x86_32.cpp Changeset: 5afeeed5 Author: Aleksey Shipilev Date: 2020-02-28 17:59:50 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5afeeed5 8240215: Shenandoah: remove ShenandoahAllocationTrace Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: 6ad1db40 Author: Aleksey Shipilev Date: 2020-02-28 17:59:51 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6ad1db40 8240216: Shenandoah: remove ShenandoahTerminationTrace Reviewed-by: zgu ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: 8a79f267 Author: Aleksey Shipilev Date: 2020-02-28 17:59:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8a79f267 8240217: Shenandoah: remove ShenandoahEvacAssist Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: b38f3cf3 Author: Volker Simonis Date: 2020-02-28 19:49:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b38f3cf3 8240226: DeflateIn_InflateOut.java test incorrectly assumes size of compressed file Reviewed-by: martin, alanb ! test/jdk/java/util/zip/DeflateIn_InflateOut.java Changeset: 1be89d96 Author: Jonathan Gibbons Date: 2020-02-28 12:46:58 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1be89d96 8240136: Cleanup/simplify HTML/CSS for definition lists Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeOptionalMemberWriterImpl.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/HtmlDocletWriter.java ! 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/formats/html/markup/HtmlStyle.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlTree.java = test/langtools/jdk/javadoc/doclet/testExternalOverriddenMethod/TestExternalOverriddenMethod.java = test/langtools/jdk/javadoc/doclet/testExternalOverriddenMethod/package-list + test/langtools/jdk/javadoc/doclet/testExternalOverriddenMethod/pkg/XReader.java - test/langtools/jdk/javadoc/doclet/testExternalOverridenMethod/pkg/XReader.java ! test/langtools/jdk/javadoc/doclet/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java ! test/langtools/jdk/javadoc/doclet/testIndex/TestIndex.java ! test/langtools/jdk/javadoc/doclet/testInterface/TestInterface.java ! test/langtools/jdk/javadoc/doclet/testLambdaFeature/TestLambdaFeature.java ! test/langtools/jdk/javadoc/doclet/testLinkTaglet/TestLinkTaglet.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/langtools/jdk/javadoc/doclet/testPackageHtml/TestPackageHtml.java ! test/langtools/jdk/javadoc/doclet/testPrivateClasses/TestPrivateClasses.java ! test/langtools/jdk/javadoc/doclet/testSummaryTag/TestSummaryTag.java Changeset: b247e6d9 Author: Leonid Mesnik Date: 2020-02-28 13:21:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b247e6d9 8203239: [TESTBUG] remove vmTestbase/vm/gc/kind/parOld test Reviewed-by: lkorinth, shade ! test/hotspot/jtreg/TEST.quick-groups - test/hotspot/jtreg/vmTestbase/vm/gc/kind/parOld/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/gc/kind/parOld/test.sh Changeset: add146cc Author: Yumin Qi Date: 2020-02-28 15:30:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/add146cc 8236604: Optimize SystemDictionary::resolve_well_known_classes for CDS Serialize SystemDictionary::_well_known_classes into CDS and quickly resolve them at runtime in vm startup stage. Reviewed-by: iklam, coleenp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.hpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/klass.cpp Changeset: f176fae8 Author: Jie Fu Date: 2020-02-29 09:38:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f176fae8 8240254: Build is broken when cds is disabled after JDK-8236604 Reviewed-by: redestad ! src/hotspot/share/classfile/systemDictionary.hpp Changeset: 5bfb8146 Author: Yumin Qi Date: 2020-02-28 19:29:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5bfb8146 8240258: SystemDictionary::quick_resolve need guarded by INCLUDE_CDS Supplemental fix for 8236604 to guard SystemDictionary::quick_resolve with CDS Reviewed-by: iklam, ccheung ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp Changeset: 0a820d6d Author: Lin Zang Date: 2020-02-29 14:43:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0a820d6d 8239916: SA: delete dead code in jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java Reviewed-by: stefank ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java Changeset: 742bdf00 Author: Kun Wang Committer: Fei Yang Date: 2020-02-26 17:32:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/742bdf00 8239915: Zero VM crashes when handling dynamic constant Reviewed-by: dholmes ! src/hotspot/share/interpreter/bytecodeInterpreter.cpp + test/hotspot/jtreg/runtime/invokedynamic/DynamicConstantHelper.jasm + test/hotspot/jtreg/runtime/invokedynamic/TestDynamicConstant.java Changeset: 0532bd23 Author: Ioi Lam Date: 2020-03-01 17:36:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0532bd23 8240267: VM fails to start with CDS enabled but JVMTI disabled Reviewed-by: dholmes ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/systemDictionary.cpp Changeset: 65bf6185 Author: Prasanta Sadhukhan Date: 2020-03-02 10:50:33 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/65bf6185 Merge ! test/jdk/ProblemList.txt ! test/jdk/ProblemList.txt Changeset: 751de037 Author: Rajan Halade Date: 2020-03-01 23:04:02 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/751de037 8225130: Add exception for expiring Comodo roots to VerifyCACerts test Reviewed-by: weijun ! test/jdk/sun/security/lib/cacerts/VerifyCACerts.java Changeset: ebadfaeb Author: Claes Redestad Date: 2020-03-02 08:22:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ebadfaeb 8196334: Optimize UUID#fromString Co-authored-by: Andriy Plokhotnyuk Co-authored-by: Jon Chambers Reviewed-by: igerasim, alanb ! src/java.base/share/classes/java/util/UUID.java ! test/jdk/java/util/UUID/UUIDTest.java + test/micro/org/openjdk/bench/java/util/UUIDBench.java Changeset: d7b122ed Author: Christian Hagedorn Date: 2020-03-02 10:23:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d7b122ed 8238438: SuperWord::co_locate_pack picks memory state of first instead of last load Fix selection of first and last memory state in SuperWord::co_locate_pack Reviewed-by: thartmann, kvn ! src/hotspot/share/opto/superword.cpp ! src/hotspot/share/opto/superword.hpp + test/hotspot/jtreg/compiler/loopopts/superword/CoLocatePackMemoryState.java Changeset: ac60e4b9 Author: Stefan Karlsson Date: 2020-03-02 12:30:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ac60e4b9 8240220: IdealLoopTree::dump_head predicate printing is broken Reviewed-by: thartmann, neliasso, chagedorn ! src/hotspot/share/opto/loopnode.cpp Changeset: 14913407 Author: Stefan Karlsson Date: 2020-03-02 12:30:59 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/14913407 8240223: Use consistent predicate order in and with PhaseIdealLoop::find_predicate Reviewed-by: thartmann, neliasso, chagedorn ! src/hotspot/share/opto/loopUnswitch.cpp ! src/hotspot/share/opto/loopnode.cpp Changeset: 84f3e867 Author: Martin Balao Date: 2020-02-05 12:20:36 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/84f3e867 8238555: Allow Initialization of SunPKCS11 with NSS when there are external FIPS modules in the NSSDB Reviewed-by: mullan, valeriep ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Secmod.java Changeset: 6bb05362 Author: Harold Seigel Date: 2020-03-02 16:10:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6bb05362 8239568: [TESTBUG] LoadLibraryTest.java fails with RuntimeException Throw jtreg.SkippedException instead of failing if shared library isn't unloaded Reviewed-by: coleenp, lmesnik - test/hotspot/jtreg/runtime/logging/loadLibraryTest/LoadLibrary.java ! test/hotspot/jtreg/runtime/logging/loadLibraryTest/LoadLibraryTest.java ! test/hotspot/jtreg/runtime/logging/loadLibraryTest/libLoadLibraryClass.c Changeset: e455d382 Author: Patrick Concannon Date: 2020-03-02 16:47:51 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e455d382 8234812: Add micros for DatagramChannel send/receive Benchmarks for the DatagramChannel::send and DatagramChannel::receive methods Reviewed-by: alanb, chegar + test/micro/org/openjdk/bench/java/nio/DatagramChannelSendReceive.java Changeset: c280d98e Author: Lois Foltan Date: 2020-03-02 18:42:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c280d98e 8237766: Enhance signature API to include ResolvingSignatureStream New ResolvingSignatureStream class provides the capability to easily walk through the differing parts of a signature while resolving or querying its underlying types. Co-authored-by: John Rose Reviewed-by: coleenp, fparain, hseigel ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/runtime/reflection.cpp ! src/hotspot/share/runtime/signature.cpp ! src/hotspot/share/runtime/signature.hpp Changeset: 96b61b8f Author: Kim Barrett Date: 2020-03-02 14:45:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/96b61b8f 8240246: Avoid cast_to_oop from char* Change type of gtest object from char[] to unsigned char[]. Reviewed-by: dholmes ! test/hotspot/gtest/oops/test_oop.cpp Changeset: 35ee1cb2 Author: Mikhailo Seledtsov Date: 2020-03-02 12:16:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/35ee1cb2 8236938: [TESTBUG] JFR event MetaspaceAllocationFailure is not tested New test for MetaspaceAllocationFailure Reviewed-by: hseigel, stuefe ! test/hotspot/jtreg/runtime/Metaspace/FragmentMetaspace.java - test/hotspot/jtreg/runtime/testlibrary/GeneratedClassLoader.java + test/jdk/jdk/jfr/event/runtime/TestMetaspaceAllocationFailure.java + test/lib/jdk/test/lib/classloader/GeneratingCompilingClassLoader.java Changeset: c42de933 Author: David Holmes Date: 2020-03-02 19:49:42 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c42de933 8238676: jni crashes on accessing it from process exit hook Reviewed-by: fparain, gziemski ! make/test/JtregNativeHotspot.gmk ! src/hotspot/share/prims/jni.cpp + test/hotspot/jtreg/runtime/jni/atExit/TestAtExit.java + test/hotspot/jtreg/runtime/jni/atExit/libatExit.c Changeset: 26a7b0dd Author: Prasanta Sadhukhan Date: 2020-03-03 13:31:33 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/26a7b0dd Merge Changeset: 908a9331 Author: Nils Eliasson Date: 2020-03-03 10:29:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/908a9331 8238759: Clones should always keep the base pointer Reviewed-by: rkennke, thartmann ! src/hotspot/share/gc/shared/c2/barrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/opto/arraycopynode.cpp ! test/hotspot/jtreg/compiler/arguments/TestStressReflectiveCode.java Changeset: 2a791467 Author: Volker Simonis Date: 2020-03-03 11:24:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2a791467 8240235: jdk.test.lib.util.JarUtils updates jar files incorrectly Reviewed-by: martin, clanger, lancea ! test/lib/jdk/test/lib/util/JarUtils.java Changeset: 3fdf26d8 Author: Claes Redestad Date: 2020-03-03 11:40:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3fdf26d8 8240302: x64: Assembler::reachable redundantly call Relocation::type() more than once Reviewed-by: kvn, iklam, thartmann ! src/hotspot/cpu/x86/assembler_x86.cpp Changeset: 52cfd292 Author: Claes Redestad Date: 2020-03-03 12:41:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/52cfd292 8240263: Assertion-only call in Method::link_method affecting product builds Reviewed-by: shade, dcubed, iklam ! src/hotspot/share/oops/method.cpp Changeset: cf89ff7a Author: Harold Seigel Date: 2020-03-03 15:50:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/cf89ff7a 8240324: Improve is_boot_class_loader_data() by adding simple check Check if cld is the null_cld before looking at the class loader oop Reviewed-by: coleenp ! src/hotspot/share/classfile/classLoaderData.inline.hpp Changeset: 3ca275fb Author: Coleen Phillimore Date: 2020-03-03 11:19:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3ca275fb 8225760: oop::raw_set_obj isn't needed Reviewed-by: hseigel, rkennke ! src/hotspot/share/oops/oopsHierarchy.hpp Changeset: ea55699f Author: Fairoz Matte Date: 2020-02-27 19:33:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ea55699f 8239055: Wrong implementation of VMState.hasListener Correct the VMState.hasListener implementation to return WeakReference type Reviewed-by: sspitsyn, poonam ! src/jdk.jdi/share/classes/com/sun/tools/jdi/VMState.java Changeset: 467ee78a Author: Mikhailo Seledtsov Date: 2020-03-03 12:43:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/467ee78a 8235206: JFR TestCrossProcessStreaming - validate that data can be consumed while it is being produced Updated test to validate concurrent produce/consume Reviewed-by: egahlin ! test/jdk/jdk/jfr/api/consumer/streaming/TestCrossProcessStreaming.java Changeset: 89448a83 Author: Xue-Lei Andrew Fan Date: 2020-03-03 15:57:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/89448a83 8233619: SSLEngine handshake status immediately after the handshake can be NOT_HANDSHAKING rather than FINISHED with TLSv1.3 Reviewed-by: jnimeh ! src/java.base/share/classes/sun/security/ssl/Finished.java ! src/java.base/share/classes/sun/security/ssl/NewSessionTicket.java ! src/java.base/share/classes/sun/security/ssl/PostHandshakeContext.java + test/jdk/javax/net/ssl/SSLEngine/FinishedPresent.java Changeset: 1e796eae Author: Roland Westrelin Date: 2020-02-21 15:01:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1e796eae 8239367: RunThese30M.java failed due to "assert(false) failed: graph should be schedulable" Reviewed-by: thartmann, vlivanov, neliasso ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/graphKit.cpp + test/hotspot/jtreg/compiler/types/TestSubTypeCheckMacroNodeWrongMem.java Changeset: 86ad1950 Author: Roland Westrelin Date: 2020-02-20 16:41:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/86ad1950 8238384: CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found" Reviewed-by: vlivanov, thartmann ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/gcm.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/macro.hpp ! src/hotspot/share/opto/macroArrayCopy.cpp ! src/hotspot/share/opto/type.hpp + test/hotspot/jtreg/compiler/escapeAnalysis/TestCopyOfBrokenAntiDependency.java Changeset: 8e74ed46 Author: Alexey Bakhtin Committer: Andrew Brygin Date: 2020-03-03 13:06:50 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8e74ed46 8239787: AArch64: String.indexOf may incorrectly handle empty strings Reviewed-by: aph, lmesnik, yan ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp + test/hotspot/jtreg/runtime/StringIntrinsic/StringIndexOfChar.java Changeset: b3666b94 Author: Aleksey Shipilev Date: 2020-03-04 11:50:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b3666b94 8240511: Shenandoah: parallel safepoint workers count should be ParallelGCThreads Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp - test/hotspot/jtreg/gc/shenandoah/options/TestSafepointWorkers.java Changeset: 9d57eefe Author: Jan Lahoda Date: 2020-03-04 13:43:25 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9d57eefe 8239575: javadoc triggers javac AssertionError for annos on modules Ensure ModuleSymbols are implicitly loaded only once in the javadoc context. Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/ModuleFinder.java ! test/langtools/jdk/javadoc/tool/modules/Modules.java Changeset: 0c998388 Author: Jan Lahoda Date: 2020-03-04 13:43:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0c998388 8228451: NPE in Attr.java when -XDshould-stop.ifError=FLOW Avoiding parsing of compound assignment as a type. Reviewed-by: jjg, vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/langtools/tools/javac/parser/JavacParserTest.java Changeset: e44dcf09 Author: Jan Lahoda Date: 2020-03-04 13:43:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e44dcf09 8234896: Tab completion does not work for method references in jshell Reviewed-by: rfield ! src/jdk.jshell/share/classes/jdk/jshell/SourceCodeAnalysisImpl.java ! test/langtools/jdk/jshell/CompletionSuggestionTest.java Changeset: aa547959 Author: Andy Herrick Date: 2020-03-03 17:58:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/aa547959 8237967: No proper error message when --runtime-image points to non-existent path Reviewed-by: kizune, asemenyuk, almatvee ! src/jdk.incubator.jpackage/share/classes/jdk/incubator/jpackage/internal/DeployParams.java ! src/jdk.incubator.jpackage/share/classes/jdk/incubator/jpackage/internal/resources/MainResources.properties ! src/jdk.incubator.jpackage/share/classes/jdk/incubator/jpackage/internal/resources/MainResources_ja.properties ! src/jdk.incubator.jpackage/share/classes/jdk/incubator/jpackage/internal/resources/MainResources_zh_CN.properties ! test/jdk/tools/jpackage/share/InvalidArgTest.java Changeset: ef4053ee Author: Andy Herrick Date: 2020-03-03 18:07:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ef4053ee 8237966: Creating runtime pkg requires --mac-package-identifier Reviewed-by: kizune, asemenyuk, almatvee ! src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/MacPkgBundler.java Changeset: 128f0833 Author: Andy Herrick Date: 2020-03-03 18:10:15 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/128f0833 8238692: MacOS runtime Installer issue Reviewed-by: kizune, asemenyuk, almatvee ! src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/MacAppImageBuilder.java ! src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/MacPkgBundler.java ! src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/resources/MacResources.properties Changeset: ff843fab Author: Volker Simonis Date: 2020-03-04 14:55:43 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ff843fab 8240333: jmod incorrectly updates .jar and .jmod files during hashing Reviewed-by: martin, alanb, lancea ! src/jdk.jlink/share/classes/jdk/tools/jmod/JmodOutputStream.java ! src/jdk.jlink/share/classes/jdk/tools/jmod/JmodTask.java Changeset: 01ef6d79 Author: Aleksey Shipilev Date: 2020-03-04 19:23:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/01ef6d79 8240534: Shenandoah: ditch debug safepoint timeout adjustment Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp Changeset: edb59b58 Author: Jonathan Gibbons Date: 2020-03-04 12:58:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/edb59b58 8239817: Eliminate use of contentContainer and friends Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractOverviewIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractTreeWriter.java ! 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/ClassUseWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstantsSummaryWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DeprecatedListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DocFilesHandlerImpl.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/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/PackageTreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageUseWriter.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/SerializedFormWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SingleIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SplitIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SubWriterHolderWriter.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/TreeWriter.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/testHtmlLandmarkRegions/TestHtmlLandmarkRegions.java ! test/langtools/jdk/javadoc/doclet/testHtmlTag/TestHtmlTag.java ! test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testOverview/TestOverview.java Changeset: 5229896f Author: Calvin Cheung Date: 2020-03-04 15:34:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5229896f 8240481: Remove CDS usage of InstanceKlass::is_in_error_state Track the classes which fail verification during CDS dumping in DumpTimeSharedClassInfo. Reviewed-by: iklam, minqi ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.hpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp Changeset: 10b09c79 Author: Jesper Wilhelmsson Date: 2020-03-05 02:02:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/10b09c79 Added tag jdk-15+13 for changeset 1c06a8ee8aca ! .hgtags Changeset: 6cb2e02a Author: Yumin Qi Date: 2020-03-04 21:29:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6cb2e02a 8240546: runtime/cds/appcds/TestZGCWithCDS.java fails with Graal Test failed since Graal does not work with ZGC, fixed in test to skip Graal if ZGC. Reviewed-by: ccheung ! test/hotspot/jtreg/runtime/cds/appcds/TestZGCWithCDS.java Changeset: 7ba18fc0 Author: Ioi Lam Date: 2020-03-04 22:26:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7ba18fc0 8240244: Avoid calling resolve_super_or_fail in SystemDictionary::load_shared_class Reviewed-by: redestad, lfoltan, minqi ! src/hotspot/share/classfile/classListParser.cpp ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/classfile/classLoaderExt.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/memory/dynamicArchive.cpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp Changeset: d1818942 Author: Qi Feng Committer: Ningsheng Jian Date: 2020-03-05 14:51:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d1818942 8240286: [TESTBUG] Test command error in hotspot/jtreg/compiler/loopopts/superword/SumRedAbsNeg_Float.java Reviewed-by: kvn, thartmann ! test/hotspot/jtreg/compiler/loopopts/superword/SumRedAbsNeg_Float.java Changeset: b2f1f73e Author: Ravi Reddy Committer: David Buck Date: 2020-03-05 03:27:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b2f1f73e 8183369: RFC unconformity of HttpURLConnection with proxy HttpURLConnection retried with proxy if the connection fails on first attempt as per RFC Reviewed-by: chegar, dfuchs, vtewari ! src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! test/jdk/java/net/HttpURLConnection/HttpURLConWithProxy.java Changeset: 3490262a Author: Yasumasa Suenaga Date: 2020-03-05 19:46:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3490262a 8240197: Cannot start JVM when $JAVA_HOME includes CJK characters Reviewed-by: iklam, stuefe, rschmelter ! src/hotspot/os/windows/os_windows.cpp Changeset: 3ddd7b86 Author: Erik ?sterlund Date: 2020-03-05 11:12:51 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3ddd7b86 8240370: Provide Intel JCC Erratum opt-out Reviewed-by: redestad, vlivanov, thartmann ! src/hotspot/cpu/x86/globals_x86.hpp ! src/hotspot/cpu/x86/vm_version_x86.cpp Changeset: 78982f7c Author: Claes Redestad Date: 2020-03-05 13:14:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/78982f7c 8240528: OopMap cleanup Reviewed-by: kvn, thartmann ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/share/compiler/oopMap.cpp ! src/hotspot/share/compiler/oopMap.hpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/runtime/vmStructs.cpp Changeset: d75e62e1 Author: Markus Gr?nlund Date: 2020-03-05 17:55:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d75e62e1 8239376: JFR: assert(!cld->is_unsafe_anonymous()) failed: invariant Reviewed-by: coleenp, lfoltan, hseigel ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSet.cpp Changeset: db91be2e Author: Alexandre Iline Date: 2020-03-05 09:51:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/db91be2e 8240241: Add support for JCov DiffCoverage to make files Reviewed-by: erikj, ihse ! doc/testing.html ! doc/testing.md ! make/RunTests.gmk Changeset: 3607ddd5 Author: Lance Andersen Date: 2020-03-05 13:56:40 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3607ddd5 8211917: Zip FS should add META-INF/MANIFEST.FS at the start of the Zip/JAR Reviewed-by: clanger, jpai ! src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipFileSystem.java + test/jdk/jdk/nio/zipfs/testng/TEST.properties + test/jdk/jdk/nio/zipfs/testng/test/ManifestOrderTest.java + test/jdk/jdk/nio/zipfs/testng/util/ZipFsBaseTest.java Changeset: 4a32eda4 Author: Vicente Romero Date: 2020-03-05 16:46:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/4a32eda4 8240454: incorrect error message: as of release 13, 'record' is a restricted type name Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/langtools/lib/combo/tools/javac/combo/CompilationTestCase.java ! test/langtools/lib/combo/tools/javac/combo/Diagnostics.java ! test/langtools/lib/combo/tools/javac/combo/JavacTemplateTestBase.java ! test/langtools/tools/javac/records/RecordCompilationTests.java ! test/langtools/tools/javac/switchexpr/WrongYieldTest.out Changeset: 001b8056 Author: Joe Darcy Date: 2020-03-05 15:07:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/001b8056 8240624: Note mapping of RoundingMode constants to equivalent IEEE 754-2019 attribute Reviewed-by: bpb ! src/java.base/share/classes/java/math/RoundingMode.java Changeset: f456f151 Author: Doug Simon Date: 2020-03-05 16:32:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f456f151 8240538: [JVMCI] add test for JVMCI ConstantPool class Reviewed-by: kvn, iignatyev + test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/ConstantPoolTest.java Changeset: 9c6a7696 Author: Ramkumar Sunderbabu Committer: Ramkumar Sunderbabu Date: 2020-03-06 10:27:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9c6a7696 8153430: jdk regression test MletParserLocaleTest, ParserInfiniteLoopTest reduce default timeout Removed timeout=5 from the tests so that default timeout is used Reviewed-by: cjplummer ! test/jdk/javax/management/loading/MletParserLocaleTest.java ! test/jdk/javax/management/loading/ParserInfiniteLoopTest.java Changeset: f10fd7a7 Author: Matthias Baesken Date: 2020-03-05 13:12:51 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f10fd7a7 8240603: Windows 32bit compile error after 8238676 Reviewed-by: clanger, dholmes ! test/hotspot/jtreg/runtime/jni/atExit/libatExit.c Changeset: 3adad5a6 Author: Martin Doerr Date: 2020-03-06 11:04:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3adad5a6 8239856: [ntintel] asserts about copying unaligned array element Reviewed-by: stuefe, sspitsyn ! src/jdk.jdwp.agent/share/native/libjdwp/ArrayReferenceImpl.c Changeset: 25d2db06 Author: Ivan Walulya Date: 2020-03-06 11:40:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/25d2db06 8240589: OtherRegionsTable::_num_occupied not updated correctly Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/g1/heapRegionRemSet.cpp Changeset: 05b8f97b Author: duke Date: 2020-03-06 11:01:19 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/05b8f97b Automatic merge of jdk:master into master Changeset: 5153187a Author: duke Date: 2020-03-06 11:01:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5153187a Automatic merge of master into foreign-memaccess ! make/RunTests.gmk ! make/RunTests.gmk Changeset: ff700a43 Author: duke Date: 2020-03-06 11:02:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ff700a43 Automatic merge of foreign-memaccess into foreign-abi ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp From duke at openjdk.java.net Fri Mar 6 11:27:58 2020 From: duke at openjdk.java.net (duke) Date: Fri, 6 Mar 2020 11:27:58 GMT Subject: git: openjdk/panama-foreign: foreign-jextract: 89 new changesets Message-ID: Changeset: ff55c490 Author: Phil Race Date: 2020-02-12 14:45:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ff55c490 8238842: AIOOBE in GIFImageReader.initializeStringTable Reviewed-by: serb, bpb ! src/java.desktop/share/classes/com/sun/imageio/plugins/gif/GIFImageReader.java + test/jdk/javax/imageio/plugins/gif/GIFCodeSizeTest.java Changeset: 7af366a7 Author: Sergey Bylokhov Date: 2020-02-13 13:17:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7af366a7 8238738: AudioSystem.getMixerInfo() takes about 30 sec to report a gone audio device Reviewed-by: prr ! src/java.desktop/windows/native/libjsound/PLATFORM_API_WinOS_DirectSound.cpp Changeset: 8d2aa62b Author: Sergey Bylokhov Date: 2020-02-13 13:19:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8d2aa62b 8221823: Requested JDialog width is ignored Reviewed-by: aivanov ! src/java.desktop/windows/classes/sun/awt/windows/WDialogPeer.java ! src/java.desktop/windows/classes/sun/awt/windows/WFramePeer.java ! src/java.desktop/windows/classes/sun/awt/windows/WWindowPeer.java ! src/java.desktop/windows/native/libawt/windows/awt_Window.cpp ! test/jdk/ProblemList.txt ! test/jdk/java/awt/Mixing/AWT_Mixing/HierarchyBoundsListenerMixingTest.java ! test/jdk/java/awt/Mixing/AWT_Mixing/MixingFrameResizing.java ! test/jdk/java/awt/Mixing/AWT_Mixing/MixingPanelsResizing.java + test/jdk/java/awt/Window/MinimumSizeDPIVariation/MinimumSizeDPIVariation.java Changeset: 784e5751 Author: Sergey Bylokhov Date: 2020-02-13 13:21:21 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/784e5751 8238741: java.awt.Robot(GraphicsDevice) constructor does not follow the spec Reviewed-by: aivanov ! src/java.desktop/share/classes/java/awt/Robot.java + test/jdk/java/awt/Headless/HeadlessRobot.java Changeset: 5705a551 Author: Sergey Bylokhov Date: 2020-02-13 13:23:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5705a551 8233827: Enable screenshots in the enhanced failure handler on Linux/macOS Reviewed-by: iignatyev ! test/failure_handler/src/share/conf/linux.properties ! test/failure_handler/src/share/conf/mac.properties Changeset: e6915ff1 Author: Phil Race Date: 2020-02-14 09:10:43 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e6915ff1 8238942: Rendering artifacts with LCD text and fractional metrics Reviewed-by: serb, jdv ! src/java.desktop/share/native/libfontmanager/freetypeScaler.c Changeset: 80f5a47b Author: Phil Race Date: 2020-02-14 10:44:30 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/80f5a47b 8239091: Reversed arguments in call to strstr in freetype "debug" code Reviewed-by: bpb ! src/java.desktop/share/native/libfontmanager/freetypeScaler.c Changeset: c6e9d209 Author: Alexander Zuev Date: 2020-02-17 20:04:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c6e9d209 8237221: [macos] java/awt/MenuBar/SeparatorsNavigation/SeparatorsNavigation.java fails Reviewed-by: serb + test/jdk/java/awt/MenuBar/SeparatorsNavigation/SeparatorsNavigation.java Changeset: 3c720426 Author: Prasanta Sadhukhan Date: 2020-02-20 14:49:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3c720426 8239334: Tab Size does not work correctly in JTextArea with setLineWrap on Reviewed-by: serb, pbansal ! src/java.desktop/share/classes/javax/swing/text/WrappedPlainView.java + test/jdk/javax/swing/JTextArea/TestTabSizeWithLineWrap.java Changeset: b5fdcb08 Author: Pankaj Bansal Date: 2020-02-21 16:31:45 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b5fdcb08 8216329: Cannot resize CheckBoxItemMenu in Synth L&F with setHorizontalTextPosition Reviewed-by: serb, psadhukhan ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicMenuItemUI.java ! src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/WindowsMenuItemUI.java + test/jdk/javax/swing/plaf/synth/SynthCheckBoxMenuItem/Check_Icon.png + test/jdk/javax/swing/plaf/synth/SynthCheckBoxMenuItem/MenuItem_Selected.png + test/jdk/javax/swing/plaf/synth/SynthCheckBoxMenuItem/TestJCheckBoxMenuItem.java Changeset: b5e16220 Author: Pankaj Bansal Date: 2020-02-21 17:00:23 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b5e16220 8153090: TAB key cannot change input focus after the radio button in the Color Selection dialog Reviewed-by: serb, psadhukhan ! src/java.desktop/share/classes/javax/swing/colorchooser/ColorPanel.java Changeset: f916df3b Author: Pankaj Bansal Date: 2020-02-21 17:09:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f916df3b 8238985: [TESTBUG] The arrow image is blue instead of green Reviewed-by: serb, psadhukhan ! test/jdk/javax/swing/JTextPane/TestJTextPaneHTMLRendering.java Changeset: fa7f53ee Author: Alexey Ivanov Date: 2020-02-25 20:00:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/fa7f53ee 8235147: Release HDC from passiveDCList sooner Reviewed-by: serb, jdv ! src/java.desktop/windows/native/libawt/windows/awt_Component.cpp ! src/java.desktop/windows/native/libawt/windows/awt_Component.h Changeset: 55768aa4 Author: Sergey Bylokhov Date: 2020-02-27 09:49:33 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/55768aa4 8239583: [AIX] simplify the native references in X input methods Reviewed-by: clanger, itakiguchi ! src/java.desktop/aix/native/libawt_xawt/awt/awt_InputMethod.c ! src/java.desktop/unix/native/common/awt/awt_p.h ! src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c Changeset: 5e912fbe Author: Sergey Bylokhov Date: 2020-02-28 16:49:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5e912fbe 8240202: A few client tests leave mouse buttons pressed Reviewed-by: prr ! test/jdk/ProblemList.txt ! test/jdk/java/awt/Mixing/AWT_Mixing/JSplitPaneOverlapping.java ! test/jdk/javax/swing/JButton/PressedButtonRightClickTest.java Changeset: bd25c0e0 Author: Christian Hagedorn Date: 2020-02-28 15:33:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/bd25c0e0 8239852: java/util/concurrent tests fail with -XX:+VerifyGraphEdges: assert(!VerifyGraphEdges) failed: verification should have failed Remove an assertion which was too strong for some valid IRs when running with -XX:+VerifyGraphEdges Reviewed-by: neliasso, thartmann ! src/hotspot/share/opto/gcm.cpp Changeset: 0cd6d13b Author: Peter Tribble Committer: Daniel D. Daugherty Date: 2020-02-28 10:16:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0cd6d13b 8240231: Build failure on illumos after 8238988 Add missing cast Reviewed-by: dcubed, shade ! src/hotspot/os_cpu/solaris_x86/thread_solaris_x86.cpp Changeset: 637795e0 Author: Lutz Schmidt Date: 2020-02-28 16:36:47 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/637795e0 8239931: [win][x86] vtable stub generation: assert failure (code size estimate) follow-up Reviewed-by: mdoerr ! src/hotspot/cpu/x86/vtableStubs_x86_32.cpp Changeset: 5afeeed5 Author: Aleksey Shipilev Date: 2020-02-28 17:59:50 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5afeeed5 8240215: Shenandoah: remove ShenandoahAllocationTrace Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: 6ad1db40 Author: Aleksey Shipilev Date: 2020-02-28 17:59:51 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6ad1db40 8240216: Shenandoah: remove ShenandoahTerminationTrace Reviewed-by: zgu ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: 8a79f267 Author: Aleksey Shipilev Date: 2020-02-28 17:59:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8a79f267 8240217: Shenandoah: remove ShenandoahEvacAssist Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: b38f3cf3 Author: Volker Simonis Date: 2020-02-28 19:49:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b38f3cf3 8240226: DeflateIn_InflateOut.java test incorrectly assumes size of compressed file Reviewed-by: martin, alanb ! test/jdk/java/util/zip/DeflateIn_InflateOut.java Changeset: 1be89d96 Author: Jonathan Gibbons Date: 2020-02-28 12:46:58 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1be89d96 8240136: Cleanup/simplify HTML/CSS for definition lists Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeOptionalMemberWriterImpl.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/HtmlDocletWriter.java ! 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/formats/html/markup/HtmlStyle.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlTree.java = test/langtools/jdk/javadoc/doclet/testExternalOverriddenMethod/TestExternalOverriddenMethod.java = test/langtools/jdk/javadoc/doclet/testExternalOverriddenMethod/package-list + test/langtools/jdk/javadoc/doclet/testExternalOverriddenMethod/pkg/XReader.java - test/langtools/jdk/javadoc/doclet/testExternalOverridenMethod/pkg/XReader.java ! test/langtools/jdk/javadoc/doclet/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java ! test/langtools/jdk/javadoc/doclet/testIndex/TestIndex.java ! test/langtools/jdk/javadoc/doclet/testInterface/TestInterface.java ! test/langtools/jdk/javadoc/doclet/testLambdaFeature/TestLambdaFeature.java ! test/langtools/jdk/javadoc/doclet/testLinkTaglet/TestLinkTaglet.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/langtools/jdk/javadoc/doclet/testPackageHtml/TestPackageHtml.java ! test/langtools/jdk/javadoc/doclet/testPrivateClasses/TestPrivateClasses.java ! test/langtools/jdk/javadoc/doclet/testSummaryTag/TestSummaryTag.java Changeset: b247e6d9 Author: Leonid Mesnik Date: 2020-02-28 13:21:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b247e6d9 8203239: [TESTBUG] remove vmTestbase/vm/gc/kind/parOld test Reviewed-by: lkorinth, shade ! test/hotspot/jtreg/TEST.quick-groups - test/hotspot/jtreg/vmTestbase/vm/gc/kind/parOld/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/gc/kind/parOld/test.sh Changeset: add146cc Author: Yumin Qi Date: 2020-02-28 15:30:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/add146cc 8236604: Optimize SystemDictionary::resolve_well_known_classes for CDS Serialize SystemDictionary::_well_known_classes into CDS and quickly resolve them at runtime in vm startup stage. Reviewed-by: iklam, coleenp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.hpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/klass.cpp Changeset: f176fae8 Author: Jie Fu Date: 2020-02-29 09:38:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f176fae8 8240254: Build is broken when cds is disabled after JDK-8236604 Reviewed-by: redestad ! src/hotspot/share/classfile/systemDictionary.hpp Changeset: 5bfb8146 Author: Yumin Qi Date: 2020-02-28 19:29:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5bfb8146 8240258: SystemDictionary::quick_resolve need guarded by INCLUDE_CDS Supplemental fix for 8236604 to guard SystemDictionary::quick_resolve with CDS Reviewed-by: iklam, ccheung ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp Changeset: 0a820d6d Author: Lin Zang Date: 2020-02-29 14:43:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0a820d6d 8239916: SA: delete dead code in jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java Reviewed-by: stefank ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java Changeset: 742bdf00 Author: Kun Wang Committer: Fei Yang Date: 2020-02-26 17:32:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/742bdf00 8239915: Zero VM crashes when handling dynamic constant Reviewed-by: dholmes ! src/hotspot/share/interpreter/bytecodeInterpreter.cpp + test/hotspot/jtreg/runtime/invokedynamic/DynamicConstantHelper.jasm + test/hotspot/jtreg/runtime/invokedynamic/TestDynamicConstant.java Changeset: 0532bd23 Author: Ioi Lam Date: 2020-03-01 17:36:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0532bd23 8240267: VM fails to start with CDS enabled but JVMTI disabled Reviewed-by: dholmes ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/systemDictionary.cpp Changeset: 65bf6185 Author: Prasanta Sadhukhan Date: 2020-03-02 10:50:33 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/65bf6185 Merge ! test/jdk/ProblemList.txt ! test/jdk/ProblemList.txt Changeset: 751de037 Author: Rajan Halade Date: 2020-03-01 23:04:02 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/751de037 8225130: Add exception for expiring Comodo roots to VerifyCACerts test Reviewed-by: weijun ! test/jdk/sun/security/lib/cacerts/VerifyCACerts.java Changeset: ebadfaeb Author: Claes Redestad Date: 2020-03-02 08:22:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ebadfaeb 8196334: Optimize UUID#fromString Co-authored-by: Andriy Plokhotnyuk Co-authored-by: Jon Chambers Reviewed-by: igerasim, alanb ! src/java.base/share/classes/java/util/UUID.java ! test/jdk/java/util/UUID/UUIDTest.java + test/micro/org/openjdk/bench/java/util/UUIDBench.java Changeset: d7b122ed Author: Christian Hagedorn Date: 2020-03-02 10:23:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d7b122ed 8238438: SuperWord::co_locate_pack picks memory state of first instead of last load Fix selection of first and last memory state in SuperWord::co_locate_pack Reviewed-by: thartmann, kvn ! src/hotspot/share/opto/superword.cpp ! src/hotspot/share/opto/superword.hpp + test/hotspot/jtreg/compiler/loopopts/superword/CoLocatePackMemoryState.java Changeset: ac60e4b9 Author: Stefan Karlsson Date: 2020-03-02 12:30:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ac60e4b9 8240220: IdealLoopTree::dump_head predicate printing is broken Reviewed-by: thartmann, neliasso, chagedorn ! src/hotspot/share/opto/loopnode.cpp Changeset: 14913407 Author: Stefan Karlsson Date: 2020-03-02 12:30:59 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/14913407 8240223: Use consistent predicate order in and with PhaseIdealLoop::find_predicate Reviewed-by: thartmann, neliasso, chagedorn ! src/hotspot/share/opto/loopUnswitch.cpp ! src/hotspot/share/opto/loopnode.cpp Changeset: 84f3e867 Author: Martin Balao Date: 2020-02-05 12:20:36 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/84f3e867 8238555: Allow Initialization of SunPKCS11 with NSS when there are external FIPS modules in the NSSDB Reviewed-by: mullan, valeriep ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Secmod.java Changeset: 6bb05362 Author: Harold Seigel Date: 2020-03-02 16:10:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6bb05362 8239568: [TESTBUG] LoadLibraryTest.java fails with RuntimeException Throw jtreg.SkippedException instead of failing if shared library isn't unloaded Reviewed-by: coleenp, lmesnik - test/hotspot/jtreg/runtime/logging/loadLibraryTest/LoadLibrary.java ! test/hotspot/jtreg/runtime/logging/loadLibraryTest/LoadLibraryTest.java ! test/hotspot/jtreg/runtime/logging/loadLibraryTest/libLoadLibraryClass.c Changeset: e455d382 Author: Patrick Concannon Date: 2020-03-02 16:47:51 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e455d382 8234812: Add micros for DatagramChannel send/receive Benchmarks for the DatagramChannel::send and DatagramChannel::receive methods Reviewed-by: alanb, chegar + test/micro/org/openjdk/bench/java/nio/DatagramChannelSendReceive.java Changeset: c280d98e Author: Lois Foltan Date: 2020-03-02 18:42:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c280d98e 8237766: Enhance signature API to include ResolvingSignatureStream New ResolvingSignatureStream class provides the capability to easily walk through the differing parts of a signature while resolving or querying its underlying types. Co-authored-by: John Rose Reviewed-by: coleenp, fparain, hseigel ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/runtime/reflection.cpp ! src/hotspot/share/runtime/signature.cpp ! src/hotspot/share/runtime/signature.hpp Changeset: 96b61b8f Author: Kim Barrett Date: 2020-03-02 14:45:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/96b61b8f 8240246: Avoid cast_to_oop from char* Change type of gtest object from char[] to unsigned char[]. Reviewed-by: dholmes ! test/hotspot/gtest/oops/test_oop.cpp Changeset: 35ee1cb2 Author: Mikhailo Seledtsov Date: 2020-03-02 12:16:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/35ee1cb2 8236938: [TESTBUG] JFR event MetaspaceAllocationFailure is not tested New test for MetaspaceAllocationFailure Reviewed-by: hseigel, stuefe ! test/hotspot/jtreg/runtime/Metaspace/FragmentMetaspace.java - test/hotspot/jtreg/runtime/testlibrary/GeneratedClassLoader.java + test/jdk/jdk/jfr/event/runtime/TestMetaspaceAllocationFailure.java + test/lib/jdk/test/lib/classloader/GeneratingCompilingClassLoader.java Changeset: c42de933 Author: David Holmes Date: 2020-03-02 19:49:42 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c42de933 8238676: jni crashes on accessing it from process exit hook Reviewed-by: fparain, gziemski ! make/test/JtregNativeHotspot.gmk ! src/hotspot/share/prims/jni.cpp + test/hotspot/jtreg/runtime/jni/atExit/TestAtExit.java + test/hotspot/jtreg/runtime/jni/atExit/libatExit.c Changeset: 26a7b0dd Author: Prasanta Sadhukhan Date: 2020-03-03 13:31:33 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/26a7b0dd Merge Changeset: 908a9331 Author: Nils Eliasson Date: 2020-03-03 10:29:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/908a9331 8238759: Clones should always keep the base pointer Reviewed-by: rkennke, thartmann ! src/hotspot/share/gc/shared/c2/barrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/opto/arraycopynode.cpp ! test/hotspot/jtreg/compiler/arguments/TestStressReflectiveCode.java Changeset: 2a791467 Author: Volker Simonis Date: 2020-03-03 11:24:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2a791467 8240235: jdk.test.lib.util.JarUtils updates jar files incorrectly Reviewed-by: martin, clanger, lancea ! test/lib/jdk/test/lib/util/JarUtils.java Changeset: 3fdf26d8 Author: Claes Redestad Date: 2020-03-03 11:40:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3fdf26d8 8240302: x64: Assembler::reachable redundantly call Relocation::type() more than once Reviewed-by: kvn, iklam, thartmann ! src/hotspot/cpu/x86/assembler_x86.cpp Changeset: 52cfd292 Author: Claes Redestad Date: 2020-03-03 12:41:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/52cfd292 8240263: Assertion-only call in Method::link_method affecting product builds Reviewed-by: shade, dcubed, iklam ! src/hotspot/share/oops/method.cpp Changeset: cf89ff7a Author: Harold Seigel Date: 2020-03-03 15:50:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/cf89ff7a 8240324: Improve is_boot_class_loader_data() by adding simple check Check if cld is the null_cld before looking at the class loader oop Reviewed-by: coleenp ! src/hotspot/share/classfile/classLoaderData.inline.hpp Changeset: 3ca275fb Author: Coleen Phillimore Date: 2020-03-03 11:19:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3ca275fb 8225760: oop::raw_set_obj isn't needed Reviewed-by: hseigel, rkennke ! src/hotspot/share/oops/oopsHierarchy.hpp Changeset: ea55699f Author: Fairoz Matte Date: 2020-02-27 19:33:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ea55699f 8239055: Wrong implementation of VMState.hasListener Correct the VMState.hasListener implementation to return WeakReference type Reviewed-by: sspitsyn, poonam ! src/jdk.jdi/share/classes/com/sun/tools/jdi/VMState.java Changeset: 467ee78a Author: Mikhailo Seledtsov Date: 2020-03-03 12:43:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/467ee78a 8235206: JFR TestCrossProcessStreaming - validate that data can be consumed while it is being produced Updated test to validate concurrent produce/consume Reviewed-by: egahlin ! test/jdk/jdk/jfr/api/consumer/streaming/TestCrossProcessStreaming.java Changeset: 89448a83 Author: Xue-Lei Andrew Fan Date: 2020-03-03 15:57:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/89448a83 8233619: SSLEngine handshake status immediately after the handshake can be NOT_HANDSHAKING rather than FINISHED with TLSv1.3 Reviewed-by: jnimeh ! src/java.base/share/classes/sun/security/ssl/Finished.java ! src/java.base/share/classes/sun/security/ssl/NewSessionTicket.java ! src/java.base/share/classes/sun/security/ssl/PostHandshakeContext.java + test/jdk/javax/net/ssl/SSLEngine/FinishedPresent.java Changeset: 1e796eae Author: Roland Westrelin Date: 2020-02-21 15:01:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1e796eae 8239367: RunThese30M.java failed due to "assert(false) failed: graph should be schedulable" Reviewed-by: thartmann, vlivanov, neliasso ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/graphKit.cpp + test/hotspot/jtreg/compiler/types/TestSubTypeCheckMacroNodeWrongMem.java Changeset: 86ad1950 Author: Roland Westrelin Date: 2020-02-20 16:41:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/86ad1950 8238384: CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found" Reviewed-by: vlivanov, thartmann ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/gcm.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/macro.hpp ! src/hotspot/share/opto/macroArrayCopy.cpp ! src/hotspot/share/opto/type.hpp + test/hotspot/jtreg/compiler/escapeAnalysis/TestCopyOfBrokenAntiDependency.java Changeset: 8e74ed46 Author: Alexey Bakhtin Committer: Andrew Brygin Date: 2020-03-03 13:06:50 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8e74ed46 8239787: AArch64: String.indexOf may incorrectly handle empty strings Reviewed-by: aph, lmesnik, yan ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp + test/hotspot/jtreg/runtime/StringIntrinsic/StringIndexOfChar.java Changeset: b3666b94 Author: Aleksey Shipilev Date: 2020-03-04 11:50:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b3666b94 8240511: Shenandoah: parallel safepoint workers count should be ParallelGCThreads Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp - test/hotspot/jtreg/gc/shenandoah/options/TestSafepointWorkers.java Changeset: 9d57eefe Author: Jan Lahoda Date: 2020-03-04 13:43:25 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9d57eefe 8239575: javadoc triggers javac AssertionError for annos on modules Ensure ModuleSymbols are implicitly loaded only once in the javadoc context. Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/ModuleFinder.java ! test/langtools/jdk/javadoc/tool/modules/Modules.java Changeset: 0c998388 Author: Jan Lahoda Date: 2020-03-04 13:43:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0c998388 8228451: NPE in Attr.java when -XDshould-stop.ifError=FLOW Avoiding parsing of compound assignment as a type. Reviewed-by: jjg, vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/langtools/tools/javac/parser/JavacParserTest.java Changeset: e44dcf09 Author: Jan Lahoda Date: 2020-03-04 13:43:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e44dcf09 8234896: Tab completion does not work for method references in jshell Reviewed-by: rfield ! src/jdk.jshell/share/classes/jdk/jshell/SourceCodeAnalysisImpl.java ! test/langtools/jdk/jshell/CompletionSuggestionTest.java Changeset: aa547959 Author: Andy Herrick Date: 2020-03-03 17:58:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/aa547959 8237967: No proper error message when --runtime-image points to non-existent path Reviewed-by: kizune, asemenyuk, almatvee ! src/jdk.incubator.jpackage/share/classes/jdk/incubator/jpackage/internal/DeployParams.java ! src/jdk.incubator.jpackage/share/classes/jdk/incubator/jpackage/internal/resources/MainResources.properties ! src/jdk.incubator.jpackage/share/classes/jdk/incubator/jpackage/internal/resources/MainResources_ja.properties ! src/jdk.incubator.jpackage/share/classes/jdk/incubator/jpackage/internal/resources/MainResources_zh_CN.properties ! test/jdk/tools/jpackage/share/InvalidArgTest.java Changeset: ef4053ee Author: Andy Herrick Date: 2020-03-03 18:07:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ef4053ee 8237966: Creating runtime pkg requires --mac-package-identifier Reviewed-by: kizune, asemenyuk, almatvee ! src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/MacPkgBundler.java Changeset: 128f0833 Author: Andy Herrick Date: 2020-03-03 18:10:15 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/128f0833 8238692: MacOS runtime Installer issue Reviewed-by: kizune, asemenyuk, almatvee ! src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/MacAppImageBuilder.java ! src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/MacPkgBundler.java ! src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/resources/MacResources.properties Changeset: ff843fab Author: Volker Simonis Date: 2020-03-04 14:55:43 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ff843fab 8240333: jmod incorrectly updates .jar and .jmod files during hashing Reviewed-by: martin, alanb, lancea ! src/jdk.jlink/share/classes/jdk/tools/jmod/JmodOutputStream.java ! src/jdk.jlink/share/classes/jdk/tools/jmod/JmodTask.java Changeset: 01ef6d79 Author: Aleksey Shipilev Date: 2020-03-04 19:23:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/01ef6d79 8240534: Shenandoah: ditch debug safepoint timeout adjustment Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp Changeset: edb59b58 Author: Jonathan Gibbons Date: 2020-03-04 12:58:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/edb59b58 8239817: Eliminate use of contentContainer and friends Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractOverviewIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractTreeWriter.java ! 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/ClassUseWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstantsSummaryWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DeprecatedListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DocFilesHandlerImpl.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/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/PackageTreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageUseWriter.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/SerializedFormWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SingleIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SplitIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SubWriterHolderWriter.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/TreeWriter.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/testHtmlLandmarkRegions/TestHtmlLandmarkRegions.java ! test/langtools/jdk/javadoc/doclet/testHtmlTag/TestHtmlTag.java ! test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testOverview/TestOverview.java Changeset: 5229896f Author: Calvin Cheung Date: 2020-03-04 15:34:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5229896f 8240481: Remove CDS usage of InstanceKlass::is_in_error_state Track the classes which fail verification during CDS dumping in DumpTimeSharedClassInfo. Reviewed-by: iklam, minqi ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.hpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp Changeset: 10b09c79 Author: Jesper Wilhelmsson Date: 2020-03-05 02:02:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/10b09c79 Added tag jdk-15+13 for changeset 1c06a8ee8aca ! .hgtags Changeset: 6cb2e02a Author: Yumin Qi Date: 2020-03-04 21:29:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6cb2e02a 8240546: runtime/cds/appcds/TestZGCWithCDS.java fails with Graal Test failed since Graal does not work with ZGC, fixed in test to skip Graal if ZGC. Reviewed-by: ccheung ! test/hotspot/jtreg/runtime/cds/appcds/TestZGCWithCDS.java Changeset: 7ba18fc0 Author: Ioi Lam Date: 2020-03-04 22:26:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7ba18fc0 8240244: Avoid calling resolve_super_or_fail in SystemDictionary::load_shared_class Reviewed-by: redestad, lfoltan, minqi ! src/hotspot/share/classfile/classListParser.cpp ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/classfile/classLoaderExt.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/memory/dynamicArchive.cpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp Changeset: d1818942 Author: Qi Feng Committer: Ningsheng Jian Date: 2020-03-05 14:51:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d1818942 8240286: [TESTBUG] Test command error in hotspot/jtreg/compiler/loopopts/superword/SumRedAbsNeg_Float.java Reviewed-by: kvn, thartmann ! test/hotspot/jtreg/compiler/loopopts/superword/SumRedAbsNeg_Float.java Changeset: b2f1f73e Author: Ravi Reddy Committer: David Buck Date: 2020-03-05 03:27:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b2f1f73e 8183369: RFC unconformity of HttpURLConnection with proxy HttpURLConnection retried with proxy if the connection fails on first attempt as per RFC Reviewed-by: chegar, dfuchs, vtewari ! src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! test/jdk/java/net/HttpURLConnection/HttpURLConWithProxy.java Changeset: 3490262a Author: Yasumasa Suenaga Date: 2020-03-05 19:46:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3490262a 8240197: Cannot start JVM when $JAVA_HOME includes CJK characters Reviewed-by: iklam, stuefe, rschmelter ! src/hotspot/os/windows/os_windows.cpp Changeset: 3ddd7b86 Author: Erik ?sterlund Date: 2020-03-05 11:12:51 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3ddd7b86 8240370: Provide Intel JCC Erratum opt-out Reviewed-by: redestad, vlivanov, thartmann ! src/hotspot/cpu/x86/globals_x86.hpp ! src/hotspot/cpu/x86/vm_version_x86.cpp Changeset: 78982f7c Author: Claes Redestad Date: 2020-03-05 13:14:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/78982f7c 8240528: OopMap cleanup Reviewed-by: kvn, thartmann ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/share/compiler/oopMap.cpp ! src/hotspot/share/compiler/oopMap.hpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/runtime/vmStructs.cpp Changeset: d75e62e1 Author: Markus Gr?nlund Date: 2020-03-05 17:55:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d75e62e1 8239376: JFR: assert(!cld->is_unsafe_anonymous()) failed: invariant Reviewed-by: coleenp, lfoltan, hseigel ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSet.cpp Changeset: db91be2e Author: Alexandre Iline Date: 2020-03-05 09:51:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/db91be2e 8240241: Add support for JCov DiffCoverage to make files Reviewed-by: erikj, ihse ! doc/testing.html ! doc/testing.md ! make/RunTests.gmk Changeset: 3607ddd5 Author: Lance Andersen Date: 2020-03-05 13:56:40 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3607ddd5 8211917: Zip FS should add META-INF/MANIFEST.FS at the start of the Zip/JAR Reviewed-by: clanger, jpai ! src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipFileSystem.java + test/jdk/jdk/nio/zipfs/testng/TEST.properties + test/jdk/jdk/nio/zipfs/testng/test/ManifestOrderTest.java + test/jdk/jdk/nio/zipfs/testng/util/ZipFsBaseTest.java Changeset: 4a32eda4 Author: Vicente Romero Date: 2020-03-05 16:46:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/4a32eda4 8240454: incorrect error message: as of release 13, 'record' is a restricted type name Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/langtools/lib/combo/tools/javac/combo/CompilationTestCase.java ! test/langtools/lib/combo/tools/javac/combo/Diagnostics.java ! test/langtools/lib/combo/tools/javac/combo/JavacTemplateTestBase.java ! test/langtools/tools/javac/records/RecordCompilationTests.java ! test/langtools/tools/javac/switchexpr/WrongYieldTest.out Changeset: 001b8056 Author: Joe Darcy Date: 2020-03-05 15:07:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/001b8056 8240624: Note mapping of RoundingMode constants to equivalent IEEE 754-2019 attribute Reviewed-by: bpb ! src/java.base/share/classes/java/math/RoundingMode.java Changeset: f456f151 Author: Doug Simon Date: 2020-03-05 16:32:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f456f151 8240538: [JVMCI] add test for JVMCI ConstantPool class Reviewed-by: kvn, iignatyev + test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/ConstantPoolTest.java Changeset: 9c6a7696 Author: Ramkumar Sunderbabu Committer: Ramkumar Sunderbabu Date: 2020-03-06 10:27:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9c6a7696 8153430: jdk regression test MletParserLocaleTest, ParserInfiniteLoopTest reduce default timeout Removed timeout=5 from the tests so that default timeout is used Reviewed-by: cjplummer ! test/jdk/javax/management/loading/MletParserLocaleTest.java ! test/jdk/javax/management/loading/ParserInfiniteLoopTest.java Changeset: f10fd7a7 Author: Matthias Baesken Date: 2020-03-05 13:12:51 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f10fd7a7 8240603: Windows 32bit compile error after 8238676 Reviewed-by: clanger, dholmes ! test/hotspot/jtreg/runtime/jni/atExit/libatExit.c Changeset: 3adad5a6 Author: Martin Doerr Date: 2020-03-06 11:04:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3adad5a6 8239856: [ntintel] asserts about copying unaligned array element Reviewed-by: stuefe, sspitsyn ! src/jdk.jdwp.agent/share/native/libjdwp/ArrayReferenceImpl.c Changeset: 25d2db06 Author: Ivan Walulya Date: 2020-03-06 11:40:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/25d2db06 8240589: OtherRegionsTable::_num_occupied not updated correctly Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/g1/heapRegionRemSet.cpp Changeset: 05b8f97b Author: duke Date: 2020-03-06 11:01:19 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/05b8f97b Automatic merge of jdk:master into master Changeset: 5153187a Author: duke Date: 2020-03-06 11:01:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5153187a Automatic merge of master into foreign-memaccess ! make/RunTests.gmk ! make/RunTests.gmk Changeset: ff700a43 Author: duke Date: 2020-03-06 11:02:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ff700a43 Automatic merge of foreign-memaccess into foreign-abi ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp Changeset: e64f28e1 Author: duke Date: 2020-03-06 11:02:30 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e64f28e1 Automatic merge of foreign-abi into foreign-jextract From jvernee at openjdk.java.net Fri Mar 6 11:30:28 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Fri, 6 Mar 2020 11:30:28 GMT Subject: [foreign-jextract] [Rev 01] RFR: Improve jextract error reporting In-Reply-To: References: Message-ID: On Fri, 6 Mar 2020 11:17:09 GMT, Athijegannathan Sundararajan wrote: >> The pull request has been updated with 1 additional commit. > > src/jdk.incubator.jextract/share/classes/jdk/internal/clang/LibClang.java line 39: > >> 38: Index_h.clang_toggleCrashRecovery(CRASH_RECOVERY ? 1 : 0); >> 39: if (DEBUG && !CRASH_RECOVERY) { >> 40: System.err.println("LibClang crash recovery disabled"); > > Crash recovery is disabled by default, right? Shouldn't the debug for enabling? (because that is the explicit config behaviour - or else this message will be printed always) This was the way it was before when crash recovery was always being disabled. It would always print the message when running in debug mode. I guess now we can print whether the crash recovery is enabled or disabled instead. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/40 From jvernee at openjdk.java.net Fri Mar 6 11:30:37 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Fri, 6 Mar 2020 11:30:37 GMT Subject: [foreign-jextract] RFR: 8240657: when Java keywords are used as identifiers in C header, jextract generates non-compilable java code In-Reply-To: References: Message-ID: On Fri, 6 Mar 2020 08:51:19 GMT, Athijegannathan Sundararajan wrote: > If java keywords are found to be used as C identifiers, "_" is appended. LGTM! ------------- Marked as reviewed by jvernee (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/41 From duke at openjdk.java.net Fri Mar 6 11:34:21 2020 From: duke at openjdk.java.net (duke) Date: Fri, 6 Mar 2020 11:34:21 GMT Subject: git: openjdk/panama-foreign: foreign-memaccess: 87 new changesets Message-ID: <379b77ed-ea86-4e13-9ad9-7a08d79cc54f@openjdk.org> Changeset: ff55c490 Author: Phil Race Date: 2020-02-12 14:45:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ff55c490 8238842: AIOOBE in GIFImageReader.initializeStringTable Reviewed-by: serb, bpb ! src/java.desktop/share/classes/com/sun/imageio/plugins/gif/GIFImageReader.java + test/jdk/javax/imageio/plugins/gif/GIFCodeSizeTest.java Changeset: 7af366a7 Author: Sergey Bylokhov Date: 2020-02-13 13:17:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7af366a7 8238738: AudioSystem.getMixerInfo() takes about 30 sec to report a gone audio device Reviewed-by: prr ! src/java.desktop/windows/native/libjsound/PLATFORM_API_WinOS_DirectSound.cpp Changeset: 8d2aa62b Author: Sergey Bylokhov Date: 2020-02-13 13:19:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8d2aa62b 8221823: Requested JDialog width is ignored Reviewed-by: aivanov ! src/java.desktop/windows/classes/sun/awt/windows/WDialogPeer.java ! src/java.desktop/windows/classes/sun/awt/windows/WFramePeer.java ! src/java.desktop/windows/classes/sun/awt/windows/WWindowPeer.java ! src/java.desktop/windows/native/libawt/windows/awt_Window.cpp ! test/jdk/ProblemList.txt ! test/jdk/java/awt/Mixing/AWT_Mixing/HierarchyBoundsListenerMixingTest.java ! test/jdk/java/awt/Mixing/AWT_Mixing/MixingFrameResizing.java ! test/jdk/java/awt/Mixing/AWT_Mixing/MixingPanelsResizing.java + test/jdk/java/awt/Window/MinimumSizeDPIVariation/MinimumSizeDPIVariation.java Changeset: 784e5751 Author: Sergey Bylokhov Date: 2020-02-13 13:21:21 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/784e5751 8238741: java.awt.Robot(GraphicsDevice) constructor does not follow the spec Reviewed-by: aivanov ! src/java.desktop/share/classes/java/awt/Robot.java + test/jdk/java/awt/Headless/HeadlessRobot.java Changeset: 5705a551 Author: Sergey Bylokhov Date: 2020-02-13 13:23:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5705a551 8233827: Enable screenshots in the enhanced failure handler on Linux/macOS Reviewed-by: iignatyev ! test/failure_handler/src/share/conf/linux.properties ! test/failure_handler/src/share/conf/mac.properties Changeset: e6915ff1 Author: Phil Race Date: 2020-02-14 09:10:43 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e6915ff1 8238942: Rendering artifacts with LCD text and fractional metrics Reviewed-by: serb, jdv ! src/java.desktop/share/native/libfontmanager/freetypeScaler.c Changeset: 80f5a47b Author: Phil Race Date: 2020-02-14 10:44:30 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/80f5a47b 8239091: Reversed arguments in call to strstr in freetype "debug" code Reviewed-by: bpb ! src/java.desktop/share/native/libfontmanager/freetypeScaler.c Changeset: c6e9d209 Author: Alexander Zuev Date: 2020-02-17 20:04:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c6e9d209 8237221: [macos] java/awt/MenuBar/SeparatorsNavigation/SeparatorsNavigation.java fails Reviewed-by: serb + test/jdk/java/awt/MenuBar/SeparatorsNavigation/SeparatorsNavigation.java Changeset: 3c720426 Author: Prasanta Sadhukhan Date: 2020-02-20 14:49:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3c720426 8239334: Tab Size does not work correctly in JTextArea with setLineWrap on Reviewed-by: serb, pbansal ! src/java.desktop/share/classes/javax/swing/text/WrappedPlainView.java + test/jdk/javax/swing/JTextArea/TestTabSizeWithLineWrap.java Changeset: b5fdcb08 Author: Pankaj Bansal Date: 2020-02-21 16:31:45 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b5fdcb08 8216329: Cannot resize CheckBoxItemMenu in Synth L&F with setHorizontalTextPosition Reviewed-by: serb, psadhukhan ! src/java.desktop/share/classes/javax/swing/plaf/basic/BasicMenuItemUI.java ! src/java.desktop/windows/classes/com/sun/java/swing/plaf/windows/WindowsMenuItemUI.java + test/jdk/javax/swing/plaf/synth/SynthCheckBoxMenuItem/Check_Icon.png + test/jdk/javax/swing/plaf/synth/SynthCheckBoxMenuItem/MenuItem_Selected.png + test/jdk/javax/swing/plaf/synth/SynthCheckBoxMenuItem/TestJCheckBoxMenuItem.java Changeset: b5e16220 Author: Pankaj Bansal Date: 2020-02-21 17:00:23 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b5e16220 8153090: TAB key cannot change input focus after the radio button in the Color Selection dialog Reviewed-by: serb, psadhukhan ! src/java.desktop/share/classes/javax/swing/colorchooser/ColorPanel.java Changeset: f916df3b Author: Pankaj Bansal Date: 2020-02-21 17:09:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f916df3b 8238985: [TESTBUG] The arrow image is blue instead of green Reviewed-by: serb, psadhukhan ! test/jdk/javax/swing/JTextPane/TestJTextPaneHTMLRendering.java Changeset: fa7f53ee Author: Alexey Ivanov Date: 2020-02-25 20:00:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/fa7f53ee 8235147: Release HDC from passiveDCList sooner Reviewed-by: serb, jdv ! src/java.desktop/windows/native/libawt/windows/awt_Component.cpp ! src/java.desktop/windows/native/libawt/windows/awt_Component.h Changeset: 55768aa4 Author: Sergey Bylokhov Date: 2020-02-27 09:49:33 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/55768aa4 8239583: [AIX] simplify the native references in X input methods Reviewed-by: clanger, itakiguchi ! src/java.desktop/aix/native/libawt_xawt/awt/awt_InputMethod.c ! src/java.desktop/unix/native/common/awt/awt_p.h ! src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c Changeset: 5e912fbe Author: Sergey Bylokhov Date: 2020-02-28 16:49:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5e912fbe 8240202: A few client tests leave mouse buttons pressed Reviewed-by: prr ! test/jdk/ProblemList.txt ! test/jdk/java/awt/Mixing/AWT_Mixing/JSplitPaneOverlapping.java ! test/jdk/javax/swing/JButton/PressedButtonRightClickTest.java Changeset: bd25c0e0 Author: Christian Hagedorn Date: 2020-02-28 15:33:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/bd25c0e0 8239852: java/util/concurrent tests fail with -XX:+VerifyGraphEdges: assert(!VerifyGraphEdges) failed: verification should have failed Remove an assertion which was too strong for some valid IRs when running with -XX:+VerifyGraphEdges Reviewed-by: neliasso, thartmann ! src/hotspot/share/opto/gcm.cpp Changeset: 0cd6d13b Author: Peter Tribble Committer: Daniel D. Daugherty Date: 2020-02-28 10:16:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0cd6d13b 8240231: Build failure on illumos after 8238988 Add missing cast Reviewed-by: dcubed, shade ! src/hotspot/os_cpu/solaris_x86/thread_solaris_x86.cpp Changeset: 637795e0 Author: Lutz Schmidt Date: 2020-02-28 16:36:47 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/637795e0 8239931: [win][x86] vtable stub generation: assert failure (code size estimate) follow-up Reviewed-by: mdoerr ! src/hotspot/cpu/x86/vtableStubs_x86_32.cpp Changeset: 5afeeed5 Author: Aleksey Shipilev Date: 2020-02-28 17:59:50 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5afeeed5 8240215: Shenandoah: remove ShenandoahAllocationTrace Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: 6ad1db40 Author: Aleksey Shipilev Date: 2020-02-28 17:59:51 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6ad1db40 8240216: Shenandoah: remove ShenandoahTerminationTrace Reviewed-by: zgu ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: 8a79f267 Author: Aleksey Shipilev Date: 2020-02-28 17:59:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8a79f267 8240217: Shenandoah: remove ShenandoahEvacAssist Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: b38f3cf3 Author: Volker Simonis Date: 2020-02-28 19:49:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b38f3cf3 8240226: DeflateIn_InflateOut.java test incorrectly assumes size of compressed file Reviewed-by: martin, alanb ! test/jdk/java/util/zip/DeflateIn_InflateOut.java Changeset: 1be89d96 Author: Jonathan Gibbons Date: 2020-02-28 12:46:58 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1be89d96 8240136: Cleanup/simplify HTML/CSS for definition lists Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeOptionalMemberWriterImpl.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/HtmlDocletWriter.java ! 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/formats/html/markup/HtmlStyle.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlTree.java = test/langtools/jdk/javadoc/doclet/testExternalOverriddenMethod/TestExternalOverriddenMethod.java = test/langtools/jdk/javadoc/doclet/testExternalOverriddenMethod/package-list + test/langtools/jdk/javadoc/doclet/testExternalOverriddenMethod/pkg/XReader.java - test/langtools/jdk/javadoc/doclet/testExternalOverridenMethod/pkg/XReader.java ! test/langtools/jdk/javadoc/doclet/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java ! test/langtools/jdk/javadoc/doclet/testIndex/TestIndex.java ! test/langtools/jdk/javadoc/doclet/testInterface/TestInterface.java ! test/langtools/jdk/javadoc/doclet/testLambdaFeature/TestLambdaFeature.java ! test/langtools/jdk/javadoc/doclet/testLinkTaglet/TestLinkTaglet.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/langtools/jdk/javadoc/doclet/testPackageHtml/TestPackageHtml.java ! test/langtools/jdk/javadoc/doclet/testPrivateClasses/TestPrivateClasses.java ! test/langtools/jdk/javadoc/doclet/testSummaryTag/TestSummaryTag.java Changeset: b247e6d9 Author: Leonid Mesnik Date: 2020-02-28 13:21:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b247e6d9 8203239: [TESTBUG] remove vmTestbase/vm/gc/kind/parOld test Reviewed-by: lkorinth, shade ! test/hotspot/jtreg/TEST.quick-groups - test/hotspot/jtreg/vmTestbase/vm/gc/kind/parOld/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/gc/kind/parOld/test.sh Changeset: add146cc Author: Yumin Qi Date: 2020-02-28 15:30:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/add146cc 8236604: Optimize SystemDictionary::resolve_well_known_classes for CDS Serialize SystemDictionary::_well_known_classes into CDS and quickly resolve them at runtime in vm startup stage. Reviewed-by: iklam, coleenp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.hpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/klass.cpp Changeset: f176fae8 Author: Jie Fu Date: 2020-02-29 09:38:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f176fae8 8240254: Build is broken when cds is disabled after JDK-8236604 Reviewed-by: redestad ! src/hotspot/share/classfile/systemDictionary.hpp Changeset: 5bfb8146 Author: Yumin Qi Date: 2020-02-28 19:29:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5bfb8146 8240258: SystemDictionary::quick_resolve need guarded by INCLUDE_CDS Supplemental fix for 8236604 to guard SystemDictionary::quick_resolve with CDS Reviewed-by: iklam, ccheung ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp Changeset: 0a820d6d Author: Lin Zang Date: 2020-02-29 14:43:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0a820d6d 8239916: SA: delete dead code in jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java Reviewed-by: stefank ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java Changeset: 742bdf00 Author: Kun Wang Committer: Fei Yang Date: 2020-02-26 17:32:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/742bdf00 8239915: Zero VM crashes when handling dynamic constant Reviewed-by: dholmes ! src/hotspot/share/interpreter/bytecodeInterpreter.cpp + test/hotspot/jtreg/runtime/invokedynamic/DynamicConstantHelper.jasm + test/hotspot/jtreg/runtime/invokedynamic/TestDynamicConstant.java Changeset: 0532bd23 Author: Ioi Lam Date: 2020-03-01 17:36:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0532bd23 8240267: VM fails to start with CDS enabled but JVMTI disabled Reviewed-by: dholmes ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/systemDictionary.cpp Changeset: 65bf6185 Author: Prasanta Sadhukhan Date: 2020-03-02 10:50:33 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/65bf6185 Merge ! test/jdk/ProblemList.txt ! test/jdk/ProblemList.txt Changeset: 751de037 Author: Rajan Halade Date: 2020-03-01 23:04:02 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/751de037 8225130: Add exception for expiring Comodo roots to VerifyCACerts test Reviewed-by: weijun ! test/jdk/sun/security/lib/cacerts/VerifyCACerts.java Changeset: ebadfaeb Author: Claes Redestad Date: 2020-03-02 08:22:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ebadfaeb 8196334: Optimize UUID#fromString Co-authored-by: Andriy Plokhotnyuk Co-authored-by: Jon Chambers Reviewed-by: igerasim, alanb ! src/java.base/share/classes/java/util/UUID.java ! test/jdk/java/util/UUID/UUIDTest.java + test/micro/org/openjdk/bench/java/util/UUIDBench.java Changeset: d7b122ed Author: Christian Hagedorn Date: 2020-03-02 10:23:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d7b122ed 8238438: SuperWord::co_locate_pack picks memory state of first instead of last load Fix selection of first and last memory state in SuperWord::co_locate_pack Reviewed-by: thartmann, kvn ! src/hotspot/share/opto/superword.cpp ! src/hotspot/share/opto/superword.hpp + test/hotspot/jtreg/compiler/loopopts/superword/CoLocatePackMemoryState.java Changeset: ac60e4b9 Author: Stefan Karlsson Date: 2020-03-02 12:30:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ac60e4b9 8240220: IdealLoopTree::dump_head predicate printing is broken Reviewed-by: thartmann, neliasso, chagedorn ! src/hotspot/share/opto/loopnode.cpp Changeset: 14913407 Author: Stefan Karlsson Date: 2020-03-02 12:30:59 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/14913407 8240223: Use consistent predicate order in and with PhaseIdealLoop::find_predicate Reviewed-by: thartmann, neliasso, chagedorn ! src/hotspot/share/opto/loopUnswitch.cpp ! src/hotspot/share/opto/loopnode.cpp Changeset: 84f3e867 Author: Martin Balao Date: 2020-02-05 12:20:36 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/84f3e867 8238555: Allow Initialization of SunPKCS11 with NSS when there are external FIPS modules in the NSSDB Reviewed-by: mullan, valeriep ! src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/Secmod.java Changeset: 6bb05362 Author: Harold Seigel Date: 2020-03-02 16:10:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6bb05362 8239568: [TESTBUG] LoadLibraryTest.java fails with RuntimeException Throw jtreg.SkippedException instead of failing if shared library isn't unloaded Reviewed-by: coleenp, lmesnik - test/hotspot/jtreg/runtime/logging/loadLibraryTest/LoadLibrary.java ! test/hotspot/jtreg/runtime/logging/loadLibraryTest/LoadLibraryTest.java ! test/hotspot/jtreg/runtime/logging/loadLibraryTest/libLoadLibraryClass.c Changeset: e455d382 Author: Patrick Concannon Date: 2020-03-02 16:47:51 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e455d382 8234812: Add micros for DatagramChannel send/receive Benchmarks for the DatagramChannel::send and DatagramChannel::receive methods Reviewed-by: alanb, chegar + test/micro/org/openjdk/bench/java/nio/DatagramChannelSendReceive.java Changeset: c280d98e Author: Lois Foltan Date: 2020-03-02 18:42:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c280d98e 8237766: Enhance signature API to include ResolvingSignatureStream New ResolvingSignatureStream class provides the capability to easily walk through the differing parts of a signature while resolving or querying its underlying types. Co-authored-by: John Rose Reviewed-by: coleenp, fparain, hseigel ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/runtime/reflection.cpp ! src/hotspot/share/runtime/signature.cpp ! src/hotspot/share/runtime/signature.hpp Changeset: 96b61b8f Author: Kim Barrett Date: 2020-03-02 14:45:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/96b61b8f 8240246: Avoid cast_to_oop from char* Change type of gtest object from char[] to unsigned char[]. Reviewed-by: dholmes ! test/hotspot/gtest/oops/test_oop.cpp Changeset: 35ee1cb2 Author: Mikhailo Seledtsov Date: 2020-03-02 12:16:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/35ee1cb2 8236938: [TESTBUG] JFR event MetaspaceAllocationFailure is not tested New test for MetaspaceAllocationFailure Reviewed-by: hseigel, stuefe ! test/hotspot/jtreg/runtime/Metaspace/FragmentMetaspace.java - test/hotspot/jtreg/runtime/testlibrary/GeneratedClassLoader.java + test/jdk/jdk/jfr/event/runtime/TestMetaspaceAllocationFailure.java + test/lib/jdk/test/lib/classloader/GeneratingCompilingClassLoader.java Changeset: c42de933 Author: David Holmes Date: 2020-03-02 19:49:42 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c42de933 8238676: jni crashes on accessing it from process exit hook Reviewed-by: fparain, gziemski ! make/test/JtregNativeHotspot.gmk ! src/hotspot/share/prims/jni.cpp + test/hotspot/jtreg/runtime/jni/atExit/TestAtExit.java + test/hotspot/jtreg/runtime/jni/atExit/libatExit.c Changeset: 26a7b0dd Author: Prasanta Sadhukhan Date: 2020-03-03 13:31:33 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/26a7b0dd Merge Changeset: 908a9331 Author: Nils Eliasson Date: 2020-03-03 10:29:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/908a9331 8238759: Clones should always keep the base pointer Reviewed-by: rkennke, thartmann ! src/hotspot/share/gc/shared/c2/barrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/opto/arraycopynode.cpp ! test/hotspot/jtreg/compiler/arguments/TestStressReflectiveCode.java Changeset: 2a791467 Author: Volker Simonis Date: 2020-03-03 11:24:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2a791467 8240235: jdk.test.lib.util.JarUtils updates jar files incorrectly Reviewed-by: martin, clanger, lancea ! test/lib/jdk/test/lib/util/JarUtils.java Changeset: 3fdf26d8 Author: Claes Redestad Date: 2020-03-03 11:40:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3fdf26d8 8240302: x64: Assembler::reachable redundantly call Relocation::type() more than once Reviewed-by: kvn, iklam, thartmann ! src/hotspot/cpu/x86/assembler_x86.cpp Changeset: 52cfd292 Author: Claes Redestad Date: 2020-03-03 12:41:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/52cfd292 8240263: Assertion-only call in Method::link_method affecting product builds Reviewed-by: shade, dcubed, iklam ! src/hotspot/share/oops/method.cpp Changeset: cf89ff7a Author: Harold Seigel Date: 2020-03-03 15:50:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/cf89ff7a 8240324: Improve is_boot_class_loader_data() by adding simple check Check if cld is the null_cld before looking at the class loader oop Reviewed-by: coleenp ! src/hotspot/share/classfile/classLoaderData.inline.hpp Changeset: 3ca275fb Author: Coleen Phillimore Date: 2020-03-03 11:19:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3ca275fb 8225760: oop::raw_set_obj isn't needed Reviewed-by: hseigel, rkennke ! src/hotspot/share/oops/oopsHierarchy.hpp Changeset: ea55699f Author: Fairoz Matte Date: 2020-02-27 19:33:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ea55699f 8239055: Wrong implementation of VMState.hasListener Correct the VMState.hasListener implementation to return WeakReference type Reviewed-by: sspitsyn, poonam ! src/jdk.jdi/share/classes/com/sun/tools/jdi/VMState.java Changeset: 467ee78a Author: Mikhailo Seledtsov Date: 2020-03-03 12:43:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/467ee78a 8235206: JFR TestCrossProcessStreaming - validate that data can be consumed while it is being produced Updated test to validate concurrent produce/consume Reviewed-by: egahlin ! test/jdk/jdk/jfr/api/consumer/streaming/TestCrossProcessStreaming.java Changeset: 89448a83 Author: Xue-Lei Andrew Fan Date: 2020-03-03 15:57:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/89448a83 8233619: SSLEngine handshake status immediately after the handshake can be NOT_HANDSHAKING rather than FINISHED with TLSv1.3 Reviewed-by: jnimeh ! src/java.base/share/classes/sun/security/ssl/Finished.java ! src/java.base/share/classes/sun/security/ssl/NewSessionTicket.java ! src/java.base/share/classes/sun/security/ssl/PostHandshakeContext.java + test/jdk/javax/net/ssl/SSLEngine/FinishedPresent.java Changeset: 1e796eae Author: Roland Westrelin Date: 2020-02-21 15:01:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1e796eae 8239367: RunThese30M.java failed due to "assert(false) failed: graph should be schedulable" Reviewed-by: thartmann, vlivanov, neliasso ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/graphKit.cpp + test/hotspot/jtreg/compiler/types/TestSubTypeCheckMacroNodeWrongMem.java Changeset: 86ad1950 Author: Roland Westrelin Date: 2020-02-20 16:41:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/86ad1950 8238384: CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found" Reviewed-by: vlivanov, thartmann ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/gcm.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/macro.hpp ! src/hotspot/share/opto/macroArrayCopy.cpp ! src/hotspot/share/opto/type.hpp + test/hotspot/jtreg/compiler/escapeAnalysis/TestCopyOfBrokenAntiDependency.java Changeset: 8e74ed46 Author: Alexey Bakhtin Committer: Andrew Brygin Date: 2020-03-03 13:06:50 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8e74ed46 8239787: AArch64: String.indexOf may incorrectly handle empty strings Reviewed-by: aph, lmesnik, yan ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp + test/hotspot/jtreg/runtime/StringIntrinsic/StringIndexOfChar.java Changeset: b3666b94 Author: Aleksey Shipilev Date: 2020-03-04 11:50:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b3666b94 8240511: Shenandoah: parallel safepoint workers count should be ParallelGCThreads Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp - test/hotspot/jtreg/gc/shenandoah/options/TestSafepointWorkers.java Changeset: 9d57eefe Author: Jan Lahoda Date: 2020-03-04 13:43:25 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9d57eefe 8239575: javadoc triggers javac AssertionError for annos on modules Ensure ModuleSymbols are implicitly loaded only once in the javadoc context. Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/ModuleFinder.java ! test/langtools/jdk/javadoc/tool/modules/Modules.java Changeset: 0c998388 Author: Jan Lahoda Date: 2020-03-04 13:43:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0c998388 8228451: NPE in Attr.java when -XDshould-stop.ifError=FLOW Avoiding parsing of compound assignment as a type. Reviewed-by: jjg, vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/langtools/tools/javac/parser/JavacParserTest.java Changeset: e44dcf09 Author: Jan Lahoda Date: 2020-03-04 13:43:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e44dcf09 8234896: Tab completion does not work for method references in jshell Reviewed-by: rfield ! src/jdk.jshell/share/classes/jdk/jshell/SourceCodeAnalysisImpl.java ! test/langtools/jdk/jshell/CompletionSuggestionTest.java Changeset: aa547959 Author: Andy Herrick Date: 2020-03-03 17:58:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/aa547959 8237967: No proper error message when --runtime-image points to non-existent path Reviewed-by: kizune, asemenyuk, almatvee ! src/jdk.incubator.jpackage/share/classes/jdk/incubator/jpackage/internal/DeployParams.java ! src/jdk.incubator.jpackage/share/classes/jdk/incubator/jpackage/internal/resources/MainResources.properties ! src/jdk.incubator.jpackage/share/classes/jdk/incubator/jpackage/internal/resources/MainResources_ja.properties ! src/jdk.incubator.jpackage/share/classes/jdk/incubator/jpackage/internal/resources/MainResources_zh_CN.properties ! test/jdk/tools/jpackage/share/InvalidArgTest.java Changeset: ef4053ee Author: Andy Herrick Date: 2020-03-03 18:07:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ef4053ee 8237966: Creating runtime pkg requires --mac-package-identifier Reviewed-by: kizune, asemenyuk, almatvee ! src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/MacPkgBundler.java Changeset: 128f0833 Author: Andy Herrick Date: 2020-03-03 18:10:15 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/128f0833 8238692: MacOS runtime Installer issue Reviewed-by: kizune, asemenyuk, almatvee ! src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/MacAppImageBuilder.java ! src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/MacPkgBundler.java ! src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/resources/MacResources.properties Changeset: ff843fab Author: Volker Simonis Date: 2020-03-04 14:55:43 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ff843fab 8240333: jmod incorrectly updates .jar and .jmod files during hashing Reviewed-by: martin, alanb, lancea ! src/jdk.jlink/share/classes/jdk/tools/jmod/JmodOutputStream.java ! src/jdk.jlink/share/classes/jdk/tools/jmod/JmodTask.java Changeset: 01ef6d79 Author: Aleksey Shipilev Date: 2020-03-04 19:23:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/01ef6d79 8240534: Shenandoah: ditch debug safepoint timeout adjustment Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp Changeset: edb59b58 Author: Jonathan Gibbons Date: 2020-03-04 12:58:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/edb59b58 8239817: Eliminate use of contentContainer and friends Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractOverviewIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractTreeWriter.java ! 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/ClassUseWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstantsSummaryWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DeprecatedListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DocFilesHandlerImpl.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/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/PackageTreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageUseWriter.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/SerializedFormWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SingleIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SplitIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SubWriterHolderWriter.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/TreeWriter.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/testHtmlLandmarkRegions/TestHtmlLandmarkRegions.java ! test/langtools/jdk/javadoc/doclet/testHtmlTag/TestHtmlTag.java ! test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testOverview/TestOverview.java Changeset: 5229896f Author: Calvin Cheung Date: 2020-03-04 15:34:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5229896f 8240481: Remove CDS usage of InstanceKlass::is_in_error_state Track the classes which fail verification during CDS dumping in DumpTimeSharedClassInfo. Reviewed-by: iklam, minqi ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.hpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp Changeset: 10b09c79 Author: Jesper Wilhelmsson Date: 2020-03-05 02:02:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/10b09c79 Added tag jdk-15+13 for changeset 1c06a8ee8aca ! .hgtags Changeset: 6cb2e02a Author: Yumin Qi Date: 2020-03-04 21:29:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6cb2e02a 8240546: runtime/cds/appcds/TestZGCWithCDS.java fails with Graal Test failed since Graal does not work with ZGC, fixed in test to skip Graal if ZGC. Reviewed-by: ccheung ! test/hotspot/jtreg/runtime/cds/appcds/TestZGCWithCDS.java Changeset: 7ba18fc0 Author: Ioi Lam Date: 2020-03-04 22:26:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7ba18fc0 8240244: Avoid calling resolve_super_or_fail in SystemDictionary::load_shared_class Reviewed-by: redestad, lfoltan, minqi ! src/hotspot/share/classfile/classListParser.cpp ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/classfile/classLoaderExt.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/memory/dynamicArchive.cpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp Changeset: d1818942 Author: Qi Feng Committer: Ningsheng Jian Date: 2020-03-05 14:51:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d1818942 8240286: [TESTBUG] Test command error in hotspot/jtreg/compiler/loopopts/superword/SumRedAbsNeg_Float.java Reviewed-by: kvn, thartmann ! test/hotspot/jtreg/compiler/loopopts/superword/SumRedAbsNeg_Float.java Changeset: b2f1f73e Author: Ravi Reddy Committer: David Buck Date: 2020-03-05 03:27:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b2f1f73e 8183369: RFC unconformity of HttpURLConnection with proxy HttpURLConnection retried with proxy if the connection fails on first attempt as per RFC Reviewed-by: chegar, dfuchs, vtewari ! src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! test/jdk/java/net/HttpURLConnection/HttpURLConWithProxy.java Changeset: 3490262a Author: Yasumasa Suenaga Date: 2020-03-05 19:46:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3490262a 8240197: Cannot start JVM when $JAVA_HOME includes CJK characters Reviewed-by: iklam, stuefe, rschmelter ! src/hotspot/os/windows/os_windows.cpp Changeset: 3ddd7b86 Author: Erik ?sterlund Date: 2020-03-05 11:12:51 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3ddd7b86 8240370: Provide Intel JCC Erratum opt-out Reviewed-by: redestad, vlivanov, thartmann ! src/hotspot/cpu/x86/globals_x86.hpp ! src/hotspot/cpu/x86/vm_version_x86.cpp Changeset: 78982f7c Author: Claes Redestad Date: 2020-03-05 13:14:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/78982f7c 8240528: OopMap cleanup Reviewed-by: kvn, thartmann ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/share/compiler/oopMap.cpp ! src/hotspot/share/compiler/oopMap.hpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/runtime/vmStructs.cpp Changeset: d75e62e1 Author: Markus Gr?nlund Date: 2020-03-05 17:55:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d75e62e1 8239376: JFR: assert(!cld->is_unsafe_anonymous()) failed: invariant Reviewed-by: coleenp, lfoltan, hseigel ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSet.cpp Changeset: db91be2e Author: Alexandre Iline Date: 2020-03-05 09:51:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/db91be2e 8240241: Add support for JCov DiffCoverage to make files Reviewed-by: erikj, ihse ! doc/testing.html ! doc/testing.md ! make/RunTests.gmk Changeset: 3607ddd5 Author: Lance Andersen Date: 2020-03-05 13:56:40 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3607ddd5 8211917: Zip FS should add META-INF/MANIFEST.FS at the start of the Zip/JAR Reviewed-by: clanger, jpai ! src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipFileSystem.java + test/jdk/jdk/nio/zipfs/testng/TEST.properties + test/jdk/jdk/nio/zipfs/testng/test/ManifestOrderTest.java + test/jdk/jdk/nio/zipfs/testng/util/ZipFsBaseTest.java Changeset: 4a32eda4 Author: Vicente Romero Date: 2020-03-05 16:46:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/4a32eda4 8240454: incorrect error message: as of release 13, 'record' is a restricted type name Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/langtools/lib/combo/tools/javac/combo/CompilationTestCase.java ! test/langtools/lib/combo/tools/javac/combo/Diagnostics.java ! test/langtools/lib/combo/tools/javac/combo/JavacTemplateTestBase.java ! test/langtools/tools/javac/records/RecordCompilationTests.java ! test/langtools/tools/javac/switchexpr/WrongYieldTest.out Changeset: 001b8056 Author: Joe Darcy Date: 2020-03-05 15:07:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/001b8056 8240624: Note mapping of RoundingMode constants to equivalent IEEE 754-2019 attribute Reviewed-by: bpb ! src/java.base/share/classes/java/math/RoundingMode.java Changeset: f456f151 Author: Doug Simon Date: 2020-03-05 16:32:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f456f151 8240538: [JVMCI] add test for JVMCI ConstantPool class Reviewed-by: kvn, iignatyev + test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/ConstantPoolTest.java Changeset: 9c6a7696 Author: Ramkumar Sunderbabu Committer: Ramkumar Sunderbabu Date: 2020-03-06 10:27:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9c6a7696 8153430: jdk regression test MletParserLocaleTest, ParserInfiniteLoopTest reduce default timeout Removed timeout=5 from the tests so that default timeout is used Reviewed-by: cjplummer ! test/jdk/javax/management/loading/MletParserLocaleTest.java ! test/jdk/javax/management/loading/ParserInfiniteLoopTest.java Changeset: f10fd7a7 Author: Matthias Baesken Date: 2020-03-05 13:12:51 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f10fd7a7 8240603: Windows 32bit compile error after 8238676 Reviewed-by: clanger, dholmes ! test/hotspot/jtreg/runtime/jni/atExit/libatExit.c Changeset: 3adad5a6 Author: Martin Doerr Date: 2020-03-06 11:04:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3adad5a6 8239856: [ntintel] asserts about copying unaligned array element Reviewed-by: stuefe, sspitsyn ! src/jdk.jdwp.agent/share/native/libjdwp/ArrayReferenceImpl.c Changeset: 25d2db06 Author: Ivan Walulya Date: 2020-03-06 11:40:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/25d2db06 8240589: OtherRegionsTable::_num_occupied not updated correctly Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/g1/heapRegionRemSet.cpp Changeset: 05b8f97b Author: duke Date: 2020-03-06 11:01:19 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/05b8f97b Automatic merge of jdk:master into master Changeset: 5153187a Author: duke Date: 2020-03-06 11:01:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5153187a Automatic merge of master into foreign-memaccess ! make/RunTests.gmk ! make/RunTests.gmk From jvernee at openjdk.java.net Fri Mar 6 11:39:01 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Fri, 6 Mar 2020 11:39:01 GMT Subject: [Integrated] [foreign-jextract] RFR: Improve jextract error reporting In-Reply-To: References: Message-ID: Changeset: a03a4c5b Author: Jorn Vernee Date: 2020-03-06 11:37:40 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a03a4c5b Improve jextract error reporting Reviewed-by: sundar + src/jdk.incubator.jextract/share/classes/jdk/internal/clang/ErrorCode.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/clang/Index.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/clang/LibClang.java + src/jdk.incubator.jextract/share/classes/jdk/internal/clang/SaveError.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/clang/TranslationUnit.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/jextract/impl/MacroParserImpl.java From sundar at openjdk.java.net Fri Mar 6 12:38:02 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Fri, 6 Mar 2020 12:38:02 GMT Subject: [Integrated] [foreign-jextract] RFR: 8240657: when Java keywords are used as identifiers in C header, jextract generates non-compilable java code In-Reply-To: References: Message-ID: Changeset: f8a769b8 Author: Athijegannathan Sundararajan Date: 2020-03-06 12:36:00 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f8a769b8 8240657: when Java keywords are used as identifiers in C header, jextract generates non-compilable java code Reviewed-by: jvernee ! src/jdk.incubator.jextract/share/classes/jdk/incubator/jextract/tool/JavaSourceBuilder.java + test/jdk/tools/jextract/Test8240657.java + test/jdk/tools/jextract/exports.h From paul.sandoz at oracle.com Fri Mar 6 16:58:54 2020 From: paul.sandoz at oracle.com (Paul Sandoz) Date: Fri, 6 Mar 2020 08:58:54 -0800 Subject: [vector] RFR: Support non power-of-two and 2048-bit vector length for gather load/scatter store In-Reply-To: References: <5350A269-D761-47DD-A87C-DDBDB5AF6C0E@oracle.com> Message-ID: <7B55D1C1-96FE-42A0-BFBB-522267F3D5FB@oracle.com> +1 > On Mar 6, 2020, at 2:50 AM, Yang Zhang wrote: > >> When "isp.laneCount() != vsp.laneCount()? is true then I assume its always the case that the species vector type is DoubleMaxVector. >> Is there anyway we could make this more explicit? >> Can we refer directly to IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK as in: >> assert vsp.vectorType() == DoubleMaxVector.class >> ....... >> .fromArray(isp, indexMap, mapOffset, IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK) > > When "isp.laneCount() != vsp.laneCount()? is true, it means that DoubleMaxVector is non-power-of-two or 2048 etc. 128, 256, 512 are excluded. Because when vsp.vectorShap is 128/256/512, isp. vectorShape can be initialized as 64/128/256. > > "assert vsp.vectorType() == DoubleMaxVector.class" doesn't exclude 128/256/512. There are test failures in Double/LongMaxVectorTests. > > test DoubleMaxVectorTests.gatherDoubleMaxVectorTests(double[-i * 5], index[random]): failure > java.lang.ClassCastException: class jdk.incubator.vector.IntMaxVector$IntMaxMask cannot be cast to class jdk.incubator.vector.Int128Vector$Int128Mask > I presume that test also failed with your prior patch? Since the assert effectively inlines the check you had in the method: 3745 // Generate lower half true mask for gather load/scatter store 3746 // for DoubleMaxVector. 3747 @ForceInline 3748 public final VectorMask lowerHalfTrueMask() { 3749 if ((Class) vectorType() == DoubleMaxVector.class) { 3750 return IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK; 3751 } 3752 throw new AssertionError(); 3753 } > IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK can be used here, so method lowerHalfTrueMask can be removed. > > Please check this update. > http://cr.openjdk.java.net/~yzhang/vectorapi/vectorapi.2048npow/webrev.02/ > > Regards > Yang > > > -----Original Message----- > From: Paul Sandoz > Sent: Friday, March 6, 2020 12:35 AM > To: Yang Zhang > Cc: panama-dev at openjdk.java.net > Subject: Re: [vector] RFR: Support non power-of-two and 2048-bit vector length for gather load/scatter store > > Thank you this looks better. > > The fragility of the renamed method lowerHalfTrueMask still makes me uncomfortable. > > > 3038 IntVector vix; > 3039 if (isp.laneCount() != vsp.laneCount()) { > 3040 // For DoubleMaxVector, if vector length is 2048 bits, indexShape > 3041 // of Double species is S_MAX_BIT. and the lane count of Double > 3042 // vector is 32. When converting Double species to int species, > 3043 // indexShape is still S_MAX_BIT, but the lane count of int vector > 3044 // is 64. So when loading index vector (IntVector), only lower half > 3045 // of index data is needed. > 3046 vix = IntVector > 3047 .fromArray(isp, indexMap, mapOffset, vsp.lowerHalfTrueMask()) > 3048 .add(offset); > 3049 } else { > > When "isp.laneCount() != vsp.laneCount()? is true then I assume its always the case that the species vector type is DoubleMaxVector. > > Is there anyway we could make this more explicit? > > Can we refer directly to IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK as in: > > assert vsp.vectorType() == DoubleMaxVector.class > ... > .fromArray(isp, indexMap, mapOffset, IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK) > > ? > > Paul. > > >> On Mar 4, 2020, at 11:07 PM, Yang Zhang wrote: >> >> Hi Paul >> >> Thanks for your review. I have updated the patch. Please check it. >> http://cr.openjdk.java.net/~yzhang/vectorapi/vectorapi.2048npow/webrev >> .01/ >> >> Regards >> Yang >> >> -----Original Message----- >> From: Paul Sandoz >> Sent: Wednesday, March 4, 2020 10:14 AM >> To: Yang Zhang >> Cc: panama-dev at openjdk.java.net >> Subject: Re: [vector] RFR: Support non power-of-two and 2048-bit >> vector length for gather load/scatter store >> >> Hi, >> >> Than you for applying some consistency to these operations. >> >> >> VectorShape >> ? >> >> Can you add a @throws to the JavaDoc of forIndexBitSize and also forBitSize? >> >> >> ByteVector & ShortVector >> ? >> >> Also change the mask accepting gather implementation to use the internal mask accepting stOp. That implementation currently fails if any of the mask bits are not set. >> >> >> X-Vector.java.template >> ? >> >> 4389 #if[longOrDouble] >> 4390 >> 4391 // Mask for gather load >> 4392 @ForceInline >> 4393 public final VectorMask gatherMask() { >> 4394 if ((Class) vectorType() == $Type$MaxVector.class) { >> 4395 return IntMaxVector.IntMaxMask.GATHER_MASK; >> 4396 } >> 4397 throw new AssertionError(); >> 4398 } >> 4399 #end[longOrDouble] >> >> Hmm.. I am unsure about this since it?s a general method (should be package private) but only works in the case of when the vector type is of the max vector. >> >> Is there a better way to surface this up since presumably this is called only when the vector type is of max vector? Maybe be more explicit in the case of "isp.laneCount() != vsp.laneCount()?? >> >> >> X-VectorBits.java >> ? >> >> 699 #if[intAndMax] >> 700 static final IntMaxMask GATHER_MASK = new IntMaxMask(maskLowerHalf()); >> 701 #end[intAndMax] >> >> LOWER_HALF_TRUE_MASK is a wordier but more accurate description. >> >> Paul. >> >>> On Feb 13, 2020, at 10:32 PM, Yang Zhang wrote: >>> >>> Hi, >>> >>> I'm adding support non power-of-two and 2048-bit vector length for gather load/scatter store. >>> Could you please help to review it? >>> >>> Webrev: >>> http://cr.openjdk.java.net/~yzhang/vectorapi/vectorapi.2048npow/webre >>> v >>> .00/index.html >>> No new failures with a full jtreg. >>> >>> In this patch, I made the following changes. >>> 1. For gather load/scatter store, int array is used for index map. New index shape calculation function is added. >>> For AArch64 SVE, the maximum of index bit size is (2048/elementSize) * 32. >>> Index increments is (128/elementSize) * 32. So that new index shape calculation function is added. >>> >>> 2. Use a gather mask to control index vector loading for long/double gather load/scatter store. >>> When vector length is 2048 or non-power-of-two, e.g. SVE, there are >>> index out of bounds failures in long/double gather load test cases. >>> Take 2048 as an example, in long gather load (fromArray), indexShape >>> of long species is S_MAX_BIT, and the lane count of long vector is 32. >>> When converting long species to int species, indexShape of int >>> species is still S_MAX_BIT, but the lane count of int vector is 64. >>> So when loading index vector (IntVector), unnecessary index data is loaded. >>> If current vector is the tail, out of bounds failure happens. >>> >>> This failure is only for SVE. For X86, the reason why there isn't >>> such failure is that: >>> i) Byte/Short gather loads aren't intrinsified. >>> ii) For X86 AVX512, indexShape(int index map, 8 elements) of >>> long512/double512 >>> (8 elements) is initialized as S_256_BIT. For SVE with 512-bit vector >>> length, indexShape is initialized as S_256_BIT too. But for SVE >>> 2048-bit and non-power-of-two, there will be failures above. >>> >>> 3. Gather load and scatter store is a pair of similar operations. One solution should be applied to them. >>> The original java implementations of gather load and scatter store are different. >>> >>> Vector gather load scatter store >>> Int or float With intrinsification With intrinsification >>> Long or Double With intrinsification With intrinsification >>> Get indexShape directly Get indexShape indirectly >>> Normal index loading Special controlled index loading >>> Byte or short Without intrinsification With intrinsification, no instruction support on x86/arm >>> >>> I think gather load and scatter store is a pair of similar operations. One solution should be applied to them. >>> Based on above, I use a simple implementation for them. >>> Vector gather load/scatter store >>> Int or float With intrinsification >>> Long or Double With intrinsification >>> Get indexShape directly >>> Special controlled index loading >>> Byte or short Without intrinsification >>> If any problem, please let me know. >>> >>> 4. Some assertions that vector length is power of two are removed. >>> 5. Add comments for gather load intrinsification. >>> >>> Regards, >>> Yang >>> >>> >> >> IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. > > IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. From ach at activeviam.com Fri Mar 6 17:59:43 2020 From: ach at activeviam.com (Antoine Chambille) Date: Fri, 6 Mar 2020 18:59:43 +0100 Subject: Using the Vector API on (externally allocated) foreign memory Message-ID: Hi all, My company ActiveViam develops an in-memory database that delivers interactive queries to many users on terabyte datasets. The database structures are allocated off-heap, using a SLAB allocator that is highly concurrent and also NUMA-Aware. This custom memory manager is written almost entirely in Java with just a few JNA system calls (anonymous mmap, munmap, madvise). What gets us very excited about project Panama is the potential to accelerate aggregations with SIMD instructions. But we have recently checked out the vector branch of the panama JDK, and it does not seem to be doable yet. First it is not yet possible to load vectors from foreign memory, only from arrays or from byte buffers. Second, memory segments can be allocated from Java but cannot be used as an interface to expose memory that is already allocated. Is support for vector operations on (externally allocated) foreign memory being considered? Have we missed something? Thank you, -Antoine From john.r.rose at oracle.com Fri Mar 6 19:43:23 2020 From: john.r.rose at oracle.com (John Rose) Date: Fri, 6 Mar 2020 11:43:23 -0800 Subject: Using the Vector API on (externally allocated) foreign memory In-Reply-To: References: Message-ID: <289EBCCD-E93B-4781-A36C-5ED0BEE57E0C@oracle.com> On Mar 6, 2020, at 9:59 AM, Antoine Chambille wrote: > > Is support for vector operations on (externally allocated) foreign memory > being considered? Have we missed something? The current story is that you have to wrap a byte buffer around your native memory, using JNI?s NewDirectByteBuffer. Please let us know if that doesn?t work for you. It is likely that vectors will interoperate with a more modern API for both on-heap and off-heap access, after it settles. These ?memory segments? are incubating in JDK 14: https://download.java.net/java/GA/jdk14/docs/api/jdk.incubator.foreign/jdk/incubator/foreign/MemorySegment.html ? John From Yang.Zhang at arm.com Mon Mar 9 06:44:57 2020 From: Yang.Zhang at arm.com (Yang Zhang) Date: Mon, 9 Mar 2020 06:44:57 +0000 Subject: [vector] RFR: Support non power-of-two and 2048-bit vector length for gather load/scatter store In-Reply-To: <7B55D1C1-96FE-42A0-BFBB-522267F3D5FB@oracle.com> References: <5350A269-D761-47DD-A87C-DDBDB5AF6C0E@oracle.com> <7B55D1C1-96FE-42A0-BFBB-522267F3D5FB@oracle.com> Message-ID: Thanks for your review. > I presume that test also failed with your prior patch? Since the assert effectively inlines the check you had in the method: No, these tests(Long/DoubleMaxVectorTests) succeed with my prior patch. Because method lowerHalfTrueMask() is called only with Max=no-power-of-two or 2048. So there isn't assert failure. In such situation, vsp.vectorType() is DoubleMaxVector, and isp.vectorType() is also IntMaxVector. There isn't cast failure either. -----Original Message----- From: Paul Sandoz Sent: Saturday, March 7, 2020 12:59 AM To: Yang Zhang Cc: panama-dev at openjdk.java.net Subject: Re: [vector] RFR: Support non power-of-two and 2048-bit vector length for gather load/scatter store +1 > On Mar 6, 2020, at 2:50 AM, Yang Zhang wrote: > >> When "isp.laneCount() != vsp.laneCount()? is true then I assume its always the case that the species vector type is DoubleMaxVector. >> Is there anyway we could make this more explicit? >> Can we refer directly to IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK as in: >> assert vsp.vectorType() == DoubleMaxVector.class ....... >> .fromArray(isp, indexMap, mapOffset, >> IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK) > > When "isp.laneCount() != vsp.laneCount()? is true, it means that DoubleMaxVector is non-power-of-two or 2048 etc. 128, 256, 512 are excluded. Because when vsp.vectorShap is 128/256/512, isp. vectorShape can be initialized as 64/128/256. > > "assert vsp.vectorType() == DoubleMaxVector.class" doesn't exclude 128/256/512. There are test failures in Double/LongMaxVectorTests. > > test DoubleMaxVectorTests.gatherDoubleMaxVectorTests(double[-i * 5], > index[random]): failure > java.lang.ClassCastException: class > jdk.incubator.vector.IntMaxVector$IntMaxMask cannot be cast to class > jdk.incubator.vector.Int128Vector$Int128Mask > I presume that test also failed with your prior patch? Since the assert effectively inlines the check you had in the method: 3745 // Generate lower half true mask for gather load/scatter store 3746 // for DoubleMaxVector. 3747 @ForceInline 3748 public final VectorMask lowerHalfTrueMask() { 3749 if ((Class) vectorType() == DoubleMaxVector.class) { 3750 return IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK; 3751 } 3752 throw new AssertionError(); 3753 } > IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK can be used here, so method lowerHalfTrueMask can be removed. > > Please check this update. > http://cr.openjdk.java.net/~yzhang/vectorapi/vectorapi.2048npow/webrev > .02/ > > Regards > Yang > > > -----Original Message----- > From: Paul Sandoz > Sent: Friday, March 6, 2020 12:35 AM > To: Yang Zhang > Cc: panama-dev at openjdk.java.net > Subject: Re: [vector] RFR: Support non power-of-two and 2048-bit > vector length for gather load/scatter store > > Thank you this looks better. > > The fragility of the renamed method lowerHalfTrueMask still makes me uncomfortable. > > > 3038 IntVector vix; > 3039 if (isp.laneCount() != vsp.laneCount()) { > 3040 // For DoubleMaxVector, if vector length is 2048 bits, indexShape > 3041 // of Double species is S_MAX_BIT. and the lane count of Double > 3042 // vector is 32. When converting Double species to int species, > 3043 // indexShape is still S_MAX_BIT, but the lane count of int vector > 3044 // is 64. So when loading index vector (IntVector), only lower half > 3045 // of index data is needed. > 3046 vix = IntVector > 3047 .fromArray(isp, indexMap, mapOffset, vsp.lowerHalfTrueMask()) > 3048 .add(offset); > 3049 } else { > > When "isp.laneCount() != vsp.laneCount()? is true then I assume its always the case that the species vector type is DoubleMaxVector. > > Is there anyway we could make this more explicit? > > Can we refer directly to IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK as in: > > assert vsp.vectorType() == DoubleMaxVector.class ... > .fromArray(isp, indexMap, mapOffset, > IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK) > > ? > > Paul. > > >> On Mar 4, 2020, at 11:07 PM, Yang Zhang wrote: >> >> Hi Paul >> >> Thanks for your review. I have updated the patch. Please check it. >> http://cr.openjdk.java.net/~yzhang/vectorapi/vectorapi.2048npow/webre >> v >> .01/ >> >> Regards >> Yang >> >> -----Original Message----- >> From: Paul Sandoz >> Sent: Wednesday, March 4, 2020 10:14 AM >> To: Yang Zhang >> Cc: panama-dev at openjdk.java.net >> Subject: Re: [vector] RFR: Support non power-of-two and 2048-bit >> vector length for gather load/scatter store >> >> Hi, >> >> Than you for applying some consistency to these operations. >> >> >> VectorShape >> ? >> >> Can you add a @throws to the JavaDoc of forIndexBitSize and also forBitSize? >> >> >> ByteVector & ShortVector >> ? >> >> Also change the mask accepting gather implementation to use the internal mask accepting stOp. That implementation currently fails if any of the mask bits are not set. >> >> >> X-Vector.java.template >> ? >> >> 4389 #if[longOrDouble] >> 4390 >> 4391 // Mask for gather load >> 4392 @ForceInline >> 4393 public final VectorMask gatherMask() { >> 4394 if ((Class) vectorType() == $Type$MaxVector.class) { >> 4395 return IntMaxVector.IntMaxMask.GATHER_MASK; >> 4396 } >> 4397 throw new AssertionError(); >> 4398 } >> 4399 #end[longOrDouble] >> >> Hmm.. I am unsure about this since it?s a general method (should be package private) but only works in the case of when the vector type is of the max vector. >> >> Is there a better way to surface this up since presumably this is called only when the vector type is of max vector? Maybe be more explicit in the case of "isp.laneCount() != vsp.laneCount()?? >> >> >> X-VectorBits.java >> ? >> >> 699 #if[intAndMax] >> 700 static final IntMaxMask GATHER_MASK = new IntMaxMask(maskLowerHalf()); >> 701 #end[intAndMax] >> >> LOWER_HALF_TRUE_MASK is a wordier but more accurate description. >> >> Paul. >> >>> On Feb 13, 2020, at 10:32 PM, Yang Zhang wrote: >>> >>> Hi, >>> >>> I'm adding support non power-of-two and 2048-bit vector length for gather load/scatter store. >>> Could you please help to review it? >>> >>> Webrev: >>> http://cr.openjdk.java.net/~yzhang/vectorapi/vectorapi.2048npow/webr >>> e >>> v >>> .00/index.html >>> No new failures with a full jtreg. >>> >>> In this patch, I made the following changes. >>> 1. For gather load/scatter store, int array is used for index map. New index shape calculation function is added. >>> For AArch64 SVE, the maximum of index bit size is (2048/elementSize) * 32. >>> Index increments is (128/elementSize) * 32. So that new index shape calculation function is added. >>> >>> 2. Use a gather mask to control index vector loading for long/double gather load/scatter store. >>> When vector length is 2048 or non-power-of-two, e.g. SVE, there are >>> index out of bounds failures in long/double gather load test cases. >>> Take 2048 as an example, in long gather load (fromArray), indexShape >>> of long species is S_MAX_BIT, and the lane count of long vector is 32. >>> When converting long species to int species, indexShape of int >>> species is still S_MAX_BIT, but the lane count of int vector is 64. >>> So when loading index vector (IntVector), unnecessary index data is loaded. >>> If current vector is the tail, out of bounds failure happens. >>> >>> This failure is only for SVE. For X86, the reason why there isn't >>> such failure is that: >>> i) Byte/Short gather loads aren't intrinsified. >>> ii) For X86 AVX512, indexShape(int index map, 8 elements) of >>> long512/double512 >>> (8 elements) is initialized as S_256_BIT. For SVE with 512-bit >>> vector length, indexShape is initialized as S_256_BIT too. But for >>> SVE 2048-bit and non-power-of-two, there will be failures above. >>> >>> 3. Gather load and scatter store is a pair of similar operations. One solution should be applied to them. >>> The original java implementations of gather load and scatter store are different. >>> >>> Vector gather load scatter store >>> Int or float With intrinsification With intrinsification >>> Long or Double With intrinsification With intrinsification >>> Get indexShape directly Get indexShape indirectly >>> Normal index loading Special controlled index loading >>> Byte or short Without intrinsification With intrinsification, no instruction support on x86/arm >>> >>> I think gather load and scatter store is a pair of similar operations. One solution should be applied to them. >>> Based on above, I use a simple implementation for them. >>> Vector gather load/scatter store >>> Int or float With intrinsification >>> Long or Double With intrinsification >>> Get indexShape directly >>> Special controlled index loading >>> Byte or short Without intrinsification >>> If any problem, please let me know. >>> >>> 4. Some assertions that vector length is power of two are removed. >>> 5. Add comments for gather load intrinsification. >>> >>> Regards, >>> Yang >>> >>> >> >> IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. > > IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. From ach at activeviam.com Mon Mar 9 11:02:21 2020 From: ach at activeviam.com (Antoine Chambille) Date: Mon, 9 Mar 2020 12:02:21 +0100 Subject: Using the Vector API on (externally allocated) foreign memory In-Reply-To: <289EBCCD-E93B-4781-A36C-5ED0BEE57E0C@oracle.com> References: <289EBCCD-E93B-4781-A36C-5ED0BEE57E0C@oracle.com> Message-ID: Hi John, thank you for the suggestion, wrapping native memory with a ByteBuffer does work (com.sun.jna.Pointer.getByteBuffer(long address)). However after running a few benchmarks it looks like the code loading vectors from byte buffers is about twice slower than the same code loading vectors from java arrays. Is this expected? JDK freshly checked out and built for Windows 10 ( http://hg.openjdk.java.net/panama/dev -b vectorIntrinsics ). double[] data, AVX2, Intel. Best, -Antoine On Fri, Mar 6, 2020 at 8:43 PM John Rose wrote: > On Mar 6, 2020, at 9:59 AM, Antoine Chambille wrote: > > > Is support for vector operations on (externally allocated) foreign memory > being considered? Have we missed something? > > > The current story is that you have to wrap a byte buffer around > your native memory, using JNI?s NewDirectByteBuffer. Please > let us know if that doesn?t work for you. > > It is likely that vectors will interoperate with a more modern API > for both on-heap and off-heap access, after it settles. These ?memory > segments? are incubating in JDK 14: > > > https://download.java.net/java/GA/jdk14/docs/api/jdk.incubator.foreign/jdk/incubator/foreign/MemorySegment.html > > ? John > -- [image: ActiveViam] [image: LinkedIn] Antoine Chambille *Global Head of Research & Development * [image: Office] +33 (0)1 40 13 91 00 [image: YouTube] [image: Blog] [image: Twitter] [image: location] 46 rue de l'Arbre Sec, 75001 Paris [image: url] visit our website From sundar at openjdk.java.net Mon Mar 9 15:45:25 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Mon, 9 Mar 2020 15:45:25 GMT Subject: [foreign-jextract] RFR: 8240752: jextract generates non-compilable code for special floating point values Message-ID: Generating static fields of Double and Float for special values. ------------- Commit messages: - 8240752: jextract generates non-compilable code for special floating point values Changes: https://git.openjdk.java.net/panama-foreign/pull/42/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/42/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8240752 Stats: 140 lines in 3 files changed: 136 ins; 0 del; 4 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/42.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/42/head:pull/42 PR: https://git.openjdk.java.net/panama-foreign/pull/42 From henryjen at openjdk.java.net Mon Mar 9 16:06:33 2020 From: henryjen at openjdk.java.net (Henry Jen) Date: Mon, 9 Mar 2020 16:06:33 GMT Subject: [foreign-jextract] RFR: 8240752: jextract generates non-compilable code for special floating point values In-Reply-To: References: Message-ID: On Mon, 9 Mar 2020 15:40:44 GMT, Athijegannathan Sundararajan wrote: > Generating static fields of Double and Float for special values. Looks good to me. ------------- Marked as reviewed by henryjen (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/42 From sundar at openjdk.java.net Mon Mar 9 16:06:46 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Mon, 9 Mar 2020 16:06:46 GMT Subject: [Integrated] [foreign-jextract] RFR: 8240752: jextract generates non-compilable code for special floating point values In-Reply-To: References: Message-ID: <94b162ea-713a-44ee-a5f9-b94e5d15c484@openjdk.org> Changeset: 9029a103 Author: Athijegannathan Sundararajan Date: 2020-03-09 16:06:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9029a103 8240752: jextract generates non-compilable code for special floating point values Reviewed-by: henryjen ! src/jdk.incubator.jextract/share/classes/jdk/incubator/jextract/tool/JavaSourceBuilder.java + test/jdk/tools/jextract/Test8240752.java + test/jdk/tools/jextract/float_constants.h From paul.sandoz at oracle.com Mon Mar 9 17:02:04 2020 From: paul.sandoz at oracle.com (Paul Sandoz) Date: Mon, 9 Mar 2020 10:02:04 -0700 Subject: Using the Vector API on (externally allocated) foreign memory In-Reply-To: References: <289EBCCD-E93B-4781-A36C-5ED0BEE57E0C@oracle.com> Message-ID: <0E903EF0-3FF1-493B-AD93-5207F86E1075@oracle.com> Hi, Do you have a JMH benchmark to share? That?s helpful so we know we are talking more precisely about the same thing, further it means we can look at the hotspots of the generated machine code and identify C2 issues. IIRC currently the performance focus has been mostly on fromArray/toArray using corresponding primitive array so I could imagine there are some perf issues to be resolved. However both primitive array access and buffer access use the same load intrinsic. Some things to explore (if you have not done so already): - ensure the byte order is native order to avoid byte swapping. - compare with fromByteArray - switch off bounds checking using the system property ?jdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK?: static final int VECTOR_ACCESS_OOB_CHECK = Integer.getInteger("jdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK", 2); ? @ForceInline static int checkFromIndexSize(int ix, int vlen, int length) { switch (VectorIntrinsics.VECTOR_ACCESS_OOB_CHECK) { case 0: return ix; // no range check case 1: return Objects.checkFromIndexSize(ix, vlen, length); case 2: return Objects.checkIndex(ix, length - (vlen - 1)); default: throw new InternalError(); } } Hth, Paul. > On Mar 9, 2020, at 4:02 AM, Antoine Chambille wrote: > > Hi John, thank you for the suggestion, wrapping native memory with a > ByteBuffer does work (com.sun.jna.Pointer.getByteBuffer(long address)). > > However after running a few benchmarks it looks like the code loading > vectors from byte buffers is about twice slower than the same code loading > vectors from java arrays. Is this expected? > > JDK freshly checked out and built for Windows 10 ( > http://hg.openjdk.java.net/panama/dev -b vectorIntrinsics ). double[] data, > AVX2, Intel. > > > Best, > -Antoine > > > > On Fri, Mar 6, 2020 at 8:43 PM John Rose wrote: > >> On Mar 6, 2020, at 9:59 AM, Antoine Chambille wrote: >> >> >> Is support for vector operations on (externally allocated) foreign memory >> being considered? Have we missed something? >> >> >> The current story is that you have to wrap a byte buffer around >> your native memory, using JNI?s NewDirectByteBuffer. Please >> let us know if that doesn?t work for you. >> >> It is likely that vectors will interoperate with a more modern API >> for both on-heap and off-heap access, after it settles. These ?memory >> segments? are incubating in JDK 14: >> >> >> https://download.java.net/java/GA/jdk14/docs/api/jdk.incubator.foreign/jdk/incubator/foreign/MemorySegment.html >> >> ? John >> > > > -- > [image: ActiveViam] [image: LinkedIn] > > > Antoine Chambille > *Global Head of Research & Development * > > [image: Office] +33 (0)1 40 13 91 00 > [image: YouTube] > [image: Blog] > [image: Twitter] > [image: location] > 46 > rue de l'Arbre Sec, 75001 Paris [image: url] > visit > our website From shravya.rukmannagari at intel.com Mon Mar 9 18:12:57 2020 From: shravya.rukmannagari at intel.com (Rukmannagari, Shravya) Date: Mon, 9 Mar 2020 18:12:57 +0000 Subject: Vector API 32-bit Fixes Message-ID: Hi All, Please find the patch below which fixes the build issues and test failures for 32-bit Intel platforms. This patch has been contributed by Sandhya and I, and reviewed by Sandhya. Please let me know if you have any comments or questions. http://cr.openjdk.java.net/~srukmannagar/VectorAPI_32BitFixes/webrev.01/ Thanks, Shravya. From sandhya.viswanathan at intel.com Mon Mar 9 18:51:10 2020 From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya) Date: Mon, 9 Mar 2020 18:51:10 +0000 Subject: Vector API 32-bit Fixes In-Reply-To: References: Message-ID: Hi Shravya, The patch mainly touches x86 specific backend files. The vector api tests with both x86 64-bit and 32-bit build pass with this patch. Please go ahead and commit. Best Regards, Sandhya -----Original Message----- From: panama-dev On Behalf Of Rukmannagari, Shravya Sent: Monday, March 09, 2020 11:13 AM To: panama-dev at openjdk.java.net Subject: Vector API 32-bit Fixes Hi All, Please find the patch below which fixes the build issues and test failures for 32-bit Intel platforms. This patch has been contributed by Sandhya and I, and reviewed by Sandhya. Please let me know if you have any comments or questions. http://cr.openjdk.java.net/~srukmannagar/VectorAPI_32BitFixes/webrev.01/ Thanks, Shravya. From shravya.rukmannagari at intel.com Mon Mar 9 18:54:56 2020 From: shravya.rukmannagari at intel.com (shravya.rukmannagari at intel.com) Date: Mon, 09 Mar 2020 18:54:56 +0000 Subject: hg: panama/dev: Vector API 32-bit Fixes Message-ID: <202003091854.029IsvM0000746@aojmv0008.oracle.com> Changeset: 2cc949af7268 Author: srukmannagar Date: 2020-03-09 11:51 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/2cc949af7268 Vector API 32-bit Fixes ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_32.cpp ! src/hotspot/cpu/x86/stubRoutines_x86.cpp ! src/hotspot/cpu/x86/stubRoutines_x86_64.cpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/cpu/x86/x86_32.ad ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/runtime/stackValue.cpp From shravya.rukmannagari at intel.com Mon Mar 9 19:23:31 2020 From: shravya.rukmannagari at intel.com (shravya.rukmannagari at intel.com) Date: Mon, 09 Mar 2020 19:23:31 +0000 Subject: hg: panama/dev: Store Mask Support for VectorAPI Message-ID: <202003091923.029JNWjJ018661@aojmv0008.oracle.com> Changeset: 0c22803501d9 Author: srukmannagar Date: 2020-03-09 12:20 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/0c22803501d9 Store Mask Support for VectorAPI ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/x86.ad From paul.sandoz at oracle.com Mon Mar 9 19:57:40 2020 From: paul.sandoz at oracle.com (paul.sandoz at oracle.com) Date: Mon, 09 Mar 2020 19:57:40 +0000 Subject: hg: panama/dev: Stop the leakage of abstract types in public API. Message-ID: <202003091957.029Jvffn009863@aojmv0008.oracle.com> Changeset: fef932757e0c Author: psandoz Date: 2020-03-09 12:48 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/fef932757e0c Stop the leakage of abstract types in public API. ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/AbstractMask.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/AbstractShuffle.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/AbstractSpecies.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/AbstractVector.java From sandhya.viswanathan at intel.com Mon Mar 9 20:49:15 2020 From: sandhya.viswanathan at intel.com (sandhya.viswanathan at intel.com) Date: Mon, 09 Mar 2020 20:49:15 +0000 Subject: hg: panama/dev: manual merge with vectorIntrinsics Message-ID: <202003092049.029KnFOv012502@aojmv0008.oracle.com> Changeset: b5a4821986c2 Author: sviswanathan Date: 2020-03-09 13:47 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/b5a4821986c2 manual merge with vectorIntrinsics - make/CopyInterimCLDRConverter.gmk - make/Help.gmk - make/autoconf/basics.m4 - make/autoconf/basics_windows.m4 - make/launcher/Launcher-jdk.pack.gmk - make/lib/Lib-jdk.pack.gmk ! 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/postSelection_x86.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/cpu/x86/x86_32.ad ! src/hotspot/cpu/x86/x86_64.ad - src/hotspot/os/bsd/gc/z/zBackingFile_bsd.cpp - src/hotspot/os/bsd/gc/z/zBackingFile_bsd.hpp - src/hotspot/os/linux/gc/z/zBackingFile_linux.cpp - src/hotspot/os/linux/gc/z/zBackingFile_linux.hpp - src/hotspot/os/linux/gc/z/zBackingPath_linux.cpp - src/hotspot/os/linux/gc/z/zBackingPath_linux.hpp ! src/hotspot/share/adlc/archDesc.cpp ! src/hotspot/share/adlc/formssel.cpp ! src/hotspot/share/adlc/output_h.cpp - src/hotspot/share/gc/g1/survRateGroup.cpp - src/hotspot/share/gc/g1/survRateGroup.hpp - src/hotspot/share/gc/parallel/psMarkSweep.cpp - src/hotspot/share/gc/parallel/psMarkSweep.hpp - src/hotspot/share/gc/parallel/psMarkSweepDecorator.cpp - src/hotspot/share/gc/parallel/psMarkSweepDecorator.hpp - src/hotspot/share/gc/parallel/psMarkSweepProxy.hpp - src/hotspot/share/gc/shared/owstTaskTerminator.cpp - src/hotspot/share/gc/shared/owstTaskTerminator.hpp - src/hotspot/share/jfr/leakprofiler/utilities/unifiedOop.hpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/machnode.hpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/matcher.hpp ! src/hotspot/share/opto/opcodes.cpp ! src/hotspot/share/opto/opcodes.hpp ! src/hotspot/share/opto/phase.cpp ! src/hotspot/share/opto/phase.hpp ! src/hotspot/share/opto/type.cpp ! src/hotspot/share/opto/type.hpp - src/hotspot/share/runtime/fieldType.cpp - src/hotspot/share/runtime/fieldType.hpp - src/hotspot/share/runtime/flags/jvmFlagWriteableList.cpp - src/hotspot/share/runtime/flags/jvmFlagWriteableList.hpp - src/java.base/linux/classes/jdk/internal/platform/cgroupv1/Metrics.java - src/java.base/linux/classes/jdk/internal/platform/cgroupv1/SubSystem.java - src/java.base/share/classes/com/sun/java/util/jar/pack/AdaptiveCoding.java - src/java.base/share/classes/com/sun/java/util/jar/pack/Attribute.java - src/java.base/share/classes/com/sun/java/util/jar/pack/BandStructure.java - src/java.base/share/classes/com/sun/java/util/jar/pack/ClassReader.java - src/java.base/share/classes/com/sun/java/util/jar/pack/ClassWriter.java - src/java.base/share/classes/com/sun/java/util/jar/pack/Code.java - src/java.base/share/classes/com/sun/java/util/jar/pack/Coding.java - src/java.base/share/classes/com/sun/java/util/jar/pack/CodingChooser.java - src/java.base/share/classes/com/sun/java/util/jar/pack/CodingMethod.java - src/java.base/share/classes/com/sun/java/util/jar/pack/ConstantPool.java - src/java.base/share/classes/com/sun/java/util/jar/pack/Constants.java - src/java.base/share/classes/com/sun/java/util/jar/pack/Driver.java - src/java.base/share/classes/com/sun/java/util/jar/pack/DriverResource.java - src/java.base/share/classes/com/sun/java/util/jar/pack/DriverResource_ja.java - src/java.base/share/classes/com/sun/java/util/jar/pack/DriverResource_zh_CN.java - src/java.base/share/classes/com/sun/java/util/jar/pack/FixedList.java - src/java.base/share/classes/com/sun/java/util/jar/pack/Fixups.java - src/java.base/share/classes/com/sun/java/util/jar/pack/Histogram.java - src/java.base/share/classes/com/sun/java/util/jar/pack/Instruction.java - src/java.base/share/classes/com/sun/java/util/jar/pack/NativeUnpack.java - src/java.base/share/classes/com/sun/java/util/jar/pack/Package.java - src/java.base/share/classes/com/sun/java/util/jar/pack/PackageReader.java - src/java.base/share/classes/com/sun/java/util/jar/pack/PackageWriter.java - src/java.base/share/classes/com/sun/java/util/jar/pack/PackerImpl.java - src/java.base/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java - src/java.base/share/classes/com/sun/java/util/jar/pack/PropMap.java - src/java.base/share/classes/com/sun/java/util/jar/pack/TLGlobals.java - src/java.base/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java - src/java.base/share/classes/com/sun/java/util/jar/pack/Utils.java - src/java.base/share/classes/com/sun/java/util/jar/pack/intrinsic.properties - src/java.base/share/classes/com/sun/java/util/jar/pack/package-info.java - src/java.base/share/classes/java/lang/reflect/ProxyGenerator_v49.java - src/java.base/share/classes/java/time/chrono/hijrah-config-islamic-umalqura.properties - src/java.base/share/classes/java/time/overview.html - src/java.base/share/classes/java/util/jar/Pack200.java - src/java.base/share/classes/sun/net/idn/Punycode.java - src/java.base/share/classes/sun/net/idn/StringPrep.java - src/java.base/share/classes/sun/net/idn/StringPrepDataReader.java - src/java.base/share/classes/sun/net/idn/UCharacterDirection.java - src/java.base/share/classes/sun/net/idn/UCharacterEnums.java - src/java.base/share/classes/sun/security/util/math/intpoly/FieldGen.jsh - src/java.base/share/classes/sun/security/util/math/intpoly/IntegerPolynomialP256.java - src/java.base/share/classes/sun/security/util/math/intpoly/IntegerPolynomialP384.java - src/java.base/share/classes/sun/security/util/math/intpoly/IntegerPolynomialP521.java - src/java.base/share/classes/sun/security/util/math/intpoly/P256OrderField.java - src/java.base/share/classes/sun/security/util/math/intpoly/P384OrderField.java - src/java.base/share/classes/sun/security/util/math/intpoly/P521OrderField.java - src/java.base/share/classes/sun/security/util/math/intpoly/header.txt - src/java.base/share/classes/sun/text/bidi/BidiBase.java - src/java.base/share/classes/sun/text/bidi/BidiLine.java - src/java.base/share/classes/sun/text/bidi/BidiRun.java - src/java.base/share/classes/sun/text/bidi/BidiWriter.java - src/java.base/share/classes/sun/text/normalizer/BMPSet.java - src/java.base/share/classes/sun/text/normalizer/CharTrie.java - src/java.base/share/classes/sun/text/normalizer/CharacterIteratorWrapper.java - src/java.base/share/classes/sun/text/normalizer/CodePointMap.java - src/java.base/share/classes/sun/text/normalizer/CodePointTrie.java - src/java.base/share/classes/sun/text/normalizer/FilteredNormalizer2.java - src/java.base/share/classes/sun/text/normalizer/ICUBinary.java - src/java.base/share/classes/sun/text/normalizer/Norm2AllModes.java - src/java.base/share/classes/sun/text/normalizer/Normalizer2.java - src/java.base/share/classes/sun/text/normalizer/NormalizerBase.java - src/java.base/share/classes/sun/text/normalizer/NormalizerImpl.java - src/java.base/share/classes/sun/text/normalizer/OutputInt.java - src/java.base/share/classes/sun/text/normalizer/Replaceable.java - src/java.base/share/classes/sun/text/normalizer/ReplaceableString.java - src/java.base/share/classes/sun/text/normalizer/ReplaceableUCharacterIterator.java - src/java.base/share/classes/sun/text/normalizer/Trie.java - src/java.base/share/classes/sun/text/normalizer/Trie2.java - src/java.base/share/classes/sun/text/normalizer/Trie2_16.java - src/java.base/share/classes/sun/text/normalizer/UBiDiProps.java - src/java.base/share/classes/sun/text/normalizer/UCharacter.java - src/java.base/share/classes/sun/text/normalizer/UCharacterIterator.java - src/java.base/share/classes/sun/text/normalizer/UCharacterProperty.java - src/java.base/share/classes/sun/text/normalizer/UTF16.java - src/java.base/share/classes/sun/text/normalizer/UnicodeSet.java - src/java.base/share/classes/sun/text/normalizer/UnicodeSetStringSpan.java - src/java.base/share/classes/sun/text/normalizer/Utility.java - src/java.base/share/classes/sun/text/normalizer/VersionInfo.java - src/java.base/share/classes/sun/text/resources/nfc.nrm - src/java.base/share/classes/sun/text/resources/nfkc.nrm - src/java.base/share/classes/sun/text/resources/ubidi.icu - src/java.base/share/classes/sun/text/resources/uprops.icu - src/java.base/share/native/libjava/jdk_util.c - src/jdk.compiler/share/classes/META-INF/services/com.sun.tools.javac.platform.PlatformProvider - src/jdk.compiler/share/classes/com/sun/tools/javac/services/javax.tools.JavaCompilerTool - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.aarch64.test/src/org/graalvm/compiler/asm/aarch64/test/AArch64MacroAssemblerTest.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotGCProvider.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/DimensionsNode.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/NewObjectSnippets.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/ObjectSubstitutions.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/Access.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/HeapAccess.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryCheckpoint.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/GCProvider.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/external/jquery/jquery.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jszip-utils/dist/jszip-utils-ie.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jszip-utils/dist/jszip-utils-ie.min.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jszip-utils/dist/jszip-utils.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jszip-utils/dist/jszip-utils.min.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jszip/dist/jszip.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jszip/dist/jszip.min.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ToolOption.java - src/jdk.javadoc/share/legal/jszip.md - src/jdk.jlink/share/classes/jdk/tools/jlink/internal/packager/AppRuntimeImageBuilder.java - src/jdk.pack/share/classes/module-info.java - src/jdk.pack/share/man/pack200.1 - src/jdk.pack/share/man/unpack200.1 - src/jdk.pack/share/native/common-unpack/bands.cpp - src/jdk.pack/share/native/common-unpack/bands.h - src/jdk.pack/share/native/common-unpack/bytes.cpp - src/jdk.pack/share/native/common-unpack/bytes.h - src/jdk.pack/share/native/common-unpack/coding.cpp - src/jdk.pack/share/native/common-unpack/coding.h - src/jdk.pack/share/native/common-unpack/constants.h - src/jdk.pack/share/native/common-unpack/defines.h - src/jdk.pack/share/native/common-unpack/unpack.cpp - src/jdk.pack/share/native/common-unpack/unpack.h - src/jdk.pack/share/native/common-unpack/utils.cpp - src/jdk.pack/share/native/common-unpack/utils.h - src/jdk.pack/share/native/common-unpack/zip.cpp - src/jdk.pack/share/native/common-unpack/zip.h - src/jdk.pack/share/native/libunpack/jni.cpp - src/jdk.pack/share/native/unpack200/main.cpp - src/jdk.pack/windows/native/unpack200/unpack200_proto.exe.manifest - test/hotspot/gtest/gc/z/test_zUtils.cpp - test/hotspot/jtreg/gc/shenandoah/compiler/TestCommonGCLoads.java - test/hotspot/jtreg/gc/startup_warnings/TestParallelScavengeSerialOld.java - test/hotspot/jtreg/runtime/7116786/Test7116786.java - test/hotspot/jtreg/runtime/7116786/testcases.jar - test/hotspot/jtreg/runtime/7162488/Test7162488.sh - test/hotspot/jtreg/runtime/CDSCompressedKPtrs/CDSCompressedKPtrsError.java - test/hotspot/jtreg/runtime/EnclosingMethodAttr/enclMethodAttr.jar - test/hotspot/jtreg/runtime/LocalVariableTable/DuplicateLVT.cod - test/hotspot/jtreg/runtime/LocalVariableTable/DuplicateLVTT.cod - test/hotspot/jtreg/runtime/LocalVariableTable/NotFoundLVTT.cod - test/hotspot/jtreg/runtime/LocalVariableTable/testcase.jar - test/hotspot/jtreg/runtime/StackGap/testme.sh - test/hotspot/jtreg/runtime/StackGuardPages/testme.sh - test/hotspot/jtreg/runtime/TLS/testtls.sh - test/hotspot/jtreg/runtime/classFileParserBug/emptynumbootstrapmethods.jar - test/hotspot/jtreg/runtime/classFileParserBug/test.jar - test/hotspot/jtreg/runtime/duplAttributes/test.jar - test/hotspot/jtreg/runtime/handshake/HandshakeWalkStackFallbackTest.java - test/hotspot/jtreg/vmTestbase/jit/escape/LockCoarsening/LockCoarsening001/TestDescription.java - test/hotspot/jtreg/vmTestbase/jit/escape/LockCoarsening/LockCoarsening002/TestDescription.java - test/hotspot/jtreg/vmTestbase/jit/escape/LockCoarsening/run.sh - test/hotspot/jtreg/vmTestbase/jit/tiered/TestDescription.java - test/hotspot/jtreg/vmTestbase/jit/tiered/tieredTest.sh - test/hotspot/jtreg/vmTestbase/metaspace/flags/maxMetaspaceSize/TestDescription.java - test/hotspot/jtreg/vmTestbase/metaspace/flags/maxMetaspaceSize/maxMetaspaceSize.sh - test/hotspot/jtreg/vmTestbase/vm/compiler/CodeCacheInfo/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/compiler/CodeCacheInfo/run.sh - test/hotspot/jtreg/vmTestbase/vm/compiler/CodeCacheInfoOnCompilation/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/compiler/CodeCacheInfoOnCompilation/run.sh - test/jdk/java/lang/Runtime/Resources.java - test/jdk/java/lang/Runtime/Version/Basic.java - test/jdk/java/lang/Runtime/Version/VersionProps.java - test/jdk/java/lang/Runtime/exec/ArgWithSpaceAndFinalBackslash.java - test/jdk/java/lang/Runtime/exec/BadEnvp.java - test/jdk/java/lang/Runtime/exec/ConcurrentRead.java - test/jdk/java/lang/Runtime/exec/Duped.java - test/jdk/java/lang/Runtime/exec/ExecCommand.java - test/jdk/java/lang/Runtime/exec/ExecEmptyString.java - test/jdk/java/lang/Runtime/exec/ExecWithDir.java - test/jdk/java/lang/Runtime/exec/ExecWithInput.java - test/jdk/java/lang/Runtime/exec/ExecWithLotsOfArgs.java - test/jdk/java/lang/Runtime/exec/ExitValue.java - test/jdk/java/lang/Runtime/exec/LotsOfDestroys.java - test/jdk/java/lang/Runtime/exec/LotsOfOutput.java - test/jdk/java/lang/Runtime/exec/SetCwd.java - test/jdk/java/lang/Runtime/exec/SleepyCat.java - test/jdk/java/lang/Runtime/exec/Space.java - test/jdk/java/lang/Runtime/exec/Status.java - test/jdk/java/lang/Runtime/exec/StreamsSurviveDestroy.java - test/jdk/java/lang/Runtime/exec/UnixCommands.java - test/jdk/java/lang/Runtime/exec/WinCommand.java - test/jdk/java/lang/Runtime/exec/setcwd.sh - test/jdk/java/lang/Runtime/loadLibrary/LoadLibraryTest.java - test/jdk/java/lang/Runtime/loadLibrary/src/Target.java - test/jdk/java/lang/Runtime/loadLibrary/src/Target2.java - test/jdk/java/lang/Runtime/shutdown/Basic.java - test/jdk/java/lang/Runtime/shutdown/ShutdownHooks.java - test/jdk/java/lang/Runtime/shutdown/ShutdownHooks.sh - test/jdk/java/lang/Runtime/shutdown/ShutdownInterruptedMain.java - test/jdk/java/lang/instrument/TEST.properties - test/jdk/java/net/httpclient/ssltest/bad.keystore - test/jdk/java/net/httpclient/ssltest/good.keystore - test/jdk/java/net/httpclient/ssltest/loopback.keystore - test/jdk/java/util/jar/Pack200/SecurityTest.java - test/jdk/javax/net/ssl/compatibility/JdkRelease.java - test/jdk/jdk/jfr/api/consumer/recordingstream/TestSetFlushInterval.java - test/jdk/jdk/jfr/api/recording/time/TestSetFlushInterval.java - test/jdk/jdk/jfr/event/gc/collection/TestGCCauseWithPSMarkSweep.java - test/jdk/jdk/jfr/event/gc/collection/TestGCEventMixedWithPSMarkSweep.java - test/jdk/jdk/jfr/event/gc/heapsummary/TestHeapSummaryEventPSSerial.java - test/jdk/jdk/jfr/event/gc/objectcount/TestObjectCountAfterGCEventWithPSMarkSweep.java - test/jdk/jdk/jfr/event/gc/refstat/TestRefStatEventWithPSMarkSweep.java - test/jdk/jdk/jfr/event/io/EvilInstrument.java - test/jdk/jdk/jfr/event/oldobject/TestParallelOld.java - test/jdk/jdk/jfr/event/sampling/libTestNative.c - test/jdk/sun/security/krb5/auto/SaslGSS.java - test/jdk/tools/jar/DeprecateOptionN.java - test/jdk/tools/pack200/AttributeTests.java - test/jdk/tools/pack200/BandIntegrity.java - test/jdk/tools/pack200/CommandLineTests.java - test/jdk/tools/pack200/DeprecatePack200.java - test/jdk/tools/pack200/InstructionTests.java - test/jdk/tools/pack200/ModuleAttributes.java - test/jdk/tools/pack200/MultiRelease.java - test/jdk/tools/pack200/Pack200Props.java - test/jdk/tools/pack200/Pack200Test.java - test/jdk/tools/pack200/PackChecksum.java - test/jdk/tools/pack200/PackTestZip64.java - test/jdk/tools/pack200/PackTestZip64Manual.java - test/jdk/tools/pack200/PackageVersionTest.java - test/jdk/tools/pack200/RepackTest.java - test/jdk/tools/pack200/T7007157.java - test/jdk/tools/pack200/TestExceptions.java - test/jdk/tools/pack200/TestNormal.java - test/jdk/tools/pack200/TimeStamp.java - test/jdk/tools/pack200/UnpackerMemoryTest.java - test/jdk/tools/pack200/Utils.java - test/jdk/tools/pack200/badattr.jar - test/jdk/tools/pack200/pack200-verifier/data/README - test/jdk/tools/pack200/pack200-verifier/data/golden.jar - test/jdk/tools/pack200/pack200-verifier/make/build.xml - test/jdk/tools/pack200/pack200-verifier/src/sun/tools/pack/verify/ClassCompare.java - test/jdk/tools/pack200/pack200-verifier/src/sun/tools/pack/verify/Globals.java - test/jdk/tools/pack200/pack200-verifier/src/sun/tools/pack/verify/JarFileCompare.java - test/jdk/tools/pack200/pack200-verifier/src/sun/tools/pack/verify/Main.java - test/jdk/tools/pack200/pack200-verifier/src/sun/tools/pack/verify/VerifyTreeSet.java - test/jdk/tools/pack200/pack200-verifier/src/xmlkit/ClassReader.java - test/jdk/tools/pack200/pack200-verifier/src/xmlkit/CommandLineParser.java - test/jdk/tools/pack200/pack200-verifier/src/xmlkit/TokenList.java - test/jdk/tools/pack200/pack200-verifier/src/xmlkit/XMLKit.java - test/jdk/tools/pack200/typeannos/Lambda.java - test/jdk/tools/pack200/typeannos/Readme.txt - test/jdk/tools/pack200/typeannos/TargetTypes.java - test/jdk/tools/pack200/typeannos/TestTypeAnnotations.java - test/jdk/tools/pack200/typeannos/TypeUseTarget.java - test/langtools/jdk/javadoc/doclet/testOptions/help.html From sandhya.viswanathan at intel.com Mon Mar 9 21:25:35 2020 From: sandhya.viswanathan at intel.com (sandhya.viswanathan at intel.com) Date: Mon, 09 Mar 2020 21:25:35 +0000 Subject: hg: panama/dev: manual merge with vectorIntrinsics Message-ID: <202003092125.029LPaCI007197@aojmv0008.oracle.com> Changeset: 55ae76201d9d Author: sviswanathan Date: 2020-03-09 14:24 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/55ae76201d9d manual merge with vectorIntrinsics ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/cpu/x86/x86_32.ad ! src/hotspot/cpu/x86/x86_64.ad From sandhya.viswanathan at intel.com Tue Mar 10 00:23:07 2020 From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya) Date: Tue, 10 Mar 2020 00:23:07 +0000 Subject: [vectorIntrinsics] Blend cleanup for x86 Message-ID: Please find below a webrev which merges the VectorBlend instructs where possible for x86: http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/Blend/webrev.00/ Best Regards, Sandhya From yang.zhang at arm.com Tue Mar 10 01:29:41 2020 From: yang.zhang at arm.com (yang.zhang at arm.com) Date: Tue, 10 Mar 2020 01:29:41 +0000 Subject: hg: panama/dev: Support non power-of-two and 2048-bit vector length for gather load/scatter store Message-ID: <202003100129.02A1Tgrk016901@aojmv0008.oracle.com> Changeset: cc22ad642b0c Author: yzhang Date: 2020-03-06 13:57 +0800 URL: https://hg.openjdk.java.net/panama/dev/rev/cc22ad642b0c Support non power-of-two and 2048-bit vector length for gather load/scatter store Summary: 1. For gather load/scatter store, int array is used for index map. New index shape calculation function is added. 2. Use a gather mask to control index vector loading for long/double gather load/scatter store. 3. Gather load and scatter store is a pair of similar operations. One solution should be applied to them. 4. Some assertions that vector length is power of two are removed. 5. Add comments for gather load intrinsification. ! src/hotspot/share/opto/library_call.cpp ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/AbstractSpecies.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatVector.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/LongVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorShape.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 ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/gen-src.sh From ach at activeviam.com Tue Mar 10 11:31:11 2020 From: ach at activeviam.com (Antoine Chambille) Date: Tue, 10 Mar 2020 12:31:11 +0100 Subject: Using the Vector API on (externally allocated) foreign memory In-Reply-To: <0E903EF0-3FF1-493B-AD93-5207F86E1075@oracle.com> References: <289EBCCD-E93B-4781-A36C-5ED0BEE57E0C@oracle.com> <0E903EF0-3FF1-493B-AD93-5207F86E1075@oracle.com> Message-ID: Thanks for your insights Paul. I will write a JMH benchmark combining double arrays, byte buffers and byte arrays, and run it with and without bounds checking. I'll open another thread when I have the results. Cheers, -Antoine On Mon, Mar 9, 2020 at 6:04 PM Paul Sandoz wrote: > Hi, > > Do you have a JMH benchmark to share? That?s helpful so we know we are > talking more precisely about the same thing, further it means we can look > at the hotspots of the generated machine code and identify C2 issues. > > IIRC currently the performance focus has been mostly on fromArray/toArray > using corresponding primitive array so I could imagine there are some perf > issues to be resolved. However both primitive array access and buffer > access use the same load intrinsic. > > Some things to explore (if you have not done so already): > > - ensure the byte order is native order to avoid byte swapping. > > - compare with fromByteArray > > - switch off bounds checking using the system property > ?jdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK?: > > static final int VECTOR_ACCESS_OOB_CHECK = > Integer.getInteger("jdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK", 2); > > ? > > @ForceInline > static int checkFromIndexSize(int ix, int vlen, int length) { > switch (VectorIntrinsics.VECTOR_ACCESS_OOB_CHECK) { > case 0: return ix; // no range check > case 1: return Objects.checkFromIndexSize(ix, vlen, length); > case 2: return Objects.checkIndex(ix, length - (vlen - 1)); > default: throw new InternalError(); > } > } > > Hth, > Paul. > > > On Mar 9, 2020, at 4:02 AM, Antoine Chambille > wrote: > > > > Hi John, thank you for the suggestion, wrapping native memory with a > > ByteBuffer does work (com.sun.jna.Pointer.getByteBuffer(long address)). > > > > However after running a few benchmarks it looks like the code loading > > vectors from byte buffers is about twice slower than the same code > loading > > vectors from java arrays. Is this expected? > > > > JDK freshly checked out and built for Windows 10 ( > > http://hg.openjdk.java.net/panama/dev -b vectorIntrinsics ). double[] > data, > > AVX2, Intel. > > > > > > Best, > > -Antoine > > > > > > > > On Fri, Mar 6, 2020 at 8:43 PM John Rose wrote: > > > >> On Mar 6, 2020, at 9:59 AM, Antoine Chambille > wrote: > >> > >> > >> Is support for vector operations on (externally allocated) foreign > memory > >> being considered? Have we missed something? > >> > >> > >> The current story is that you have to wrap a byte buffer around > >> your native memory, using JNI?s NewDirectByteBuffer. Please > >> let us know if that doesn?t work for you. > >> > >> It is likely that vectors will interoperate with a more modern API > >> for both on-heap and off-heap access, after it settles. These ?memory > >> segments? are incubating in JDK 14: > >> > >> > >> > https://download.java.net/java/GA/jdk14/docs/api/jdk.incubator.foreign/jdk/incubator/foreign/MemorySegment.html > >> > >> ? John > >> > > > > > > -- > > [image: ActiveViam] [image: LinkedIn] > > > > > > Antoine Chambille > > *Global Head of Research & Development * > > > > [image: Office] +33 (0)1 40 13 91 00 > > [image: YouTube] > > [image: Blog] > > [image: Twitter] > > [image: location] > > > 46 > > rue de l'Arbre Sec, 75001 Paris [image: url] > > visit > > our website > > From ach at activeviam.com Tue Mar 10 14:51:54 2020 From: ach at activeviam.com (Antoine Chambille) Date: Tue, 10 Mar 2020 15:51:54 +0100 Subject: Vector API performance variation with arrays, byte arrays or byte buffers Message-ID: Hi folks, First, the new Vector API is -awesome- and it makes Java the best language for writing data parallel algorithms, a remarkable turnaround. It reminds me of when Java 5 became the best language for concurrent programming. I'm benchmarking a use case where you aggregate element wise an array of doubles into another array of doubles ( ai += bi for each coordinate ). There are large performance variations depending on whether the data is held in arrays, byte arrays or byte buffers. Disabling bounds checking removes some of the overhead but not all. I'm sharing the JMH microbenchmark below if that can help. Here are the results of running the benchmark on my laptop with Windows 10 and an Intel core i9-8950HK @2.90GHz -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=2 Benchmark Mode Cnt Score Error Units standardArrayArray thrpt 5 4657680.731 ? 22775.673 ops/s standardArrayBuffer thrpt 5 1074170.758 ? 28116.666 ops/s standardBufferArray thrpt 5 1066531.757 ? 39990.913 ops/s standardBufferBuffer thrpt 5 801500.523 ? 19984.247 ops/s vectorArrayArray thrpt 5 7107822.743 ? 454478.273 ops/s vectorArrayBuffer thrpt 5 1922263.407 ? 29921.036 ops/s vectorBufferArray thrpt 5 2732335.558 ? 81958.886 ops/s vectorBufferBuffer thrpt 5 1833276.409 ? 59682.441 ops/s vectorByteArrayByteArray thrpt 5 4618267.357 ? 127141.691 ops/s -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=0 Benchmark Mode Cnt Score Error Units standardArrayArray thrpt 5 4692286.894 ? 67785.058 ops/s standardArrayBuffer thrpt 5 1073420.025 ? 28216.922 ops/s standardBufferArray thrpt 5 1066385.323 ? 15700.653 ops/s standardBufferBuffer thrpt 5 797741.269 ? 15881.590 ops/s vectorArrayArray thrpt 5 8351594.873 ? 153608.251 ops/s vectorArrayBuffer thrpt 5 3107638.739 ? 223093.281 ops/s vectorBufferArray thrpt 5 3653867.093 ? 75307.265 ops/s vectorBufferBuffer thrpt 5 2224031.876 ? 49263.778 ops/s vectorByteArrayByteArray thrpt 5 4761018.920 ? 264243.227 ops/s cheers, -Antoine package com.activeviam; import jdk.incubator.vector.DoubleVector; import jdk.incubator.vector.VectorSpecies; import org.openjdk.jmh.annotations.*; import org.openjdk.jmh.runner.Runner; import org.openjdk.jmh.runner.options.Options; import org.openjdk.jmh.runner.options.OptionsBuilder; import java.nio.ByteBuffer; import java.nio.ByteOrder; /** * Benchmark the element wise aggregation of an array * of doubles into another array of doubles, using * combinations of java arrays, byte buffers, standard java code * and the new Vector API. */ public class AggregationBenchmark { /** Manually launch JMH */ public static void main(String[] params) throws Exception { Options opt = new OptionsBuilder() .include(AggregationBenchmark.class.getSimpleName()) .forks(1) .build(); new Runner(opt).run(); } @State(Scope.Benchmark) public static class Data { final static int SIZE = 1024; final double[] inputArray; final double[] outputArray; final byte[] inputByteArray; final byte[] outputByteArray; final ByteBuffer inputBuffer; final ByteBuffer outputBuffer; public Data() { this.inputArray = new double[SIZE]; this.outputArray = new double[SIZE]; this.inputByteArray = new byte[8 * SIZE]; this.outputByteArray = new byte[8 * SIZE]; this.inputBuffer = ByteBuffer.allocateDirect(8 * SIZE); this.outputBuffer = ByteBuffer.allocateDirect(8 * SIZE); } } @Benchmark public void standardArrayArray(Data state) { final double[] input = state.inputArray; final double[] output = state.outputArray; for(int i = 0; i < input.length; i++) { output[i] += input[i]; } } @Benchmark public void standardArrayBuffer(Data state) { final double[] input = state.inputArray; final ByteBuffer output = state.outputBuffer; for(int i = 0; i < input.length; i++) { output.putDouble(i << 3, output.getDouble(i << 3) + input[i]); } } @Benchmark public void standardBufferArray(Data state) { final ByteBuffer input = state.inputBuffer; final double[] output = state.outputArray; for(int i = 0; i < input.capacity(); i+=8) { output[i >>> 3] += input.getDouble(i); } } @Benchmark public void standardBufferBuffer(Data state) { final ByteBuffer input = state.inputBuffer; final ByteBuffer output = state.outputBuffer; for(int i = 0; i < input.capacity(); i+=8) { output.putDouble(i, output.getDouble(i) + input.getDouble(i)); } } final static VectorSpecies SPECIES = DoubleVector.SPECIES_MAX; @Benchmark public void vectorArrayArray(Data state) { final double[] input = state.inputArray; final double[] output = state.outputArray; for (int i = 0; i < input.length; i+=SPECIES.length()) { DoubleVector a = DoubleVector.fromArray(SPECIES, input, i); DoubleVector b = DoubleVector.fromArray(SPECIES, output, i); a = a.add(b); a.intoArray(output, i); } } @Benchmark public void vectorByteArrayByteArray(Data state) { final byte[] input = state.inputByteArray; final byte[] output = state.outputByteArray; for (int i = 0; i < input.length; i += 8 * SPECIES.length()) { DoubleVector a = DoubleVector.fromByteArray(SPECIES, input, i); DoubleVector b = DoubleVector.fromByteArray(SPECIES, output, i); a = a.add(b); a.intoByteArray(output, i); } } @Benchmark public void vectorBufferBuffer(Data state) { final ByteBuffer input = state.inputBuffer; final ByteBuffer output = state.outputBuffer; for (int i = 0; i < input.capacity(); i += 8 * SPECIES.length()) { DoubleVector a = DoubleVector.fromByteBuffer(SPECIES, input, i, ByteOrder.nativeOrder()); DoubleVector b = DoubleVector.fromByteBuffer(SPECIES, output, i, ByteOrder.nativeOrder()); a = a.add(b); a.intoByteBuffer(output, i, ByteOrder.nativeOrder()); } } @Benchmark public void vectorArrayBuffer(Data state) { final double[] input = state.inputArray; final ByteBuffer output = state.outputBuffer; for (int i = 0; i < input.length; i+=SPECIES.length()) { DoubleVector a = DoubleVector.fromArray(SPECIES, input, i); DoubleVector b = DoubleVector.fromByteBuffer(SPECIES, output, i << 3, ByteOrder.nativeOrder()); a = a.add(b); a.intoByteBuffer(output, i << 3, ByteOrder.nativeOrder()); } } @Benchmark public void vectorBufferArray(Data state) { final ByteBuffer input = state.inputBuffer; final double[] output = state.outputArray; for (int i = 0; i < input.capacity(); i += 8 * SPECIES.length()) { DoubleVector a = DoubleVector.fromByteBuffer(SPECIES, input, i, ByteOrder.nativeOrder()); DoubleVector b = DoubleVector.fromArray(SPECIES, output, i >>> 3); a = a.add(b); a.intoArray(output, i >>> 3); } } } From shravya.rukmannagari at intel.com Tue Mar 10 17:31:27 2020 From: shravya.rukmannagari at intel.com (Rukmannagari, Shravya) Date: Tue, 10 Mar 2020 17:31:27 +0000 Subject: [vectorIntrinsics] Blend cleanup for x86 In-Reply-To: References: Message-ID: Hi Sandhya, The patch looks good to me. Thanks, Shravya. From: Viswanathan, Sandhya Sent: Monday, March 9, 2020 5:23 PM To: panama-dev at openjdk.java.net; Rukmannagari, Shravya Subject: [vectorIntrinsics] Blend cleanup for x86 Please find below a webrev which merges the VectorBlend instructs where possible for x86: http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/Blend/webrev.00/ Best Regards, Sandhya From sandhya.viswanathan at intel.com Tue Mar 10 17:38:46 2020 From: sandhya.viswanathan at intel.com (sandhya.viswanathan at intel.com) Date: Tue, 10 Mar 2020 17:38:46 +0000 Subject: hg: panama/dev: Summary: [vector] Blend cleanup for x86 Message-ID: <202003101738.02AHcl7G008058@aojmv0008.oracle.com> Changeset: 0eab96f9625a Author: sviswanathan Date: 2020-03-10 10:37 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/0eab96f9625a Summary: [vector] Blend cleanup for x86 Reviewed-by: srukmannagar ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/x86.ad From paul.sandoz at oracle.com Tue Mar 10 19:38:29 2020 From: paul.sandoz at oracle.com (Paul Sandoz) Date: Tue, 10 Mar 2020 12:38:29 -0700 Subject: Vector API performance variation with arrays, byte arrays or byte buffers In-Reply-To: References: Message-ID: Hi Antoine, Thank you, this is helpful. I can reproduce similar results.n Some initial thoughts follow, its likely we need a C2 expert to help identify problem areas and fixes. The hotspots of generated assembler from C2 is very insightful in these cases (in this case using the dtrace asm profiler on the Mac). For vectorArrayArray the hot loop is unrolled and one can clearly identify the repeated and vectorized mov, add, mov triple representing output[I] += input[I]. Here?s a sinppet (formatting might get messed up, reformat as a fixed with font for clarity) 3.10% ? ? 0x0000000110d93690: vmovdqu 0x10(%r14,%rsi,8),%ymm0 2.11% ? ? 0x0000000110d93697: vaddpd 0x10(%rax,%rsi,8),%ymm0,%ymm0 6.30% ? ? 0x0000000110d9369d: vmovdqu %ymm0,0x10(%r14,%rsi,8) 10.63% ? ? 0x0000000110d936a4: vmovdqu 0x30(%rax,%rsi,8),%ymm0 6.90% ? ? 0x0000000110d936aa: mov %esi,%ebp 3.80% ? ? 0x0000000110d936ac: add $0x4,%ebp 1.85% ? ? 0x0000000110d936af: cmp %r10d,%ebp ?? ? 0x0000000110d936b2: jae 0x0000000110d9374d 3.14% ?? ? 0x0000000110d936b8: vaddpd 0x30(%r14,%rsi,8),%ymm0,%ymm0 10.13% ?? ? 0x0000000110d936bf: vmovdqu %ymm0,0x30(%r14,%rsi,8) 5.25% ?? ? 0x0000000110d936c6: vmovdqu 0x50(%rax,%rsi,8),%ymm0 2.28% ?? ? 0x0000000110d936cc: mov %esi,%ebp 1.51% ?? ? 0x0000000110d936ce: add $0x8,%ebp 1.68% ?? ? 0x0000000110d936d1: cmp %r10d,%ebp ??? ? 0x0000000110d936d4: jae 0x0000000110d9374d ? There are also unnecessary bound checks ?droppings? that we are aware of and C2 needs to be enhanced to avoid such generation. Avoiding bounds checks gives the ideal hot loop we want: 0.78% ? ??? 0x000000010d501e70: vmovdqu 0x10(%rsi,%r9,8),%ymm0 0.26% ? ??? 0x000000010d501e77: vaddpd 0x10(%rax,%r9,8),%ymm0,%ymm0 8.28% ? ??? 0x000000010d501e7e: vmovdqu %ymm0,0x10(%rsi,%r9,8) 2.43% ? ??? 0x000000010d501e85: vmovdqu 0x30(%rsi,%r9,8),%ymm0 0.04% ? ??? 0x000000010d501e8c: vaddpd 0x30(%rax,%r9,8),%ymm0,%ymm0 5.64% ? ??? 0x000000010d501e93: vmovdqu %ymm0,0x30(%rsi,%r9,8) 3.15% ? ??? 0x000000010d501e9a: vmovdqu 0x50(%rsi,%r9,8),%ymm0 0.05% ? ??? 0x000000010d501ea1: vaddpd 0x50(%rax,%r9,8),%ymm0,%ymm0 4.85% ? ??? 0x000000010d501ea8: vmovdqu %ymm0,0x50(%rsi,%r9,8) 3.72% ? ??? 0x000000010d501eaf: vmovdqu 0x70(%rsi,%r9,8),%ymm0 0.03% ? ??? 0x000000010d501eb6: vaddpd 0x70(%rax,%r9,8),%ymm0,%ymm0 4.36% ? ??? 0x000000010d501ebd: vmovdqu %ymm0,0x70(%rsi,%r9,8) 3.85% ? ??? 0x000000010d501ec4: vmovdqu 0x90(%rsi,%r9,8),%ymm0 ? ??? 0x000000010d501ece: vaddpd 0x90(%rax,%r9,8),%ymm0,%ymm0 5.90% ? ??? 0x000000010d501ed8: vmovdqu %ymm0,0x90(%rsi,%r9,8) 4.27% ? ??? 0x000000010d501ee2: vmovdqu 0xb0(%rsi,%r9,8),%ymm0 0.04% ? ??? 0x000000010d501eec: vaddpd 0xb0(%rax,%r9,8),%ymm0,%ymm0 6.59% ? ??? 0x000000010d501ef6: vmovdqu %ymm0,0xb0(%rsi,%r9,8) 11.49% ? ??? 0x000000010d501f00: vmovdqu 0xd0(%rsi,%r9,8),%ymm0 0.04% ? ??? 0x000000010d501f0a: vaddpd 0xd0(%rax,%r9,8),%ymm0,%ymm0 13.27% ? ??? 0x000000010d501f14: vmovdqu %ymm0,0xd0(%rsi,%r9,8) 4.91% ? ??? 0x000000010d501f1e: vmovdqu 0xf0(%rsi,%r9,8),%ymm0 0.01% ? ??? 0x000000010d501f28: vaddpd 0xf0(%rax,%r9,8),%ymm0,%ymm0 6.26% ? ??? 0x000000010d501f32: vmovdqu %ymm0,0xf0(%rsi,%r9,8) 4.72% ? ??? 0x000000010d501f3c: add $0x20,%r9d 0.03% ? ??? 0x000000010d501f40: cmp %r11d,%r9d ? ??? 0x000000010d501f43: jl 0x000000010d501e70 In principle we should be able to achieve the same for byte[] and byte buffer access. Alas not right now though :-( For vectorBufferBuffer I think there are a number of issues that in aggregate make things worse: 1) when bounds checks are switched off it can be observed that vector movs are not using the most efficient addressing modes as is the case for the primitive array, thus each vector instruction is prefixed with the address and offset calculation rather than embedded into the instruction itself. 0.07% ? 0x000000010eef7370: mov 0x30(%r12,%r10,8),%r8d 18.23% ? 0x000000010eef7375: movslq %esi,%rax 0.39% ? 0x000000010eef7378: mov %rax,%rdx ? 0x000000010eef737b: add 0x10(%r12,%r10,8),%rdx 0.10% ? 0x000000010eef7380: shl $0x3,%r8 18.58% ? 0x000000010eef7384: vmovdqu (%r8,%rdx,1),%ymm0 2) when bounds are are enabled this just compounds the issue. 3) in either case loop unrolling does not occur. Resolving 1) in C2 is likely unlock the optimizations applied for primitive array access. In summary we need fix C2! Paul. > On Mar 10, 2020, at 7:51 AM, Antoine Chambille wrote: > > Hi folks, > > First, the new Vector API is -awesome- and it makes Java the best language > for writing data parallel algorithms, a remarkable turnaround. It reminds > me of when Java 5 became the best language for concurrent programming. > > I'm benchmarking a use case where you aggregate element wise an array of > doubles into another array of doubles ( ai += bi for each coordinate ). > There are large performance variations depending on whether the data is > held in arrays, byte arrays or byte buffers. Disabling bounds checking > removes some of the overhead but not all. I'm sharing the JMH > microbenchmark below if that can help. > > > > Here are the results of running the benchmark on my laptop with Windows 10 > and an Intel core i9-8950HK @2.90GHz > > > -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=2 > > Benchmark Mode Cnt Score Error Units > standardArrayArray thrpt 5 4657680.731 ? 22775.673 ops/s > standardArrayBuffer thrpt 5 1074170.758 ? 28116.666 ops/s > standardBufferArray thrpt 5 1066531.757 ? 39990.913 ops/s > standardBufferBuffer thrpt 5 801500.523 ? 19984.247 ops/s > vectorArrayArray thrpt 5 7107822.743 ? 454478.273 ops/s > vectorArrayBuffer thrpt 5 1922263.407 ? 29921.036 ops/s > vectorBufferArray thrpt 5 2732335.558 ? 81958.886 ops/s > vectorBufferBuffer thrpt 5 1833276.409 ? 59682.441 ops/s > vectorByteArrayByteArray thrpt 5 4618267.357 ? 127141.691 ops/s > > > > -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=0 > > Benchmark Mode Cnt Score Error Units > standardArrayArray thrpt 5 4692286.894 ? 67785.058 ops/s > standardArrayBuffer thrpt 5 1073420.025 ? 28216.922 ops/s > standardBufferArray thrpt 5 1066385.323 ? 15700.653 ops/s > standardBufferBuffer thrpt 5 797741.269 ? 15881.590 ops/s > vectorArrayArray thrpt 5 8351594.873 ? 153608.251 ops/s > vectorArrayBuffer thrpt 5 3107638.739 ? 223093.281 ops/s > vectorBufferArray thrpt 5 3653867.093 ? 75307.265 ops/s > vectorBufferBuffer thrpt 5 2224031.876 ? 49263.778 ops/s > vectorByteArrayByteArray thrpt 5 4761018.920 ? 264243.227 ops/s > > > > cheers, > -Antoine > > > > > > > > > package com.activeviam; > > import jdk.incubator.vector.DoubleVector; > import jdk.incubator.vector.VectorSpecies; > import org.openjdk.jmh.annotations.*; > import org.openjdk.jmh.runner.Runner; > import org.openjdk.jmh.runner.options.Options; > import org.openjdk.jmh.runner.options.OptionsBuilder; > > import java.nio.ByteBuffer; > import java.nio.ByteOrder; > > /** > * Benchmark the element wise aggregation of an array > * of doubles into another array of doubles, using > * combinations of java arrays, byte buffers, standard java code > * and the new Vector API. > */ > public class AggregationBenchmark { > > /** Manually launch JMH */ > public static void main(String[] params) throws Exception { > Options opt = new OptionsBuilder() > .include(AggregationBenchmark.class.getSimpleName()) > .forks(1) > .build(); > > new Runner(opt).run(); > } > > > @State(Scope.Benchmark) > public static class Data { > final static int SIZE = 1024; > final double[] inputArray; > final double[] outputArray; > final byte[] inputByteArray; > final byte[] outputByteArray; > final ByteBuffer inputBuffer; > final ByteBuffer outputBuffer; > > public Data() { > this.inputArray = new double[SIZE]; > this.outputArray = new double[SIZE]; > this.inputByteArray = new byte[8 * SIZE]; > this.outputByteArray = new byte[8 * SIZE]; > this.inputBuffer = ByteBuffer.allocateDirect(8 * SIZE); > this.outputBuffer = ByteBuffer.allocateDirect(8 * SIZE); > } > } > > @Benchmark > public void standardArrayArray(Data state) { > final double[] input = state.inputArray; > final double[] output = state.outputArray; > for(int i = 0; i < input.length; i++) { > output[i] += input[i]; > } > } > > @Benchmark > public void standardArrayBuffer(Data state) { > final double[] input = state.inputArray; > final ByteBuffer output = state.outputBuffer; > for(int i = 0; i < input.length; i++) { > output.putDouble(i << 3, output.getDouble(i << 3) + input[i]); > } > } > > @Benchmark > public void standardBufferArray(Data state) { > final ByteBuffer input = state.inputBuffer; > final double[] output = state.outputArray; > for(int i = 0; i < input.capacity(); i+=8) { > output[i >>> 3] += input.getDouble(i); > } > } > > @Benchmark > public void standardBufferBuffer(Data state) { > final ByteBuffer input = state.inputBuffer; > final ByteBuffer output = state.outputBuffer; > for(int i = 0; i < input.capacity(); i+=8) { > output.putDouble(i, output.getDouble(i) + input.getDouble(i)); > } > } > > > final static VectorSpecies SPECIES = DoubleVector.SPECIES_MAX; > > @Benchmark > public void vectorArrayArray(Data state) { > final double[] input = state.inputArray; > final double[] output = state.outputArray; > > for (int i = 0; i < input.length; i+=SPECIES.length()) { > DoubleVector a = DoubleVector.fromArray(SPECIES, input, i); > DoubleVector b = DoubleVector.fromArray(SPECIES, output, i); > a = a.add(b); > a.intoArray(output, i); > } > } > > @Benchmark > public void vectorByteArrayByteArray(Data state) { > final byte[] input = state.inputByteArray; > final byte[] output = state.outputByteArray; > > for (int i = 0; i < input.length; i += 8 * SPECIES.length()) { > DoubleVector a = DoubleVector.fromByteArray(SPECIES, input, i); > DoubleVector b = DoubleVector.fromByteArray(SPECIES, output, i); > a = a.add(b); > a.intoByteArray(output, i); > } > } > > @Benchmark > public void vectorBufferBuffer(Data state) { > final ByteBuffer input = state.inputBuffer; > final ByteBuffer output = state.outputBuffer; > for (int i = 0; i < input.capacity(); i += 8 * SPECIES.length()) { > DoubleVector a = DoubleVector.fromByteBuffer(SPECIES, input, i, > ByteOrder.nativeOrder()); > DoubleVector b = DoubleVector.fromByteBuffer(SPECIES, output, > i, ByteOrder.nativeOrder()); > a = a.add(b); > a.intoByteBuffer(output, i, ByteOrder.nativeOrder()); > } > } > > @Benchmark > public void vectorArrayBuffer(Data state) { > final double[] input = state.inputArray; > final ByteBuffer output = state.outputBuffer; > > for (int i = 0; i < input.length; i+=SPECIES.length()) { > DoubleVector a = DoubleVector.fromArray(SPECIES, input, i); > DoubleVector b = DoubleVector.fromByteBuffer(SPECIES, output, i > << 3, ByteOrder.nativeOrder()); > a = a.add(b); > a.intoByteBuffer(output, i << 3, ByteOrder.nativeOrder()); > } > } > > @Benchmark > public void vectorBufferArray(Data state) { > final ByteBuffer input = state.inputBuffer; > final double[] output = state.outputArray; > for (int i = 0; i < input.capacity(); i += 8 * SPECIES.length()) { > DoubleVector a = DoubleVector.fromByteBuffer(SPECIES, input, i, > ByteOrder.nativeOrder()); > DoubleVector b = DoubleVector.fromArray(SPECIES, output, i >>> > 3); > a = a.add(b); > a.intoArray(output, i >>> 3); > } > } > > } From sandhya.viswanathan at intel.com Tue Mar 10 21:45:57 2020 From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya) Date: Tue, 10 Mar 2020 21:45:57 +0000 Subject: [vector] RFR: Support non power-of-two and 2048-bit vector length for gather load/scatter store In-Reply-To: References: <5350A269-D761-47DD-A87C-DDBDB5AF6C0E@oracle.com> <7B55D1C1-96FE-42A0-BFBB-522267F3D5FB@oracle.com> Message-ID: Hi Yang, This commit causes failures on x86. The MaxVector class correspond to maximum vector width supported on any platform. e.g. On a platform that supports 256-bit vector width, the MaxVector would represent 256-bit vectors. For this particular case: say for a LongVector there will be 4 longs, the corresponding Index vector would be 128-bit and is not the IntMaxVector. I will back out this commit for now till you have a fix. ---- The use of IntMaxVector below is not correct: if (vsp.vectorType() == LongMaxVector.class) { // For LongMaxVector, if vector length is 2048 bits, indexShape // of Long species is S_MAX_BIT. and the lane count of Long // vector is 32. When converting Long species to int species, // indexShape is still S_MAX_BIT, but the lane count of int vector // is 64. So when loading index vector (IntVector), only lower half // of index data is needed. vix = IntVector .fromArray(isp, indexMap, mapOffset, IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK) .add(offset); } else { ---- Best Regards, Sandhya -----Original Message----- From: panama-dev On Behalf Of Yang Zhang Sent: Sunday, March 08, 2020 11:45 PM To: Paul Sandoz Cc: panama-dev at openjdk.java.net Subject: RE: [vector] RFR: Support non power-of-two and 2048-bit vector length for gather load/scatter store Thanks for your review. > I presume that test also failed with your prior patch? Since the assert effectively inlines the check you had in the method: No, these tests(Long/DoubleMaxVectorTests) succeed with my prior patch. Because method lowerHalfTrueMask() is called only with Max=no-power-of-two or 2048. So there isn't assert failure. In such situation, vsp.vectorType() is DoubleMaxVector, and isp.vectorType() is also IntMaxVector. There isn't cast failure either. -----Original Message----- From: Paul Sandoz Sent: Saturday, March 7, 2020 12:59 AM To: Yang Zhang Cc: panama-dev at openjdk.java.net Subject: Re: [vector] RFR: Support non power-of-two and 2048-bit vector length for gather load/scatter store +1 > On Mar 6, 2020, at 2:50 AM, Yang Zhang wrote: > >> When "isp.laneCount() != vsp.laneCount()? is true then I assume its always the case that the species vector type is DoubleMaxVector. >> Is there anyway we could make this more explicit? >> Can we refer directly to IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK as in: >> assert vsp.vectorType() == DoubleMaxVector.class ....... >> .fromArray(isp, indexMap, mapOffset, >> IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK) > > When "isp.laneCount() != vsp.laneCount()? is true, it means that DoubleMaxVector is non-power-of-two or 2048 etc. 128, 256, 512 are excluded. Because when vsp.vectorShap is 128/256/512, isp. vectorShape can be initialized as 64/128/256. > > "assert vsp.vectorType() == DoubleMaxVector.class" doesn't exclude 128/256/512. There are test failures in Double/LongMaxVectorTests. > > test DoubleMaxVectorTests.gatherDoubleMaxVectorTests(double[-i * 5], > index[random]): failure > java.lang.ClassCastException: class > jdk.incubator.vector.IntMaxVector$IntMaxMask cannot be cast to class > jdk.incubator.vector.Int128Vector$Int128Mask > I presume that test also failed with your prior patch? Since the assert effectively inlines the check you had in the method: 3745 // Generate lower half true mask for gather load/scatter store 3746 // for DoubleMaxVector. 3747 @ForceInline 3748 public final VectorMask lowerHalfTrueMask() { 3749 if ((Class) vectorType() == DoubleMaxVector.class) { 3750 return IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK; 3751 } 3752 throw new AssertionError(); 3753 } > IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK can be used here, so method lowerHalfTrueMask can be removed. > > Please check this update. > http://cr.openjdk.java.net/~yzhang/vectorapi/vectorapi.2048npow/webrev > .02/ > > Regards > Yang > > > -----Original Message----- > From: Paul Sandoz > Sent: Friday, March 6, 2020 12:35 AM > To: Yang Zhang > Cc: panama-dev at openjdk.java.net > Subject: Re: [vector] RFR: Support non power-of-two and 2048-bit > vector length for gather load/scatter store > > Thank you this looks better. > > The fragility of the renamed method lowerHalfTrueMask still makes me uncomfortable. > > > 3038 IntVector vix; > 3039 if (isp.laneCount() != vsp.laneCount()) { > 3040 // For DoubleMaxVector, if vector length is 2048 bits, indexShape > 3041 // of Double species is S_MAX_BIT. and the lane count of Double > 3042 // vector is 32. When converting Double species to int species, > 3043 // indexShape is still S_MAX_BIT, but the lane count of int vector > 3044 // is 64. So when loading index vector (IntVector), only lower half > 3045 // of index data is needed. > 3046 vix = IntVector > 3047 .fromArray(isp, indexMap, mapOffset, vsp.lowerHalfTrueMask()) > 3048 .add(offset); > 3049 } else { > > When "isp.laneCount() != vsp.laneCount()? is true then I assume its always the case that the species vector type is DoubleMaxVector. > > Is there anyway we could make this more explicit? > > Can we refer directly to IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK as in: > > assert vsp.vectorType() == DoubleMaxVector.class ... > .fromArray(isp, indexMap, mapOffset, > IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK) > > ? > > Paul. > > >> On Mar 4, 2020, at 11:07 PM, Yang Zhang wrote: >> >> Hi Paul >> >> Thanks for your review. I have updated the patch. Please check it. >> http://cr.openjdk.java.net/~yzhang/vectorapi/vectorapi.2048npow/webre >> v >> .01/ >> >> Regards >> Yang >> >> -----Original Message----- >> From: Paul Sandoz >> Sent: Wednesday, March 4, 2020 10:14 AM >> To: Yang Zhang >> Cc: panama-dev at openjdk.java.net >> Subject: Re: [vector] RFR: Support non power-of-two and 2048-bit >> vector length for gather load/scatter store >> >> Hi, >> >> Than you for applying some consistency to these operations. >> >> >> VectorShape >> ? >> >> Can you add a @throws to the JavaDoc of forIndexBitSize and also forBitSize? >> >> >> ByteVector & ShortVector >> ? >> >> Also change the mask accepting gather implementation to use the internal mask accepting stOp. That implementation currently fails if any of the mask bits are not set. >> >> >> X-Vector.java.template >> ? >> >> 4389 #if[longOrDouble] >> 4390 >> 4391 // Mask for gather load >> 4392 @ForceInline >> 4393 public final VectorMask gatherMask() { >> 4394 if ((Class) vectorType() == $Type$MaxVector.class) { >> 4395 return IntMaxVector.IntMaxMask.GATHER_MASK; >> 4396 } >> 4397 throw new AssertionError(); >> 4398 } >> 4399 #end[longOrDouble] >> >> Hmm.. I am unsure about this since it?s a general method (should be package private) but only works in the case of when the vector type is of the max vector. >> >> Is there a better way to surface this up since presumably this is called only when the vector type is of max vector? Maybe be more explicit in the case of "isp.laneCount() != vsp.laneCount()?? >> >> >> X-VectorBits.java >> ? >> >> 699 #if[intAndMax] >> 700 static final IntMaxMask GATHER_MASK = new IntMaxMask(maskLowerHalf()); >> 701 #end[intAndMax] >> >> LOWER_HALF_TRUE_MASK is a wordier but more accurate description. >> >> Paul. >> >>> On Feb 13, 2020, at 10:32 PM, Yang Zhang wrote: >>> >>> Hi, >>> >>> I'm adding support non power-of-two and 2048-bit vector length for gather load/scatter store. >>> Could you please help to review it? >>> >>> Webrev: >>> http://cr.openjdk.java.net/~yzhang/vectorapi/vectorapi.2048npow/webr >>> e >>> v >>> .00/index.html >>> No new failures with a full jtreg. >>> >>> In this patch, I made the following changes. >>> 1. For gather load/scatter store, int array is used for index map. New index shape calculation function is added. >>> For AArch64 SVE, the maximum of index bit size is (2048/elementSize) * 32. >>> Index increments is (128/elementSize) * 32. So that new index shape calculation function is added. >>> >>> 2. Use a gather mask to control index vector loading for long/double gather load/scatter store. >>> When vector length is 2048 or non-power-of-two, e.g. SVE, there are >>> index out of bounds failures in long/double gather load test cases. >>> Take 2048 as an example, in long gather load (fromArray), indexShape >>> of long species is S_MAX_BIT, and the lane count of long vector is 32. >>> When converting long species to int species, indexShape of int >>> species is still S_MAX_BIT, but the lane count of int vector is 64. >>> So when loading index vector (IntVector), unnecessary index data is loaded. >>> If current vector is the tail, out of bounds failure happens. >>> >>> This failure is only for SVE. For X86, the reason why there isn't >>> such failure is that: >>> i) Byte/Short gather loads aren't intrinsified. >>> ii) For X86 AVX512, indexShape(int index map, 8 elements) of >>> long512/double512 >>> (8 elements) is initialized as S_256_BIT. For SVE with 512-bit >>> vector length, indexShape is initialized as S_256_BIT too. But for >>> SVE 2048-bit and non-power-of-two, there will be failures above. >>> >>> 3. Gather load and scatter store is a pair of similar operations. One solution should be applied to them. >>> The original java implementations of gather load and scatter store are different. >>> >>> Vector gather load scatter store >>> Int or float With intrinsification With intrinsification >>> Long or Double With intrinsification With intrinsification >>> Get indexShape directly Get indexShape indirectly >>> Normal index loading Special controlled index loading >>> Byte or short Without intrinsification With intrinsification, no instruction support on x86/arm >>> >>> I think gather load and scatter store is a pair of similar operations. One solution should be applied to them. >>> Based on above, I use a simple implementation for them. >>> Vector gather load/scatter store >>> Int or float With intrinsification >>> Long or Double With intrinsification >>> Get indexShape directly >>> Special controlled index loading >>> Byte or short Without intrinsification >>> If any problem, please let me know. >>> >>> 4. Some assertions that vector length is power of two are removed. >>> 5. Add comments for gather load intrinsification. >>> >>> Regards, >>> Yang >>> >>> >> >> IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. > > IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. From sandhya.viswanathan at intel.com Tue Mar 10 22:19:19 2020 From: sandhya.viswanathan at intel.com (sandhya.viswanathan at intel.com) Date: Tue, 10 Mar 2020 22:19:19 +0000 Subject: hg: panama/dev: Summary: [vectorIntrinsics] Revert support non power-of-two and 2048-bit vector length for gather load/scatter store Message-ID: <202003102219.02AMJKpj021622@aojmv0008.oracle.com> Changeset: 3b98d3fb3429 Author: sviswanathan Date: 2020-03-10 15:18 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/3b98d3fb3429 Summary: [vectorIntrinsics] Revert support non power-of-two and 2048-bit vector length for gather load/scatter store ! src/hotspot/share/opto/library_call.cpp ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/AbstractSpecies.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatVector.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/LongVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorShape.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 ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/gen-src.sh From sandhya.viswanathan at intel.com Tue Mar 10 23:39:21 2020 From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya) Date: Tue, 10 Mar 2020 23:39:21 +0000 Subject: [vector] Fix for test/hotspot/jtreg/compiler/loopopts/TestOverunrolling.java failure on vectorIntrinsics branch Message-ID: Please find below a webrev which fixes the test/hotspot/jtreg/compiler/loopopts/TestOverunrolling.java failure on vectorIntrinsics branch: http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/loopopts/webrev.00/ Best Regards, Sandhya From shravya.rukmannagari at intel.com Tue Mar 10 23:57:25 2020 From: shravya.rukmannagari at intel.com (Rukmannagari, Shravya) Date: Tue, 10 Mar 2020 23:57:25 +0000 Subject: [vector] Fix for test/hotspot/jtreg/compiler/loopopts/TestOverunrolling.java failure on vectorIntrinsics branch In-Reply-To: References: Message-ID: Hi Sandhya, The patch looks good to me. Thanks, Shravya. From: Viswanathan, Sandhya Sent: Tuesday, March 10, 2020 4:39 PM To: panama-dev at openjdk.java.net; Rukmannagari, Shravya Subject: [vector] Fix for test/hotspot/jtreg/compiler/loopopts/TestOverunrolling.java failure on vectorIntrinsics branch Please find below a webrev which fixes the test/hotspot/jtreg/compiler/loopopts/TestOverunrolling.java failure on vectorIntrinsics branch: http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/loopopts/webrev.00/ Best Regards, Sandhya From sandhya.viswanathan at intel.com Wed Mar 11 00:01:34 2020 From: sandhya.viswanathan at intel.com (sandhya.viswanathan at intel.com) Date: Wed, 11 Mar 2020 00:01:34 +0000 Subject: hg: panama/dev: Summary: [vectorIntrinsics] Fix for test/hotspot/jtreg/compiler/loopopts/TestOverunrolling.java failure Message-ID: <202003110001.02B01Z2G017361@aojmv0008.oracle.com> Changeset: 0b5ee4de2b55 Author: sviswanathan Date: 2020-03-10 17:00 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/0b5ee4de2b55 Summary: [vectorIntrinsics] Fix for test/hotspot/jtreg/compiler/loopopts/TestOverunrolling.java failure Reviewed-by: srukmannagar ! src/hotspot/share/opto/vectornode.hpp From Yang.Zhang at arm.com Wed Mar 11 02:11:02 2020 From: Yang.Zhang at arm.com (Yang Zhang) Date: Wed, 11 Mar 2020 02:11:02 +0000 Subject: [vector] RFR: Support non power-of-two and 2048-bit vector length for gather load/scatter store In-Reply-To: References: <5350A269-D761-47DD-A87C-DDBDB5AF6C0E@oracle.com> <7B55D1C1-96FE-42A0-BFBB-522267F3D5FB@oracle.com> Message-ID: Hi Sandhya Sorry. I pushed the wrong version of patch. This version is the final patch. http://cr.openjdk.java.net/~yzhang/vectorapi/vectorapi.2048npow/webrev.03/ But I pushed webrev.02. Do I need to push webrev.03? Regards Yang -----Original Message----- From: Viswanathan, Sandhya Sent: Wednesday, March 11, 2020 5:46 AM To: Yang Zhang ; Paul Sandoz Cc: panama-dev at openjdk.java.net Subject: RE: [vector] RFR: Support non power-of-two and 2048-bit vector length for gather load/scatter store Hi Yang, This commit causes failures on x86. The MaxVector class correspond to maximum vector width supported on any platform. e.g. On a platform that supports 256-bit vector width, the MaxVector would represent 256-bit vectors. For this particular case: say for a LongVector there will be 4 longs, the corresponding Index vector would be 128-bit and is not the IntMaxVector. I will back out this commit for now till you have a fix. ---- The use of IntMaxVector below is not correct: if (vsp.vectorType() == LongMaxVector.class) { // For LongMaxVector, if vector length is 2048 bits, indexShape // of Long species is S_MAX_BIT. and the lane count of Long // vector is 32. When converting Long species to int species, // indexShape is still S_MAX_BIT, but the lane count of int vector // is 64. So when loading index vector (IntVector), only lower half // of index data is needed. vix = IntVector .fromArray(isp, indexMap, mapOffset, IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK) .add(offset); } else { ---- Best Regards, Sandhya -----Original Message----- From: panama-dev On Behalf Of Yang Zhang Sent: Sunday, March 08, 2020 11:45 PM To: Paul Sandoz Cc: panama-dev at openjdk.java.net Subject: RE: [vector] RFR: Support non power-of-two and 2048-bit vector length for gather load/scatter store Thanks for your review. > I presume that test also failed with your prior patch? Since the assert effectively inlines the check you had in the method: No, these tests(Long/DoubleMaxVectorTests) succeed with my prior patch. Because method lowerHalfTrueMask() is called only with Max=no-power-of-two or 2048. So there isn't assert failure. In such situation, vsp.vectorType() is DoubleMaxVector, and isp.vectorType() is also IntMaxVector. There isn't cast failure either. -----Original Message----- From: Paul Sandoz Sent: Saturday, March 7, 2020 12:59 AM To: Yang Zhang Cc: panama-dev at openjdk.java.net Subject: Re: [vector] RFR: Support non power-of-two and 2048-bit vector length for gather load/scatter store +1 > On Mar 6, 2020, at 2:50 AM, Yang Zhang wrote: > >> When "isp.laneCount() != vsp.laneCount()? is true then I assume its always the case that the species vector type is DoubleMaxVector. >> Is there anyway we could make this more explicit? >> Can we refer directly to IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK as in: >> assert vsp.vectorType() == DoubleMaxVector.class ....... >> .fromArray(isp, indexMap, mapOffset, >> IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK) > > When "isp.laneCount() != vsp.laneCount()? is true, it means that DoubleMaxVector is non-power-of-two or 2048 etc. 128, 256, 512 are excluded. Because when vsp.vectorShap is 128/256/512, isp. vectorShape can be initialized as 64/128/256. > > "assert vsp.vectorType() == DoubleMaxVector.class" doesn't exclude 128/256/512. There are test failures in Double/LongMaxVectorTests. > > test DoubleMaxVectorTests.gatherDoubleMaxVectorTests(double[-i * 5], > index[random]): failure > java.lang.ClassCastException: class > jdk.incubator.vector.IntMaxVector$IntMaxMask cannot be cast to class > jdk.incubator.vector.Int128Vector$Int128Mask > I presume that test also failed with your prior patch? Since the assert effectively inlines the check you had in the method: 3745 // Generate lower half true mask for gather load/scatter store 3746 // for DoubleMaxVector. 3747 @ForceInline 3748 public final VectorMask lowerHalfTrueMask() { 3749 if ((Class) vectorType() == DoubleMaxVector.class) { 3750 return IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK; 3751 } 3752 throw new AssertionError(); 3753 } > IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK can be used here, so method lowerHalfTrueMask can be removed. > > Please check this update. > http://cr.openjdk.java.net/~yzhang/vectorapi/vectorapi.2048npow/webrev > .02/ > > Regards > Yang > > > -----Original Message----- > From: Paul Sandoz > Sent: Friday, March 6, 2020 12:35 AM > To: Yang Zhang > Cc: panama-dev at openjdk.java.net > Subject: Re: [vector] RFR: Support non power-of-two and 2048-bit > vector length for gather load/scatter store > > Thank you this looks better. > > The fragility of the renamed method lowerHalfTrueMask still makes me uncomfortable. > > > 3038 IntVector vix; > 3039 if (isp.laneCount() != vsp.laneCount()) { > 3040 // For DoubleMaxVector, if vector length is 2048 bits, indexShape > 3041 // of Double species is S_MAX_BIT. and the lane count of Double > 3042 // vector is 32. When converting Double species to int species, > 3043 // indexShape is still S_MAX_BIT, but the lane count of int vector > 3044 // is 64. So when loading index vector (IntVector), only lower half > 3045 // of index data is needed. > 3046 vix = IntVector > 3047 .fromArray(isp, indexMap, mapOffset, vsp.lowerHalfTrueMask()) > 3048 .add(offset); > 3049 } else { > > When "isp.laneCount() != vsp.laneCount()? is true then I assume its always the case that the species vector type is DoubleMaxVector. > > Is there anyway we could make this more explicit? > > Can we refer directly to IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK as in: > > assert vsp.vectorType() == DoubleMaxVector.class ... > .fromArray(isp, indexMap, mapOffset, > IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK) > > ? > > Paul. > > >> On Mar 4, 2020, at 11:07 PM, Yang Zhang wrote: >> >> Hi Paul >> >> Thanks for your review. I have updated the patch. Please check it. >> http://cr.openjdk.java.net/~yzhang/vectorapi/vectorapi.2048npow/webre >> v >> .01/ >> >> Regards >> Yang >> >> -----Original Message----- >> From: Paul Sandoz >> Sent: Wednesday, March 4, 2020 10:14 AM >> To: Yang Zhang >> Cc: panama-dev at openjdk.java.net >> Subject: Re: [vector] RFR: Support non power-of-two and 2048-bit >> vector length for gather load/scatter store >> >> Hi, >> >> Than you for applying some consistency to these operations. >> >> >> VectorShape >> ? >> >> Can you add a @throws to the JavaDoc of forIndexBitSize and also forBitSize? >> >> >> ByteVector & ShortVector >> ? >> >> Also change the mask accepting gather implementation to use the internal mask accepting stOp. That implementation currently fails if any of the mask bits are not set. >> >> >> X-Vector.java.template >> ? >> >> 4389 #if[longOrDouble] >> 4390 >> 4391 // Mask for gather load >> 4392 @ForceInline >> 4393 public final VectorMask gatherMask() { >> 4394 if ((Class) vectorType() == $Type$MaxVector.class) { >> 4395 return IntMaxVector.IntMaxMask.GATHER_MASK; >> 4396 } >> 4397 throw new AssertionError(); >> 4398 } >> 4399 #end[longOrDouble] >> >> Hmm.. I am unsure about this since it?s a general method (should be package private) but only works in the case of when the vector type is of the max vector. >> >> Is there a better way to surface this up since presumably this is called only when the vector type is of max vector? Maybe be more explicit in the case of "isp.laneCount() != vsp.laneCount()?? >> >> >> X-VectorBits.java >> ? >> >> 699 #if[intAndMax] >> 700 static final IntMaxMask GATHER_MASK = new IntMaxMask(maskLowerHalf()); >> 701 #end[intAndMax] >> >> LOWER_HALF_TRUE_MASK is a wordier but more accurate description. >> >> Paul. >> >>> On Feb 13, 2020, at 10:32 PM, Yang Zhang wrote: >>> >>> Hi, >>> >>> I'm adding support non power-of-two and 2048-bit vector length for gather load/scatter store. >>> Could you please help to review it? >>> >>> Webrev: >>> http://cr.openjdk.java.net/~yzhang/vectorapi/vectorapi.2048npow/webr >>> e >>> v >>> .00/index.html >>> No new failures with a full jtreg. >>> >>> In this patch, I made the following changes. >>> 1. For gather load/scatter store, int array is used for index map. New index shape calculation function is added. >>> For AArch64 SVE, the maximum of index bit size is (2048/elementSize) * 32. >>> Index increments is (128/elementSize) * 32. So that new index shape calculation function is added. >>> >>> 2. Use a gather mask to control index vector loading for long/double gather load/scatter store. >>> When vector length is 2048 or non-power-of-two, e.g. SVE, there are >>> index out of bounds failures in long/double gather load test cases. >>> Take 2048 as an example, in long gather load (fromArray), indexShape >>> of long species is S_MAX_BIT, and the lane count of long vector is 32. >>> When converting long species to int species, indexShape of int >>> species is still S_MAX_BIT, but the lane count of int vector is 64. >>> So when loading index vector (IntVector), unnecessary index data is loaded. >>> If current vector is the tail, out of bounds failure happens. >>> >>> This failure is only for SVE. For X86, the reason why there isn't >>> such failure is that: >>> i) Byte/Short gather loads aren't intrinsified. >>> ii) For X86 AVX512, indexShape(int index map, 8 elements) of >>> long512/double512 >>> (8 elements) is initialized as S_256_BIT. For SVE with 512-bit >>> vector length, indexShape is initialized as S_256_BIT too. But for >>> SVE 2048-bit and non-power-of-two, there will be failures above. >>> >>> 3. Gather load and scatter store is a pair of similar operations. One solution should be applied to them. >>> The original java implementations of gather load and scatter store are different. >>> >>> Vector gather load scatter store >>> Int or float With intrinsification With intrinsification >>> Long or Double With intrinsification With intrinsification >>> Get indexShape directly Get indexShape indirectly >>> Normal index loading Special controlled index loading >>> Byte or short Without intrinsification With intrinsification, no instruction support on x86/arm >>> >>> I think gather load and scatter store is a pair of similar operations. One solution should be applied to them. >>> Based on above, I use a simple implementation for them. >>> Vector gather load/scatter store >>> Int or float With intrinsification >>> Long or Double With intrinsification >>> Get indexShape directly >>> Special controlled index loading >>> Byte or short Without intrinsification >>> If any problem, please let me know. >>> >>> 4. Some assertions that vector length is power of two are removed. >>> 5. Add comments for gather load intrinsification. >>> >>> Regards, >>> Yang >>> >>> >> >> IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. > > IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. From ach at activeviam.com Wed Mar 11 09:09:18 2020 From: ach at activeviam.com (Antoine Chambille) Date: Wed, 11 Mar 2020 10:09:18 +0100 Subject: Vector API performance variation with arrays, byte arrays or byte buffers In-Reply-To: References: Message-ID: Quite interesting, thanks Paul. Clearly I've done the hard work writing this benchmark and now all you guys have to do is fix C2 ;) Jokes aside, I hope this gets some attention. I think the SIMD performance boost is especially beneficial for big data processing tools like Spark, ActiveViam, Presto, Dremio... Those technologies use off-heap memory and will load vectors from there, more often than from primitive arrays. Best, -Antoine On Tue, Mar 10, 2020 at 8:38 PM Paul Sandoz wrote: > Hi Antoine, > > Thank you, this is helpful. I can reproduce similar results.n Some > initial thoughts follow, its likely we need a C2 expert to help identify > problem areas and fixes. > > The hotspots of generated assembler from C2 is very insightful in these > cases (in this case using the dtrace asm profiler on the Mac). > > For vectorArrayArray the hot loop is unrolled and one can clearly identify > the repeated and vectorized mov, add, mov triple representing output[I] += > input[I]. > > Here?s a sinppet (formatting might get messed up, reformat as a fixed with > font for clarity) > > 3.10% ? ? 0x0000000110d93690: vmovdqu 0x10(%r14,%rsi,8),%ymm0 > 2.11% ? ? 0x0000000110d93697: vaddpd 0x10(%rax,%rsi,8),%ymm0,%ymm0 > 6.30% ? ? 0x0000000110d9369d: vmovdqu %ymm0,0x10(%r14,%rsi,8) > 10.63% ? ? 0x0000000110d936a4: vmovdqu 0x30(%rax,%rsi,8),%ymm0 > 6.90% ? ? 0x0000000110d936aa: mov %esi,%ebp > 3.80% ? ? 0x0000000110d936ac: add $0x4,%ebp > 1.85% ? ? 0x0000000110d936af: cmp %r10d,%ebp > ?? ? 0x0000000110d936b2: jae 0x0000000110d9374d > 3.14% ?? ? 0x0000000110d936b8: vaddpd 0x30(%r14,%rsi,8),%ymm0,%ymm0 > 10.13% ?? ? 0x0000000110d936bf: vmovdqu %ymm0,0x30(%r14,%rsi,8) > 5.25% ?? ? 0x0000000110d936c6: vmovdqu 0x50(%rax,%rsi,8),%ymm0 > 2.28% ?? ? 0x0000000110d936cc: mov %esi,%ebp > 1.51% ?? ? 0x0000000110d936ce: add $0x8,%ebp > 1.68% ?? ? 0x0000000110d936d1: cmp %r10d,%ebp > ??? ? 0x0000000110d936d4: jae 0x0000000110d9374d > ? > > There are also unnecessary bound checks ?droppings? that we are aware of > and C2 needs to be enhanced to avoid such generation. Avoiding bounds > checks gives the ideal hot loop we want: > > 0.78% ? ??? 0x000000010d501e70: vmovdqu 0x10(%rsi,%r9,8),%ymm0 > 0.26% ? ??? 0x000000010d501e77: vaddpd 0x10(%rax,%r9,8),%ymm0,%ymm0 > 8.28% ? ??? 0x000000010d501e7e: vmovdqu %ymm0,0x10(%rsi,%r9,8) > 2.43% ? ??? 0x000000010d501e85: vmovdqu 0x30(%rsi,%r9,8),%ymm0 > 0.04% ? ??? 0x000000010d501e8c: vaddpd 0x30(%rax,%r9,8),%ymm0,%ymm0 > 5.64% ? ??? 0x000000010d501e93: vmovdqu %ymm0,0x30(%rsi,%r9,8) > 3.15% ? ??? 0x000000010d501e9a: vmovdqu 0x50(%rsi,%r9,8),%ymm0 > 0.05% ? ??? 0x000000010d501ea1: vaddpd 0x50(%rax,%r9,8),%ymm0,%ymm0 > 4.85% ? ??? 0x000000010d501ea8: vmovdqu %ymm0,0x50(%rsi,%r9,8) > 3.72% ? ??? 0x000000010d501eaf: vmovdqu 0x70(%rsi,%r9,8),%ymm0 > 0.03% ? ??? 0x000000010d501eb6: vaddpd 0x70(%rax,%r9,8),%ymm0,%ymm0 > 4.36% ? ??? 0x000000010d501ebd: vmovdqu %ymm0,0x70(%rsi,%r9,8) > 3.85% ? ??? 0x000000010d501ec4: vmovdqu 0x90(%rsi,%r9,8),%ymm0 > ? ??? 0x000000010d501ece: vaddpd 0x90(%rax,%r9,8),%ymm0,%ymm0 > 5.90% ? ??? 0x000000010d501ed8: vmovdqu %ymm0,0x90(%rsi,%r9,8) > 4.27% ? ??? 0x000000010d501ee2: vmovdqu 0xb0(%rsi,%r9,8),%ymm0 > 0.04% ? ??? 0x000000010d501eec: vaddpd 0xb0(%rax,%r9,8),%ymm0,%ymm0 > 6.59% ? ??? 0x000000010d501ef6: vmovdqu %ymm0,0xb0(%rsi,%r9,8) > 11.49% ? ??? 0x000000010d501f00: vmovdqu 0xd0(%rsi,%r9,8),%ymm0 > 0.04% ? ??? 0x000000010d501f0a: vaddpd 0xd0(%rax,%r9,8),%ymm0,%ymm0 > 13.27% ? ??? 0x000000010d501f14: vmovdqu %ymm0,0xd0(%rsi,%r9,8) > 4.91% ? ??? 0x000000010d501f1e: vmovdqu 0xf0(%rsi,%r9,8),%ymm0 > 0.01% ? ??? 0x000000010d501f28: vaddpd 0xf0(%rax,%r9,8),%ymm0,%ymm0 > 6.26% ? ??? 0x000000010d501f32: vmovdqu %ymm0,0xf0(%rsi,%r9,8) > 4.72% ? ??? 0x000000010d501f3c: add $0x20,%r9d > 0.03% ? ??? 0x000000010d501f40: cmp %r11d,%r9d > ? ??? 0x000000010d501f43: jl 0x000000010d501e70 > > In principle we should be able to achieve the same for byte[] and byte > buffer access. Alas not right now though :-( > > For vectorBufferBuffer I think there are a number of issues that in > aggregate make things worse: > > 1) when bounds checks are switched off it can be observed that vector movs > are not using the most efficient addressing modes as is the case for the > primitive array, thus each vector instruction is prefixed with the address > and offset calculation rather than embedded into the instruction itself. > > 0.07% ? 0x000000010eef7370: mov 0x30(%r12,%r10,8),%r8d > 18.23% ? 0x000000010eef7375: movslq %esi,%rax > 0.39% ? 0x000000010eef7378: mov %rax,%rdx > ? 0x000000010eef737b: add 0x10(%r12,%r10,8),%rdx > 0.10% ? 0x000000010eef7380: shl $0x3,%r8 > 18.58% ? 0x000000010eef7384: vmovdqu (%r8,%rdx,1),%ymm0 > > 2) when bounds are are enabled this just compounds the issue. > > 3) in either case loop unrolling does not occur. > > Resolving 1) in C2 is likely unlock the optimizations applied for > primitive array access. > > In summary we need fix C2! > > Paul. > > > On Mar 10, 2020, at 7:51 AM, Antoine Chambille wrote: > > Hi folks, > > First, the new Vector API is -awesome- and it makes Java the best language > for writing data parallel algorithms, a remarkable turnaround. It reminds > me of when Java 5 became the best language for concurrent programming. > > I'm benchmarking a use case where you aggregate element wise an array of > doubles into another array of doubles ( ai += bi for each coordinate ). > There are large performance variations depending on whether the data is > held in arrays, byte arrays or byte buffers. Disabling bounds checking > removes some of the overhead but not all. I'm sharing the JMH > microbenchmark below if that can help. > > > > Here are the results of running the benchmark on my laptop with Windows 10 > and an Intel core i9-8950HK @2.90GHz > > > -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=2 > > Benchmark Mode Cnt Score Error Units > standardArrayArray thrpt 5 4657680.731 ? 22775.673 ops/s > standardArrayBuffer thrpt 5 1074170.758 ? 28116.666 ops/s > standardBufferArray thrpt 5 1066531.757 ? 39990.913 ops/s > standardBufferBuffer thrpt 5 801500.523 ? 19984.247 ops/s > vectorArrayArray thrpt 5 7107822.743 ? 454478.273 ops/s > vectorArrayBuffer thrpt 5 1922263.407 ? 29921.036 ops/s > vectorBufferArray thrpt 5 2732335.558 ? 81958.886 ops/s > vectorBufferBuffer thrpt 5 1833276.409 ? 59682.441 ops/s > vectorByteArrayByteArray thrpt 5 4618267.357 ? 127141.691 ops/s > > > > -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=0 > > Benchmark Mode Cnt Score Error Units > standardArrayArray thrpt 5 4692286.894 ? 67785.058 ops/s > standardArrayBuffer thrpt 5 1073420.025 ? 28216.922 ops/s > standardBufferArray thrpt 5 1066385.323 ? 15700.653 ops/s > standardBufferBuffer thrpt 5 797741.269 ? 15881.590 ops/s > vectorArrayArray thrpt 5 8351594.873 ? 153608.251 ops/s > vectorArrayBuffer thrpt 5 3107638.739 ? 223093.281 ops/s > vectorBufferArray thrpt 5 3653867.093 ? 75307.265 ops/s > vectorBufferBuffer thrpt 5 2224031.876 ? 49263.778 ops/s > vectorByteArrayByteArray thrpt 5 4761018.920 ? 264243.227 ops/s > > > > cheers, > -Antoine > > > > > > > > > package com.activeviam; > > import jdk.incubator.vector.DoubleVector; > import jdk.incubator.vector.VectorSpecies; > import org.openjdk.jmh.annotations.*; > import org.openjdk.jmh.runner.Runner; > import org.openjdk.jmh.runner.options.Options; > import org.openjdk.jmh.runner.options.OptionsBuilder; > > import java.nio.ByteBuffer; > import java.nio.ByteOrder; > > /** > * Benchmark the element wise aggregation of an array > * of doubles into another array of doubles, using > * combinations of java arrays, byte buffers, standard java code > * and the new Vector API. > */ > public class AggregationBenchmark { > > /** Manually launch JMH */ > public static void main(String[] params) throws Exception { > Options opt = new OptionsBuilder() > .include(AggregationBenchmark.class.getSimpleName()) > .forks(1) > .build(); > > new Runner(opt).run(); > } > > > @State(Scope.Benchmark) > public static class Data { > final static int SIZE = 1024; > final double[] inputArray; > final double[] outputArray; > final byte[] inputByteArray; > final byte[] outputByteArray; > final ByteBuffer inputBuffer; > final ByteBuffer outputBuffer; > > public Data() { > this.inputArray = new double[SIZE]; > this.outputArray = new double[SIZE]; > this.inputByteArray = new byte[8 * SIZE]; > this.outputByteArray = new byte[8 * SIZE]; > this.inputBuffer = ByteBuffer.allocateDirect(8 * SIZE); > this.outputBuffer = ByteBuffer.allocateDirect(8 * SIZE); > } > } > > @Benchmark > public void standardArrayArray(Data state) { > final double[] input = state.inputArray; > final double[] output = state.outputArray; > for(int i = 0; i < input.length; i++) { > output[i] += input[i]; > } > } > > @Benchmark > public void standardArrayBuffer(Data state) { > final double[] input = state.inputArray; > final ByteBuffer output = state.outputBuffer; > for(int i = 0; i < input.length; i++) { > output.putDouble(i << 3, output.getDouble(i << 3) + input[i]); > } > } > > @Benchmark > public void standardBufferArray(Data state) { > final ByteBuffer input = state.inputBuffer; > final double[] output = state.outputArray; > for(int i = 0; i < input.capacity(); i+=8) { > output[i >>> 3] += input.getDouble(i); > } > } > > @Benchmark > public void standardBufferBuffer(Data state) { > final ByteBuffer input = state.inputBuffer; > final ByteBuffer output = state.outputBuffer; > for(int i = 0; i < input.capacity(); i+=8) { > output.putDouble(i, output.getDouble(i) + input.getDouble(i)); > } > } > > > final static VectorSpecies SPECIES = DoubleVector.SPECIES_MAX; > > @Benchmark > public void vectorArrayArray(Data state) { > final double[] input = state.inputArray; > final double[] output = state.outputArray; > > for (int i = 0; i < input.length; i+=SPECIES.length()) { > DoubleVector a = DoubleVector.fromArray(SPECIES, input, i); > DoubleVector b = DoubleVector.fromArray(SPECIES, output, i); > a = a.add(b); > a.intoArray(output, i); > } > } > > @Benchmark > public void vectorByteArrayByteArray(Data state) { > final byte[] input = state.inputByteArray; > final byte[] output = state.outputByteArray; > > for (int i = 0; i < input.length; i += 8 * SPECIES.length()) { > DoubleVector a = DoubleVector.fromByteArray(SPECIES, input, i); > DoubleVector b = DoubleVector.fromByteArray(SPECIES, output, i); > a = a.add(b); > a.intoByteArray(output, i); > } > } > > @Benchmark > public void vectorBufferBuffer(Data state) { > final ByteBuffer input = state.inputBuffer; > final ByteBuffer output = state.outputBuffer; > for (int i = 0; i < input.capacity(); i += 8 * SPECIES.length()) { > DoubleVector a = DoubleVector.fromByteBuffer(SPECIES, input, i, > ByteOrder.nativeOrder()); > DoubleVector b = DoubleVector.fromByteBuffer(SPECIES, output, > i, ByteOrder.nativeOrder()); > a = a.add(b); > a.intoByteBuffer(output, i, ByteOrder.nativeOrder()); > } > } > > @Benchmark > public void vectorArrayBuffer(Data state) { > final double[] input = state.inputArray; > final ByteBuffer output = state.outputBuffer; > > for (int i = 0; i < input.length; i+=SPECIES.length()) { > DoubleVector a = DoubleVector.fromArray(SPECIES, input, i); > DoubleVector b = DoubleVector.fromByteBuffer(SPECIES, output, i > << 3, ByteOrder.nativeOrder()); > a = a.add(b); > a.intoByteBuffer(output, i << 3, ByteOrder.nativeOrder()); > } > } > > @Benchmark > public void vectorBufferArray(Data state) { > final ByteBuffer input = state.inputBuffer; > final double[] output = state.outputArray; > for (int i = 0; i < input.capacity(); i += 8 * SPECIES.length()) { > DoubleVector a = DoubleVector.fromByteBuffer(SPECIES, input, i, > ByteOrder.nativeOrder()); > DoubleVector b = DoubleVector.fromArray(SPECIES, output, i >>> > 3); > a = a.add(b); > a.intoArray(output, i >>> 3); > } > } > > } > > > -- [image: ActiveViam] [image: LinkedIn] Antoine Chambille *Global Head of Research & Development * [image: Office] +33 (0)1 40 13 91 00 [image: YouTube] [image: Blog] [image: Twitter] [image: location] 46 rue de l'Arbre Sec, 75001 Paris [image: url] visit our website From sundar at openjdk.java.net Wed Mar 11 12:20:42 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Wed, 11 Mar 2020 12:20:42 GMT Subject: [foreign-jextract] RFR: 8240853: Declaration.union() method sets wrong kind for the declaration object created In-Reply-To: <6ANj7lcmgfbyZXfcusLXR66_ex7ITLoSwRJ2mV6MjQ8=.6b848f0e-ae77-4594-9ffd-669ff79e102c@github.com> References: <6ANj7lcmgfbyZXfcusLXR66_ex7ITLoSwRJ2mV6MjQ8=.6b848f0e-ae77-4594-9ffd-669ff79e102c@github.com> Message-ID: On Wed, 11 Mar 2020 11:57:17 GMT, Athijegannathan Sundararajan wrote: > Fixing the Kind enum value Fixing the Kind enum value ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/43 From sundar at openjdk.java.net Wed Mar 11 12:20:42 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Wed, 11 Mar 2020 12:20:42 GMT Subject: [foreign-jextract] RFR: 8240853: Declaration.union() method sets wrong kind for the declaration object created Message-ID: <6ANj7lcmgfbyZXfcusLXR66_ex7ITLoSwRJ2mV6MjQ8=.6b848f0e-ae77-4594-9ffd-669ff79e102c@github.com> Fixing the Kind enum value ------------- Commit messages: - 8240853: Declaration.union() method sets wrong kind for the declaration object created Changes: https://git.openjdk.java.net/panama-foreign/pull/43/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/43/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8240853 Stats: 91 lines in 5 files changed: 81 ins; 0 del; 10 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/43.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/43/head:pull/43 PR: https://git.openjdk.java.net/panama-foreign/pull/43 From mcimadamore at openjdk.java.net Wed Mar 11 12:26:46 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Wed, 11 Mar 2020 12:26:46 GMT Subject: [foreign-jextract] RFR: 8240853: Declaration.union() method sets wrong kind for the declaration object created In-Reply-To: <6ANj7lcmgfbyZXfcusLXR66_ex7ITLoSwRJ2mV6MjQ8=.6b848f0e-ae77-4594-9ffd-669ff79e102c@github.com> References: <6ANj7lcmgfbyZXfcusLXR66_ex7ITLoSwRJ2mV6MjQ8=.6b848f0e-ae77-4594-9ffd-669ff79e102c@github.com> Message-ID: On Wed, 11 Mar 2020 11:57:17 GMT, Athijegannathan Sundararajan wrote: > Fixing the Kind enum value Looks good - nice changes in the test framework too! ------------- Marked as reviewed by mcimadamore (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/43 From sundar at openjdk.java.net Wed Mar 11 13:25:27 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Wed, 11 Mar 2020 13:25:27 GMT Subject: [foreign-jextract] RFR: 8240811: jextract generates non-compilable code for name collision between a struct and a global variable Message-ID: names are mangled when there are collisions. ------------- Commit messages: - 8240811: jextract generates non-compilable code for name collision between a struct and a global variable Changes: https://git.openjdk.java.net/panama-foreign/pull/44/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/44/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8240811 Stats: 245 lines in 5 files changed: 224 ins; 8 del; 13 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/44.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/44/head:pull/44 PR: https://git.openjdk.java.net/panama-foreign/pull/44 From mcimadamore at openjdk.java.net Wed Mar 11 13:30:45 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Wed, 11 Mar 2020 13:30:45 GMT Subject: [foreign-memaccess] RFR: 8240874: Add finer-grained access control for memory segments Message-ID: <_sKfSnfOW8e_pR9y73ha1jf3LoW-j_nCxkr2evXZOfo=.180d4dc2-5ade-46a0-a3b8-801559df75cf@github.com> This patch adds a finer-grained access control for memory segments; instead of the ad-hoc `MemorySegment::asReadOnly`, we now support a more complete `MemorySegment::withAccessModes`, where access modes is an int mask. Supported access modes are `READ`, `WRITE`, `CLOSE` and `ACQUIRE`, which gives much more freedom to clients when it comes to create restricted views (I've added a new section on that in the MemorySegment toplevel javadoc). I also did some minor changes, mostly to get rid of confinement restrictions where such restrictions were not needed (e.g. `MemorySegment::asSlice`). ------------- Commit messages: - JDK-8240874: Replace MemorySegment::asReadOnly() with more fine-grained access control. Changes: https://git.openjdk.java.net/panama-foreign/pull/45/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/45/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8240874 Stats: 249 lines in 7 files changed: 185 ins; 28 del; 36 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/45.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/45/head:pull/45 PR: https://git.openjdk.java.net/panama-foreign/pull/45 From mcimadamore at openjdk.java.net Wed Mar 11 14:13:05 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Wed, 11 Mar 2020 14:13:05 GMT Subject: [foreign-jextract] RFR: 8240811: jextract generates non-compilable code for name collision between a struct and a global variable In-Reply-To: References: Message-ID: On Wed, 11 Mar 2020 13:20:48 GMT, Athijegannathan Sundararajan wrote: > names are mangled when there are collisions. Overall the changes look sensible - I have one question: would it make sense to mangle name in a separate visitor step, rather than having the logic folded with the code generation? ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/44 From sundar at openjdk.java.net Wed Mar 11 14:32:28 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Wed, 11 Mar 2020 14:32:28 GMT Subject: [foreign-jextract] [Rev 01] RFR: 8240811: jextract generates non-compilable code for name collision between a struct and a global variable In-Reply-To: References: Message-ID: > names are mangled when there are collisions. Athijegannathan Sundararajan has updated the pull request incrementally with one additional commit since the last revision: added a FIXME for tree transformer (for name mangling and other such steps) ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/44/files - new: https://git.openjdk.java.net/panama-foreign/pull/44/files/8036f9a9..4a0b80fb Webrevs: - full: https://webrevs.openjdk.java.net/panama-foreign/44/webrev.01 - incr: https://webrevs.openjdk.java.net/panama-foreign/44/webrev.00-01 Stats: 3 lines in 2 files changed: 3 ins; 0 del; 0 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/44.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/44/head:pull/44 PR: https://git.openjdk.java.net/panama-foreign/pull/44 From mcimadamore at openjdk.java.net Wed Mar 11 14:33:46 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Wed, 11 Mar 2020 14:33:46 GMT Subject: [foreign-jextract] [Rev 01] RFR: 8240811: jextract generates non-compilable code for name collision between a struct and a global variable In-Reply-To: References: Message-ID: On Wed, 11 Mar 2020 14:32:28 GMT, Athijegannathan Sundararajan wrote: >> names are mangled when there are collisions. > > Athijegannathan Sundararajan has updated the pull request incrementally with one additional commit since the last > revision: > added a FIXME for tree transformer (for name mangling and other such steps) Looks good - as per offline discussion, we need to think about a general tree transform step which we can use to do things like these. The fact that some types can also refer back to declaration makes it less trivial than in the old jextract. ------------- Marked as reviewed by mcimadamore (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/44 From sundar at openjdk.java.net Wed Mar 11 16:20:23 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Wed, 11 Mar 2020 16:20:23 GMT Subject: [Integrated] [foreign-jextract] RFR: 8240853: Declaration.union() method sets wrong kind for the declaration object created In-Reply-To: <6ANj7lcmgfbyZXfcusLXR66_ex7ITLoSwRJ2mV6MjQ8=.6b848f0e-ae77-4594-9ffd-669ff79e102c@github.com> References: <6ANj7lcmgfbyZXfcusLXR66_ex7ITLoSwRJ2mV6MjQ8=.6b848f0e-ae77-4594-9ffd-669ff79e102c@github.com> Message-ID: <53fdf84e-2642-4de0-b45c-75662fb96919@openjdk.org> Changeset: bbe602f2 Author: Athijegannathan Sundararajan Date: 2020-03-11 12:26:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/bbe602f2 8240853: Declaration.union() method sets wrong kind for the declaration object created Fixing the Kind enum value Reviewed-by: mcimadamore ! src/jdk.incubator.jextract/share/classes/jdk/incubator/jextract/Declaration.java ! test/jdk/java/jextract/JextractApiTestBase.java ! test/jdk/java/jextract/Test8239490.java + test/jdk/java/jextract/Test8240853.h + test/jdk/java/jextract/Test8240853.java From sandhya.viswanathan at intel.com Wed Mar 11 16:22:17 2020 From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya) Date: Wed, 11 Mar 2020 16:22:17 +0000 Subject: [vector] RFR: Support non power-of-two and 2048-bit vector length for gather load/scatter store In-Reply-To: References: <5350A269-D761-47DD-A87C-DDBDB5AF6C0E@oracle.com> <7B55D1C1-96FE-42A0-BFBB-522267F3D5FB@oracle.com> Message-ID: Hi Yang, The webrev.03 doesn?t apply cleanly to vectorIntrinsics tip. Please port it to latest and push. Best Regards, Sandhya -----Original Message----- From: Yang Zhang Sent: Tuesday, March 10, 2020 7:11 PM To: Viswanathan, Sandhya ; Paul Sandoz Cc: panama-dev at openjdk.java.net Subject: RE: [vector] RFR: Support non power-of-two and 2048-bit vector length for gather load/scatter store Hi Sandhya Sorry. I pushed the wrong version of patch. This version is the final patch. http://cr.openjdk.java.net/~yzhang/vectorapi/vectorapi.2048npow/webrev.03/ But I pushed webrev.02. Do I need to push webrev.03? Regards Yang -----Original Message----- From: Viswanathan, Sandhya Sent: Wednesday, March 11, 2020 5:46 AM To: Yang Zhang ; Paul Sandoz Cc: panama-dev at openjdk.java.net Subject: RE: [vector] RFR: Support non power-of-two and 2048-bit vector length for gather load/scatter store Hi Yang, This commit causes failures on x86. The MaxVector class correspond to maximum vector width supported on any platform. e.g. On a platform that supports 256-bit vector width, the MaxVector would represent 256-bit vectors. For this particular case: say for a LongVector there will be 4 longs, the corresponding Index vector would be 128-bit and is not the IntMaxVector. I will back out this commit for now till you have a fix. ---- The use of IntMaxVector below is not correct: if (vsp.vectorType() == LongMaxVector.class) { // For LongMaxVector, if vector length is 2048 bits, indexShape // of Long species is S_MAX_BIT. and the lane count of Long // vector is 32. When converting Long species to int species, // indexShape is still S_MAX_BIT, but the lane count of int vector // is 64. So when loading index vector (IntVector), only lower half // of index data is needed. vix = IntVector .fromArray(isp, indexMap, mapOffset, IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK) .add(offset); } else { ---- Best Regards, Sandhya -----Original Message----- From: panama-dev On Behalf Of Yang Zhang Sent: Sunday, March 08, 2020 11:45 PM To: Paul Sandoz Cc: panama-dev at openjdk.java.net Subject: RE: [vector] RFR: Support non power-of-two and 2048-bit vector length for gather load/scatter store Thanks for your review. > I presume that test also failed with your prior patch? Since the assert effectively inlines the check you had in the method: No, these tests(Long/DoubleMaxVectorTests) succeed with my prior patch. Because method lowerHalfTrueMask() is called only with Max=no-power-of-two or 2048. So there isn't assert failure. In such situation, vsp.vectorType() is DoubleMaxVector, and isp.vectorType() is also IntMaxVector. There isn't cast failure either. -----Original Message----- From: Paul Sandoz Sent: Saturday, March 7, 2020 12:59 AM To: Yang Zhang Cc: panama-dev at openjdk.java.net Subject: Re: [vector] RFR: Support non power-of-two and 2048-bit vector length for gather load/scatter store +1 > On Mar 6, 2020, at 2:50 AM, Yang Zhang wrote: > >> When "isp.laneCount() != vsp.laneCount()? is true then I assume its always the case that the species vector type is DoubleMaxVector. >> Is there anyway we could make this more explicit? >> Can we refer directly to IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK as in: >> assert vsp.vectorType() == DoubleMaxVector.class ....... >> .fromArray(isp, indexMap, mapOffset, >> IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK) > > When "isp.laneCount() != vsp.laneCount()? is true, it means that DoubleMaxVector is non-power-of-two or 2048 etc. 128, 256, 512 are excluded. Because when vsp.vectorShap is 128/256/512, isp. vectorShape can be initialized as 64/128/256. > > "assert vsp.vectorType() == DoubleMaxVector.class" doesn't exclude 128/256/512. There are test failures in Double/LongMaxVectorTests. > > test DoubleMaxVectorTests.gatherDoubleMaxVectorTests(double[-i * 5], > index[random]): failure > java.lang.ClassCastException: class > jdk.incubator.vector.IntMaxVector$IntMaxMask cannot be cast to class > jdk.incubator.vector.Int128Vector$Int128Mask > I presume that test also failed with your prior patch? Since the assert effectively inlines the check you had in the method: 3745 // Generate lower half true mask for gather load/scatter store 3746 // for DoubleMaxVector. 3747 @ForceInline 3748 public final VectorMask lowerHalfTrueMask() { 3749 if ((Class) vectorType() == DoubleMaxVector.class) { 3750 return IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK; 3751 } 3752 throw new AssertionError(); 3753 } > IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK can be used here, so method lowerHalfTrueMask can be removed. > > Please check this update. > http://cr.openjdk.java.net/~yzhang/vectorapi/vectorapi.2048npow/webrev > .02/ > > Regards > Yang > > > -----Original Message----- > From: Paul Sandoz > Sent: Friday, March 6, 2020 12:35 AM > To: Yang Zhang > Cc: panama-dev at openjdk.java.net > Subject: Re: [vector] RFR: Support non power-of-two and 2048-bit > vector length for gather load/scatter store > > Thank you this looks better. > > The fragility of the renamed method lowerHalfTrueMask still makes me uncomfortable. > > > 3038 IntVector vix; > 3039 if (isp.laneCount() != vsp.laneCount()) { > 3040 // For DoubleMaxVector, if vector length is 2048 bits, indexShape > 3041 // of Double species is S_MAX_BIT. and the lane count of Double > 3042 // vector is 32. When converting Double species to int species, > 3043 // indexShape is still S_MAX_BIT, but the lane count of int vector > 3044 // is 64. So when loading index vector (IntVector), only lower half > 3045 // of index data is needed. > 3046 vix = IntVector > 3047 .fromArray(isp, indexMap, mapOffset, vsp.lowerHalfTrueMask()) > 3048 .add(offset); > 3049 } else { > > When "isp.laneCount() != vsp.laneCount()? is true then I assume its always the case that the species vector type is DoubleMaxVector. > > Is there anyway we could make this more explicit? > > Can we refer directly to IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK as in: > > assert vsp.vectorType() == DoubleMaxVector.class ... > .fromArray(isp, indexMap, mapOffset, > IntMaxVector.IntMaxMask.LOWER_HALF_TRUE_MASK) > > ? > > Paul. > > >> On Mar 4, 2020, at 11:07 PM, Yang Zhang wrote: >> >> Hi Paul >> >> Thanks for your review. I have updated the patch. Please check it. >> http://cr.openjdk.java.net/~yzhang/vectorapi/vectorapi.2048npow/webre >> v >> .01/ >> >> Regards >> Yang >> >> -----Original Message----- >> From: Paul Sandoz >> Sent: Wednesday, March 4, 2020 10:14 AM >> To: Yang Zhang >> Cc: panama-dev at openjdk.java.net >> Subject: Re: [vector] RFR: Support non power-of-two and 2048-bit >> vector length for gather load/scatter store >> >> Hi, >> >> Than you for applying some consistency to these operations. >> >> >> VectorShape >> ? >> >> Can you add a @throws to the JavaDoc of forIndexBitSize and also forBitSize? >> >> >> ByteVector & ShortVector >> ? >> >> Also change the mask accepting gather implementation to use the internal mask accepting stOp. That implementation currently fails if any of the mask bits are not set. >> >> >> X-Vector.java.template >> ? >> >> 4389 #if[longOrDouble] >> 4390 >> 4391 // Mask for gather load >> 4392 @ForceInline >> 4393 public final VectorMask gatherMask() { >> 4394 if ((Class) vectorType() == $Type$MaxVector.class) { >> 4395 return IntMaxVector.IntMaxMask.GATHER_MASK; >> 4396 } >> 4397 throw new AssertionError(); >> 4398 } >> 4399 #end[longOrDouble] >> >> Hmm.. I am unsure about this since it?s a general method (should be package private) but only works in the case of when the vector type is of the max vector. >> >> Is there a better way to surface this up since presumably this is called only when the vector type is of max vector? Maybe be more explicit in the case of "isp.laneCount() != vsp.laneCount()?? >> >> >> X-VectorBits.java >> ? >> >> 699 #if[intAndMax] >> 700 static final IntMaxMask GATHER_MASK = new IntMaxMask(maskLowerHalf()); >> 701 #end[intAndMax] >> >> LOWER_HALF_TRUE_MASK is a wordier but more accurate description. >> >> Paul. >> >>> On Feb 13, 2020, at 10:32 PM, Yang Zhang wrote: >>> >>> Hi, >>> >>> I'm adding support non power-of-two and 2048-bit vector length for gather load/scatter store. >>> Could you please help to review it? >>> >>> Webrev: >>> http://cr.openjdk.java.net/~yzhang/vectorapi/vectorapi.2048npow/webr >>> e >>> v >>> .00/index.html >>> No new failures with a full jtreg. >>> >>> In this patch, I made the following changes. >>> 1. For gather load/scatter store, int array is used for index map. New index shape calculation function is added. >>> For AArch64 SVE, the maximum of index bit size is (2048/elementSize) * 32. >>> Index increments is (128/elementSize) * 32. So that new index shape calculation function is added. >>> >>> 2. Use a gather mask to control index vector loading for long/double gather load/scatter store. >>> When vector length is 2048 or non-power-of-two, e.g. SVE, there are >>> index out of bounds failures in long/double gather load test cases. >>> Take 2048 as an example, in long gather load (fromArray), indexShape >>> of long species is S_MAX_BIT, and the lane count of long vector is 32. >>> When converting long species to int species, indexShape of int >>> species is still S_MAX_BIT, but the lane count of int vector is 64. >>> So when loading index vector (IntVector), unnecessary index data is loaded. >>> If current vector is the tail, out of bounds failure happens. >>> >>> This failure is only for SVE. For X86, the reason why there isn't >>> such failure is that: >>> i) Byte/Short gather loads aren't intrinsified. >>> ii) For X86 AVX512, indexShape(int index map, 8 elements) of >>> long512/double512 >>> (8 elements) is initialized as S_256_BIT. For SVE with 512-bit >>> vector length, indexShape is initialized as S_256_BIT too. But for >>> SVE 2048-bit and non-power-of-two, there will be failures above. >>> >>> 3. Gather load and scatter store is a pair of similar operations. One solution should be applied to them. >>> The original java implementations of gather load and scatter store are different. >>> >>> Vector gather load scatter store >>> Int or float With intrinsification With intrinsification >>> Long or Double With intrinsification With intrinsification >>> Get indexShape directly Get indexShape indirectly >>> Normal index loading Special controlled index loading >>> Byte or short Without intrinsification With intrinsification, no instruction support on x86/arm >>> >>> I think gather load and scatter store is a pair of similar operations. One solution should be applied to them. >>> Based on above, I use a simple implementation for them. >>> Vector gather load/scatter store >>> Int or float With intrinsification >>> Long or Double With intrinsification >>> Get indexShape directly >>> Special controlled index loading >>> Byte or short Without intrinsification >>> If any problem, please let me know. >>> >>> 4. Some assertions that vector length is power of two are removed. >>> 5. Add comments for gather load intrinsification. >>> >>> Regards, >>> Yang >>> >>> >> >> IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. > > IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. From sundar at openjdk.java.net Wed Mar 11 16:20:26 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Wed, 11 Mar 2020 16:20:26 GMT Subject: [Integrated] [foreign-jextract] RFR: 8240811: jextract generates non-compilable code for name collision between a struct and a global variable In-Reply-To: References: Message-ID: <6bfab33c-7ebb-4f9f-86e2-5070dd7ae497@openjdk.org> Changeset: 2d69080a Author: Athijegannathan Sundararajan Date: 2020-03-11 14:34:25 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2d69080a 8240811: jextract generates non-compilable code for name collision between a struct and a global variable Reviewed-by: mcimadamore ! src/jdk.incubator.jextract/share/classes/jdk/incubator/jextract/tool/HandleSourceFactory.java ! src/jdk.incubator.jextract/share/classes/jdk/incubator/jextract/tool/JavaSourceBuilder.java ! src/jdk.incubator.jextract/share/classes/jdk/incubator/jextract/tool/StaticWrapperSourceFactory.java + test/jdk/tools/jextract/Test8240811.java + test/jdk/tools/jextract/name_collision.h From vladimir.x.ivanov at oracle.com Wed Mar 11 18:39:53 2020 From: vladimir.x.ivanov at oracle.com (Vladimir Ivanov) Date: Wed, 11 Mar 2020 21:39:53 +0300 Subject: Vector API performance variation with arrays, byte arrays or byte buffers In-Reply-To: References: Message-ID: Nice micros indeed, Antoine! > In principle we should be able to achieve the same for byte[] and byte buffer access. Alas not right now though :-( > > For vectorBufferBuffer I think there are a number of issues that in aggregate make things worse: > > 1) when bounds checks are switched off it can be observed that vector movs are not using the most efficient addressing modes as is the case for the primitive array, thus each vector instruction is prefixed with the address and offset calculation rather than embedded into the instruction itself. > > 0.07% ? 0x000000010eef7370: mov 0x30(%r12,%r10,8),%r8d > 18.23% ? 0x000000010eef7375: movslq %esi,%rax > 0.39% ? 0x000000010eef7378: mov %rax,%rdx > ? 0x000000010eef737b: add 0x10(%r12,%r10,8),%rdx > 0.10% ? 0x000000010eef7380: shl $0x3,%r8 > 18.58% ? 0x000000010eef7384: vmovdqu (%r8,%rdx,1),%ymm0 Another issue is how ByteBuffers are accesses: DoubleVector fromByteBuffer0Template(ByteBuffer bb, int offset) { DoubleSpecies vsp = vspecies(); return VectorIntrinsics.load( vsp.vectorType(), vsp.elementType(), vsp.laneCount(), bufferBase(bb), bufferAddress(bb, offset), bb, offset, vsp, (buf, off, s) -> { DoubleBuffer tb = wrapper(buf, off, NATIVE_ENDIAN); return s.ldOp(tb, 0, (tb_, __, i) -> tb_.get(i)); }); } JIT-compiler (C2) needs more information about ByteBuffer instance ("bb") to disambiguate access location (on-heap vs off-heap vs mixed). VectorIntrinsics.bufferBase(bb) and VectorIntrinsics.bufferAddress(bb, offset) are opaque in that respect, so C2 has to put membars (CPUOrderMemBar) around the accesses (since they are classified as mixed) and it effectively limits amount of optimizations. > 2) when bounds are are enabled this just compounds the issue. > > 3) in either case loop unrolling does not occur. Membars are the culprit, but once they are gone, C2 unrolling heuristics need some tweaking as well: it doesn't unroll loops with large strides (8*8 = 32). Once membars are gone and unrolling is fixed, the scores become in favor of direct buffers (my guess is due to alignment): Before: -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=2: vectorArrayArray 5738494.127 ? 52704.256 ops/s vectorBufferBuffer 1584747.638 ? 35644.433 ops/s -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=0: vectorArrayArray 5705607.529 ? 118589.894 ops/s vectorBufferBuffer 2573858.340 ? 3322.248 ops/s vs After (no membars + unrolling): -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=[0,2]: vectorArrayArray 7961232.893 ? 59427.218 ops/s vectorBufferBuffer 8600848.228 ? 84322.430 ops/s Best regards, Vladimir Ivanov >> On Mar 10, 2020, at 7:51 AM, Antoine Chambille wrote: >> >> Hi folks, >> >> First, the new Vector API is -awesome- and it makes Java the best language >> for writing data parallel algorithms, a remarkable turnaround. It reminds >> me of when Java 5 became the best language for concurrent programming. >> >> I'm benchmarking a use case where you aggregate element wise an array of >> doubles into another array of doubles ( ai += bi for each coordinate ). >> There are large performance variations depending on whether the data is >> held in arrays, byte arrays or byte buffers. Disabling bounds checking >> removes some of the overhead but not all. I'm sharing the JMH >> microbenchmark below if that can help. >> >> >> >> Here are the results of running the benchmark on my laptop with Windows 10 >> and an Intel core i9-8950HK @2.90GHz >> >> >> -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=2 >> >> Benchmark Mode Cnt Score Error Units >> standardArrayArray thrpt 5 4657680.731 ? 22775.673 ops/s >> standardArrayBuffer thrpt 5 1074170.758 ? 28116.666 ops/s >> standardBufferArray thrpt 5 1066531.757 ? 39990.913 ops/s >> standardBufferBuffer thrpt 5 801500.523 ? 19984.247 ops/s >> vectorArrayArray thrpt 5 7107822.743 ? 454478.273 ops/s >> vectorArrayBuffer thrpt 5 1922263.407 ? 29921.036 ops/s >> vectorBufferArray thrpt 5 2732335.558 ? 81958.886 ops/s >> vectorBufferBuffer thrpt 5 1833276.409 ? 59682.441 ops/s >> vectorByteArrayByteArray thrpt 5 4618267.357 ? 127141.691 ops/s >> >> >> >> -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=0 >> >> Benchmark Mode Cnt Score Error Units >> standardArrayArray thrpt 5 4692286.894 ? 67785.058 ops/s >> standardArrayBuffer thrpt 5 1073420.025 ? 28216.922 ops/s >> standardBufferArray thrpt 5 1066385.323 ? 15700.653 ops/s >> standardBufferBuffer thrpt 5 797741.269 ? 15881.590 ops/s >> vectorArrayArray thrpt 5 8351594.873 ? 153608.251 ops/s >> vectorArrayBuffer thrpt 5 3107638.739 ? 223093.281 ops/s >> vectorBufferArray thrpt 5 3653867.093 ? 75307.265 ops/s >> vectorBufferBuffer thrpt 5 2224031.876 ? 49263.778 ops/s >> vectorByteArrayByteArray thrpt 5 4761018.920 ? 264243.227 ops/s >> >> >> >> cheers, >> -Antoine >> >> >> >> >> >> >> >> >> package com.activeviam; >> >> import jdk.incubator.vector.DoubleVector; >> import jdk.incubator.vector.VectorSpecies; >> import org.openjdk.jmh.annotations.*; >> import org.openjdk.jmh.runner.Runner; >> import org.openjdk.jmh.runner.options.Options; >> import org.openjdk.jmh.runner.options.OptionsBuilder; >> >> import java.nio.ByteBuffer; >> import java.nio.ByteOrder; >> >> /** >> * Benchmark the element wise aggregation of an array >> * of doubles into another array of doubles, using >> * combinations of java arrays, byte buffers, standard java code >> * and the new Vector API. >> */ >> public class AggregationBenchmark { >> >> /** Manually launch JMH */ >> public static void main(String[] params) throws Exception { >> Options opt = new OptionsBuilder() >> .include(AggregationBenchmark.class.getSimpleName()) >> .forks(1) >> .build(); >> >> new Runner(opt).run(); >> } >> >> >> @State(Scope.Benchmark) >> public static class Data { >> final static int SIZE = 1024; >> final double[] inputArray; >> final double[] outputArray; >> final byte[] inputByteArray; >> final byte[] outputByteArray; >> final ByteBuffer inputBuffer; >> final ByteBuffer outputBuffer; >> >> public Data() { >> this.inputArray = new double[SIZE]; >> this.outputArray = new double[SIZE]; >> this.inputByteArray = new byte[8 * SIZE]; >> this.outputByteArray = new byte[8 * SIZE]; >> this.inputBuffer = ByteBuffer.allocateDirect(8 * SIZE); >> this.outputBuffer = ByteBuffer.allocateDirect(8 * SIZE); >> } >> } >> >> @Benchmark >> public void standardArrayArray(Data state) { >> final double[] input = state.inputArray; >> final double[] output = state.outputArray; >> for(int i = 0; i < input.length; i++) { >> output[i] += input[i]; >> } >> } >> >> @Benchmark >> public void standardArrayBuffer(Data state) { >> final double[] input = state.inputArray; >> final ByteBuffer output = state.outputBuffer; >> for(int i = 0; i < input.length; i++) { >> output.putDouble(i << 3, output.getDouble(i << 3) + input[i]); >> } >> } >> >> @Benchmark >> public void standardBufferArray(Data state) { >> final ByteBuffer input = state.inputBuffer; >> final double[] output = state.outputArray; >> for(int i = 0; i < input.capacity(); i+=8) { >> output[i >>> 3] += input.getDouble(i); >> } >> } >> >> @Benchmark >> public void standardBufferBuffer(Data state) { >> final ByteBuffer input = state.inputBuffer; >> final ByteBuffer output = state.outputBuffer; >> for(int i = 0; i < input.capacity(); i+=8) { >> output.putDouble(i, output.getDouble(i) + input.getDouble(i)); >> } >> } >> >> >> final static VectorSpecies SPECIES = DoubleVector.SPECIES_MAX; >> >> @Benchmark >> public void vectorArrayArray(Data state) { >> final double[] input = state.inputArray; >> final double[] output = state.outputArray; >> >> for (int i = 0; i < input.length; i+=SPECIES.length()) { >> DoubleVector a = DoubleVector.fromArray(SPECIES, input, i); >> DoubleVector b = DoubleVector.fromArray(SPECIES, output, i); >> a = a.add(b); >> a.intoArray(output, i); >> } >> } >> >> @Benchmark >> public void vectorByteArrayByteArray(Data state) { >> final byte[] input = state.inputByteArray; >> final byte[] output = state.outputByteArray; >> >> for (int i = 0; i < input.length; i += 8 * SPECIES.length()) { >> DoubleVector a = DoubleVector.fromByteArray(SPECIES, input, i); >> DoubleVector b = DoubleVector.fromByteArray(SPECIES, output, i); >> a = a.add(b); >> a.intoByteArray(output, i); >> } >> } >> >> @Benchmark >> public void vectorBufferBuffer(Data state) { >> final ByteBuffer input = state.inputBuffer; >> final ByteBuffer output = state.outputBuffer; >> for (int i = 0; i < input.capacity(); i += 8 * SPECIES.length()) { >> DoubleVector a = DoubleVector.fromByteBuffer(SPECIES, input, i, >> ByteOrder.nativeOrder()); >> DoubleVector b = DoubleVector.fromByteBuffer(SPECIES, output, >> i, ByteOrder.nativeOrder()); >> a = a.add(b); >> a.intoByteBuffer(output, i, ByteOrder.nativeOrder()); >> } >> } >> >> @Benchmark >> public void vectorArrayBuffer(Data state) { >> final double[] input = state.inputArray; >> final ByteBuffer output = state.outputBuffer; >> >> for (int i = 0; i < input.length; i+=SPECIES.length()) { >> DoubleVector a = DoubleVector.fromArray(SPECIES, input, i); >> DoubleVector b = DoubleVector.fromByteBuffer(SPECIES, output, i >> << 3, ByteOrder.nativeOrder()); >> a = a.add(b); >> a.intoByteBuffer(output, i << 3, ByteOrder.nativeOrder()); >> } >> } >> >> @Benchmark >> public void vectorBufferArray(Data state) { >> final ByteBuffer input = state.inputBuffer; >> final double[] output = state.outputArray; >> for (int i = 0; i < input.capacity(); i += 8 * SPECIES.length()) { >> DoubleVector a = DoubleVector.fromByteBuffer(SPECIES, input, i, >> ByteOrder.nativeOrder()); >> DoubleVector b = DoubleVector.fromArray(SPECIES, output, i >>> >> 3); >> a = a.add(b); >> a.intoArray(output, i >>> 3); >> } >> } >> >> } > From paul.sandoz at oracle.com Wed Mar 11 18:53:10 2020 From: paul.sandoz at oracle.com (Paul Sandoz) Date: Wed, 11 Mar 2020 11:53:10 -0700 Subject: Vector API performance variation with arrays, byte arrays or byte buffers In-Reply-To: References: Message-ID: <5294DC98-7AAB-40A1-8D9B-2BB0000C206A@oracle.com> > On Mar 11, 2020, at 11:39 AM, Vladimir Ivanov wrote: > > Nice micros indeed, Antoine! > >> In principle we should be able to achieve the same for byte[] and byte buffer access. Alas not right now though :-( >> For vectorBufferBuffer I think there are a number of issues that in aggregate make things worse: >> 1) when bounds checks are switched off it can be observed that vector movs are not using the most efficient addressing modes as is the case for the primitive array, thus each vector instruction is prefixed with the address and offset calculation rather than embedded into the instruction itself. >> 0.07% ? 0x000000010eef7370: mov 0x30(%r12,%r10,8),%r8d >> 18.23% ? 0x000000010eef7375: movslq %esi,%rax >> 0.39% ? 0x000000010eef7378: mov %rax,%rdx >> ? 0x000000010eef737b: add 0x10(%r12,%r10,8),%rdx >> 0.10% ? 0x000000010eef7380: shl $0x3,%r8 >> 18.58% ? 0x000000010eef7384: vmovdqu (%r8,%rdx,1),%ymm0 > > Another issue is how ByteBuffers are accesses: > > DoubleVector fromByteBuffer0Template(ByteBuffer bb, int offset) { > DoubleSpecies vsp = vspecies(); > return VectorIntrinsics.load( > vsp.vectorType(), vsp.elementType(), vsp.laneCount(), > bufferBase(bb), bufferAddress(bb, offset), > bb, offset, vsp, > (buf, off, s) -> { > DoubleBuffer tb = wrapper(buf, off, NATIVE_ENDIAN); > return s.ldOp(tb, 0, (tb_, __, i) -> tb_.get(i)); > }); > } > > JIT-compiler (C2) needs more information about ByteBuffer instance ("bb") to disambiguate access location (on-heap vs off-heap vs mixed). > > VectorIntrinsics.bufferBase(bb) and VectorIntrinsics.bufferAddress(bb, offset) are opaque in that respect, so C2 has to put membars (CPUOrderMemBar) around the accesses (since they are classified as mixed) and it effectively limits amount of optimizations. > >> 2) when bounds are are enabled this just compounds the issue. >> 3) in either case loop unrolling does not occur. > > Membars are the culprit, but once they are gone, Ah, yes! What -XX option dod you use to disable insertion of the barrier? How can we make those go away? IIRC some work was done in Panama to fix this? Paul. > C2 unrolling heuristics need some tweaking as well: it doesn't unroll loops with large strides (8*8 = 32). > > Once membars are gone and unrolling is fixed, the scores become in favor of direct buffers (my guess is due to alignment): > > Before: > > -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=2: > vectorArrayArray 5738494.127 ? 52704.256 ops/s > vectorBufferBuffer 1584747.638 ? 35644.433 ops/s > > -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=0: > vectorArrayArray 5705607.529 ? 118589.894 ops/s > vectorBufferBuffer 2573858.340 ? 3322.248 ops/s > > vs > > After (no membars + unrolling): > > -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=[0,2]: > vectorArrayArray 7961232.893 ? 59427.218 ops/s > vectorBufferBuffer 8600848.228 ? 84322.430 ops/s > > Best regards, > Vladimir Ivanov > >>> On Mar 10, 2020, at 7:51 AM, Antoine Chambille wrote: >>> >>> Hi folks, >>> >>> First, the new Vector API is -awesome- and it makes Java the best language >>> for writing data parallel algorithms, a remarkable turnaround. It reminds >>> me of when Java 5 became the best language for concurrent programming. >>> >>> I'm benchmarking a use case where you aggregate element wise an array of >>> doubles into another array of doubles ( ai += bi for each coordinate ). >>> There are large performance variations depending on whether the data is >>> held in arrays, byte arrays or byte buffers. Disabling bounds checking >>> removes some of the overhead but not all. I'm sharing the JMH >>> microbenchmark below if that can help. >>> >>> >>> >>> Here are the results of running the benchmark on my laptop with Windows 10 >>> and an Intel core i9-8950HK @2.90GHz >>> >>> >>> -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=2 >>> >>> Benchmark Mode Cnt Score Error Units >>> standardArrayArray thrpt 5 4657680.731 ? 22775.673 ops/s >>> standardArrayBuffer thrpt 5 1074170.758 ? 28116.666 ops/s >>> standardBufferArray thrpt 5 1066531.757 ? 39990.913 ops/s >>> standardBufferBuffer thrpt 5 801500.523 ? 19984.247 ops/s >>> vectorArrayArray thrpt 5 7107822.743 ? 454478.273 ops/s >>> vectorArrayBuffer thrpt 5 1922263.407 ? 29921.036 ops/s >>> vectorBufferArray thrpt 5 2732335.558 ? 81958.886 ops/s >>> vectorBufferBuffer thrpt 5 1833276.409 ? 59682.441 ops/s >>> vectorByteArrayByteArray thrpt 5 4618267.357 ? 127141.691 ops/s >>> >>> >>> >>> -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=0 >>> >>> Benchmark Mode Cnt Score Error Units >>> standardArrayArray thrpt 5 4692286.894 ? 67785.058 ops/s >>> standardArrayBuffer thrpt 5 1073420.025 ? 28216.922 ops/s >>> standardBufferArray thrpt 5 1066385.323 ? 15700.653 ops/s >>> standardBufferBuffer thrpt 5 797741.269 ? 15881.590 ops/s >>> vectorArrayArray thrpt 5 8351594.873 ? 153608.251 ops/s >>> vectorArrayBuffer thrpt 5 3107638.739 ? 223093.281 ops/s >>> vectorBufferArray thrpt 5 3653867.093 ? 75307.265 ops/s >>> vectorBufferBuffer thrpt 5 2224031.876 ? 49263.778 ops/s >>> vectorByteArrayByteArray thrpt 5 4761018.920 ? 264243.227 ops/s >>> >>> >>> >>> cheers, >>> -Antoine >>> >>> >>> >>> >>> >>> >>> >>> >>> package com.activeviam; >>> >>> import jdk.incubator.vector.DoubleVector; >>> import jdk.incubator.vector.VectorSpecies; >>> import org.openjdk.jmh.annotations.*; >>> import org.openjdk.jmh.runner.Runner; >>> import org.openjdk.jmh.runner.options.Options; >>> import org.openjdk.jmh.runner.options.OptionsBuilder; >>> >>> import java.nio.ByteBuffer; >>> import java.nio.ByteOrder; >>> >>> /** >>> * Benchmark the element wise aggregation of an array >>> * of doubles into another array of doubles, using >>> * combinations of java arrays, byte buffers, standard java code >>> * and the new Vector API. >>> */ >>> public class AggregationBenchmark { >>> >>> /** Manually launch JMH */ >>> public static void main(String[] params) throws Exception { >>> Options opt = new OptionsBuilder() >>> .include(AggregationBenchmark.class.getSimpleName()) >>> .forks(1) >>> .build(); >>> >>> new Runner(opt).run(); >>> } >>> >>> >>> @State(Scope.Benchmark) >>> public static class Data { >>> final static int SIZE = 1024; >>> final double[] inputArray; >>> final double[] outputArray; >>> final byte[] inputByteArray; >>> final byte[] outputByteArray; >>> final ByteBuffer inputBuffer; >>> final ByteBuffer outputBuffer; >>> >>> public Data() { >>> this.inputArray = new double[SIZE]; >>> this.outputArray = new double[SIZE]; >>> this.inputByteArray = new byte[8 * SIZE]; >>> this.outputByteArray = new byte[8 * SIZE]; >>> this.inputBuffer = ByteBuffer.allocateDirect(8 * SIZE); >>> this.outputBuffer = ByteBuffer.allocateDirect(8 * SIZE); >>> } >>> } >>> >>> @Benchmark >>> public void standardArrayArray(Data state) { >>> final double[] input = state.inputArray; >>> final double[] output = state.outputArray; >>> for(int i = 0; i < input.length; i++) { >>> output[i] += input[i]; >>> } >>> } >>> >>> @Benchmark >>> public void standardArrayBuffer(Data state) { >>> final double[] input = state.inputArray; >>> final ByteBuffer output = state.outputBuffer; >>> for(int i = 0; i < input.length; i++) { >>> output.putDouble(i << 3, output.getDouble(i << 3) + input[i]); >>> } >>> } >>> >>> @Benchmark >>> public void standardBufferArray(Data state) { >>> final ByteBuffer input = state.inputBuffer; >>> final double[] output = state.outputArray; >>> for(int i = 0; i < input.capacity(); i+=8) { >>> output[i >>> 3] += input.getDouble(i); >>> } >>> } >>> >>> @Benchmark >>> public void standardBufferBuffer(Data state) { >>> final ByteBuffer input = state.inputBuffer; >>> final ByteBuffer output = state.outputBuffer; >>> for(int i = 0; i < input.capacity(); i+=8) { >>> output.putDouble(i, output.getDouble(i) + input.getDouble(i)); >>> } >>> } >>> >>> >>> final static VectorSpecies SPECIES = DoubleVector.SPECIES_MAX; >>> >>> @Benchmark >>> public void vectorArrayArray(Data state) { >>> final double[] input = state.inputArray; >>> final double[] output = state.outputArray; >>> >>> for (int i = 0; i < input.length; i+=SPECIES.length()) { >>> DoubleVector a = DoubleVector.fromArray(SPECIES, input, i); >>> DoubleVector b = DoubleVector.fromArray(SPECIES, output, i); >>> a = a.add(b); >>> a.intoArray(output, i); >>> } >>> } >>> >>> @Benchmark >>> public void vectorByteArrayByteArray(Data state) { >>> final byte[] input = state.inputByteArray; >>> final byte[] output = state.outputByteArray; >>> >>> for (int i = 0; i < input.length; i += 8 * SPECIES.length()) { >>> DoubleVector a = DoubleVector.fromByteArray(SPECIES, input, i); >>> DoubleVector b = DoubleVector.fromByteArray(SPECIES, output, i); >>> a = a.add(b); >>> a.intoByteArray(output, i); >>> } >>> } >>> >>> @Benchmark >>> public void vectorBufferBuffer(Data state) { >>> final ByteBuffer input = state.inputBuffer; >>> final ByteBuffer output = state.outputBuffer; >>> for (int i = 0; i < input.capacity(); i += 8 * SPECIES.length()) { >>> DoubleVector a = DoubleVector.fromByteBuffer(SPECIES, input, i, >>> ByteOrder.nativeOrder()); >>> DoubleVector b = DoubleVector.fromByteBuffer(SPECIES, output, >>> i, ByteOrder.nativeOrder()); >>> a = a.add(b); >>> a.intoByteBuffer(output, i, ByteOrder.nativeOrder()); >>> } >>> } >>> >>> @Benchmark >>> public void vectorArrayBuffer(Data state) { >>> final double[] input = state.inputArray; >>> final ByteBuffer output = state.outputBuffer; >>> >>> for (int i = 0; i < input.length; i+=SPECIES.length()) { >>> DoubleVector a = DoubleVector.fromArray(SPECIES, input, i); >>> DoubleVector b = DoubleVector.fromByteBuffer(SPECIES, output, i >>> << 3, ByteOrder.nativeOrder()); >>> a = a.add(b); >>> a.intoByteBuffer(output, i << 3, ByteOrder.nativeOrder()); >>> } >>> } >>> >>> @Benchmark >>> public void vectorBufferArray(Data state) { >>> final ByteBuffer input = state.inputBuffer; >>> final double[] output = state.outputArray; >>> for (int i = 0; i < input.capacity(); i += 8 * SPECIES.length()) { >>> DoubleVector a = DoubleVector.fromByteBuffer(SPECIES, input, i, >>> ByteOrder.nativeOrder()); >>> DoubleVector b = DoubleVector.fromArray(SPECIES, output, i >>> >>> 3); >>> a = a.add(b); >>> a.intoArray(output, i >>> 3); >>> } >>> } >>> >>> } From psandoz at openjdk.java.net Wed Mar 11 21:39:54 2020 From: psandoz at openjdk.java.net (Paul Sandoz) Date: Wed, 11 Mar 2020 21:39:54 GMT Subject: [foreign-memaccess] RFR: 8240874: Add finer-grained access control for memory segments In-Reply-To: <_sKfSnfOW8e_pR9y73ha1jf3LoW-j_nCxkr2evXZOfo=.180d4dc2-5ade-46a0-a3b8-801559df75cf@github.com> References: <_sKfSnfOW8e_pR9y73ha1jf3LoW-j_nCxkr2evXZOfo=.180d4dc2-5ade-46a0-a3b8-801559df75cf@github.com> Message-ID: <7mcekbfvFC15r3M3-r9zgDhC9LIME2SDQj0eQCEH_iw=.9dc735ea-8ff3-4873-8c29-d67cde948663@github.com> On Wed, 11 Mar 2020 13:25:54 GMT, Maurizio Cimadamore wrote: > This patch adds a finer-grained access control for memory segments; instead of the ad-hoc `MemorySegment::asReadOnly`, > we now support a more complete `MemorySegment::withAccessModes`, where access modes is an int mask. > Supported access modes are `READ`, `WRITE`, `CLOSE` and `ACQUIRE`, which gives much more freedom to clients when it > comes to create restricted views (I've added a new section on that in the MemorySegment toplevel javadoc). > I also did some minor changes, mostly to get rid of confinement restrictions where such restrictions were not needed > (e.g. `MemorySegment::asSlice`). Suggest adding a `hasAccessModes` which does the obvious thing but can make code more readable. ------------- Marked as reviewed by psandoz (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/45 From youngty1997 at gmail.com Wed Mar 11 21:46:32 2020 From: youngty1997 at gmail.com (Ty Young) Date: Wed, 11 Mar 2020 16:46:32 -0500 Subject: Adding helpful jextract error messages Message-ID: <6fbe30e7-2ead-fc98-5352-82e88930c3e5@gmail.com> Hi, Currently the new jextract does not give any error messages as to why an attempted extraction has failed and will instead just print the key-switch help text over and over again. Could this be improved? I'm trying to use a modified old jextract extraction command to dump struct layout information: jextract -t org.nvidia.nvxctrl -lXNVCtrl? /usr/include/X11/Xmd.h /usr/include/X11/Xlibint.h /usr/include/NVCtrl/nv_control.h /usr/include/NVCtrl/NVCtrlLib.h --source ...but it fails. It seems like there is an issue where unless literal quotes(for example, "/usr/include/X11/Xmd.h") aren't used then it fails and multiple header file dumping isn't yet supported. From maurizio.cimadamore at oracle.com Wed Mar 11 22:04:05 2020 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 11 Mar 2020 22:04:05 +0000 Subject: hg: panama/dev: 88 new changesets Message-ID: <202003112204.02BM4A0u026483@aojmv0008.oracle.com> Changeset: 67cc6f3948e3 Author: ccheung Date: 2020-03-04 15:34 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/67cc6f3948e3 8240481: Remove CDS usage of InstanceKlass::is_in_error_state Summary: Track the classes which fail verification during CDS dumping in DumpTimeSharedClassInfo. Reviewed-by: iklam, minqi ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/classfile/systemDictionaryShared.hpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp Changeset: a5cea8e81879 Author: jwilhelm Date: 2020-03-05 02:02 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/a5cea8e81879 Added tag jdk-15+13 for changeset 1c06a8ee8aca ! .hgtags Changeset: 501a27fff637 Author: minqi Date: 2020-03-04 21:29 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/501a27fff637 8240546: runtime/cds/appcds/TestZGCWithCDS.java fails with Graal Summary: Test failed since Graal does not work with ZGC, fixed in test to skip Graal if ZGC. Reviewed-by: ccheung ! test/hotspot/jtreg/runtime/cds/appcds/TestZGCWithCDS.java Changeset: 3465ed78d670 Author: iklam Date: 2020-03-04 22:26 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/3465ed78d670 8240244: Avoid calling resolve_super_or_fail in SystemDictionary::load_shared_class Reviewed-by: redestad, lfoltan, minqi ! src/hotspot/share/classfile/classListParser.cpp ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/classfile/classLoaderExt.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/systemDictionaryShared.cpp ! src/hotspot/share/memory/dynamicArchive.cpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp Changeset: 187b26b1feb2 Author: njian Date: 2020-03-05 14:51 +0800 URL: https://hg.openjdk.java.net/panama/dev/rev/187b26b1feb2 8240286: [TESTBUG] Test command error in hotspot/jtreg/compiler/loopopts/superword/SumRedAbsNeg_Float.java Reviewed-by: kvn, thartmann Contributed-by: qi.feng at arm.com ! test/hotspot/jtreg/compiler/loopopts/superword/SumRedAbsNeg_Float.java Changeset: 0ba758a2b6f0 Author: dbuck Date: 2020-03-05 03:27 -0500 URL: https://hg.openjdk.java.net/panama/dev/rev/0ba758a2b6f0 8183369: RFC unconformity of HttpURLConnection with proxy Summary: HttpURLConnection retried with proxy if the connection fails on first attempt as per RFC Reviewed-by: chegar, dfuchs, vtewari Contributed-by: ravi.k.reddy at oracle.com ! src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java ! test/jdk/java/net/HttpURLConnection/HttpURLConWithProxy.java Changeset: c4dea8e07b84 Author: ysuenaga Date: 2020-03-05 19:46 +0900 URL: https://hg.openjdk.java.net/panama/dev/rev/c4dea8e07b84 8240197: Cannot start JVM when $JAVA_HOME includes CJK characters Reviewed-by: iklam, stuefe, rschmelter ! src/hotspot/os/windows/os_windows.cpp Changeset: fcbf0839a86c Author: eosterlund Date: 2020-03-05 11:12 +0000 URL: https://hg.openjdk.java.net/panama/dev/rev/fcbf0839a86c 8240370: Provide Intel JCC Erratum opt-out Reviewed-by: redestad, vlivanov, thartmann ! src/hotspot/cpu/x86/globals_x86.hpp ! src/hotspot/cpu/x86/vm_version_x86.cpp Changeset: 920a6239d61a Author: redestad Date: 2020-03-05 13:14 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/920a6239d61a 8240528: OopMap cleanup Reviewed-by: kvn, thartmann ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/share/compiler/oopMap.cpp ! src/hotspot/share/compiler/oopMap.hpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/runtime/vmStructs.cpp Changeset: 4074e3cce261 Author: mgronlun Date: 2020-03-05 17:55 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/4074e3cce261 8239376: JFR: assert(!cld->is_unsafe_anonymous()) failed: invariant Reviewed-by: coleenp, lfoltan, hseigel ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeSet.cpp Changeset: fbbcf9125cef Author: shurailine Date: 2020-03-05 09:51 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/fbbcf9125cef 8240241: Add support for JCov DiffCoverage to make files Reviewed-by: erikj, ihse ! doc/testing.html ! doc/testing.md ! make/RunTests.gmk Changeset: 3b6510b005e5 Author: lancea Date: 2020-03-05 13:56 -0500 URL: https://hg.openjdk.java.net/panama/dev/rev/3b6510b005e5 8211917: Zip FS should add META-INF/MANIFEST.FS at the start of the Zip/JAR Reviewed-by: clanger, jpai ! src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipFileSystem.java + test/jdk/jdk/nio/zipfs/testng/TEST.properties + test/jdk/jdk/nio/zipfs/testng/test/ManifestOrderTest.java + test/jdk/jdk/nio/zipfs/testng/util/ZipFsBaseTest.java Changeset: e804de2e6d4a Author: vromero Date: 2020-03-05 16:46 -0500 URL: https://hg.openjdk.java.net/panama/dev/rev/e804de2e6d4a 8240454: incorrect error message: as of release 13, 'record' is a restricted type name Reviewed-by: jlahoda ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/langtools/lib/combo/tools/javac/combo/CompilationTestCase.java ! test/langtools/lib/combo/tools/javac/combo/Diagnostics.java ! test/langtools/lib/combo/tools/javac/combo/JavacTemplateTestBase.java ! test/langtools/tools/javac/records/RecordCompilationTests.java ! test/langtools/tools/javac/switchexpr/WrongYieldTest.out Changeset: 5a58d0939974 Author: darcy Date: 2020-03-05 15:07 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/5a58d0939974 8240624: Note mapping of RoundingMode constants to equivalent IEEE 754-2019 attribute Reviewed-by: bpb ! src/java.base/share/classes/java/math/RoundingMode.java Changeset: 104476d44ee0 Author: dnsimon Date: 2020-03-05 16:32 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/104476d44ee0 8240538: [JVMCI] add test for JVMCI ConstantPool class Reviewed-by: kvn, iignatyev + test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.runtime.test/src/jdk/vm/ci/runtime/test/ConstantPoolTest.java Changeset: 92cf8efd381d Author: rsunderbabu Date: 2020-03-06 10:27 +0530 URL: https://hg.openjdk.java.net/panama/dev/rev/92cf8efd381d 8153430: jdk regression test MletParserLocaleTest, ParserInfiniteLoopTest reduce default timeout Summary: Removed timeout=5 from the tests so that default timeout is used Reviewed-by: cjplummer Contributed-by: ramkumar.sunderbabu at oracle.com ! test/jdk/javax/management/loading/MletParserLocaleTest.java ! test/jdk/javax/management/loading/ParserInfiniteLoopTest.java Changeset: 41f79689c039 Author: mbaesken Date: 2020-03-05 13:12 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/41f79689c039 8240603: Windows 32bit compile error after 8238676 Reviewed-by: clanger, dholmes ! test/hotspot/jtreg/runtime/jni/atExit/libatExit.c Changeset: 571b228bf874 Author: mdoerr Date: 2020-03-06 11:04 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/571b228bf874 8239856: [ntintel] asserts about copying unaligned array element Reviewed-by: stuefe, sspitsyn ! src/jdk.jdwp.agent/share/native/libjdwp/ArrayReferenceImpl.c Changeset: b009dd349913 Author: iwalulya Date: 2020-03-06 11:40 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/b009dd349913 8240589: OtherRegionsTable::_num_occupied not updated correctly Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/g1/heapRegionRemSet.cpp Changeset: 942c6102590a Author: rkennke Date: 2020-03-06 13:41 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/942c6102590a 8236981: Remove ShenandoahTraversalUpdateRefsClosure Reviewed-by: shade, rkennke Contributed-by: adityam at microsoft.com ! src/hotspot/share/gc/shenandoah/shenandoahClosures.hpp ! src/hotspot/share/gc/shenandoah/shenandoahClosures.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Changeset: cc8382a9118c Author: iwalulya Date: 2020-03-06 14:10 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/cc8382a9118c 8240592: HeapRegionManager::rebuild_free_list logs 0s for the estimated free regions before Reviewed-by: sjohanss, kbarrett ! src/hotspot/share/gc/g1/heapRegionManager.cpp Changeset: 2b6e1b425f5f Author: rschmelter Date: 2020-03-06 16:19 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/2b6e1b425f5f 8240440: Implement get_safepoint_workers() for parallel GC Reviewed-by: tschatzl, kbarrett ! src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp Changeset: 1c40993361d0 Author: sgehwolf Date: 2020-02-24 19:03 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/1c40993361d0 8240189: [TESTBUG] Some cgroup tests are failing after JDK-8231111 Reviewed-by: mbaesken, bobv ! test/jdk/jdk/internal/platform/docker/MetricsCpuTester.java ! test/jdk/jdk/internal/platform/docker/MetricsMemoryTester.java ! test/lib/jdk/test/lib/containers/cgroup/CgroupMetricsTester.java ! test/lib/jdk/test/lib/containers/cgroup/MetricsTesterCgroupV1.java ! test/lib/jdk/test/lib/containers/cgroup/MetricsTesterCgroupV2.java Changeset: dffc5585fa99 Author: shade Date: 2020-03-06 17:03 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/dffc5585fa99 8240671: Shenandoah: refactor ShenandoahPhaseTimings Reviewed-by: rkennke, zgu ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahStringDedup.cpp - src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.cpp - src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp Changeset: 90c1d2c1f333 Author: mullan Date: 2020-03-06 13:17 -0500 URL: https://hg.openjdk.java.net/panama/dev/rev/90c1d2c1f333 8240684: ProblemList 70 security tests that are failing on Windows due to "Fetch artifact failed" Reviewed-by: xuelei, stsmirno, dcubed ! test/jdk/ProblemList.txt Changeset: d0305db138ee Author: bpb Date: 2020-03-06 10:34 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/d0305db138ee 4617266: (se spec) SelectionKey.OP_READ/OP_WRITE documentation errors Reviewed-by: lancea, alanb, darcy ! src/java.base/share/classes/java/nio/channels/SelectionKey.java Changeset: c81062051951 Author: rriggs Date: 2020-03-06 13:52 -0500 URL: https://hg.openjdk.java.net/panama/dev/rev/c81062051951 8239893: Windows handle Leak when starting processes using ProcessBuilder Reviewed-by: bpb, naoto ! src/java.base/windows/classes/java/lang/ProcessImpl.java + test/jdk/java/lang/ProcessBuilder/checkHandles/CheckHandles.java + test/jdk/java/lang/ProcessBuilder/checkHandles/libCheckHandles.c Changeset: 22e4f0169cab Author: rkennke Date: 2020-03-06 21:51 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/22e4f0169cab 8240315: Shenandoah: Rename ShLBN::get_barrier_strength() Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp Changeset: f79f4f745f98 Author: ccheung Date: 2020-03-06 15:33 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/f79f4f745f98 8232081: Try to link all classes during dynamic CDS dump Summary: During CDS dynamic dump, link all classes loaded by the builtin class loaders in JVM_BeforeHalt() and JavaThread::invoke_shutdown_hooks(). Reviewed-by: iklam, dholmes ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/runtime/thread.cpp + test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/LinkClassTest.java + test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/test-classes/LinkClassApp.java Changeset: ba031902229b Author: kbarrett Date: 2020-03-06 18:42 -0500 URL: https://hg.openjdk.java.net/panama/dev/rev/ba031902229b 8240239: Replace ConcurrentGCPhaseManager Summary: Replace ConcurrentGCPhaseManager with ConcurrentGCBreakpoints Reviewed-by: kbarrett, pliden, sangheki Contributed-by: kim.barrett at oracle.com, per.liden at oracle.com ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMarkThread.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMarkThread.hpp ! src/hotspot/share/gc/g1/g1Policy.cpp ! src/hotspot/share/gc/g1/g1VMOperations.cpp ! src/hotspot/share/gc/g1/g1VMOperations.hpp ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp + src/hotspot/share/gc/shared/concurrentGCBreakpoints.cpp + src/hotspot/share/gc/shared/concurrentGCBreakpoints.hpp - src/hotspot/share/gc/shared/concurrentGCPhaseManager.cpp - src/hotspot/share/gc/shared/concurrentGCPhaseManager.hpp ! src/hotspot/share/gc/shared/gcCause.cpp ! src/hotspot/share/gc/shared/gcCause.hpp + src/hotspot/share/gc/z/zBreakpoint.cpp + src/hotspot/share/gc/z/zBreakpoint.hpp ! src/hotspot/share/gc/z/zCollectedHeap.cpp ! src/hotspot/share/gc/z/zCollectedHeap.hpp ! src/hotspot/share/gc/z/zDriver.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp + test/hotspot/jtreg/gc/TestConcurrentGCBreakpoints.java + test/hotspot/jtreg/gc/TestJNIWeak/TestJNIWeak.java + test/hotspot/jtreg/gc/TestJNIWeak/libTestJNIWeak.c - test/hotspot/jtreg/gc/concurrent_phase_control/CheckControl.java - test/hotspot/jtreg/gc/concurrent_phase_control/CheckSupported.java - test/hotspot/jtreg/gc/concurrent_phase_control/CheckUnsupported.java - test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlG1.java - test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlG1Basics.java - test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlParallel.java - test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlSerial.java - test/hotspot/jtreg/gc/g1/TestJNIWeakG1/TestJNIWeakG1.java - test/hotspot/jtreg/gc/g1/TestJNIWeakG1/libTestJNIWeakG1.c ! test/lib/sun/hotspot/WhiteBox.java Changeset: b68736876ab5 Author: mikael Date: 2020-03-06 17:33 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/b68736876ab5 8240535: Add additional linux-aarch64 jib profiles Reviewed-by: erikj ! make/conf/jib-profiles.js Changeset: 7af6364e1792 Author: jjg Date: 2020-03-06 18:03 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/7af6364e1792 8240137: Support chained use of Content.add 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/Comment.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/Entity.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/FixedStringContent.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/RawHtml.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Script.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/StringContent.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/Content.java Changeset: cb85119495ba Author: jiefu Date: 2020-03-07 14:42 +0800 URL: https://hg.openjdk.java.net/panama/dev/rev/cb85119495ba 8240695: Build is broken when cds is disabled after JDK-8232081 Reviewed-by: iklam ! src/hotspot/share/memory/metaspaceShared.hpp Changeset: ca2dcaf37fad Author: vtewari Date: 2020-03-07 18:35 +0530 URL: https://hg.openjdk.java.net/panama/dev/rev/ca2dcaf37fad 8238579: HttpsURLConnection drops the timeout and hangs forever in read Summary: HttpsURLConnection drops the timeout and hangs forever in read Reviewed-by: dfuchs ! src/java.base/share/classes/sun/net/www/protocol/https/AbstractDelegateHttpsURLConnection.java Changeset: 4b80c89e76ca Author: bulasevich Date: 2020-03-07 16:27 +0300 URL: https://hg.openjdk.java.net/panama/dev/rev/4b80c89e76ca 8239514: Build for arm-linux-gnueabihf fails with undefined reference read_polling_page Reviewed-by: dsamersoff, dholmes ! src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp ! src/hotspot/cpu/arm/macroAssembler_arm.cpp Changeset: e44b68e5bdaf Author: itakiguchi Date: 2020-03-08 15:15 +0900 URL: https://hg.openjdk.java.net/panama/dev/rev/e44b68e5bdaf 8239965: XMLEncoder/Test4625418.java fails due to "Error: Cp943 - can't read properly" Summary: Cp943 and x-IBM943 should skip on XMLEncoder/Test4625418.java Reviewed-by: naoto ! test/jdk/ProblemList.txt ! test/jdk/java/beans/XMLEncoder/Test4625418.java Changeset: 2420daa87866 Author: kbarrett Date: 2020-03-08 17:33 -0400 URL: https://hg.openjdk.java.net/panama/dev/rev/2420daa87866 8240133: G1DirtyCardQueue destructor has useless flush Summary: Removed useless call to flush. Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/g1/g1DirtyCardQueue.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp Changeset: 0fe71e38ecc4 Author: iklam Date: 2020-03-08 15:06 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/0fe71e38ecc4 8240613: InstanceKlass::set_init_state failed with assert(good_state || state == allocated) Reviewed-by: dcubed ! src/hotspot/share/classfile/systemDictionary.cpp Changeset: 13c54fd3bc8c Author: rhalade Date: 2020-03-09 00:45 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/13c54fd3bc8c 8240686: 70 security tests are failing on Windows due to "Fetch artifact failed" Reviewed-by: xuelei ! test/jdk/ProblemList.txt Changeset: 3437fb6311fd Author: kbarrett Date: 2020-03-09 04:06 -0400 URL: https://hg.openjdk.java.net/panama/dev/rev/3437fb6311fd 8240722: [BACKOUT] G1DirtyCardQueue destructor has useless flush Summary: Backout JDK-8240133 Reviewed-by: sjohanss ! src/hotspot/share/gc/g1/g1DirtyCardQueue.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp Changeset: 8d1e70f7f279 Author: roland Date: 2020-03-05 15:56 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/8d1e70f7f279 8239335: C2: assert((Value(phase) == t) || (t != TypeInt::CC_GT && t != TypeInt::CC_EQ)) failed: missing Value() optimization Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/subtypenode.cpp + test/hotspot/jtreg/compiler/types/TestIntArraySubTypeOfCloneableDoesnotFold.java Changeset: 598ac6de2237 Author: rkennke Date: 2020-03-09 12:29 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/598ac6de2237 8220503: Move ShenandoahTerminatorTerminator::should_exit_termination out of header Reviewed-by: rkennke Contributed-by: adityam at microsoft.com ! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.hpp Changeset: 8a14919d365d Author: kevinw Date: 2020-03-09 12:54 +0000 URL: https://hg.openjdk.java.net/panama/dev/rev/8a14919d365d 8240295: hs_err elapsed time in seconds is not accurate enough Reviewed-by: dholmes, sspitsyn ! src/hotspot/share/runtime/os.cpp Changeset: 666e310e158f Author: neugens Date: 2020-03-09 14:57 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/666e310e158f 8240738: nested comment in JVM.java and other minor formatting errors Reviewed-by: egahlin ! src/jdk.jfr/share/classes/jdk/jfr/internal/JVM.java Changeset: 0238badf51bc Author: fyang Date: 2020-03-09 22:31 +0800 URL: https://hg.openjdk.java.net/panama/dev/rev/0238badf51bc 8240576: JVM crashes after transformation in C2 IdealLoopTree::merge_many_backedges Reviewed-by: kvn Contributed-by: hedongbo at huawei.com ! src/hotspot/share/opto/loopnode.cpp + test/hotspot/jtreg/compiler/loopopts/TestBeautifyLoops.java Changeset: 79371dab85c2 Author: henryjen Date: 2020-03-06 13:48 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/79371dab85c2 8240629: argfiles parsing broken for argfiles with comment cross 4096 bytes chunk Reviewed-by: alanb, mchung ! src/java.base/share/native/libjli/args.c ! test/jdk/tools/launcher/ArgFileSyntax.java Changeset: 20023740a683 Author: dfuchs Date: 2020-03-09 17:48 +0000 URL: https://hg.openjdk.java.net/panama/dev/rev/20023740a683 8240754: Instrument FlowTest.java to provide more debug traces. Reviewed-by: chegar ! test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/FlowTest.java Changeset: 298b62120b5a Author: naoto Date: 2020-03-09 13:20 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/298b62120b5a 8239836: ZoneRules.of() doesn't check transitionList/standardOffsetTL arguments validity Reviewed-by: rriggs, joehw, scolebourne ! src/java.base/share/classes/java/time/zone/ZoneRules.java ! test/jdk/java/time/test/java/time/zone/TestZoneRules.java Changeset: b03adcb5dd5f Author: egahlin Date: 2020-03-09 21:25 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/b03adcb5dd5f 8222000: JFR: Process start event Reviewed-by: mgronlun, rriggs ! src/java.base/share/classes/java/lang/ProcessBuilder.java + src/java.base/share/classes/jdk/internal/event/ProcessStartEvent.java + src/jdk.jfr/share/classes/jdk/jfr/events/ProcessStartEvent.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/jdk/jdk/jfr/event/metadata/TestDefaultConfigurations.java + test/jdk/jdk/jfr/event/os/TestProcessStart.java ! test/jdk/jdk/jfr/event/runtime/TestActiveSettingEvent.java ! test/lib/jdk/test/lib/jfr/EventNames.java Changeset: 563d6852da45 Author: egahlin Date: 2020-03-09 21:43 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/563d6852da45 8239584: EventStream::close should state that stream will be stopped Reviewed-by: mgronlun, mseledtsov ! src/jdk.jfr/share/classes/jdk/jfr/consumer/EventStream.java ! src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordingStream.java Changeset: a74b7501917d Author: shade Date: 2020-03-09 22:40 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/a74b7501917d 8240749: Shenandoah: refactor ShenandoahUtils Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! 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/shenandoahUtils.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp Changeset: ffa717c6ffee Author: shade Date: 2020-03-09 22:41 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/ffa717c6ffee 8240750: Shenandoah: remove leftover files and mentions of ShenandoahAllocTracker Reviewed-by: rkennke - src/hotspot/share/gc/shenandoah/shenandoahAllocTracker.cpp - src/hotspot/share/gc/shenandoah/shenandoahAllocTracker.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.cpp Changeset: 7e741a3fc650 Author: shade Date: 2020-03-09 22:41 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/7e741a3fc650 8230853: Shenandoah: replace leftover assert(is_in(...)) with rich asserts Reviewed-by: shade Contributed-by: Aditya Mandaleeka ! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegionSet.inline.hpp Changeset: b639fff3fc5a Author: roland Date: 2020-03-10 10:45 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/b639fff3fc5a 8240794: [BACKOUT] 8238384 CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found" Reviewed-by: thartmann ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/gcm.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/macro.hpp ! src/hotspot/share/opto/macroArrayCopy.cpp ! src/hotspot/share/opto/type.hpp - test/hotspot/jtreg/compiler/escapeAnalysis/TestCopyOfBrokenAntiDependency.java Changeset: 7c057af653f9 Author: iwalulya Date: 2020-03-10 10:19 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/7c057af653f9 8240668: G1 list of all PerRegionTable does not have to be a double linkedlist any more Reviewed-by: kbarrett, tschatzl ! src/hotspot/share/gc/g1/heapRegionRemSet.cpp ! src/hotspot/share/gc/g1/heapRegionRemSet.hpp ! src/hotspot/share/gc/g1/heapRegionRemSet.inline.hpp Changeset: b760fca91d75 Author: jjiang Date: 2020-03-10 21:43 +0800 URL: https://hg.openjdk.java.net/panama/dev/rev/b760fca91d75 8238740: java/net/httpclient/whitebox/FlowTestDriver.java would not specify a TLS protocol Reviewed-by: dfuchs ! test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/FlowTest.java Changeset: 12b01a07515d Author: mgronlun Date: 2020-03-10 15:44 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/12b01a07515d 8238180: RunThese30M failed "assert(t->jfr_thread_local()->shelved_buffer() == __null) failed: invariant" Reviewed-by: egahlin ! src/hotspot/share/jfr/recorder/storage/jfrStorage.cpp Changeset: a611125840f0 Author: fyang Date: 2020-03-09 18:21 +0800 URL: https://hg.openjdk.java.net/panama/dev/rev/a611125840f0 8240734: ModuleHashes attribute not reproducible between builds Reviewed-by: alanb Contributed-by: hedongbo at huawei.com ! src/java.base/share/classes/jdk/internal/module/ModuleHashes.java ! src/java.base/share/classes/jdk/internal/module/ModuleHashesBuilder.java Changeset: 5474f3ecded4 Author: roland Date: 2020-03-09 09:42 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/5474f3ecded4 8240195: some jaotc failures of fastdebug build with specific flags Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/subtypenode.cpp + test/hotspot/jtreg/compiler/types/TestSubTypeOfAsbtractClassWrongResult.java Changeset: 478dbbe9b422 Author: egahlin Date: 2020-03-10 18:39 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/478dbbe9b422 8240778: JFR: Create timer task lazily Reviewed-by: mgronlun, mseledtsov ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecorder.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecording.java Changeset: eab1d242c9f6 Author: vlivanov Date: 2020-03-10 20:51 +0300 URL: https://hg.openjdk.java.net/panama/dev/rev/eab1d242c9f6 8238681: Make -XX:UseSSE flag x86-specific Reviewed-by: dholmes, kvn ! src/hotspot/cpu/ppc/vm_version_ppc.cpp ! src/hotspot/cpu/sparc/vm_version_sparc.cpp ! src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp ! src/hotspot/cpu/x86/c1_Runtime1_x86.cpp ! src/hotspot/cpu/x86/globals_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/share/c1/c1_LinearScan.cpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp ! test/hotspot/jtreg/compiler/c1/Test6579789.java ! test/hotspot/jtreg/compiler/c1/Test6855215.java Changeset: e673324c4045 Author: vlivanov Date: 2020-03-10 20:51 +0300 URL: https://hg.openjdk.java.net/panama/dev/rev/e673324c4045 8239008: C2: Simplify Replicate support for sub-word types on x86 Reviewed-by: kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/x86.ad Changeset: 3f26298f486f Author: vlivanov Date: 2020-03-10 20:51 +0300 URL: https://hg.openjdk.java.net/panama/dev/rev/3f26298f486f 8239009: C2: Don't use PSHUF to load scalars from memory on x86 Reviewed-by: kvn, dlong ! src/hotspot/cpu/x86/x86.ad Changeset: 8c0b7b88b646 Author: minqi Date: 2020-03-10 11:52 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/8c0b7b88b646 8240691: ClhsdbCDSJstackPrintAll incorrectly thinks CDS is in use Summary: Fix by checking "UseSharedSpaces = false" for CDS enabled. Reviewed-by: iklam ! src/hotspot/share/prims/whitebox.cpp ! test/hotspot/jtreg/serviceability/sa/ClhsdbCDSCore.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbCDSJstackPrintAll.java Changeset: 81e8e9394197 Author: dnsimon Date: 2020-03-10 21:48 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/81e8e9394197 8240610: [JVMCI] Export VMVersion::_has_intel_jcc_erratum to JVMCI compiler Reviewed-by: kvn, thartmann Contributed-by: Yudi Zheng ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp Changeset: a67aa7e073d8 Author: minqi Date: 2020-03-10 14:37 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/a67aa7e073d8 8240840: Rollback whitebox.cpp in push 8240691 Summary: whitebox.cpp should not change in 8240691, which is accidentally included. Reviewed-by: iklam, ccheung ! src/hotspot/share/prims/whitebox.cpp Changeset: 18d4d0cc3372 Author: kvn Date: 2020-03-10 14:39 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/18d4d0cc3372 8240830: [BACKOUT] 8240195: some jaotc failures of fastdebug build with specific flags Reviewed-by: dcubed ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/subtypenode.cpp - test/hotspot/jtreg/compiler/types/TestSubTypeOfAsbtractClassWrongResult.java Changeset: 301f91ab1636 Author: jjg Date: 2020-03-10 14:46 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/301f91ab1636 8240697: convert builders to high-level Content blocks Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractOverviewIndexWriter.java ! 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/AnnotationTypeWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassUseWriter.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/ConstantsSummaryWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DeprecatedListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DocFilesHandlerImpl.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/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/IndexRedirectWriter.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/Navigation.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/PackageTreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageUseWriter.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/SerializedFormWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SingleIndexWriter.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/SplitIndexWriter.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/TreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/BodyContents.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Head.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/Navigation.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/TableHeader.java Changeset: 82b0b99acdbb Author: asotona Date: 2020-03-10 17:33 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/82b0b99acdbb 8235216: typo in test filename Summary: renamed MutliReleaseModuleInfoTest.java to MultiReleaseModuleInfoTest.java Reviewed-by: jjg + test/langtools/tools/javac/file/MultiReleaseJar/MultiReleaseModuleInfoTest.java - test/langtools/tools/javac/file/MultiReleaseJar/MutliReleaseModuleInfoTest.java Changeset: faa4916a3379 Author: cito Date: 2020-03-07 23:08 +0900 URL: https://hg.openjdk.java.net/panama/dev/rev/faa4916a3379 8222489: jcmd VM.system_properties gives unusable paths on Windows Reviewed-by: sspitsyn, ysuenaga ! src/java.base/share/classes/jdk/internal/vm/VMSupport.java + test/jdk/sun/tools/jcmd/TestVM.java Changeset: 8c78138be591 Author: weijun Date: 2020-03-11 10:33 +0800 URL: https://hg.openjdk.java.net/panama/dev/rev/8c78138be591 8239928: ec/ECDSAJavaVerify.java failed due to timeout Reviewed-by: valeriep ! test/jdk/sun/security/ec/ECDSAJavaVerify.java Changeset: 590ac5a59078 Author: ysuenaga Date: 2020-03-11 13:14 +0900 URL: https://hg.openjdk.java.net/panama/dev/rev/590ac5a59078 8240725: Some functions might not work with CJK character Reviewed-by: naoto ! src/java.base/share/native/libzip/zip_util.c ! src/java.base/windows/native/libjava/canonicalize_md.c ! src/java.base/windows/native/libjli/java_md.c ! src/jdk.incubator.jpackage/windows/native/libapplauncher/WindowsPlatform.cpp Changeset: 8c5697ed51b2 Author: ihse Date: 2020-03-11 08:34 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/8c5697ed51b2 8240820: Replace AC_ARG_ENABLE with UTIL_ARG_ENABLE Reviewed-by: erikj ! make/autoconf/build-performance.m4 ! make/autoconf/flags-cflags.m4 ! make/autoconf/hotspot.m4 ! make/autoconf/jdk-options.m4 ! make/autoconf/lib-ffi.m4 ! make/autoconf/platform.m4 ! make/autoconf/util.m4 ! test/make/autoconf/test.m4 Changeset: 1fdd52277cfb Author: ehelin Date: 2020-03-10 16:58 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/1fdd52277cfb 8237566: FindTests.gmk should only include existing TEST.ROOT files Reviewed-by: erikj ! make/common/FindTests.gmk Changeset: 719a3cd91e92 Author: stefank Date: 2020-03-04 15:50 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/719a3cd91e92 8240530: CheckUnhandledOops breaks BacktraceBuilder::set_has_hidden_top_frame Reviewed-by: coleenp, dholmes ! src/hotspot/share/classfile/javaClasses.cpp Changeset: bb44e0d9fe1f Author: stefank Date: 2020-03-04 15:50 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/bb44e0d9fe1f 8240529: CheckUnhandledOops breaks NULL check in Modules::define_module Reviewed-by: coleenp, lfoltan, hseigel ! src/hotspot/share/classfile/modules.cpp Changeset: 12eb1e2087d2 Author: stefank Date: 2020-03-04 18:08 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/12eb1e2087d2 8240532: heap inspection prints trailing @ after name of module without version Reviewed-by: lfoltan ! src/hotspot/share/memory/heapInspection.cpp ! test/hotspot/jtreg/serviceability/dcmd/gc/ClassHistogramTest.java Changeset: e50512f91026 Author: aph Date: 2020-03-10 10:49 -0400 URL: https://hg.openjdk.java.net/panama/dev/rev/e50512f91026 8240615: is_power_of_2() has Undefined Behaviour and is inconsistent Reviewed-by: jrose, redestad ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/utilities/powerOfTwo.hpp ! test/hotspot/gtest/utilities/test_powerOfTwo.cpp Changeset: 65f30e209890 Author: clanger Date: 2020-03-11 13:50 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/65f30e209890 8240524: Remove explicit type argument in test jdk/java/lang/Boolean/MakeBooleanComparable.java Reviewed-by: clanger, vtewari Contributed-by: vipinsharma85 at gmail.com ! test/jdk/java/lang/Boolean/GetBoolean.java ! test/jdk/java/lang/Boolean/MakeBooleanComparable.java ! test/jdk/java/lang/Boolean/ParseBoolean.java Changeset: 6cac1afd2a63 Author: shade Date: 2020-03-11 14:17 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/6cac1afd2a63 8240868: Shenandoah: remove CM-with-UR piggybacking cycles Reviewed-by: rkennke, zgu ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.hpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeuristics.hpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp ! src/hotspot/share/gc/shenandoah/shenandoahVMOperations.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVMOperations.hpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp ! src/hotspot/share/runtime/vmOperations.hpp ! test/hotspot/jtreg/gc/shenandoah/TestStringDedupStress.java Changeset: d0ff3ee1bf40 Author: aph Date: 2020-03-11 12:38 +0000 URL: https://hg.openjdk.java.net/panama/dev/rev/d0ff3ee1bf40 8240829: Use a fast O(1) algorithm for exact_log2 Reviewed-by: jrose, redestad ! src/hotspot/share/utilities/powerOfTwo.hpp ! test/hotspot/gtest/utilities/test_powerOfTwo.cpp Changeset: f9893c227e12 Author: aph Date: 2020-03-11 15:02 +0000 URL: https://hg.openjdk.java.net/panama/dev/rev/f9893c227e12 Merge Changeset: eb934f0048de Author: bae Date: 2020-03-11 19:14 +0300 URL: https://hg.openjdk.java.net/panama/dev/rev/eb934f0048de 8239798: SSLSocket closes socket both socket endpoints on a SocketTimeoutException Reviewed-by: xuelei Contributed-by: alexey at azul.com ! src/java.base/share/classes/sun/security/ssl/SSLSocketImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLSocketInputRecord.java ! src/java.base/share/classes/sun/security/ssl/SSLTransport.java ! test/jdk/sun/security/ssl/SSLSocketImpl/ClientTimeout.java ! test/jdk/sun/security/ssl/SSLSocketImpl/SSLExceptionForIOIssue.java Changeset: d9dd1627e074 Author: lancea Date: 2020-03-11 12:30 -0400 URL: https://hg.openjdk.java.net/panama/dev/rev/d9dd1627e074 8230117: Remove unused JAR tool classes Reviewed-by: lancea, clanger Contributed-by: Adam Sotona - src/jdk.jartool/share/classes/sun/tools/jar/Manifest.java - src/jdk.jartool/share/classes/sun/tools/jar/SignatureFile.java Changeset: 3a3ce5f3e2f7 Author: prappo Date: 2020-03-11 17:09 +0000 URL: https://hg.openjdk.java.net/panama/dev/rev/3a3ce5f3e2f7 8239487: Better links generation for system properties found in HTML files 8239485: Define behavior of the System Properties page when no system properties are available Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DocFilesHandlerImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SearchIndexItem.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SearchIndexItems.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SingleIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SplitIndexWriter.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/toolkit/DocFileElement.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java ! test/langtools/jdk/javadoc/doclet/testMetadata/TestMetadata.java ! test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/TestSystemPropertyPage.java + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src1/overview.html + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src1/pkg1/A.java + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src1/pkg1/doc-files/WithEmptyTitle.html + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src1/pkg1/doc-files/WithTitle.html + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src1/pkg1/doc-files/WithoutTitle.html + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src1/pkg2/B.java + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src2/pkg1/A.java ! test/langtools/jdk/javadoc/doclet/testSystemPropertyTaglet/TestSystemPropertyTaglet.java ! test/langtools/jdk/javadoc/tool/api/basic/APITest.java Changeset: 055991789807 Author: sspitsyn Date: 2020-03-11 20:28 +0000 URL: https://hg.openjdk.java.net/panama/dev/rev/055991789807 8240881: [BACKOUT] 8222489 jcmd VM.system_properties gives unusable paths on Windows Summary: Undo the 8222489 changeset Reviewed-by: dcubed, iklam ! src/java.base/share/classes/jdk/internal/vm/VMSupport.java - test/jdk/sun/tools/jcmd/TestVM.java Changeset: d462f05faa2d Author: amenkov Date: 2020-03-11 13:39 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/d462f05faa2d 8240340: java/lang/management/ThreadMXBean/Locks.java is buggy Reviewed-by: dholmes, sspitsyn ! test/jdk/java/lang/management/ThreadMXBean/Locks.java ! test/lib/jdk/test/lib/LockFreeLogger.java Changeset: 1d6ceb13e142 Author: ihse Date: 2020-03-11 22:25 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/1d6ceb13e142 8240866: Typo in JDK-8240820 messes up configure --help Reviewed-by: erikj ! make/autoconf/flags-cflags.m4 ! make/autoconf/hotspot.m4 From vladimir.x.ivanov at oracle.com Thu Mar 12 08:52:04 2020 From: vladimir.x.ivanov at oracle.com (Vladimir Ivanov) Date: Thu, 12 Mar 2020 11:52:04 +0300 Subject: Vector API performance variation with arrays, byte arrays or byte buffers In-Reply-To: <5294DC98-7AAB-40A1-8D9B-2BB0000C206A@oracle.com> References: <5294DC98-7AAB-40A1-8D9B-2BB0000C206A@oracle.com> Message-ID: >> Membars are the culprit, but once they are gone, > > Ah, yes! What -XX option dod you use to disable insertion of the barrier? > How can we make those go away? IIRC some work was done in Panama to fix > this? Unfortunately, no flags are available. Just a quick-n-dirty hack for now [1]. There was some work to avoid barriers around off-heap accesses [2], but here the problem is with mixed accesses. For mixed access, there was additional profiling introduced [3] to enable speculative disambiguation, but even if we enable something similar for VectorIntrinsics.load/store it won't help: profile pollution will defeat it pretty quickly. I haven't thought it through yet, but possible answer could be to specialize the implementation for heap and direct buffers. Not sure about the implementation details though, so more experiments are needed. Best regards, Vladimir Ivanov [1] diff --git a/src/hotspot/share/opto/library_call.cpp b/src/hotspot/share/opto/library_call.cpp --- a/src/hotspot/share/opto/library_call.cpp +++ b/src/hotspot/share/opto/library_call.cpp @@ -7432,6 +7432,8 @@ const TypePtr *addr_type = gvn().type(addr)->isa_ptr(); const TypeAryPtr* arr_type = addr_type->isa_aryptr(); + bool needs_cpu_membar = can_access_non_heap && (_gvn.type(base)->isa_ptr() != TypePtr::NULL_PTR); + // Now handle special case where load/store happens from/to byte array but element type is not byte. bool using_byte_array = arr_type != NULL && arr_type->elem()->array_element_basic_type() == T_BYTE && elem_bt != T_BYTE; // Handle loading masks. @@ -7473,7 +7475,7 @@ const TypeInstPtr* vbox_type = TypeInstPtr::make_exact(TypePtr::NotNull, vbox_klass); - if (can_access_non_heap) { + if (needs_cpu_membar && !UseNewCode) { insert_mem_bar(Op_MemBarCPUOrder); } @@ -7517,7 +7519,7 @@ set_vector_result(box); } - if (can_access_non_heap) { + if (needs_cpu_membar && !UseNewCode) { insert_mem_bar(Op_MemBarCPUOrder); } diff --git a/src/hotspot/share/opto/loopTransform.cpp b/src/hotspot/share/opto/loopTransform.cpp --- a/src/hotspot/share/opto/loopTransform.cpp +++ b/src/hotspot/share/opto/loopTransform.cpp @@ -781,7 +781,7 @@ } // Check for initial stride being a small enough constant - if (abs(cl->stride_con()) > (1<<2)*future_unroll_cnt) return false; + if (!UseNewCode2 && abs(cl->stride_con()) > (1<<2)*future_unroll_cnt) return false; // Don't unroll if the next round of unrolling would push us // over the expected trip count of the loop. One is subtracted [2] https://bugs.openjdk.java.net/browse/JDK-8226411 [3] https://bugs.openjdk.java.net/browse/JDK-8181211 >> C2 unrolling heuristics need some tweaking as well: it doesn't unroll >> loops with large strides (8*8 = 32). >> >> Once membars are gone and unrolling is fixed, the scores become in >> favor of direct buffers (my guess is due to alignment): >> >> Before: >> >> ?-Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=2: >> ???vectorArrayArray ?????5738494.127 ? 52704.256 ?ops/s >> ???vectorBufferBuffer ???1584747.638 ? 35644.433 ?ops/s >> >> ?-Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=0: >> ???vectorArrayArray ?????5705607.529 ? ?118589.894 ?ops/s >> ???vectorBufferBuffer ???2573858.340 ? ??3322.248 ?ops/s >> >> vs >> >> After (no membars + unrolling): >> >> ?-Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=[0,2]: >> ???vectorArrayArray ?????7961232.893 ? 59427.218 ?ops/s >> ???vectorBufferBuffer ???8600848.228 ? 84322.430 ?ops/s >> >> Best regards, >> Vladimir Ivanov >> >>>> On Mar 10, 2020, at 7:51 AM, Antoine Chambille >>> > wrote: >>>> >>>> Hi folks, >>>> >>>> First, the new Vector API is -awesome- and it makes Java the best >>>> language >>>> for writing data parallel algorithms, a remarkable turnaround. It >>>> reminds >>>> me of when Java 5 became the best language for concurrent programming. >>>> >>>> I'm benchmarking a use case where you aggregate element wise an array of >>>> doubles into another array of doubles ( ai += bi for each coordinate ). >>>> There are large performance variations depending on whether the data is >>>> held in arrays, byte arrays or byte buffers. Disabling bounds checking >>>> removes some of the overhead but not all. I'm sharing the JMH >>>> microbenchmark below if that can help. >>>> >>>> >>>> >>>> Here are the results of running the benchmark on my laptop with >>>> Windows 10 >>>> and an Intel core i9-8950HK @2.90GHz >>>> >>>> >>>> -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=2 >>>> >>>> Benchmark ?????????????????Mode ?Cnt ???????Score ???????Error ?Units >>>> standardArrayArray ???????thrpt ???5 ?4657680.731 ? ?22775.673 ?ops/s >>>> standardArrayBuffer ??????thrpt ???5 ?1074170.758 ? ?28116.666 ?ops/s >>>> standardBufferArray ??????thrpt ???5 ?1066531.757 ? ?39990.913 ?ops/s >>>> standardBufferBuffer ?????thrpt ???5 ??801500.523 ? ?19984.247 ?ops/s >>>> vectorArrayArray ?????????thrpt ???5 ?7107822.743 ? 454478.273 ?ops/s >>>> vectorArrayBuffer ????????thrpt ???5 ?1922263.407 ? ?29921.036 ?ops/s >>>> vectorBufferArray ????????thrpt ???5 ?2732335.558 ? ?81958.886 ?ops/s >>>> vectorBufferBuffer ???????thrpt ???5 ?1833276.409 ? ?59682.441 ?ops/s >>>> vectorByteArrayByteArray ?thrpt ???5 ?4618267.357 ? 127141.691 ?ops/s >>>> >>>> >>>> >>>> -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=0 >>>> >>>> Benchmark ?????????????????Mode ?Cnt ???????Score ???????Error ?Units >>>> standardArrayArray ???????thrpt ???5 ?4692286.894 ? ?67785.058 ?ops/s >>>> standardArrayBuffer ??????thrpt ???5 ?1073420.025 ? ?28216.922 ?ops/s >>>> standardBufferArray ??????thrpt ???5 ?1066385.323 ? ?15700.653 ?ops/s >>>> standardBufferBuffer ?????thrpt ???5 ??797741.269 ? ?15881.590 ?ops/s >>>> vectorArrayArray ?????????thrpt ???5 ?8351594.873 ? 153608.251 ?ops/s >>>> vectorArrayBuffer ????????thrpt ???5 ?3107638.739 ? 223093.281 ?ops/s >>>> vectorBufferArray ????????thrpt ???5 ?3653867.093 ? ?75307.265 ?ops/s >>>> vectorBufferBuffer ???????thrpt ???5 ?2224031.876 ? ?49263.778 ?ops/s >>>> vectorByteArrayByteArray ?thrpt ???5 ?4761018.920 ? 264243.227 ?ops/s >>>> >>>> >>>> >>>> cheers, >>>> -Antoine >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> package com.activeviam; >>>> >>>> import jdk.incubator.vector.DoubleVector; >>>> import jdk.incubator.vector.VectorSpecies; >>>> import org.openjdk.jmh.annotations.*; >>>> import org.openjdk.jmh.runner.Runner; >>>> import org.openjdk.jmh.runner.options.Options; >>>> import org.openjdk.jmh.runner.options.OptionsBuilder; >>>> >>>> import java.nio.ByteBuffer; >>>> import java.nio.ByteOrder; >>>> >>>> /** >>>> * Benchmark the element wise aggregation of an array >>>> * of doubles into another array of doubles, using >>>> * combinations of ?java arrays, byte buffers, standard java code >>>> * and the new Vector API. >>>> */ >>>> public class AggregationBenchmark { >>>> >>>> ???/** Manually launch JMH */ >>>> ???public static void main(String[] params) throws Exception { >>>> ???????Options opt = new OptionsBuilder() >>>> ???????????.include(AggregationBenchmark.class.getSimpleName()) >>>> ???????????.forks(1) >>>> ???????????.build(); >>>> >>>> ???????new Runner(opt).run(); >>>> ???} >>>> >>>> >>>> ???@State(Scope.Benchmark) >>>> ???public static class Data { >>>> ???????final static int SIZE = 1024; >>>> ???????final double[] inputArray; >>>> ???????final double[] outputArray; >>>> ???????final byte[] inputByteArray; >>>> ???????final byte[] outputByteArray; >>>> ???????final ByteBuffer inputBuffer; >>>> ???????final ByteBuffer outputBuffer; >>>> >>>> ???????public Data() { >>>> ???????????this.inputArray = new double[SIZE]; >>>> ???????????this.outputArray = new double[SIZE]; >>>> ???????????this.inputByteArray = new byte[8 * SIZE]; >>>> ???????????this.outputByteArray = new byte[8 * SIZE]; >>>> ???????????this.inputBuffer = ByteBuffer.allocateDirect(8 * SIZE); >>>> ???????????this.outputBuffer = ByteBuffer.allocateDirect(8 * SIZE); >>>> ???????} >>>> ???} >>>> >>>> ???@Benchmark >>>> ???public void standardArrayArray(Data state) { >>>> ???????final double[] input = state.inputArray; >>>> ???????final double[] output = state.outputArray; >>>> ???????for(int i = 0; i < input.length; i++) { >>>> ???????????output[i] += input[i]; >>>> ???????} >>>> ???} >>>> >>>> ???@Benchmark >>>> ???public void standardArrayBuffer(Data state) { >>>> ???????final double[] input = state.inputArray; >>>> ???????final ByteBuffer output = state.outputBuffer; >>>> ???????for(int i = 0; i < input.length; i++) { >>>> ???????????output.putDouble(i << 3, output.getDouble(i << 3) + >>>> input[i]); >>>> ???????} >>>> ???} >>>> >>>> ???@Benchmark >>>> ???public void standardBufferArray(Data state) { >>>> ???????final ByteBuffer input = state.inputBuffer; >>>> ???????final double[] output = state.outputArray; >>>> ???????for(int i = 0; i < input.capacity(); i+=8) { >>>> ???????????output[i >>> 3] += input.getDouble(i); >>>> ???????} >>>> ???} >>>> >>>> ???@Benchmark >>>> ???public void standardBufferBuffer(Data state) { >>>> ???????final ByteBuffer input = state.inputBuffer; >>>> ???????final ByteBuffer output = state.outputBuffer; >>>> ???????for(int i = 0; i < input.capacity(); i+=8) { >>>> ???????????output.putDouble(i, output.getDouble(i) + >>>> input.getDouble(i)); >>>> ???????} >>>> ???} >>>> >>>> >>>> ???final static VectorSpecies SPECIES = >>>> DoubleVector.SPECIES_MAX; >>>> >>>> ???@Benchmark >>>> ???public void vectorArrayArray(Data state) { >>>> ???????final double[] input = state.inputArray; >>>> ???????final double[] output = state.outputArray; >>>> >>>> ???????for (int i = 0; i < input.length; i+=SPECIES.length()) { >>>> ???????????DoubleVector a = DoubleVector.fromArray(SPECIES, input, i); >>>> ???????????DoubleVector b = DoubleVector.fromArray(SPECIES, output, i); >>>> ???????????a = a.add(b); >>>> ???????????a.intoArray(output, i); >>>> ???????} >>>> ???} >>>> >>>> ???@Benchmark >>>> ???public void vectorByteArrayByteArray(Data state) { >>>> ???????final byte[] input = state.inputByteArray; >>>> ???????final byte[] output = state.outputByteArray; >>>> >>>> ???????for (int i = 0; i < input.length; i += 8 * SPECIES.length()) { >>>> ???????????DoubleVector a = DoubleVector.fromByteArray(SPECIES, >>>> input, i); >>>> ???????????DoubleVector b = DoubleVector.fromByteArray(SPECIES, >>>> output, i); >>>> ???????????a = a.add(b); >>>> ???????????a.intoByteArray(output, i); >>>> ???????} >>>> ???} >>>> >>>> ???@Benchmark >>>> ???public void vectorBufferBuffer(Data state) { >>>> ???????final ByteBuffer input = state.inputBuffer; >>>> ???????final ByteBuffer output = state.outputBuffer; >>>> ???????for (int i = 0; i < input.capacity(); i += 8 * >>>> SPECIES.length()) { >>>> ???????????DoubleVector a = DoubleVector.fromByteBuffer(SPECIES, >>>> input, i, >>>> ByteOrder.nativeOrder()); >>>> ???????????DoubleVector b = DoubleVector.fromByteBuffer(SPECIES, output, >>>> i, ByteOrder.nativeOrder()); >>>> ???????????a = a.add(b); >>>> ???????????a.intoByteBuffer(output, i, ByteOrder.nativeOrder()); >>>> ???????} >>>> ???} >>>> >>>> ???@Benchmark >>>> ???public void vectorArrayBuffer(Data state) { >>>> ???????final double[] input = state.inputArray; >>>> ???????final ByteBuffer output = state.outputBuffer; >>>> >>>> ???????for (int i = 0; i < input.length; i+=SPECIES.length()) { >>>> ???????????DoubleVector a = DoubleVector.fromArray(SPECIES, input, i); >>>> ???????????DoubleVector b = DoubleVector.fromByteBuffer(SPECIES, >>>> output, i >>>> << 3, ByteOrder.nativeOrder()); >>>> ???????????a = a.add(b); >>>> ???????????a.intoByteBuffer(output, i << 3, ByteOrder.nativeOrder()); >>>> ???????} >>>> ???} >>>> >>>> ???@Benchmark >>>> ???public void vectorBufferArray(Data state) { >>>> ???????final ByteBuffer input = state.inputBuffer; >>>> ???????final double[] output = state.outputArray; >>>> ???????for (int i = 0; i < input.capacity(); i += 8 * >>>> SPECIES.length()) { >>>> ???????????DoubleVector a = DoubleVector.fromByteBuffer(SPECIES, >>>> input, i, >>>> ByteOrder.nativeOrder()); >>>> ???????????DoubleVector b = DoubleVector.fromArray(SPECIES, output, >>>> i >>> >>>> 3); >>>> ???????????a = a.add(b); >>>> ???????????a.intoArray(output, i >>> 3); >>>> ???????} >>>> ???} >>>> >>>> } > From vladimir.x.ivanov at oracle.com Thu Mar 12 13:41:03 2020 From: vladimir.x.ivanov at oracle.com (Vladimir Ivanov) Date: Thu, 12 Mar 2020 16:41:03 +0300 Subject: Vector API performance variation with arrays, byte arrays or byte buffers In-Reply-To: References: <5294DC98-7AAB-40A1-8D9B-2BB0000C206A@oracle.com> Message-ID: I made an attempt [1] to disambiguate on-/off-heap cases and got some promising results: Before: vectorArrayArray 4324400.963 ? 15860.271 ops/s vectorDirectDirectBB 1466029.753 ? 20695.287 ops/s vectorHeapHeapBB 1588239.882 ? 26866.547 ops/s vectorMixedMixedBB 1562751.985 ? 4030.195 ops/s vs After: vectorArrayArray 6142945.618 ? 29510.409 ops/s vectorDirectDirectBB 9378799.915 ? 75314.175 ops/s vectorHeapHeapBB 7470962.611 ? 88597.635 ops/s vectorMixedMixedBB 1602557.365 ? 10859.592 ops/s But profile pollution is still a problem (at least, for on-heap case): -f 0: vectorArrayArray 5700371.818 ? 35667.373 ops/s vectorBufferBufferBB 9243089.668 ? 340918.224 ops/s vectorHeapHeapBB 1155846.181 ? 12768.211 ops/s vectorMixedMixedBB 1492740.924 ? 22736.938 ops/s Best regards, Vladimir Ivanov [1] diff --git a/src/java.base/share/classes/java/nio/X-Buffer.java.template b/src/java.base/share/classes/java/nio/X-Buffer.java.template --- a/src/java.base/share/classes/java/nio/X-Buffer.java.template +++ b/src/java.base/share/classes/java/nio/X-Buffer.java.template @@ -303,7 +303,7 @@ @Override Object base() { - return hb; + return Objects.requireNonNull(hb); } #if[byte] diff --git a/src/java.base/share/classes/module-info.java b/src/java.base/share/classes/module-info.java --- a/src/java.base/share/classes/module-info.java +++ b/src/java.base/share/classes/module-info.java @@ -152,7 +152,8 @@ java.rmi, jdk.jlink, jdk.net, - jdk.incubator.foreign; + jdk.incubator.foreign, + jdk.incubator.vector; exports jdk.internal.access.foreign to jdk.incubator.foreign; exports jdk.internal.event to diff --git a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorIntrinsics.java b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorIntrinsics.java --- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorIntrinsics.java +++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorIntrinsics.java @@ -1,6 +1,8 @@ package jdk.incubator.vector; import jdk.internal.HotSpotIntrinsicCandidate; +import jdk.internal.access.JavaNioAccess; +import jdk.internal.access.SharedSecrets; import jdk.internal.misc.Unsafe; import jdk.internal.vm.annotation.ForceInline; @@ -570,16 +572,17 @@ return U.getMaxVectorSize(etype); } + private static final JavaNioAccess JNA = SharedSecrets.getJavaNioAccess(); /*package-private*/ @ForceInline static Object bufferBase(ByteBuffer bb) { - return U.getReference(bb, BYTE_BUFFER_HB); + return JNA.getBufferBase(bb); } /*package-private*/ @ForceInline static long bufferAddress(ByteBuffer bb, long offset) { - return U.getLong(bb, BUFFER_ADDRESS) + offset; + return JNA.getBufferAddress(bb) + offset; } } On 12.03.2020 11:52, Vladimir Ivanov wrote: > >>> Membars are the culprit, but once they are gone, >> >> Ah, yes! What -XX option dod you use to disable insertion of the barrier? >> How can we make those go away? IIRC some work was done in Panama to >> fix this? > > Unfortunately, no flags are available. Just a quick-n-dirty hack for now > [1]. > > There was some work to avoid barriers around off-heap accesses [2], but > here the problem is with mixed accesses. > > For mixed access, there was additional profiling introduced [3] to > enable speculative disambiguation, but even if we enable something > similar for VectorIntrinsics.load/store it won't help: profile pollution > will defeat it pretty quickly. > > I haven't thought it through yet, but possible answer could be to > specialize the implementation for heap and direct buffers. Not sure > about the implementation details though, so more experiments are needed. > > Best regards, > Vladimir Ivanov > > [1] > diff --git a/src/hotspot/share/opto/library_call.cpp > b/src/hotspot/share/opto/library_call.cpp > --- a/src/hotspot/share/opto/library_call.cpp > +++ b/src/hotspot/share/opto/library_call.cpp > @@ -7432,6 +7432,8 @@ > ?? const TypePtr *addr_type = gvn().type(addr)->isa_ptr(); > ?? const TypeAryPtr* arr_type = addr_type->isa_aryptr(); > > +? bool needs_cpu_membar = can_access_non_heap && > (_gvn.type(base)->isa_ptr() != TypePtr::NULL_PTR); > + > ?? // Now handle special case where load/store happens from/to byte > array but element type is not byte. > ?? bool using_byte_array = arr_type != NULL && > arr_type->elem()->array_element_basic_type() == T_BYTE && elem_bt != > T_BYTE; > ?? // Handle loading masks. > @@ -7473,7 +7475,7 @@ > > ?? const TypeInstPtr* vbox_type = > TypeInstPtr::make_exact(TypePtr::NotNull, vbox_klass); > > -? if (can_access_non_heap) { > +? if (needs_cpu_membar && !UseNewCode) { > ???? insert_mem_bar(Op_MemBarCPUOrder); > ?? } > > @@ -7517,7 +7519,7 @@ > ???? set_vector_result(box); > ?? } > > -? if (can_access_non_heap) { > +? if (needs_cpu_membar && !UseNewCode) { > ???? insert_mem_bar(Op_MemBarCPUOrder); > ?? } > > diff --git a/src/hotspot/share/opto/loopTransform.cpp > b/src/hotspot/share/opto/loopTransform.cpp > --- a/src/hotspot/share/opto/loopTransform.cpp > +++ b/src/hotspot/share/opto/loopTransform.cpp > @@ -781,7 +781,7 @@ > ?? } > > ?? // Check for initial stride being a small enough constant > -? if (abs(cl->stride_con()) > (1<<2)*future_unroll_cnt) return false; > +? if (!UseNewCode2 && abs(cl->stride_con()) > (1<<2)*future_unroll_cnt) > return false; > > ?? // Don't unroll if the next round of unrolling would push us > ?? // over the expected trip count of the loop.? One is subtracted > > > [2] https://bugs.openjdk.java.net/browse/JDK-8226411 > > [3] https://bugs.openjdk.java.net/browse/JDK-8181211 > >>> C2 unrolling heuristics need some tweaking as well: it doesn't unroll >>> loops with large strides (8*8 = 32). >>> >>> Once membars are gone and unrolling is fixed, the scores become in >>> favor of direct buffers (my guess is due to alignment): >>> >>> Before: >>> >>> ?-Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=2: >>> ???vectorArrayArray ?????5738494.127 ? 52704.256 ?ops/s >>> ???vectorBufferBuffer ???1584747.638 ? 35644.433 ?ops/s >>> >>> ?-Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=0: >>> ???vectorArrayArray ?????5705607.529 ? ?118589.894 ?ops/s >>> ???vectorBufferBuffer ???2573858.340 ? ??3322.248 ?ops/s >>> >>> vs >>> >>> After (no membars + unrolling): >>> >>> ?-Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=[0,2]: >>> ???vectorArrayArray ?????7961232.893 ? 59427.218 ?ops/s >>> ???vectorBufferBuffer ???8600848.228 ? 84322.430 ?ops/s >>> >>> Best regards, >>> Vladimir Ivanov >>> >>>>> On Mar 10, 2020, at 7:51 AM, Antoine Chambille >>>> > wrote: >>>>> >>>>> Hi folks, >>>>> >>>>> First, the new Vector API is -awesome- and it makes Java the best >>>>> language >>>>> for writing data parallel algorithms, a remarkable turnaround. It >>>>> reminds >>>>> me of when Java 5 became the best language for concurrent programming. >>>>> >>>>> I'm benchmarking a use case where you aggregate element wise an >>>>> array of >>>>> doubles into another array of doubles ( ai += bi for each >>>>> coordinate ). >>>>> There are large performance variations depending on whether the >>>>> data is >>>>> held in arrays, byte arrays or byte buffers. Disabling bounds checking >>>>> removes some of the overhead but not all. I'm sharing the JMH >>>>> microbenchmark below if that can help. >>>>> >>>>> >>>>> >>>>> Here are the results of running the benchmark on my laptop with >>>>> Windows 10 >>>>> and an Intel core i9-8950HK @2.90GHz >>>>> >>>>> >>>>> -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=2 >>>>> >>>>> Benchmark ?????????????????Mode ?Cnt ???????Score ???????Error ?Units >>>>> standardArrayArray ???????thrpt ???5 ?4657680.731 ? ?22775.673 ?ops/s >>>>> standardArrayBuffer ??????thrpt ???5 ?1074170.758 ? ?28116.666 ?ops/s >>>>> standardBufferArray ??????thrpt ???5 ?1066531.757 ? ?39990.913 ?ops/s >>>>> standardBufferBuffer ?????thrpt ???5 ??801500.523 ? ?19984.247 ?ops/s >>>>> vectorArrayArray ?????????thrpt ???5 ?7107822.743 ? 454478.273 ?ops/s >>>>> vectorArrayBuffer ????????thrpt ???5 ?1922263.407 ? ?29921.036 ?ops/s >>>>> vectorBufferArray ????????thrpt ???5 ?2732335.558 ? ?81958.886 ?ops/s >>>>> vectorBufferBuffer ???????thrpt ???5 ?1833276.409 ? ?59682.441 ?ops/s >>>>> vectorByteArrayByteArray ?thrpt ???5 ?4618267.357 ? 127141.691 ?ops/s >>>>> >>>>> >>>>> >>>>> -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=0 >>>>> >>>>> Benchmark ?????????????????Mode ?Cnt ???????Score ???????Error ?Units >>>>> standardArrayArray ???????thrpt ???5 ?4692286.894 ? ?67785.058 ?ops/s >>>>> standardArrayBuffer ??????thrpt ???5 ?1073420.025 ? ?28216.922 ?ops/s >>>>> standardBufferArray ??????thrpt ???5 ?1066385.323 ? ?15700.653 ?ops/s >>>>> standardBufferBuffer ?????thrpt ???5 ??797741.269 ? ?15881.590 ?ops/s >>>>> vectorArrayArray ?????????thrpt ???5 ?8351594.873 ? 153608.251 ?ops/s >>>>> vectorArrayBuffer ????????thrpt ???5 ?3107638.739 ? 223093.281 ?ops/s >>>>> vectorBufferArray ????????thrpt ???5 ?3653867.093 ? ?75307.265 ?ops/s >>>>> vectorBufferBuffer ???????thrpt ???5 ?2224031.876 ? ?49263.778 ?ops/s >>>>> vectorByteArrayByteArray ?thrpt ???5 ?4761018.920 ? 264243.227 ?ops/s >>>>> >>>>> >>>>> >>>>> cheers, >>>>> -Antoine >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> package com.activeviam; >>>>> >>>>> import jdk.incubator.vector.DoubleVector; >>>>> import jdk.incubator.vector.VectorSpecies; >>>>> import org.openjdk.jmh.annotations.*; >>>>> import org.openjdk.jmh.runner.Runner; >>>>> import org.openjdk.jmh.runner.options.Options; >>>>> import org.openjdk.jmh.runner.options.OptionsBuilder; >>>>> >>>>> import java.nio.ByteBuffer; >>>>> import java.nio.ByteOrder; >>>>> >>>>> /** >>>>> * Benchmark the element wise aggregation of an array >>>>> * of doubles into another array of doubles, using >>>>> * combinations of ?java arrays, byte buffers, standard java code >>>>> * and the new Vector API. >>>>> */ >>>>> public class AggregationBenchmark { >>>>> >>>>> ???/** Manually launch JMH */ >>>>> ???public static void main(String[] params) throws Exception { >>>>> ???????Options opt = new OptionsBuilder() >>>>> ???????????.include(AggregationBenchmark.class.getSimpleName()) >>>>> ???????????.forks(1) >>>>> ???????????.build(); >>>>> >>>>> ???????new Runner(opt).run(); >>>>> ???} >>>>> >>>>> >>>>> ???@State(Scope.Benchmark) >>>>> ???public static class Data { >>>>> ???????final static int SIZE = 1024; >>>>> ???????final double[] inputArray; >>>>> ???????final double[] outputArray; >>>>> ???????final byte[] inputByteArray; >>>>> ???????final byte[] outputByteArray; >>>>> ???????final ByteBuffer inputBuffer; >>>>> ???????final ByteBuffer outputBuffer; >>>>> >>>>> ???????public Data() { >>>>> ???????????this.inputArray = new double[SIZE]; >>>>> ???????????this.outputArray = new double[SIZE]; >>>>> ???????????this.inputByteArray = new byte[8 * SIZE]; >>>>> ???????????this.outputByteArray = new byte[8 * SIZE]; >>>>> ???????????this.inputBuffer = ByteBuffer.allocateDirect(8 * SIZE); >>>>> ???????????this.outputBuffer = ByteBuffer.allocateDirect(8 * SIZE); >>>>> ???????} >>>>> ???} >>>>> >>>>> ???@Benchmark >>>>> ???public void standardArrayArray(Data state) { >>>>> ???????final double[] input = state.inputArray; >>>>> ???????final double[] output = state.outputArray; >>>>> ???????for(int i = 0; i < input.length; i++) { >>>>> ???????????output[i] += input[i]; >>>>> ???????} >>>>> ???} >>>>> >>>>> ???@Benchmark >>>>> ???public void standardArrayBuffer(Data state) { >>>>> ???????final double[] input = state.inputArray; >>>>> ???????final ByteBuffer output = state.outputBuffer; >>>>> ???????for(int i = 0; i < input.length; i++) { >>>>> ???????????output.putDouble(i << 3, output.getDouble(i << 3) + >>>>> input[i]); >>>>> ???????} >>>>> ???} >>>>> >>>>> ???@Benchmark >>>>> ???public void standardBufferArray(Data state) { >>>>> ???????final ByteBuffer input = state.inputBuffer; >>>>> ???????final double[] output = state.outputArray; >>>>> ???????for(int i = 0; i < input.capacity(); i+=8) { >>>>> ???????????output[i >>> 3] += input.getDouble(i); >>>>> ???????} >>>>> ???} >>>>> >>>>> ???@Benchmark >>>>> ???public void standardBufferBuffer(Data state) { >>>>> ???????final ByteBuffer input = state.inputBuffer; >>>>> ???????final ByteBuffer output = state.outputBuffer; >>>>> ???????for(int i = 0; i < input.capacity(); i+=8) { >>>>> ???????????output.putDouble(i, output.getDouble(i) + >>>>> input.getDouble(i)); >>>>> ???????} >>>>> ???} >>>>> >>>>> >>>>> ???final static VectorSpecies SPECIES = >>>>> DoubleVector.SPECIES_MAX; >>>>> >>>>> ???@Benchmark >>>>> ???public void vectorArrayArray(Data state) { >>>>> ???????final double[] input = state.inputArray; >>>>> ???????final double[] output = state.outputArray; >>>>> >>>>> ???????for (int i = 0; i < input.length; i+=SPECIES.length()) { >>>>> ???????????DoubleVector a = DoubleVector.fromArray(SPECIES, input, i); >>>>> ???????????DoubleVector b = DoubleVector.fromArray(SPECIES, output, >>>>> i); >>>>> ???????????a = a.add(b); >>>>> ???????????a.intoArray(output, i); >>>>> ???????} >>>>> ???} >>>>> >>>>> ???@Benchmark >>>>> ???public void vectorByteArrayByteArray(Data state) { >>>>> ???????final byte[] input = state.inputByteArray; >>>>> ???????final byte[] output = state.outputByteArray; >>>>> >>>>> ???????for (int i = 0; i < input.length; i += 8 * SPECIES.length()) { >>>>> ???????????DoubleVector a = DoubleVector.fromByteArray(SPECIES, >>>>> input, i); >>>>> ???????????DoubleVector b = DoubleVector.fromByteArray(SPECIES, >>>>> output, i); >>>>> ???????????a = a.add(b); >>>>> ???????????a.intoByteArray(output, i); >>>>> ???????} >>>>> ???} >>>>> >>>>> ???@Benchmark >>>>> ???public void vectorBufferBuffer(Data state) { >>>>> ???????final ByteBuffer input = state.inputBuffer; >>>>> ???????final ByteBuffer output = state.outputBuffer; >>>>> ???????for (int i = 0; i < input.capacity(); i += 8 * >>>>> SPECIES.length()) { >>>>> ???????????DoubleVector a = DoubleVector.fromByteBuffer(SPECIES, >>>>> input, i, >>>>> ByteOrder.nativeOrder()); >>>>> ???????????DoubleVector b = DoubleVector.fromByteBuffer(SPECIES, >>>>> output, >>>>> i, ByteOrder.nativeOrder()); >>>>> ???????????a = a.add(b); >>>>> ???????????a.intoByteBuffer(output, i, ByteOrder.nativeOrder()); >>>>> ???????} >>>>> ???} >>>>> >>>>> ???@Benchmark >>>>> ???public void vectorArrayBuffer(Data state) { >>>>> ???????final double[] input = state.inputArray; >>>>> ???????final ByteBuffer output = state.outputBuffer; >>>>> >>>>> ???????for (int i = 0; i < input.length; i+=SPECIES.length()) { >>>>> ???????????DoubleVector a = DoubleVector.fromArray(SPECIES, input, i); >>>>> ???????????DoubleVector b = DoubleVector.fromByteBuffer(SPECIES, >>>>> output, i >>>>> << 3, ByteOrder.nativeOrder()); >>>>> ???????????a = a.add(b); >>>>> ???????????a.intoByteBuffer(output, i << 3, ByteOrder.nativeOrder()); >>>>> ???????} >>>>> ???} >>>>> >>>>> ???@Benchmark >>>>> ???public void vectorBufferArray(Data state) { >>>>> ???????final ByteBuffer input = state.inputBuffer; >>>>> ???????final double[] output = state.outputArray; >>>>> ???????for (int i = 0; i < input.capacity(); i += 8 * >>>>> SPECIES.length()) { >>>>> ???????????DoubleVector a = DoubleVector.fromByteBuffer(SPECIES, >>>>> input, i, >>>>> ByteOrder.nativeOrder()); >>>>> ???????????DoubleVector b = DoubleVector.fromArray(SPECIES, output, >>>>> i >>> >>>>> 3); >>>>> ???????????a = a.add(b); >>>>> ???????????a.intoArray(output, i >>> 3); >>>>> ???????} >>>>> ???} >>>>> >>>>> } >> From jvernee at openjdk.java.net Thu Mar 12 14:43:06 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Thu, 12 Mar 2020 14:43:06 GMT Subject: [foreign-memaccess] RFR: 8240874: Add finer-grained access control for memory segments In-Reply-To: <_sKfSnfOW8e_pR9y73ha1jf3LoW-j_nCxkr2evXZOfo=.180d4dc2-5ade-46a0-a3b8-801559df75cf@github.com> References: <_sKfSnfOW8e_pR9y73ha1jf3LoW-j_nCxkr2evXZOfo=.180d4dc2-5ade-46a0-a3b8-801559df75cf@github.com> Message-ID: <8PKPjes4tDpUm-L1Q1YcqxUG8OfrLWp7RiWIleXtY-I=.bab0a0ee-a28a-4bbf-8352-4f937cb9c131@github.com> On Wed, 11 Mar 2020 13:25:54 GMT, Maurizio Cimadamore wrote: > This patch adds a finer-grained access control for memory segments; instead of the ad-hoc `MemorySegment::asReadOnly`, > we now support a more complete `MemorySegment::withAccessModes`, where access modes is an int mask. > Supported access modes are `READ`, `WRITE`, `CLOSE` and `ACQUIRE`, which gives much more freedom to clients when it > comes to create restricted views (I've added a new section on that in the MemorySegment toplevel javadoc). > I also did some minor changes, mostly to get rid of confinement restrictions where such restrictions were not needed > (e.g. `MemorySegment::asSlice`). test/jdk/java/foreign/TestSegments.java line 244: > 243: int nActions = AccessActions.values().length; > 244: Object[][] results = new Object[nActions * nActions][]; > 245: for (int accessModes = 0 ; accessModes < results.length ; accessModes++) { I think this should be: Suggestion: Object[][] results = new Object[1 << nActions][]; Since the number of combinations is 2^4. Though for 4 access modes 4 * 4 and 1 << 4 are both 16, it becomes a problem if we add or remove access modes. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/45 From mcimadamore at openjdk.java.net Thu Mar 12 14:53:44 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Thu, 12 Mar 2020 14:53:44 GMT Subject: [foreign-memaccess] RFR: 8240874: Add finer-grained access control for memory segments In-Reply-To: <8PKPjes4tDpUm-L1Q1YcqxUG8OfrLWp7RiWIleXtY-I=.bab0a0ee-a28a-4bbf-8352-4f937cb9c131@github.com> References: <_sKfSnfOW8e_pR9y73ha1jf3LoW-j_nCxkr2evXZOfo=.180d4dc2-5ade-46a0-a3b8-801559df75cf@github.com> <8PKPjes4tDpUm-L1Q1YcqxUG8OfrLWp7RiWIleXtY-I=.bab0a0ee-a28a-4bbf-8352-4f937cb9c131@github.com> Message-ID: On Thu, 12 Mar 2020 14:39:14 GMT, Jorn Vernee wrote: >> This patch adds a finer-grained access control for memory segments; instead of the ad-hoc `MemorySegment::asReadOnly`, >> we now support a more complete `MemorySegment::withAccessModes`, where access modes is an int mask. >> Supported access modes are `READ`, `WRITE`, `CLOSE` and `ACQUIRE`, which gives much more freedom to clients when it >> comes to create restricted views (I've added a new section on that in the MemorySegment toplevel javadoc). >> I also did some minor changes, mostly to get rid of confinement restrictions where such restrictions were not needed >> (e.g. `MemorySegment::asSlice`). > > test/jdk/java/foreign/TestSegments.java line 244: > >> 243: int nActions = AccessActions.values().length; >> 244: Object[][] results = new Object[nActions * nActions][]; >> 245: for (int accessModes = 0 ; accessModes < results.length ; accessModes++) { > > I think this should be: > Suggestion: > > Object[][] results = new Object[1 << nActions][]; > Since the number of combinations is 2^4. Though for 4 access modes 4 * 4 and 1 << 4 are both 16, it becomes a problem > if we add or remove access modes. whoops - good catch ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/45 From mcimadamore at openjdk.java.net Thu Mar 12 15:13:14 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Thu, 12 Mar 2020 15:13:14 GMT Subject: [foreign-memaccess] RFR: 8240874: Add finer-grained access control for memory segments In-Reply-To: <7mcekbfvFC15r3M3-r9zgDhC9LIME2SDQj0eQCEH_iw=.9dc735ea-8ff3-4873-8c29-d67cde948663@github.com> References: <_sKfSnfOW8e_pR9y73ha1jf3LoW-j_nCxkr2evXZOfo=.180d4dc2-5ade-46a0-a3b8-801559df75cf@github.com> <7mcekbfvFC15r3M3-r9zgDhC9LIME2SDQj0eQCEH_iw=.9dc735ea-8ff3-4873-8c29-d67cde948663@github.com> Message-ID: On Wed, 11 Mar 2020 21:37:39 GMT, Paul Sandoz wrote: > Suggest adding a `hasAccessModes` which does the obvious thing but can make code more readable. I'll take a stab and see what happens. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/45 From mcimadamore at openjdk.java.net Thu Mar 12 15:54:40 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Thu, 12 Mar 2020 15:54:40 GMT Subject: [foreign-memaccess] [Rev 01] RFR: 8240874: Add finer-grained access control for memory segments In-Reply-To: <_sKfSnfOW8e_pR9y73ha1jf3LoW-j_nCxkr2evXZOfo=.180d4dc2-5ade-46a0-a3b8-801559df75cf@github.com> References: <_sKfSnfOW8e_pR9y73ha1jf3LoW-j_nCxkr2evXZOfo=.180d4dc2-5ade-46a0-a3b8-801559df75cf@github.com> Message-ID: > This patch adds a finer-grained access control for memory segments; instead of the ad-hoc `MemorySegment::asReadOnly`, > we now support a more complete `MemorySegment::withAccessModes`, where access modes is an int mask. > Supported access modes are `READ`, `WRITE`, `CLOSE` and `ACQUIRE`, which gives much more freedom to clients when it > comes to create restricted views (I've added a new section on that in the MemorySegment toplevel javadoc). > I also did some minor changes, mostly to get rid of confinement restrictions where such restrictions were not needed > (e.g. `MemorySegment::asSlice`). Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: * add hasAccessModes() predicate * fix data provider ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/45/files - new: https://git.openjdk.java.net/panama-foreign/pull/45/files/083e0334..8287f1bc Webrevs: - full: https://webrevs.openjdk.java.net/panama-foreign/45/webrev.01 - incr: https://webrevs.openjdk.java.net/panama-foreign/45/webrev.00-01 Stats: 19 lines in 4 files changed: 13 ins; 0 del; 6 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/45.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/45/head:pull/45 PR: https://git.openjdk.java.net/panama-foreign/pull/45 From jvernee at openjdk.java.net Thu Mar 12 16:31:27 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Thu, 12 Mar 2020 16:31:27 GMT Subject: [foreign-memaccess] [Rev 01] RFR: 8240874: Add finer-grained access control for memory segments In-Reply-To: References: <_sKfSnfOW8e_pR9y73ha1jf3LoW-j_nCxkr2evXZOfo=.180d4dc2-5ade-46a0-a3b8-801559df75cf@github.com> Message-ID: On Thu, 12 Mar 2020 15:54:40 GMT, Maurizio Cimadamore wrote: >> This patch adds a finer-grained access control for memory segments; instead of the ad-hoc `MemorySegment::asReadOnly`, >> we now support a more complete `MemorySegment::withAccessModes`, where access modes is an int mask. >> Supported access modes are `READ`, `WRITE`, `CLOSE` and `ACQUIRE`, which gives much more freedom to clients when it >> comes to create restricted views (I've added a new section on that in the MemorySegment toplevel javadoc). >> I also did some minor changes, mostly to get rid of confinement restrictions where such restrictions were not needed >> (e.g. `MemorySegment::asSlice`). > > Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: > > * add hasAccessModes() predicate > * fix data provider LGTM! ------------- Marked as reviewed by jvernee (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/45 From paul.sandoz at oracle.com Thu Mar 12 17:33:41 2020 From: paul.sandoz at oracle.com (Paul Sandoz) Date: Thu, 12 Mar 2020 10:33:41 -0700 Subject: Vector API performance variation with arrays, byte arrays or byte buffers In-Reply-To: References: <5294DC98-7AAB-40A1-8D9B-2BB0000C206A@oracle.com> Message-ID: <777E2A1F-1080-42F7-985F-4DA6ABE37FB4@oracle.com> Thanks for explaining. I have a better appreciation of the problem. I was trawling through the source code searching for usages of Op_MemBarCPUOrder and concluded you must of done something special. In principle we should be able to trust the double register arguments passed to the vector load/store intrinsics as if they were used for field or array accesses? I presume its hard to propagate that trust? Paul. > On Mar 12, 2020, at 6:41 AM, Vladimir Ivanov wrote: > > I made an attempt [1] to disambiguate on-/off-heap cases and got some promising results: > > Before: > vectorArrayArray 4324400.963 ? 15860.271 ops/s > vectorDirectDirectBB 1466029.753 ? 20695.287 ops/s > vectorHeapHeapBB 1588239.882 ? 26866.547 ops/s > vectorMixedMixedBB 1562751.985 ? 4030.195 ops/s > > vs > > After: > > vectorArrayArray 6142945.618 ? 29510.409 ops/s > vectorDirectDirectBB 9378799.915 ? 75314.175 ops/s > vectorHeapHeapBB 7470962.611 ? 88597.635 ops/s > vectorMixedMixedBB 1602557.365 ? 10859.592 ops/s > > > But profile pollution is still a problem (at least, for on-heap case): > > -f 0: > vectorArrayArray 5700371.818 ? 35667.373 ops/s > vectorBufferBufferBB 9243089.668 ? 340918.224 ops/s > vectorHeapHeapBB 1155846.181 ? 12768.211 ops/s > vectorMixedMixedBB 1492740.924 ? 22736.938 ops/s > > Best regards, > Vladimir Ivanov > > [1] > > diff --git a/src/java.base/share/classes/java/nio/X-Buffer.java.template b/src/java.base/share/classes/java/nio/X-Buffer.java.template > --- a/src/java.base/share/classes/java/nio/X-Buffer.java.template > +++ b/src/java.base/share/classes/java/nio/X-Buffer.java.template > @@ -303,7 +303,7 @@ > > @Override > Object base() { > - return hb; > + return Objects.requireNonNull(hb); > } > > #if[byte] > diff --git a/src/java.base/share/classes/module-info.java b/src/java.base/share/classes/module-info.java > --- a/src/java.base/share/classes/module-info.java > +++ b/src/java.base/share/classes/module-info.java > @@ -152,7 +152,8 @@ > java.rmi, > jdk.jlink, > jdk.net, > - jdk.incubator.foreign; > + jdk.incubator.foreign, > + jdk.incubator.vector; > exports jdk.internal.access.foreign to > jdk.incubator.foreign; > exports jdk.internal.event to > diff --git a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorIntrinsics.java b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorIntrinsics.java > --- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorIntrinsics.java > +++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorIntrinsics.java > @@ -1,6 +1,8 @@ > package jdk.incubator.vector; > > import jdk.internal.HotSpotIntrinsicCandidate; > +import jdk.internal.access.JavaNioAccess; > +import jdk.internal.access.SharedSecrets; > import jdk.internal.misc.Unsafe; > import jdk.internal.vm.annotation.ForceInline; > > @@ -570,16 +572,17 @@ > return U.getMaxVectorSize(etype); > } > > + private static final JavaNioAccess JNA = SharedSecrets.getJavaNioAccess(); > > /*package-private*/ > @ForceInline > static Object bufferBase(ByteBuffer bb) { > - return U.getReference(bb, BYTE_BUFFER_HB); > + return JNA.getBufferBase(bb); > } > > /*package-private*/ > @ForceInline > static long bufferAddress(ByteBuffer bb, long offset) { > - return U.getLong(bb, BUFFER_ADDRESS) + offset; > + return JNA.getBufferAddress(bb) + offset; > } > } > > On 12.03.2020 11:52, Vladimir Ivanov wrote: >>>> Membars are the culprit, but once they are gone, >>> >>> Ah, yes! What -XX option dod you use to disable insertion of the barrier? >>> How can we make those go away? IIRC some work was done in Panama to fix this? >> Unfortunately, no flags are available. Just a quick-n-dirty hack for now [1]. >> There was some work to avoid barriers around off-heap accesses [2], but here the problem is with mixed accesses. >> For mixed access, there was additional profiling introduced [3] to enable speculative disambiguation, but even if we enable something similar for VectorIntrinsics.load/store it won't help: profile pollution will defeat it pretty quickly. >> I haven't thought it through yet, but possible answer could be to specialize the implementation for heap and direct buffers. Not sure about the implementation details though, so more experiments are needed. >> Best regards, >> Vladimir Ivanov >> [1] >> diff --git a/src/hotspot/share/opto/library_call.cpp b/src/hotspot/share/opto/library_call.cpp >> --- a/src/hotspot/share/opto/library_call.cpp >> +++ b/src/hotspot/share/opto/library_call.cpp >> @@ -7432,6 +7432,8 @@ >> const TypePtr *addr_type = gvn().type(addr)->isa_ptr(); >> const TypeAryPtr* arr_type = addr_type->isa_aryptr(); >> + bool needs_cpu_membar = can_access_non_heap && (_gvn.type(base)->isa_ptr() != TypePtr::NULL_PTR); >> + >> // Now handle special case where load/store happens from/to byte array but element type is not byte. >> bool using_byte_array = arr_type != NULL && arr_type->elem()->array_element_basic_type() == T_BYTE && elem_bt != T_BYTE; >> // Handle loading masks. >> @@ -7473,7 +7475,7 @@ >> const TypeInstPtr* vbox_type = TypeInstPtr::make_exact(TypePtr::NotNull, vbox_klass); >> - if (can_access_non_heap) { >> + if (needs_cpu_membar && !UseNewCode) { >> insert_mem_bar(Op_MemBarCPUOrder); >> } >> @@ -7517,7 +7519,7 @@ >> set_vector_result(box); >> } >> - if (can_access_non_heap) { >> + if (needs_cpu_membar && !UseNewCode) { >> insert_mem_bar(Op_MemBarCPUOrder); >> } >> diff --git a/src/hotspot/share/opto/loopTransform.cpp b/src/hotspot/share/opto/loopTransform.cpp >> --- a/src/hotspot/share/opto/loopTransform.cpp >> +++ b/src/hotspot/share/opto/loopTransform.cpp >> @@ -781,7 +781,7 @@ >> } >> // Check for initial stride being a small enough constant >> - if (abs(cl->stride_con()) > (1<<2)*future_unroll_cnt) return false; >> + if (!UseNewCode2 && abs(cl->stride_con()) > (1<<2)*future_unroll_cnt) return false; >> // Don't unroll if the next round of unrolling would push us >> // over the expected trip count of the loop. One is subtracted >> [2] https://bugs.openjdk.java.net/browse/JDK-8226411 >> [3] https://bugs.openjdk.java.net/browse/JDK-8181211 >>>> C2 unrolling heuristics need some tweaking as well: it doesn't unroll loops with large strides (8*8 = 32). >>>> >>>> Once membars are gone and unrolling is fixed, the scores become in favor of direct buffers (my guess is due to alignment): >>>> >>>> Before: >>>> >>>> -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=2: >>>> vectorArrayArray 5738494.127 ? 52704.256 ops/s >>>> vectorBufferBuffer 1584747.638 ? 35644.433 ops/s >>>> >>>> -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=0: >>>> vectorArrayArray 5705607.529 ? 118589.894 ops/s >>>> vectorBufferBuffer 2573858.340 ? 3322.248 ops/s >>>> >>>> vs >>>> >>>> After (no membars + unrolling): >>>> >>>> -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=[0,2]: >>>> vectorArrayArray 7961232.893 ? 59427.218 ops/s >>>> vectorBufferBuffer 8600848.228 ? 84322.430 ops/s >>>> >>>> Best regards, >>>> Vladimir Ivanov >>>> >>>>>> On Mar 10, 2020, at 7:51 AM, Antoine Chambille > wrote: >>>>>> >>>>>> Hi folks, >>>>>> >>>>>> First, the new Vector API is -awesome- and it makes Java the best language >>>>>> for writing data parallel algorithms, a remarkable turnaround. It reminds >>>>>> me of when Java 5 became the best language for concurrent programming. >>>>>> >>>>>> I'm benchmarking a use case where you aggregate element wise an array of >>>>>> doubles into another array of doubles ( ai += bi for each coordinate ). >>>>>> There are large performance variations depending on whether the data is >>>>>> held in arrays, byte arrays or byte buffers. Disabling bounds checking >>>>>> removes some of the overhead but not all. I'm sharing the JMH >>>>>> microbenchmark below if that can help. >>>>>> >>>>>> >>>>>> >>>>>> Here are the results of running the benchmark on my laptop with Windows 10 >>>>>> and an Intel core i9-8950HK @2.90GHz >>>>>> >>>>>> >>>>>> -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=2 >>>>>> >>>>>> Benchmark Mode Cnt Score Error Units >>>>>> standardArrayArray thrpt 5 4657680.731 ? 22775.673 ops/s >>>>>> standardArrayBuffer thrpt 5 1074170.758 ? 28116.666 ops/s >>>>>> standardBufferArray thrpt 5 1066531.757 ? 39990.913 ops/s >>>>>> standardBufferBuffer thrpt 5 801500.523 ? 19984.247 ops/s >>>>>> vectorArrayArray thrpt 5 7107822.743 ? 454478.273 ops/s >>>>>> vectorArrayBuffer thrpt 5 1922263.407 ? 29921.036 ops/s >>>>>> vectorBufferArray thrpt 5 2732335.558 ? 81958.886 ops/s >>>>>> vectorBufferBuffer thrpt 5 1833276.409 ? 59682.441 ops/s >>>>>> vectorByteArrayByteArray thrpt 5 4618267.357 ? 127141.691 ops/s >>>>>> >>>>>> >>>>>> >>>>>> -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=0 >>>>>> >>>>>> Benchmark Mode Cnt Score Error Units >>>>>> standardArrayArray thrpt 5 4692286.894 ? 67785.058 ops/s >>>>>> standardArrayBuffer thrpt 5 1073420.025 ? 28216.922 ops/s >>>>>> standardBufferArray thrpt 5 1066385.323 ? 15700.653 ops/s >>>>>> standardBufferBuffer thrpt 5 797741.269 ? 15881.590 ops/s >>>>>> vectorArrayArray thrpt 5 8351594.873 ? 153608.251 ops/s >>>>>> vectorArrayBuffer thrpt 5 3107638.739 ? 223093.281 ops/s >>>>>> vectorBufferArray thrpt 5 3653867.093 ? 75307.265 ops/s >>>>>> vectorBufferBuffer thrpt 5 2224031.876 ? 49263.778 ops/s >>>>>> vectorByteArrayByteArray thrpt 5 4761018.920 ? 264243.227 ops/s >>>>>> >>>>>> >>>>>> >>>>>> cheers, >>>>>> -Antoine >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> package com.activeviam; >>>>>> >>>>>> import jdk.incubator.vector.DoubleVector; >>>>>> import jdk.incubator.vector.VectorSpecies; >>>>>> import org.openjdk.jmh.annotations.*; >>>>>> import org.openjdk.jmh.runner.Runner; >>>>>> import org.openjdk.jmh.runner.options.Options; >>>>>> import org.openjdk.jmh.runner.options.OptionsBuilder; >>>>>> >>>>>> import java.nio.ByteBuffer; >>>>>> import java.nio.ByteOrder; >>>>>> >>>>>> /** >>>>>> * Benchmark the element wise aggregation of an array >>>>>> * of doubles into another array of doubles, using >>>>>> * combinations of java arrays, byte buffers, standard java code >>>>>> * and the new Vector API. >>>>>> */ >>>>>> public class AggregationBenchmark { >>>>>> >>>>>> /** Manually launch JMH */ >>>>>> public static void main(String[] params) throws Exception { >>>>>> Options opt = new OptionsBuilder() >>>>>> .include(AggregationBenchmark.class.getSimpleName()) >>>>>> .forks(1) >>>>>> .build(); >>>>>> >>>>>> new Runner(opt).run(); >>>>>> } >>>>>> >>>>>> >>>>>> @State(Scope.Benchmark) >>>>>> public static class Data { >>>>>> final static int SIZE = 1024; >>>>>> final double[] inputArray; >>>>>> final double[] outputArray; >>>>>> final byte[] inputByteArray; >>>>>> final byte[] outputByteArray; >>>>>> final ByteBuffer inputBuffer; >>>>>> final ByteBuffer outputBuffer; >>>>>> >>>>>> public Data() { >>>>>> this.inputArray = new double[SIZE]; >>>>>> this.outputArray = new double[SIZE]; >>>>>> this.inputByteArray = new byte[8 * SIZE]; >>>>>> this.outputByteArray = new byte[8 * SIZE]; >>>>>> this.inputBuffer = ByteBuffer.allocateDirect(8 * SIZE); >>>>>> this.outputBuffer = ByteBuffer.allocateDirect(8 * SIZE); >>>>>> } >>>>>> } >>>>>> >>>>>> @Benchmark >>>>>> public void standardArrayArray(Data state) { >>>>>> final double[] input = state.inputArray; >>>>>> final double[] output = state.outputArray; >>>>>> for(int i = 0; i < input.length; i++) { >>>>>> output[i] += input[i]; >>>>>> } >>>>>> } >>>>>> >>>>>> @Benchmark >>>>>> public void standardArrayBuffer(Data state) { >>>>>> final double[] input = state.inputArray; >>>>>> final ByteBuffer output = state.outputBuffer; >>>>>> for(int i = 0; i < input.length; i++) { >>>>>> output.putDouble(i << 3, output.getDouble(i << 3) + input[i]); >>>>>> } >>>>>> } >>>>>> >>>>>> @Benchmark >>>>>> public void standardBufferArray(Data state) { >>>>>> final ByteBuffer input = state.inputBuffer; >>>>>> final double[] output = state.outputArray; >>>>>> for(int i = 0; i < input.capacity(); i+=8) { >>>>>> output[i >>> 3] += input.getDouble(i); >>>>>> } >>>>>> } >>>>>> >>>>>> @Benchmark >>>>>> public void standardBufferBuffer(Data state) { >>>>>> final ByteBuffer input = state.inputBuffer; >>>>>> final ByteBuffer output = state.outputBuffer; >>>>>> for(int i = 0; i < input.capacity(); i+=8) { >>>>>> output.putDouble(i, output.getDouble(i) + input.getDouble(i)); >>>>>> } >>>>>> } >>>>>> >>>>>> >>>>>> final static VectorSpecies SPECIES = DoubleVector.SPECIES_MAX; >>>>>> >>>>>> @Benchmark >>>>>> public void vectorArrayArray(Data state) { >>>>>> final double[] input = state.inputArray; >>>>>> final double[] output = state.outputArray; >>>>>> >>>>>> for (int i = 0; i < input.length; i+=SPECIES.length()) { >>>>>> DoubleVector a = DoubleVector.fromArray(SPECIES, input, i); >>>>>> DoubleVector b = DoubleVector.fromArray(SPECIES, output, i); >>>>>> a = a.add(b); >>>>>> a.intoArray(output, i); >>>>>> } >>>>>> } >>>>>> >>>>>> @Benchmark >>>>>> public void vectorByteArrayByteArray(Data state) { >>>>>> final byte[] input = state.inputByteArray; >>>>>> final byte[] output = state.outputByteArray; >>>>>> >>>>>> for (int i = 0; i < input.length; i += 8 * SPECIES.length()) { >>>>>> DoubleVector a = DoubleVector.fromByteArray(SPECIES, input, i); >>>>>> DoubleVector b = DoubleVector.fromByteArray(SPECIES, output, i); >>>>>> a = a.add(b); >>>>>> a.intoByteArray(output, i); >>>>>> } >>>>>> } >>>>>> >>>>>> @Benchmark >>>>>> public void vectorBufferBuffer(Data state) { >>>>>> final ByteBuffer input = state.inputBuffer; >>>>>> final ByteBuffer output = state.outputBuffer; >>>>>> for (int i = 0; i < input.capacity(); i += 8 * SPECIES.length()) { >>>>>> DoubleVector a = DoubleVector.fromByteBuffer(SPECIES, input, i, >>>>>> ByteOrder.nativeOrder()); >>>>>> DoubleVector b = DoubleVector.fromByteBuffer(SPECIES, output, >>>>>> i, ByteOrder.nativeOrder()); >>>>>> a = a.add(b); >>>>>> a.intoByteBuffer(output, i, ByteOrder.nativeOrder()); >>>>>> } >>>>>> } >>>>>> >>>>>> @Benchmark >>>>>> public void vectorArrayBuffer(Data state) { >>>>>> final double[] input = state.inputArray; >>>>>> final ByteBuffer output = state.outputBuffer; >>>>>> >>>>>> for (int i = 0; i < input.length; i+=SPECIES.length()) { >>>>>> DoubleVector a = DoubleVector.fromArray(SPECIES, input, i); >>>>>> DoubleVector b = DoubleVector.fromByteBuffer(SPECIES, output, i >>>>>> << 3, ByteOrder.nativeOrder()); >>>>>> a = a.add(b); >>>>>> a.intoByteBuffer(output, i << 3, ByteOrder.nativeOrder()); >>>>>> } >>>>>> } >>>>>> >>>>>> @Benchmark >>>>>> public void vectorBufferArray(Data state) { >>>>>> final ByteBuffer input = state.inputBuffer; >>>>>> final double[] output = state.outputArray; >>>>>> for (int i = 0; i < input.capacity(); i += 8 * SPECIES.length()) { >>>>>> DoubleVector a = DoubleVector.fromByteBuffer(SPECIES, input, i, >>>>>> ByteOrder.nativeOrder()); >>>>>> DoubleVector b = DoubleVector.fromArray(SPECIES, output, i >>> >>>>>> 3); >>>>>> a = a.add(b); >>>>>> a.intoArray(output, i >>> 3); >>>>>> } >>>>>> } >>>>>> >>>>>> } >>> From mcimadamore at openjdk.java.net Thu Mar 12 17:37:45 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Thu, 12 Mar 2020 17:37:45 GMT Subject: [Integrated] [foreign-memaccess] RFR: 8240874: Add finer-grained access control for memory segments In-Reply-To: <_sKfSnfOW8e_pR9y73ha1jf3LoW-j_nCxkr2evXZOfo=.180d4dc2-5ade-46a0-a3b8-801559df75cf@github.com> References: <_sKfSnfOW8e_pR9y73ha1jf3LoW-j_nCxkr2evXZOfo=.180d4dc2-5ade-46a0-a3b8-801559df75cf@github.com> Message-ID: Changeset: a5399004 Author: Maurizio Cimadamore Date: 2020-03-12 17:36:15 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a5399004 8240874: Add finer-grained access control for memory segments Reviewed-by: psandoz, jvernee ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/Utils.java ! test/jdk/java/foreign/TestByteBuffer.java ! test/jdk/java/foreign/TestMemoryAccess.java ! test/jdk/java/foreign/TestSegments.java From duke at openjdk.java.net Thu Mar 12 17:44:16 2020 From: duke at openjdk.java.net (J.Duke) Date: Thu, 12 Mar 2020 17:44:16 GMT Subject: [foreign-abi] RFR: Cannot automatically merge openjdk/panama-foreign:foreign-memaccess to foreign-abi Message-ID: The following commits from foreign-memaccess could *not* be automatically merged into foreign-abi: - a5399004: 8240874: Add finer-grained access control for memory segments The following files contains merge conflicts: - src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java To manually resolve these merge conflicts, please create a personal fork of https://git.openjdk.java.net/panama-foreign and execute the following commands: $ git checkout foreign-abi $ git pull https://git.openjdk.java.net/panama-foreign foreign-abi $ git checkout --branch merge-foreign-memaccess-into-foreign-abi $ git pull https://git.openjdk.java.net/panama-foreign foreign-memaccess When you have resolved the conflicts resulting from the above commands, run: $ git add paths/to/files/with/conflicts $ git commit -m 'Merge foreign-memaccess' Push the merge commit to your personal fork: $ git push -u origin merge-foreign-memaccess-into-foreign-abi Now proceed to create a pull request towards this repository. If you are using the [Skara](https://wiki.openjdk.java.net/display/skara#Skara-Skara)CLI tooling then you can run the following command to create the pull request: $ git pr create This pull request will be closed automatically by a bot once the merge conflicts have been resolved. ------------- Commit messages: - 8240874: Add finer-grained access control for memory segments Changes: https://git.openjdk.java.net/panama-foreign/pull/46/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/46/webrev.00 Stats: 262 lines in 7 files changed: 198 ins; 28 del; 36 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/46.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/46/head:pull/46 PR: https://git.openjdk.java.net/panama-foreign/pull/46 From vladimir.x.ivanov at oracle.com Thu Mar 12 18:45:53 2020 From: vladimir.x.ivanov at oracle.com (Vladimir Ivanov) Date: Thu, 12 Mar 2020 21:45:53 +0300 Subject: Vector API performance variation with arrays, byte arrays or byte buffers In-Reply-To: <777E2A1F-1080-42F7-985F-4DA6ABE37FB4@oracle.com> References: <5294DC98-7AAB-40A1-8D9B-2BB0000C206A@oracle.com> <777E2A1F-1080-42F7-985F-4DA6ABE37FB4@oracle.com> Message-ID: <4e655f08-9ade-f3b6-6031-72d6801a1a52@oracle.com> > In principle we should be able to trust the double register arguments passed to the vector load/store intrinsics as if they were used for field or array accesses? I presume its hard to propagate that trust? Double-register addressing is what causes problems. It abstracts away the type of access being performed and JIT-compiler has to recover that information. Otherwise, the access should be wrapped into memory barriers to avoid aliasing issues. All accesses from bytecode are always on-heap and are accompanied by necessary safety checks (null and out-of-bounds checks). It's not the case for Unsafe: unless base oop is provably non-null, there's always a chance left the access touches both on-heap and off-heap memory at runtime. (There are some additional tricks which helps classify an access as on-heap, e.g. by looking at offset value, but usually that's it: the access is conservatively treated as mixed.) And when base and offset come from heap/memory (as with ByteBuffers), important type information is lost and has to be recomputed before usage. Value profiling (always null vs always non-null) can provide additional hints, but the profile points should be at proper use sites to avoid profile pollution. Best regards, Vladimir Ivanov >> On Mar 12, 2020, at 6:41 AM, Vladimir Ivanov wrote: >> >> I made an attempt [1] to disambiguate on-/off-heap cases and got some promising results: >> >> Before: >> vectorArrayArray 4324400.963 ? 15860.271 ops/s >> vectorDirectDirectBB 1466029.753 ? 20695.287 ops/s >> vectorHeapHeapBB 1588239.882 ? 26866.547 ops/s >> vectorMixedMixedBB 1562751.985 ? 4030.195 ops/s >> >> vs >> >> After: >> >> vectorArrayArray 6142945.618 ? 29510.409 ops/s >> vectorDirectDirectBB 9378799.915 ? 75314.175 ops/s >> vectorHeapHeapBB 7470962.611 ? 88597.635 ops/s >> vectorMixedMixedBB 1602557.365 ? 10859.592 ops/s >> >> >> But profile pollution is still a problem (at least, for on-heap case): >> >> -f 0: >> vectorArrayArray 5700371.818 ? 35667.373 ops/s >> vectorBufferBufferBB 9243089.668 ? 340918.224 ops/s >> vectorHeapHeapBB 1155846.181 ? 12768.211 ops/s >> vectorMixedMixedBB 1492740.924 ? 22736.938 ops/s >> >> Best regards, >> Vladimir Ivanov >> >> [1] >> >> diff --git a/src/java.base/share/classes/java/nio/X-Buffer.java.template b/src/java.base/share/classes/java/nio/X-Buffer.java.template >> --- a/src/java.base/share/classes/java/nio/X-Buffer.java.template >> +++ b/src/java.base/share/classes/java/nio/X-Buffer.java.template >> @@ -303,7 +303,7 @@ >> >> @Override >> Object base() { >> - return hb; >> + return Objects.requireNonNull(hb); >> } >> >> #if[byte] >> diff --git a/src/java.base/share/classes/module-info.java b/src/java.base/share/classes/module-info.java >> --- a/src/java.base/share/classes/module-info.java >> +++ b/src/java.base/share/classes/module-info.java >> @@ -152,7 +152,8 @@ >> java.rmi, >> jdk.jlink, >> jdk.net, >> - jdk.incubator.foreign; >> + jdk.incubator.foreign, >> + jdk.incubator.vector; >> exports jdk.internal.access.foreign to >> jdk.incubator.foreign; >> exports jdk.internal.event to >> diff --git a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorIntrinsics.java b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorIntrinsics.java >> --- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorIntrinsics.java >> +++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorIntrinsics.java >> @@ -1,6 +1,8 @@ >> package jdk.incubator.vector; >> >> import jdk.internal.HotSpotIntrinsicCandidate; >> +import jdk.internal.access.JavaNioAccess; >> +import jdk.internal.access.SharedSecrets; >> import jdk.internal.misc.Unsafe; >> import jdk.internal.vm.annotation.ForceInline; >> >> @@ -570,16 +572,17 @@ >> return U.getMaxVectorSize(etype); >> } >> >> + private static final JavaNioAccess JNA = SharedSecrets.getJavaNioAccess(); >> >> /*package-private*/ >> @ForceInline >> static Object bufferBase(ByteBuffer bb) { >> - return U.getReference(bb, BYTE_BUFFER_HB); >> + return JNA.getBufferBase(bb); >> } >> >> /*package-private*/ >> @ForceInline >> static long bufferAddress(ByteBuffer bb, long offset) { >> - return U.getLong(bb, BUFFER_ADDRESS) + offset; >> + return JNA.getBufferAddress(bb) + offset; >> } >> } >> >> On 12.03.2020 11:52, Vladimir Ivanov wrote: >>>>> Membars are the culprit, but once they are gone, >>>> >>>> Ah, yes! What -XX option dod you use to disable insertion of the barrier? >>>> How can we make those go away? IIRC some work was done in Panama to fix this? >>> Unfortunately, no flags are available. Just a quick-n-dirty hack for now [1]. >>> There was some work to avoid barriers around off-heap accesses [2], but here the problem is with mixed accesses. >>> For mixed access, there was additional profiling introduced [3] to enable speculative disambiguation, but even if we enable something similar for VectorIntrinsics.load/store it won't help: profile pollution will defeat it pretty quickly. >>> I haven't thought it through yet, but possible answer could be to specialize the implementation for heap and direct buffers. Not sure about the implementation details though, so more experiments are needed. >>> Best regards, >>> Vladimir Ivanov >>> [1] >>> diff --git a/src/hotspot/share/opto/library_call.cpp b/src/hotspot/share/opto/library_call.cpp >>> --- a/src/hotspot/share/opto/library_call.cpp >>> +++ b/src/hotspot/share/opto/library_call.cpp >>> @@ -7432,6 +7432,8 @@ >>> const TypePtr *addr_type = gvn().type(addr)->isa_ptr(); >>> const TypeAryPtr* arr_type = addr_type->isa_aryptr(); >>> + bool needs_cpu_membar = can_access_non_heap && (_gvn.type(base)->isa_ptr() != TypePtr::NULL_PTR); >>> + >>> // Now handle special case where load/store happens from/to byte array but element type is not byte. >>> bool using_byte_array = arr_type != NULL && arr_type->elem()->array_element_basic_type() == T_BYTE && elem_bt != T_BYTE; >>> // Handle loading masks. >>> @@ -7473,7 +7475,7 @@ >>> const TypeInstPtr* vbox_type = TypeInstPtr::make_exact(TypePtr::NotNull, vbox_klass); >>> - if (can_access_non_heap) { >>> + if (needs_cpu_membar && !UseNewCode) { >>> insert_mem_bar(Op_MemBarCPUOrder); >>> } >>> @@ -7517,7 +7519,7 @@ >>> set_vector_result(box); >>> } >>> - if (can_access_non_heap) { >>> + if (needs_cpu_membar && !UseNewCode) { >>> insert_mem_bar(Op_MemBarCPUOrder); >>> } >>> diff --git a/src/hotspot/share/opto/loopTransform.cpp b/src/hotspot/share/opto/loopTransform.cpp >>> --- a/src/hotspot/share/opto/loopTransform.cpp >>> +++ b/src/hotspot/share/opto/loopTransform.cpp >>> @@ -781,7 +781,7 @@ >>> } >>> // Check for initial stride being a small enough constant >>> - if (abs(cl->stride_con()) > (1<<2)*future_unroll_cnt) return false; >>> + if (!UseNewCode2 && abs(cl->stride_con()) > (1<<2)*future_unroll_cnt) return false; >>> // Don't unroll if the next round of unrolling would push us >>> // over the expected trip count of the loop. One is subtracted >>> [2] https://bugs.openjdk.java.net/browse/JDK-8226411 >>> [3] https://bugs.openjdk.java.net/browse/JDK-8181211 >>>>> C2 unrolling heuristics need some tweaking as well: it doesn't unroll loops with large strides (8*8 = 32). >>>>> >>>>> Once membars are gone and unrolling is fixed, the scores become in favor of direct buffers (my guess is due to alignment): >>>>> >>>>> Before: >>>>> >>>>> -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=2: >>>>> vectorArrayArray 5738494.127 ? 52704.256 ops/s >>>>> vectorBufferBuffer 1584747.638 ? 35644.433 ops/s >>>>> >>>>> -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=0: >>>>> vectorArrayArray 5705607.529 ? 118589.894 ops/s >>>>> vectorBufferBuffer 2573858.340 ? 3322.248 ops/s >>>>> >>>>> vs >>>>> >>>>> After (no membars + unrolling): >>>>> >>>>> -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=[0,2]: >>>>> vectorArrayArray 7961232.893 ? 59427.218 ops/s >>>>> vectorBufferBuffer 8600848.228 ? 84322.430 ops/s >>>>> >>>>> Best regards, >>>>> Vladimir Ivanov >>>>> >>>>>>> On Mar 10, 2020, at 7:51 AM, Antoine Chambille > wrote: >>>>>>> >>>>>>> Hi folks, >>>>>>> >>>>>>> First, the new Vector API is -awesome- and it makes Java the best language >>>>>>> for writing data parallel algorithms, a remarkable turnaround. It reminds >>>>>>> me of when Java 5 became the best language for concurrent programming. >>>>>>> >>>>>>> I'm benchmarking a use case where you aggregate element wise an array of >>>>>>> doubles into another array of doubles ( ai += bi for each coordinate ). >>>>>>> There are large performance variations depending on whether the data is >>>>>>> held in arrays, byte arrays or byte buffers. Disabling bounds checking >>>>>>> removes some of the overhead but not all. I'm sharing the JMH >>>>>>> microbenchmark below if that can help. >>>>>>> >>>>>>> >>>>>>> >>>>>>> Here are the results of running the benchmark on my laptop with Windows 10 >>>>>>> and an Intel core i9-8950HK @2.90GHz >>>>>>> >>>>>>> >>>>>>> -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=2 >>>>>>> >>>>>>> Benchmark Mode Cnt Score Error Units >>>>>>> standardArrayArray thrpt 5 4657680.731 ? 22775.673 ops/s >>>>>>> standardArrayBuffer thrpt 5 1074170.758 ? 28116.666 ops/s >>>>>>> standardBufferArray thrpt 5 1066531.757 ? 39990.913 ops/s >>>>>>> standardBufferBuffer thrpt 5 801500.523 ? 19984.247 ops/s >>>>>>> vectorArrayArray thrpt 5 7107822.743 ? 454478.273 ops/s >>>>>>> vectorArrayBuffer thrpt 5 1922263.407 ? 29921.036 ops/s >>>>>>> vectorBufferArray thrpt 5 2732335.558 ? 81958.886 ops/s >>>>>>> vectorBufferBuffer thrpt 5 1833276.409 ? 59682.441 ops/s >>>>>>> vectorByteArrayByteArray thrpt 5 4618267.357 ? 127141.691 ops/s >>>>>>> >>>>>>> >>>>>>> >>>>>>> -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=0 >>>>>>> >>>>>>> Benchmark Mode Cnt Score Error Units >>>>>>> standardArrayArray thrpt 5 4692286.894 ? 67785.058 ops/s >>>>>>> standardArrayBuffer thrpt 5 1073420.025 ? 28216.922 ops/s >>>>>>> standardBufferArray thrpt 5 1066385.323 ? 15700.653 ops/s >>>>>>> standardBufferBuffer thrpt 5 797741.269 ? 15881.590 ops/s >>>>>>> vectorArrayArray thrpt 5 8351594.873 ? 153608.251 ops/s >>>>>>> vectorArrayBuffer thrpt 5 3107638.739 ? 223093.281 ops/s >>>>>>> vectorBufferArray thrpt 5 3653867.093 ? 75307.265 ops/s >>>>>>> vectorBufferBuffer thrpt 5 2224031.876 ? 49263.778 ops/s >>>>>>> vectorByteArrayByteArray thrpt 5 4761018.920 ? 264243.227 ops/s >>>>>>> >>>>>>> >>>>>>> >>>>>>> cheers, >>>>>>> -Antoine >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> package com.activeviam; >>>>>>> >>>>>>> import jdk.incubator.vector.DoubleVector; >>>>>>> import jdk.incubator.vector.VectorSpecies; >>>>>>> import org.openjdk.jmh.annotations.*; >>>>>>> import org.openjdk.jmh.runner.Runner; >>>>>>> import org.openjdk.jmh.runner.options.Options; >>>>>>> import org.openjdk.jmh.runner.options.OptionsBuilder; >>>>>>> >>>>>>> import java.nio.ByteBuffer; >>>>>>> import java.nio.ByteOrder; >>>>>>> >>>>>>> /** >>>>>>> * Benchmark the element wise aggregation of an array >>>>>>> * of doubles into another array of doubles, using >>>>>>> * combinations of java arrays, byte buffers, standard java code >>>>>>> * and the new Vector API. >>>>>>> */ >>>>>>> public class AggregationBenchmark { >>>>>>> >>>>>>> /** Manually launch JMH */ >>>>>>> public static void main(String[] params) throws Exception { >>>>>>> Options opt = new OptionsBuilder() >>>>>>> .include(AggregationBenchmark.class.getSimpleName()) >>>>>>> .forks(1) >>>>>>> .build(); >>>>>>> >>>>>>> new Runner(opt).run(); >>>>>>> } >>>>>>> >>>>>>> >>>>>>> @State(Scope.Benchmark) >>>>>>> public static class Data { >>>>>>> final static int SIZE = 1024; >>>>>>> final double[] inputArray; >>>>>>> final double[] outputArray; >>>>>>> final byte[] inputByteArray; >>>>>>> final byte[] outputByteArray; >>>>>>> final ByteBuffer inputBuffer; >>>>>>> final ByteBuffer outputBuffer; >>>>>>> >>>>>>> public Data() { >>>>>>> this.inputArray = new double[SIZE]; >>>>>>> this.outputArray = new double[SIZE]; >>>>>>> this.inputByteArray = new byte[8 * SIZE]; >>>>>>> this.outputByteArray = new byte[8 * SIZE]; >>>>>>> this.inputBuffer = ByteBuffer.allocateDirect(8 * SIZE); >>>>>>> this.outputBuffer = ByteBuffer.allocateDirect(8 * SIZE); >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> @Benchmark >>>>>>> public void standardArrayArray(Data state) { >>>>>>> final double[] input = state.inputArray; >>>>>>> final double[] output = state.outputArray; >>>>>>> for(int i = 0; i < input.length; i++) { >>>>>>> output[i] += input[i]; >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> @Benchmark >>>>>>> public void standardArrayBuffer(Data state) { >>>>>>> final double[] input = state.inputArray; >>>>>>> final ByteBuffer output = state.outputBuffer; >>>>>>> for(int i = 0; i < input.length; i++) { >>>>>>> output.putDouble(i << 3, output.getDouble(i << 3) + input[i]); >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> @Benchmark >>>>>>> public void standardBufferArray(Data state) { >>>>>>> final ByteBuffer input = state.inputBuffer; >>>>>>> final double[] output = state.outputArray; >>>>>>> for(int i = 0; i < input.capacity(); i+=8) { >>>>>>> output[i >>> 3] += input.getDouble(i); >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> @Benchmark >>>>>>> public void standardBufferBuffer(Data state) { >>>>>>> final ByteBuffer input = state.inputBuffer; >>>>>>> final ByteBuffer output = state.outputBuffer; >>>>>>> for(int i = 0; i < input.capacity(); i+=8) { >>>>>>> output.putDouble(i, output.getDouble(i) + input.getDouble(i)); >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> >>>>>>> final static VectorSpecies SPECIES = DoubleVector.SPECIES_MAX; >>>>>>> >>>>>>> @Benchmark >>>>>>> public void vectorArrayArray(Data state) { >>>>>>> final double[] input = state.inputArray; >>>>>>> final double[] output = state.outputArray; >>>>>>> >>>>>>> for (int i = 0; i < input.length; i+=SPECIES.length()) { >>>>>>> DoubleVector a = DoubleVector.fromArray(SPECIES, input, i); >>>>>>> DoubleVector b = DoubleVector.fromArray(SPECIES, output, i); >>>>>>> a = a.add(b); >>>>>>> a.intoArray(output, i); >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> @Benchmark >>>>>>> public void vectorByteArrayByteArray(Data state) { >>>>>>> final byte[] input = state.inputByteArray; >>>>>>> final byte[] output = state.outputByteArray; >>>>>>> >>>>>>> for (int i = 0; i < input.length; i += 8 * SPECIES.length()) { >>>>>>> DoubleVector a = DoubleVector.fromByteArray(SPECIES, input, i); >>>>>>> DoubleVector b = DoubleVector.fromByteArray(SPECIES, output, i); >>>>>>> a = a.add(b); >>>>>>> a.intoByteArray(output, i); >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> @Benchmark >>>>>>> public void vectorBufferBuffer(Data state) { >>>>>>> final ByteBuffer input = state.inputBuffer; >>>>>>> final ByteBuffer output = state.outputBuffer; >>>>>>> for (int i = 0; i < input.capacity(); i += 8 * SPECIES.length()) { >>>>>>> DoubleVector a = DoubleVector.fromByteBuffer(SPECIES, input, i, >>>>>>> ByteOrder.nativeOrder()); >>>>>>> DoubleVector b = DoubleVector.fromByteBuffer(SPECIES, output, >>>>>>> i, ByteOrder.nativeOrder()); >>>>>>> a = a.add(b); >>>>>>> a.intoByteBuffer(output, i, ByteOrder.nativeOrder()); >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> @Benchmark >>>>>>> public void vectorArrayBuffer(Data state) { >>>>>>> final double[] input = state.inputArray; >>>>>>> final ByteBuffer output = state.outputBuffer; >>>>>>> >>>>>>> for (int i = 0; i < input.length; i+=SPECIES.length()) { >>>>>>> DoubleVector a = DoubleVector.fromArray(SPECIES, input, i); >>>>>>> DoubleVector b = DoubleVector.fromByteBuffer(SPECIES, output, i >>>>>>> << 3, ByteOrder.nativeOrder()); >>>>>>> a = a.add(b); >>>>>>> a.intoByteBuffer(output, i << 3, ByteOrder.nativeOrder()); >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> @Benchmark >>>>>>> public void vectorBufferArray(Data state) { >>>>>>> final ByteBuffer input = state.inputBuffer; >>>>>>> final double[] output = state.outputArray; >>>>>>> for (int i = 0; i < input.capacity(); i += 8 * SPECIES.length()) { >>>>>>> DoubleVector a = DoubleVector.fromByteBuffer(SPECIES, input, i, >>>>>>> ByteOrder.nativeOrder()); >>>>>>> DoubleVector b = DoubleVector.fromArray(SPECIES, output, i >>> >>>>>>> 3); >>>>>>> a = a.add(b); >>>>>>> a.intoArray(output, i >>> 3); >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> } >>>> > From paul.sandoz at oracle.com Thu Mar 12 19:20:03 2020 From: paul.sandoz at oracle.com (Paul Sandoz) Date: Thu, 12 Mar 2020 12:20:03 -0700 Subject: Vector API performance variation with arrays, byte arrays or byte buffers In-Reply-To: <4e655f08-9ade-f3b6-6031-72d6801a1a52@oracle.com> References: <5294DC98-7AAB-40A1-8D9B-2BB0000C206A@oracle.com> <777E2A1F-1080-42F7-985F-4DA6ABE37FB4@oracle.com> <4e655f08-9ade-f3b6-6031-72d6801a1a52@oracle.com> Message-ID: <2518BB6F-0F2C-4C1E-A6A3-51364252EA63@oracle.com> Thanks, drat, this is hard. Maybe, like you suggested in one of the linked issues for unsafe, we could have vector load/stpre intrinsics for on and off heap and gate that with an explicitly null check that gets hoisted out of loops. Paul. > On Mar 12, 2020, at 11:45 AM, Vladimir Ivanov wrote: > >> >> In principle we should be able to trust the double register arguments passed to the vector load/store intrinsics as if they were used for field or array accesses? I presume its hard to propagate that trust? > > Double-register addressing is what causes problems. It abstracts away the type of access being performed and JIT-compiler has to recover that information. Otherwise, the access should be wrapped into memory barriers to avoid aliasing issues. > > All accesses from bytecode are always on-heap and are accompanied by necessary safety checks (null and out-of-bounds checks). > > It's not the case for Unsafe: unless base oop is provably non-null, there's always a chance left the access touches both on-heap and off-heap memory at runtime. > > (There are some additional tricks which helps classify an access as on-heap, e.g. by looking at offset value, but usually that's it: the access is conservatively treated as mixed.) > > And when base and offset come from heap/memory (as with ByteBuffers), important type information is lost and has to be recomputed before usage. > > Value profiling (always null vs always non-null) can provide additional hints, but the profile points should be at proper use sites to avoid profile pollution. > > Best regards, > Vladimir Ivanov > >>> On Mar 12, 2020, at 6:41 AM, Vladimir Ivanov wrote: >>> >>> I made an attempt [1] to disambiguate on-/off-heap cases and got some promising results: >>> >>> Before: >>> vectorArrayArray 4324400.963 ? 15860.271 ops/s >>> vectorDirectDirectBB 1466029.753 ? 20695.287 ops/s >>> vectorHeapHeapBB 1588239.882 ? 26866.547 ops/s >>> vectorMixedMixedBB 1562751.985 ? 4030.195 ops/s >>> >>> vs >>> >>> After: >>> >>> vectorArrayArray 6142945.618 ? 29510.409 ops/s >>> vectorDirectDirectBB 9378799.915 ? 75314.175 ops/s >>> vectorHeapHeapBB 7470962.611 ? 88597.635 ops/s >>> vectorMixedMixedBB 1602557.365 ? 10859.592 ops/s >>> >>> >>> But profile pollution is still a problem (at least, for on-heap case): >>> >>> -f 0: >>> vectorArrayArray 5700371.818 ? 35667.373 ops/s >>> vectorBufferBufferBB 9243089.668 ? 340918.224 ops/s >>> vectorHeapHeapBB 1155846.181 ? 12768.211 ops/s >>> vectorMixedMixedBB 1492740.924 ? 22736.938 ops/s >>> >>> Best regards, >>> Vladimir Ivanov >>> >>> [1] >>> >>> diff --git a/src/java.base/share/classes/java/nio/X-Buffer.java.template b/src/java.base/share/classes/java/nio/X-Buffer.java.template >>> --- a/src/java.base/share/classes/java/nio/X-Buffer.java.template >>> +++ b/src/java.base/share/classes/java/nio/X-Buffer.java.template >>> @@ -303,7 +303,7 @@ >>> >>> @Override >>> Object base() { >>> - return hb; >>> + return Objects.requireNonNull(hb); >>> } >>> >>> #if[byte] >>> diff --git a/src/java.base/share/classes/module-info.java b/src/java.base/share/classes/module-info.java >>> --- a/src/java.base/share/classes/module-info.java >>> +++ b/src/java.base/share/classes/module-info.java >>> @@ -152,7 +152,8 @@ >>> java.rmi, >>> jdk.jlink, >>> jdk.net, >>> - jdk.incubator.foreign; >>> + jdk.incubator.foreign, >>> + jdk.incubator.vector; >>> exports jdk.internal.access.foreign to >>> jdk.incubator.foreign; >>> exports jdk.internal.event to >>> diff --git a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorIntrinsics.java b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorIntrinsics.java >>> --- a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorIntrinsics.java >>> +++ b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorIntrinsics.java >>> @@ -1,6 +1,8 @@ >>> package jdk.incubator.vector; >>> >>> import jdk.internal.HotSpotIntrinsicCandidate; >>> +import jdk.internal.access.JavaNioAccess; >>> +import jdk.internal.access.SharedSecrets; >>> import jdk.internal.misc.Unsafe; >>> import jdk.internal.vm.annotation.ForceInline; >>> >>> @@ -570,16 +572,17 @@ >>> return U.getMaxVectorSize(etype); >>> } >>> >>> + private static final JavaNioAccess JNA = SharedSecrets.getJavaNioAccess(); >>> >>> /*package-private*/ >>> @ForceInline >>> static Object bufferBase(ByteBuffer bb) { >>> - return U.getReference(bb, BYTE_BUFFER_HB); >>> + return JNA.getBufferBase(bb); >>> } >>> >>> /*package-private*/ >>> @ForceInline >>> static long bufferAddress(ByteBuffer bb, long offset) { >>> - return U.getLong(bb, BUFFER_ADDRESS) + offset; >>> + return JNA.getBufferAddress(bb) + offset; >>> } >>> } >>> >>> On 12.03.2020 11:52, Vladimir Ivanov wrote: >>>>>> Membars are the culprit, but once they are gone, >>>>> >>>>> Ah, yes! What -XX option dod you use to disable insertion of the barrier? >>>>> How can we make those go away? IIRC some work was done in Panama to fix this? >>>> Unfortunately, no flags are available. Just a quick-n-dirty hack for now [1]. >>>> There was some work to avoid barriers around off-heap accesses [2], but here the problem is with mixed accesses. >>>> For mixed access, there was additional profiling introduced [3] to enable speculative disambiguation, but even if we enable something similar for VectorIntrinsics.load/store it won't help: profile pollution will defeat it pretty quickly. >>>> I haven't thought it through yet, but possible answer could be to specialize the implementation for heap and direct buffers. Not sure about the implementation details though, so more experiments are needed. >>>> Best regards, >>>> Vladimir Ivanov >>>> [1] >>>> diff --git a/src/hotspot/share/opto/library_call.cpp b/src/hotspot/share/opto/library_call.cpp >>>> --- a/src/hotspot/share/opto/library_call.cpp >>>> +++ b/src/hotspot/share/opto/library_call.cpp >>>> @@ -7432,6 +7432,8 @@ >>>> const TypePtr *addr_type = gvn().type(addr)->isa_ptr(); >>>> const TypeAryPtr* arr_type = addr_type->isa_aryptr(); >>>> + bool needs_cpu_membar = can_access_non_heap && (_gvn.type(base)->isa_ptr() != TypePtr::NULL_PTR); >>>> + >>>> // Now handle special case where load/store happens from/to byte array but element type is not byte. >>>> bool using_byte_array = arr_type != NULL && arr_type->elem()->array_element_basic_type() == T_BYTE && elem_bt != T_BYTE; >>>> // Handle loading masks. >>>> @@ -7473,7 +7475,7 @@ >>>> const TypeInstPtr* vbox_type = TypeInstPtr::make_exact(TypePtr::NotNull, vbox_klass); >>>> - if (can_access_non_heap) { >>>> + if (needs_cpu_membar && !UseNewCode) { >>>> insert_mem_bar(Op_MemBarCPUOrder); >>>> } >>>> @@ -7517,7 +7519,7 @@ >>>> set_vector_result(box); >>>> } >>>> - if (can_access_non_heap) { >>>> + if (needs_cpu_membar && !UseNewCode) { >>>> insert_mem_bar(Op_MemBarCPUOrder); >>>> } >>>> diff --git a/src/hotspot/share/opto/loopTransform.cpp b/src/hotspot/share/opto/loopTransform.cpp >>>> --- a/src/hotspot/share/opto/loopTransform.cpp >>>> +++ b/src/hotspot/share/opto/loopTransform.cpp >>>> @@ -781,7 +781,7 @@ >>>> } >>>> // Check for initial stride being a small enough constant >>>> - if (abs(cl->stride_con()) > (1<<2)*future_unroll_cnt) return false; >>>> + if (!UseNewCode2 && abs(cl->stride_con()) > (1<<2)*future_unroll_cnt) return false; >>>> // Don't unroll if the next round of unrolling would push us >>>> // over the expected trip count of the loop. One is subtracted >>>> [2] https://bugs.openjdk.java.net/browse/JDK-8226411 >>>> [3] https://bugs.openjdk.java.net/browse/JDK-8181211 >>>>>> C2 unrolling heuristics need some tweaking as well: it doesn't unroll loops with large strides (8*8 = 32). >>>>>> >>>>>> Once membars are gone and unrolling is fixed, the scores become in favor of direct buffers (my guess is due to alignment): >>>>>> >>>>>> Before: >>>>>> >>>>>> -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=2: >>>>>> vectorArrayArray 5738494.127 ? 52704.256 ops/s >>>>>> vectorBufferBuffer 1584747.638 ? 35644.433 ops/s >>>>>> >>>>>> -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=0: >>>>>> vectorArrayArray 5705607.529 ? 118589.894 ops/s >>>>>> vectorBufferBuffer 2573858.340 ? 3322.248 ops/s >>>>>> >>>>>> vs >>>>>> >>>>>> After (no membars + unrolling): >>>>>> >>>>>> -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=[0,2]: >>>>>> vectorArrayArray 7961232.893 ? 59427.218 ops/s >>>>>> vectorBufferBuffer 8600848.228 ? 84322.430 ops/s >>>>>> >>>>>> Best regards, >>>>>> Vladimir Ivanov >>>>>> >>>>>>>> On Mar 10, 2020, at 7:51 AM, Antoine Chambille > wrote: >>>>>>>> >>>>>>>> Hi folks, >>>>>>>> >>>>>>>> First, the new Vector API is -awesome- and it makes Java the best language >>>>>>>> for writing data parallel algorithms, a remarkable turnaround. It reminds >>>>>>>> me of when Java 5 became the best language for concurrent programming. >>>>>>>> >>>>>>>> I'm benchmarking a use case where you aggregate element wise an array of >>>>>>>> doubles into another array of doubles ( ai += bi for each coordinate ). >>>>>>>> There are large performance variations depending on whether the data is >>>>>>>> held in arrays, byte arrays or byte buffers. Disabling bounds checking >>>>>>>> removes some of the overhead but not all. I'm sharing the JMH >>>>>>>> microbenchmark below if that can help. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Here are the results of running the benchmark on my laptop with Windows 10 >>>>>>>> and an Intel core i9-8950HK @2.90GHz >>>>>>>> >>>>>>>> >>>>>>>> -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=2 >>>>>>>> >>>>>>>> Benchmark Mode Cnt Score Error Units >>>>>>>> standardArrayArray thrpt 5 4657680.731 ? 22775.673 ops/s >>>>>>>> standardArrayBuffer thrpt 5 1074170.758 ? 28116.666 ops/s >>>>>>>> standardBufferArray thrpt 5 1066531.757 ? 39990.913 ops/s >>>>>>>> standardBufferBuffer thrpt 5 801500.523 ? 19984.247 ops/s >>>>>>>> vectorArrayArray thrpt 5 7107822.743 ? 454478.273 ops/s >>>>>>>> vectorArrayBuffer thrpt 5 1922263.407 ? 29921.036 ops/s >>>>>>>> vectorBufferArray thrpt 5 2732335.558 ? 81958.886 ops/s >>>>>>>> vectorBufferBuffer thrpt 5 1833276.409 ? 59682.441 ops/s >>>>>>>> vectorByteArrayByteArray thrpt 5 4618267.357 ? 127141.691 ops/s >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=0 >>>>>>>> >>>>>>>> Benchmark Mode Cnt Score Error Units >>>>>>>> standardArrayArray thrpt 5 4692286.894 ? 67785.058 ops/s >>>>>>>> standardArrayBuffer thrpt 5 1073420.025 ? 28216.922 ops/s >>>>>>>> standardBufferArray thrpt 5 1066385.323 ? 15700.653 ops/s >>>>>>>> standardBufferBuffer thrpt 5 797741.269 ? 15881.590 ops/s >>>>>>>> vectorArrayArray thrpt 5 8351594.873 ? 153608.251 ops/s >>>>>>>> vectorArrayBuffer thrpt 5 3107638.739 ? 223093.281 ops/s >>>>>>>> vectorBufferArray thrpt 5 3653867.093 ? 75307.265 ops/s >>>>>>>> vectorBufferBuffer thrpt 5 2224031.876 ? 49263.778 ops/s >>>>>>>> vectorByteArrayByteArray thrpt 5 4761018.920 ? 264243.227 ops/s >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> cheers, >>>>>>>> -Antoine >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> package com.activeviam; >>>>>>>> >>>>>>>> import jdk.incubator.vector.DoubleVector; >>>>>>>> import jdk.incubator.vector.VectorSpecies; >>>>>>>> import org.openjdk.jmh.annotations.*; >>>>>>>> import org.openjdk.jmh.runner.Runner; >>>>>>>> import org.openjdk.jmh.runner.options.Options; >>>>>>>> import org.openjdk.jmh.runner.options.OptionsBuilder; >>>>>>>> >>>>>>>> import java.nio.ByteBuffer; >>>>>>>> import java.nio.ByteOrder; >>>>>>>> >>>>>>>> /** >>>>>>>> * Benchmark the element wise aggregation of an array >>>>>>>> * of doubles into another array of doubles, using >>>>>>>> * combinations of java arrays, byte buffers, standard java code >>>>>>>> * and the new Vector API. >>>>>>>> */ >>>>>>>> public class AggregationBenchmark { >>>>>>>> >>>>>>>> /** Manually launch JMH */ >>>>>>>> public static void main(String[] params) throws Exception { >>>>>>>> Options opt = new OptionsBuilder() >>>>>>>> .include(AggregationBenchmark.class.getSimpleName()) >>>>>>>> .forks(1) >>>>>>>> .build(); >>>>>>>> >>>>>>>> new Runner(opt).run(); >>>>>>>> } >>>>>>>> >>>>>>>> >>>>>>>> @State(Scope.Benchmark) >>>>>>>> public static class Data { >>>>>>>> final static int SIZE = 1024; >>>>>>>> final double[] inputArray; >>>>>>>> final double[] outputArray; >>>>>>>> final byte[] inputByteArray; >>>>>>>> final byte[] outputByteArray; >>>>>>>> final ByteBuffer inputBuffer; >>>>>>>> final ByteBuffer outputBuffer; >>>>>>>> >>>>>>>> public Data() { >>>>>>>> this.inputArray = new double[SIZE]; >>>>>>>> this.outputArray = new double[SIZE]; >>>>>>>> this.inputByteArray = new byte[8 * SIZE]; >>>>>>>> this.outputByteArray = new byte[8 * SIZE]; >>>>>>>> this.inputBuffer = ByteBuffer.allocateDirect(8 * SIZE); >>>>>>>> this.outputBuffer = ByteBuffer.allocateDirect(8 * SIZE); >>>>>>>> } >>>>>>>> } >>>>>>>> >>>>>>>> @Benchmark >>>>>>>> public void standardArrayArray(Data state) { >>>>>>>> final double[] input = state.inputArray; >>>>>>>> final double[] output = state.outputArray; >>>>>>>> for(int i = 0; i < input.length; i++) { >>>>>>>> output[i] += input[i]; >>>>>>>> } >>>>>>>> } >>>>>>>> >>>>>>>> @Benchmark >>>>>>>> public void standardArrayBuffer(Data state) { >>>>>>>> final double[] input = state.inputArray; >>>>>>>> final ByteBuffer output = state.outputBuffer; >>>>>>>> for(int i = 0; i < input.length; i++) { >>>>>>>> output.putDouble(i << 3, output.getDouble(i << 3) + input[i]); >>>>>>>> } >>>>>>>> } >>>>>>>> >>>>>>>> @Benchmark >>>>>>>> public void standardBufferArray(Data state) { >>>>>>>> final ByteBuffer input = state.inputBuffer; >>>>>>>> final double[] output = state.outputArray; >>>>>>>> for(int i = 0; i < input.capacity(); i+=8) { >>>>>>>> output[i >>> 3] += input.getDouble(i); >>>>>>>> } >>>>>>>> } >>>>>>>> >>>>>>>> @Benchmark >>>>>>>> public void standardBufferBuffer(Data state) { >>>>>>>> final ByteBuffer input = state.inputBuffer; >>>>>>>> final ByteBuffer output = state.outputBuffer; >>>>>>>> for(int i = 0; i < input.capacity(); i+=8) { >>>>>>>> output.putDouble(i, output.getDouble(i) + input.getDouble(i)); >>>>>>>> } >>>>>>>> } >>>>>>>> >>>>>>>> >>>>>>>> final static VectorSpecies SPECIES = DoubleVector.SPECIES_MAX; >>>>>>>> >>>>>>>> @Benchmark >>>>>>>> public void vectorArrayArray(Data state) { >>>>>>>> final double[] input = state.inputArray; >>>>>>>> final double[] output = state.outputArray; >>>>>>>> >>>>>>>> for (int i = 0; i < input.length; i+=SPECIES.length()) { >>>>>>>> DoubleVector a = DoubleVector.fromArray(SPECIES, input, i); >>>>>>>> DoubleVector b = DoubleVector.fromArray(SPECIES, output, i); >>>>>>>> a = a.add(b); >>>>>>>> a.intoArray(output, i); >>>>>>>> } >>>>>>>> } >>>>>>>> >>>>>>>> @Benchmark >>>>>>>> public void vectorByteArrayByteArray(Data state) { >>>>>>>> final byte[] input = state.inputByteArray; >>>>>>>> final byte[] output = state.outputByteArray; >>>>>>>> >>>>>>>> for (int i = 0; i < input.length; i += 8 * SPECIES.length()) { >>>>>>>> DoubleVector a = DoubleVector.fromByteArray(SPECIES, input, i); >>>>>>>> DoubleVector b = DoubleVector.fromByteArray(SPECIES, output, i); >>>>>>>> a = a.add(b); >>>>>>>> a.intoByteArray(output, i); >>>>>>>> } >>>>>>>> } >>>>>>>> >>>>>>>> @Benchmark >>>>>>>> public void vectorBufferBuffer(Data state) { >>>>>>>> final ByteBuffer input = state.inputBuffer; >>>>>>>> final ByteBuffer output = state.outputBuffer; >>>>>>>> for (int i = 0; i < input.capacity(); i += 8 * SPECIES.length()) { >>>>>>>> DoubleVector a = DoubleVector.fromByteBuffer(SPECIES, input, i, >>>>>>>> ByteOrder.nativeOrder()); >>>>>>>> DoubleVector b = DoubleVector.fromByteBuffer(SPECIES, output, >>>>>>>> i, ByteOrder.nativeOrder()); >>>>>>>> a = a.add(b); >>>>>>>> a.intoByteBuffer(output, i, ByteOrder.nativeOrder()); >>>>>>>> } >>>>>>>> } >>>>>>>> >>>>>>>> @Benchmark >>>>>>>> public void vectorArrayBuffer(Data state) { >>>>>>>> final double[] input = state.inputArray; >>>>>>>> final ByteBuffer output = state.outputBuffer; >>>>>>>> >>>>>>>> for (int i = 0; i < input.length; i+=SPECIES.length()) { >>>>>>>> DoubleVector a = DoubleVector.fromArray(SPECIES, input, i); >>>>>>>> DoubleVector b = DoubleVector.fromByteBuffer(SPECIES, output, i >>>>>>>> << 3, ByteOrder.nativeOrder()); >>>>>>>> a = a.add(b); >>>>>>>> a.intoByteBuffer(output, i << 3, ByteOrder.nativeOrder()); >>>>>>>> } >>>>>>>> } >>>>>>>> >>>>>>>> @Benchmark >>>>>>>> public void vectorBufferArray(Data state) { >>>>>>>> final ByteBuffer input = state.inputBuffer; >>>>>>>> final double[] output = state.outputArray; >>>>>>>> for (int i = 0; i < input.capacity(); i += 8 * SPECIES.length()) { >>>>>>>> DoubleVector a = DoubleVector.fromByteBuffer(SPECIES, input, i, >>>>>>>> ByteOrder.nativeOrder()); >>>>>>>> DoubleVector b = DoubleVector.fromArray(SPECIES, output, i >>> >>>>>>>> 3); >>>>>>>> a = a.add(b); >>>>>>>> a.intoArray(output, i >>> 3); >>>>>>>> } >>>>>>>> } >>>>>>>> >>>>>>>> } From duke at openjdk.java.net Thu Mar 12 21:51:23 2020 From: duke at openjdk.java.net (duke) Date: Thu, 12 Mar 2020 21:51:23 GMT Subject: git: openjdk/panama-foreign: foreign-abi: 8240874: Add finer-grained access control for memory segments (#47) Message-ID: <217bd580-19cc-4f5c-bf63-8fb5801cd28a@openjdk.java.net> Changeset: fc9fbf57 Author: Maurizio Cimadamore <54672762+mcimadamore at users.noreply.github.com> Committer: GitHub Date: 2020-03-12 21:50:38 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/fc9fbf57 8240874: Add finer-grained access control for memory segments (#47) Reviewed-by: psandoz, jvernee Co-authored-by: Maurizio Cimadamore ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java ! test/jdk/java/foreign/CallGeneratorHelper.java ! test/jdk/java/foreign/TestByteBuffer.java ! test/jdk/java/foreign/TestMemoryAccess.java ! test/jdk/java/foreign/TestSegments.java From duke at openjdk.java.net Thu Mar 12 21:52:26 2020 From: duke at openjdk.java.net (duke) Date: Thu, 12 Mar 2020 21:52:26 GMT Subject: git: openjdk/panama-foreign: foreign-jextract: 2 new changesets Message-ID: <4c933ba4-3606-46d5-bd9b-7544d0d00885@openjdk.org> Changeset: fc9fbf57 Author: Maurizio Cimadamore <54672762+mcimadamore at users.noreply.github.com> Committer: GitHub Date: 2020-03-12 21:50:38 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/fc9fbf57 8240874: Add finer-grained access control for memory segments (#47) Reviewed-by: psandoz, jvernee Co-authored-by: Maurizio Cimadamore ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java ! test/jdk/java/foreign/CallGeneratorHelper.java ! test/jdk/java/foreign/TestByteBuffer.java ! test/jdk/java/foreign/TestMemoryAccess.java ! test/jdk/java/foreign/TestSegments.java Changeset: df0ffeed Author: duke Date: 2020-03-12 21:51:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/df0ffeed Automatic merge of foreign-abi into foreign-jextract From mcimadamore at openjdk.java.net Thu Mar 12 21:53:34 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Thu, 12 Mar 2020 21:53:34 GMT Subject: [foreign-abi] RFR: Merge openjdk/panama-foreign:foreign-memaccess Message-ID: Merge with foreign-memaccess ------------- Commit messages: - Merge foreign-memaccess - 8240874: Add finer-grained access control for memory segments Changes: https://git.openjdk.java.net/panama-foreign/pull/47/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/47/webrev.00 Stats: 279 lines in 7 files changed: 201 ins; 34 del; 44 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/47.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/47/head:pull/47 PR: https://git.openjdk.java.net/panama-foreign/pull/47 From youngty1997 at gmail.com Thu Mar 12 22:33:39 2020 From: youngty1997 at gmail.com (Ty Young) Date: Thu, 12 Mar 2020 17:33:39 -0500 Subject: Build fail: interface MemoryAddressProxy not exported Message-ID: Hi, Current foreign-jextract builds fail with: /home/ty/Downloads/panama-foreign-foreign-jextract2/src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemoryAddressImpl.java:41: warning: [exports] interface MemoryAddressProxy in module java.base may not be visible to all clients that require this module public final class MemoryAddressImpl implements MemoryAddress, MemoryAddressProxy { MemoryAddressProxy isn't even used in public API besides VarHandle get() and set() methods(even then, it's not transparent) so I'm assuming this is being leaked in error. From maurizio.cimadamore at oracle.com Fri Mar 13 01:06:38 2020 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Fri, 13 Mar 2020 01:06:38 +0000 Subject: Build fail: interface MemoryAddressProxy not exported In-Reply-To: References: Message-ID: Seems to work here... I don't get that warning. Also, it's a weird one, MemoryAddressImpl is not a class exported by the jdk.incubator.foreign module, so I'm a bit confused. Anybody else can reproduce this? Maurizio On 12/03/2020 22:33, Ty Young wrote: > Hi, > > > Current foreign-jextract builds fail with: > > > /home/ty/Downloads/panama-foreign-foreign-jextract2/src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemoryAddressImpl.java:41: > warning: [exports] interface MemoryAddressProxy in module java.base > may not be visible to all clients that require this module > public final class MemoryAddressImpl implements MemoryAddress, > MemoryAddressProxy { > > > MemoryAddressProxy isn't even used in public API besides VarHandle > get() and set() methods(even then, it's not transparent) so I'm > assuming this is being leaked in error. > From henryjen at openjdk.java.net Fri Mar 13 01:26:18 2020 From: henryjen at openjdk.java.net (Henry Jen) Date: Fri, 13 Mar 2020 01:26:18 GMT Subject: [foreign-abi] RFR: Merge openjdk/panama-foreign:foreign-memaccess In-Reply-To: References: Message-ID: On Thu, 12 Mar 2020 19:13:07 GMT, Maurizio Cimadamore wrote: > Merge with foreign-memaccess Looks good with only minor things I would like to understand. src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java line 63: > 62: > 63: final static int SMALL = ACQUIRE << 1; > 64: final static long NONCE = new Random().nextLong(); Can there be more access mode in the future? We don't have any reserved space here. Although it's not likely to be an issue for the value to be different between version without persistence, it's better to keep same value. Personally I prefer to use form of 1 << n, instead of prev_value << 1. test/jdk/java/foreign/TestByteBuffer.java line 395: > 394: byteBuffer.get(); // should throw > 395: } > 396: I am a little confused with this change. What can we do with the returned ByteBuffer? Should we check the liveness in asByteBuffer()? ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/47 From youngty1997 at gmail.com Fri Mar 13 01:45:11 2020 From: youngty1997 at gmail.com (Ty Young) Date: Thu, 12 Mar 2020 20:45:11 -0500 Subject: Build fail: interface MemoryAddressProxy not exported In-Reply-To: References: Message-ID: On 3/12/20 8:06 PM, Maurizio Cimadamore wrote: > Seems to work here... I don't get that warning. > > Also, it's a weird one, MemoryAddressImpl is not a class exported by > the jdk.incubator.foreign module, so I'm a bit confused. > > Anybody else can reproduce this? Disregard. It was my screwup from wrongly editing module-info to export ForeignUnsafe, since Maven and Netbeans aren't playing well with arguments. The export for foreignunsafe used to be at the very bottom but now an export from internal foreign to jextract is. Apologies. > > Maurizio > > On 12/03/2020 22:33, Ty Young wrote: >> Hi, >> >> >> Current foreign-jextract builds fail with: >> >> >> /home/ty/Downloads/panama-foreign-foreign-jextract2/src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemoryAddressImpl.java:41: >> warning: [exports] interface MemoryAddressProxy in module java.base >> may not be visible to all clients that require this module >> public final class MemoryAddressImpl implements MemoryAddress, >> MemoryAddressProxy { >> >> >> MemoryAddressProxy isn't even used in public API besides VarHandle >> get() and set() methods(even then, it's not transparent) so I'm >> assuming this is being leaked in error. >> From mcimadamore at openjdk.java.net Fri Mar 13 10:32:34 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Fri, 13 Mar 2020 10:32:34 GMT Subject: [foreign-abi] RFR: Merge openjdk/panama-foreign:foreign-memaccess In-Reply-To: References: Message-ID: On Fri, 13 Mar 2020 00:28:28 GMT, Henry Jen wrote: >> Merge with foreign-memaccess > > src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java line 63: > >> 62: >> 63: final static int SMALL = ACQUIRE << 1; >> 64: final static long NONCE = new Random().nextLong(); > > Can there be more access mode in the future? We don't have any reserved space here. Although it's not likely to be an > issue for the value to be different between version without persistence, it's better to keep same value. > Personally I prefer to use form of 1 << n, instead of prev_value << 1. I noted this as I was merging too, and I think we need to split the mask in two parts - public and private flags, and mask the private flags when users ask for them. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/47 From mcimadamore at openjdk.java.net Fri Mar 13 10:35:36 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Fri, 13 Mar 2020 10:35:36 GMT Subject: [foreign-abi] RFR: Merge openjdk/panama-foreign:foreign-memaccess In-Reply-To: References: Message-ID: On Fri, 13 Mar 2020 01:22:13 GMT, Henry Jen wrote: >> Merge with foreign-memaccess > > test/jdk/java/foreign/TestByteBuffer.java line 395: > >> 394: byteBuffer.get(); // should throw >> 395: } >> 396: > > I am a little confused with this change. What can we do with the returned ByteBuffer? Should we check the liveness in > asByteBuffer()? This change is just a merge change from the fix of JDK-8240874. The goal of that change is to determine a failure caused by liveness. Before this change the code was (redundantly) treating asByteBuffer as an operation which could only be performed on live segments. I've rectified that, but that means this test no longer threw the expected exception, so I added another call which was triggering the failure (get). ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/47 From duke at openjdk.java.net Fri Mar 13 11:09:18 2020 From: duke at openjdk.java.net (duke) Date: Fri, 13 Mar 2020 11:09:18 GMT Subject: git: openjdk/panama-foreign: master: 107 new changesets Message-ID: <6bc54d18-09d9-433d-887c-15bdbaded419@openjdk.org> Changeset: 95a497ae Author: Aditya Mandaleeka Committer: Roman Kennke Date: 2020-03-06 13:41:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/95a497ae 8236981: Remove ShenandoahTraversalUpdateRefsClosure Reviewed-by: shade, rkennke ! src/hotspot/share/gc/shenandoah/shenandoahClosures.hpp ! src/hotspot/share/gc/shenandoah/shenandoahClosures.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Changeset: f0cd9dd5 Author: Ivan Walulya Date: 2020-03-06 14:10:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f0cd9dd5 8240592: HeapRegionManager::rebuild_free_list logs 0s for the estimated free regions before Reviewed-by: sjohanss, kbarrett ! src/hotspot/share/gc/g1/heapRegionManager.cpp Changeset: 14c09861 Author: Ralf Schmelter Date: 2020-03-06 16:19:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/14c09861 8240440: Implement get_safepoint_workers() for parallel GC Reviewed-by: tschatzl, kbarrett ! src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp Changeset: c92adf41 Author: Severin Gehwolf Date: 2020-02-24 19:03:34 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c92adf41 8240189: [TESTBUG] Some cgroup tests are failing after JDK-8231111 Reviewed-by: mbaesken, bobv ! test/jdk/jdk/internal/platform/docker/MetricsCpuTester.java ! test/jdk/jdk/internal/platform/docker/MetricsMemoryTester.java ! test/lib/jdk/test/lib/containers/cgroup/CgroupMetricsTester.java ! test/lib/jdk/test/lib/containers/cgroup/MetricsTesterCgroupV1.java ! test/lib/jdk/test/lib/containers/cgroup/MetricsTesterCgroupV2.java Changeset: d8bded6f Author: Aleksey Shipilev Date: 2020-03-06 17:03:42 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d8bded6f 8240671: Shenandoah: refactor ShenandoahPhaseTimings Reviewed-by: rkennke, zgu ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahStringDedup.cpp - src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.cpp - src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp Changeset: f87ebd9e Author: Sean Mullan Date: 2020-03-06 13:17:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f87ebd9e 8240684: ProblemList 70 security tests that are failing on Windows due to "Fetch artifact failed" Reviewed-by: xuelei, stsmirno, dcubed ! test/jdk/ProblemList.txt Changeset: e2f43191 Author: Brian Burkhalter Date: 2020-03-06 10:34:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e2f43191 4617266: (se spec) SelectionKey.OP_READ/OP_WRITE documentation errors Reviewed-by: lancea, alanb, darcy ! src/java.base/share/classes/java/nio/channels/SelectionKey.java Changeset: 375d0c13 Author: Roger Riggs Date: 2020-03-06 13:52:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/375d0c13 8239893: Windows handle Leak when starting processes using ProcessBuilder Reviewed-by: bpb, naoto ! src/java.base/windows/classes/java/lang/ProcessImpl.java + test/jdk/java/lang/ProcessBuilder/checkHandles/CheckHandles.java + test/jdk/java/lang/ProcessBuilder/checkHandles/libCheckHandles.c Changeset: 8c1204de Author: Roman Kennke Date: 2020-03-06 21:51:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8c1204de 8240315: Shenandoah: Rename ShLBN::get_barrier_strength() Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp Changeset: 9e2ab1e3 Author: Calvin Cheung Date: 2020-03-06 15:33:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9e2ab1e3 8232081: Try to link all classes during dynamic CDS dump During CDS dynamic dump, link all classes loaded by the builtin class loaders in JVM_BeforeHalt() and JavaThread::invoke_shutdown_hooks(). Reviewed-by: iklam, dholmes ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/runtime/thread.cpp + test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/LinkClassTest.java + test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/test-classes/LinkClassApp.java Changeset: 9f334a16 Author: Kim Barrett Date: 2020-03-06 18:42:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9f334a16 8240239: Replace ConcurrentGCPhaseManager Replace ConcurrentGCPhaseManager with ConcurrentGCBreakpoints Co-authored-by: Per Liden Reviewed-by: kbarrett, pliden, sangheki ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMarkThread.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMarkThread.hpp ! src/hotspot/share/gc/g1/g1Policy.cpp ! src/hotspot/share/gc/g1/g1VMOperations.cpp ! src/hotspot/share/gc/g1/g1VMOperations.hpp ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp + src/hotspot/share/gc/shared/concurrentGCBreakpoints.cpp + src/hotspot/share/gc/shared/concurrentGCBreakpoints.hpp - src/hotspot/share/gc/shared/concurrentGCPhaseManager.cpp - src/hotspot/share/gc/shared/concurrentGCPhaseManager.hpp ! src/hotspot/share/gc/shared/gcCause.cpp ! src/hotspot/share/gc/shared/gcCause.hpp + src/hotspot/share/gc/z/zBreakpoint.cpp + src/hotspot/share/gc/z/zBreakpoint.hpp ! src/hotspot/share/gc/z/zCollectedHeap.cpp ! src/hotspot/share/gc/z/zCollectedHeap.hpp ! src/hotspot/share/gc/z/zDriver.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp + test/hotspot/jtreg/gc/TestConcurrentGCBreakpoints.java + test/hotspot/jtreg/gc/TestJNIWeak/TestJNIWeak.java + test/hotspot/jtreg/gc/TestJNIWeak/libTestJNIWeak.c - test/hotspot/jtreg/gc/concurrent_phase_control/CheckControl.java - test/hotspot/jtreg/gc/concurrent_phase_control/CheckSupported.java - test/hotspot/jtreg/gc/concurrent_phase_control/CheckUnsupported.java - test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlG1.java - test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlG1Basics.java - test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlParallel.java - test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlSerial.java - test/hotspot/jtreg/gc/g1/TestJNIWeakG1/TestJNIWeakG1.java - test/hotspot/jtreg/gc/g1/TestJNIWeakG1/libTestJNIWeakG1.c ! test/lib/sun/hotspot/WhiteBox.java Changeset: c203cebc Author: Mikael Vidstedt Date: 2020-03-06 17:33:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c203cebc 8240535: Add additional linux-aarch64 jib profiles Reviewed-by: erikj ! make/conf/jib-profiles.js Changeset: c46623d0 Author: Jonathan Gibbons Date: 2020-03-06 18:03:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c46623d0 8240137: Support chained use of Content.add 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/Comment.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/Entity.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/FixedStringContent.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/RawHtml.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Script.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/StringContent.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/Content.java Changeset: f222cb8b Author: Jie Fu Date: 2020-03-07 14:42:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f222cb8b 8240695: Build is broken when cds is disabled after JDK-8232081 Reviewed-by: iklam ! src/hotspot/share/memory/metaspaceShared.hpp Changeset: ff8e7d40 Author: Vyom Tewari Date: 2020-03-07 18:35:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ff8e7d40 8238579: HttpsURLConnection drops the timeout and hangs forever in read HttpsURLConnection drops the timeout and hangs forever in read Reviewed-by: dfuchs ! src/java.base/share/classes/sun/net/www/protocol/https/AbstractDelegateHttpsURLConnection.java Changeset: d0e44e5b Author: Boris Ulasevich Date: 2020-03-07 16:27:00 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d0e44e5b 8239514: Build for arm-linux-gnueabihf fails with undefined reference read_polling_page Reviewed-by: dsamersoff, dholmes ! src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp ! src/hotspot/cpu/arm/macroAssembler_arm.cpp Changeset: 3d9dddd6 Author: Ichiroh Takiguchi Date: 2020-03-08 15:15:38 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3d9dddd6 8239965: XMLEncoder/Test4625418.java fails due to "Error: Cp943 - can't read properly" Cp943 and x-IBM943 should skip on XMLEncoder/Test4625418.java Reviewed-by: naoto ! test/jdk/ProblemList.txt ! test/jdk/java/beans/XMLEncoder/Test4625418.java Changeset: 7806ca14 Author: Kim Barrett Date: 2020-03-08 17:33:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7806ca14 8240133: G1DirtyCardQueue destructor has useless flush Removed useless call to flush. Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/g1/g1DirtyCardQueue.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp Changeset: 046dcdc0 Author: Ioi Lam Date: 2020-03-08 15:06:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/046dcdc0 8240613: InstanceKlass::set_init_state failed with assert(good_state || state == allocated) Reviewed-by: dcubed ! src/hotspot/share/classfile/systemDictionary.cpp Changeset: ba2e4178 Author: Rajan Halade Date: 2020-03-09 00:45:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ba2e4178 8240686: 70 security tests are failing on Windows due to "Fetch artifact failed" Reviewed-by: xuelei ! test/jdk/ProblemList.txt Changeset: 1c1fb44a Author: Kim Barrett Date: 2020-03-09 04:06:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1c1fb44a 8240722: [BACKOUT] G1DirtyCardQueue destructor has useless flush Backout JDK-8240133 Reviewed-by: sjohanss ! src/hotspot/share/gc/g1/g1DirtyCardQueue.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp Changeset: b58c8601 Author: Roland Westrelin Date: 2020-03-05 15:56:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b58c8601 8239335: C2: assert((Value(phase) == t) || (t != TypeInt::CC_GT && t != TypeInt::CC_EQ)) failed: missing Value() optimization Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/subtypenode.cpp + test/hotspot/jtreg/compiler/types/TestIntArraySubTypeOfCloneableDoesnotFold.java Changeset: 3ff8eff8 Author: Aditya Mandaleeka Committer: Roman Kennke Date: 2020-03-09 12:29:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3ff8eff8 8220503: Move ShenandoahTerminatorTerminator::should_exit_termination out of header Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.hpp Changeset: a11912ca Author: Kevin Walls Date: 2020-03-09 12:54:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a11912ca 8240295: hs_err elapsed time in seconds is not accurate enough Reviewed-by: dholmes, sspitsyn ! src/hotspot/share/runtime/os.cpp Changeset: e0fec43a Author: Mario Torre Date: 2020-03-09 14:57:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e0fec43a 8240738: nested comment in JVM.java and other minor formatting errors Reviewed-by: egahlin ! src/jdk.jfr/share/classes/jdk/jfr/internal/JVM.java Changeset: aa2be114 Author: Dongbo He Committer: Fei Yang Date: 2020-03-09 22:31:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/aa2be114 8240576: JVM crashes after transformation in C2 IdealLoopTree::merge_many_backedges Reviewed-by: kvn ! src/hotspot/share/opto/loopnode.cpp + test/hotspot/jtreg/compiler/loopopts/TestBeautifyLoops.java Changeset: dc178218 Author: Henry Jen Date: 2020-03-06 13:48:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/dc178218 8240629: argfiles parsing broken for argfiles with comment cross 4096 bytes chunk Reviewed-by: alanb, mchung ! src/java.base/share/native/libjli/args.c ! test/jdk/tools/launcher/ArgFileSyntax.java Changeset: 5c8f9356 Author: Daniel Fuchs Date: 2020-03-09 17:48:40 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5c8f9356 8240754: Instrument FlowTest.java to provide more debug traces Reviewed-by: chegar ! test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/FlowTest.java Changeset: 123ac070 Author: Naoto Sato Date: 2020-03-09 13:20:45 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/123ac070 8239836: ZoneRules.of() doesn't check transitionList/standardOffsetTL arguments validity Reviewed-by: rriggs, joehw, scolebourne ! src/java.base/share/classes/java/time/zone/ZoneRules.java ! test/jdk/java/time/test/java/time/zone/TestZoneRules.java Changeset: 672992f6 Author: Erik Gahlin Date: 2020-03-09 21:25:38 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/672992f6 8222000: JFR: Process start event Reviewed-by: mgronlun, rriggs ! src/java.base/share/classes/java/lang/ProcessBuilder.java + src/java.base/share/classes/jdk/internal/event/ProcessStartEvent.java + src/jdk.jfr/share/classes/jdk/jfr/events/ProcessStartEvent.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/jdk/jdk/jfr/event/metadata/TestDefaultConfigurations.java + test/jdk/jdk/jfr/event/os/TestProcessStart.java ! test/jdk/jdk/jfr/event/runtime/TestActiveSettingEvent.java ! test/lib/jdk/test/lib/jfr/EventNames.java Changeset: f09cda2c Author: Erik Gahlin Date: 2020-03-09 21:43:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f09cda2c 8239584: EventStream::close should state that stream will be stopped Reviewed-by: mgronlun, mseledtsov ! src/jdk.jfr/share/classes/jdk/jfr/consumer/EventStream.java ! src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordingStream.java Changeset: 2ba5ed53 Author: Aleksey Shipilev Date: 2020-03-09 22:40:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2ba5ed53 8240749: Shenandoah: refactor ShenandoahUtils Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! 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/shenandoahUtils.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp Changeset: 9722dfc9 Author: Aleksey Shipilev Date: 2020-03-09 22:41:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9722dfc9 8240750: Shenandoah: remove leftover files and mentions of ShenandoahAllocTracker Reviewed-by: rkennke - src/hotspot/share/gc/shenandoah/shenandoahAllocTracker.cpp - src/hotspot/share/gc/shenandoah/shenandoahAllocTracker.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.cpp Changeset: d112950b Author: Aditya Mandaleeka Committer: Aleksey Shipilev Date: 2020-03-09 22:41:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d112950b 8230853: Shenandoah: replace leftover assert(is_in(...)) with rich asserts Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegionSet.inline.hpp Changeset: 43e0165e Author: Roland Westrelin Date: 2020-03-10 10:45:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/43e0165e 8240794: [BACKOUT] 8238384 CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found" Reviewed-by: thartmann ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/gcm.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/macro.hpp ! src/hotspot/share/opto/macroArrayCopy.cpp ! src/hotspot/share/opto/type.hpp - test/hotspot/jtreg/compiler/escapeAnalysis/TestCopyOfBrokenAntiDependency.java Changeset: d49eb0d9 Author: Ivan Walulya Date: 2020-03-10 10:19:34 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d49eb0d9 8240668: G1 list of all PerRegionTable does not have to be a double linkedlist any more Reviewed-by: kbarrett, tschatzl ! src/hotspot/share/gc/g1/heapRegionRemSet.cpp ! src/hotspot/share/gc/g1/heapRegionRemSet.hpp ! src/hotspot/share/gc/g1/heapRegionRemSet.inline.hpp Changeset: edaf548b Author: John Jiang Date: 2020-03-10 21:43:46 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/edaf548b 8238740: java/net/httpclient/whitebox/FlowTestDriver.java would not specify a TLS protocol Reviewed-by: dfuchs ! test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/FlowTest.java Changeset: aac5b27b Author: Markus Gr?nlund Date: 2020-03-10 15:44:59 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/aac5b27b 8238180: RunThese30M failed "assert(t->jfr_thread_local()->shelved_buffer() == __null) failed: invariant" Reviewed-by: egahlin ! src/hotspot/share/jfr/recorder/storage/jfrStorage.cpp Changeset: f4b54881 Author: Dongbo He Committer: Fei Yang Date: 2020-03-09 18:21:58 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f4b54881 8240734: ModuleHashes attribute not reproducible between builds Reviewed-by: alanb ! src/java.base/share/classes/jdk/internal/module/ModuleHashes.java ! src/java.base/share/classes/jdk/internal/module/ModuleHashesBuilder.java Changeset: 42ff13ab Author: Roland Westrelin Date: 2020-03-09 09:42:30 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/42ff13ab 8240195: some jaotc failures of fastdebug build with specific flags Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/subtypenode.cpp + test/hotspot/jtreg/compiler/types/TestSubTypeOfAsbtractClassWrongResult.java Changeset: 8208b9ce Author: Erik Gahlin Date: 2020-03-10 18:39:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8208b9ce 8240778: JFR: Create timer task lazily Reviewed-by: mgronlun, mseledtsov ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecorder.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecording.java Changeset: 072cfd2e Author: Vladimir Ivanov Date: 2020-03-10 20:51:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/072cfd2e 8238681: Make -XX:UseSSE flag x86-specific Reviewed-by: dholmes, kvn ! src/hotspot/cpu/ppc/vm_version_ppc.cpp ! src/hotspot/cpu/sparc/vm_version_sparc.cpp ! src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp ! src/hotspot/cpu/x86/c1_Runtime1_x86.cpp ! src/hotspot/cpu/x86/globals_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/share/c1/c1_LinearScan.cpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp ! test/hotspot/jtreg/compiler/c1/Test6579789.java ! test/hotspot/jtreg/compiler/c1/Test6855215.java Changeset: 1dcd3d2c Author: Vladimir Ivanov Date: 2020-03-10 20:51:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1dcd3d2c 8239008: C2: Simplify Replicate support for sub-word types on x86 Reviewed-by: kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/x86.ad Changeset: 02916dbb Author: Vladimir Ivanov Date: 2020-03-10 20:51:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/02916dbb 8239009: C2: Don't use PSHUF to load scalars from memory on x86 Reviewed-by: kvn, dlong ! src/hotspot/cpu/x86/x86.ad Changeset: 0e3529ad Author: Yumin Qi Date: 2020-03-10 11:52:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0e3529ad 8240691: ClhsdbCDSJstackPrintAll incorrectly thinks CDS is in use Fix by checking "UseSharedSpaces = false" for CDS enabled. Reviewed-by: iklam ! src/hotspot/share/prims/whitebox.cpp ! test/hotspot/jtreg/serviceability/sa/ClhsdbCDSCore.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbCDSJstackPrintAll.java Changeset: 75632a6d Author: Yudi Zheng Committer: Doug Simon Date: 2020-03-10 21:48:43 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/75632a6d 8240610: [JVMCI] Export VMVersion::_has_intel_jcc_erratum to JVMCI compiler Reviewed-by: kvn, thartmann ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp Changeset: 53c6887a Author: Yumin Qi Date: 2020-03-10 14:37:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/53c6887a 8240840: Rollback whitebox.cpp in push 8240691 Whitebox.cpp should not change in 8240691, which is accidentally included. Reviewed-by: iklam, ccheung ! src/hotspot/share/prims/whitebox.cpp Changeset: 39ab0731 Author: Vladimir Kozlov Date: 2020-03-10 14:39:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/39ab0731 8240830: [BACKOUT] 8240195: some jaotc failures of fastdebug build with specific flags Reviewed-by: dcubed ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/subtypenode.cpp - test/hotspot/jtreg/compiler/types/TestSubTypeOfAsbtractClassWrongResult.java Changeset: 0fd2ac70 Author: Jonathan Gibbons Date: 2020-03-10 14:46:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0fd2ac70 8240697: convert builders to high-level Content blocks Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractOverviewIndexWriter.java ! 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/AnnotationTypeWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassUseWriter.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/ConstantsSummaryWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DeprecatedListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DocFilesHandlerImpl.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/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/IndexRedirectWriter.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/Navigation.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/PackageTreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageUseWriter.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/SerializedFormWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SingleIndexWriter.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/SplitIndexWriter.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/TreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/BodyContents.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Head.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/Navigation.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/TableHeader.java Changeset: 5eef59d2 Author: Adam Sotona Date: 2020-03-10 17:33:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5eef59d2 8235216: typo in test filename Renamed MutliReleaseModuleInfoTest.java to MultiReleaseModuleInfoTest.java Reviewed-by: jjg + test/langtools/tools/javac/file/MultiReleaseJar/MultiReleaseModuleInfoTest.java - test/langtools/tools/javac/file/MultiReleaseJar/MutliReleaseModuleInfoTest.java Changeset: 08c3b1fc Author: Chihiro Ito Date: 2020-03-07 23:08:33 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/08c3b1fc 8222489: jcmd VM.system_properties gives unusable paths on Windows Reviewed-by: sspitsyn, ysuenaga ! src/java.base/share/classes/jdk/internal/vm/VMSupport.java + test/jdk/sun/tools/jcmd/TestVM.java Changeset: 80ca356e Author: Weijun Wang Date: 2020-03-11 10:33:33 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/80ca356e 8239928: ec/ECDSAJavaVerify.java failed due to timeout Reviewed-by: valeriep ! test/jdk/sun/security/ec/ECDSAJavaVerify.java Changeset: 99b28daf Author: Yasumasa Suenaga Date: 2020-03-11 13:14:40 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/99b28daf 8240725: Some functions might not work with CJK character Reviewed-by: naoto ! src/java.base/share/native/libzip/zip_util.c ! src/java.base/windows/native/libjava/canonicalize_md.c ! src/java.base/windows/native/libjli/java_md.c ! src/jdk.incubator.jpackage/windows/native/libapplauncher/WindowsPlatform.cpp Changeset: 441e16e2 Author: Magnus Ihse Bursie Date: 2020-03-11 08:34:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/441e16e2 8240820: Replace AC_ARG_ENABLE with UTIL_ARG_ENABLE Reviewed-by: erikj ! make/autoconf/build-performance.m4 ! make/autoconf/flags-cflags.m4 ! make/autoconf/hotspot.m4 ! make/autoconf/jdk-options.m4 ! make/autoconf/lib-ffi.m4 ! make/autoconf/platform.m4 ! make/autoconf/util.m4 ! test/make/autoconf/test.m4 Changeset: 1c1acb47 Author: Erik Helin Date: 2020-03-10 16:58:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1c1acb47 8237566: FindTests.gmk should only include existing TEST.ROOT files Reviewed-by: erikj ! make/common/FindTests.gmk Changeset: 593a05c9 Author: Stefan Karlsson Date: 2020-03-04 15:50:51 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/593a05c9 8240530: CheckUnhandledOops breaks BacktraceBuilder::set_has_hidden_top_frame Reviewed-by: coleenp, dholmes ! src/hotspot/share/classfile/javaClasses.cpp Changeset: 43e0fc04 Author: Stefan Karlsson Date: 2020-03-04 15:50:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/43e0fc04 8240529: CheckUnhandledOops breaks NULL check in Modules::define_module Reviewed-by: coleenp, lfoltan, hseigel ! src/hotspot/share/classfile/modules.cpp Changeset: 534331f0 Author: Stefan Karlsson Date: 2020-03-04 18:08:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/534331f0 8240532: heap inspection prints trailing @ after name of module without version Reviewed-by: lfoltan ! src/hotspot/share/memory/heapInspection.cpp ! test/hotspot/jtreg/serviceability/dcmd/gc/ClassHistogramTest.java Changeset: 661c0735 Author: Andrew Haley Date: 2020-03-10 10:49:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/661c0735 8240615: is_power_of_2() has Undefined Behaviour and is inconsistent Reviewed-by: jrose, redestad ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/utilities/powerOfTwo.hpp ! test/hotspot/gtest/utilities/test_powerOfTwo.cpp Changeset: 0992e17b Author: Andrew Haley Date: 2020-03-11 12:38:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0992e17b 8240829: Use a fast O(1) algorithm for exact_log2 Reviewed-by: jrose, redestad ! src/hotspot/share/utilities/powerOfTwo.hpp ! test/hotspot/gtest/utilities/test_powerOfTwo.cpp Changeset: d7780973 Author: Vipin Sharma Committer: Christoph Langer Date: 2020-03-11 13:50:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d7780973 8240524: Remove explicit type argument in test jdk/java/lang/Boolean/MakeBooleanComparable.java Reviewed-by: clanger, vtewari ! test/jdk/java/lang/Boolean/GetBoolean.java ! test/jdk/java/lang/Boolean/MakeBooleanComparable.java ! test/jdk/java/lang/Boolean/ParseBoolean.java Changeset: eb974fad Author: Aleksey Shipilev Date: 2020-03-11 14:17:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/eb974fad 8240868: Shenandoah: remove CM-with-UR piggybacking cycles Reviewed-by: rkennke, zgu ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.hpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeuristics.hpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp ! src/hotspot/share/gc/shenandoah/shenandoahVMOperations.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVMOperations.hpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp ! src/hotspot/share/runtime/vmOperations.hpp ! test/hotspot/jtreg/gc/shenandoah/TestStringDedupStress.java Changeset: 6275aee6 Author: Andrew Haley Date: 2020-03-11 15:02:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6275aee6 Merge Changeset: 14e37ba3 Author: Alexey Bakhtin Committer: Andrew Brygin Date: 2020-03-11 19:14:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/14e37ba3 8239798: SSLSocket closes socket both socket endpoints on a SocketTimeoutException Reviewed-by: xuelei ! src/java.base/share/classes/sun/security/ssl/SSLSocketImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLSocketInputRecord.java ! src/java.base/share/classes/sun/security/ssl/SSLTransport.java ! test/jdk/sun/security/ssl/SSLSocketImpl/ClientTimeout.java ! test/jdk/sun/security/ssl/SSLSocketImpl/SSLExceptionForIOIssue.java Changeset: 5b323a86 Author: Adam Sotona Committer: Lance Andersen Date: 2020-03-11 12:30:23 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5b323a86 8230117: Remove unused JAR tool classes Reviewed-by: lancea, clanger - src/jdk.jartool/share/classes/sun/tools/jar/Manifest.java - src/jdk.jartool/share/classes/sun/tools/jar/SignatureFile.java Changeset: 8c6649de Author: Pavel Rappo Date: 2020-03-11 17:09:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8c6649de 8239487: Better links generation for system properties found in HTML files 8239485: Define behavior of the System Properties page when no system properties are available Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DocFilesHandlerImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SearchIndexItem.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SearchIndexItems.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SingleIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SplitIndexWriter.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/toolkit/DocFileElement.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java ! test/langtools/jdk/javadoc/doclet/testMetadata/TestMetadata.java ! test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/TestSystemPropertyPage.java + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src1/overview.html + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src1/pkg1/A.java + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src1/pkg1/doc-files/WithEmptyTitle.html + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src1/pkg1/doc-files/WithTitle.html + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src1/pkg1/doc-files/WithoutTitle.html + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src1/pkg2/B.java + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src2/pkg1/A.java ! test/langtools/jdk/javadoc/doclet/testSystemPropertyTaglet/TestSystemPropertyTaglet.java ! test/langtools/jdk/javadoc/tool/api/basic/APITest.java Changeset: db69852a Author: Serguei Spitsyn Date: 2020-03-11 20:28:43 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/db69852a 8240881: [BACKOUT] 8222489 jcmd VM.system_properties gives unusable paths on Windows Undo the 8222489 changeset Reviewed-by: dcubed, iklam ! src/java.base/share/classes/jdk/internal/vm/VMSupport.java - test/jdk/sun/tools/jcmd/TestVM.java Changeset: 5531199d Author: Alex Menkov Date: 2020-03-11 13:39:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5531199d 8240340: java/lang/management/ThreadMXBean/Locks.java is buggy Reviewed-by: dholmes, sspitsyn ! test/jdk/java/lang/management/ThreadMXBean/Locks.java ! test/lib/jdk/test/lib/LockFreeLogger.java Changeset: 6b487c3c Author: Magnus Ihse Bursie Date: 2020-03-11 22:25:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6b487c3c 8240866: Typo in JDK-8240820 messes up configure --help Reviewed-by: erikj ! make/autoconf/flags-cflags.m4 ! make/autoconf/hotspot.m4 Changeset: 5b9a09cb Author: Jonathan Gibbons Date: 2020-03-11 15:46:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5b9a09cb 8240138: Cleanup HtmlTree Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractTreeWriter.java ! 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/AnnotationTypeFieldWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassUseWriter.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/ConstantsSummaryWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstructorWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DeprecatedListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/EnumConstantWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/FieldWriterImpl.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/HtmlDocletWriter.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/ModuleWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageTreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageUseWriter.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/PropertyWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SerializedFormWriterImpl.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/TreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Comment.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/HtmlTag.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/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/Content.java Changeset: 069d9e79 Author: Yasumasa Suenaga Date: 2020-03-12 09:23:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/069d9e79 8234624: jstack mixed mode should refer DWARF Reviewed-by: sspitsyn, kevinw + src/jdk.hotspot.agent/linux/native/libsaproc/DwarfParser.cpp ! src/jdk.hotspot.agent/linux/native/libsaproc/LinuxDebuggerLocal.cpp + src/jdk.hotspot.agent/linux/native/libsaproc/dwarf.cpp + src/jdk.hotspot.agent/linux/native/libsaproc/dwarf.hpp ! src/jdk.hotspot.agent/linux/native/libsaproc/libproc.h ! src/jdk.hotspot.agent/linux/native/libsaproc/libproc_impl.c ! src/jdk.hotspot.agent/linux/native/libsaproc/libproc_impl.h ! src/jdk.hotspot.agent/linux/native/libsaproc/salibelf.c ! src/jdk.hotspot.agent/linux/native/libsaproc/salibelf.h ! src/jdk.hotspot.agent/linux/native/libsaproc/symtab.c ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/LinuxCDebugger.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/LinuxDebugger.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/LinuxDebuggerLocal.java + src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/amd64/DwarfParser.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64CFrame.java Changeset: 92686e1a Author: Jesper Wilhelmsson Date: 2020-03-12 03:10:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/92686e1a Added tag jdk-15+14 for changeset 1d6ceb13e142 ! .hgtags Changeset: b0f32c44 Author: Ioi Lam Date: 2020-03-11 21:37:45 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b0f32c44 8240548: [TESTBUG] CDS NoClassToArchive.java fails with Graal Reviewed-by: dholmes, mchung ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/NoClassToArchive.java Changeset: 19e02810 Author: Kelvin Nilsen Committer: Aleksey Shipilev Date: 2020-03-12 06:47:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/19e02810 8225216: gc/logging/TestMetaSpaceLog.java doesn't work for Shenandoah Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! test/hotspot/jtreg/TEST.groups ! test/hotspot/jtreg/gc/logging/TestMetaSpaceLog.java Changeset: 0368e41c Author: Weijun Wang Date: 2020-03-12 18:21:59 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0368e41c 8240261: Use make/templates/gpl-cp-header in FieldGen.java Reviewed-by: erikj ! make/gensrc/Gensrc-java.base.gmk ! make/jdk/src/classes/build/tools/intpoly/FieldGen.java - make/jdk/src/classes/build/tools/intpoly/header.txt + make/jdk/src/classes/build/tools/util/Header.java Changeset: c5bd0d79 Author: Richard Reingruber Date: 2020-03-12 11:51:00 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c5bd0d79 8234146: compiler/jsr292/ContinuousCallSiteTargetChange.java times out on SPARC Reviewed-by: vlivanov, thartmann ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/compiler/jsr292/ContinuousCallSiteTargetChange.java Changeset: 7fe46b24 Author: Claes Redestad Date: 2020-03-12 13:07:21 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7fe46b24 8240772: x86_64: Pre-generate Assembler::popa, pusha and vzeroupper Reviewed-by: iklam, kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/vm_version_x86.cpp Changeset: d49cf17d Author: Claes Redestad Date: 2020-03-05 16:07:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d49cf17d 8240669: Devirtualize Relocation::type Reviewed-by: rbackman, thartmann ! src/hotspot/share/code/relocInfo.cpp ! src/hotspot/share/code/relocInfo.hpp Changeset: 21d3eaf5 Author: Yudi Zheng Committer: Doug Simon Date: 2020-03-12 13:20:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/21d3eaf5 8240831: [JVMCI] Export missing vmStructs entries used by JVMCI compilers Reviewed-by: kvn, thartmann ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp Changeset: 1f189228 Author: Zhengyu Gu Date: 2020-03-12 09:25:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1f189228 8240915: Shenandoah: Remove unused fields in init mark tasks Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Changeset: 48c48b7a Author: Vladimir Ivanov Date: 2020-03-12 16:42:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/48c48b7a 8238696: x86: Enumerate all detected CPU features in VM_Version feature string Reviewed-by: dholmes, kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/cpu/x86/vm_version_x86.hpp ! src/hotspot/cpu/x86/x86.ad + test/jdk/lib/testlibrary/CPUInfoTest.java Changeset: add18914 Author: Severin Gehwolf Date: 2020-02-25 12:17:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/add18914 8239785: Cgroups: Incorrect detection logic on old systems in hotspot Return NULL subsystem if no cgroup controllers are mounted. Reviewed-by: bobv, mbaesken ! src/hotspot/os/linux/cgroupSubsystem_linux.cpp ! src/hotspot/os/linux/cgroupSubsystem_linux.hpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/prims/whitebox.hpp + test/hotspot/jtreg/containers/cgroup/CgroupSubsystemFactory.java ! test/lib/sun/hotspot/WhiteBox.java Changeset: eeaafbe1 Author: Naoto Sato Date: 2020-03-12 08:31:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/eeaafbe1 8216332: Grapheme regex does not work with emoji sequences Reviewed-by: rriggs ! src/java.base/share/classes/java/util/regex/Grapheme.java + test/jdk/java/util/regex/GraphemeTestCases.txt ! test/jdk/java/util/regex/RegExTest.java Changeset: fee69bab Author: Roger Riggs Date: 2020-03-12 11:54:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/fee69bab 8240704: CheckHandles.java failed "AssertionError: Handle use increased by more than 10 percent." Reviewed-by: dfuchs ! test/jdk/java/lang/ProcessBuilder/checkHandles/CheckHandles.java Changeset: c68e15c0 Author: Roger Riggs Date: 2020-03-12 11:57:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c68e15c0 8240957: Clarify BadAttributeValueExpException readObject method Reviewed-by: bpb ! src/java.management/share/classes/javax/management/BadAttributeValueExpException.java Changeset: 90a39195 Author: Yumin Qi Date: 2020-03-12 09:07:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/90a39195 8240563: [TESTBUG] WB_IsCDSIncludedInVmBuild should support uncompressed oops/klasses With 8232069, CDS works with uncompressed oops/kalsses, detecting CDS code no longer bases on the two flags. Reviewed-by: iklam ! src/hotspot/share/prims/whitebox.cpp ! test/hotspot/jtreg/ProblemList-zgc.txt ! test/hotspot/jtreg/runtime/cds/appcds/CommandLineFlagComboNegative.java ! test/hotspot/jtreg/runtime/cds/appcds/TestZGCWithCDS.java Changeset: 70e730fd Author: Roman Kennke Date: 2020-03-12 17:52:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/70e730fd 8240872: Shenandoah: Avoid updating new regions from start of evacuation Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp Changeset: e5ab7011 Author: Roman Kennke Date: 2020-03-12 17:52:47 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e5ab7011 8240873: Shenandoah: Short-cut arraycopy barriers Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSetClone.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Changeset: 0ed44d0a Author: Patrick Concannon Date: 2020-03-12 17:08:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0ed44d0a 8239355: (dc) Initial value of SO_SNDBUF should allow sending large datagrams (macOS) Updates DatagramChannel so that the SO_SNDBUF is set to a minimum value of 65527 for IPv6 sockets and 65507 for IPv4 sockets on macOS. Reviewed-by: alanb, dfuchs ! src/java.base/unix/native/libnio/ch/Net.c ! test/jdk/java/net/IPSupport/MinimumPermissions.policy + test/jdk/java/nio/channels/DatagramChannel/MinSendBufferSize.java ! test/lib/jdk/test/lib/net/IPSupport.java Changeset: 71e1277f Author: Zhengyu Gu Date: 2020-03-12 13:08:40 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/71e1277f 8240917: Shenandoah: Avoid scanning thread code roots twice in all root scanner Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp Changeset: de5208e3 Author: Patrick Concannon Date: 2020-03-12 17:20:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/de5208e3 Merge Changeset: 3ee99ca1 Author: Aleksey Shipilev Date: 2020-03-12 18:50:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3ee99ca1 8240948: Shenandoah: cleanup not-forwarded-objects paths after JDK-8240868 Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp Changeset: 58337b12 Author: Daniel Fuchs Date: 2020-03-12 18:31:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/58337b12 8059309: network tests fail with "java.net.SocketException: Couldn't obtain phys addr" when run as "root" The solaris specific code is changed to use the fallback mechanism if the DLPI interface returns an error indicating that the operation is unsupported. In addition, NetworkInterface::getHardwareAddress is changed to always return null for the loopback interface. Reviewed-by: alanb ! src/java.base/share/classes/java/net/NetworkInterface.java ! src/java.base/unix/native/libnet/NetworkInterface.c + test/jdk/java/net/NetworkInterface/NullMacAddress.java Changeset: 3aceb74a Author: Magnus Ihse Bursie Date: 2020-03-12 19:40:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3aceb74a 8240947: Change conflicting JVM features from warning to error Reviewed-by: erikj ! make/autoconf/jvm-features.m4 Changeset: ed8c11e0 Author: Magnus Ihse Bursie Date: 2020-03-12 19:42:06 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ed8c11e0 8149110: Introduce DISABLED_WARNINGS for Java compilation Reviewed-by: erikj ! make/CompileDemos.gmk ! make/CompileInterimLangtools.gmk ! make/CompileInterimRmic.gmk ! make/CompileJavaModules.gmk ! make/CompileModuleTools.gmk ! make/CompileToolsJdk.gmk ! make/common/JavaCompilation.gmk ! make/common/SetupJavaCompilers.gmk ! make/hotspot/gensrc/GensrcJfr.gmk ! make/hotspot/gensrc/GensrcJvmti.gmk ! make/hotspot/ide/CreateVSProject.gmk ! make/test/BuildFailureHandler.gmk ! make/test/BuildMicrobenchmark.gmk ! make/test/JtregGraalUnit.gmk Changeset: 36fac8c3 Author: Magnus Ihse Bursie Date: 2020-03-12 19:43:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/36fac8c3 8240950: Missing AC_SUBST after JDK-82408 Reviewed-by: erikj ! make/autoconf/build-performance.m4 Changeset: d5d6dc0c Author: Mandy Chung Date: 2020-03-12 11:54:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d5d6dc0c 8228336: Refactor native library loading implementation Reviewed-by: alanb, dholmes ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/nativeLookup.cpp - src/java.base/macosx/classes/java/lang/ClassLoaderHelper.java + src/java.base/macosx/classes/jdk/internal/loader/ClassLoaderHelper.java ! src/java.base/share/classes/java/lang/ClassLoader.java ! src/java.base/share/classes/java/lang/Runtime.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 + src/java.base/share/classes/jdk/internal/loader/NativeLibraries.java + src/java.base/share/classes/jdk/internal/loader/NativeLibrary.java ! src/java.base/share/native/libjava/ClassLoader.c + src/java.base/share/native/libjava/NativeLibraries.c - src/java.base/unix/classes/java/lang/ClassLoaderHelper.java + src/java.base/unix/classes/jdk/internal/loader/ClassLoaderHelper.java = src/java.base/windows/classes/jdk/internal/loader/ClassLoaderHelper.java ! test/jdk/java/lang/ClassLoader/LibraryPathProperty.java Changeset: e9494f21 Author: Mandy Chung Date: 2020-03-12 11:56:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e9494f21 8240242: improve the javadoc for Lookup::dropLookupModes w.r.t. dropping UNCONDITIONAL Reviewed-by: chegar, rriggs ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java Changeset: e30b89e1 Author: Junyuan Zheng Committer: Erik Joelsson Date: 2020-03-12 12:55:19 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e30b89e1 8240972: macOS codesign fail on macOS 10.13.5 or older Reviewed-by: erikj, ihse ! make/autoconf/basic_tools.m4 Changeset: 5bc78c43 Author: Jonathan Gibbons Date: 2020-03-12 13:56:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5bc78c43 8240971: Fix CSS styles in some doc comments Reviewed-by: mchung ! src/java.base/share/classes/module-info.java ! src/java.management.rmi/share/classes/module-info.java ! src/java.se/share/classes/module-info.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css ! src/jdk.jconsole/share/classes/module-info.java Changeset: 2eaeb206 Author: Jonathan Gibbons Date: 2020-03-12 14:14:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2eaeb206 8240555: Using env of JAVA_TOOL_OPTIONS and _JAVA_OPTIONS breaks QuietOption.java test Reviewed-by: shurailine, prappo ! test/langtools/jdk/javadoc/tool/QuietOption.java Changeset: 0610992a Author: Valerie Peng Date: 2020-03-12 22:11:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0610992a 8238566: java.security.Provider$Service.supportsParameter() is racy Use double-checked-locking pattern inside the hasKeyAttributes() method Reviewed-by: xuelei ! src/java.base/share/classes/java/security/Provider.java Changeset: 38940d16 Author: Calvin Cheung Date: 2020-03-12 16:05:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/38940d16 8238000: Crash in ClassLoader::record_result while dynamic dumping netty Make a copy of the _shared_path_table for use during dynamic CDS dump. Reviewed-by: iklam, minqi ! src/hotspot/share/memory/dynamicArchive.cpp ! src/hotspot/share/memory/filemap.cpp ! src/hotspot/share/memory/filemap.hpp ! src/hotspot/share/memory/metaspaceShared.cpp Changeset: a8b48018 Author: Jie Fu Date: 2020-03-13 17:01:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a8b48018 8240846: Zero VM is broken after JDK-8238681: UseSSE not defined Reviewed-by: shade, rehn, vlivanov ! src/hotspot/share/compiler/compileBroker.cpp Changeset: 2a35bc5a Author: Roland Westrelin Date: 2020-03-11 10:32:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2a35bc5a 8240854: [REDO] some jaotc failures of fastdebug build with specific flags Reviewed-by: vlivanov, kvn, thartmann ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/subtypenode.cpp + test/hotspot/jtreg/compiler/types/TestSubTypeOfAsbtractClassWrongResult.java Changeset: 05c539c9 Author: Weijun Wang Date: 2020-03-13 17:45:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/05c539c9 8240980: Backout JDK-8240261 Reviewed-by: dholmes ! make/gensrc/Gensrc-java.base.gmk ! make/jdk/src/classes/build/tools/intpoly/FieldGen.java + make/jdk/src/classes/build/tools/intpoly/header.txt - make/jdk/src/classes/build/tools/util/Header.java Changeset: ae8bc600 Author: duke Date: 2020-03-13 11:00:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ae8bc600 Automatic merge of jdk:master into master From duke at openjdk.java.net Fri Mar 13 11:19:51 2020 From: duke at openjdk.java.net (J.Duke) Date: Fri, 13 Mar 2020 11:19:51 GMT Subject: [foreign] RFR: Cannot automatically merge openjdk/panama-foreign:master to foreign Message-ID: <3uY5v3zTEfBxUpbrUVUUxLSr7p6iSdZxTrHoXuQv9aE=.0f75738d-45f7-49b1-ba34-0a9ba4fc84fd@github.com> Could *not* automatically merge 107 commits from master into foreign. The following files contains merge conflicts: - src/java.base/share/classes/java/lang/ClassLoader.java - src/java.base/share/classes/java/lang/Runtime.java - src/java.base/share/classes/java/lang/System.java - src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java - src/java.base/share/native/libjava/ClassLoader.c To manually resolve these merge conflicts, please create a personal fork of https://git.openjdk.java.net/panama-foreign and execute the following commands: $ git checkout foreign $ git pull https://git.openjdk.java.net/panama-foreign foreign $ git checkout --branch merge-master-into-foreign $ git pull https://git.openjdk.java.net/panama-foreign master When you have resolved the conflicts resulting from the above commands, run: $ git add paths/to/files/with/conflicts $ git commit -m 'Merge master' Push the merge commit to your personal fork: $ git push -u origin merge-master-into-foreign Now proceed to create a pull request towards this repository. If you are using the [Skara](https://wiki.openjdk.java.net/display/skara#Skara-Skara)CLI tooling then you can run the following command to create the pull request: $ git pr create This pull request will be closed automatically by a bot once the merge conflicts have been resolved. ------------- Commit messages: - Automatic merge of jdk:master into master - 8240980: Backout JDK-8240261 - 8240854: [REDO] some jaotc failures of fastdebug build with specific flags - 8240846: Zero VM is broken after JDK-8238681: UseSSE not defined - 8238000: Crash in ClassLoader::record_result while dynamic dumping netty - 8238566: java.security.Provider$Service.supportsParameter() is racy - 8240555: Using env of JAVA_TOOL_OPTIONS and _JAVA_OPTIONS breaks QuietOption.java test - 8240971: Fix CSS styles in some doc comments - 8240972: macOS codesign fail on macOS 10.13.5 or older - 8240242: improve the javadoc for Lookup::dropLookupModes w.r.t. dropping UNCONDITIONAL - 8228336: Refactor native library loading implementation - 8240950: Missing AC_SUBST after JDK-82408 - 8149110: Introduce DISABLED_WARNINGS for Java compilation - 8240947: Change conflicting JVM features from warning to error - 8059309: network tests fail with "java.net.SocketException: Couldn't obtain phys addr" when run as "root" - 8240948: Shenandoah: cleanup not-forwarded-objects paths after JDK-8240868 - Merge - 8240917: Shenandoah: Avoid scanning thread code roots twice in all root scanner - 8239355: (dc) Initial value of SO_SNDBUF should allow sending large datagrams (macOS) - 8240873: Shenandoah: Short-cut arraycopy barriers - 8240872: Shenandoah: Avoid updating new regions from start of evacuation - 8240563: [TESTBUG] WB_IsCDSIncludedInVmBuild should support uncompressed oops/klasses - 8240957: Clarify BadAttributeValueExpException readObject method - 8240704: CheckHandles.java failed "AssertionError: Handle use increased by more than 10 percent." - 8216332: Grapheme regex does not work with emoji sequences - 8239785: Cgroups: Incorrect detection logic on old systems in hotspot - 8238696: x86: Enumerate all detected CPU features in VM_Version feature string - 8240915: Shenandoah: Remove unused fields in init mark tasks - 8240831: [JVMCI] Export missing vmStructs entries used by JVMCI compilers - 8240669: Devirtualize Relocation::type - 8240772: x86_64: Pre-generate Assembler::popa, pusha and vzeroupper - 8234146: compiler/jsr292/ContinuousCallSiteTargetChange.java times out on SPARC - 8240261: Use make/templates/gpl-cp-header in FieldGen.java - 8225216: gc/logging/TestMetaSpaceLog.java doesn't work for Shenandoah - 8240548: [TESTBUG] CDS NoClassToArchive.java fails with Graal - Added tag jdk-15+14 for changeset 1d6ceb13e142 - 8234624: jstack mixed mode should refer DWARF - 8240138: Cleanup HtmlTree - 8240866: Typo in JDK-8240820 messes up configure --help - 8240340: java/lang/management/ThreadMXBean/Locks.java is buggy - 8240881: [BACKOUT] 8222489 jcmd VM.system_properties gives unusable paths on Windows - 8239487: Better links generation for system properties found in HTML files - 8230117: Remove unused JAR tool classes - 8239798: SSLSocket closes socket both socket endpoints on a SocketTimeoutException - Merge - 8240868: Shenandoah: remove CM-with-UR piggybacking cycles - 8240524: Remove explicit type argument in test jdk/java/lang/Boolean/MakeBooleanComparable.java - 8240829: Use a fast O(1) algorithm for exact_log2 - 8240615: is_power_of_2() has Undefined Behaviour and is inconsistent - 8240532: heap inspection prints trailing @ after name of module without version - 8240529: CheckUnhandledOops breaks NULL check in Modules::define_module - 8240530: CheckUnhandledOops breaks BacktraceBuilder::set_has_hidden_top_frame - 8237566: FindTests.gmk should only include existing TEST.ROOT files - 8240820: Replace AC_ARG_ENABLE with UTIL_ARG_ENABLE - 8240725: Some functions might not work with CJK character - 8239928: ec/ECDSAJavaVerify.java failed due to timeout - 8222489: jcmd VM.system_properties gives unusable paths on Windows - 8235216: typo in test filename - 8240697: convert builders to high-level Content blocks - 8240830: [BACKOUT] 8240195: some jaotc failures of fastdebug build with specific flags - 8240840: Rollback whitebox.cpp in push 8240691 - 8240610: [JVMCI] Export VMVersion::_has_intel_jcc_erratum to JVMCI compiler - 8240691: ClhsdbCDSJstackPrintAll incorrectly thinks CDS is in use - 8239009: C2: Don't use PSHUF to load scalars from memory on x86 - 8239008: C2: Simplify Replicate support for sub-word types on x86 - 8238681: Make -XX:UseSSE flag x86-specific - 8240778: JFR: Create timer task lazily - 8240195: some jaotc failures of fastdebug build with specific flags - 8240734: ModuleHashes attribute not reproducible between builds - 8238180: RunThese30M failed "assert(t->jfr_thread_local()->shelved_buffer() == __null) failed: invariant" - 8238740: java/net/httpclient/whitebox/FlowTestDriver.java would not specify a TLS protocol - 8240668: G1 list of all PerRegionTable does not have to be a double linkedlist any more - 8240794: [BACKOUT] 8238384 CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found" - 8230853: Shenandoah: replace leftover assert(is_in(...)) with rich asserts - 8240750: Shenandoah: remove leftover files and mentions of ShenandoahAllocTracker - 8240749: Shenandoah: refactor ShenandoahUtils - 8239584: EventStream::close should state that stream will be stopped - 8222000: JFR: Process start event - 8239836: ZoneRules.of() doesn't check transitionList/standardOffsetTL arguments validity - 8240754: Instrument FlowTest.java to provide more debug traces - 8240629: argfiles parsing broken for argfiles with comment cross 4096 bytes chunk - 8240576: JVM crashes after transformation in C2 IdealLoopTree::merge_many_backedges - 8240738: nested comment in JVM.java and other minor formatting errors - 8240295: hs_err elapsed time in seconds is not accurate enough - 8220503: Move ShenandoahTerminatorTerminator::should_exit_termination out of header - 8239335: C2: assert((Value(phase) == t) || (t != TypeInt::CC_GT && t != TypeInt::CC_EQ)) failed: missing Value() optimization - 8240722: [BACKOUT] G1DirtyCardQueue destructor has useless flush - 8240686: 70 security tests are failing on Windows due to "Fetch artifact failed" - 8240613: InstanceKlass::set_init_state failed with assert(good_state || state == allocated) - 8240133: G1DirtyCardQueue destructor has useless flush - 8239965: XMLEncoder/Test4625418.java fails due to "Error: Cp943 - can't read properly" - 8239514: Build for arm-linux-gnueabihf fails with undefined reference read_polling_page - 8238579: HttpsURLConnection drops the timeout and hangs forever in read - 8240695: Build is broken when cds is disabled after JDK-8232081 - 8240137: Support chained use of Content.add - 8240535: Add additional linux-aarch64 jib profiles - 8240239: Replace ConcurrentGCPhaseManager - 8232081: Try to link all classes during dynamic CDS dump - 8240315: Shenandoah: Rename ShLBN::get_barrier_strength() - 8239893: Windows handle Leak when starting processes using ProcessBuilder - 4617266: (se spec) SelectionKey.OP_READ/OP_WRITE documentation errors - 8240684: ProblemList 70 security tests that are failing on Windows due to "Fetch artifact failed" - 8240671: Shenandoah: refactor ShenandoahPhaseTimings - 8240189: [TESTBUG] Some cgroup tests are failing after JDK-8231111 - 8240440: Implement get_safepoint_workers() for parallel GC - 8240592: HeapRegionManager::rebuild_free_list logs 0s for the estimated free regions before - 8236981: Remove ShenandoahTraversalUpdateRefsClosure Changes: https://git.openjdk.java.net/panama-foreign/pull/48/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/48/webrev.00 Stats: 15938 lines in 356 files changed: 7832 ins; 6167 del; 1939 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/48.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/48/head:pull/48 PR: https://git.openjdk.java.net/panama-foreign/pull/48 From duke at openjdk.java.net Fri Mar 13 11:17:25 2020 From: duke at openjdk.java.net (duke) Date: Fri, 13 Mar 2020 11:17:25 GMT Subject: git: openjdk/panama-foreign: foreign-memaccess: 108 new changesets Message-ID: <6ebab218-7e8c-4607-a8d7-918936faa7bf@openjdk.org> Changeset: 95a497ae Author: Aditya Mandaleeka Committer: Roman Kennke Date: 2020-03-06 13:41:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/95a497ae 8236981: Remove ShenandoahTraversalUpdateRefsClosure Reviewed-by: shade, rkennke ! src/hotspot/share/gc/shenandoah/shenandoahClosures.hpp ! src/hotspot/share/gc/shenandoah/shenandoahClosures.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Changeset: f0cd9dd5 Author: Ivan Walulya Date: 2020-03-06 14:10:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f0cd9dd5 8240592: HeapRegionManager::rebuild_free_list logs 0s for the estimated free regions before Reviewed-by: sjohanss, kbarrett ! src/hotspot/share/gc/g1/heapRegionManager.cpp Changeset: 14c09861 Author: Ralf Schmelter Date: 2020-03-06 16:19:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/14c09861 8240440: Implement get_safepoint_workers() for parallel GC Reviewed-by: tschatzl, kbarrett ! src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp Changeset: c92adf41 Author: Severin Gehwolf Date: 2020-02-24 19:03:34 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c92adf41 8240189: [TESTBUG] Some cgroup tests are failing after JDK-8231111 Reviewed-by: mbaesken, bobv ! test/jdk/jdk/internal/platform/docker/MetricsCpuTester.java ! test/jdk/jdk/internal/platform/docker/MetricsMemoryTester.java ! test/lib/jdk/test/lib/containers/cgroup/CgroupMetricsTester.java ! test/lib/jdk/test/lib/containers/cgroup/MetricsTesterCgroupV1.java ! test/lib/jdk/test/lib/containers/cgroup/MetricsTesterCgroupV2.java Changeset: d8bded6f Author: Aleksey Shipilev Date: 2020-03-06 17:03:42 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d8bded6f 8240671: Shenandoah: refactor ShenandoahPhaseTimings Reviewed-by: rkennke, zgu ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahStringDedup.cpp - src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.cpp - src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp Changeset: f87ebd9e Author: Sean Mullan Date: 2020-03-06 13:17:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f87ebd9e 8240684: ProblemList 70 security tests that are failing on Windows due to "Fetch artifact failed" Reviewed-by: xuelei, stsmirno, dcubed ! test/jdk/ProblemList.txt Changeset: e2f43191 Author: Brian Burkhalter Date: 2020-03-06 10:34:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e2f43191 4617266: (se spec) SelectionKey.OP_READ/OP_WRITE documentation errors Reviewed-by: lancea, alanb, darcy ! src/java.base/share/classes/java/nio/channels/SelectionKey.java Changeset: 375d0c13 Author: Roger Riggs Date: 2020-03-06 13:52:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/375d0c13 8239893: Windows handle Leak when starting processes using ProcessBuilder Reviewed-by: bpb, naoto ! src/java.base/windows/classes/java/lang/ProcessImpl.java + test/jdk/java/lang/ProcessBuilder/checkHandles/CheckHandles.java + test/jdk/java/lang/ProcessBuilder/checkHandles/libCheckHandles.c Changeset: 8c1204de Author: Roman Kennke Date: 2020-03-06 21:51:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8c1204de 8240315: Shenandoah: Rename ShLBN::get_barrier_strength() Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp Changeset: 9e2ab1e3 Author: Calvin Cheung Date: 2020-03-06 15:33:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9e2ab1e3 8232081: Try to link all classes during dynamic CDS dump During CDS dynamic dump, link all classes loaded by the builtin class loaders in JVM_BeforeHalt() and JavaThread::invoke_shutdown_hooks(). Reviewed-by: iklam, dholmes ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/runtime/thread.cpp + test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/LinkClassTest.java + test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/test-classes/LinkClassApp.java Changeset: 9f334a16 Author: Kim Barrett Date: 2020-03-06 18:42:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9f334a16 8240239: Replace ConcurrentGCPhaseManager Replace ConcurrentGCPhaseManager with ConcurrentGCBreakpoints Co-authored-by: Per Liden Reviewed-by: kbarrett, pliden, sangheki ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMarkThread.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMarkThread.hpp ! src/hotspot/share/gc/g1/g1Policy.cpp ! src/hotspot/share/gc/g1/g1VMOperations.cpp ! src/hotspot/share/gc/g1/g1VMOperations.hpp ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp + src/hotspot/share/gc/shared/concurrentGCBreakpoints.cpp + src/hotspot/share/gc/shared/concurrentGCBreakpoints.hpp - src/hotspot/share/gc/shared/concurrentGCPhaseManager.cpp - src/hotspot/share/gc/shared/concurrentGCPhaseManager.hpp ! src/hotspot/share/gc/shared/gcCause.cpp ! src/hotspot/share/gc/shared/gcCause.hpp + src/hotspot/share/gc/z/zBreakpoint.cpp + src/hotspot/share/gc/z/zBreakpoint.hpp ! src/hotspot/share/gc/z/zCollectedHeap.cpp ! src/hotspot/share/gc/z/zCollectedHeap.hpp ! src/hotspot/share/gc/z/zDriver.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp + test/hotspot/jtreg/gc/TestConcurrentGCBreakpoints.java + test/hotspot/jtreg/gc/TestJNIWeak/TestJNIWeak.java + test/hotspot/jtreg/gc/TestJNIWeak/libTestJNIWeak.c - test/hotspot/jtreg/gc/concurrent_phase_control/CheckControl.java - test/hotspot/jtreg/gc/concurrent_phase_control/CheckSupported.java - test/hotspot/jtreg/gc/concurrent_phase_control/CheckUnsupported.java - test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlG1.java - test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlG1Basics.java - test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlParallel.java - test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlSerial.java - test/hotspot/jtreg/gc/g1/TestJNIWeakG1/TestJNIWeakG1.java - test/hotspot/jtreg/gc/g1/TestJNIWeakG1/libTestJNIWeakG1.c ! test/lib/sun/hotspot/WhiteBox.java Changeset: c203cebc Author: Mikael Vidstedt Date: 2020-03-06 17:33:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c203cebc 8240535: Add additional linux-aarch64 jib profiles Reviewed-by: erikj ! make/conf/jib-profiles.js Changeset: c46623d0 Author: Jonathan Gibbons Date: 2020-03-06 18:03:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c46623d0 8240137: Support chained use of Content.add 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/Comment.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/Entity.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/FixedStringContent.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/RawHtml.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Script.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/StringContent.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/Content.java Changeset: f222cb8b Author: Jie Fu Date: 2020-03-07 14:42:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f222cb8b 8240695: Build is broken when cds is disabled after JDK-8232081 Reviewed-by: iklam ! src/hotspot/share/memory/metaspaceShared.hpp Changeset: ff8e7d40 Author: Vyom Tewari Date: 2020-03-07 18:35:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ff8e7d40 8238579: HttpsURLConnection drops the timeout and hangs forever in read HttpsURLConnection drops the timeout and hangs forever in read Reviewed-by: dfuchs ! src/java.base/share/classes/sun/net/www/protocol/https/AbstractDelegateHttpsURLConnection.java Changeset: d0e44e5b Author: Boris Ulasevich Date: 2020-03-07 16:27:00 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d0e44e5b 8239514: Build for arm-linux-gnueabihf fails with undefined reference read_polling_page Reviewed-by: dsamersoff, dholmes ! src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp ! src/hotspot/cpu/arm/macroAssembler_arm.cpp Changeset: 3d9dddd6 Author: Ichiroh Takiguchi Date: 2020-03-08 15:15:38 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3d9dddd6 8239965: XMLEncoder/Test4625418.java fails due to "Error: Cp943 - can't read properly" Cp943 and x-IBM943 should skip on XMLEncoder/Test4625418.java Reviewed-by: naoto ! test/jdk/ProblemList.txt ! test/jdk/java/beans/XMLEncoder/Test4625418.java Changeset: 7806ca14 Author: Kim Barrett Date: 2020-03-08 17:33:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7806ca14 8240133: G1DirtyCardQueue destructor has useless flush Removed useless call to flush. Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/g1/g1DirtyCardQueue.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp Changeset: 046dcdc0 Author: Ioi Lam Date: 2020-03-08 15:06:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/046dcdc0 8240613: InstanceKlass::set_init_state failed with assert(good_state || state == allocated) Reviewed-by: dcubed ! src/hotspot/share/classfile/systemDictionary.cpp Changeset: ba2e4178 Author: Rajan Halade Date: 2020-03-09 00:45:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ba2e4178 8240686: 70 security tests are failing on Windows due to "Fetch artifact failed" Reviewed-by: xuelei ! test/jdk/ProblemList.txt Changeset: 1c1fb44a Author: Kim Barrett Date: 2020-03-09 04:06:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1c1fb44a 8240722: [BACKOUT] G1DirtyCardQueue destructor has useless flush Backout JDK-8240133 Reviewed-by: sjohanss ! src/hotspot/share/gc/g1/g1DirtyCardQueue.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp Changeset: b58c8601 Author: Roland Westrelin Date: 2020-03-05 15:56:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b58c8601 8239335: C2: assert((Value(phase) == t) || (t != TypeInt::CC_GT && t != TypeInt::CC_EQ)) failed: missing Value() optimization Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/subtypenode.cpp + test/hotspot/jtreg/compiler/types/TestIntArraySubTypeOfCloneableDoesnotFold.java Changeset: 3ff8eff8 Author: Aditya Mandaleeka Committer: Roman Kennke Date: 2020-03-09 12:29:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3ff8eff8 8220503: Move ShenandoahTerminatorTerminator::should_exit_termination out of header Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.hpp Changeset: a11912ca Author: Kevin Walls Date: 2020-03-09 12:54:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a11912ca 8240295: hs_err elapsed time in seconds is not accurate enough Reviewed-by: dholmes, sspitsyn ! src/hotspot/share/runtime/os.cpp Changeset: e0fec43a Author: Mario Torre Date: 2020-03-09 14:57:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e0fec43a 8240738: nested comment in JVM.java and other minor formatting errors Reviewed-by: egahlin ! src/jdk.jfr/share/classes/jdk/jfr/internal/JVM.java Changeset: aa2be114 Author: Dongbo He Committer: Fei Yang Date: 2020-03-09 22:31:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/aa2be114 8240576: JVM crashes after transformation in C2 IdealLoopTree::merge_many_backedges Reviewed-by: kvn ! src/hotspot/share/opto/loopnode.cpp + test/hotspot/jtreg/compiler/loopopts/TestBeautifyLoops.java Changeset: dc178218 Author: Henry Jen Date: 2020-03-06 13:48:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/dc178218 8240629: argfiles parsing broken for argfiles with comment cross 4096 bytes chunk Reviewed-by: alanb, mchung ! src/java.base/share/native/libjli/args.c ! test/jdk/tools/launcher/ArgFileSyntax.java Changeset: 5c8f9356 Author: Daniel Fuchs Date: 2020-03-09 17:48:40 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5c8f9356 8240754: Instrument FlowTest.java to provide more debug traces Reviewed-by: chegar ! test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/FlowTest.java Changeset: 123ac070 Author: Naoto Sato Date: 2020-03-09 13:20:45 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/123ac070 8239836: ZoneRules.of() doesn't check transitionList/standardOffsetTL arguments validity Reviewed-by: rriggs, joehw, scolebourne ! src/java.base/share/classes/java/time/zone/ZoneRules.java ! test/jdk/java/time/test/java/time/zone/TestZoneRules.java Changeset: 672992f6 Author: Erik Gahlin Date: 2020-03-09 21:25:38 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/672992f6 8222000: JFR: Process start event Reviewed-by: mgronlun, rriggs ! src/java.base/share/classes/java/lang/ProcessBuilder.java + src/java.base/share/classes/jdk/internal/event/ProcessStartEvent.java + src/jdk.jfr/share/classes/jdk/jfr/events/ProcessStartEvent.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/jdk/jdk/jfr/event/metadata/TestDefaultConfigurations.java + test/jdk/jdk/jfr/event/os/TestProcessStart.java ! test/jdk/jdk/jfr/event/runtime/TestActiveSettingEvent.java ! test/lib/jdk/test/lib/jfr/EventNames.java Changeset: f09cda2c Author: Erik Gahlin Date: 2020-03-09 21:43:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f09cda2c 8239584: EventStream::close should state that stream will be stopped Reviewed-by: mgronlun, mseledtsov ! src/jdk.jfr/share/classes/jdk/jfr/consumer/EventStream.java ! src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordingStream.java Changeset: 2ba5ed53 Author: Aleksey Shipilev Date: 2020-03-09 22:40:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2ba5ed53 8240749: Shenandoah: refactor ShenandoahUtils Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! 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/shenandoahUtils.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp Changeset: 9722dfc9 Author: Aleksey Shipilev Date: 2020-03-09 22:41:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9722dfc9 8240750: Shenandoah: remove leftover files and mentions of ShenandoahAllocTracker Reviewed-by: rkennke - src/hotspot/share/gc/shenandoah/shenandoahAllocTracker.cpp - src/hotspot/share/gc/shenandoah/shenandoahAllocTracker.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.cpp Changeset: d112950b Author: Aditya Mandaleeka Committer: Aleksey Shipilev Date: 2020-03-09 22:41:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d112950b 8230853: Shenandoah: replace leftover assert(is_in(...)) with rich asserts Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegionSet.inline.hpp Changeset: 43e0165e Author: Roland Westrelin Date: 2020-03-10 10:45:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/43e0165e 8240794: [BACKOUT] 8238384 CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found" Reviewed-by: thartmann ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/gcm.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/macro.hpp ! src/hotspot/share/opto/macroArrayCopy.cpp ! src/hotspot/share/opto/type.hpp - test/hotspot/jtreg/compiler/escapeAnalysis/TestCopyOfBrokenAntiDependency.java Changeset: d49eb0d9 Author: Ivan Walulya Date: 2020-03-10 10:19:34 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d49eb0d9 8240668: G1 list of all PerRegionTable does not have to be a double linkedlist any more Reviewed-by: kbarrett, tschatzl ! src/hotspot/share/gc/g1/heapRegionRemSet.cpp ! src/hotspot/share/gc/g1/heapRegionRemSet.hpp ! src/hotspot/share/gc/g1/heapRegionRemSet.inline.hpp Changeset: edaf548b Author: John Jiang Date: 2020-03-10 21:43:46 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/edaf548b 8238740: java/net/httpclient/whitebox/FlowTestDriver.java would not specify a TLS protocol Reviewed-by: dfuchs ! test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/FlowTest.java Changeset: aac5b27b Author: Markus Gr?nlund Date: 2020-03-10 15:44:59 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/aac5b27b 8238180: RunThese30M failed "assert(t->jfr_thread_local()->shelved_buffer() == __null) failed: invariant" Reviewed-by: egahlin ! src/hotspot/share/jfr/recorder/storage/jfrStorage.cpp Changeset: f4b54881 Author: Dongbo He Committer: Fei Yang Date: 2020-03-09 18:21:58 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f4b54881 8240734: ModuleHashes attribute not reproducible between builds Reviewed-by: alanb ! src/java.base/share/classes/jdk/internal/module/ModuleHashes.java ! src/java.base/share/classes/jdk/internal/module/ModuleHashesBuilder.java Changeset: 42ff13ab Author: Roland Westrelin Date: 2020-03-09 09:42:30 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/42ff13ab 8240195: some jaotc failures of fastdebug build with specific flags Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/subtypenode.cpp + test/hotspot/jtreg/compiler/types/TestSubTypeOfAsbtractClassWrongResult.java Changeset: 8208b9ce Author: Erik Gahlin Date: 2020-03-10 18:39:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8208b9ce 8240778: JFR: Create timer task lazily Reviewed-by: mgronlun, mseledtsov ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecorder.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecording.java Changeset: 072cfd2e Author: Vladimir Ivanov Date: 2020-03-10 20:51:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/072cfd2e 8238681: Make -XX:UseSSE flag x86-specific Reviewed-by: dholmes, kvn ! src/hotspot/cpu/ppc/vm_version_ppc.cpp ! src/hotspot/cpu/sparc/vm_version_sparc.cpp ! src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp ! src/hotspot/cpu/x86/c1_Runtime1_x86.cpp ! src/hotspot/cpu/x86/globals_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/share/c1/c1_LinearScan.cpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp ! test/hotspot/jtreg/compiler/c1/Test6579789.java ! test/hotspot/jtreg/compiler/c1/Test6855215.java Changeset: 1dcd3d2c Author: Vladimir Ivanov Date: 2020-03-10 20:51:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1dcd3d2c 8239008: C2: Simplify Replicate support for sub-word types on x86 Reviewed-by: kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/x86.ad Changeset: 02916dbb Author: Vladimir Ivanov Date: 2020-03-10 20:51:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/02916dbb 8239009: C2: Don't use PSHUF to load scalars from memory on x86 Reviewed-by: kvn, dlong ! src/hotspot/cpu/x86/x86.ad Changeset: 0e3529ad Author: Yumin Qi Date: 2020-03-10 11:52:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0e3529ad 8240691: ClhsdbCDSJstackPrintAll incorrectly thinks CDS is in use Fix by checking "UseSharedSpaces = false" for CDS enabled. Reviewed-by: iklam ! src/hotspot/share/prims/whitebox.cpp ! test/hotspot/jtreg/serviceability/sa/ClhsdbCDSCore.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbCDSJstackPrintAll.java Changeset: 75632a6d Author: Yudi Zheng Committer: Doug Simon Date: 2020-03-10 21:48:43 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/75632a6d 8240610: [JVMCI] Export VMVersion::_has_intel_jcc_erratum to JVMCI compiler Reviewed-by: kvn, thartmann ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp Changeset: 53c6887a Author: Yumin Qi Date: 2020-03-10 14:37:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/53c6887a 8240840: Rollback whitebox.cpp in push 8240691 Whitebox.cpp should not change in 8240691, which is accidentally included. Reviewed-by: iklam, ccheung ! src/hotspot/share/prims/whitebox.cpp Changeset: 39ab0731 Author: Vladimir Kozlov Date: 2020-03-10 14:39:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/39ab0731 8240830: [BACKOUT] 8240195: some jaotc failures of fastdebug build with specific flags Reviewed-by: dcubed ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/subtypenode.cpp - test/hotspot/jtreg/compiler/types/TestSubTypeOfAsbtractClassWrongResult.java Changeset: 0fd2ac70 Author: Jonathan Gibbons Date: 2020-03-10 14:46:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0fd2ac70 8240697: convert builders to high-level Content blocks Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractOverviewIndexWriter.java ! 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/AnnotationTypeWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassUseWriter.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/ConstantsSummaryWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DeprecatedListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DocFilesHandlerImpl.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/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/IndexRedirectWriter.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/Navigation.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/PackageTreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageUseWriter.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/SerializedFormWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SingleIndexWriter.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/SplitIndexWriter.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/TreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/BodyContents.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Head.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/Navigation.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/TableHeader.java Changeset: 5eef59d2 Author: Adam Sotona Date: 2020-03-10 17:33:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5eef59d2 8235216: typo in test filename Renamed MutliReleaseModuleInfoTest.java to MultiReleaseModuleInfoTest.java Reviewed-by: jjg + test/langtools/tools/javac/file/MultiReleaseJar/MultiReleaseModuleInfoTest.java - test/langtools/tools/javac/file/MultiReleaseJar/MutliReleaseModuleInfoTest.java Changeset: 08c3b1fc Author: Chihiro Ito Date: 2020-03-07 23:08:33 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/08c3b1fc 8222489: jcmd VM.system_properties gives unusable paths on Windows Reviewed-by: sspitsyn, ysuenaga ! src/java.base/share/classes/jdk/internal/vm/VMSupport.java + test/jdk/sun/tools/jcmd/TestVM.java Changeset: 80ca356e Author: Weijun Wang Date: 2020-03-11 10:33:33 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/80ca356e 8239928: ec/ECDSAJavaVerify.java failed due to timeout Reviewed-by: valeriep ! test/jdk/sun/security/ec/ECDSAJavaVerify.java Changeset: 99b28daf Author: Yasumasa Suenaga Date: 2020-03-11 13:14:40 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/99b28daf 8240725: Some functions might not work with CJK character Reviewed-by: naoto ! src/java.base/share/native/libzip/zip_util.c ! src/java.base/windows/native/libjava/canonicalize_md.c ! src/java.base/windows/native/libjli/java_md.c ! src/jdk.incubator.jpackage/windows/native/libapplauncher/WindowsPlatform.cpp Changeset: 441e16e2 Author: Magnus Ihse Bursie Date: 2020-03-11 08:34:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/441e16e2 8240820: Replace AC_ARG_ENABLE with UTIL_ARG_ENABLE Reviewed-by: erikj ! make/autoconf/build-performance.m4 ! make/autoconf/flags-cflags.m4 ! make/autoconf/hotspot.m4 ! make/autoconf/jdk-options.m4 ! make/autoconf/lib-ffi.m4 ! make/autoconf/platform.m4 ! make/autoconf/util.m4 ! test/make/autoconf/test.m4 Changeset: 1c1acb47 Author: Erik Helin Date: 2020-03-10 16:58:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1c1acb47 8237566: FindTests.gmk should only include existing TEST.ROOT files Reviewed-by: erikj ! make/common/FindTests.gmk Changeset: 593a05c9 Author: Stefan Karlsson Date: 2020-03-04 15:50:51 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/593a05c9 8240530: CheckUnhandledOops breaks BacktraceBuilder::set_has_hidden_top_frame Reviewed-by: coleenp, dholmes ! src/hotspot/share/classfile/javaClasses.cpp Changeset: 43e0fc04 Author: Stefan Karlsson Date: 2020-03-04 15:50:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/43e0fc04 8240529: CheckUnhandledOops breaks NULL check in Modules::define_module Reviewed-by: coleenp, lfoltan, hseigel ! src/hotspot/share/classfile/modules.cpp Changeset: 534331f0 Author: Stefan Karlsson Date: 2020-03-04 18:08:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/534331f0 8240532: heap inspection prints trailing @ after name of module without version Reviewed-by: lfoltan ! src/hotspot/share/memory/heapInspection.cpp ! test/hotspot/jtreg/serviceability/dcmd/gc/ClassHistogramTest.java Changeset: 661c0735 Author: Andrew Haley Date: 2020-03-10 10:49:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/661c0735 8240615: is_power_of_2() has Undefined Behaviour and is inconsistent Reviewed-by: jrose, redestad ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/utilities/powerOfTwo.hpp ! test/hotspot/gtest/utilities/test_powerOfTwo.cpp Changeset: 0992e17b Author: Andrew Haley Date: 2020-03-11 12:38:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0992e17b 8240829: Use a fast O(1) algorithm for exact_log2 Reviewed-by: jrose, redestad ! src/hotspot/share/utilities/powerOfTwo.hpp ! test/hotspot/gtest/utilities/test_powerOfTwo.cpp Changeset: d7780973 Author: Vipin Sharma Committer: Christoph Langer Date: 2020-03-11 13:50:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d7780973 8240524: Remove explicit type argument in test jdk/java/lang/Boolean/MakeBooleanComparable.java Reviewed-by: clanger, vtewari ! test/jdk/java/lang/Boolean/GetBoolean.java ! test/jdk/java/lang/Boolean/MakeBooleanComparable.java ! test/jdk/java/lang/Boolean/ParseBoolean.java Changeset: eb974fad Author: Aleksey Shipilev Date: 2020-03-11 14:17:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/eb974fad 8240868: Shenandoah: remove CM-with-UR piggybacking cycles Reviewed-by: rkennke, zgu ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.hpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeuristics.hpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp ! src/hotspot/share/gc/shenandoah/shenandoahVMOperations.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVMOperations.hpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp ! src/hotspot/share/runtime/vmOperations.hpp ! test/hotspot/jtreg/gc/shenandoah/TestStringDedupStress.java Changeset: 6275aee6 Author: Andrew Haley Date: 2020-03-11 15:02:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6275aee6 Merge Changeset: 14e37ba3 Author: Alexey Bakhtin Committer: Andrew Brygin Date: 2020-03-11 19:14:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/14e37ba3 8239798: SSLSocket closes socket both socket endpoints on a SocketTimeoutException Reviewed-by: xuelei ! src/java.base/share/classes/sun/security/ssl/SSLSocketImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLSocketInputRecord.java ! src/java.base/share/classes/sun/security/ssl/SSLTransport.java ! test/jdk/sun/security/ssl/SSLSocketImpl/ClientTimeout.java ! test/jdk/sun/security/ssl/SSLSocketImpl/SSLExceptionForIOIssue.java Changeset: 5b323a86 Author: Adam Sotona Committer: Lance Andersen Date: 2020-03-11 12:30:23 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5b323a86 8230117: Remove unused JAR tool classes Reviewed-by: lancea, clanger - src/jdk.jartool/share/classes/sun/tools/jar/Manifest.java - src/jdk.jartool/share/classes/sun/tools/jar/SignatureFile.java Changeset: 8c6649de Author: Pavel Rappo Date: 2020-03-11 17:09:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8c6649de 8239487: Better links generation for system properties found in HTML files 8239485: Define behavior of the System Properties page when no system properties are available Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DocFilesHandlerImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SearchIndexItem.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SearchIndexItems.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SingleIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SplitIndexWriter.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/toolkit/DocFileElement.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java ! test/langtools/jdk/javadoc/doclet/testMetadata/TestMetadata.java ! test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/TestSystemPropertyPage.java + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src1/overview.html + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src1/pkg1/A.java + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src1/pkg1/doc-files/WithEmptyTitle.html + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src1/pkg1/doc-files/WithTitle.html + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src1/pkg1/doc-files/WithoutTitle.html + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src1/pkg2/B.java + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src2/pkg1/A.java ! test/langtools/jdk/javadoc/doclet/testSystemPropertyTaglet/TestSystemPropertyTaglet.java ! test/langtools/jdk/javadoc/tool/api/basic/APITest.java Changeset: db69852a Author: Serguei Spitsyn Date: 2020-03-11 20:28:43 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/db69852a 8240881: [BACKOUT] 8222489 jcmd VM.system_properties gives unusable paths on Windows Undo the 8222489 changeset Reviewed-by: dcubed, iklam ! src/java.base/share/classes/jdk/internal/vm/VMSupport.java - test/jdk/sun/tools/jcmd/TestVM.java Changeset: 5531199d Author: Alex Menkov Date: 2020-03-11 13:39:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5531199d 8240340: java/lang/management/ThreadMXBean/Locks.java is buggy Reviewed-by: dholmes, sspitsyn ! test/jdk/java/lang/management/ThreadMXBean/Locks.java ! test/lib/jdk/test/lib/LockFreeLogger.java Changeset: 6b487c3c Author: Magnus Ihse Bursie Date: 2020-03-11 22:25:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6b487c3c 8240866: Typo in JDK-8240820 messes up configure --help Reviewed-by: erikj ! make/autoconf/flags-cflags.m4 ! make/autoconf/hotspot.m4 Changeset: 5b9a09cb Author: Jonathan Gibbons Date: 2020-03-11 15:46:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5b9a09cb 8240138: Cleanup HtmlTree Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractTreeWriter.java ! 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/AnnotationTypeFieldWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassUseWriter.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/ConstantsSummaryWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstructorWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DeprecatedListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/EnumConstantWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/FieldWriterImpl.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/HtmlDocletWriter.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/ModuleWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageTreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageUseWriter.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/PropertyWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SerializedFormWriterImpl.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/TreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Comment.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/HtmlTag.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/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/Content.java Changeset: 069d9e79 Author: Yasumasa Suenaga Date: 2020-03-12 09:23:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/069d9e79 8234624: jstack mixed mode should refer DWARF Reviewed-by: sspitsyn, kevinw + src/jdk.hotspot.agent/linux/native/libsaproc/DwarfParser.cpp ! src/jdk.hotspot.agent/linux/native/libsaproc/LinuxDebuggerLocal.cpp + src/jdk.hotspot.agent/linux/native/libsaproc/dwarf.cpp + src/jdk.hotspot.agent/linux/native/libsaproc/dwarf.hpp ! src/jdk.hotspot.agent/linux/native/libsaproc/libproc.h ! src/jdk.hotspot.agent/linux/native/libsaproc/libproc_impl.c ! src/jdk.hotspot.agent/linux/native/libsaproc/libproc_impl.h ! src/jdk.hotspot.agent/linux/native/libsaproc/salibelf.c ! src/jdk.hotspot.agent/linux/native/libsaproc/salibelf.h ! src/jdk.hotspot.agent/linux/native/libsaproc/symtab.c ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/LinuxCDebugger.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/LinuxDebugger.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/LinuxDebuggerLocal.java + src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/amd64/DwarfParser.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64CFrame.java Changeset: 92686e1a Author: Jesper Wilhelmsson Date: 2020-03-12 03:10:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/92686e1a Added tag jdk-15+14 for changeset 1d6ceb13e142 ! .hgtags Changeset: b0f32c44 Author: Ioi Lam Date: 2020-03-11 21:37:45 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b0f32c44 8240548: [TESTBUG] CDS NoClassToArchive.java fails with Graal Reviewed-by: dholmes, mchung ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/NoClassToArchive.java Changeset: 19e02810 Author: Kelvin Nilsen Committer: Aleksey Shipilev Date: 2020-03-12 06:47:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/19e02810 8225216: gc/logging/TestMetaSpaceLog.java doesn't work for Shenandoah Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! test/hotspot/jtreg/TEST.groups ! test/hotspot/jtreg/gc/logging/TestMetaSpaceLog.java Changeset: 0368e41c Author: Weijun Wang Date: 2020-03-12 18:21:59 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0368e41c 8240261: Use make/templates/gpl-cp-header in FieldGen.java Reviewed-by: erikj ! make/gensrc/Gensrc-java.base.gmk ! make/jdk/src/classes/build/tools/intpoly/FieldGen.java - make/jdk/src/classes/build/tools/intpoly/header.txt + make/jdk/src/classes/build/tools/util/Header.java Changeset: c5bd0d79 Author: Richard Reingruber Date: 2020-03-12 11:51:00 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c5bd0d79 8234146: compiler/jsr292/ContinuousCallSiteTargetChange.java times out on SPARC Reviewed-by: vlivanov, thartmann ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/compiler/jsr292/ContinuousCallSiteTargetChange.java Changeset: 7fe46b24 Author: Claes Redestad Date: 2020-03-12 13:07:21 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7fe46b24 8240772: x86_64: Pre-generate Assembler::popa, pusha and vzeroupper Reviewed-by: iklam, kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/vm_version_x86.cpp Changeset: d49cf17d Author: Claes Redestad Date: 2020-03-05 16:07:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d49cf17d 8240669: Devirtualize Relocation::type Reviewed-by: rbackman, thartmann ! src/hotspot/share/code/relocInfo.cpp ! src/hotspot/share/code/relocInfo.hpp Changeset: 21d3eaf5 Author: Yudi Zheng Committer: Doug Simon Date: 2020-03-12 13:20:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/21d3eaf5 8240831: [JVMCI] Export missing vmStructs entries used by JVMCI compilers Reviewed-by: kvn, thartmann ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp Changeset: 1f189228 Author: Zhengyu Gu Date: 2020-03-12 09:25:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1f189228 8240915: Shenandoah: Remove unused fields in init mark tasks Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Changeset: 48c48b7a Author: Vladimir Ivanov Date: 2020-03-12 16:42:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/48c48b7a 8238696: x86: Enumerate all detected CPU features in VM_Version feature string Reviewed-by: dholmes, kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/cpu/x86/vm_version_x86.hpp ! src/hotspot/cpu/x86/x86.ad + test/jdk/lib/testlibrary/CPUInfoTest.java Changeset: add18914 Author: Severin Gehwolf Date: 2020-02-25 12:17:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/add18914 8239785: Cgroups: Incorrect detection logic on old systems in hotspot Return NULL subsystem if no cgroup controllers are mounted. Reviewed-by: bobv, mbaesken ! src/hotspot/os/linux/cgroupSubsystem_linux.cpp ! src/hotspot/os/linux/cgroupSubsystem_linux.hpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/prims/whitebox.hpp + test/hotspot/jtreg/containers/cgroup/CgroupSubsystemFactory.java ! test/lib/sun/hotspot/WhiteBox.java Changeset: eeaafbe1 Author: Naoto Sato Date: 2020-03-12 08:31:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/eeaafbe1 8216332: Grapheme regex does not work with emoji sequences Reviewed-by: rriggs ! src/java.base/share/classes/java/util/regex/Grapheme.java + test/jdk/java/util/regex/GraphemeTestCases.txt ! test/jdk/java/util/regex/RegExTest.java Changeset: fee69bab Author: Roger Riggs Date: 2020-03-12 11:54:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/fee69bab 8240704: CheckHandles.java failed "AssertionError: Handle use increased by more than 10 percent." Reviewed-by: dfuchs ! test/jdk/java/lang/ProcessBuilder/checkHandles/CheckHandles.java Changeset: c68e15c0 Author: Roger Riggs Date: 2020-03-12 11:57:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c68e15c0 8240957: Clarify BadAttributeValueExpException readObject method Reviewed-by: bpb ! src/java.management/share/classes/javax/management/BadAttributeValueExpException.java Changeset: 90a39195 Author: Yumin Qi Date: 2020-03-12 09:07:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/90a39195 8240563: [TESTBUG] WB_IsCDSIncludedInVmBuild should support uncompressed oops/klasses With 8232069, CDS works with uncompressed oops/kalsses, detecting CDS code no longer bases on the two flags. Reviewed-by: iklam ! src/hotspot/share/prims/whitebox.cpp ! test/hotspot/jtreg/ProblemList-zgc.txt ! test/hotspot/jtreg/runtime/cds/appcds/CommandLineFlagComboNegative.java ! test/hotspot/jtreg/runtime/cds/appcds/TestZGCWithCDS.java Changeset: 70e730fd Author: Roman Kennke Date: 2020-03-12 17:52:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/70e730fd 8240872: Shenandoah: Avoid updating new regions from start of evacuation Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp Changeset: e5ab7011 Author: Roman Kennke Date: 2020-03-12 17:52:47 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e5ab7011 8240873: Shenandoah: Short-cut arraycopy barriers Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSetClone.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Changeset: 0ed44d0a Author: Patrick Concannon Date: 2020-03-12 17:08:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0ed44d0a 8239355: (dc) Initial value of SO_SNDBUF should allow sending large datagrams (macOS) Updates DatagramChannel so that the SO_SNDBUF is set to a minimum value of 65527 for IPv6 sockets and 65507 for IPv4 sockets on macOS. Reviewed-by: alanb, dfuchs ! src/java.base/unix/native/libnio/ch/Net.c ! test/jdk/java/net/IPSupport/MinimumPermissions.policy + test/jdk/java/nio/channels/DatagramChannel/MinSendBufferSize.java ! test/lib/jdk/test/lib/net/IPSupport.java Changeset: 71e1277f Author: Zhengyu Gu Date: 2020-03-12 13:08:40 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/71e1277f 8240917: Shenandoah: Avoid scanning thread code roots twice in all root scanner Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp Changeset: de5208e3 Author: Patrick Concannon Date: 2020-03-12 17:20:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/de5208e3 Merge Changeset: 3ee99ca1 Author: Aleksey Shipilev Date: 2020-03-12 18:50:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3ee99ca1 8240948: Shenandoah: cleanup not-forwarded-objects paths after JDK-8240868 Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp Changeset: 58337b12 Author: Daniel Fuchs Date: 2020-03-12 18:31:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/58337b12 8059309: network tests fail with "java.net.SocketException: Couldn't obtain phys addr" when run as "root" The solaris specific code is changed to use the fallback mechanism if the DLPI interface returns an error indicating that the operation is unsupported. In addition, NetworkInterface::getHardwareAddress is changed to always return null for the loopback interface. Reviewed-by: alanb ! src/java.base/share/classes/java/net/NetworkInterface.java ! src/java.base/unix/native/libnet/NetworkInterface.c + test/jdk/java/net/NetworkInterface/NullMacAddress.java Changeset: 3aceb74a Author: Magnus Ihse Bursie Date: 2020-03-12 19:40:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3aceb74a 8240947: Change conflicting JVM features from warning to error Reviewed-by: erikj ! make/autoconf/jvm-features.m4 Changeset: ed8c11e0 Author: Magnus Ihse Bursie Date: 2020-03-12 19:42:06 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ed8c11e0 8149110: Introduce DISABLED_WARNINGS for Java compilation Reviewed-by: erikj ! make/CompileDemos.gmk ! make/CompileInterimLangtools.gmk ! make/CompileInterimRmic.gmk ! make/CompileJavaModules.gmk ! make/CompileModuleTools.gmk ! make/CompileToolsJdk.gmk ! make/common/JavaCompilation.gmk ! make/common/SetupJavaCompilers.gmk ! make/hotspot/gensrc/GensrcJfr.gmk ! make/hotspot/gensrc/GensrcJvmti.gmk ! make/hotspot/ide/CreateVSProject.gmk ! make/test/BuildFailureHandler.gmk ! make/test/BuildMicrobenchmark.gmk ! make/test/JtregGraalUnit.gmk Changeset: 36fac8c3 Author: Magnus Ihse Bursie Date: 2020-03-12 19:43:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/36fac8c3 8240950: Missing AC_SUBST after JDK-82408 Reviewed-by: erikj ! make/autoconf/build-performance.m4 Changeset: d5d6dc0c Author: Mandy Chung Date: 2020-03-12 11:54:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d5d6dc0c 8228336: Refactor native library loading implementation Reviewed-by: alanb, dholmes ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/nativeLookup.cpp - src/java.base/macosx/classes/java/lang/ClassLoaderHelper.java + src/java.base/macosx/classes/jdk/internal/loader/ClassLoaderHelper.java ! src/java.base/share/classes/java/lang/ClassLoader.java ! src/java.base/share/classes/java/lang/Runtime.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 + src/java.base/share/classes/jdk/internal/loader/NativeLibraries.java + src/java.base/share/classes/jdk/internal/loader/NativeLibrary.java ! src/java.base/share/native/libjava/ClassLoader.c + src/java.base/share/native/libjava/NativeLibraries.c - src/java.base/unix/classes/java/lang/ClassLoaderHelper.java + src/java.base/unix/classes/jdk/internal/loader/ClassLoaderHelper.java = src/java.base/windows/classes/jdk/internal/loader/ClassLoaderHelper.java ! test/jdk/java/lang/ClassLoader/LibraryPathProperty.java Changeset: e9494f21 Author: Mandy Chung Date: 2020-03-12 11:56:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e9494f21 8240242: improve the javadoc for Lookup::dropLookupModes w.r.t. dropping UNCONDITIONAL Reviewed-by: chegar, rriggs ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java Changeset: e30b89e1 Author: Junyuan Zheng Committer: Erik Joelsson Date: 2020-03-12 12:55:19 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e30b89e1 8240972: macOS codesign fail on macOS 10.13.5 or older Reviewed-by: erikj, ihse ! make/autoconf/basic_tools.m4 Changeset: 5bc78c43 Author: Jonathan Gibbons Date: 2020-03-12 13:56:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5bc78c43 8240971: Fix CSS styles in some doc comments Reviewed-by: mchung ! src/java.base/share/classes/module-info.java ! src/java.management.rmi/share/classes/module-info.java ! src/java.se/share/classes/module-info.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css ! src/jdk.jconsole/share/classes/module-info.java Changeset: 2eaeb206 Author: Jonathan Gibbons Date: 2020-03-12 14:14:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2eaeb206 8240555: Using env of JAVA_TOOL_OPTIONS and _JAVA_OPTIONS breaks QuietOption.java test Reviewed-by: shurailine, prappo ! test/langtools/jdk/javadoc/tool/QuietOption.java Changeset: 0610992a Author: Valerie Peng Date: 2020-03-12 22:11:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0610992a 8238566: java.security.Provider$Service.supportsParameter() is racy Use double-checked-locking pattern inside the hasKeyAttributes() method Reviewed-by: xuelei ! src/java.base/share/classes/java/security/Provider.java Changeset: 38940d16 Author: Calvin Cheung Date: 2020-03-12 16:05:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/38940d16 8238000: Crash in ClassLoader::record_result while dynamic dumping netty Make a copy of the _shared_path_table for use during dynamic CDS dump. Reviewed-by: iklam, minqi ! src/hotspot/share/memory/dynamicArchive.cpp ! src/hotspot/share/memory/filemap.cpp ! src/hotspot/share/memory/filemap.hpp ! src/hotspot/share/memory/metaspaceShared.cpp Changeset: a8b48018 Author: Jie Fu Date: 2020-03-13 17:01:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a8b48018 8240846: Zero VM is broken after JDK-8238681: UseSSE not defined Reviewed-by: shade, rehn, vlivanov ! src/hotspot/share/compiler/compileBroker.cpp Changeset: 2a35bc5a Author: Roland Westrelin Date: 2020-03-11 10:32:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2a35bc5a 8240854: [REDO] some jaotc failures of fastdebug build with specific flags Reviewed-by: vlivanov, kvn, thartmann ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/subtypenode.cpp + test/hotspot/jtreg/compiler/types/TestSubTypeOfAsbtractClassWrongResult.java Changeset: 05c539c9 Author: Weijun Wang Date: 2020-03-13 17:45:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/05c539c9 8240980: Backout JDK-8240261 Reviewed-by: dholmes ! make/gensrc/Gensrc-java.base.gmk ! make/jdk/src/classes/build/tools/intpoly/FieldGen.java + make/jdk/src/classes/build/tools/intpoly/header.txt - make/jdk/src/classes/build/tools/util/Header.java Changeset: ae8bc600 Author: duke Date: 2020-03-13 11:00:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ae8bc600 Automatic merge of jdk:master into master Changeset: af93b670 Author: duke Date: 2020-03-13 11:02:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/af93b670 Automatic merge of master into foreign-memaccess ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/module-info.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/module-info.java From duke at openjdk.java.net Fri Mar 13 11:57:36 2020 From: duke at openjdk.java.net (J.Duke) Date: Fri, 13 Mar 2020 11:57:36 GMT Subject: [foreign-abi] RFR: Cannot automatically merge openjdk/panama-foreign:foreign-memaccess to foreign-abi In-Reply-To: References: Message-ID: On Thu, 12 Mar 2020 17:37:05 GMT, J. Duke wrote: > The following commits from foreign-memaccess could *not* be automatically merged into foreign-abi: > > - a5399004: 8240874: Add finer-grained access control for memory segments > > The following files contains merge conflicts: > > - src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java > > To manually resolve these merge conflicts, please create a personal fork of https://git.openjdk.java.net/panama-foreign > and execute the following commands: > $ git checkout foreign-abi > $ git pull https://git.openjdk.java.net/panama-foreign foreign-abi > $ git checkout --branch merge-foreign-memaccess-into-foreign-abi > $ git pull https://git.openjdk.java.net/panama-foreign foreign-memaccess > > When you have resolved the conflicts resulting from the above commands, run: > > $ git add paths/to/files/with/conflicts > $ git commit -m 'Merge foreign-memaccess' > > Push the merge commit to your personal fork: > > $ git push -u origin merge-foreign-memaccess-into-foreign-abi > > Now proceed to create a pull request towards this repository. > If you are using the [Skara](https://wiki.openjdk.java.net/display/skara#Skara-Skara)CLI tooling then you can run the > following command to create the pull request: > $ git pr create > > This pull request will be closed automatically by a bot once the merge conflicts have been resolved. Merge conflicts have been resolved, closing this PR ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/46 From duke at openjdk.java.net Fri Mar 13 12:05:19 2020 From: duke at openjdk.java.net (J.Duke) Date: Fri, 13 Mar 2020 12:05:19 GMT Subject: [foreign-abi] RFR: Cannot automatically merge openjdk/panama-foreign:foreign-memaccess to foreign-abi Message-ID: Could *not* automatically merge 109 commits from foreign-memaccess into foreign-abi. The following files contains merge conflicts: - src/java.base/share/classes/java/lang/ClassLoader.java - src/java.base/share/classes/java/lang/Runtime.java - src/java.base/share/classes/java/lang/System.java - src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java - src/java.base/share/native/libjava/ClassLoader.c - src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java To manually resolve these merge conflicts, please create a personal fork of https://git.openjdk.java.net/panama-foreign and execute the following commands: $ git checkout foreign-abi $ git pull https://git.openjdk.java.net/panama-foreign foreign-abi $ git checkout --branch merge-foreign-memaccess-into-foreign-abi $ git pull https://git.openjdk.java.net/panama-foreign foreign-memaccess When you have resolved the conflicts resulting from the above commands, run: $ git add paths/to/files/with/conflicts $ git commit -m 'Merge foreign-memaccess' Push the merge commit to your personal fork: $ git push -u origin merge-foreign-memaccess-into-foreign-abi Now proceed to create a pull request towards this repository. If you are using the [Skara](https://wiki.openjdk.java.net/display/skara#Skara-Skara)CLI tooling then you can run the following command to create the pull request: $ git pr create This pull request will be closed automatically by a bot once the merge conflicts have been resolved. ------------- Commit messages: - Automatic merge of master into foreign-memaccess - Automatic merge of jdk:master into master - 8240980: Backout JDK-8240261 - 8240874: Add finer-grained access control for memory segments - 8240854: [REDO] some jaotc failures of fastdebug build with specific flags - 8240846: Zero VM is broken after JDK-8238681: UseSSE not defined - 8238000: Crash in ClassLoader::record_result while dynamic dumping netty - 8238566: java.security.Provider$Service.supportsParameter() is racy - 8240555: Using env of JAVA_TOOL_OPTIONS and _JAVA_OPTIONS breaks QuietOption.java test - 8240971: Fix CSS styles in some doc comments - 8240972: macOS codesign fail on macOS 10.13.5 or older - 8240242: improve the javadoc for Lookup::dropLookupModes w.r.t. dropping UNCONDITIONAL - 8228336: Refactor native library loading implementation - 8240950: Missing AC_SUBST after JDK-82408 - 8149110: Introduce DISABLED_WARNINGS for Java compilation - 8240947: Change conflicting JVM features from warning to error - 8059309: network tests fail with "java.net.SocketException: Couldn't obtain phys addr" when run as "root" - 8240948: Shenandoah: cleanup not-forwarded-objects paths after JDK-8240868 - Merge - 8240917: Shenandoah: Avoid scanning thread code roots twice in all root scanner - 8239355: (dc) Initial value of SO_SNDBUF should allow sending large datagrams (macOS) - 8240873: Shenandoah: Short-cut arraycopy barriers - 8240872: Shenandoah: Avoid updating new regions from start of evacuation - 8240563: [TESTBUG] WB_IsCDSIncludedInVmBuild should support uncompressed oops/klasses - 8240957: Clarify BadAttributeValueExpException readObject method - 8240704: CheckHandles.java failed "AssertionError: Handle use increased by more than 10 percent." - 8216332: Grapheme regex does not work with emoji sequences - 8239785: Cgroups: Incorrect detection logic on old systems in hotspot - 8238696: x86: Enumerate all detected CPU features in VM_Version feature string - 8240915: Shenandoah: Remove unused fields in init mark tasks - 8240831: [JVMCI] Export missing vmStructs entries used by JVMCI compilers - 8240669: Devirtualize Relocation::type - 8240772: x86_64: Pre-generate Assembler::popa, pusha and vzeroupper - 8234146: compiler/jsr292/ContinuousCallSiteTargetChange.java times out on SPARC - 8240261: Use make/templates/gpl-cp-header in FieldGen.java - 8225216: gc/logging/TestMetaSpaceLog.java doesn't work for Shenandoah - 8240548: [TESTBUG] CDS NoClassToArchive.java fails with Graal - Added tag jdk-15+14 for changeset 1d6ceb13e142 - 8234624: jstack mixed mode should refer DWARF - 8240138: Cleanup HtmlTree - 8240866: Typo in JDK-8240820 messes up configure --help - 8240340: java/lang/management/ThreadMXBean/Locks.java is buggy - 8240881: [BACKOUT] 8222489 jcmd VM.system_properties gives unusable paths on Windows - 8239487: Better links generation for system properties found in HTML files - 8230117: Remove unused JAR tool classes - 8239798: SSLSocket closes socket both socket endpoints on a SocketTimeoutException - Merge - 8240868: Shenandoah: remove CM-with-UR piggybacking cycles - 8240524: Remove explicit type argument in test jdk/java/lang/Boolean/MakeBooleanComparable.java - 8240829: Use a fast O(1) algorithm for exact_log2 - 8240615: is_power_of_2() has Undefined Behaviour and is inconsistent - 8240532: heap inspection prints trailing @ after name of module without version - 8240529: CheckUnhandledOops breaks NULL check in Modules::define_module - 8240530: CheckUnhandledOops breaks BacktraceBuilder::set_has_hidden_top_frame - 8237566: FindTests.gmk should only include existing TEST.ROOT files - 8240820: Replace AC_ARG_ENABLE with UTIL_ARG_ENABLE - 8240725: Some functions might not work with CJK character - 8239928: ec/ECDSAJavaVerify.java failed due to timeout - 8222489: jcmd VM.system_properties gives unusable paths on Windows - 8235216: typo in test filename - 8240697: convert builders to high-level Content blocks - 8240830: [BACKOUT] 8240195: some jaotc failures of fastdebug build with specific flags - 8240840: Rollback whitebox.cpp in push 8240691 - 8240610: [JVMCI] Export VMVersion::_has_intel_jcc_erratum to JVMCI compiler - 8240691: ClhsdbCDSJstackPrintAll incorrectly thinks CDS is in use - 8239009: C2: Don't use PSHUF to load scalars from memory on x86 - 8239008: C2: Simplify Replicate support for sub-word types on x86 - 8238681: Make -XX:UseSSE flag x86-specific - 8240778: JFR: Create timer task lazily - 8240195: some jaotc failures of fastdebug build with specific flags - 8240734: ModuleHashes attribute not reproducible between builds - 8238180: RunThese30M failed "assert(t->jfr_thread_local()->shelved_buffer() == __null) failed: invariant" - 8238740: java/net/httpclient/whitebox/FlowTestDriver.java would not specify a TLS protocol - 8240668: G1 list of all PerRegionTable does not have to be a double linkedlist any more - 8240794: [BACKOUT] 8238384 CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found" - 8230853: Shenandoah: replace leftover assert(is_in(...)) with rich asserts - 8240750: Shenandoah: remove leftover files and mentions of ShenandoahAllocTracker - 8240749: Shenandoah: refactor ShenandoahUtils - 8239584: EventStream::close should state that stream will be stopped - 8222000: JFR: Process start event - 8239836: ZoneRules.of() doesn't check transitionList/standardOffsetTL arguments validity - 8240754: Instrument FlowTest.java to provide more debug traces - 8240629: argfiles parsing broken for argfiles with comment cross 4096 bytes chunk - 8240576: JVM crashes after transformation in C2 IdealLoopTree::merge_many_backedges - 8240738: nested comment in JVM.java and other minor formatting errors - 8240295: hs_err elapsed time in seconds is not accurate enough - 8220503: Move ShenandoahTerminatorTerminator::should_exit_termination out of header - 8239335: C2: assert((Value(phase) == t) || (t != TypeInt::CC_GT && t != TypeInt::CC_EQ)) failed: missing Value() optimization - 8240722: [BACKOUT] G1DirtyCardQueue destructor has useless flush - 8240686: 70 security tests are failing on Windows due to "Fetch artifact failed" - 8240613: InstanceKlass::set_init_state failed with assert(good_state || state == allocated) - 8240133: G1DirtyCardQueue destructor has useless flush - 8239965: XMLEncoder/Test4625418.java fails due to "Error: Cp943 - can't read properly" - 8239514: Build for arm-linux-gnueabihf fails with undefined reference read_polling_page - 8238579: HttpsURLConnection drops the timeout and hangs forever in read - 8240695: Build is broken when cds is disabled after JDK-8232081 - 8240137: Support chained use of Content.add - 8240535: Add additional linux-aarch64 jib profiles - 8240239: Replace ConcurrentGCPhaseManager - 8232081: Try to link all classes during dynamic CDS dump - 8240315: Shenandoah: Rename ShLBN::get_barrier_strength() - 8239893: Windows handle Leak when starting processes using ProcessBuilder - 4617266: (se spec) SelectionKey.OP_READ/OP_WRITE documentation errors - 8240684: ProblemList 70 security tests that are failing on Windows due to "Fetch artifact failed" - 8240671: Shenandoah: refactor ShenandoahPhaseTimings - 8240189: [TESTBUG] Some cgroup tests are failing after JDK-8231111 - 8240440: Implement get_safepoint_workers() for parallel GC - 8240592: HeapRegionManager::rebuild_free_list logs 0s for the estimated free regions before - 8236981: Remove ShenandoahTraversalUpdateRefsClosure Changes: https://git.openjdk.java.net/panama-foreign/pull/49/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/49/webrev.00 Stats: 16200 lines in 363 files changed: 8030 ins; 6195 del; 1975 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/49.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/49/head:pull/49 PR: https://git.openjdk.java.net/panama-foreign/pull/49 From mcimadamore at openjdk.java.net Fri Mar 13 12:45:47 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Fri, 13 Mar 2020 12:45:47 GMT Subject: [foreign-abi] RFR: Merge openjdk/panama-foreign:foreign-memaccess Message-ID: Merge with foreign-memaccess. Please make sure these changes work on Windows. ------------- Commit messages: - Merge with foreign-memaccess - Automatic merge of master into foreign-memaccess - Automatic merge of jdk:master into master - 8240980: Backout JDK-8240261 - 8240874: Add finer-grained access control for memory segments - 8240854: [REDO] some jaotc failures of fastdebug build with specific flags - 8240846: Zero VM is broken after JDK-8238681: UseSSE not defined - 8238000: Crash in ClassLoader::record_result while dynamic dumping netty - 8238566: java.security.Provider$Service.supportsParameter() is racy - 8240555: Using env of JAVA_TOOL_OPTIONS and _JAVA_OPTIONS breaks QuietOption.java test - 8240971: Fix CSS styles in some doc comments - 8240972: macOS codesign fail on macOS 10.13.5 or older - 8240242: improve the javadoc for Lookup::dropLookupModes w.r.t. dropping UNCONDITIONAL - 8228336: Refactor native library loading implementation - 8240950: Missing AC_SUBST after JDK-82408 - 8149110: Introduce DISABLED_WARNINGS for Java compilation - 8240947: Change conflicting JVM features from warning to error - 8059309: network tests fail with "java.net.SocketException: Couldn't obtain phys addr" when run as "root" - 8240948: Shenandoah: cleanup not-forwarded-objects paths after JDK-8240868 - Merge - 8240917: Shenandoah: Avoid scanning thread code roots twice in all root scanner - 8239355: (dc) Initial value of SO_SNDBUF should allow sending large datagrams (macOS) - 8240873: Shenandoah: Short-cut arraycopy barriers - 8240872: Shenandoah: Avoid updating new regions from start of evacuation - 8240563: [TESTBUG] WB_IsCDSIncludedInVmBuild should support uncompressed oops/klasses - 8240957: Clarify BadAttributeValueExpException readObject method - 8240704: CheckHandles.java failed "AssertionError: Handle use increased by more than 10 percent." - 8216332: Grapheme regex does not work with emoji sequences - 8239785: Cgroups: Incorrect detection logic on old systems in hotspot - 8238696: x86: Enumerate all detected CPU features in VM_Version feature string - 8240915: Shenandoah: Remove unused fields in init mark tasks - 8240831: [JVMCI] Export missing vmStructs entries used by JVMCI compilers - 8240669: Devirtualize Relocation::type - 8240772: x86_64: Pre-generate Assembler::popa, pusha and vzeroupper - 8234146: compiler/jsr292/ContinuousCallSiteTargetChange.java times out on SPARC - 8240261: Use make/templates/gpl-cp-header in FieldGen.java - 8225216: gc/logging/TestMetaSpaceLog.java doesn't work for Shenandoah - 8240548: [TESTBUG] CDS NoClassToArchive.java fails with Graal - Added tag jdk-15+14 for changeset 1d6ceb13e142 - 8234624: jstack mixed mode should refer DWARF - 8240138: Cleanup HtmlTree - 8240866: Typo in JDK-8240820 messes up configure --help - 8240340: java/lang/management/ThreadMXBean/Locks.java is buggy - 8240881: [BACKOUT] 8222489 jcmd VM.system_properties gives unusable paths on Windows - 8239487: Better links generation for system properties found in HTML files - 8230117: Remove unused JAR tool classes - 8239798: SSLSocket closes socket both socket endpoints on a SocketTimeoutException - Merge - 8240868: Shenandoah: remove CM-with-UR piggybacking cycles - 8240524: Remove explicit type argument in test jdk/java/lang/Boolean/MakeBooleanComparable.java - 8240829: Use a fast O(1) algorithm for exact_log2 - 8240615: is_power_of_2() has Undefined Behaviour and is inconsistent - 8240532: heap inspection prints trailing @ after name of module without version - 8240529: CheckUnhandledOops breaks NULL check in Modules::define_module - 8240530: CheckUnhandledOops breaks BacktraceBuilder::set_has_hidden_top_frame - 8237566: FindTests.gmk should only include existing TEST.ROOT files - 8240820: Replace AC_ARG_ENABLE with UTIL_ARG_ENABLE - 8240725: Some functions might not work with CJK character - 8239928: ec/ECDSAJavaVerify.java failed due to timeout - 8222489: jcmd VM.system_properties gives unusable paths on Windows - 8235216: typo in test filename - 8240697: convert builders to high-level Content blocks - 8240830: [BACKOUT] 8240195: some jaotc failures of fastdebug build with specific flags - 8240840: Rollback whitebox.cpp in push 8240691 - 8240610: [JVMCI] Export VMVersion::_has_intel_jcc_erratum to JVMCI compiler - 8240691: ClhsdbCDSJstackPrintAll incorrectly thinks CDS is in use - 8239009: C2: Don't use PSHUF to load scalars from memory on x86 - 8239008: C2: Simplify Replicate support for sub-word types on x86 - 8238681: Make -XX:UseSSE flag x86-specific - 8240778: JFR: Create timer task lazily - 8240195: some jaotc failures of fastdebug build with specific flags - 8240734: ModuleHashes attribute not reproducible between builds - 8238180: RunThese30M failed "assert(t->jfr_thread_local()->shelved_buffer() == __null) failed: invariant" - 8238740: java/net/httpclient/whitebox/FlowTestDriver.java would not specify a TLS protocol - 8240668: G1 list of all PerRegionTable does not have to be a double linkedlist any more - 8240794: [BACKOUT] 8238384 CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found" - 8230853: Shenandoah: replace leftover assert(is_in(...)) with rich asserts - 8240750: Shenandoah: remove leftover files and mentions of ShenandoahAllocTracker - 8240749: Shenandoah: refactor ShenandoahUtils - 8239584: EventStream::close should state that stream will be stopped - 8222000: JFR: Process start event - 8239836: ZoneRules.of() doesn't check transitionList/standardOffsetTL arguments validity - 8240754: Instrument FlowTest.java to provide more debug traces - 8240629: argfiles parsing broken for argfiles with comment cross 4096 bytes chunk - 8240576: JVM crashes after transformation in C2 IdealLoopTree::merge_many_backedges - 8240738: nested comment in JVM.java and other minor formatting errors - 8240295: hs_err elapsed time in seconds is not accurate enough - 8220503: Move ShenandoahTerminatorTerminator::should_exit_termination out of header - 8239335: C2: assert((Value(phase) == t) || (t != TypeInt::CC_GT && t != TypeInt::CC_EQ)) failed: missing Value() optimization - 8240722: [BACKOUT] G1DirtyCardQueue destructor has useless flush - 8240686: 70 security tests are failing on Windows due to "Fetch artifact failed" - 8240613: InstanceKlass::set_init_state failed with assert(good_state || state == allocated) - 8240133: G1DirtyCardQueue destructor has useless flush - 8239965: XMLEncoder/Test4625418.java fails due to "Error: Cp943 - can't read properly" - 8239514: Build for arm-linux-gnueabihf fails with undefined reference read_polling_page - 8238579: HttpsURLConnection drops the timeout and hangs forever in read - 8240695: Build is broken when cds is disabled after JDK-8232081 - 8240137: Support chained use of Content.add - 8240535: Add additional linux-aarch64 jib profiles - 8240239: Replace ConcurrentGCPhaseManager - 8232081: Try to link all classes during dynamic CDS dump - 8240315: Shenandoah: Rename ShLBN::get_barrier_strength() - 8239893: Windows handle Leak when starting processes using ProcessBuilder - 4617266: (se spec) SelectionKey.OP_READ/OP_WRITE documentation errors - 8240684: ProblemList 70 security tests that are failing on Windows due to "Fetch artifact failed" - 8240671: Shenandoah: refactor ShenandoahPhaseTimings - 8240189: [TESTBUG] Some cgroup tests are failing after JDK-8231111 - 8240440: Implement get_safepoint_workers() for parallel GC - 8240592: HeapRegionManager::rebuild_free_list logs 0s for the estimated free regions before - 8236981: Remove ShenandoahTraversalUpdateRefsClosure Changes: https://git.openjdk.java.net/panama-foreign/pull/50/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/50/webrev.00 Stats: 16141 lines in 357 files changed: 7886 ins; 6305 del; 1950 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/50.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/50/head:pull/50 PR: https://git.openjdk.java.net/panama-foreign/pull/50 From jvernee at openjdk.java.net Fri Mar 13 13:29:57 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Fri, 13 Mar 2020 13:29:57 GMT Subject: [foreign-abi] RFR: Merge openjdk/panama-foreign:foreign-memaccess In-Reply-To: References: Message-ID: On Fri, 13 Mar 2020 12:39:11 GMT, Maurizio Cimadamore wrote: > Merge with foreign-memaccess. Please make sure these changes work on Windows. jdk_foreign tests pass on my Windows machine ------------- Marked as reviewed by jvernee (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/50 From mcimadamore at openjdk.java.net Fri Mar 13 14:12:58 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Fri, 13 Mar 2020 14:12:58 GMT Subject: [foreign-abi] [Rev 01] RFR: Merge openjdk/panama-foreign:foreign-memaccess In-Reply-To: References: Message-ID: > Merge with foreign-memaccess. Please make sure these changes work on Windows. Maurizio Cimadamore has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 84 commits: - Merge with foreign-memaccess - 8240874: Add finer-grained access control for memory segments (#47) Reviewed-by: psandoz, jvernee Co-authored-by: Maurizio Cimadamore - Automatic merge of foreign-memaccess into foreign-abi - Automatic merge of foreign-memaccess into foreign-abi - 8240173: Confusing overflow error when trying to dereference a nothing segment Reviewed-by: psandoz - 8239784: Circular initialization causes C_XXX constants to be null Reviewed-by: sundar - Automatic merge of foreign-memaccess into foreign-abi - 8239345: need an enum for standard C types and a way to get a memory layout for those C types Reviewed-by: jvernee, mcimadamore - Automatic merge of foreign-memaccess into foreign-abi - Automatic merge of foreign-memaccess into foreign-abi - 8238192: Reimplement MemoryAddress memory access handles on top of var handle combinators Reviewed-by: jvernee - 8238226: Revisit FunctionDescriptor 8237580: Add a method for transforming varargs FunctionDescriptors into fixed-arity ones Reviewed-by: mcimadamore - Merge Manual merge of foreign-memaccess into foreign-abi Reviewed-by: mcimadamore - 8238837: AArch64: TestUpcall failures after JDK-8237358 Reviewed-by: jvernee - 8237359: Clean up Binding 8238227: The COPY_BUFFER operator should take a MemoryLayout 8238235: Add extensive documentation to Binding Reviewed-by: mcimadamore - Automatic merge of foreign-memaccess into foreign-abi - Automatic merge of foreign-memaccess into foreign-abi - 8237360: Add tests that test binding recipe generation directly Reviewed-by: mcimadamore - Merge remote-tracking branch 'remotes/origin/foreign-memaccess' into foreign-abi - Manual merge with foreign-memaccess - 8238217: panama fails to build because of use of x87 instructions in 64 bit mode Reviewed-by: mcimadamore, vlivanov - Automatic merge with foreign-memaccess - Automatic merge with foreign-memaccess - 8237357: Add verification code for binding recipes Reviewed-by: mcimadamore - Automatic merge with foreign-memaccess - 8237358: Split the DEREFERENCE binding operator into a load/store + move Reviewed-by: mcimadamore - 8237899: Add support for scoped allocation Changes: * Made AllocationScope::sp private * fix spurious alignment in copyright header in TestAllocationScope Reviewed-by: jvernee, sundar - 8237899: Add support for scoped allocation Reviewed-by: jvernee - 8237356: Refactor shared code in CallArranger Reviewed-by: mcimadamore - 8237762: Add platform dependent MemoryLayout constants Reviewed-by: forax, mcimadamore - 8237761: Add way to determine the current ABI Reviewed-by: mcimadamore - Manual merge with foreign-memaccess - Automatic merge with foreign-memaccess - 8237351: Add method to SystemABI for explicitly freeing upcall stubs Reviewed-by: mcimadamore - Manual merge with foreign-memaccess - Automatic merge with foreign-memaccess - Automatic merge with foreign-memaccess - Automatic merge with foreign-memaccess - Manual merge with foreign-memaccess - Manual merge with foreign-memaccess - Automatic merge with foreign-memaccess - 8236453: Test for wrong memory address value Reviewed-by: mcimadamore - 8236454: Use MethodHandle.linkToStatic to call MemoryAddress.ofLong Reviewed-by: mcimadamore - Automatic merge with foreign-memaccess - Automatic merge with foreign-memaccess - Automatic merge with foreign-memaccess - 8236004: Memory access var handles should support MemoryAddress carrier Reviewed-by: psandoz, jvernee - Automatic merge with foreign-memaccess - Manual merge with foreign-memaccess - 8235258: Add support for empty segments and rebased addresses Reviewed-by: jvernee - Manual merge with foreign-memaccess - Manual merge with foreign-memaccess - Manual merge with foreign-memaccess - Manual merge with foreign-memacess - Automatic merge with foreign-memaccess - Automatic merge with foreign-memaccess - Manual merge with foreign-memaccess - 8233317: Add the ProgrammableInvoker Contributed-by: jvernee, mcimadamore, Nick Gasson Reviewed-by: mcimadamore - 8232907: NPE in FunctionDescriptor::hashCode for function without return type (void) Reviewed-by: mcimadamore - 8232628: foreign-abi usability issues Reviewed-by: jvernee - Manual merge with foreign-memaccess - Automatic merge with foreign-memaccess - Automatic merge with foreign-memaccess - Manual merge with foreign-memaccess - Automatic merge with foreign-memaccess - Automatic merge with foreign-memaccess - Automatic merge with foreign-memaccess - 8230806: Use libTestUpcall in TestUpcall Reviewed-by: mcimadamore - Automatic merge with foreign-memaccess - 8229918: Fix clash between recent CallingSequenceTest patch and Windows varargs support patch Reviewed-by: henryjen, nick.gasson at arm.com - Automatic merge with foreign-memaccess - Automatic merge with foreign-memaccess - [foreign-abi] 8228762: import CallingSequenceBuilder unit tests Reviewed-by: mcimadamore, jvernee - 8228509: Add support for binding varargs functions on Windows Reviewed-by: mcimadamore - Automatic merge with foreign-memaccess - Automatic merge with foreign-memaccess - 8228486: Add ABI-specific layout constants - Manual merge with foreign-memaccess - Manual merge with foreign-memaccess - 8227718: Add support for SystemABI Initial push - Automatic merge with foreign-memaccess - Automatic merge with foreign-memaccess - Add dependency file for branch foreign-abi - Create foreign-abi branch ------------- Changes: https://git.openjdk.java.net/panama-foreign/pull/50/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/50/webrev.01 Stats: 59469 lines in 102 files changed: 59369 ins; 36 del; 64 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/50.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/50/head:pull/50 PR: https://git.openjdk.java.net/panama-foreign/pull/50 From duke at openjdk.java.net Fri Mar 13 14:13:42 2020 From: duke at openjdk.java.net (J.Duke) Date: Fri, 13 Mar 2020 14:13:42 GMT Subject: [foreign-abi] [Rev 01] RFR: Cannot automatically merge openjdk/panama-foreign:foreign-memaccess to foreign-abi In-Reply-To: References: Message-ID: > Could *not* automatically merge 109 commits from foreign-memaccess into foreign-abi. > The following files contains merge conflicts: > > - src/java.base/share/classes/java/lang/ClassLoader.java > - src/java.base/share/classes/java/lang/Runtime.java > - src/java.base/share/classes/java/lang/System.java > - src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java > - src/java.base/share/native/libjava/ClassLoader.c > - src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java > > To manually resolve these merge conflicts, please create a personal fork of https://git.openjdk.java.net/panama-foreign > and execute the following commands: > $ git checkout foreign-abi > $ git pull https://git.openjdk.java.net/panama-foreign foreign-abi > $ git checkout --branch merge-foreign-memaccess-into-foreign-abi > $ git pull https://git.openjdk.java.net/panama-foreign foreign-memaccess > > When you have resolved the conflicts resulting from the above commands, run: > > $ git add paths/to/files/with/conflicts > $ git commit -m 'Merge foreign-memaccess' > > Push the merge commit to your personal fork: > > $ git push -u origin merge-foreign-memaccess-into-foreign-abi > > Now proceed to create a pull request towards this repository. > If you are using the [Skara](https://wiki.openjdk.java.net/display/skara#Skara-Skara)CLI tooling then you can run the > following command to create the pull request: > $ git pr create > > This pull request will be closed automatically by a bot once the merge conflicts have been resolved. J. Duke has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/49/files - new: https://git.openjdk.java.net/panama-foreign/pull/49/files/af93b670..af93b670 Webrevs: - full: https://webrevs.openjdk.java.net/panama-foreign/49/webrev.01 - incr: https://webrevs.openjdk.java.net/panama-foreign/49/webrev.00-01 Stats: 0 lines in 0 files changed: 0 ins; 0 del; 0 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/49.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/49/head:pull/49 PR: https://git.openjdk.java.net/panama-foreign/pull/49 From duke at openjdk.java.net Fri Mar 13 14:17:25 2020 From: duke at openjdk.java.net (duke) Date: Fri, 13 Mar 2020 14:17:25 GMT Subject: git: openjdk/panama-foreign: foreign-abi: 109 new changesets Message-ID: Changeset: a5399004 Author: Maurizio Cimadamore Date: 2020-03-12 17:36:15 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a5399004 8240874: Add finer-grained access control for memory segments Reviewed-by: psandoz, jvernee ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/Utils.java ! test/jdk/java/foreign/TestByteBuffer.java ! test/jdk/java/foreign/TestMemoryAccess.java ! test/jdk/java/foreign/TestSegments.java Changeset: 95a497ae Author: Aditya Mandaleeka Committer: Roman Kennke Date: 2020-03-06 13:41:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/95a497ae 8236981: Remove ShenandoahTraversalUpdateRefsClosure Reviewed-by: shade, rkennke ! src/hotspot/share/gc/shenandoah/shenandoahClosures.hpp ! src/hotspot/share/gc/shenandoah/shenandoahClosures.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Changeset: f0cd9dd5 Author: Ivan Walulya Date: 2020-03-06 14:10:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f0cd9dd5 8240592: HeapRegionManager::rebuild_free_list logs 0s for the estimated free regions before Reviewed-by: sjohanss, kbarrett ! src/hotspot/share/gc/g1/heapRegionManager.cpp Changeset: 14c09861 Author: Ralf Schmelter Date: 2020-03-06 16:19:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/14c09861 8240440: Implement get_safepoint_workers() for parallel GC Reviewed-by: tschatzl, kbarrett ! src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp Changeset: c92adf41 Author: Severin Gehwolf Date: 2020-02-24 19:03:34 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c92adf41 8240189: [TESTBUG] Some cgroup tests are failing after JDK-8231111 Reviewed-by: mbaesken, bobv ! test/jdk/jdk/internal/platform/docker/MetricsCpuTester.java ! test/jdk/jdk/internal/platform/docker/MetricsMemoryTester.java ! test/lib/jdk/test/lib/containers/cgroup/CgroupMetricsTester.java ! test/lib/jdk/test/lib/containers/cgroup/MetricsTesterCgroupV1.java ! test/lib/jdk/test/lib/containers/cgroup/MetricsTesterCgroupV2.java Changeset: d8bded6f Author: Aleksey Shipilev Date: 2020-03-06 17:03:42 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d8bded6f 8240671: Shenandoah: refactor ShenandoahPhaseTimings Reviewed-by: rkennke, zgu ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahStringDedup.cpp - src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.cpp - src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp Changeset: f87ebd9e Author: Sean Mullan Date: 2020-03-06 13:17:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f87ebd9e 8240684: ProblemList 70 security tests that are failing on Windows due to "Fetch artifact failed" Reviewed-by: xuelei, stsmirno, dcubed ! test/jdk/ProblemList.txt Changeset: e2f43191 Author: Brian Burkhalter Date: 2020-03-06 10:34:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e2f43191 4617266: (se spec) SelectionKey.OP_READ/OP_WRITE documentation errors Reviewed-by: lancea, alanb, darcy ! src/java.base/share/classes/java/nio/channels/SelectionKey.java Changeset: 375d0c13 Author: Roger Riggs Date: 2020-03-06 13:52:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/375d0c13 8239893: Windows handle Leak when starting processes using ProcessBuilder Reviewed-by: bpb, naoto ! src/java.base/windows/classes/java/lang/ProcessImpl.java + test/jdk/java/lang/ProcessBuilder/checkHandles/CheckHandles.java + test/jdk/java/lang/ProcessBuilder/checkHandles/libCheckHandles.c Changeset: 8c1204de Author: Roman Kennke Date: 2020-03-06 21:51:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8c1204de 8240315: Shenandoah: Rename ShLBN::get_barrier_strength() Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp Changeset: 9e2ab1e3 Author: Calvin Cheung Date: 2020-03-06 15:33:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9e2ab1e3 8232081: Try to link all classes during dynamic CDS dump During CDS dynamic dump, link all classes loaded by the builtin class loaders in JVM_BeforeHalt() and JavaThread::invoke_shutdown_hooks(). Reviewed-by: iklam, dholmes ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/runtime/thread.cpp + test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/LinkClassTest.java + test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/test-classes/LinkClassApp.java Changeset: 9f334a16 Author: Kim Barrett Date: 2020-03-06 18:42:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9f334a16 8240239: Replace ConcurrentGCPhaseManager Replace ConcurrentGCPhaseManager with ConcurrentGCBreakpoints Co-authored-by: Per Liden Reviewed-by: kbarrett, pliden, sangheki ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMarkThread.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMarkThread.hpp ! src/hotspot/share/gc/g1/g1Policy.cpp ! src/hotspot/share/gc/g1/g1VMOperations.cpp ! src/hotspot/share/gc/g1/g1VMOperations.hpp ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp + src/hotspot/share/gc/shared/concurrentGCBreakpoints.cpp + src/hotspot/share/gc/shared/concurrentGCBreakpoints.hpp - src/hotspot/share/gc/shared/concurrentGCPhaseManager.cpp - src/hotspot/share/gc/shared/concurrentGCPhaseManager.hpp ! src/hotspot/share/gc/shared/gcCause.cpp ! src/hotspot/share/gc/shared/gcCause.hpp + src/hotspot/share/gc/z/zBreakpoint.cpp + src/hotspot/share/gc/z/zBreakpoint.hpp ! src/hotspot/share/gc/z/zCollectedHeap.cpp ! src/hotspot/share/gc/z/zCollectedHeap.hpp ! src/hotspot/share/gc/z/zDriver.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp + test/hotspot/jtreg/gc/TestConcurrentGCBreakpoints.java + test/hotspot/jtreg/gc/TestJNIWeak/TestJNIWeak.java + test/hotspot/jtreg/gc/TestJNIWeak/libTestJNIWeak.c - test/hotspot/jtreg/gc/concurrent_phase_control/CheckControl.java - test/hotspot/jtreg/gc/concurrent_phase_control/CheckSupported.java - test/hotspot/jtreg/gc/concurrent_phase_control/CheckUnsupported.java - test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlG1.java - test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlG1Basics.java - test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlParallel.java - test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlSerial.java - test/hotspot/jtreg/gc/g1/TestJNIWeakG1/TestJNIWeakG1.java - test/hotspot/jtreg/gc/g1/TestJNIWeakG1/libTestJNIWeakG1.c ! test/lib/sun/hotspot/WhiteBox.java Changeset: c203cebc Author: Mikael Vidstedt Date: 2020-03-06 17:33:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c203cebc 8240535: Add additional linux-aarch64 jib profiles Reviewed-by: erikj ! make/conf/jib-profiles.js Changeset: c46623d0 Author: Jonathan Gibbons Date: 2020-03-06 18:03:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c46623d0 8240137: Support chained use of Content.add 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/Comment.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/Entity.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/FixedStringContent.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/RawHtml.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Script.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/StringContent.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/Content.java Changeset: f222cb8b Author: Jie Fu Date: 2020-03-07 14:42:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f222cb8b 8240695: Build is broken when cds is disabled after JDK-8232081 Reviewed-by: iklam ! src/hotspot/share/memory/metaspaceShared.hpp Changeset: ff8e7d40 Author: Vyom Tewari Date: 2020-03-07 18:35:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ff8e7d40 8238579: HttpsURLConnection drops the timeout and hangs forever in read HttpsURLConnection drops the timeout and hangs forever in read Reviewed-by: dfuchs ! src/java.base/share/classes/sun/net/www/protocol/https/AbstractDelegateHttpsURLConnection.java Changeset: d0e44e5b Author: Boris Ulasevich Date: 2020-03-07 16:27:00 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d0e44e5b 8239514: Build for arm-linux-gnueabihf fails with undefined reference read_polling_page Reviewed-by: dsamersoff, dholmes ! src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp ! src/hotspot/cpu/arm/macroAssembler_arm.cpp Changeset: 3d9dddd6 Author: Ichiroh Takiguchi Date: 2020-03-08 15:15:38 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3d9dddd6 8239965: XMLEncoder/Test4625418.java fails due to "Error: Cp943 - can't read properly" Cp943 and x-IBM943 should skip on XMLEncoder/Test4625418.java Reviewed-by: naoto ! test/jdk/ProblemList.txt ! test/jdk/java/beans/XMLEncoder/Test4625418.java Changeset: 7806ca14 Author: Kim Barrett Date: 2020-03-08 17:33:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7806ca14 8240133: G1DirtyCardQueue destructor has useless flush Removed useless call to flush. Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/g1/g1DirtyCardQueue.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp Changeset: 046dcdc0 Author: Ioi Lam Date: 2020-03-08 15:06:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/046dcdc0 8240613: InstanceKlass::set_init_state failed with assert(good_state || state == allocated) Reviewed-by: dcubed ! src/hotspot/share/classfile/systemDictionary.cpp Changeset: ba2e4178 Author: Rajan Halade Date: 2020-03-09 00:45:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ba2e4178 8240686: 70 security tests are failing on Windows due to "Fetch artifact failed" Reviewed-by: xuelei ! test/jdk/ProblemList.txt Changeset: 1c1fb44a Author: Kim Barrett Date: 2020-03-09 04:06:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1c1fb44a 8240722: [BACKOUT] G1DirtyCardQueue destructor has useless flush Backout JDK-8240133 Reviewed-by: sjohanss ! src/hotspot/share/gc/g1/g1DirtyCardQueue.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp Changeset: b58c8601 Author: Roland Westrelin Date: 2020-03-05 15:56:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b58c8601 8239335: C2: assert((Value(phase) == t) || (t != TypeInt::CC_GT && t != TypeInt::CC_EQ)) failed: missing Value() optimization Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/subtypenode.cpp + test/hotspot/jtreg/compiler/types/TestIntArraySubTypeOfCloneableDoesnotFold.java Changeset: 3ff8eff8 Author: Aditya Mandaleeka Committer: Roman Kennke Date: 2020-03-09 12:29:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3ff8eff8 8220503: Move ShenandoahTerminatorTerminator::should_exit_termination out of header Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.hpp Changeset: a11912ca Author: Kevin Walls Date: 2020-03-09 12:54:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a11912ca 8240295: hs_err elapsed time in seconds is not accurate enough Reviewed-by: dholmes, sspitsyn ! src/hotspot/share/runtime/os.cpp Changeset: e0fec43a Author: Mario Torre Date: 2020-03-09 14:57:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e0fec43a 8240738: nested comment in JVM.java and other minor formatting errors Reviewed-by: egahlin ! src/jdk.jfr/share/classes/jdk/jfr/internal/JVM.java Changeset: aa2be114 Author: Dongbo He Committer: Fei Yang Date: 2020-03-09 22:31:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/aa2be114 8240576: JVM crashes after transformation in C2 IdealLoopTree::merge_many_backedges Reviewed-by: kvn ! src/hotspot/share/opto/loopnode.cpp + test/hotspot/jtreg/compiler/loopopts/TestBeautifyLoops.java Changeset: dc178218 Author: Henry Jen Date: 2020-03-06 13:48:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/dc178218 8240629: argfiles parsing broken for argfiles with comment cross 4096 bytes chunk Reviewed-by: alanb, mchung ! src/java.base/share/native/libjli/args.c ! test/jdk/tools/launcher/ArgFileSyntax.java Changeset: 5c8f9356 Author: Daniel Fuchs Date: 2020-03-09 17:48:40 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5c8f9356 8240754: Instrument FlowTest.java to provide more debug traces Reviewed-by: chegar ! test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/FlowTest.java Changeset: 123ac070 Author: Naoto Sato Date: 2020-03-09 13:20:45 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/123ac070 8239836: ZoneRules.of() doesn't check transitionList/standardOffsetTL arguments validity Reviewed-by: rriggs, joehw, scolebourne ! src/java.base/share/classes/java/time/zone/ZoneRules.java ! test/jdk/java/time/test/java/time/zone/TestZoneRules.java Changeset: 672992f6 Author: Erik Gahlin Date: 2020-03-09 21:25:38 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/672992f6 8222000: JFR: Process start event Reviewed-by: mgronlun, rriggs ! src/java.base/share/classes/java/lang/ProcessBuilder.java + src/java.base/share/classes/jdk/internal/event/ProcessStartEvent.java + src/jdk.jfr/share/classes/jdk/jfr/events/ProcessStartEvent.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/jdk/jdk/jfr/event/metadata/TestDefaultConfigurations.java + test/jdk/jdk/jfr/event/os/TestProcessStart.java ! test/jdk/jdk/jfr/event/runtime/TestActiveSettingEvent.java ! test/lib/jdk/test/lib/jfr/EventNames.java Changeset: f09cda2c Author: Erik Gahlin Date: 2020-03-09 21:43:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f09cda2c 8239584: EventStream::close should state that stream will be stopped Reviewed-by: mgronlun, mseledtsov ! src/jdk.jfr/share/classes/jdk/jfr/consumer/EventStream.java ! src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordingStream.java Changeset: 2ba5ed53 Author: Aleksey Shipilev Date: 2020-03-09 22:40:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2ba5ed53 8240749: Shenandoah: refactor ShenandoahUtils Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! 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/shenandoahUtils.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp Changeset: 9722dfc9 Author: Aleksey Shipilev Date: 2020-03-09 22:41:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9722dfc9 8240750: Shenandoah: remove leftover files and mentions of ShenandoahAllocTracker Reviewed-by: rkennke - src/hotspot/share/gc/shenandoah/shenandoahAllocTracker.cpp - src/hotspot/share/gc/shenandoah/shenandoahAllocTracker.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.cpp Changeset: d112950b Author: Aditya Mandaleeka Committer: Aleksey Shipilev Date: 2020-03-09 22:41:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d112950b 8230853: Shenandoah: replace leftover assert(is_in(...)) with rich asserts Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegionSet.inline.hpp Changeset: 43e0165e Author: Roland Westrelin Date: 2020-03-10 10:45:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/43e0165e 8240794: [BACKOUT] 8238384 CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found" Reviewed-by: thartmann ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/gcm.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/macro.hpp ! src/hotspot/share/opto/macroArrayCopy.cpp ! src/hotspot/share/opto/type.hpp - test/hotspot/jtreg/compiler/escapeAnalysis/TestCopyOfBrokenAntiDependency.java Changeset: d49eb0d9 Author: Ivan Walulya Date: 2020-03-10 10:19:34 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d49eb0d9 8240668: G1 list of all PerRegionTable does not have to be a double linkedlist any more Reviewed-by: kbarrett, tschatzl ! src/hotspot/share/gc/g1/heapRegionRemSet.cpp ! src/hotspot/share/gc/g1/heapRegionRemSet.hpp ! src/hotspot/share/gc/g1/heapRegionRemSet.inline.hpp Changeset: edaf548b Author: John Jiang Date: 2020-03-10 21:43:46 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/edaf548b 8238740: java/net/httpclient/whitebox/FlowTestDriver.java would not specify a TLS protocol Reviewed-by: dfuchs ! test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/FlowTest.java Changeset: aac5b27b Author: Markus Gr?nlund Date: 2020-03-10 15:44:59 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/aac5b27b 8238180: RunThese30M failed "assert(t->jfr_thread_local()->shelved_buffer() == __null) failed: invariant" Reviewed-by: egahlin ! src/hotspot/share/jfr/recorder/storage/jfrStorage.cpp Changeset: f4b54881 Author: Dongbo He Committer: Fei Yang Date: 2020-03-09 18:21:58 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f4b54881 8240734: ModuleHashes attribute not reproducible between builds Reviewed-by: alanb ! src/java.base/share/classes/jdk/internal/module/ModuleHashes.java ! src/java.base/share/classes/jdk/internal/module/ModuleHashesBuilder.java Changeset: 42ff13ab Author: Roland Westrelin Date: 2020-03-09 09:42:30 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/42ff13ab 8240195: some jaotc failures of fastdebug build with specific flags Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/subtypenode.cpp + test/hotspot/jtreg/compiler/types/TestSubTypeOfAsbtractClassWrongResult.java Changeset: 8208b9ce Author: Erik Gahlin Date: 2020-03-10 18:39:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8208b9ce 8240778: JFR: Create timer task lazily Reviewed-by: mgronlun, mseledtsov ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecorder.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecording.java Changeset: 072cfd2e Author: Vladimir Ivanov Date: 2020-03-10 20:51:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/072cfd2e 8238681: Make -XX:UseSSE flag x86-specific Reviewed-by: dholmes, kvn ! src/hotspot/cpu/ppc/vm_version_ppc.cpp ! src/hotspot/cpu/sparc/vm_version_sparc.cpp ! src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp ! src/hotspot/cpu/x86/c1_Runtime1_x86.cpp ! src/hotspot/cpu/x86/globals_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/share/c1/c1_LinearScan.cpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp ! test/hotspot/jtreg/compiler/c1/Test6579789.java ! test/hotspot/jtreg/compiler/c1/Test6855215.java Changeset: 1dcd3d2c Author: Vladimir Ivanov Date: 2020-03-10 20:51:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1dcd3d2c 8239008: C2: Simplify Replicate support for sub-word types on x86 Reviewed-by: kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/x86.ad Changeset: 02916dbb Author: Vladimir Ivanov Date: 2020-03-10 20:51:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/02916dbb 8239009: C2: Don't use PSHUF to load scalars from memory on x86 Reviewed-by: kvn, dlong ! src/hotspot/cpu/x86/x86.ad Changeset: 0e3529ad Author: Yumin Qi Date: 2020-03-10 11:52:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0e3529ad 8240691: ClhsdbCDSJstackPrintAll incorrectly thinks CDS is in use Fix by checking "UseSharedSpaces = false" for CDS enabled. Reviewed-by: iklam ! src/hotspot/share/prims/whitebox.cpp ! test/hotspot/jtreg/serviceability/sa/ClhsdbCDSCore.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbCDSJstackPrintAll.java Changeset: 75632a6d Author: Yudi Zheng Committer: Doug Simon Date: 2020-03-10 21:48:43 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/75632a6d 8240610: [JVMCI] Export VMVersion::_has_intel_jcc_erratum to JVMCI compiler Reviewed-by: kvn, thartmann ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp Changeset: 53c6887a Author: Yumin Qi Date: 2020-03-10 14:37:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/53c6887a 8240840: Rollback whitebox.cpp in push 8240691 Whitebox.cpp should not change in 8240691, which is accidentally included. Reviewed-by: iklam, ccheung ! src/hotspot/share/prims/whitebox.cpp Changeset: 39ab0731 Author: Vladimir Kozlov Date: 2020-03-10 14:39:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/39ab0731 8240830: [BACKOUT] 8240195: some jaotc failures of fastdebug build with specific flags Reviewed-by: dcubed ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/subtypenode.cpp - test/hotspot/jtreg/compiler/types/TestSubTypeOfAsbtractClassWrongResult.java Changeset: 0fd2ac70 Author: Jonathan Gibbons Date: 2020-03-10 14:46:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0fd2ac70 8240697: convert builders to high-level Content blocks Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractOverviewIndexWriter.java ! 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/AnnotationTypeWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassUseWriter.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/ConstantsSummaryWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DeprecatedListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DocFilesHandlerImpl.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/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/IndexRedirectWriter.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/Navigation.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/PackageTreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageUseWriter.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/SerializedFormWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SingleIndexWriter.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/SplitIndexWriter.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/TreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/BodyContents.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Head.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/Navigation.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/TableHeader.java Changeset: 5eef59d2 Author: Adam Sotona Date: 2020-03-10 17:33:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5eef59d2 8235216: typo in test filename Renamed MutliReleaseModuleInfoTest.java to MultiReleaseModuleInfoTest.java Reviewed-by: jjg + test/langtools/tools/javac/file/MultiReleaseJar/MultiReleaseModuleInfoTest.java - test/langtools/tools/javac/file/MultiReleaseJar/MutliReleaseModuleInfoTest.java Changeset: 08c3b1fc Author: Chihiro Ito Date: 2020-03-07 23:08:33 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/08c3b1fc 8222489: jcmd VM.system_properties gives unusable paths on Windows Reviewed-by: sspitsyn, ysuenaga ! src/java.base/share/classes/jdk/internal/vm/VMSupport.java + test/jdk/sun/tools/jcmd/TestVM.java Changeset: 80ca356e Author: Weijun Wang Date: 2020-03-11 10:33:33 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/80ca356e 8239928: ec/ECDSAJavaVerify.java failed due to timeout Reviewed-by: valeriep ! test/jdk/sun/security/ec/ECDSAJavaVerify.java Changeset: 99b28daf Author: Yasumasa Suenaga Date: 2020-03-11 13:14:40 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/99b28daf 8240725: Some functions might not work with CJK character Reviewed-by: naoto ! src/java.base/share/native/libzip/zip_util.c ! src/java.base/windows/native/libjava/canonicalize_md.c ! src/java.base/windows/native/libjli/java_md.c ! src/jdk.incubator.jpackage/windows/native/libapplauncher/WindowsPlatform.cpp Changeset: 441e16e2 Author: Magnus Ihse Bursie Date: 2020-03-11 08:34:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/441e16e2 8240820: Replace AC_ARG_ENABLE with UTIL_ARG_ENABLE Reviewed-by: erikj ! make/autoconf/build-performance.m4 ! make/autoconf/flags-cflags.m4 ! make/autoconf/hotspot.m4 ! make/autoconf/jdk-options.m4 ! make/autoconf/lib-ffi.m4 ! make/autoconf/platform.m4 ! make/autoconf/util.m4 ! test/make/autoconf/test.m4 Changeset: 1c1acb47 Author: Erik Helin Date: 2020-03-10 16:58:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1c1acb47 8237566: FindTests.gmk should only include existing TEST.ROOT files Reviewed-by: erikj ! make/common/FindTests.gmk Changeset: 593a05c9 Author: Stefan Karlsson Date: 2020-03-04 15:50:51 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/593a05c9 8240530: CheckUnhandledOops breaks BacktraceBuilder::set_has_hidden_top_frame Reviewed-by: coleenp, dholmes ! src/hotspot/share/classfile/javaClasses.cpp Changeset: 43e0fc04 Author: Stefan Karlsson Date: 2020-03-04 15:50:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/43e0fc04 8240529: CheckUnhandledOops breaks NULL check in Modules::define_module Reviewed-by: coleenp, lfoltan, hseigel ! src/hotspot/share/classfile/modules.cpp Changeset: 534331f0 Author: Stefan Karlsson Date: 2020-03-04 18:08:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/534331f0 8240532: heap inspection prints trailing @ after name of module without version Reviewed-by: lfoltan ! src/hotspot/share/memory/heapInspection.cpp ! test/hotspot/jtreg/serviceability/dcmd/gc/ClassHistogramTest.java Changeset: 661c0735 Author: Andrew Haley Date: 2020-03-10 10:49:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/661c0735 8240615: is_power_of_2() has Undefined Behaviour and is inconsistent Reviewed-by: jrose, redestad ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/utilities/powerOfTwo.hpp ! test/hotspot/gtest/utilities/test_powerOfTwo.cpp Changeset: 0992e17b Author: Andrew Haley Date: 2020-03-11 12:38:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0992e17b 8240829: Use a fast O(1) algorithm for exact_log2 Reviewed-by: jrose, redestad ! src/hotspot/share/utilities/powerOfTwo.hpp ! test/hotspot/gtest/utilities/test_powerOfTwo.cpp Changeset: d7780973 Author: Vipin Sharma Committer: Christoph Langer Date: 2020-03-11 13:50:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d7780973 8240524: Remove explicit type argument in test jdk/java/lang/Boolean/MakeBooleanComparable.java Reviewed-by: clanger, vtewari ! test/jdk/java/lang/Boolean/GetBoolean.java ! test/jdk/java/lang/Boolean/MakeBooleanComparable.java ! test/jdk/java/lang/Boolean/ParseBoolean.java Changeset: eb974fad Author: Aleksey Shipilev Date: 2020-03-11 14:17:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/eb974fad 8240868: Shenandoah: remove CM-with-UR piggybacking cycles Reviewed-by: rkennke, zgu ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.hpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeuristics.hpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp ! src/hotspot/share/gc/shenandoah/shenandoahVMOperations.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVMOperations.hpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp ! src/hotspot/share/runtime/vmOperations.hpp ! test/hotspot/jtreg/gc/shenandoah/TestStringDedupStress.java Changeset: 6275aee6 Author: Andrew Haley Date: 2020-03-11 15:02:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6275aee6 Merge Changeset: 14e37ba3 Author: Alexey Bakhtin Committer: Andrew Brygin Date: 2020-03-11 19:14:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/14e37ba3 8239798: SSLSocket closes socket both socket endpoints on a SocketTimeoutException Reviewed-by: xuelei ! src/java.base/share/classes/sun/security/ssl/SSLSocketImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLSocketInputRecord.java ! src/java.base/share/classes/sun/security/ssl/SSLTransport.java ! test/jdk/sun/security/ssl/SSLSocketImpl/ClientTimeout.java ! test/jdk/sun/security/ssl/SSLSocketImpl/SSLExceptionForIOIssue.java Changeset: 5b323a86 Author: Adam Sotona Committer: Lance Andersen Date: 2020-03-11 12:30:23 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5b323a86 8230117: Remove unused JAR tool classes Reviewed-by: lancea, clanger - src/jdk.jartool/share/classes/sun/tools/jar/Manifest.java - src/jdk.jartool/share/classes/sun/tools/jar/SignatureFile.java Changeset: 8c6649de Author: Pavel Rappo Date: 2020-03-11 17:09:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8c6649de 8239487: Better links generation for system properties found in HTML files 8239485: Define behavior of the System Properties page when no system properties are available Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DocFilesHandlerImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SearchIndexItem.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SearchIndexItems.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SingleIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SplitIndexWriter.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/toolkit/DocFileElement.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java ! test/langtools/jdk/javadoc/doclet/testMetadata/TestMetadata.java ! test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/TestSystemPropertyPage.java + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src1/overview.html + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src1/pkg1/A.java + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src1/pkg1/doc-files/WithEmptyTitle.html + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src1/pkg1/doc-files/WithTitle.html + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src1/pkg1/doc-files/WithoutTitle.html + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src1/pkg2/B.java + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src2/pkg1/A.java ! test/langtools/jdk/javadoc/doclet/testSystemPropertyTaglet/TestSystemPropertyTaglet.java ! test/langtools/jdk/javadoc/tool/api/basic/APITest.java Changeset: db69852a Author: Serguei Spitsyn Date: 2020-03-11 20:28:43 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/db69852a 8240881: [BACKOUT] 8222489 jcmd VM.system_properties gives unusable paths on Windows Undo the 8222489 changeset Reviewed-by: dcubed, iklam ! src/java.base/share/classes/jdk/internal/vm/VMSupport.java - test/jdk/sun/tools/jcmd/TestVM.java Changeset: 5531199d Author: Alex Menkov Date: 2020-03-11 13:39:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5531199d 8240340: java/lang/management/ThreadMXBean/Locks.java is buggy Reviewed-by: dholmes, sspitsyn ! test/jdk/java/lang/management/ThreadMXBean/Locks.java ! test/lib/jdk/test/lib/LockFreeLogger.java Changeset: 6b487c3c Author: Magnus Ihse Bursie Date: 2020-03-11 22:25:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6b487c3c 8240866: Typo in JDK-8240820 messes up configure --help Reviewed-by: erikj ! make/autoconf/flags-cflags.m4 ! make/autoconf/hotspot.m4 Changeset: 5b9a09cb Author: Jonathan Gibbons Date: 2020-03-11 15:46:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5b9a09cb 8240138: Cleanup HtmlTree Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractTreeWriter.java ! 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/AnnotationTypeFieldWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassUseWriter.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/ConstantsSummaryWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstructorWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DeprecatedListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/EnumConstantWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/FieldWriterImpl.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/HtmlDocletWriter.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/ModuleWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageTreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageUseWriter.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/PropertyWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SerializedFormWriterImpl.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/TreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Comment.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/HtmlTag.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/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/Content.java Changeset: 069d9e79 Author: Yasumasa Suenaga Date: 2020-03-12 09:23:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/069d9e79 8234624: jstack mixed mode should refer DWARF Reviewed-by: sspitsyn, kevinw + src/jdk.hotspot.agent/linux/native/libsaproc/DwarfParser.cpp ! src/jdk.hotspot.agent/linux/native/libsaproc/LinuxDebuggerLocal.cpp + src/jdk.hotspot.agent/linux/native/libsaproc/dwarf.cpp + src/jdk.hotspot.agent/linux/native/libsaproc/dwarf.hpp ! src/jdk.hotspot.agent/linux/native/libsaproc/libproc.h ! src/jdk.hotspot.agent/linux/native/libsaproc/libproc_impl.c ! src/jdk.hotspot.agent/linux/native/libsaproc/libproc_impl.h ! src/jdk.hotspot.agent/linux/native/libsaproc/salibelf.c ! src/jdk.hotspot.agent/linux/native/libsaproc/salibelf.h ! src/jdk.hotspot.agent/linux/native/libsaproc/symtab.c ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/LinuxCDebugger.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/LinuxDebugger.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/LinuxDebuggerLocal.java + src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/amd64/DwarfParser.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64CFrame.java Changeset: 92686e1a Author: Jesper Wilhelmsson Date: 2020-03-12 03:10:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/92686e1a Added tag jdk-15+14 for changeset 1d6ceb13e142 ! .hgtags Changeset: b0f32c44 Author: Ioi Lam Date: 2020-03-11 21:37:45 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b0f32c44 8240548: [TESTBUG] CDS NoClassToArchive.java fails with Graal Reviewed-by: dholmes, mchung ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/NoClassToArchive.java Changeset: 19e02810 Author: Kelvin Nilsen Committer: Aleksey Shipilev Date: 2020-03-12 06:47:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/19e02810 8225216: gc/logging/TestMetaSpaceLog.java doesn't work for Shenandoah Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! test/hotspot/jtreg/TEST.groups ! test/hotspot/jtreg/gc/logging/TestMetaSpaceLog.java Changeset: 0368e41c Author: Weijun Wang Date: 2020-03-12 18:21:59 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0368e41c 8240261: Use make/templates/gpl-cp-header in FieldGen.java Reviewed-by: erikj ! make/gensrc/Gensrc-java.base.gmk ! make/jdk/src/classes/build/tools/intpoly/FieldGen.java - make/jdk/src/classes/build/tools/intpoly/header.txt + make/jdk/src/classes/build/tools/util/Header.java Changeset: c5bd0d79 Author: Richard Reingruber Date: 2020-03-12 11:51:00 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c5bd0d79 8234146: compiler/jsr292/ContinuousCallSiteTargetChange.java times out on SPARC Reviewed-by: vlivanov, thartmann ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/compiler/jsr292/ContinuousCallSiteTargetChange.java Changeset: 7fe46b24 Author: Claes Redestad Date: 2020-03-12 13:07:21 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7fe46b24 8240772: x86_64: Pre-generate Assembler::popa, pusha and vzeroupper Reviewed-by: iklam, kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/vm_version_x86.cpp Changeset: d49cf17d Author: Claes Redestad Date: 2020-03-05 16:07:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d49cf17d 8240669: Devirtualize Relocation::type Reviewed-by: rbackman, thartmann ! src/hotspot/share/code/relocInfo.cpp ! src/hotspot/share/code/relocInfo.hpp Changeset: 21d3eaf5 Author: Yudi Zheng Committer: Doug Simon Date: 2020-03-12 13:20:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/21d3eaf5 8240831: [JVMCI] Export missing vmStructs entries used by JVMCI compilers Reviewed-by: kvn, thartmann ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp Changeset: 1f189228 Author: Zhengyu Gu Date: 2020-03-12 09:25:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1f189228 8240915: Shenandoah: Remove unused fields in init mark tasks Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Changeset: 48c48b7a Author: Vladimir Ivanov Date: 2020-03-12 16:42:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/48c48b7a 8238696: x86: Enumerate all detected CPU features in VM_Version feature string Reviewed-by: dholmes, kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/cpu/x86/vm_version_x86.hpp ! src/hotspot/cpu/x86/x86.ad + test/jdk/lib/testlibrary/CPUInfoTest.java Changeset: add18914 Author: Severin Gehwolf Date: 2020-02-25 12:17:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/add18914 8239785: Cgroups: Incorrect detection logic on old systems in hotspot Return NULL subsystem if no cgroup controllers are mounted. Reviewed-by: bobv, mbaesken ! src/hotspot/os/linux/cgroupSubsystem_linux.cpp ! src/hotspot/os/linux/cgroupSubsystem_linux.hpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/prims/whitebox.hpp + test/hotspot/jtreg/containers/cgroup/CgroupSubsystemFactory.java ! test/lib/sun/hotspot/WhiteBox.java Changeset: eeaafbe1 Author: Naoto Sato Date: 2020-03-12 08:31:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/eeaafbe1 8216332: Grapheme regex does not work with emoji sequences Reviewed-by: rriggs ! src/java.base/share/classes/java/util/regex/Grapheme.java + test/jdk/java/util/regex/GraphemeTestCases.txt ! test/jdk/java/util/regex/RegExTest.java Changeset: fee69bab Author: Roger Riggs Date: 2020-03-12 11:54:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/fee69bab 8240704: CheckHandles.java failed "AssertionError: Handle use increased by more than 10 percent." Reviewed-by: dfuchs ! test/jdk/java/lang/ProcessBuilder/checkHandles/CheckHandles.java Changeset: c68e15c0 Author: Roger Riggs Date: 2020-03-12 11:57:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c68e15c0 8240957: Clarify BadAttributeValueExpException readObject method Reviewed-by: bpb ! src/java.management/share/classes/javax/management/BadAttributeValueExpException.java Changeset: 90a39195 Author: Yumin Qi Date: 2020-03-12 09:07:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/90a39195 8240563: [TESTBUG] WB_IsCDSIncludedInVmBuild should support uncompressed oops/klasses With 8232069, CDS works with uncompressed oops/kalsses, detecting CDS code no longer bases on the two flags. Reviewed-by: iklam ! src/hotspot/share/prims/whitebox.cpp ! test/hotspot/jtreg/ProblemList-zgc.txt ! test/hotspot/jtreg/runtime/cds/appcds/CommandLineFlagComboNegative.java ! test/hotspot/jtreg/runtime/cds/appcds/TestZGCWithCDS.java Changeset: 70e730fd Author: Roman Kennke Date: 2020-03-12 17:52:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/70e730fd 8240872: Shenandoah: Avoid updating new regions from start of evacuation Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp Changeset: e5ab7011 Author: Roman Kennke Date: 2020-03-12 17:52:47 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e5ab7011 8240873: Shenandoah: Short-cut arraycopy barriers Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSetClone.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Changeset: 0ed44d0a Author: Patrick Concannon Date: 2020-03-12 17:08:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0ed44d0a 8239355: (dc) Initial value of SO_SNDBUF should allow sending large datagrams (macOS) Updates DatagramChannel so that the SO_SNDBUF is set to a minimum value of 65527 for IPv6 sockets and 65507 for IPv4 sockets on macOS. Reviewed-by: alanb, dfuchs ! src/java.base/unix/native/libnio/ch/Net.c ! test/jdk/java/net/IPSupport/MinimumPermissions.policy + test/jdk/java/nio/channels/DatagramChannel/MinSendBufferSize.java ! test/lib/jdk/test/lib/net/IPSupport.java Changeset: 71e1277f Author: Zhengyu Gu Date: 2020-03-12 13:08:40 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/71e1277f 8240917: Shenandoah: Avoid scanning thread code roots twice in all root scanner Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp Changeset: de5208e3 Author: Patrick Concannon Date: 2020-03-12 17:20:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/de5208e3 Merge Changeset: 3ee99ca1 Author: Aleksey Shipilev Date: 2020-03-12 18:50:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3ee99ca1 8240948: Shenandoah: cleanup not-forwarded-objects paths after JDK-8240868 Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp Changeset: 58337b12 Author: Daniel Fuchs Date: 2020-03-12 18:31:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/58337b12 8059309: network tests fail with "java.net.SocketException: Couldn't obtain phys addr" when run as "root" The solaris specific code is changed to use the fallback mechanism if the DLPI interface returns an error indicating that the operation is unsupported. In addition, NetworkInterface::getHardwareAddress is changed to always return null for the loopback interface. Reviewed-by: alanb ! src/java.base/share/classes/java/net/NetworkInterface.java ! src/java.base/unix/native/libnet/NetworkInterface.c + test/jdk/java/net/NetworkInterface/NullMacAddress.java Changeset: 3aceb74a Author: Magnus Ihse Bursie Date: 2020-03-12 19:40:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3aceb74a 8240947: Change conflicting JVM features from warning to error Reviewed-by: erikj ! make/autoconf/jvm-features.m4 Changeset: ed8c11e0 Author: Magnus Ihse Bursie Date: 2020-03-12 19:42:06 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ed8c11e0 8149110: Introduce DISABLED_WARNINGS for Java compilation Reviewed-by: erikj ! make/CompileDemos.gmk ! make/CompileInterimLangtools.gmk ! make/CompileInterimRmic.gmk ! make/CompileJavaModules.gmk ! make/CompileModuleTools.gmk ! make/CompileToolsJdk.gmk ! make/common/JavaCompilation.gmk ! make/common/SetupJavaCompilers.gmk ! make/hotspot/gensrc/GensrcJfr.gmk ! make/hotspot/gensrc/GensrcJvmti.gmk ! make/hotspot/ide/CreateVSProject.gmk ! make/test/BuildFailureHandler.gmk ! make/test/BuildMicrobenchmark.gmk ! make/test/JtregGraalUnit.gmk Changeset: 36fac8c3 Author: Magnus Ihse Bursie Date: 2020-03-12 19:43:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/36fac8c3 8240950: Missing AC_SUBST after JDK-82408 Reviewed-by: erikj ! make/autoconf/build-performance.m4 Changeset: d5d6dc0c Author: Mandy Chung Date: 2020-03-12 11:54:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d5d6dc0c 8228336: Refactor native library loading implementation Reviewed-by: alanb, dholmes ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/nativeLookup.cpp - src/java.base/macosx/classes/java/lang/ClassLoaderHelper.java + src/java.base/macosx/classes/jdk/internal/loader/ClassLoaderHelper.java ! src/java.base/share/classes/java/lang/ClassLoader.java ! src/java.base/share/classes/java/lang/Runtime.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 + src/java.base/share/classes/jdk/internal/loader/NativeLibraries.java + src/java.base/share/classes/jdk/internal/loader/NativeLibrary.java ! src/java.base/share/native/libjava/ClassLoader.c + src/java.base/share/native/libjava/NativeLibraries.c - src/java.base/unix/classes/java/lang/ClassLoaderHelper.java + src/java.base/unix/classes/jdk/internal/loader/ClassLoaderHelper.java = src/java.base/windows/classes/jdk/internal/loader/ClassLoaderHelper.java ! test/jdk/java/lang/ClassLoader/LibraryPathProperty.java Changeset: e9494f21 Author: Mandy Chung Date: 2020-03-12 11:56:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e9494f21 8240242: improve the javadoc for Lookup::dropLookupModes w.r.t. dropping UNCONDITIONAL Reviewed-by: chegar, rriggs ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java Changeset: e30b89e1 Author: Junyuan Zheng Committer: Erik Joelsson Date: 2020-03-12 12:55:19 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e30b89e1 8240972: macOS codesign fail on macOS 10.13.5 or older Reviewed-by: erikj, ihse ! make/autoconf/basic_tools.m4 Changeset: 5bc78c43 Author: Jonathan Gibbons Date: 2020-03-12 13:56:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5bc78c43 8240971: Fix CSS styles in some doc comments Reviewed-by: mchung ! src/java.base/share/classes/module-info.java ! src/java.management.rmi/share/classes/module-info.java ! src/java.se/share/classes/module-info.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css ! src/jdk.jconsole/share/classes/module-info.java Changeset: 2eaeb206 Author: Jonathan Gibbons Date: 2020-03-12 14:14:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2eaeb206 8240555: Using env of JAVA_TOOL_OPTIONS and _JAVA_OPTIONS breaks QuietOption.java test Reviewed-by: shurailine, prappo ! test/langtools/jdk/javadoc/tool/QuietOption.java Changeset: 0610992a Author: Valerie Peng Date: 2020-03-12 22:11:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0610992a 8238566: java.security.Provider$Service.supportsParameter() is racy Use double-checked-locking pattern inside the hasKeyAttributes() method Reviewed-by: xuelei ! src/java.base/share/classes/java/security/Provider.java Changeset: 38940d16 Author: Calvin Cheung Date: 2020-03-12 16:05:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/38940d16 8238000: Crash in ClassLoader::record_result while dynamic dumping netty Make a copy of the _shared_path_table for use during dynamic CDS dump. Reviewed-by: iklam, minqi ! src/hotspot/share/memory/dynamicArchive.cpp ! src/hotspot/share/memory/filemap.cpp ! src/hotspot/share/memory/filemap.hpp ! src/hotspot/share/memory/metaspaceShared.cpp Changeset: a8b48018 Author: Jie Fu Date: 2020-03-13 17:01:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a8b48018 8240846: Zero VM is broken after JDK-8238681: UseSSE not defined Reviewed-by: shade, rehn, vlivanov ! src/hotspot/share/compiler/compileBroker.cpp Changeset: 2a35bc5a Author: Roland Westrelin Date: 2020-03-11 10:32:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2a35bc5a 8240854: [REDO] some jaotc failures of fastdebug build with specific flags Reviewed-by: vlivanov, kvn, thartmann ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/subtypenode.cpp + test/hotspot/jtreg/compiler/types/TestSubTypeOfAsbtractClassWrongResult.java Changeset: 05c539c9 Author: Weijun Wang Date: 2020-03-13 17:45:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/05c539c9 8240980: Backout JDK-8240261 Reviewed-by: dholmes ! make/gensrc/Gensrc-java.base.gmk ! make/jdk/src/classes/build/tools/intpoly/FieldGen.java + make/jdk/src/classes/build/tools/intpoly/header.txt - make/jdk/src/classes/build/tools/util/Header.java Changeset: ae8bc600 Author: duke Date: 2020-03-13 11:00:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ae8bc600 Automatic merge of jdk:master into master Changeset: af93b670 Author: duke Date: 2020-03-13 11:02:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/af93b670 Automatic merge of master into foreign-memaccess ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/module-info.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/module-info.java From mcimadamore at openjdk.java.net Fri Mar 13 14:17:25 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Fri, 13 Mar 2020 14:17:25 GMT Subject: [Integrated] [foreign-abi] RFR: Merge openjdk/panama-foreign:foreign-memaccess In-Reply-To: References: Message-ID: Changeset: 96ffeca9 Author: Maurizio Cimadamore Date: 2020-03-13 14:08:15 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/96ffeca9 Merge Reviewed-by: jvernee ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/share/prims/nativeLookup.cpp ! 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/classes/module-info.java + src/java.base/share/native/libjava/NativeLibraries.c ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/LibrariesHelper.java ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/share/prims/nativeLookup.cpp ! 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/classes/module-info.java ! src/java.base/share/native/libjava/NativeLibraries.c + src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/LibrariesHelper.java From jvernee at openjdk.java.net Fri Mar 13 14:15:47 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Fri, 13 Mar 2020 14:15:47 GMT Subject: [foreign-jextract] RFR: Update the README with Panama specific information, and information about the repo Message-ID: Hi, This patch updates the README file on the foreign-jextract branch, since that is features prominently on GitHub. It also renames the file to README.md, so that GitHub picks up the right formatting. ------------- Commit messages: - Update the readme with Panama specific information, and information about the repo Changes: https://git.openjdk.java.net/panama-foreign/pull/51/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/51/webrev.00 Stats: 46 lines in 2 files changed: 34 ins; 12 del; 0 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/51.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/51/head:pull/51 PR: https://git.openjdk.java.net/panama-foreign/pull/51 From mcimadamore at openjdk.java.net Fri Mar 13 14:24:19 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Fri, 13 Mar 2020 14:24:19 GMT Subject: [foreign-jextract] RFR: Update the README with Panama specific information, and information about the repo In-Reply-To: References: Message-ID: On Fri, 13 Mar 2020 14:07:21 GMT, Jorn Vernee wrote: > Hi, > > This patch updates the README file on the foreign-jextract branch, since that is features prominently on GitHub. > > It also renames the file to README.md, so that GitHub picks up the right formatting. Looks good, some comments and suggestions inline. README.md line 1: > 1: > 2: Welcome to the JDK! In general, I'd prefer to replace `repo` with `repository`; I'd also prefer to use a less informal approach (e.g. instead of "you can build the repo", "the repo can be built") README.md line 17: > 16: =================== > 17: This is a repo of OpenJDK Project Panama: Interconnecting JVM and native code. You can find more information at: > https://openjdk.java.net/projects/panama/ 18: This repository contains changes which aims at improving the interoperability between the Java programming language and native libraries, which one of the main goals of Project Panama. More information can be found at: https://openjdk.java.net/projects/panama/ README.md line 19: > 18: > 19: You can find the Project Panama JBS dashboard at: https://bugs.openjdk.java.net/Dashboard.jspa?selectPageId=18412 > 20: The Project Panama JBS dashboard can be found at README.md line 21: > 20: > 21: You can find early access (EA) snapshots at: http://jdk.java.net/panama/ > 22: Early acccess (EA) binary snapshot can be found at: README.md line 28: > 27: - **foreign-abi**: Contains the developement of the foreign function interface (FFI), which can be used to call > native code in a .dll/.so/.dylib, or to create a native function pointer to a Java method which can be passed to code > in a native library. 28: - **foreign-jextract**: Contains the developement of the jextract API, which can be used to > create an abstract syntax tree from a C header file. There's also the accompanying jextract tool, which is a wrapper > for the API and can be used to generate a Java interface to call the C library described by a given header file. 29: Contains the development of an API to parse native headers, which can be used to create an abstract representation (declarations) from a C header file. This branch also provides an accompanying extraction tool (jextract), which is built on top of the API, and can be used to generate *Java bindings* to access functions and/or structs in a native library described by a given header file. README.md line 34: > 33: =================== > 34: Jextract requires [LLVM 9.x](https://releases.llvm.org/download.html) as a dependency. So, if you want to build the > foreign-jextract branch yourself you will need to pass `--with-libclang=/path/to/llvm/root` when generating a build > configuration. Please see > [doc/building.md](https://github.com/openjdk/panama-foreign/blob/foreign-jextract/doc/building.md) for general building > instructions. So, to build the foreign-jextract branch, the flag `--with-libclang=/path/to/llvm/root` must be supplied when generating a build configuration. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/51 From duke at openjdk.java.net Fri Mar 13 14:26:04 2020 From: duke at openjdk.java.net (duke) Date: Fri, 13 Mar 2020 14:26:04 GMT Subject: git: openjdk/panama-foreign: foreign-jextract: 111 new changesets Message-ID: <80104a5c-afd5-4e2b-b1c1-a4291d63778b@openjdk.org> Changeset: a5399004 Author: Maurizio Cimadamore Date: 2020-03-12 17:36:15 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a5399004 8240874: Add finer-grained access control for memory segments Reviewed-by: psandoz, jvernee ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/Utils.java ! test/jdk/java/foreign/TestByteBuffer.java ! test/jdk/java/foreign/TestMemoryAccess.java ! test/jdk/java/foreign/TestSegments.java Changeset: 95a497ae Author: Aditya Mandaleeka Committer: Roman Kennke Date: 2020-03-06 13:41:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/95a497ae 8236981: Remove ShenandoahTraversalUpdateRefsClosure Reviewed-by: shade, rkennke ! src/hotspot/share/gc/shenandoah/shenandoahClosures.hpp ! src/hotspot/share/gc/shenandoah/shenandoahClosures.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Changeset: f0cd9dd5 Author: Ivan Walulya Date: 2020-03-06 14:10:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f0cd9dd5 8240592: HeapRegionManager::rebuild_free_list logs 0s for the estimated free regions before Reviewed-by: sjohanss, kbarrett ! src/hotspot/share/gc/g1/heapRegionManager.cpp Changeset: 14c09861 Author: Ralf Schmelter Date: 2020-03-06 16:19:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/14c09861 8240440: Implement get_safepoint_workers() for parallel GC Reviewed-by: tschatzl, kbarrett ! src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp Changeset: c92adf41 Author: Severin Gehwolf Date: 2020-02-24 19:03:34 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c92adf41 8240189: [TESTBUG] Some cgroup tests are failing after JDK-8231111 Reviewed-by: mbaesken, bobv ! test/jdk/jdk/internal/platform/docker/MetricsCpuTester.java ! test/jdk/jdk/internal/platform/docker/MetricsMemoryTester.java ! test/lib/jdk/test/lib/containers/cgroup/CgroupMetricsTester.java ! test/lib/jdk/test/lib/containers/cgroup/MetricsTesterCgroupV1.java ! test/lib/jdk/test/lib/containers/cgroup/MetricsTesterCgroupV2.java Changeset: d8bded6f Author: Aleksey Shipilev Date: 2020-03-06 17:03:42 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d8bded6f 8240671: Shenandoah: refactor ShenandoahPhaseTimings Reviewed-by: rkennke, zgu ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahStringDedup.cpp - src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.cpp - src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp Changeset: f87ebd9e Author: Sean Mullan Date: 2020-03-06 13:17:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f87ebd9e 8240684: ProblemList 70 security tests that are failing on Windows due to "Fetch artifact failed" Reviewed-by: xuelei, stsmirno, dcubed ! test/jdk/ProblemList.txt Changeset: e2f43191 Author: Brian Burkhalter Date: 2020-03-06 10:34:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e2f43191 4617266: (se spec) SelectionKey.OP_READ/OP_WRITE documentation errors Reviewed-by: lancea, alanb, darcy ! src/java.base/share/classes/java/nio/channels/SelectionKey.java Changeset: 375d0c13 Author: Roger Riggs Date: 2020-03-06 13:52:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/375d0c13 8239893: Windows handle Leak when starting processes using ProcessBuilder Reviewed-by: bpb, naoto ! src/java.base/windows/classes/java/lang/ProcessImpl.java + test/jdk/java/lang/ProcessBuilder/checkHandles/CheckHandles.java + test/jdk/java/lang/ProcessBuilder/checkHandles/libCheckHandles.c Changeset: 8c1204de Author: Roman Kennke Date: 2020-03-06 21:51:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8c1204de 8240315: Shenandoah: Rename ShLBN::get_barrier_strength() Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp Changeset: 9e2ab1e3 Author: Calvin Cheung Date: 2020-03-06 15:33:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9e2ab1e3 8232081: Try to link all classes during dynamic CDS dump During CDS dynamic dump, link all classes loaded by the builtin class loaders in JVM_BeforeHalt() and JavaThread::invoke_shutdown_hooks(). Reviewed-by: iklam, dholmes ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/prims/jvm.cpp ! src/hotspot/share/runtime/thread.cpp + test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/LinkClassTest.java + test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/test-classes/LinkClassApp.java Changeset: 9f334a16 Author: Kim Barrett Date: 2020-03-06 18:42:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9f334a16 8240239: Replace ConcurrentGCPhaseManager Replace ConcurrentGCPhaseManager with ConcurrentGCBreakpoints Co-authored-by: Per Liden Reviewed-by: kbarrett, pliden, sangheki ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMarkThread.cpp ! src/hotspot/share/gc/g1/g1ConcurrentMarkThread.hpp ! src/hotspot/share/gc/g1/g1Policy.cpp ! src/hotspot/share/gc/g1/g1VMOperations.cpp ! src/hotspot/share/gc/g1/g1VMOperations.hpp ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp + src/hotspot/share/gc/shared/concurrentGCBreakpoints.cpp + src/hotspot/share/gc/shared/concurrentGCBreakpoints.hpp - src/hotspot/share/gc/shared/concurrentGCPhaseManager.cpp - src/hotspot/share/gc/shared/concurrentGCPhaseManager.hpp ! src/hotspot/share/gc/shared/gcCause.cpp ! src/hotspot/share/gc/shared/gcCause.hpp + src/hotspot/share/gc/z/zBreakpoint.cpp + src/hotspot/share/gc/z/zBreakpoint.hpp ! src/hotspot/share/gc/z/zCollectedHeap.cpp ! src/hotspot/share/gc/z/zCollectedHeap.hpp ! src/hotspot/share/gc/z/zDriver.cpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp + test/hotspot/jtreg/gc/TestConcurrentGCBreakpoints.java + test/hotspot/jtreg/gc/TestJNIWeak/TestJNIWeak.java + test/hotspot/jtreg/gc/TestJNIWeak/libTestJNIWeak.c - test/hotspot/jtreg/gc/concurrent_phase_control/CheckControl.java - test/hotspot/jtreg/gc/concurrent_phase_control/CheckSupported.java - test/hotspot/jtreg/gc/concurrent_phase_control/CheckUnsupported.java - test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlG1.java - test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlG1Basics.java - test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlParallel.java - test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlSerial.java - test/hotspot/jtreg/gc/g1/TestJNIWeakG1/TestJNIWeakG1.java - test/hotspot/jtreg/gc/g1/TestJNIWeakG1/libTestJNIWeakG1.c ! test/lib/sun/hotspot/WhiteBox.java Changeset: c203cebc Author: Mikael Vidstedt Date: 2020-03-06 17:33:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c203cebc 8240535: Add additional linux-aarch64 jib profiles Reviewed-by: erikj ! make/conf/jib-profiles.js Changeset: c46623d0 Author: Jonathan Gibbons Date: 2020-03-06 18:03:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c46623d0 8240137: Support chained use of Content.add 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/Comment.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/Entity.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/FixedStringContent.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/RawHtml.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Script.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/StringContent.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/Content.java Changeset: f222cb8b Author: Jie Fu Date: 2020-03-07 14:42:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f222cb8b 8240695: Build is broken when cds is disabled after JDK-8232081 Reviewed-by: iklam ! src/hotspot/share/memory/metaspaceShared.hpp Changeset: ff8e7d40 Author: Vyom Tewari Date: 2020-03-07 18:35:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ff8e7d40 8238579: HttpsURLConnection drops the timeout and hangs forever in read HttpsURLConnection drops the timeout and hangs forever in read Reviewed-by: dfuchs ! src/java.base/share/classes/sun/net/www/protocol/https/AbstractDelegateHttpsURLConnection.java Changeset: d0e44e5b Author: Boris Ulasevich Date: 2020-03-07 16:27:00 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d0e44e5b 8239514: Build for arm-linux-gnueabihf fails with undefined reference read_polling_page Reviewed-by: dsamersoff, dholmes ! src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp ! src/hotspot/cpu/arm/macroAssembler_arm.cpp Changeset: 3d9dddd6 Author: Ichiroh Takiguchi Date: 2020-03-08 15:15:38 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3d9dddd6 8239965: XMLEncoder/Test4625418.java fails due to "Error: Cp943 - can't read properly" Cp943 and x-IBM943 should skip on XMLEncoder/Test4625418.java Reviewed-by: naoto ! test/jdk/ProblemList.txt ! test/jdk/java/beans/XMLEncoder/Test4625418.java Changeset: 7806ca14 Author: Kim Barrett Date: 2020-03-08 17:33:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7806ca14 8240133: G1DirtyCardQueue destructor has useless flush Removed useless call to flush. Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/g1/g1DirtyCardQueue.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp Changeset: 046dcdc0 Author: Ioi Lam Date: 2020-03-08 15:06:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/046dcdc0 8240613: InstanceKlass::set_init_state failed with assert(good_state || state == allocated) Reviewed-by: dcubed ! src/hotspot/share/classfile/systemDictionary.cpp Changeset: ba2e4178 Author: Rajan Halade Date: 2020-03-09 00:45:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ba2e4178 8240686: 70 security tests are failing on Windows due to "Fetch artifact failed" Reviewed-by: xuelei ! test/jdk/ProblemList.txt Changeset: 1c1fb44a Author: Kim Barrett Date: 2020-03-09 04:06:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1c1fb44a 8240722: [BACKOUT] G1DirtyCardQueue destructor has useless flush Backout JDK-8240133 Reviewed-by: sjohanss ! src/hotspot/share/gc/g1/g1DirtyCardQueue.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp Changeset: b58c8601 Author: Roland Westrelin Date: 2020-03-05 15:56:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b58c8601 8239335: C2: assert((Value(phase) == t) || (t != TypeInt::CC_GT && t != TypeInt::CC_EQ)) failed: missing Value() optimization Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/subtypenode.cpp + test/hotspot/jtreg/compiler/types/TestIntArraySubTypeOfCloneableDoesnotFold.java Changeset: 3ff8eff8 Author: Aditya Mandaleeka Committer: Roman Kennke Date: 2020-03-09 12:29:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3ff8eff8 8220503: Move ShenandoahTerminatorTerminator::should_exit_termination out of header Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.hpp Changeset: a11912ca Author: Kevin Walls Date: 2020-03-09 12:54:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a11912ca 8240295: hs_err elapsed time in seconds is not accurate enough Reviewed-by: dholmes, sspitsyn ! src/hotspot/share/runtime/os.cpp Changeset: e0fec43a Author: Mario Torre Date: 2020-03-09 14:57:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e0fec43a 8240738: nested comment in JVM.java and other minor formatting errors Reviewed-by: egahlin ! src/jdk.jfr/share/classes/jdk/jfr/internal/JVM.java Changeset: aa2be114 Author: Dongbo He Committer: Fei Yang Date: 2020-03-09 22:31:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/aa2be114 8240576: JVM crashes after transformation in C2 IdealLoopTree::merge_many_backedges Reviewed-by: kvn ! src/hotspot/share/opto/loopnode.cpp + test/hotspot/jtreg/compiler/loopopts/TestBeautifyLoops.java Changeset: dc178218 Author: Henry Jen Date: 2020-03-06 13:48:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/dc178218 8240629: argfiles parsing broken for argfiles with comment cross 4096 bytes chunk Reviewed-by: alanb, mchung ! src/java.base/share/native/libjli/args.c ! test/jdk/tools/launcher/ArgFileSyntax.java Changeset: 5c8f9356 Author: Daniel Fuchs Date: 2020-03-09 17:48:40 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5c8f9356 8240754: Instrument FlowTest.java to provide more debug traces Reviewed-by: chegar ! test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/FlowTest.java Changeset: 123ac070 Author: Naoto Sato Date: 2020-03-09 13:20:45 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/123ac070 8239836: ZoneRules.of() doesn't check transitionList/standardOffsetTL arguments validity Reviewed-by: rriggs, joehw, scolebourne ! src/java.base/share/classes/java/time/zone/ZoneRules.java ! test/jdk/java/time/test/java/time/zone/TestZoneRules.java Changeset: 672992f6 Author: Erik Gahlin Date: 2020-03-09 21:25:38 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/672992f6 8222000: JFR: Process start event Reviewed-by: mgronlun, rriggs ! src/java.base/share/classes/java/lang/ProcessBuilder.java + src/java.base/share/classes/jdk/internal/event/ProcessStartEvent.java + src/jdk.jfr/share/classes/jdk/jfr/events/ProcessStartEvent.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/jdk/jdk/jfr/event/metadata/TestDefaultConfigurations.java + test/jdk/jdk/jfr/event/os/TestProcessStart.java ! test/jdk/jdk/jfr/event/runtime/TestActiveSettingEvent.java ! test/lib/jdk/test/lib/jfr/EventNames.java Changeset: f09cda2c Author: Erik Gahlin Date: 2020-03-09 21:43:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f09cda2c 8239584: EventStream::close should state that stream will be stopped Reviewed-by: mgronlun, mseledtsov ! src/jdk.jfr/share/classes/jdk/jfr/consumer/EventStream.java ! src/jdk.jfr/share/classes/jdk/jfr/consumer/RecordingStream.java Changeset: 2ba5ed53 Author: Aleksey Shipilev Date: 2020-03-09 22:40:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2ba5ed53 8240749: Shenandoah: refactor ShenandoahUtils Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! 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/shenandoahUtils.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp Changeset: 9722dfc9 Author: Aleksey Shipilev Date: 2020-03-09 22:41:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9722dfc9 8240750: Shenandoah: remove leftover files and mentions of ShenandoahAllocTracker Reviewed-by: rkennke - src/hotspot/share/gc/shenandoah/shenandoahAllocTracker.cpp - src/hotspot/share/gc/shenandoah/shenandoahAllocTracker.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.cpp Changeset: d112950b Author: Aditya Mandaleeka Committer: Aleksey Shipilev Date: 2020-03-09 22:41:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d112950b 8230853: Shenandoah: replace leftover assert(is_in(...)) with rich asserts Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegionSet.inline.hpp Changeset: 43e0165e Author: Roland Westrelin Date: 2020-03-10 10:45:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/43e0165e 8240794: [BACKOUT] 8238384 CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found" Reviewed-by: thartmann ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/gcm.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/macro.hpp ! src/hotspot/share/opto/macroArrayCopy.cpp ! src/hotspot/share/opto/type.hpp - test/hotspot/jtreg/compiler/escapeAnalysis/TestCopyOfBrokenAntiDependency.java Changeset: d49eb0d9 Author: Ivan Walulya Date: 2020-03-10 10:19:34 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d49eb0d9 8240668: G1 list of all PerRegionTable does not have to be a double linkedlist any more Reviewed-by: kbarrett, tschatzl ! src/hotspot/share/gc/g1/heapRegionRemSet.cpp ! src/hotspot/share/gc/g1/heapRegionRemSet.hpp ! src/hotspot/share/gc/g1/heapRegionRemSet.inline.hpp Changeset: edaf548b Author: John Jiang Date: 2020-03-10 21:43:46 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/edaf548b 8238740: java/net/httpclient/whitebox/FlowTestDriver.java would not specify a TLS protocol Reviewed-by: dfuchs ! test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/FlowTest.java Changeset: aac5b27b Author: Markus Gr?nlund Date: 2020-03-10 15:44:59 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/aac5b27b 8238180: RunThese30M failed "assert(t->jfr_thread_local()->shelved_buffer() == __null) failed: invariant" Reviewed-by: egahlin ! src/hotspot/share/jfr/recorder/storage/jfrStorage.cpp Changeset: f4b54881 Author: Dongbo He Committer: Fei Yang Date: 2020-03-09 18:21:58 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f4b54881 8240734: ModuleHashes attribute not reproducible between builds Reviewed-by: alanb ! src/java.base/share/classes/jdk/internal/module/ModuleHashes.java ! src/java.base/share/classes/jdk/internal/module/ModuleHashesBuilder.java Changeset: 42ff13ab Author: Roland Westrelin Date: 2020-03-09 09:42:30 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/42ff13ab 8240195: some jaotc failures of fastdebug build with specific flags Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/subtypenode.cpp + test/hotspot/jtreg/compiler/types/TestSubTypeOfAsbtractClassWrongResult.java Changeset: 8208b9ce Author: Erik Gahlin Date: 2020-03-10 18:39:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8208b9ce 8240778: JFR: Create timer task lazily Reviewed-by: mgronlun, mseledtsov ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecorder.java ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecording.java Changeset: 072cfd2e Author: Vladimir Ivanov Date: 2020-03-10 20:51:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/072cfd2e 8238681: Make -XX:UseSSE flag x86-specific Reviewed-by: dholmes, kvn ! src/hotspot/cpu/ppc/vm_version_ppc.cpp ! src/hotspot/cpu/sparc/vm_version_sparc.cpp ! src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp ! src/hotspot/cpu/x86/c1_Runtime1_x86.cpp ! src/hotspot/cpu/x86/globals_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/share/c1/c1_LinearScan.cpp ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp ! test/hotspot/jtreg/compiler/c1/Test6579789.java ! test/hotspot/jtreg/compiler/c1/Test6855215.java Changeset: 1dcd3d2c Author: Vladimir Ivanov Date: 2020-03-10 20:51:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1dcd3d2c 8239008: C2: Simplify Replicate support for sub-word types on x86 Reviewed-by: kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/x86.ad Changeset: 02916dbb Author: Vladimir Ivanov Date: 2020-03-10 20:51:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/02916dbb 8239009: C2: Don't use PSHUF to load scalars from memory on x86 Reviewed-by: kvn, dlong ! src/hotspot/cpu/x86/x86.ad Changeset: 0e3529ad Author: Yumin Qi Date: 2020-03-10 11:52:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0e3529ad 8240691: ClhsdbCDSJstackPrintAll incorrectly thinks CDS is in use Fix by checking "UseSharedSpaces = false" for CDS enabled. Reviewed-by: iklam ! src/hotspot/share/prims/whitebox.cpp ! test/hotspot/jtreg/serviceability/sa/ClhsdbCDSCore.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbCDSJstackPrintAll.java Changeset: 75632a6d Author: Yudi Zheng Committer: Doug Simon Date: 2020-03-10 21:48:43 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/75632a6d 8240610: [JVMCI] Export VMVersion::_has_intel_jcc_erratum to JVMCI compiler Reviewed-by: kvn, thartmann ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp Changeset: 53c6887a Author: Yumin Qi Date: 2020-03-10 14:37:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/53c6887a 8240840: Rollback whitebox.cpp in push 8240691 Whitebox.cpp should not change in 8240691, which is accidentally included. Reviewed-by: iklam, ccheung ! src/hotspot/share/prims/whitebox.cpp Changeset: 39ab0731 Author: Vladimir Kozlov Date: 2020-03-10 14:39:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/39ab0731 8240830: [BACKOUT] 8240195: some jaotc failures of fastdebug build with specific flags Reviewed-by: dcubed ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/subtypenode.cpp - test/hotspot/jtreg/compiler/types/TestSubTypeOfAsbtractClassWrongResult.java Changeset: 0fd2ac70 Author: Jonathan Gibbons Date: 2020-03-10 14:46:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0fd2ac70 8240697: convert builders to high-level Content blocks Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractOverviewIndexWriter.java ! 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/AnnotationTypeWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassUseWriter.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/ConstantsSummaryWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DeprecatedListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DocFilesHandlerImpl.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/HtmlDocletWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/IndexRedirectWriter.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/Navigation.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/PackageTreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageUseWriter.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/SerializedFormWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SingleIndexWriter.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/SplitIndexWriter.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/TreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/BodyContents.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Head.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/Navigation.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/TableHeader.java Changeset: 5eef59d2 Author: Adam Sotona Date: 2020-03-10 17:33:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5eef59d2 8235216: typo in test filename Renamed MutliReleaseModuleInfoTest.java to MultiReleaseModuleInfoTest.java Reviewed-by: jjg + test/langtools/tools/javac/file/MultiReleaseJar/MultiReleaseModuleInfoTest.java - test/langtools/tools/javac/file/MultiReleaseJar/MutliReleaseModuleInfoTest.java Changeset: 08c3b1fc Author: Chihiro Ito Date: 2020-03-07 23:08:33 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/08c3b1fc 8222489: jcmd VM.system_properties gives unusable paths on Windows Reviewed-by: sspitsyn, ysuenaga ! src/java.base/share/classes/jdk/internal/vm/VMSupport.java + test/jdk/sun/tools/jcmd/TestVM.java Changeset: 80ca356e Author: Weijun Wang Date: 2020-03-11 10:33:33 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/80ca356e 8239928: ec/ECDSAJavaVerify.java failed due to timeout Reviewed-by: valeriep ! test/jdk/sun/security/ec/ECDSAJavaVerify.java Changeset: 99b28daf Author: Yasumasa Suenaga Date: 2020-03-11 13:14:40 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/99b28daf 8240725: Some functions might not work with CJK character Reviewed-by: naoto ! src/java.base/share/native/libzip/zip_util.c ! src/java.base/windows/native/libjava/canonicalize_md.c ! src/java.base/windows/native/libjli/java_md.c ! src/jdk.incubator.jpackage/windows/native/libapplauncher/WindowsPlatform.cpp Changeset: 441e16e2 Author: Magnus Ihse Bursie Date: 2020-03-11 08:34:14 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/441e16e2 8240820: Replace AC_ARG_ENABLE with UTIL_ARG_ENABLE Reviewed-by: erikj ! make/autoconf/build-performance.m4 ! make/autoconf/flags-cflags.m4 ! make/autoconf/hotspot.m4 ! make/autoconf/jdk-options.m4 ! make/autoconf/lib-ffi.m4 ! make/autoconf/platform.m4 ! make/autoconf/util.m4 ! test/make/autoconf/test.m4 Changeset: 1c1acb47 Author: Erik Helin Date: 2020-03-10 16:58:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1c1acb47 8237566: FindTests.gmk should only include existing TEST.ROOT files Reviewed-by: erikj ! make/common/FindTests.gmk Changeset: 593a05c9 Author: Stefan Karlsson Date: 2020-03-04 15:50:51 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/593a05c9 8240530: CheckUnhandledOops breaks BacktraceBuilder::set_has_hidden_top_frame Reviewed-by: coleenp, dholmes ! src/hotspot/share/classfile/javaClasses.cpp Changeset: 43e0fc04 Author: Stefan Karlsson Date: 2020-03-04 15:50:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/43e0fc04 8240529: CheckUnhandledOops breaks NULL check in Modules::define_module Reviewed-by: coleenp, lfoltan, hseigel ! src/hotspot/share/classfile/modules.cpp Changeset: 534331f0 Author: Stefan Karlsson Date: 2020-03-04 18:08:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/534331f0 8240532: heap inspection prints trailing @ after name of module without version Reviewed-by: lfoltan ! src/hotspot/share/memory/heapInspection.cpp ! test/hotspot/jtreg/serviceability/dcmd/gc/ClassHistogramTest.java Changeset: 661c0735 Author: Andrew Haley Date: 2020-03-10 10:49:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/661c0735 8240615: is_power_of_2() has Undefined Behaviour and is inconsistent Reviewed-by: jrose, redestad ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/utilities/powerOfTwo.hpp ! test/hotspot/gtest/utilities/test_powerOfTwo.cpp Changeset: 0992e17b Author: Andrew Haley Date: 2020-03-11 12:38:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0992e17b 8240829: Use a fast O(1) algorithm for exact_log2 Reviewed-by: jrose, redestad ! src/hotspot/share/utilities/powerOfTwo.hpp ! test/hotspot/gtest/utilities/test_powerOfTwo.cpp Changeset: d7780973 Author: Vipin Sharma Committer: Christoph Langer Date: 2020-03-11 13:50:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d7780973 8240524: Remove explicit type argument in test jdk/java/lang/Boolean/MakeBooleanComparable.java Reviewed-by: clanger, vtewari ! test/jdk/java/lang/Boolean/GetBoolean.java ! test/jdk/java/lang/Boolean/MakeBooleanComparable.java ! test/jdk/java/lang/Boolean/ParseBoolean.java Changeset: eb974fad Author: Aleksey Shipilev Date: 2020-03-11 14:17:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/eb974fad 8240868: Shenandoah: remove CM-with-UR piggybacking cycles Reviewed-by: rkennke, zgu ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.hpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeuristics.hpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.hpp ! src/hotspot/share/gc/shenandoah/shenandoahVMOperations.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVMOperations.hpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp ! src/hotspot/share/runtime/vmOperations.hpp ! test/hotspot/jtreg/gc/shenandoah/TestStringDedupStress.java Changeset: 6275aee6 Author: Andrew Haley Date: 2020-03-11 15:02:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6275aee6 Merge Changeset: 14e37ba3 Author: Alexey Bakhtin Committer: Andrew Brygin Date: 2020-03-11 19:14:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/14e37ba3 8239798: SSLSocket closes socket both socket endpoints on a SocketTimeoutException Reviewed-by: xuelei ! src/java.base/share/classes/sun/security/ssl/SSLSocketImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLSocketInputRecord.java ! src/java.base/share/classes/sun/security/ssl/SSLTransport.java ! test/jdk/sun/security/ssl/SSLSocketImpl/ClientTimeout.java ! test/jdk/sun/security/ssl/SSLSocketImpl/SSLExceptionForIOIssue.java Changeset: 5b323a86 Author: Adam Sotona Committer: Lance Andersen Date: 2020-03-11 12:30:23 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5b323a86 8230117: Remove unused JAR tool classes Reviewed-by: lancea, clanger - src/jdk.jartool/share/classes/sun/tools/jar/Manifest.java - src/jdk.jartool/share/classes/sun/tools/jar/SignatureFile.java Changeset: 8c6649de Author: Pavel Rappo Date: 2020-03-11 17:09:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8c6649de 8239487: Better links generation for system properties found in HTML files 8239485: Define behavior of the System Properties page when no system properties are available Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DocFilesHandlerImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SearchIndexItem.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SearchIndexItems.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SingleIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SplitIndexWriter.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/toolkit/DocFileElement.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java ! test/langtools/jdk/javadoc/doclet/testMetadata/TestMetadata.java ! test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/TestSystemPropertyPage.java + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src1/overview.html + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src1/pkg1/A.java + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src1/pkg1/doc-files/WithEmptyTitle.html + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src1/pkg1/doc-files/WithTitle.html + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src1/pkg1/doc-files/WithoutTitle.html + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src1/pkg2/B.java + test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/src2/pkg1/A.java ! test/langtools/jdk/javadoc/doclet/testSystemPropertyTaglet/TestSystemPropertyTaglet.java ! test/langtools/jdk/javadoc/tool/api/basic/APITest.java Changeset: db69852a Author: Serguei Spitsyn Date: 2020-03-11 20:28:43 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/db69852a 8240881: [BACKOUT] 8222489 jcmd VM.system_properties gives unusable paths on Windows Undo the 8222489 changeset Reviewed-by: dcubed, iklam ! src/java.base/share/classes/jdk/internal/vm/VMSupport.java - test/jdk/sun/tools/jcmd/TestVM.java Changeset: 5531199d Author: Alex Menkov Date: 2020-03-11 13:39:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5531199d 8240340: java/lang/management/ThreadMXBean/Locks.java is buggy Reviewed-by: dholmes, sspitsyn ! test/jdk/java/lang/management/ThreadMXBean/Locks.java ! test/lib/jdk/test/lib/LockFreeLogger.java Changeset: 6b487c3c Author: Magnus Ihse Bursie Date: 2020-03-11 22:25:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6b487c3c 8240866: Typo in JDK-8240820 messes up configure --help Reviewed-by: erikj ! make/autoconf/flags-cflags.m4 ! make/autoconf/hotspot.m4 Changeset: 5b9a09cb Author: Jonathan Gibbons Date: 2020-03-11 15:46:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5b9a09cb 8240138: Cleanup HtmlTree Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractTreeWriter.java ! 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/AnnotationTypeFieldWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassUseWriter.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/ConstantsSummaryWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstructorWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DeprecatedListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/EnumConstantWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/FieldWriterImpl.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/HtmlDocletWriter.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/ModuleWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageTreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageUseWriter.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/PropertyWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SerializedFormWriterImpl.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/TreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Comment.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/HtmlTag.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/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/Content.java Changeset: 069d9e79 Author: Yasumasa Suenaga Date: 2020-03-12 09:23:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/069d9e79 8234624: jstack mixed mode should refer DWARF Reviewed-by: sspitsyn, kevinw + src/jdk.hotspot.agent/linux/native/libsaproc/DwarfParser.cpp ! src/jdk.hotspot.agent/linux/native/libsaproc/LinuxDebuggerLocal.cpp + src/jdk.hotspot.agent/linux/native/libsaproc/dwarf.cpp + src/jdk.hotspot.agent/linux/native/libsaproc/dwarf.hpp ! src/jdk.hotspot.agent/linux/native/libsaproc/libproc.h ! src/jdk.hotspot.agent/linux/native/libsaproc/libproc_impl.c ! src/jdk.hotspot.agent/linux/native/libsaproc/libproc_impl.h ! src/jdk.hotspot.agent/linux/native/libsaproc/salibelf.c ! src/jdk.hotspot.agent/linux/native/libsaproc/salibelf.h ! src/jdk.hotspot.agent/linux/native/libsaproc/symtab.c ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/LinuxCDebugger.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/LinuxDebugger.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/LinuxDebuggerLocal.java + src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/amd64/DwarfParser.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64CFrame.java Changeset: 92686e1a Author: Jesper Wilhelmsson Date: 2020-03-12 03:10:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/92686e1a Added tag jdk-15+14 for changeset 1d6ceb13e142 ! .hgtags Changeset: b0f32c44 Author: Ioi Lam Date: 2020-03-11 21:37:45 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b0f32c44 8240548: [TESTBUG] CDS NoClassToArchive.java fails with Graal Reviewed-by: dholmes, mchung ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/NoClassToArchive.java Changeset: 19e02810 Author: Kelvin Nilsen Committer: Aleksey Shipilev Date: 2020-03-12 06:47:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/19e02810 8225216: gc/logging/TestMetaSpaceLog.java doesn't work for Shenandoah Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! test/hotspot/jtreg/TEST.groups ! test/hotspot/jtreg/gc/logging/TestMetaSpaceLog.java Changeset: 0368e41c Author: Weijun Wang Date: 2020-03-12 18:21:59 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0368e41c 8240261: Use make/templates/gpl-cp-header in FieldGen.java Reviewed-by: erikj ! make/gensrc/Gensrc-java.base.gmk ! make/jdk/src/classes/build/tools/intpoly/FieldGen.java - make/jdk/src/classes/build/tools/intpoly/header.txt + make/jdk/src/classes/build/tools/util/Header.java Changeset: c5bd0d79 Author: Richard Reingruber Date: 2020-03-12 11:51:00 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c5bd0d79 8234146: compiler/jsr292/ContinuousCallSiteTargetChange.java times out on SPARC Reviewed-by: vlivanov, thartmann ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/compiler/jsr292/ContinuousCallSiteTargetChange.java Changeset: 7fe46b24 Author: Claes Redestad Date: 2020-03-12 13:07:21 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7fe46b24 8240772: x86_64: Pre-generate Assembler::popa, pusha and vzeroupper Reviewed-by: iklam, kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/vm_version_x86.cpp Changeset: d49cf17d Author: Claes Redestad Date: 2020-03-05 16:07:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d49cf17d 8240669: Devirtualize Relocation::type Reviewed-by: rbackman, thartmann ! src/hotspot/share/code/relocInfo.cpp ! src/hotspot/share/code/relocInfo.hpp Changeset: 21d3eaf5 Author: Yudi Zheng Committer: Doug Simon Date: 2020-03-12 13:20:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/21d3eaf5 8240831: [JVMCI] Export missing vmStructs entries used by JVMCI compilers Reviewed-by: kvn, thartmann ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp Changeset: 1f189228 Author: Zhengyu Gu Date: 2020-03-12 09:25:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1f189228 8240915: Shenandoah: Remove unused fields in init mark tasks Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Changeset: 48c48b7a Author: Vladimir Ivanov Date: 2020-03-12 16:42:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/48c48b7a 8238696: x86: Enumerate all detected CPU features in VM_Version feature string Reviewed-by: dholmes, kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/cpu/x86/vm_version_x86.hpp ! src/hotspot/cpu/x86/x86.ad + test/jdk/lib/testlibrary/CPUInfoTest.java Changeset: add18914 Author: Severin Gehwolf Date: 2020-02-25 12:17:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/add18914 8239785: Cgroups: Incorrect detection logic on old systems in hotspot Return NULL subsystem if no cgroup controllers are mounted. Reviewed-by: bobv, mbaesken ! src/hotspot/os/linux/cgroupSubsystem_linux.cpp ! src/hotspot/os/linux/cgroupSubsystem_linux.hpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/prims/whitebox.hpp + test/hotspot/jtreg/containers/cgroup/CgroupSubsystemFactory.java ! test/lib/sun/hotspot/WhiteBox.java Changeset: eeaafbe1 Author: Naoto Sato Date: 2020-03-12 08:31:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/eeaafbe1 8216332: Grapheme regex does not work with emoji sequences Reviewed-by: rriggs ! src/java.base/share/classes/java/util/regex/Grapheme.java + test/jdk/java/util/regex/GraphemeTestCases.txt ! test/jdk/java/util/regex/RegExTest.java Changeset: fee69bab Author: Roger Riggs Date: 2020-03-12 11:54:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/fee69bab 8240704: CheckHandles.java failed "AssertionError: Handle use increased by more than 10 percent." Reviewed-by: dfuchs ! test/jdk/java/lang/ProcessBuilder/checkHandles/CheckHandles.java Changeset: c68e15c0 Author: Roger Riggs Date: 2020-03-12 11:57:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c68e15c0 8240957: Clarify BadAttributeValueExpException readObject method Reviewed-by: bpb ! src/java.management/share/classes/javax/management/BadAttributeValueExpException.java Changeset: 90a39195 Author: Yumin Qi Date: 2020-03-12 09:07:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/90a39195 8240563: [TESTBUG] WB_IsCDSIncludedInVmBuild should support uncompressed oops/klasses With 8232069, CDS works with uncompressed oops/kalsses, detecting CDS code no longer bases on the two flags. Reviewed-by: iklam ! src/hotspot/share/prims/whitebox.cpp ! test/hotspot/jtreg/ProblemList-zgc.txt ! test/hotspot/jtreg/runtime/cds/appcds/CommandLineFlagComboNegative.java ! test/hotspot/jtreg/runtime/cds/appcds/TestZGCWithCDS.java Changeset: 70e730fd Author: Roman Kennke Date: 2020-03-12 17:52:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/70e730fd 8240872: Shenandoah: Avoid updating new regions from start of evacuation Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp Changeset: e5ab7011 Author: Roman Kennke Date: 2020-03-12 17:52:47 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e5ab7011 8240873: Shenandoah: Short-cut arraycopy barriers Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSetClone.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Changeset: 0ed44d0a Author: Patrick Concannon Date: 2020-03-12 17:08:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0ed44d0a 8239355: (dc) Initial value of SO_SNDBUF should allow sending large datagrams (macOS) Updates DatagramChannel so that the SO_SNDBUF is set to a minimum value of 65527 for IPv6 sockets and 65507 for IPv4 sockets on macOS. Reviewed-by: alanb, dfuchs ! src/java.base/unix/native/libnio/ch/Net.c ! test/jdk/java/net/IPSupport/MinimumPermissions.policy + test/jdk/java/nio/channels/DatagramChannel/MinSendBufferSize.java ! test/lib/jdk/test/lib/net/IPSupport.java Changeset: 71e1277f Author: Zhengyu Gu Date: 2020-03-12 13:08:40 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/71e1277f 8240917: Shenandoah: Avoid scanning thread code roots twice in all root scanner Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp Changeset: de5208e3 Author: Patrick Concannon Date: 2020-03-12 17:20:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/de5208e3 Merge Changeset: 3ee99ca1 Author: Aleksey Shipilev Date: 2020-03-12 18:50:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3ee99ca1 8240948: Shenandoah: cleanup not-forwarded-objects paths after JDK-8240868 Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp Changeset: 58337b12 Author: Daniel Fuchs Date: 2020-03-12 18:31:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/58337b12 8059309: network tests fail with "java.net.SocketException: Couldn't obtain phys addr" when run as "root" The solaris specific code is changed to use the fallback mechanism if the DLPI interface returns an error indicating that the operation is unsupported. In addition, NetworkInterface::getHardwareAddress is changed to always return null for the loopback interface. Reviewed-by: alanb ! src/java.base/share/classes/java/net/NetworkInterface.java ! src/java.base/unix/native/libnet/NetworkInterface.c + test/jdk/java/net/NetworkInterface/NullMacAddress.java Changeset: 3aceb74a Author: Magnus Ihse Bursie Date: 2020-03-12 19:40:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3aceb74a 8240947: Change conflicting JVM features from warning to error Reviewed-by: erikj ! make/autoconf/jvm-features.m4 Changeset: ed8c11e0 Author: Magnus Ihse Bursie Date: 2020-03-12 19:42:06 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ed8c11e0 8149110: Introduce DISABLED_WARNINGS for Java compilation Reviewed-by: erikj ! make/CompileDemos.gmk ! make/CompileInterimLangtools.gmk ! make/CompileInterimRmic.gmk ! make/CompileJavaModules.gmk ! make/CompileModuleTools.gmk ! make/CompileToolsJdk.gmk ! make/common/JavaCompilation.gmk ! make/common/SetupJavaCompilers.gmk ! make/hotspot/gensrc/GensrcJfr.gmk ! make/hotspot/gensrc/GensrcJvmti.gmk ! make/hotspot/ide/CreateVSProject.gmk ! make/test/BuildFailureHandler.gmk ! make/test/BuildMicrobenchmark.gmk ! make/test/JtregGraalUnit.gmk Changeset: 36fac8c3 Author: Magnus Ihse Bursie Date: 2020-03-12 19:43:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/36fac8c3 8240950: Missing AC_SUBST after JDK-82408 Reviewed-by: erikj ! make/autoconf/build-performance.m4 Changeset: d5d6dc0c Author: Mandy Chung Date: 2020-03-12 11:54:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d5d6dc0c 8228336: Refactor native library loading implementation Reviewed-by: alanb, dholmes ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/nativeLookup.cpp - src/java.base/macosx/classes/java/lang/ClassLoaderHelper.java + src/java.base/macosx/classes/jdk/internal/loader/ClassLoaderHelper.java ! src/java.base/share/classes/java/lang/ClassLoader.java ! src/java.base/share/classes/java/lang/Runtime.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 + src/java.base/share/classes/jdk/internal/loader/NativeLibraries.java + src/java.base/share/classes/jdk/internal/loader/NativeLibrary.java ! src/java.base/share/native/libjava/ClassLoader.c + src/java.base/share/native/libjava/NativeLibraries.c - src/java.base/unix/classes/java/lang/ClassLoaderHelper.java + src/java.base/unix/classes/jdk/internal/loader/ClassLoaderHelper.java = src/java.base/windows/classes/jdk/internal/loader/ClassLoaderHelper.java ! test/jdk/java/lang/ClassLoader/LibraryPathProperty.java Changeset: e9494f21 Author: Mandy Chung Date: 2020-03-12 11:56:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e9494f21 8240242: improve the javadoc for Lookup::dropLookupModes w.r.t. dropping UNCONDITIONAL Reviewed-by: chegar, rriggs ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java Changeset: e30b89e1 Author: Junyuan Zheng Committer: Erik Joelsson Date: 2020-03-12 12:55:19 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e30b89e1 8240972: macOS codesign fail on macOS 10.13.5 or older Reviewed-by: erikj, ihse ! make/autoconf/basic_tools.m4 Changeset: 5bc78c43 Author: Jonathan Gibbons Date: 2020-03-12 13:56:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5bc78c43 8240971: Fix CSS styles in some doc comments Reviewed-by: mchung ! src/java.base/share/classes/module-info.java ! src/java.management.rmi/share/classes/module-info.java ! src/java.se/share/classes/module-info.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css ! src/jdk.jconsole/share/classes/module-info.java Changeset: 2eaeb206 Author: Jonathan Gibbons Date: 2020-03-12 14:14:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2eaeb206 8240555: Using env of JAVA_TOOL_OPTIONS and _JAVA_OPTIONS breaks QuietOption.java test Reviewed-by: shurailine, prappo ! test/langtools/jdk/javadoc/tool/QuietOption.java Changeset: 0610992a Author: Valerie Peng Date: 2020-03-12 22:11:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0610992a 8238566: java.security.Provider$Service.supportsParameter() is racy Use double-checked-locking pattern inside the hasKeyAttributes() method Reviewed-by: xuelei ! src/java.base/share/classes/java/security/Provider.java Changeset: 38940d16 Author: Calvin Cheung Date: 2020-03-12 16:05:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/38940d16 8238000: Crash in ClassLoader::record_result while dynamic dumping netty Make a copy of the _shared_path_table for use during dynamic CDS dump. Reviewed-by: iklam, minqi ! src/hotspot/share/memory/dynamicArchive.cpp ! src/hotspot/share/memory/filemap.cpp ! src/hotspot/share/memory/filemap.hpp ! src/hotspot/share/memory/metaspaceShared.cpp Changeset: a8b48018 Author: Jie Fu Date: 2020-03-13 17:01:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a8b48018 8240846: Zero VM is broken after JDK-8238681: UseSSE not defined Reviewed-by: shade, rehn, vlivanov ! src/hotspot/share/compiler/compileBroker.cpp Changeset: 2a35bc5a Author: Roland Westrelin Date: 2020-03-11 10:32:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2a35bc5a 8240854: [REDO] some jaotc failures of fastdebug build with specific flags Reviewed-by: vlivanov, kvn, thartmann ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/subtypenode.cpp + test/hotspot/jtreg/compiler/types/TestSubTypeOfAsbtractClassWrongResult.java Changeset: 05c539c9 Author: Weijun Wang Date: 2020-03-13 17:45:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/05c539c9 8240980: Backout JDK-8240261 Reviewed-by: dholmes ! make/gensrc/Gensrc-java.base.gmk ! make/jdk/src/classes/build/tools/intpoly/FieldGen.java + make/jdk/src/classes/build/tools/intpoly/header.txt - make/jdk/src/classes/build/tools/util/Header.java Changeset: ae8bc600 Author: duke Date: 2020-03-13 11:00:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ae8bc600 Automatic merge of jdk:master into master Changeset: af93b670 Author: duke Date: 2020-03-13 11:02:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/af93b670 Automatic merge of master into foreign-memaccess ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/module-info.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java ! src/java.base/share/classes/module-info.java Changeset: 96ffeca9 Author: Maurizio Cimadamore Date: 2020-03-13 14:08:15 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/96ffeca9 Merge Reviewed-by: jvernee ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/share/prims/nativeLookup.cpp ! 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/classes/module-info.java + src/java.base/share/native/libjava/NativeLibraries.c ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/LibrariesHelper.java ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/share/prims/nativeLookup.cpp ! 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/classes/module-info.java ! src/java.base/share/native/libjava/NativeLibraries.c + src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/LibrariesHelper.java Changeset: 9f723420 Author: duke Date: 2020-03-13 14:09:33 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9f723420 Automatic merge of foreign-abi into foreign-jextract ! make/CompileJavaModules.gmk ! make/CompileJavaModules.gmk From jvernee at openjdk.java.net Fri Mar 13 14:44:20 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Fri, 13 Mar 2020 14:44:20 GMT Subject: [foreign-jextract] [Rev 01] RFR: Update the README with Panama specific information, and information about the repo In-Reply-To: References: Message-ID: > Hi, > > This patch updates the README file on the foreign-jextract branch, since that is features prominently on GitHub. > > It also renames the file to README.md, so that GitHub picks up the right formatting. Jorn Vernee has updated the pull request incrementally with two additional commits since the last revision: - Fixing some typos - Review comments ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/51/files - new: https://git.openjdk.java.net/panama-foreign/pull/51/files/c007f72e..36a7a5fc Webrevs: - full: https://webrevs.openjdk.java.net/panama-foreign/51/webrev.01 - incr: https://webrevs.openjdk.java.net/panama-foreign/51/webrev.00-01 Stats: 10 lines in 1 file changed: 0 ins; 0 del; 10 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/51.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/51/head:pull/51 PR: https://git.openjdk.java.net/panama-foreign/pull/51 From jvernee at openjdk.java.net Fri Mar 13 14:44:22 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Fri, 13 Mar 2020 14:44:22 GMT Subject: [foreign-jextract] [Rev 01] RFR: Update the README with Panama specific information, and information about the repo In-Reply-To: References: Message-ID: On Fri, 13 Mar 2020 14:40:05 GMT, Jorn Vernee wrote: >> Hi, >> >> This patch updates the README file on the foreign-jextract branch, since that is features prominently on GitHub. >> >> It also renames the file to README.md, so that GitHub picks up the right formatting. > > Jorn Vernee has updated the pull request incrementally with two additional commits since the last revision: > > - Fixing some typos > - Review comments Fixing some typos README.md line 17: > 16: =================== > 17: This repository contains changes which aims at improving the interoperability between the Java programming language > and native libraries, which one of the main goals of Project Panama. More information can be found at: > https://openjdk.java.net/projects/panama/ 18: Suggestion: This repository contains changes which aim at improving the interoperability between the Java programming language and native libraries, which is one of the main goals of Project Panama. More information can be found at: https://openjdk.java.net/projects/panama/ README.md line 21: > 20: > 21: Early acccess (EA) binary snapshot can be found at: http://jdk.java.net/panama/ > 22: Suggestion: Early acccess (EA) binary snapshots can be found at: http://jdk.java.net/panama/ README.md line 26: > 25: This repository houses three main branches: > 26: - **foreign-memaccess**: Contains the developement of the foreign memory access API for [JEP > 370](https://openjdk.java.net/jeps/370), which can be used to interact with different kinds of memory resource, > inluding so-called off-heap or native memory. 27: - **foreign-abi**: Contains the developement of the foreign function > interface (FFI), which can be used to call native code in a .dll/.so/.dylib, or to create a native function pointer to > a Java method which can be passed to code in a native library. Suggestion: - **foreign-memaccess**: Contains the developement of the foreign memory access API for [JEP 370](https://openjdk.java.net/jeps/370), which can be used to interact with different kinds of memory resources, including so-called off-heap or native memory. README.md line 27: > 26: - **foreign-memaccess**: Contains the developement of the foreign memory access API for [JEP > 370](https://openjdk.java.net/jeps/370), which can be used to interact with different kinds of memory resource, > inluding so-called off-heap or native memory. 27: - **foreign-abi**: Contains the developement of the foreign function > interface (FFI), which can be used to call native code in a .dll/.so/.dylib, or to create a native function pointer to > a Java method which can be passed to code in a native library. 28: - **foreign-jextract**: Contains the development of > an API to parse native headers, which can be used to create an abstract representation (declarations) from a C header > file. This branch also provides an accompanying extraction tool (jextract), which is built on top of the API, and can > be used to generate Java bindings to access functions and/or structs in a native library described by a given header > file. Suggestion: - **foreign-abi**: Contains the developement of the foreign function interface (FFI), which can be used to call native code in a .dll/.so/.dylib, or to create a native function pointer to a Java method which can be passed to code in a native library. README.md line 30: > 29: > 30: The foreign-jextract branch depends on the foreign-abi branch, which in turn depends on the foreign-memaccess > branch. As such, the foreign-jextract is the most complete of the three and therefore the default branch of this > repositorysitory. 31: Suggestion: The foreign-jextract branch depends on the foreign-abi branch, which in turn depends on the foreign-memaccess branch. As such, the foreign-jextract branch is the most complete of the three and therefore the default branch of this repository. README.md line 34: > 33: =================== > 34: Jextract requires [LLVM 9.x](https://releases.llvm.org/download.html) as a dependency. So, to build the > foreign-jextract branch, the flag --with-libclang=/path/to/llvm/root must be supplied when generating a build > configuration. Please see > [doc/building.md](https://github.com/openjdk/panama-foreign/blob/foreign-jextract/doc/building.md) for general building > instructions. Suggestion: Jextract requires [LLVM 9.x](https://releases.llvm.org/download.html) as a dependency. So, to build the foreign-jextract branch, the flag `--with-libclang=/path/to/llvm/root` must be supplied when generating a build configuration. Please see [doc/building.md](https://github.com/openjdk/panama-foreign/blob/foreign-jextract/doc/building.md) for general building instructions. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/51 From mcimadamore at openjdk.java.net Fri Mar 13 15:04:54 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Fri, 13 Mar 2020 15:04:54 GMT Subject: [foreign-memaccess] RFR: 8241011: Internal access modes should be filtered Message-ID: This patch fixes some of the issues introduced by JDK-8240874; since MemorySegmentImpl is using some internal flags, we should filter out internal flags when user queries for access modes. Moreover, we should detect situations where the user is trying to set or set access modes which fall outside the supported mask. Few tests have been added to catch these situations. ------------- Commit messages: - JDK-8241011: Internal access modes should be filtered Changes: https://git.openjdk.java.net/panama-foreign/pull/52/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/52/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8241011 Stats: 30 lines in 2 files changed: 26 ins; 0 del; 4 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/52.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/52/head:pull/52 PR: https://git.openjdk.java.net/panama-foreign/pull/52 From mcimadamore at openjdk.java.net Fri Mar 13 15:06:09 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Fri, 13 Mar 2020 15:06:09 GMT Subject: [foreign-jextract] [Rev 01] RFR: Update the README with Panama specific information, and information about the repo In-Reply-To: References: Message-ID: On Fri, 13 Mar 2020 14:44:20 GMT, Jorn Vernee wrote: >> Hi, >> >> This patch updates the README file on the foreign-jextract branch, since that is features prominently on GitHub. >> >> It also renames the file to README.md, so that GitHub picks up the right formatting. > > Jorn Vernee has updated the pull request incrementally with two additional commits since the last revision: > > - Fixing some typos > - Review comments Looks good! ------------- Marked as reviewed by mcimadamore (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/51 From jvernee at openjdk.java.net Fri Mar 13 15:09:20 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Fri, 13 Mar 2020 15:09:20 GMT Subject: [Integrated] [foreign-jextract] RFR: Update the README with Panama specific information, and information about the repo In-Reply-To: References: Message-ID: Changeset: 28756e3a Author: Jorn Vernee Date: 2020-03-13 15:08:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/28756e3a Update the README with Panama specific information, and information about the repo Reviewed-by: mcimadamore - README + README.md From mcimadamore at openjdk.java.net Fri Mar 13 16:36:15 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Fri, 13 Mar 2020 16:36:15 GMT Subject: [foreign-abi] RFR: 8241017: Enhance AllocationScope to support "unbounded" mode Message-ID: <9RWeKhZO4W0typ3mvMse-SqSKfIc3tZu1EtMomA7X_0=.ac48009e-5022-4259-a197-a8f3b3a5b7b6@github.com> This patch adds support for allocation scopes whose size is not known statically; as such these new unbounded allocation scope can be used in more dynamic use cases where e.g. the amount of memory to be allocated depends on the result of other native calls. Internally, the bounded version works as before, and is the more optimized. The unbounded version is similar in spirit to the old Panama/foreign scope - where new segments are allocated depending on needs. I've enhanced the existing test covering allocation scopes to also cover the unbounded variants, as well as the bounded. ------------- Commit messages: - JDK-8241017: Enhance AllocationScope to support "unbounded" mode Changes: https://git.openjdk.java.net/panama-foreign/pull/53/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/53/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8241017 Stats: 320 lines in 4 files changed: 240 ins; 25 del; 55 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/53.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/53/head:pull/53 PR: https://git.openjdk.java.net/panama-foreign/pull/53 From jvernee at openjdk.java.net Fri Mar 13 16:55:45 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Fri, 13 Mar 2020 16:55:45 GMT Subject: [foreign-memaccess] RFR: 8241011: Internal access modes should be filtered In-Reply-To: References: Message-ID: On Fri, 13 Mar 2020 15:00:35 GMT, Maurizio Cimadamore wrote: > This patch fixes some of the issues introduced by JDK-8240874; since MemorySegmentImpl is using some internal flags, we > should filter out internal flags when user queries for access modes. Moreover, we should detect situations where the > user is trying to set or set access modes which fall outside the supported mask. Few tests have been added to catch > these situations. LGTM ------------- Marked as reviewed by jvernee (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/52 From duke at openjdk.java.net Fri Mar 13 17:01:53 2020 From: duke at openjdk.java.net (duke) Date: Fri, 13 Mar 2020 17:01:53 GMT Subject: git: openjdk/panama-foreign: foreign-jextract: 2 new changesets Message-ID: <8a39ebe6-0874-49b1-bf3d-7133b94c43f4@openjdk.org> Changeset: 89040c9c Author: duke Date: 2020-03-13 17:00:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/89040c9c Automatic merge of foreign-memaccess into foreign-abi ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java ! test/jdk/java/foreign/TestSegments.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java ! test/jdk/java/foreign/TestSegments.java Changeset: 4394f278 Author: duke Date: 2020-03-13 17:00:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/4394f278 Automatic merge of foreign-abi into foreign-jextract From mcimadamore at openjdk.java.net Fri Mar 13 17:01:34 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Fri, 13 Mar 2020 17:01:34 GMT Subject: [Integrated] [foreign-memaccess] RFR: 8241011: Internal access modes should be filtered In-Reply-To: References: Message-ID: <4f6a3987-9e75-4401-8679-6fa5c11db9cf@openjdk.org> Changeset: 15eb92ad Author: Maurizio Cimadamore Date: 2020-03-13 16:59:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/15eb92ad 8241011: Internal access modes should be filtered Reviewed-by: jvernee ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java ! test/jdk/java/foreign/TestSegments.java From duke at openjdk.java.net Fri Mar 13 17:01:37 2020 From: duke at openjdk.java.net (duke) Date: Fri, 13 Mar 2020 17:01:37 GMT Subject: git: openjdk/panama-foreign: foreign-abi: Automatic merge of foreign-memaccess into foreign-abi Message-ID: Changeset: 89040c9c Author: duke Date: 2020-03-13 17:00:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/89040c9c Automatic merge of foreign-memaccess into foreign-abi ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java ! test/jdk/java/foreign/TestSegments.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java ! test/jdk/java/foreign/TestSegments.java From mcimadamore at openjdk.java.net Fri Mar 13 17:01:46 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Fri, 13 Mar 2020 17:01:46 GMT Subject: [Integrated] [foreign-memaccess] RFR: 8241011: Internal access modes should be filtered In-Reply-To: References: Message-ID: <26653dd4-e10e-4fd5-8c14-fc412b1d0219@openjdk.org> Changeset: 15eb92ad Author: Maurizio Cimadamore Date: 2020-03-13 16:59:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/15eb92ad 8241011: Internal access modes should be filtered Reviewed-by: jvernee ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java ! test/jdk/java/foreign/TestSegments.java From mcimadamore at openjdk.java.net Fri Mar 13 17:00:37 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Fri, 13 Mar 2020 17:00:37 GMT Subject: [Integrated] [foreign-memaccess] RFR: 8241011: Internal access modes should be filtered In-Reply-To: References: Message-ID: <6a22e573-a80f-4fb4-a394-b7d6fd19e948@openjdk.org> Changeset: 15eb92ad Author: Maurizio Cimadamore Date: 2020-03-13 16:59:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/15eb92ad 8241011: Internal access modes should be filtered Reviewed-by: jvernee ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java ! test/jdk/java/foreign/TestSegments.java From jvernee at openjdk.java.net Fri Mar 13 17:45:08 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Fri, 13 Mar 2020 17:45:08 GMT Subject: [foreign-abi] RFR: 8241017: Enhance AllocationScope to support "unbounded" mode In-Reply-To: <9RWeKhZO4W0typ3mvMse-SqSKfIc3tZu1EtMomA7X_0=.ac48009e-5022-4259-a197-a8f3b3a5b7b6@github.com> References: <9RWeKhZO4W0typ3mvMse-SqSKfIc3tZu1EtMomA7X_0=.ac48009e-5022-4259-a197-a8f3b3a5b7b6@github.com> Message-ID: On Fri, 13 Mar 2020 16:29:26 GMT, Maurizio Cimadamore wrote: > This patch adds support for allocation scopes whose size is not known statically; as such these new unbounded > allocation scope can be used in more dynamic use cases where e.g. the amount of memory to be allocated depends on the > result of other native calls. Internally, the bounded version works as before, and is the more optimized. The > unbounded version is similar in spirit to the old Panama/foreign scope - where new segments are allocated depending on > needs. I've enhanced the existing test covering allocation scopes to also cover the unbounded variants, as well as the > bounded. Looks good, just some minor comments. src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/AllocationScope.java line 39: > 38: * of the allocation scope is known statically. If an application knows before-hand how much memory it needs to > allocate the values it needs, 39: * using a bound allocation scope will typically provide better performances > than independently allocating the memory 40: * for each value (e.g. using {@link MemorySegment#allocateNative(long)}), > or using an unbounded allocation scope. Typo Suggestion: * using a bounded allocation scope will typically provide better performances than independently allocating the memory src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/AllocationScope.java line 41: > 40: * for each value (e.g. using {@link MemorySegment#allocateNative(long)}), or using an unbounded > allocation scope. 41: * For this reason, using a bound allocation scope is recommended in cases where programs might > need to emulate native stack allocation. 42: */ Same typo Suggestion: * For this reason, using a bounded allocation scope is recommended in cases where programs might need to emulate native stack allocation. src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/AllocationScope.java line 46: > 45: /** > 46: * If this allocation scope is bound, returns the size, in bytes, of this allocation scope. > 47: * @return the size, in bytes, of this allocation scope (if available). Suggestion: * If this allocation scope is bounded, returns the size, in bytes, of this allocation scope. src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/UnboundedAllocationScope.java line 71: > 70: sp = start + bytesSize; > 71: size += Utils.alignUp(bytesSize, bytesAlignment); > 72: return slice.baseAddress(); Aren't `sp` and `size` always the same? Are 2 separate fields really needed? ------------- Marked as reviewed by jvernee (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/53 From henryjen at openjdk.java.net Fri Mar 13 19:59:17 2020 From: henryjen at openjdk.java.net (Henry Jen) Date: Fri, 13 Mar 2020 19:59:17 GMT Subject: [foreign-abi] RFR: 8241017: Enhance AllocationScope to support "unbounded" mode In-Reply-To: <9RWeKhZO4W0typ3mvMse-SqSKfIc3tZu1EtMomA7X_0=.ac48009e-5022-4259-a197-a8f3b3a5b7b6@github.com> References: <9RWeKhZO4W0typ3mvMse-SqSKfIc3tZu1EtMomA7X_0=.ac48009e-5022-4259-a197-a8f3b3a5b7b6@github.com> Message-ID: On Fri, 13 Mar 2020 16:29:26 GMT, Maurizio Cimadamore wrote: > This patch adds support for allocation scopes whose size is not known statically; as such these new unbounded > allocation scope can be used in more dynamic use cases where e.g. the amount of memory to be allocated depends on the > result of other native calls. Internally, the bounded version works as before, and is the more optimized. The > unbounded version is similar in spirit to the old Panama/foreign scope - where new segments are allocated depending on > needs. I've enhanced the existing test covering allocation scopes to also cover the unbounded variants, as well as the > bounded. src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/UnboundedAllocationScope.java line 76: > 75: usedSegments.add(segment); > 76: segment = segmentFactory.apply(BLOCK_SIZE); > 77: } So we have a hard limit of allocation size no larger then 4K, is the intentional? I would like to see what we have for NativeScope in the foreign-branch for unbounded, when allocation larger than the block, we can just allocate it and give back that as a single-used MS. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/53 From mcimadamore at openjdk.java.net Fri Mar 13 21:52:05 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Fri, 13 Mar 2020 21:52:05 GMT Subject: [foreign-abi] RFR: 8241017: Enhance AllocationScope to support "unbounded" mode In-Reply-To: References: <9RWeKhZO4W0typ3mvMse-SqSKfIc3tZu1EtMomA7X_0=.ac48009e-5022-4259-a197-a8f3b3a5b7b6@github.com> Message-ID: On Fri, 13 Mar 2020 17:19:45 GMT, Jorn Vernee wrote: >> This patch adds support for allocation scopes whose size is not known statically; as such these new unbounded >> allocation scope can be used in more dynamic use cases where e.g. the amount of memory to be allocated depends on the >> result of other native calls. Internally, the bounded version works as before, and is the more optimized. The >> unbounded version is similar in spirit to the old Panama/foreign scope - where new segments are allocated depending on >> needs. I've enhanced the existing test covering allocation scopes to also cover the unbounded variants, as well as the >> bounded. > > src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/UnboundedAllocationScope.java line 71: > >> 70: sp = start + bytesSize; >> 71: size += Utils.alignUp(bytesSize, bytesAlignment); >> 72: return slice.baseAddress(); > > Aren't `sp` and `size` always the same? Are 2 separate fields really needed? The idea is that size keeps track of total allocation size, sp is just a pointer into current segment and is reset every time - unless I made a mistake ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/53 From mcimadamore at openjdk.java.net Fri Mar 13 22:04:22 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Fri, 13 Mar 2020 22:04:22 GMT Subject: [foreign-abi] [Rev 01] RFR: 8241017: Enhance AllocationScope to support "unbounded" mode In-Reply-To: <9RWeKhZO4W0typ3mvMse-SqSKfIc3tZu1EtMomA7X_0=.ac48009e-5022-4259-a197-a8f3b3a5b7b6@github.com> References: <9RWeKhZO4W0typ3mvMse-SqSKfIc3tZu1EtMomA7X_0=.ac48009e-5022-4259-a197-a8f3b3a5b7b6@github.com> Message-ID: > This patch adds support for allocation scopes whose size is not known statically; as such these new unbounded > allocation scope can be used in more dynamic use cases where e.g. the amount of memory to be allocated depends on the > result of other native calls. Internally, the bounded version works as before, and is the more optimized. The > unbounded version is similar in spirit to the old Panama/foreign scope - where new segments are allocated depending on > needs. I've enhanced the existing test covering allocation scopes to also cover the unbounded variants, as well as the > bounded. Maurizio Cimadamore has updated the pull request incrementally with three additional commits since the last revision: - Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/AllocationScope.java Co-Authored-By: Jorn Vernee - Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/AllocationScope.java Co-Authored-By: Jorn Vernee - Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/AllocationScope.java Co-Authored-By: Jorn Vernee ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/53/files - new: https://git.openjdk.java.net/panama-foreign/pull/53/files/fbf5ef77..5cfb84ae Webrevs: - full: https://webrevs.openjdk.java.net/panama-foreign/53/webrev.01 - incr: https://webrevs.openjdk.java.net/panama-foreign/53/webrev.00-01 Stats: 3 lines in 1 file changed: 0 ins; 0 del; 3 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/53.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/53/head:pull/53 PR: https://git.openjdk.java.net/panama-foreign/pull/53 From mcimadamore at openjdk.java.net Fri Mar 13 22:04:23 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Fri, 13 Mar 2020 22:04:23 GMT Subject: [foreign-abi] [Rev 01] RFR: 8241017: Enhance AllocationScope to support "unbounded" mode In-Reply-To: References: <9RWeKhZO4W0typ3mvMse-SqSKfIc3tZu1EtMomA7X_0=.ac48009e-5022-4259-a197-a8f3b3a5b7b6@github.com> Message-ID: <9gKdxowsiSrAJrkgewCPi4tJJbPbdTc3YFJB5DkTAWo=.5559495a-4ae9-44aa-8c1a-6125f64730ae@github.com> On Fri, 13 Mar 2020 19:56:25 GMT, Henry Jen wrote: >> Maurizio Cimadamore has updated the pull request incrementally with three additional commits since the last revision: >> >> - Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/AllocationScope.java >> >> Co-Authored-By: Jorn Vernee >> - Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/AllocationScope.java >> >> Co-Authored-By: Jorn Vernee >> - Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/AllocationScope.java >> >> Co-Authored-By: Jorn Vernee > > src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/UnboundedAllocationScope.java line 76: > >> 75: usedSegments.add(segment); >> 76: segment = segmentFactory.apply(BLOCK_SIZE); >> 77: } > > So we have a hard limit of allocation size no larger then 4K, is the intentional? > > I would like to see what we have for NativeScope in the foreign-branch for unbounded, when allocation larger than the > block, we can just allocate it and give back that as a single-used MS. I considered allocating standalone segments of any size - this is easy to do in the implementation, but there's an issue: we do not have any way to guarantee alignment for heap-allocated segments, so we can't really preserve the behavior that we had before. I'd prefer to go ahead with this change as is - but we should keep thinking about how we want to support (if at all) alignment for heap allocated allocation scopes. One option could be to drop heap allocation scope altogether - since alignment doesn't really make sense there. Perhaps one day we will have a way to create aligned arrays in the heap, in which case we might be able to add that functionality back. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/53 From john.r.rose at oracle.com Fri Mar 13 22:23:32 2020 From: john.r.rose at oracle.com (John Rose) Date: Fri, 13 Mar 2020 15:23:32 -0700 Subject: [foreign-abi] [Rev 01] RFR: 8241017: Enhance AllocationScope to support "unbounded" mode In-Reply-To: <9gKdxowsiSrAJrkgewCPi4tJJbPbdTc3YFJB5DkTAWo=.5559495a-4ae9-44aa-8c1a-6125f64730ae@github.com> References: <9RWeKhZO4W0typ3mvMse-SqSKfIc3tZu1EtMomA7X_0=.ac48009e-5022-4259-a197-a8f3b3a5b7b6@github.com> <9gKdxowsiSrAJrkgewCPi4tJJbPbdTc3YFJB5DkTAWo=.5559495a-4ae9-44aa-8c1a-6125f64730ae@github.com> Message-ID: On Mar 13, 2020, at 3:04 PM, Maurizio Cimadamore wrote: > > Perhaps one day we will have a way to create aligned arrays in the heap, in > which case we might be able to add that functionality back. I believe this is likely to happen as a consequence of building out support for hardware vectors. Some platforms prefer them to be stored with strong alignment. From paul.sandoz at oracle.com Fri Mar 13 23:41:25 2020 From: paul.sandoz at oracle.com (paul.sandoz at oracle.com) Date: Fri, 13 Mar 2020 23:41:25 +0000 Subject: hg: panama/dev: manual merge with vectorIntrinsics Message-ID: <202003132341.02DNfQsR029962@aojmv0008.oracle.com> Changeset: 9feee2cc67fd Author: psandoz Date: 2020-03-13 16:41 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/9feee2cc67fd manual merge with vectorIntrinsics ! src/hotspot/cpu/x86/x86.ad From sandhya.viswanathan at intel.com Sun Mar 15 01:25:43 2020 From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya) Date: Sun, 15 Mar 2020 01:25:43 +0000 Subject: [vectorIntrinsics] Shuffle/Rearrange code generation cleanup for x86 Message-ID: Please find below a webrev which cleans up the Shuffle/Rearrange code generation for x86: http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/ShuffleRearrange/webrev.00/ Best Regards, Sandhya From sundar at openjdk.java.net Mon Mar 16 03:40:17 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Mon, 16 Mar 2020 03:40:17 GMT Subject: [foreign-abi] [Rev 01] RFR: 8241017: Enhance AllocationScope to support "unbounded" mode In-Reply-To: References: <9RWeKhZO4W0typ3mvMse-SqSKfIc3tZu1EtMomA7X_0=.ac48009e-5022-4259-a197-a8f3b3a5b7b6@github.com> Message-ID: On Fri, 13 Mar 2020 22:04:22 GMT, Maurizio Cimadamore wrote: >> This patch adds support for allocation scopes whose size is not known statically; as such these new unbounded >> allocation scope can be used in more dynamic use cases where e.g. the amount of memory to be allocated depends on the >> result of other native calls. Internally, the bounded version works as before, and is the more optimized. The >> unbounded version is similar in spirit to the old Panama/foreign scope - where new segments are allocated depending on >> needs. I've enhanced the existing test covering allocation scopes to also cover the unbounded variants, as well as the >> bounded. > > Maurizio Cimadamore has updated the pull request incrementally with three additional commits since the last revision: > > - Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/AllocationScope.java > > Co-Authored-By: Jorn Vernee > - Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/AllocationScope.java > > Co-Authored-By: Jorn Vernee > - Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/AllocationScope.java > > Co-Authored-By: Jorn Vernee Looks good! ------------- Marked as reviewed by sundar (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/53 From youngty1997 at gmail.com Mon Mar 16 04:44:32 2020 From: youngty1997 at gmail.com (Ty Young) Date: Sun, 15 Mar 2020 23:44:32 -0500 Subject: [foreign-abi] RFR: 8241017: Enhance AllocationScope to support "unbounded" mode In-Reply-To: <9RWeKhZO4W0typ3mvMse-SqSKfIc3tZu1EtMomA7X_0=.ac48009e-5022-4259-a197-a8f3b3a5b7b6@github.com> References: <9RWeKhZO4W0typ3mvMse-SqSKfIc3tZu1EtMomA7X_0=.ac48009e-5022-4259-a197-a8f3b3a5b7b6@github.com> Message-ID: On 3/13/20 11:36 AM, Maurizio Cimadamore wrote: > This patch adds support for allocation scopes whose size is not known statically; as such these new unbounded > allocation scope can be used in more dynamic use cases where e.g. the amount of memory to be allocated depends on the > result of other native calls. > > Internally, the bounded version works as before, and is the more optimized. The unbounded version is similar in spirit > to the old Panama/foreign scope - where new segments are allocated depending on needs. > > I've enhanced the existing test covering allocation scopes to also cover the unbounded variants, as well as the bounded. After reading the code from: https://github.com/openjdk/panama-foreign/tree/fbf5ef776be35e38adb98e710aade0dd1e3b268b I have some disagreements on the implementation. The expected behaviour, in my mind anyway, is that the returned MemoryAddress is *ALWAYS* just an offset of a larger, always same MemorySegment, I guess what I'm really looking for here is dynamic memory allocation where the MemorySegment is just expanded on demand. UnboundedAllocationScope seems like a hacky workaround for dynamic memory allocation that could potentially cause bugs(*) and wastes potentially valuable memory(4KB is a bit much...). * In that code might go looking for a value stored in the segment that is in fact on the previously allocated segment. > > ------------- > > Commit messages: > - JDK-8241017: Enhance AllocationScope to support "unbounded" mode > > Changes: https://git.openjdk.java.net/panama-foreign/pull/53/files > Webrev: https://webrevs.openjdk.java.net/panama-foreign/53/webrev.00 > Issue: https://bugs.openjdk.java.net/browse/JDK-8241017 > Stats: 320 lines in 4 files changed: 240 ins; 25 del; 55 mod > Patch: https://git.openjdk.java.net/panama-foreign/pull/53.diff > Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/53/head:pull/53 > > PR: https://git.openjdk.java.net/panama-foreign/pull/53 From jvernee at openjdk.java.net Mon Mar 16 10:56:26 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Mon, 16 Mar 2020 10:56:26 GMT Subject: [foreign-abi] [Rev 01] RFR: 8241017: Enhance AllocationScope to support "unbounded" mode In-Reply-To: References: <9RWeKhZO4W0typ3mvMse-SqSKfIc3tZu1EtMomA7X_0=.ac48009e-5022-4259-a197-a8f3b3a5b7b6@github.com> Message-ID: <_xX2Qt9b-o6iDJZ3DJYUEYDUOvXFXCITvip9VA_oIJw=.2c199736-9b77-45c3-8496-f079670f4bb7@github.com> On Fri, 13 Mar 2020 21:49:45 GMT, Maurizio Cimadamore wrote: >> src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/UnboundedAllocationScope.java line 71: >> >>> 70: sp = start + bytesSize; >>> 71: size += Utils.alignUp(bytesSize, bytesAlignment); >>> 72: return slice.baseAddress(); >> >> Aren't `sp` and `size` always the same? Are 2 separate fields really needed? > > The idea is that size keeps track of total allocation size, sp is just a pointer into current segment and is reset > every time - unless I made a mistake Oh I see. Yeah, then it makes sense to have 2 fields. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/53 From mcimadamore at openjdk.java.net Mon Mar 16 15:45:16 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 16 Mar 2020 15:45:16 GMT Subject: [foreign-abi] [Rev 01] RFR: 8241017: Enhance AllocationScope to support "unbounded" mode In-Reply-To: References: <9RWeKhZO4W0typ3mvMse-SqSKfIc3tZu1EtMomA7X_0=.ac48009e-5022-4259-a197-a8f3b3a5b7b6@github.com> Message-ID: <0ILnXbhDe293eH4wTgK5cc1Gx5MRRr54X2oaHECRlHQ=.9d4db081-74f6-49e9-ba74-6526e28a29f1@github.com> On Mon, 16 Mar 2020 03:37:52 GMT, Athijegannathan Sundararajan wrote: >> Maurizio Cimadamore has updated the pull request incrementally with three additional commits since the last revision: >> >> - Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/AllocationScope.java >> >> Co-Authored-By: Jorn Vernee >> - Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/AllocationScope.java >> >> Co-Authored-By: Jorn Vernee >> - Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/AllocationScope.java >> >> Co-Authored-By: Jorn Vernee > > Looks good! > I have some disagreements on the implementation. The expected behaviour, > in my mind anyway, is that the returned MemoryAddress is *ALWAYS* just > an offset of a larger, always same MemorySegment, The goal of AllocationScope is to provide some extra aid to those clients who need to allocate multiple segments which feature the same temporal bounds - e.g. so that they can be closed all at once. It gives you back an address to the allocated memory. How it's implemented inside, it's well, an implementation detail, and I don't really see why a client should assume certain behavior out of the addresses that it gets out of AllocationScope. Do you expect that all addresses given back to you via malloc are consecutive? I hope not! As for resizing a segment dynamically, I've said many times that the design centre for memory segment API is that to have immutable segments, so that bound checks can be better optimized. If that's the constraint, then, in order to have unbounded allocation, you have to allocate multiple segments and keep them in a list. Maybe we can do some tuning on the threshold and make the impl smarter at reusing the memory, but this is mostly beyond the point - as this is not supposed to be an highly efficient allocator - this is just supposed to be an help for clients building native application - one thing that we found was pretty common for clients to do when we started porting more and more code using the new bindings. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/53 From mcimadamore at openjdk.java.net Mon Mar 16 15:49:37 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 16 Mar 2020 15:49:37 GMT Subject: [Integrated] [foreign-abi] RFR: 8241017: Enhance AllocationScope to support "unbounded" mode In-Reply-To: <9RWeKhZO4W0typ3mvMse-SqSKfIc3tZu1EtMomA7X_0=.ac48009e-5022-4259-a197-a8f3b3a5b7b6@github.com> References: <9RWeKhZO4W0typ3mvMse-SqSKfIc3tZu1EtMomA7X_0=.ac48009e-5022-4259-a197-a8f3b3a5b7b6@github.com> Message-ID: Changeset: 4e1c1c81 Author: Maurizio Cimadamore Date: 2020-03-16 15:47:51 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/4e1c1c81 8241017: Enhance AllocationScope to support "unbounded" mode Reviewed-by: jvernee, sundar ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/AllocationScope.java + src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/BoundedAllocationScope.java + src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/UnboundedAllocationScope.java ! test/jdk/java/foreign/TestAllocationScope.java From mcimadamore at openjdk.java.net Mon Mar 16 15:49:36 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 16 Mar 2020 15:49:36 GMT Subject: [foreign-abi] [Rev 01] RFR: 8241017: Enhance AllocationScope to support "unbounded" mode In-Reply-To: <0ILnXbhDe293eH4wTgK5cc1Gx5MRRr54X2oaHECRlHQ=.9d4db081-74f6-49e9-ba74-6526e28a29f1@github.com> References: <9RWeKhZO4W0typ3mvMse-SqSKfIc3tZu1EtMomA7X_0=.ac48009e-5022-4259-a197-a8f3b3a5b7b6@github.com> <0ILnXbhDe293eH4wTgK5cc1Gx5MRRr54X2oaHECRlHQ=.9d4db081-74f6-49e9-ba74-6526e28a29f1@github.com> Message-ID: On Mon, 16 Mar 2020 15:43:00 GMT, Maurizio Cimadamore wrote: >> Looks good! > >> I have some disagreements on the implementation. The expected behaviour, >> in my mind anyway, is that the returned MemoryAddress is *ALWAYS* just >> an offset of a larger, always same MemorySegment, > > The goal of AllocationScope is to provide some extra aid to those clients who need to allocate multiple segments which > feature the same temporal bounds - e.g. so that they can be closed all at once. It gives you back an address to the > allocated memory. How it's implemented inside, it's well, an implementation detail, and I don't really see why a client > should assume certain behavior out of the addresses that it gets out of AllocationScope. Do you expect that all > addresses given back to you via malloc are consecutive? I hope not! As for resizing a segment dynamically, I've said > many times that the design centre for memory segment API is that to have immutable segments, so that bound checks can > be better optimized. If that's the constraint, then, in order to have unbounded allocation, you have to allocate > multiple segments and keep them in a list. Maybe we can do some tuning on the threshold and make the impl smarter at > reusing the memory, but this is mostly beyond the point - as this is not supposed to be an highly efficient allocator - > this is just supposed to be an help for clients building native application - one thing that we found was pretty common > for clients to do when we started porting more and more code using the new bindings. /integrate ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/53 From duke at openjdk.java.net Mon Mar 16 15:51:30 2020 From: duke at openjdk.java.net (duke) Date: Mon, 16 Mar 2020 15:51:30 GMT Subject: git: openjdk/panama-foreign: foreign-jextract: 2 new changesets Message-ID: <9b7042c5-c131-4f7a-9cbc-b29e98b14a20@openjdk.org> Changeset: 4e1c1c81 Author: Maurizio Cimadamore Date: 2020-03-16 15:47:51 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/4e1c1c81 8241017: Enhance AllocationScope to support "unbounded" mode Reviewed-by: jvernee, sundar ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/AllocationScope.java + src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/BoundedAllocationScope.java + src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/UnboundedAllocationScope.java ! test/jdk/java/foreign/TestAllocationScope.java Changeset: 1e30d55e Author: duke Date: 2020-03-16 15:50:33 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1e30d55e Automatic merge of foreign-abi into foreign-jextract From shravya.rukmannagari at intel.com Mon Mar 16 20:17:00 2020 From: shravya.rukmannagari at intel.com (Rukmannagari, Shravya) Date: Mon, 16 Mar 2020 20:17:00 +0000 Subject: [vectorIntrinsics] Shuffle/Rearrange code generation cleanup for x86 In-Reply-To: References: Message-ID: Hi Sandhya, The patch looks good to me. Thanks, Shravya. From: Viswanathan, Sandhya Sent: Saturday, March 14, 2020 6:26 PM To: panama-dev at openjdk.java.net; Rukmannagari, Shravya Subject: [vectorIntrinsics] Shuffle/Rearrange code generation cleanup for x86 Please find below a webrev which cleans up the Shuffle/Rearrange code generation for x86: http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/ShuffleRearrange/webrev.00/ Best Regards, Sandhya From sandhya.viswanathan at intel.com Mon Mar 16 20:20:15 2020 From: sandhya.viswanathan at intel.com (sandhya.viswanathan at intel.com) Date: Mon, 16 Mar 2020 20:20:15 +0000 Subject: hg: panama/dev: Summary: [vectorIntrinsics] Shuffle/Rearrange code generation cleanup for x86 Message-ID: <202003162020.02GKKFXE026829@aojmv0008.oracle.com> Changeset: 05dbfe925bec Author: sviswanathan Date: 2020-03-16 13:18 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/05dbfe925bec Summary: [vectorIntrinsics] Shuffle/Rearrange code generation cleanup for x86 Reviewed-by: srukmannagar ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/stubGenerator_x86_32.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/x86.ad From youngty1997 at gmail.com Mon Mar 16 22:36:57 2020 From: youngty1997 at gmail.com (Ty Young) Date: Mon, 16 Mar 2020 17:36:57 -0500 Subject: [foreign-abi] [Rev 01] RFR: 8241017: Enhance AllocationScope to support "unbounded" mode In-Reply-To: <0ILnXbhDe293eH4wTgK5cc1Gx5MRRr54X2oaHECRlHQ=.9d4db081-74f6-49e9-ba74-6526e28a29f1@github.com> References: <9RWeKhZO4W0typ3mvMse-SqSKfIc3tZu1EtMomA7X_0=.ac48009e-5022-4259-a197-a8f3b3a5b7b6@github.com> <0ILnXbhDe293eH4wTgK5cc1Gx5MRRr54X2oaHECRlHQ=.9d4db081-74f6-49e9-ba74-6526e28a29f1@github.com> Message-ID: <18c98798-efeb-6310-3ed9-9c7b9a7faf6b@gmail.com> On 3/16/20 10:45 AM, Maurizio Cimadamore wrote: > On Mon, 16 Mar 2020 03:37:52 GMT, Athijegannathan Sundararajan wrote: > >>> Maurizio Cimadamore has updated the pull request incrementally with three additional commits since the last revision: >>> >>> - Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/AllocationScope.java >>> >>> Co-Authored-By: Jorn Vernee >>> - Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/AllocationScope.java >>> >>> Co-Authored-By: Jorn Vernee >>> - Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/AllocationScope.java >>> >>> Co-Authored-By: Jorn Vernee >> Looks good! >> I have some disagreements on the implementation. The expected behaviour, >> in my mind anyway, is that the returned MemoryAddress is *ALWAYS* just >> an offset of a larger, always same MemorySegment, > The goal of AllocationScope is to provide some extra aid to those clients who need to allocate multiple segments which > feature the same temporal bounds - e.g. so that they can be closed all at once. If this is the intended purpose then it should, IMO, be changed to "BlockScope". "UnboundedAllocationScope" implies same-segment, dynamic allocation. > It gives you back an address to the > allocated memory. How it's implemented inside, it's well, an implementation detail, and I don't really see why a client > should assume certain behavior out of the addresses that it gets out of AllocationScope. Do you expect that all > addresses given back to you via malloc are consecutive? I hope not! Malloc? No. Realloc? Yes, at least for slicing. > > As for resizing a segment dynamically, I've said many times that the design centre for memory segment API is that to > have immutable segments, so that bound checks can be better optimized. If that's the constraint, then, in order to have > unbounded allocation, you have to allocate multiple segments and keep them in a list. Maybe we can do some tuning on > the threshold and make the impl smarter at reusing the memory, but this is mostly beyond the point - as this is not > supposed to be an highly efficient allocator - this is just supposed to be an help for clients building native > application - one thing that we found was pretty common for clients to do when we started porting more and more code > using the new bindings. I'm in the same boat, as was said before, but this implementation isn't really desirable. It'll work for basic usage but if anyone goes looking for a value stored in the previous segment there will be issues... I guess the advice then would be to use stdlib then, right? Problem is that, at least on Arch Linux, it fails: OpenJDK 64-Bit Server VM warning: You have loaded library /usr/lib/libc.so which might have disabled stack guard. The VM will try to fix the stack guard now. It's highly recommended that you fix the library with 'execstack -c ', or link it with '-z noexecstack'. Exception in thread "main" java.lang.UnsatisfiedLinkError: /usr/lib/libc.so: /usr/lib/libc.so: invalid ELF header ??? at java.base/jdk.internal.loader.NativeLibraries.load(Native Method) ??? at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:289) ??? at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:176) ??? at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:118) ??? at java.base/jdk.internal.loader.NativeLibraries.findFromPaths(NativeLibraries.java:224) ??? at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:216) ??? at jdk.incubator.foreign/jdk.internal.foreign.LibrariesHelper.loadLibrary(LibrariesHelper.java:60) ??? at jdk.incubator.foreign/jdk.incubator.foreign.LibraryLookup.ofLibrary(LibraryLookup.java:94) ??? at org.goliath.crosspoint.stdlib.GNUC.(GNUC.java:37) ??? at org.goliath.crosspoint.stdlib.GNUC.getInstance(GNUC.java:21) ??? at org.goliath.bindings.nvml.main.Test.main(Test.java:70) The only information I could find is that maybe libc is 32-bit or something... but it's located in /usr/lib which is 64-bit... > > ------------- > > PR: https://git.openjdk.java.net/panama-foreign/pull/53 From sandhya.viswanathan at intel.com Tue Mar 17 17:32:00 2020 From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya) Date: Tue, 17 Mar 2020 17:32:00 +0000 Subject: [vectorIntrinsics] VectorTest cleanup Message-ID: Please find below a webrev which cleans up VectorTest implementation for X86. There is also a change in the second source parameter being passed for anyTrue to VectorIntrinsics from being same as src1 to mask all true. Aarch64 implementation does not use the second source parameter for anyTrue so the change shouldn't affect Aarch64. http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/VectorTest/webrev.00/ Best Regards, Sandhya From paul.sandoz at oracle.com Tue Mar 17 17:44:24 2020 From: paul.sandoz at oracle.com (Paul Sandoz) Date: Tue, 17 Mar 2020 10:44:24 -0700 Subject: [vectorIntrinsics] VectorTest cleanup In-Reply-To: References: Message-ID: Java changes look good. Paul. > On Mar 17, 2020, at 10:32 AM, Viswanathan, Sandhya wrote: > > Please find below a webrev which cleans up VectorTest implementation for X86. > There is also a change in the second source parameter being passed for anyTrue to VectorIntrinsics > from being same as src1 to mask all true. > Aarch64 implementation does not use the second source parameter for anyTrue so the change shouldn't affect Aarch64. > > http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/VectorTest/webrev.00/ > > Best Regards, > Sandhya > From sandhya.viswanathan at intel.com Tue Mar 17 19:04:35 2020 From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya) Date: Tue, 17 Mar 2020 19:04:35 +0000 Subject: [vectorIntrinsics] VectorTest cleanup In-Reply-To: References: Message-ID: Thanks a lot for the review. Best Regards, Sandhya -----Original Message----- From: Paul Sandoz Sent: Tuesday, March 17, 2020 10:44 AM To: Viswanathan, Sandhya Cc: panama-dev at openjdk.java.net; Rukmannagari, Shravya Subject: Re: [vectorIntrinsics] VectorTest cleanup Java changes look good. Paul. > On Mar 17, 2020, at 10:32 AM, Viswanathan, Sandhya wrote: > > Please find below a webrev which cleans up VectorTest implementation for X86. > There is also a change in the second source parameter being passed for > anyTrue to VectorIntrinsics from being same as src1 to mask all true. > Aarch64 implementation does not use the second source parameter for anyTrue so the change shouldn't affect Aarch64. > > http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/VectorTest/w > ebrev.00/ > > Best Regards, > Sandhya > From shravya.rukmannagari at intel.com Tue Mar 17 19:08:31 2020 From: shravya.rukmannagari at intel.com (Rukmannagari, Shravya) Date: Tue, 17 Mar 2020 19:08:31 +0000 Subject: [vectorIntrinsics] VectorTest cleanup In-Reply-To: References: Message-ID: Hi Sandhya, The patch looks good to me. Thanks, Shravya. From: Viswanathan, Sandhya Sent: Tuesday, March 17, 2020 10:32 AM To: panama-dev at openjdk.java.net; Rukmannagari, Shravya Subject: [vectorIntrinsics] VectorTest cleanup Please find below a webrev which cleans up VectorTest implementation for X86. There is also a change in the second source parameter being passed for anyTrue to VectorIntrinsics from being same as src1 to mask all true. Aarch64 implementation does not use the second source parameter for anyTrue so the change shouldn't affect Aarch64. http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/VectorTest/webrev.00/ Best Regards, Sandhya From sandhya.viswanathan at intel.com Tue Mar 17 20:55:38 2020 From: sandhya.viswanathan at intel.com (sandhya.viswanathan at intel.com) Date: Tue, 17 Mar 2020 20:55:38 +0000 Subject: hg: panama/dev: Summary: [vectorIntrinsics] VectorTest cleanup Message-ID: <202003172055.02HKtcXp009956@aojmv0008.oracle.com> Changeset: 255fbf82ba04 Author: sviswanathan Date: 2020-03-17 13:54 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/255fbf82ba04 Summary: [vectorIntrinsics] VectorTest cleanup Reviewed-by: psandoz, srukmannagar ! src/hotspot/cpu/x86/x86.ad ! 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 From ehelin at openjdk.java.net Wed Mar 18 06:48:30 2020 From: ehelin at openjdk.java.net (Erik Helin) Date: Wed, 18 Mar 2020 06:48:30 GMT Subject: [foreign] RFR: Cannot automatically merge openjdk/panama-foreign:master to foreign In-Reply-To: <3uY5v3zTEfBxUpbrUVUUxLSr7p6iSdZxTrHoXuQv9aE=.0f75738d-45f7-49b1-ba34-0a9ba4fc84fd@github.com> References: <3uY5v3zTEfBxUpbrUVUUxLSr7p6iSdZxTrHoXuQv9aE=.0f75738d-45f7-49b1-ba34-0a9ba4fc84fd@github.com> Message-ID: On Fri, 13 Mar 2020 11:01:46 GMT, J. Duke wrote: > Could *not* automatically merge 107 commits from master into foreign. > The following files contains merge conflicts: > > - src/java.base/share/classes/java/lang/ClassLoader.java > - src/java.base/share/classes/java/lang/Runtime.java > - src/java.base/share/classes/java/lang/System.java > - src/java.base/share/classes/jdk/internal/access/JavaLangAccess.java > - src/java.base/share/native/libjava/ClassLoader.c > > To manually resolve these merge conflicts, please create a personal fork of https://git.openjdk.java.net/panama-foreign > and execute the following commands: > $ git checkout foreign > $ git pull https://git.openjdk.java.net/panama-foreign foreign > $ git checkout --branch merge-master-into-foreign > $ git pull https://git.openjdk.java.net/panama-foreign master > > When you have resolved the conflicts resulting from the above commands, run: > > $ git add paths/to/files/with/conflicts > $ git commit -m 'Merge master' > > Push the merge commit to your personal fork: > > $ git push -u origin merge-master-into-foreign > > Now proceed to create a pull request towards this repository. > If you are using the [Skara](https://wiki.openjdk.java.net/display/skara#Skara-Skara)CLI tooling then you can run the > following command to create the pull request: > $ git pr create > > This pull request will be closed automatically by a bot once the merge conflicts have been resolved. Closing this since automatic merging from `master` to `foreign` has been turned off. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/48 From mcimadamore at openjdk.java.net Wed Mar 18 11:02:19 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Wed, 18 Mar 2020 11:02:19 GMT Subject: [foreign-abi] [Rev 01] RFR: 8241017: Enhance AllocationScope to support "unbounded" mode In-Reply-To: References: <9RWeKhZO4W0typ3mvMse-SqSKfIc3tZu1EtMomA7X_0=.ac48009e-5022-4259-a197-a8f3b3a5b7b6@github.com> <0ILnXbhDe293eH4wTgK5cc1Gx5MRRr54X2oaHECRlHQ=.9d4db081-74f6-49e9-ba74-6526e28a29f1@github.com> Message-ID: On Mon, 16 Mar 2020 15:47:15 GMT, Maurizio Cimadamore wrote: >>> I have some disagreements on the implementation. The expected behaviour, >>> in my mind anyway, is that the returned MemoryAddress is *ALWAYS* just >>> an offset of a larger, always same MemorySegment, >> >> The goal of AllocationScope is to provide some extra aid to those clients who need to allocate multiple segments which >> feature the same temporal bounds - e.g. so that they can be closed all at once. It gives you back an address to the >> allocated memory. How it's implemented inside, it's well, an implementation detail, and I don't really see why a client >> should assume certain behavior out of the addresses that it gets out of AllocationScope. Do you expect that all >> addresses given back to you via malloc are consecutive? I hope not! As for resizing a segment dynamically, I've said >> many times that the design centre for memory segment API is that to have immutable segments, so that bound checks can >> be better optimized. If that's the constraint, then, in order to have unbounded allocation, you have to allocate >> multiple segments and keep them in a list. Maybe we can do some tuning on the threshold and make the impl smarter at >> reusing the memory, but this is mostly beyond the point - as this is not supposed to be an highly efficient allocator - >> this is just supposed to be an help for clients building native application - one thing that we found was pretty common >> for clients to do when we started porting more and more code using the new bindings. > > /integrate > If this is the intended purpose then it should, IMO, be changed to > "BlockScope". "UnboundedAllocationScope" implies same-segment, dynamic > allocation. This thread is essentially a request for adding something that you asked already few weeks ago - adding support for realloc. I've explained then why it's not a great idea, and how it doesn't fit into where we wanna go (other people chimed in too, saying that you might be reading too much into what realloc does). Anyway, this being Java, I find it funny that we have an interface, and we're arguing over whether the implementation is desirable or not. The interface allows you to allocate multiple chunks of memory, making _no guarantees_ as to whether the chunks will be allocated. What you are asking is _not_ just an implementation change. You want the interface to make stronger guarantees about the fact that all the memory that will ever be returned by the scope will be _contiguous_. That's not going to happen. As for the name, an allocation scope just provides a 'scope' within which all allocation happens, so that you can close everything at once. In the bounded case, you can come up with a block size ahead of time, hence the single segment. In the unbounded case, we're doing what the old Panama/foreign scope was doing; which I think is fine enough for simple use cases (which is what this interface is for). If you want to support a realloc-based strategy on top of memory segment you would have to invalidate the existing segments on each realloc call (because you don't know whether realloc has decided to just realloc, or to alloc + copy + free, in which case old segments are just invalid). Using stdlib is possible - in fact we have a test for it - maybe you should look there: https://github.com/openjdk/panama-foreign/blob/686b4fafad1c198273b218f6df39deba5268d7da/test/jdk/java/foreign/StdLibTest.java To get to the standard library you need LibraryLookup::ofDefault. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/53 From youngty1997 at gmail.com Wed Mar 18 14:46:20 2020 From: youngty1997 at gmail.com (Ty Young) Date: Wed, 18 Mar 2020 09:46:20 -0500 Subject: [foreign-abi] [Rev 01] RFR: 8241017: Enhance AllocationScope to support "unbounded" mode In-Reply-To: References: <9RWeKhZO4W0typ3mvMse-SqSKfIc3tZu1EtMomA7X_0=.ac48009e-5022-4259-a197-a8f3b3a5b7b6@github.com> <0ILnXbhDe293eH4wTgK5cc1Gx5MRRr54X2oaHECRlHQ=.9d4db081-74f6-49e9-ba74-6526e28a29f1@github.com> Message-ID: On 3/18/20 6:02 AM, Maurizio Cimadamore wrote: > On Mon, 16 Mar 2020 15:47:15 GMT, Maurizio Cimadamore wrote: > >>>> I have some disagreements on the implementation. The expected behaviour, >>>> in my mind anyway, is that the returned MemoryAddress is *ALWAYS* just >>>> an offset of a larger, always same MemorySegment, >>> The goal of AllocationScope is to provide some extra aid to those clients who need to allocate multiple segments which >>> feature the same temporal bounds - e.g. so that they can be closed all at once. It gives you back an address to the >>> allocated memory. How it's implemented inside, it's well, an implementation detail, and I don't really see why a client >>> should assume certain behavior out of the addresses that it gets out of AllocationScope. Do you expect that all >>> addresses given back to you via malloc are consecutive? I hope not! As for resizing a segment dynamically, I've said >>> many times that the design centre for memory segment API is that to have immutable segments, so that bound checks can >>> be better optimized. If that's the constraint, then, in order to have unbounded allocation, you have to allocate >>> multiple segments and keep them in a list. Maybe we can do some tuning on the threshold and make the impl smarter at >>> reusing the memory, but this is mostly beyond the point - as this is not supposed to be an highly efficient allocator - >>> this is just supposed to be an help for clients building native application - one thing that we found was pretty common >>> for clients to do when we started porting more and more code using the new bindings. >> /integrate >> If this is the intended purpose then it should, IMO, be changed to >> "BlockScope". "UnboundedAllocationScope" implies same-segment, dynamic >> allocation. > This thread is essentially a request for adding something that you asked already few weeks ago - adding support for > realloc. I've explained then why it's not a great idea, and how it doesn't fit into where we wanna go (other people > chimed in too, saying that you might be reading too much into what realloc does). > > Anyway, this being Java, I find it funny that we have an interface, and we're arguing over whether the implementation > is desirable or not. The interface allows you to allocate multiple chunks of memory, making _no guarantees_ as to > whether the chunks will be allocated. What you are asking is _not_ just an implementation change. You want the > interface to make stronger guarantees about the fact that all the memory that will ever be returned by the scope will > be _contiguous_. That's not going to happen. There was also the issue of BLOCK_SIZE being 4KB. Allocating big chunks of memory like that might be good for performance if you actually use it, but otherwise seems like a waste. > > As for the name, an allocation scope just provides a 'scope' within which all allocation happens, so that you can close > everything at once. In the bounded case, you can come up with a block size ahead of time, hence the single segment. In > the unbounded case, we're doing what the old Panama/foreign scope was doing; which I think is fine enough for simple > use cases (which is what this interface is for). > > If you want to support a realloc-based strategy on top of memory segment you would have to invalidate the existing > segments on each realloc call (because you don't know whether realloc has decided to just realloc, or to alloc + copy + > free, in which case old segments are just invalid). Right, final isn't possible here. I'm not 100% sure it'll work out, but I just want to explore it a bit. > > Using stdlib is possible - in fact we have a test for it - maybe you should look there: > > https://github.com/openjdk/panama-foreign/blob/686b4fafad1c198273b218f6df39deba5268d7da/test/jdk/java/foreign/StdLibTest.java > > To get to the standard library you need LibraryLookup::ofDefault. Yes, this works perfectly. Thank you. Anything that I should be aware of when using stdlib directly by chance? malloc seems to work like any other function but as for the rest I don't know if there is any "gotchas" I need to know about. > > ------------- > > PR: https://git.openjdk.java.net/panama-foreign/pull/53 From mcimadamore at openjdk.java.net Wed Mar 18 15:16:29 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Wed, 18 Mar 2020 15:16:29 GMT Subject: [foreign-memaccess] RFR: JDK-8241154: Clarify the role of MemorySegments Message-ID: This patch proposes a restacking of the memory access API. Currently, memory segments are playing a dual role: they are both view of a resource, and they impersonate the resource itself. This creates confusion when thinking about operationssuch as close() and acquire(). The idea put forward by this patch is to put all segments on equal footing; e.g. remove the distinction between normal segments and *acquired* segments. Now *all* segments are, in a sense, acquired from some memory *source*. A memory source, in other words, model the actual memory that the segment is a view of. Memory sources are unconfined, which makes them ideal to support operation such as registration with cleaners (to allow for automatic cleanup, where needed). Moreover, since we can support many kinds of memory sources, this patch also adds a MappedMemorySource which is specific to mapped segments; such memory source contains methods for syncing contents of memory against the mapped file (e.g. force()). This split between memory segment and memory source allows us to keep the memory segment API sane, while at the same time providing us room to expand the API in the future to add more memory sources. And it makes the API cleaner too, as we can put methods where they belong (e.g. see difference between MemorySegment::isAlive vs. MemorySource::isReleased). A javadoc for this refactoring is available here: http://cr.openjdk.java.net/~mcimadamore/panama/8241154_javadoc/javadoc/jdk/incubator/foreign/package-summary.html Many thanks to Brian, John, Jorn, Paul and Stuart for the feedback which led to this iteration. ------------- Commit messages: - JDK-8241154: Clarify the role of MemorySegments - fix javadoc - Complete API implementation - Partially flat API - Initial push; v2 - Initial push Changes: https://git.openjdk.java.net/panama-foreign/pull/54/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/54/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-JDK-8241154 Stats: 772 lines in 20 files changed: 592 ins; 99 del; 81 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/54.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/54/head:pull/54 PR: https://git.openjdk.java.net/panama-foreign/pull/54 From sundar at openjdk.java.net Wed Mar 18 16:58:46 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Wed, 18 Mar 2020 16:58:46 GMT Subject: [foreign-abi] RFR: 8241148: need a way to create MemorySegment with contents from java String and a way to read a C char* as java String Message-ID: <2hKHKCnlFgm8lY9BhjgctGyP_K9cNvvh2MfXqtdaeIQ=.9de69f10-f144-4cb4-8829-b966a9a76d37@github.com> Adding utility methods to ForeignUnsafe class. ------------- Commit messages: - 8241148: need a way to create MemorySegment with contents from java String and a way to read a C char* as java String Changes: https://git.openjdk.java.net/panama-foreign/pull/55/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/55/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8241148 Stats: 154 lines in 3 files changed: 133 ins; 19 del; 2 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/55.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/55/head:pull/55 PR: https://git.openjdk.java.net/panama-foreign/pull/55 From sandhya.viswanathan at intel.com Wed Mar 18 17:50:31 2020 From: sandhya.viswanathan at intel.com (sandhya.viswanathan at intel.com) Date: Wed, 18 Mar 2020 17:50:31 +0000 Subject: hg: panama/dev: manual merge with vectorIntrinsics Message-ID: <202003181750.02IHoVi1026806@aojmv0008.oracle.com> Changeset: e4963b344ad6 Author: sviswanathan Date: 2020-03-18 10:48 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/e4963b344ad6 manual merge with vectorIntrinsics ! src/hotspot/cpu/x86/x86.ad From mcimadamore at openjdk.java.net Wed Mar 18 18:02:48 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Wed, 18 Mar 2020 18:02:48 GMT Subject: [foreign-abi] RFR: 8241148: need a way to create MemorySegment with contents from java String and a way to read a C char* as java String In-Reply-To: <2hKHKCnlFgm8lY9BhjgctGyP_K9cNvvh2MfXqtdaeIQ=.9de69f10-f144-4cb4-8829-b966a9a76d37@github.com> References: <2hKHKCnlFgm8lY9BhjgctGyP_K9cNvvh2MfXqtdaeIQ=.9de69f10-f144-4cb4-8829-b966a9a76d37@github.com> Message-ID: <7CJtNsFkyndl6QmcJmlYpf_-lOzGrpSxwQCJBJHBHJA=.f799dadc-951c-4da3-bd9f-7f5ae37e5115@github.com> On Wed, 18 Mar 2020 16:54:13 GMT, Athijegannathan Sundararajan wrote: > Adding utility methods to ForeignUnsafe class. Looks good - some minor comments on naming and test. src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/unsafe/ForeignUnsafe.java line 102: > 101: > 102: private static MemorySegment makeNativeString(String str, int length) { > 103: MemoryLayout strLayout = MemoryLayout.ofSequence(length, C_CHAR); name bikeshed: makeNativeString or toCString to make it more symmetric with the other method you added? test/jdk/java/foreign/StdLibTest.java line 455: > 454: static MemorySegment makeNativeString(String value) { > 455: return ForeignUnsafe.makeNativeString(value); > 456: } thx for updating these test/jdk/java/foreign/Test8241148.java line 81: > 80: assertEquals(pathStr.length(), len); > 81: System.out.println("PATH = " + pathStr); > 82: } Should we compare it with System.getEnv? https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/System.html#getenv() Perhaps we could strengthen the test that way by ensuring that the naive getenv returns same values for all the keys in the System.getEnv Map. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/55 From sandhya.viswanathan at intel.com Wed Mar 18 18:29:19 2020 From: sandhya.viswanathan at intel.com (sandhya.viswanathan at intel.com) Date: Wed, 18 Mar 2020 18:29:19 +0000 Subject: hg: panama/dev: manual merge with default Message-ID: <202003181829.02IITJA0021467@aojmv0008.oracle.com> Changeset: a72dbfc5dcb8 Author: sviswanathan Date: 2020-03-18 11:27 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/a72dbfc5dcb8 manual merge with default ! src/hotspot/cpu/aarch64/aarch64.ad ! 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/vm_version_x86.cpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/cpu/x86/x86_64.ad - src/hotspot/share/gc/shared/concurrentGCPhaseManager.cpp - src/hotspot/share/gc/shared/concurrentGCPhaseManager.hpp - src/hotspot/share/gc/shenandoah/shenandoahAllocTracker.cpp - src/hotspot/share/gc/shenandoah/shenandoahAllocTracker.hpp - src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.cpp - src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/macro.cpp ! src/hotspot/share/opto/macro.hpp ! src/hotspot/share/opto/superword.cpp ! src/hotspot/share/opto/type.hpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/vmStructs.cpp - src/jdk.internal.vm.compiler/.mx.graal/.project - src/jdk.internal.vm.compiler/.mx.graal/.pydevproject - src/jdk.internal.vm.compiler/.mx.graal/eclipse-settings/org.eclipse.jdt.core.prefs - src/jdk.internal.vm.compiler/.mx.graal/mx_graal.py - src/jdk.internal.vm.compiler/.mx.graal/mx_graal_9.py - src/jdk.internal.vm.compiler/.mx.graal/mx_graal_bench.py - src/jdk.internal.vm.compiler/.mx.graal/outputparser.py - src/jdk.internal.vm.compiler/.mx.graal/sanitycheck.py - src/jdk.internal.vm.compiler/.mx.graal/suite.py - src/jdk.jartool/share/classes/sun/tools/jar/Manifest.java - src/jdk.jartool/share/classes/sun/tools/jar/SignatureFile.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Navigation.java - test/hotspot/jtreg/gc/concurrent_phase_control/CheckControl.java - test/hotspot/jtreg/gc/concurrent_phase_control/CheckSupported.java - test/hotspot/jtreg/gc/concurrent_phase_control/CheckUnsupported.java - test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlG1.java - test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlG1Basics.java - test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlParallel.java - test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlSerial.java - test/hotspot/jtreg/gc/g1/TestJNIWeakG1/TestJNIWeakG1.java - test/hotspot/jtreg/gc/g1/TestJNIWeakG1/libTestJNIWeakG1.c - test/hotspot/jtreg/gc/shenandoah/options/TestSafepointWorkers.java - test/hotspot/jtreg/runtime/logging/loadLibraryTest/LoadLibrary.java - test/hotspot/jtreg/runtime/testlibrary/GeneratedClassLoader.java - test/hotspot/jtreg/vmTestbase/vm/gc/kind/parOld/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/gc/kind/parOld/test.sh - test/langtools/jdk/javadoc/doclet/testExternalOverridenMethod/TestExternalOverridenMethod.java - test/langtools/jdk/javadoc/doclet/testExternalOverridenMethod/package-list - test/langtools/jdk/javadoc/doclet/testExternalOverridenMethod/pkg/XReader.java - test/langtools/tools/javac/file/MultiReleaseJar/MutliReleaseModuleInfoTest.java From henryjen at openjdk.java.net Wed Mar 18 19:05:57 2020 From: henryjen at openjdk.java.net (Henry Jen) Date: Wed, 18 Mar 2020 19:05:57 GMT Subject: [foreign-abi] RFR: 8241148: need a way to create MemorySegment with contents from java String and a way to read a C char* as java String In-Reply-To: <2hKHKCnlFgm8lY9BhjgctGyP_K9cNvvh2MfXqtdaeIQ=.9de69f10-f144-4cb4-8829-b966a9a76d37@github.com> References: <2hKHKCnlFgm8lY9BhjgctGyP_K9cNvvh2MfXqtdaeIQ=.9de69f10-f144-4cb4-8829-b966a9a76d37@github.com> Message-ID: On Wed, 18 Mar 2020 16:54:13 GMT, Athijegannathan Sundararajan wrote: > Adding utility methods to ForeignUnsafe class. src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/unsafe/ForeignUnsafe.java line 119: > 118: public static String toJavaString(MemoryAddress addr) { > 119: StringBuilder buf = new StringBuilder(); > 120: try (MemorySegment seg = ofNativeUnchecked(addr, Long.MAX_VALUE)) { There are use cases to take a C string and make it a byte array in nio, and we have to retain the encoding of byte array, some pointed out to me that toJavaString(addr).getBytes() may not be proper if encoding is not properly specified(not my experience though). Thus I have couple functions like following, https://github.com/slowhog/panama-foreign/blob/eb79b8c14cfcdeae6a869d6f434929f44ab73dd5/src/java.base/unix/classes/sun/nio/FFIUtils.java#L176 ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/55 From henryjen at openjdk.java.net Wed Mar 18 19:13:59 2020 From: henryjen at openjdk.java.net (Henry Jen) Date: Wed, 18 Mar 2020 19:13:59 GMT Subject: [foreign-abi] RFR: 8241148: need a way to create MemorySegment with contents from java String and a way to read a C char* as java String In-Reply-To: <7CJtNsFkyndl6QmcJmlYpf_-lOzGrpSxwQCJBJHBHJA=.f799dadc-951c-4da3-bd9f-7f5ae37e5115@github.com> References: <2hKHKCnlFgm8lY9BhjgctGyP_K9cNvvh2MfXqtdaeIQ=.9de69f10-f144-4cb4-8829-b966a9a76d37@github.com> <7CJtNsFkyndl6QmcJmlYpf_-lOzGrpSxwQCJBJHBHJA=.f799dadc-951c-4da3-bd9f-7f5ae37e5115@github.com> Message-ID: <-IrliiqsqcJl6t2dTfAC-qU1JEKrAlIWh_HowSj_ad0=.3d826c93-3124-4162-87a9-3eca7a398bcb@github.com> On Wed, 18 Mar 2020 17:56:03 GMT, Maurizio Cimadamore wrote: >> Adding utility methods to ForeignUnsafe class. > > src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/unsafe/ForeignUnsafe.java line 102: > >> 101: >> 102: private static MemorySegment makeNativeString(String str, int length) { >> 103: MemoryLayout strLayout = MemoryLayout.ofSequence(length, C_CHAR); > > name bikeshed: makeNativeString or toCString to make it more symmetric with the other method you added? We also need a function to make a byte array into native string. Although I think makeNativeString(new String(byte[])) should be good enough, but I think makeNativeString(string.getBytes()) is more accurate on keeping byte array encoding. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/55 From sandhya.viswanathan at intel.com Wed Mar 18 20:15:19 2020 From: sandhya.viswanathan at intel.com (sandhya.viswanathan at intel.com) Date: Wed, 18 Mar 2020 20:15:19 +0000 Subject: hg: panama/dev: manual merge with vectorIntrinsics Message-ID: <202003182015.02IKFKxZ021927@aojmv0008.oracle.com> Changeset: cd4a63e0ee86 Author: sviswanathan Date: 2020-03-18 13:13 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/cd4a63e0ee86 manual merge with vectorIntrinsics ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/cpu/x86/x86_64.ad - src/hotspot/share/gc/shared/concurrentGCPhaseManager.cpp - src/hotspot/share/gc/shared/concurrentGCPhaseManager.hpp - src/hotspot/share/gc/shenandoah/shenandoahAllocTracker.cpp - src/hotspot/share/gc/shenandoah/shenandoahAllocTracker.hpp - src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.cpp - src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/type.hpp - src/jdk.internal.vm.compiler/.mx.graal/.project - src/jdk.internal.vm.compiler/.mx.graal/.pydevproject - src/jdk.internal.vm.compiler/.mx.graal/eclipse-settings/org.eclipse.jdt.core.prefs - src/jdk.internal.vm.compiler/.mx.graal/mx_graal.py - src/jdk.internal.vm.compiler/.mx.graal/mx_graal_9.py - src/jdk.internal.vm.compiler/.mx.graal/mx_graal_bench.py - src/jdk.internal.vm.compiler/.mx.graal/outputparser.py - src/jdk.internal.vm.compiler/.mx.graal/sanitycheck.py - src/jdk.internal.vm.compiler/.mx.graal/suite.py - src/jdk.jartool/share/classes/sun/tools/jar/Manifest.java - src/jdk.jartool/share/classes/sun/tools/jar/SignatureFile.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Navigation.java - test/hotspot/jtreg/gc/concurrent_phase_control/CheckControl.java - test/hotspot/jtreg/gc/concurrent_phase_control/CheckSupported.java - test/hotspot/jtreg/gc/concurrent_phase_control/CheckUnsupported.java - test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlG1.java - test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlG1Basics.java - test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlParallel.java - test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlSerial.java - test/hotspot/jtreg/gc/g1/TestJNIWeakG1/TestJNIWeakG1.java - test/hotspot/jtreg/gc/g1/TestJNIWeakG1/libTestJNIWeakG1.c - test/hotspot/jtreg/gc/shenandoah/options/TestSafepointWorkers.java - test/hotspot/jtreg/runtime/logging/loadLibraryTest/LoadLibrary.java - test/hotspot/jtreg/runtime/testlibrary/GeneratedClassLoader.java - test/hotspot/jtreg/vmTestbase/vm/gc/kind/parOld/TestDescription.java - test/hotspot/jtreg/vmTestbase/vm/gc/kind/parOld/test.sh - test/langtools/jdk/javadoc/doclet/testExternalOverridenMethod/TestExternalOverridenMethod.java - test/langtools/jdk/javadoc/doclet/testExternalOverridenMethod/package-list - test/langtools/jdk/javadoc/doclet/testExternalOverridenMethod/pkg/XReader.java - test/langtools/tools/javac/file/MultiReleaseJar/MutliReleaseModuleInfoTest.java From maurizio.cimadamore at oracle.com Wed Mar 18 22:04:05 2020 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 18 Mar 2020 22:04:05 +0000 Subject: hg: panama/dev: 90 new changesets Message-ID: <202003182204.02IM4AcV019501@aojmv0008.oracle.com> Changeset: 5f690d6174b5 Author: jjg Date: 2020-03-11 15:46 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/5f690d6174b5 8240138: Cleanup HtmlTree Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractTreeWriter.java ! 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/AnnotationTypeFieldWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeRequiredMemberWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassUseWriter.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/ConstantsSummaryWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstructorWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DeprecatedListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/EnumConstantWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/FieldWriterImpl.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/HtmlDocletWriter.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/ModuleWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageTreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageUseWriter.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/PropertyWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SerializedFormWriterImpl.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/TreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Comment.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/HtmlTag.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/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/Content.java Changeset: a6c70ccaa775 Author: ysuenaga Date: 2020-03-12 09:23 +0900 URL: https://hg.openjdk.java.net/panama/dev/rev/a6c70ccaa775 8234624: jstack mixed mode should refer DWARF Reviewed-by: sspitsyn, kevinw + src/jdk.hotspot.agent/linux/native/libsaproc/DwarfParser.cpp ! src/jdk.hotspot.agent/linux/native/libsaproc/LinuxDebuggerLocal.cpp + src/jdk.hotspot.agent/linux/native/libsaproc/dwarf.cpp + src/jdk.hotspot.agent/linux/native/libsaproc/dwarf.hpp ! src/jdk.hotspot.agent/linux/native/libsaproc/libproc.h ! src/jdk.hotspot.agent/linux/native/libsaproc/libproc_impl.c ! src/jdk.hotspot.agent/linux/native/libsaproc/libproc_impl.h ! src/jdk.hotspot.agent/linux/native/libsaproc/salibelf.c ! src/jdk.hotspot.agent/linux/native/libsaproc/salibelf.h ! src/jdk.hotspot.agent/linux/native/libsaproc/symtab.c ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/LinuxCDebugger.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/LinuxDebugger.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/LinuxDebuggerLocal.java + src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/amd64/DwarfParser.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64CFrame.java Changeset: e103a5398b54 Author: jwilhelm Date: 2020-03-12 03:10 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/e103a5398b54 Added tag jdk-15+14 for changeset 1d6ceb13e142 ! .hgtags Changeset: 91f95b517b0c Author: iklam Date: 2020-03-11 21:37 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/91f95b517b0c 8240548: [TESTBUG] CDS NoClassToArchive.java fails with Graal Reviewed-by: dholmes, mchung ! test/hotspot/jtreg/runtime/cds/appcds/dynamicArchive/NoClassToArchive.java Changeset: 4ee517d2e206 Author: shade Date: 2020-03-12 06:47 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/4ee517d2e206 8225216: gc/logging/TestMetaSpaceLog.java doesn't work for Shenandoah Reviewed-by: shade Contributed-by: Kelvin Nilsen ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! test/hotspot/jtreg/TEST.groups ! test/hotspot/jtreg/gc/logging/TestMetaSpaceLog.java Changeset: a744cb5d03d6 Author: weijun Date: 2020-03-12 18:21 +0800 URL: https://hg.openjdk.java.net/panama/dev/rev/a744cb5d03d6 8240261: Use make/templates/gpl-cp-header in FieldGen.java Reviewed-by: erikj ! make/gensrc/Gensrc-java.base.gmk ! make/jdk/src/classes/build/tools/intpoly/FieldGen.java - make/jdk/src/classes/build/tools/intpoly/header.txt + make/jdk/src/classes/build/tools/util/Header.java Changeset: ecc59c31cb10 Author: rrich Date: 2020-03-12 11:51 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/ecc59c31cb10 8234146: compiler/jsr292/ContinuousCallSiteTargetChange.java times out on SPARC Reviewed-by: vlivanov, thartmann ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/compiler/jsr292/ContinuousCallSiteTargetChange.java Changeset: 4923c49ba7b5 Author: redestad Date: 2020-03-12 13:07 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/4923c49ba7b5 8240772: x86_64: Pre-generate Assembler::popa, pusha and vzeroupper Reviewed-by: iklam, kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/vm_version_x86.cpp Changeset: fec7d7b39038 Author: redestad Date: 2020-03-05 16:07 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/fec7d7b39038 8240669: Devirtualize Relocation::type Reviewed-by: rbackman, thartmann ! src/hotspot/share/code/relocInfo.cpp ! src/hotspot/share/code/relocInfo.hpp Changeset: 2d4a9ff1de2e Author: dnsimon Date: 2020-03-12 13:20 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/2d4a9ff1de2e 8240831: [JVMCI] Export missing vmStructs entries used by JVMCI compilers Reviewed-by: kvn, thartmann Contributed-by: Yudi Zheng ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp Changeset: 724e0cf52991 Author: zgu Date: 2020-03-12 09:25 -0400 URL: https://hg.openjdk.java.net/panama/dev/rev/724e0cf52991 8240915: Shenandoah: Remove unused fields in init mark tasks Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Changeset: a9a78d821f37 Author: vlivanov Date: 2020-03-12 16:42 +0300 URL: https://hg.openjdk.java.net/panama/dev/rev/a9a78d821f37 8238696: x86: Enumerate all detected CPU features in VM_Version feature string Reviewed-by: dholmes, kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/cpu/x86/vm_version_x86.hpp ! src/hotspot/cpu/x86/x86.ad + test/jdk/lib/testlibrary/CPUInfoTest.java Changeset: d527da8f8f9b Author: sgehwolf Date: 2020-02-25 12:17 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/d527da8f8f9b 8239785: Cgroups: Incorrect detection logic on old systems in hotspot Summary: Return NULL subsystem if no cgroup controllers are mounted. Reviewed-by: bobv, mbaesken ! src/hotspot/os/linux/cgroupSubsystem_linux.cpp ! src/hotspot/os/linux/cgroupSubsystem_linux.hpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/prims/whitebox.hpp + test/hotspot/jtreg/containers/cgroup/CgroupSubsystemFactory.java ! test/lib/sun/hotspot/WhiteBox.java Changeset: 7898edac8a27 Author: naoto Date: 2020-03-12 08:31 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/7898edac8a27 8216332: Grapheme regex does not work with emoji sequences Reviewed-by: rriggs ! src/java.base/share/classes/java/util/regex/Grapheme.java + test/jdk/java/util/regex/GraphemeTestCases.txt ! test/jdk/java/util/regex/RegExTest.java Changeset: 910e8900f11d Author: rriggs Date: 2020-03-12 11:54 -0400 URL: https://hg.openjdk.java.net/panama/dev/rev/910e8900f11d 8240704: CheckHandles.java failed "AssertionError: Handle use increased by more than 10 percent." Reviewed-by: dfuchs ! test/jdk/java/lang/ProcessBuilder/checkHandles/CheckHandles.java Changeset: e713e8a312ea Author: rriggs Date: 2020-03-12 11:57 -0400 URL: https://hg.openjdk.java.net/panama/dev/rev/e713e8a312ea 8240957: Clarify BadAttributeValueExpException readObject method Reviewed-by: bpb ! src/java.management/share/classes/javax/management/BadAttributeValueExpException.java Changeset: fa70160bcf72 Author: minqi Date: 2020-03-12 09:07 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/fa70160bcf72 8240563: [TESTBUG] WB_IsCDSIncludedInVmBuild should support uncompressed oops/klasses Summary: With 8232069, CDS works with uncompressed oops/kalsses, detecting CDS code no longer bases on the two flags. Reviewed-by: iklam ! src/hotspot/share/prims/whitebox.cpp ! test/hotspot/jtreg/ProblemList-zgc.txt ! test/hotspot/jtreg/runtime/cds/appcds/CommandLineFlagComboNegative.java ! test/hotspot/jtreg/runtime/cds/appcds/TestZGCWithCDS.java Changeset: c0f672668596 Author: rkennke Date: 2020-03-12 17:52 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/c0f672668596 8240872: Shenandoah: Avoid updating new regions from start of evacuation Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp Changeset: cc0ffb1d0458 Author: rkennke Date: 2020-03-12 17:52 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/cc0ffb1d0458 8240873: Shenandoah: Short-cut arraycopy barriers Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSetClone.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Changeset: 67a2ce1f3a0a Author: zgu Date: 2020-03-12 13:08 -0400 URL: https://hg.openjdk.java.net/panama/dev/rev/67a2ce1f3a0a 8240917: Shenandoah: Avoid scanning thread code roots twice in all root scanner Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp Changeset: be3aeb6e766d Author: pconcannon Date: 2020-03-12 17:08 +0000 URL: https://hg.openjdk.java.net/panama/dev/rev/be3aeb6e766d 8239355: (dc) Initial value of SO_SNDBUF should allow sending large datagrams (macOS) Summary: Updates DatagramChannel so that the SO_SNDBUF is set to a minimum value of 65527 for IPv6 sockets and 65507 for IPv4 sockets on macOS. Reviewed-by: alanb, dfuchs ! src/java.base/unix/native/libnio/ch/Net.c ! test/jdk/java/net/IPSupport/MinimumPermissions.policy + test/jdk/java/nio/channels/DatagramChannel/MinSendBufferSize.java ! test/lib/jdk/test/lib/net/IPSupport.java Changeset: f2a8072492df Author: pconcannon Date: 2020-03-12 17:20 +0000 URL: https://hg.openjdk.java.net/panama/dev/rev/f2a8072492df Merge Changeset: 61f6c19d1a56 Author: shade Date: 2020-03-12 18:50 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/61f6c19d1a56 8240948: Shenandoah: cleanup not-forwarded-objects paths after JDK-8240868 Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp Changeset: 29f4b46a1680 Author: dfuchs Date: 2020-03-12 18:31 +0000 URL: https://hg.openjdk.java.net/panama/dev/rev/29f4b46a1680 8059309: network tests fail with "java.net.SocketException: Couldn't obtain phys addr" when run as "root" Summary: The solaris specific code is changed to use the fallback mechanism if the DLPI interface returns an error indicating that the operation is unsupported. In addition, NetworkInterface::getHardwareAddress is changed to always return null for the loopback interface. Reviewed-by: alanb ! src/java.base/share/classes/java/net/NetworkInterface.java ! src/java.base/unix/native/libnet/NetworkInterface.c + test/jdk/java/net/NetworkInterface/NullMacAddress.java Changeset: 222127a06550 Author: ihse Date: 2020-03-12 19:40 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/222127a06550 8240947: Change conflicting JVM features from warning to error Reviewed-by: erikj ! make/autoconf/jvm-features.m4 Changeset: 5edc259054ae Author: ihse Date: 2020-03-12 19:42 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/5edc259054ae 8149110: Introduce DISABLED_WARNINGS for Java compilation Reviewed-by: erikj ! make/CompileDemos.gmk ! make/CompileInterimLangtools.gmk ! make/CompileInterimRmic.gmk ! make/CompileJavaModules.gmk ! make/CompileModuleTools.gmk ! make/CompileToolsJdk.gmk ! make/common/JavaCompilation.gmk ! make/common/SetupJavaCompilers.gmk ! make/hotspot/gensrc/GensrcJfr.gmk ! make/hotspot/gensrc/GensrcJvmti.gmk ! make/hotspot/ide/CreateVSProject.gmk ! make/test/BuildFailureHandler.gmk ! make/test/BuildMicrobenchmark.gmk ! make/test/JtregGraalUnit.gmk Changeset: e594b41c45c4 Author: ihse Date: 2020-03-12 19:43 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/e594b41c45c4 8240950: Missing AC_SUBST after JDK-82408 Reviewed-by: erikj ! make/autoconf/build-performance.m4 Changeset: 1ca940d73efc Author: mchung Date: 2020-03-12 11:54 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/1ca940d73efc 8228336: Refactor native library loading implementation Reviewed-by: alanb, dholmes ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/nativeLookup.cpp - src/java.base/macosx/classes/java/lang/ClassLoaderHelper.java + src/java.base/macosx/classes/jdk/internal/loader/ClassLoaderHelper.java ! src/java.base/share/classes/java/lang/ClassLoader.java ! src/java.base/share/classes/java/lang/Runtime.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 + src/java.base/share/classes/jdk/internal/loader/NativeLibraries.java + src/java.base/share/classes/jdk/internal/loader/NativeLibrary.java ! src/java.base/share/native/libjava/ClassLoader.c + src/java.base/share/native/libjava/NativeLibraries.c - src/java.base/unix/classes/java/lang/ClassLoaderHelper.java + src/java.base/unix/classes/jdk/internal/loader/ClassLoaderHelper.java - src/java.base/windows/classes/java/lang/ClassLoaderHelper.java + src/java.base/windows/classes/jdk/internal/loader/ClassLoaderHelper.java ! test/jdk/java/lang/ClassLoader/LibraryPathProperty.java Changeset: e287fc5b9e86 Author: mchung Date: 2020-03-12 11:56 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/e287fc5b9e86 8240242: improve the javadoc for Lookup::dropLookupModes w.r.t. dropping UNCONDITIONAL Reviewed-by: chegar, rriggs ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java Changeset: 4253bf176649 Author: erikj Date: 2020-03-12 12:55 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/4253bf176649 8240972: macOS codesign fail on macOS 10.13.5 or older Reviewed-by: erikj, ihse Contributed-by: junyuan.zheng at microsoft.com ! make/autoconf/basic_tools.m4 Changeset: b2b9f856b71a Author: jjg Date: 2020-03-12 13:56 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/b2b9f856b71a 8240971: Fix CSS styles in some doc comments Reviewed-by: mchung ! src/java.base/share/classes/module-info.java ! src/java.management.rmi/share/classes/module-info.java ! src/java.se/share/classes/module-info.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css ! src/jdk.jconsole/share/classes/module-info.java Changeset: 66c7a7990f69 Author: jjg Date: 2020-03-12 14:14 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/66c7a7990f69 8240555: Using env of JAVA_TOOL_OPTIONS and _JAVA_OPTIONS breaks QuietOption.java test Reviewed-by: shurailine, prappo ! test/langtools/jdk/javadoc/tool/QuietOption.java Changeset: 24d5c4ed9bf9 Author: valeriep Date: 2020-03-12 22:11 +0000 URL: https://hg.openjdk.java.net/panama/dev/rev/24d5c4ed9bf9 8238566: java.security.Provider$Service.supportsParameter() is racy Summary: Use double-checked-locking pattern inside the hasKeyAttributes() method Reviewed-by: xuelei ! src/java.base/share/classes/java/security/Provider.java Changeset: 15d69d370743 Author: ccheung Date: 2020-03-12 16:05 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/15d69d370743 8238000: Crash in ClassLoader::record_result while dynamic dumping netty Summary: Make a copy of the _shared_path_table for use during dynamic CDS dump. Reviewed-by: iklam, minqi ! src/hotspot/share/memory/dynamicArchive.cpp ! src/hotspot/share/memory/filemap.cpp ! src/hotspot/share/memory/filemap.hpp ! src/hotspot/share/memory/metaspaceShared.cpp Changeset: 1c98d63e3ee2 Author: jiefu Date: 2020-03-13 17:01 +0800 URL: https://hg.openjdk.java.net/panama/dev/rev/1c98d63e3ee2 8240846: Zero VM is broken after JDK-8238681: UseSSE not defined Reviewed-by: shade, rehn, vlivanov ! src/hotspot/share/compiler/compileBroker.cpp Changeset: 3a3bd4ed9584 Author: roland Date: 2020-03-11 10:32 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/3a3bd4ed9584 8240854: [REDO] some jaotc failures of fastdebug build with specific flags Reviewed-by: vlivanov, kvn, thartmann ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/subtypenode.cpp + test/hotspot/jtreg/compiler/types/TestSubTypeOfAsbtractClassWrongResult.java Changeset: 29edf1cb3c02 Author: weijun Date: 2020-03-13 17:45 +0800 URL: https://hg.openjdk.java.net/panama/dev/rev/29edf1cb3c02 8240980: Backout JDK-8240261 Reviewed-by: dholmes ! make/gensrc/Gensrc-java.base.gmk ! make/jdk/src/classes/build/tools/intpoly/FieldGen.java + make/jdk/src/classes/build/tools/intpoly/header.txt - make/jdk/src/classes/build/tools/util/Header.java Changeset: de9c1fe3de60 Author: iwalulya Date: 2020-03-13 11:54 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/de9c1fe3de60 8240591: G1HeapSizingPolicy attempts to compute expansion_amount even when at full capacity Reviewed-by: sjohanss, tschatzl ! src/hotspot/share/gc/g1/g1HeapSizingPolicy.cpp Changeset: 367b1f73904c Author: shade Date: 2020-03-13 13:22 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/367b1f73904c 8231668: Remove ForceDynamicNumberOfGCThreads Reviewed-by: shade, tschatzl Contributed-by: Aditya Mandaleeka ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/gc/shared/workerPolicy.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! test/hotspot/jtreg/gc/ergonomics/TestDynamicNumberOfGCThreads.java ! test/hotspot/jtreg/gc/shenandoah/TestGCThreadGroups.java Changeset: 3179efca4758 Author: weijun Date: 2020-03-13 21:32 +0800 URL: https://hg.openjdk.java.net/panama/dev/rev/3179efca4758 8240983: Incorrect copyright header in Apache Santuario files Reviewed-by: mullan ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMReference.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignature.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXPathFilter2Transform.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/XMLDSigRI.java Changeset: 3ab7a06ba381 Author: pliden Date: 2020-03-13 14:26 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/3ab7a06ba381 8240714: ZGC: TestSmallHeap.java failed due to OutOfMemoryError Reviewed-by: eosterlund ! test/hotspot/jtreg/gc/z/TestSmallHeap.java Changeset: 8e9261c404fc Author: vromero Date: 2020-03-13 10:29 -0400 URL: https://hg.openjdk.java.net/panama/dev/rev/8e9261c404fc 8239447: compiler error for annotations applied to record components with target METHOD Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java + test/langtools/tools/javac/processing/model/element/ErrorOnAnnoWithTargetMethod.java Changeset: 59de2958df85 Author: redestad Date: 2020-03-13 15:59 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/59de2958df85 8241006: Cleanup TemplateInterpreter initialization Reviewed-by: coleenp ! src/hotspot/share/interpreter/abstractInterpreter.cpp ! src/hotspot/share/interpreter/templateInterpreter.cpp ! src/hotspot/share/interpreter/templateTable.cpp ! src/hotspot/share/interpreter/templateTable.hpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/runtime/init.cpp Changeset: 3ac1c2ef94e2 Author: redestad Date: 2020-03-13 18:43 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/3ac1c2ef94e2 8241010: Unnecessarily resolving some well-known classes Reviewed-by: coleenp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/prims/stackwalk.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/services/diagnosticCommand.cpp Changeset: 5e0d9f0b1029 Author: jjg Date: 2020-03-13 10:57 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/5e0d9f0b1029 8240916: Convert to using hyphenated naming for CSS classes Reviewed-by: hannesw ! make/jdk/src/classes/build/tools/taglet/ModuleGraph.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/markup/HtmlStyle.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/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css ! test/langtools/jdk/javadoc/doclet/AccessSkipNav/AccessSkipNav.java ! test/langtools/jdk/javadoc/doclet/constantValues/TestConstantValuesDriver.java ! test/langtools/jdk/javadoc/doclet/testAbstractMethod/TestAbstractMethod.java ! test/langtools/jdk/javadoc/doclet/testAnchorNames/TestAnchorNames.java ! test/langtools/jdk/javadoc/doclet/testAnnotationTypes/TestAnnotationTypes.java ! test/langtools/jdk/javadoc/doclet/testClassCrossReferences/TestClassCrossReferences.java ! test/langtools/jdk/javadoc/doclet/testClassLinks/TestClassLinks.java ! test/langtools/jdk/javadoc/doclet/testClassTree/TestClassTree.java ! test/langtools/jdk/javadoc/doclet/testDeprecatedDocs/TestDeprecatedDocs.java ! test/langtools/jdk/javadoc/doclet/testDocRootInlineTag/TestDocRootInlineTag.java ! test/langtools/jdk/javadoc/doclet/testExternalOverriddenMethod/TestExternalOverriddenMethod.java ! test/langtools/jdk/javadoc/doclet/testGroupName/TestGroupName.java ! test/langtools/jdk/javadoc/doclet/testHeadings/TestHeadings.java ! test/langtools/jdk/javadoc/doclet/testHiddenTag/TestHiddenTag.java ! test/langtools/jdk/javadoc/doclet/testHref/TestHref.java ! test/langtools/jdk/javadoc/doclet/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java ! test/langtools/jdk/javadoc/doclet/testHtmlLandmarkRegions/TestHtmlLandmarkRegions.java ! test/langtools/jdk/javadoc/doclet/testHtmlTableStyles/TestHtmlTableStyles.java ! test/langtools/jdk/javadoc/doclet/testHtmlTableTags/TestHtmlTableTags.java ! test/langtools/jdk/javadoc/doclet/testHtmlTag/TestHtmlTag.java ! test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java ! test/langtools/jdk/javadoc/doclet/testIndentation/TestIndentation.java ! test/langtools/jdk/javadoc/doclet/testIndex/TestIndex.java ! test/langtools/jdk/javadoc/doclet/testIndexInDocFiles/TestIndexInDocFiles.java ! test/langtools/jdk/javadoc/doclet/testIndexInPackageFiles/TestIndexInPackageFiles.java ! test/langtools/jdk/javadoc/doclet/testIndexTaglet/TestIndexTaglet.java ! test/langtools/jdk/javadoc/doclet/testInterface/TestInterface.java ! test/langtools/jdk/javadoc/doclet/testJavaFX/TestJavaFX.java ! test/langtools/jdk/javadoc/doclet/testLambdaFeature/TestLambdaFeature.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestLinkOption.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestLinkOptionWithAutomaticModule.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestLinkOptionWithModule.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestOptionOrder.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestRedirectLinks.java ! test/langtools/jdk/javadoc/doclet/testLinkToSerialForm/TestLinkToSerialForm.java ! test/langtools/jdk/javadoc/doclet/testLinksWithNoDeprecatedOption/TestLinksWithNoDeprecatedOption.java ! test/langtools/jdk/javadoc/doclet/testLiteralCodeInPre/TestLiteralCodeInPre.java ! test/langtools/jdk/javadoc/doclet/testMemberInheritance/TestMemberInheritance.java ! test/langtools/jdk/javadoc/doclet/testMemberSummary/TestMemberSummary.java ! test/langtools/jdk/javadoc/doclet/testMethodSignature/TestMethodSignature.java ! test/langtools/jdk/javadoc/doclet/testMethodTypes/TestMethodTypes.java ! test/langtools/jdk/javadoc/doclet/testModifierEx/TestModifierEx.java ! test/langtools/jdk/javadoc/doclet/testModules/TestIndirectExportsOpens.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModulePackages.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModuleServices.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testNavigation/TestNavigation.java ! test/langtools/jdk/javadoc/doclet/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/langtools/jdk/javadoc/doclet/testOptions/TestOptions.java ! test/langtools/jdk/javadoc/doclet/testOrdering/TestOrdering.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestBadOverride.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverriddenDeprecatedMethods.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverriddenMethodDocCopy.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverrideMethods.java ! test/langtools/jdk/javadoc/doclet/testPackageAnnotation/TestPackageAnnotation.java ! test/langtools/jdk/javadoc/doclet/testPackageDeprecation/TestPackageDeprecation.java ! test/langtools/jdk/javadoc/doclet/testPackageDescription/TestPackageDescription.java ! test/langtools/jdk/javadoc/doclet/testPackagePage/TestPackagePage.java ! test/langtools/jdk/javadoc/doclet/testPackageSummary/TestPackageSummary.java ! test/langtools/jdk/javadoc/doclet/testPrivateClasses/TestPrivateClasses.java ! test/langtools/jdk/javadoc/doclet/testProperty/TestProperty.java ! test/langtools/jdk/javadoc/doclet/testRecordTypes/TestRecordTypes.java ! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java ! test/langtools/jdk/javadoc/doclet/testSerializedForm/TestSerializedForm.java ! test/langtools/jdk/javadoc/doclet/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java ! test/langtools/jdk/javadoc/doclet/testSerializedFormWithClassFile/TestSerializedFormWithClassFile.java ! test/langtools/jdk/javadoc/doclet/testStylesheet/TestStylesheet.java ! test/langtools/jdk/javadoc/doclet/testSubTitle/TestSubTitle.java ! test/langtools/jdk/javadoc/doclet/testSummaryTag/TestSummaryTag.java ! test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/TestSystemPropertyPage.java ! test/langtools/jdk/javadoc/doclet/testSystemPropertyTaglet/TestSystemPropertyTaglet.java ! test/langtools/jdk/javadoc/doclet/testTagOutput/TestTagOutput.java ! test/langtools/jdk/javadoc/doclet/testTitleInHref/TestTitleInHref.java ! test/langtools/jdk/javadoc/doclet/testTypeAnnotations/TestTypeAnnotations.java ! test/langtools/jdk/javadoc/doclet/testTypeParams/TestTypeParameters.java ! test/langtools/jdk/javadoc/doclet/testUnnamedPackage/TestUnnamedPackage.java ! test/langtools/jdk/javadoc/doclet/testUseOption/TestUseOption.java ! test/langtools/jdk/javadoc/doclet/testValueTag/TestValueTagInModule.java ! test/langtools/jdk/javadoc/tool/testLocaleOption/TestLocaleOption.java Changeset: dc1cf3a5d7db Author: joehw Date: 2020-03-13 19:15 +0000 URL: https://hg.openjdk.java.net/panama/dev/rev/dc1cf3a5d7db 8240982: Incorrect copyright header in BCEL 6.4.1 sources Reviewed-by: naoto, 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/ConstantLong.java Changeset: 24d342c838fb Author: amenkov Date: 2020-03-13 12:25 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/24d342c838fb 8217441: Failure of ::realloc() should be handled correctly in sawindbg.cpp Reviewed-by: cjplummer, sspitsyn ! src/jdk.hotspot.agent/windows/native/libsaproc/sawindbg.cpp Changeset: 10f11578b1f4 Author: kbarrett Date: 2020-03-13 15:36 -0400 URL: https://hg.openjdk.java.net/panama/dev/rev/10f11578b1f4 8239825: G1: Simplify threshold test for mutator refinement Summary: Compute refinement threshold when values change, not on each use. Reviewed-by: tschatzl, sangheki ! src/hotspot/share/gc/g1/g1ConcurrentRefine.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp Changeset: 332ee3137fb8 Author: darcy Date: 2020-03-14 09:53 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/332ee3137fb8 8240130: Improve and update discussion of visitor evolution warnings Reviewed-by: jjg ! src/java.compiler/share/classes/javax/lang/model/element/AnnotationValueVisitor.java ! src/java.compiler/share/classes/javax/lang/model/element/ElementVisitor.java ! src/java.compiler/share/classes/javax/lang/model/type/TypeVisitor.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner14.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner6.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner7.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner8.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner9.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor9.java Changeset: 0d7a66c27369 Author: vromero Date: 2020-03-14 17:08 -0400 URL: https://hg.openjdk.java.net/panama/dev/rev/0d7a66c27369 8235339: test TargetAnnoCombo.java is failing after new target RECORD_COMPONENT was added Reviewed-by: darcy ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! test/langtools/ProblemList.txt ! test/langtools/tools/javac/annotations/repeatingAnnotations/combo/Helper.java ! test/langtools/tools/javac/annotations/repeatingAnnotations/combo/TargetAnnoCombo.java Changeset: 981b5a0c43da Author: ngasson Date: 2020-03-16 10:51 +0800 URL: https://hg.openjdk.java.net/panama/dev/rev/981b5a0c43da 8240353: AArch64: missing support for -XX:+ExtendedDTraceProbes in C1 Reviewed-by: aph ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp Changeset: 59b5bd9a7168 Author: dholmes Date: 2020-03-16 02:16 -0400 URL: https://hg.openjdk.java.net/panama/dev/rev/59b5bd9a7168 8241043: Expand assertions to identify thread with errant _stack_base Reviewed-by: mikael ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp Changeset: 4eaf6922273a Author: jlahoda Date: 2020-03-16 13:06 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/4eaf6922273a 8240964: Compilation error thrown when long literal used with yield Summary: Ensuring yield followed by a long literal is recognized as a yield statement. Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/langtools/tools/javac/switchexpr/ExpressionSwitch.java Changeset: 80eaef8e3e60 Author: eosterlund Date: 2020-03-16 12:27 +0000 URL: https://hg.openjdk.java.net/panama/dev/rev/80eaef8e3e60 8240363: Refactor Compile::Output() to its own Phase Reviewed-by: kvn, vlivanov ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/arm/arm.ad ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/cpu/s390/compiledIC_s390.cpp ! src/hotspot/cpu/s390/s390.ad ! src/hotspot/cpu/sparc/sparc.ad ! src/hotspot/cpu/x86/c2_intelJccErratum_x86.cpp ! src/hotspot/cpu/x86/x86_32.ad ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/adlc/adlparse.cpp ! src/hotspot/share/adlc/main.cpp ! src/hotspot/share/adlc/output_c.cpp ! src/hotspot/share/compiler/compileBroker.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/opto/buildOopMap.cpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/chaitin.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp + src/hotspot/share/opto/constantTable.cpp + src/hotspot/share/opto/constantTable.hpp ! src/hotspot/share/opto/machnode.cpp ! src/hotspot/share/opto/machnode.hpp ! src/hotspot/share/opto/output.cpp ! src/hotspot/share/opto/output.hpp ! src/hotspot/share/opto/phase.hpp ! src/hotspot/share/opto/runtime.cpp Changeset: d25079af1459 Author: jiefu Date: 2020-03-16 22:43 +0800 URL: https://hg.openjdk.java.net/panama/dev/rev/d25079af1459 8241034: Fix a configuring error with "-Xmx2048M: command not found" Reviewed-by: mikael, erikj ! make/autoconf/build-performance.m4 Changeset: 500f99ff1921 Author: naoto Date: 2020-03-16 09:26 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/500f99ff1921 8240626: Some of the java.time.chrono.Eras return empty display name for some styles and locales Reviewed-by: joehw ! make/jdk/src/classes/build/tools/cldrconverter/Bundle.java ! test/jdk/java/time/test/java/time/chrono/TestEraDisplayName.java Changeset: 42b62267498d Author: eosterlund Date: 2020-03-16 17:13 +0000 URL: https://hg.openjdk.java.net/panama/dev/rev/42b62267498d 8241074: JDK-8240363 broke the build on AArch64 Reviewed-by: shade ! src/hotspot/share/opto/constantTable.cpp Changeset: da2fc44fd45f Author: zgu Date: 2020-02-25 12:01 -0500 URL: https://hg.openjdk.java.net/panama/dev/rev/da2fc44fd45f 8239926: Shenandoah: Shenandoah needs to mark nmethod's metadata Reviewed-by: rkennke, shade ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahNMethod.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUnload.cpp Changeset: cc3c165659bf Author: mbaesken Date: 2020-03-17 08:53 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/cc3c165659bf 8240824: enhance print_full_memory_info on Linux by THP related information Reviewed-by: dholmes, stuefe ! src/hotspot/os/linux/os_linux.cpp Changeset: daed0d4ec02d Author: redestad Date: 2020-03-17 09:36 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/daed0d4ec02d 8241077: x86_64: Minor Assembler improvements Reviewed-by: kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp Changeset: 56e78301b358 Author: rkennke Date: 2020-03-17 11:49 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/56e78301b358 8241081: Shenandoah: Do not modify update-watermark concurrently Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp Changeset: a4e2fc916323 Author: aph Date: 2020-03-16 17:10 +0000 URL: https://hg.openjdk.java.net/panama/dev/rev/a4e2fc916323 8241018: 32-bit integer log2 functions return the wrong value for negative arguments on 64-bit machines Reviewed-by: kvn ! src/hotspot/share/utilities/globalDefinitions.hpp ! test/hotspot/gtest/utilities/test_globalDefinitions.cpp Changeset: 0daa6b52ba56 Author: aph Date: 2020-03-17 14:13 +0000 URL: https://hg.openjdk.java.net/panama/dev/rev/0daa6b52ba56 Merge Changeset: 0a2e12c3e6e3 Author: kvn Date: 2020-03-17 10:38 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/0a2e12c3e6e3 8240976: [JVMCI] MethodProfileWidth flag is broken Summary: remove JVMCI code which is not used Reviewed-by: thartmann, redestad ! src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp ! src/hotspot/cpu/aarch64/interp_masm_aarch64.hpp ! src/hotspot/cpu/ppc/templateTable_ppc_64.cpp ! src/hotspot/cpu/sparc/interp_masm_sparc.cpp ! src/hotspot/cpu/sparc/interp_masm_sparc.hpp ! src/hotspot/cpu/sparc/templateTable_sparc.cpp ! src/hotspot/cpu/x86/interp_masm_x86.cpp ! src/hotspot/cpu/x86/interp_masm_x86.hpp ! src/hotspot/cpu/x86/templateTable_x86.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp ! src/hotspot/share/jvmci/jvmci_globals.cpp ! src/hotspot/share/jvmci/jvmci_globals.hpp ! src/hotspot/share/oops/methodData.cpp ! src/hotspot/share/oops/methodData.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/MethodData.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/VirtualCallData.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotVMConfig.java Changeset: b5237a11d0dc Author: redestad Date: 2020-03-05 16:07 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/b5237a11d0dc 8241042: x86_64: Improve Assembler generation Reviewed-by: vlivanov, kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/share/asm/assembler.hpp ! src/hotspot/share/asm/codeBuffer.hpp Changeset: 157a7e7033d9 Author: kvn Date: 2020-03-17 12:42 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/157a7e7033d9 8237045: JVM uses excessive memory with -XX:+EnableJVMCI -XX:JVMCICounterSize=2147483648 Summary: limit JVMCICounterSize flag's value range to 1M Reviewed-by: thartmann, redestad ! src/hotspot/share/jvmci/jvmci_globals.hpp ! test/hotspot/jtreg/runtime/CommandLine/OptionsValidation/TestOptionsWithRanges.java ! test/hotspot/jtreg/runtime/CommandLine/OptionsValidation/common/optionsvalidation/JVMOptionsUtils.java Changeset: 86af236fbd89 Author: kvn Date: 2020-03-17 14:05 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/86af236fbd89 8241122: Remove unimplemented InlineTree constructor definition from parse.hpp Reviewed-by: kvn Contributed-by: Charlie Gracie ! src/hotspot/share/opto/parse.hpp Changeset: 988822b06767 Author: dholmes Date: 2020-03-17 19:57 -0400 URL: https://hg.openjdk.java.net/panama/dev/rev/988822b06767 8239593: Bogus warning "Re-registering of platform native method" for a JVMTI agent Reviewed-by: dcubed, alanb, hseigel ! src/hotspot/share/prims/jni.cpp Changeset: dd9eb63b5d3e Author: dholmes Date: 2020-03-17 20:54 -0400 URL: https://hg.openjdk.java.net/panama/dev/rev/dd9eb63b5d3e 8241124: Aarch64 build broken by JDK-8239593 Reviewed-by: mikael ! src/hotspot/share/prims/jni.cpp Changeset: d6ae5212211f Author: cjplummer Date: 2020-03-17 18:04 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/d6ae5212211f 8238268: Many SA tests are not running on OSX because they do not attempt to use sudo when available Reviewed-by: sspitsyn, iignatyev ! test/hotspot/jtreg/TEST.ROOT ! test/hotspot/jtreg/compiler/ciReplay/TestSAClient.java ! test/hotspot/jtreg/compiler/ciReplay/TestSAServer.java ! test/hotspot/jtreg/gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java ! test/hotspot/jtreg/resourcehogs/serviceability/sa/TestHeapDumpForLargeArray.java ! test/hotspot/jtreg/serviceability/sa/CDSJMapClstats.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbFindPC.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbJstackXcompStress.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbLauncher.java ! test/hotspot/jtreg/serviceability/sa/DeadlockDetectionTest.java ! test/hotspot/jtreg/serviceability/sa/JhsdbThreadInfoTest.java ! test/hotspot/jtreg/serviceability/sa/TestClassDump.java ! test/hotspot/jtreg/serviceability/sa/TestClhsdbJstackLock.java ! test/hotspot/jtreg/serviceability/sa/TestCpoolForInvokeDynamic.java ! test/hotspot/jtreg/serviceability/sa/TestDefaultMethods.java ! test/hotspot/jtreg/serviceability/sa/TestG1HeapRegion.java ! test/hotspot/jtreg/serviceability/sa/TestHeapDumpForInvokeDynamic.java ! test/hotspot/jtreg/serviceability/sa/TestInstanceKlassSize.java ! test/hotspot/jtreg/serviceability/sa/TestInstanceKlassSizeForInterface.java ! test/hotspot/jtreg/serviceability/sa/TestIntConstant.java ! test/hotspot/jtreg/serviceability/sa/TestJhsdbJstackLock.java ! test/hotspot/jtreg/serviceability/sa/TestJhsdbJstackMixed.java ! test/hotspot/jtreg/serviceability/sa/TestPrintMdo.java ! test/hotspot/jtreg/serviceability/sa/TestRevPtrsForInvokeDynamic.java ! test/hotspot/jtreg/serviceability/sa/TestType.java ! test/hotspot/jtreg/serviceability/sa/TestUniverse.java ! test/hotspot/jtreg/serviceability/sa/jmap-hprof/JMapHProfLargeHeapTest.java ! test/hotspot/jtreg/serviceability/sa/sadebugd/DebugdConnectTest.java ! test/hotspot/jtreg/serviceability/sa/sadebugd/SADebugDTest.java ! test/hotspot/jtreg/testlibrary_tests/TestMutuallyExclusivePlatformPredicates.java ! test/jdk/TEST.ROOT ! test/jdk/sun/tools/jhsdb/BasicLauncherTest.java ! test/jdk/sun/tools/jhsdb/HeapDumpTest.java ! test/jdk/sun/tools/jhsdb/HeapDumpTestWithActiveProcess.java ! test/jdk/sun/tools/jhsdb/JShellHeapDumpTest.java ! test/jdk/sun/tools/jhsdb/heapconfig/JMapHeapConfigTest.java ! test/jdk/sun/tools/jhsdb/heapconfig/TmtoolTestScenario.java ! test/jdk/sun/tools/jstack/DeadlockDetectionTest.java ! test/jtreg-ext/requires/VMProps.java ! test/lib/jdk/test/lib/Platform.java ! test/lib/jdk/test/lib/SA/SATestUtils.java Changeset: 824e6b7c5bcf Author: weijun Date: 2020-03-18 09:23 +0800 URL: https://hg.openjdk.java.net/panama/dev/rev/824e6b7c5bcf 8186143: keytool -ext option doesn't accept wildcards for DNS subject alternative names Reviewed-by: jnimeh, weijun, mullan Contributed-by: Hai-May Chao ! src/java.base/share/classes/sun/security/tools/keytool/Main.java ! src/java.base/share/classes/sun/security/x509/DNSName.java ! test/jdk/sun/security/x509/GeneralName/DNSNameTest.java Changeset: f40aa9beb326 Author: naoto Date: 2020-03-17 19:11 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/f40aa9beb326 8241082: Upgrade IANA Language Subtag Registry data to 03-16-2020 version Reviewed-by: joehw ! make/data/lsrdata/language-subtag-registry.txt ! make/jdk/src/classes/build/tools/generatelsrequivmaps/EquivMapsGenerator.java ! test/jdk/java/util/Locale/Bug8040211.java Changeset: 82d11846109a Author: shade Date: 2020-03-18 06:28 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/82d11846109a 8241093: Shenandoah: editorial changes in flag descriptions Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: 5df90c29762d Author: igerasim Date: 2020-03-18 01:04 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/5df90c29762d 8214245: Case insensitive matching doesn't work correctly for some character classes Reviewed-by: rriggs, darcy ! src/java.base/share/classes/java/util/regex/CharPredicates.java ! src/java.base/share/classes/java/util/regex/Pattern.java ! test/jdk/java/util/regex/RegExTest.java Changeset: 5c47c5d72003 Author: itakiguchi Date: 2020-03-18 18:04 +0900 URL: https://hg.openjdk.java.net/panama/dev/rev/5c47c5d72003 8232161: Align some one-way conversion in MS950 charset with Windows Summary: MS950 charset encoder's conversion table is changed Reviewed-by: naoto ! make/data/charsetmapping/MS950.map ! make/data/charsetmapping/MS950.nr + test/jdk/sun/nio/cs/TestMS950.java Changeset: 6c954123ee8d Author: jwilhelm Date: 2020-03-18 10:34 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/6c954123ee8d Added tag jdk-14-ga for changeset bc54620a3848 ! .hgtags Changeset: dc7e9cde760e Author: jwilhelm Date: 2020-03-18 10:41 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/dc7e9cde760e Merge ! .hgtags Changeset: 743c9071c317 Author: mgronlun Date: 2020-03-18 12:00 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/743c9071c317 8239497: SEGV in EdgeUtils::field_name_symbol(Edge const&) Reviewed-by: egahlin, tonyp Contributed-by: Tony Printezis ! src/hotspot/share/jfr/leakprofiler/chains/edge.cpp ! src/hotspot/share/jfr/leakprofiler/chains/edge.hpp ! src/hotspot/share/jfr/leakprofiler/chains/edgeUtils.cpp ! src/hotspot/share/jfr/leakprofiler/chains/edgeUtils.hpp ! src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleWriter.cpp ! src/hotspot/share/oops/instanceMirrorKlass.hpp Changeset: a6203123a1e2 Author: mseledtsov Date: 2020-03-18 09:45 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/a6203123a1e2 8241033: Create test library utility for getting JFR streaming repository Summary: New method to get JFR streaming repo path Reviewed-by: egahlin, mgronlun ! test/jdk/jdk/jfr/api/consumer/streaming/TestCrossProcessStreaming.java ! test/jdk/jdk/jfr/api/consumer/streaming/TestProcess.java + test/lib/jdk/test/lib/jfr/StreamingUtils.java Changeset: a25184d6d8a5 Author: cjplummer Date: 2020-03-18 10:14 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/a25184d6d8a5 8240906: Update ZGC ProblemList for serviceability/sa/TestJmapCoreMetaspace.java Reviewed-by: stefank ! test/hotspot/jtreg/ProblemList-zgc.txt Changeset: ed0ecde93aaa Author: cjplummer Date: 2020-03-18 10:42 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/ed0ecde93aaa 8227340: Modify problem list entry for javax/management/remote/mandatory/connection/MultiThreadDeadLockTest.java Reviewed-by: dholmes ! test/jdk/ProblemList.txt Changeset: 4674b84fc29b Author: dtitov Date: 2020-03-18 11:05 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/4674b84fc29b 8240711: TestJstatdPort.java failed due to "ExportException: Port already in use:" Reviewed-by: amenkov ! test/jdk/sun/tools/jstatd/JstatdTest.java Changeset: f22610867eb4 Author: shade Date: 2020-03-18 19:24 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/f22610867eb4 8241128: x86_32 build failure after JDK-8241042 Reviewed-by: redestad, kvn ! src/hotspot/cpu/x86/assembler_x86.cpp Changeset: 79a40801d56f Author: vromero Date: 2020-03-18 14:33 -0400 URL: https://hg.openjdk.java.net/panama/dev/rev/79a40801d56f 8240970: Some tests fail when run with JCov Reviewed-by: jjg ! test/langtools/tools/javac/EarlyAssertWrapper.java ! test/langtools/tools/javac/T8132562/ClassPathWithDoubleQuotesTest.java ! test/langtools/tools/javac/launcher/SourceLauncherTest.java ! test/langtools/tools/javac/modules/RequiresStaticTest.java ! test/langtools/tools/javac/options/smokeTests/OptionSmokeTest.java ! test/langtools/tools/javac/platform/PlatformProviderTest.java ! test/langtools/tools/jdeps/modules/CheckModuleTest.java Changeset: acce42fd27a7 Author: dnsimon Date: 2020-03-18 13:11 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/acce42fd27a7 8236285: [JVMCI] improve TranslatedException traces Reviewed-by: never, kvn ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/TranslatedException.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/TestTranslatedException.java Changeset: dd555adfac9c Author: cjplummer Date: 2020-03-18 13:24 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/dd555adfac9c 8241162: ProblemList serviceability/sa/TestHeapDumpForInvokeDynamic.java on OSX Reviewed-by: dcubed ! test/hotspot/jtreg/ProblemList.txt Changeset: 5cc3cb873e98 Author: jjg Date: 2020-03-18 13:20 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/5cc3cb873e98 8241030: rename HtmlTag to TagName Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractTreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassUseWriter.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/ConstantsSummaryWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstructorWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DeprecatedListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Headings.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/HtmlDocletWriter.java ! 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/IndexRedirectWriter.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/PackageTreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageUseWriter.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/SerializedFormWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SingleIndexWriter.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/SplitIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SubWriterHolderWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Head.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlStyle.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlTag.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/Script.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/TableHeader.java + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/TagName.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/package-info.java ! test/langtools/jdk/javadoc/doclet/testHtmlDocument/TestHtmlDocument.java Changeset: 82b7c62cf4cc Author: jjg Date: 2020-03-18 13:29 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/82b7c62cf4cc Merge Changeset: 16d304873ab0 Author: winterhalter Date: 2020-03-18 17:07 -0400 URL: https://hg.openjdk.java.net/panama/dev/rev/16d304873ab0 8202469: (ann) Type annotations on type variable bounds that are also type variables are lost Reviewed-by: jfranck ! src/java.base/share/classes/sun/reflect/annotation/TypeAnnotationParser.java + test/jdk/java/lang/annotation/typeAnnotations/ParameterizedBoundIndex.java Changeset: af221c1b1671 Author: aleonard Date: 2020-03-17 14:14 +0000 URL: https://hg.openjdk.java.net/panama/dev/rev/af221c1b1671 8241097: java/math/BigInteger/largeMemory/SymmetricRangeTests.java requires -XX:+CompactStrings Reviewed-by: bpb, bchristi Contributed-by: andrew_m_leonard at uk.ibm.com ! test/jdk/java/math/BigInteger/largeMemory/SymmetricRangeTests.java From sundar at openjdk.java.net Thu Mar 19 04:07:56 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Thu, 19 Mar 2020 04:07:56 GMT Subject: [foreign-abi] RFR: 8241148: need a way to create MemorySegment with contents from java String and a way to read a C char* as java String In-Reply-To: <-IrliiqsqcJl6t2dTfAC-qU1JEKrAlIWh_HowSj_ad0=.3d826c93-3124-4162-87a9-3eca7a398bcb@github.com> References: <2hKHKCnlFgm8lY9BhjgctGyP_K9cNvvh2MfXqtdaeIQ=.9de69f10-f144-4cb4-8829-b966a9a76d37@github.com> <7CJtNsFkyndl6QmcJmlYpf_-lOzGrpSxwQCJBJHBHJA=.f799dadc-951c-4da3-bd9f-7f5ae37e5115@github.com> <-IrliiqsqcJl6t2dTfAC-qU1JEKrAlIWh_HowSj_ad0=.3d826c93-3124-4162-87a9-3eca7a398bcb@github.com> Message-ID: On Wed, 18 Mar 2020 19:11:41 GMT, Henry Jen wrote: >> src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/unsafe/ForeignUnsafe.java line 102: >> >>> 101: >>> 102: private static MemorySegment makeNativeString(String str, int length) { >>> 103: MemoryLayout strLayout = MemoryLayout.ofSequence(length, C_CHAR); >> >> name bikeshed: makeNativeString or toCString to make it more symmetric with the other method you added? > > We also need a function to make a byte array into native string. > > Although I think makeNativeString(new String(byte[])) should be good enough, but I think > makeNativeString(string.getBytes()) is more accurate on keeping byte array encoding. Current feature is only about conversion to/from C and Java Strings. Array conversions - not just byte[] - could be another feature. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/55 From sundar at openjdk.java.net Thu Mar 19 04:07:57 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Thu, 19 Mar 2020 04:07:57 GMT Subject: [foreign-abi] RFR: 8241148: need a way to create MemorySegment with contents from java String and a way to read a C char* as java String In-Reply-To: <7CJtNsFkyndl6QmcJmlYpf_-lOzGrpSxwQCJBJHBHJA=.f799dadc-951c-4da3-bd9f-7f5ae37e5115@github.com> References: <2hKHKCnlFgm8lY9BhjgctGyP_K9cNvvh2MfXqtdaeIQ=.9de69f10-f144-4cb4-8829-b966a9a76d37@github.com> <7CJtNsFkyndl6QmcJmlYpf_-lOzGrpSxwQCJBJHBHJA=.f799dadc-951c-4da3-bd9f-7f5ae37e5115@github.com> Message-ID: <0DEg0hvUwqmoadFfh9pqhOgDzQ03UXtetAkbmk3yyFw=.a926e47e-3e0c-45cd-963a-dd60bf82d377@github.com> On Wed, 18 Mar 2020 18:00:12 GMT, Maurizio Cimadamore wrote: >> Adding utility methods to ForeignUnsafe class. > > test/jdk/java/foreign/Test8241148.java line 81: > >> 80: assertEquals(pathStr.length(), len); >> 81: System.out.println("PATH = " + pathStr); >> 82: } > > Should we compare it with System.getEnv? > > https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/System.html#getenv() > > Perhaps we could strengthen the test that way by ensuring that the naive getenv returns same values for all the keys in > the System.getEnv Map. Will fix this. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/55 From sundar at openjdk.java.net Thu Mar 19 04:07:58 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Thu, 19 Mar 2020 04:07:58 GMT Subject: [foreign-abi] RFR: 8241148: need a way to create MemorySegment with contents from java String and a way to read a C char* as java String In-Reply-To: References: <2hKHKCnlFgm8lY9BhjgctGyP_K9cNvvh2MfXqtdaeIQ=.9de69f10-f144-4cb4-8829-b966a9a76d37@github.com> Message-ID: <5kv7Imzw0MJpQNwl2W7qvWQcwQcE0bH-gJpZuMw7rzw=.377a4372-22d9-460a-9253-4acd98b520f4@github.com> On Wed, 18 Mar 2020 19:03:41 GMT, Henry Jen wrote: >> Adding utility methods to ForeignUnsafe class. > > src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/unsafe/ForeignUnsafe.java line 119: > >> 118: public static String toJavaString(MemoryAddress addr) { >> 119: StringBuilder buf = new StringBuilder(); >> 120: try (MemorySegment seg = ofNativeUnchecked(addr, Long.MAX_VALUE)) { > > There are use cases to take a C string and make it a byte array in nio, and we have to retain the encoding of byte > array, some pointed out to me that toJavaString(addr).getBytes() may not be proper if encoding is not properly > specified(not my experience though). Thus I have couple functions like following, > https://github.com/slowhog/panama-foreign/blob/eb79b8c14cfcdeae6a869d6f434929f44ab73dd5/src/java.base/unix/classes/sun/nio/FFIUtils.java#L176 Will add Charset accepting variant as well. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/55 From sundar at openjdk.java.net Thu Mar 19 04:22:30 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Thu, 19 Mar 2020 04:22:30 GMT Subject: [foreign-abi] [Rev 01] RFR: 8241148: need a way to create MemorySegment with contents from java String and a way to read a C char* as java String In-Reply-To: <2hKHKCnlFgm8lY9BhjgctGyP_K9cNvvh2MfXqtdaeIQ=.9de69f10-f144-4cb4-8829-b966a9a76d37@github.com> References: <2hKHKCnlFgm8lY9BhjgctGyP_K9cNvvh2MfXqtdaeIQ=.9de69f10-f144-4cb4-8829-b966a9a76d37@github.com> Message-ID: > Adding utility methods to ForeignUnsafe class. Athijegannathan Sundararajan has updated the pull request incrementally with one additional commit since the last revision: * renamed makeNativeString as toCString * added Charset accepting variant for toCString * fixed test to compare PATH value with System.getenv("PATH") ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/55/files - new: https://git.openjdk.java.net/panama-foreign/pull/55/files/b2ec10ae..f7843a08 Webrevs: - full: https://webrevs.openjdk.java.net/panama-foreign/55/webrev.01 - incr: https://webrevs.openjdk.java.net/panama-foreign/55/webrev.00-01 Stats: 31 lines in 3 files changed: 12 ins; 0 del; 19 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/55.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/55/head:pull/55 PR: https://git.openjdk.java.net/panama-foreign/pull/55 From youngty1997 at gmail.com Thu Mar 19 10:37:20 2020 From: youngty1997 at gmail.com (Ty Young) Date: Thu, 19 Mar 2020 05:37:20 -0500 Subject: [foreign-abi] RFR: 8241148: need a way to create MemorySegment with contents from java String and a way to read a C char* as java String In-Reply-To: <2hKHKCnlFgm8lY9BhjgctGyP_K9cNvvh2MfXqtdaeIQ=.9de69f10-f144-4cb4-8829-b966a9a76d37@github.com> References: <2hKHKCnlFgm8lY9BhjgctGyP_K9cNvvh2MfXqtdaeIQ=.9de69f10-f144-4cb4-8829-b966a9a76d37@github.com> Message-ID: <5ddb4787-4449-af00-7e90-c1427ed71c73@gmail.com> On 3/18/20 11:58 AM, Athijegannathan Sundararajan wrote: > Adding utility methods to ForeignUnsafe class. A few suggestions on this, if you don't mind. ForeignUnsafe is apart of the native system call part of Panama and therefore will not be apart of the general foreign memory access API that will be released first. It is, however, possible to read and write strings from/to memory without that additional native access layer. So, maybe instead of adding these static methods to ForeignUnsafe, they should instead be added to MemoryAddress(Or MemorySegment)? Of course, this means that any MemoryAddress(or MemorySegment) returned by a native function will have to go through ForeignUnsafe, but, forcing the user to explicitly deal with that themselves is probably desirable, right? Doing this also simplifies and fixes the code of toJavaString(). Right now it's implemented like so: public static String toJavaString(MemoryAddress addr) { ??????? StringBuilder buf = new StringBuilder(); ??????? try (MemorySegment seg = ofNativeUnchecked(addr, Long.MAX_VALUE)) { ??????????? MemoryAddress baseAddr = seg.baseAddress(); ??????????? byte curr = (byte) byteArrHandle.get(baseAddr, 0); ??????????? long offset = 0; ??????????? while (curr != 0) { ??????????????? buf.append((char) curr); ??????????????? curr = (byte) byteArrHandle.get(baseAddr, ++offset); ??????????? } ??????? } ??????? return buf.toString(); ??? } Which has two (really minor) issues in that it applies a Long.MAX_VALUE on a native, unsafe MemoryAddress(Yes, it'll work fine, but still, the API user would know the actual size and probably have applied it already before this, making it a waste), and that it's a bit messy. However, if it were move to MemoryAddress and it's assumed the address is safe, the method could just basically be a copy/paste of the old Pointer.toString from old Panama[1], with a variant that accepts a Charset. FWIW, I'm doing this now for my abstraction layer's MemoryArray.toString methods and it works fine. There is also a toString() method which accepts a Charset, so that isn't an issue. [1] https://github.com/openjdk/panama-foreign/blob/4c00f872eaf7bc3ac1be3a18060331d76de1fee0/src/java.base/share/classes/java/foreign/memory/Pointer.java#L265 > > ------------- > > Commit messages: > - 8241148: need a way to create MemorySegment with contents from java String and a way to read a C char* as java String > > Changes: https://git.openjdk.java.net/panama-foreign/pull/55/files > Webrev: https://webrevs.openjdk.java.net/panama-foreign/55/webrev.00 > Issue: https://bugs.openjdk.java.net/browse/JDK-8241148 > Stats: 154 lines in 3 files changed: 133 ins; 19 del; 2 mod > Patch: https://git.openjdk.java.net/panama-foreign/pull/55.diff > Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/55/head:pull/55 > > PR: https://git.openjdk.java.net/panama-foreign/pull/55 From mcimadamore at openjdk.java.net Thu Mar 19 10:59:08 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Thu, 19 Mar 2020 10:59:08 GMT Subject: [foreign-abi] [Rev 01] RFR: 8241148: need a way to create MemorySegment with contents from java String and a way to read a C char* as java String In-Reply-To: <7CJtNsFkyndl6QmcJmlYpf_-lOzGrpSxwQCJBJHBHJA=.f799dadc-951c-4da3-bd9f-7f5ae37e5115@github.com> References: <2hKHKCnlFgm8lY9BhjgctGyP_K9cNvvh2MfXqtdaeIQ=.9de69f10-f144-4cb4-8829-b966a9a76d37@github.com> <7CJtNsFkyndl6QmcJmlYpf_-lOzGrpSxwQCJBJHBHJA=.f799dadc-951c-4da3-bd9f-7f5ae37e5115@github.com> Message-ID: On Wed, 18 Mar 2020 18:00:28 GMT, Maurizio Cimadamore wrote: >> Athijegannathan Sundararajan has updated the pull request incrementally with one additional commit since the last >> revision: >> * renamed makeNativeString as toCString >> * added Charset accepting variant for toCString >> * fixed test to compare PATH value with System.getenv("PATH") > > Looks good - some minor comments on naming and test. > However, if it were move to MemoryAddress and it's assumed the address > is safe, the method could just basically be a copy/paste of the old > Pointer.toString from old Panama[1], with a variant that accepts a Charset. I think the points you raise are valid ones. We could indeed treat these conversions as 'safe' and expect the user to do the unsafe conversion. That said, let's not focus too much on the fact that ForeignUnsafe is outside the API, as we have another change we're working on which will bring ForeignUnsafe inside the official API (guarded by some flag), with probably a different name. So I think the choice here is whether we want to "pollute" the memory access API with functionalities which pertain to native interop or not. I think the status quo is that all the native interop stuff should go into a separate class - and keep the memory API simple (for users who want to use it w/o need to do native interop). But the distinction is blurry, and we can re-evaluate as needed. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/55 From mcimadamore at openjdk.java.net Thu Mar 19 11:02:29 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Thu, 19 Mar 2020 11:02:29 GMT Subject: [foreign-abi] [Rev 01] RFR: 8241148: need a way to create MemorySegment with contents from java String and a way to read a C char* as java String In-Reply-To: <0DEg0hvUwqmoadFfh9pqhOgDzQ03UXtetAkbmk3yyFw=.a926e47e-3e0c-45cd-963a-dd60bf82d377@github.com> References: <2hKHKCnlFgm8lY9BhjgctGyP_K9cNvvh2MfXqtdaeIQ=.9de69f10-f144-4cb4-8829-b966a9a76d37@github.com> <7CJtNsFkyndl6QmcJmlYpf_-lOzGrpSxwQCJBJHBHJA=.f799dadc-951c-4da3-bd9f-7f5ae37e5115@github.com> <0DEg0hvUwqmoadFfh9pqhOgDzQ03UXtetAkbmk3yyFw=.a926e47e-3e0c-45cd-963a-dd60bf82d377@github.com> Message-ID: On Thu, 19 Mar 2020 04:05:16 GMT, Athijegannathan Sundararajan wrote: >> test/jdk/java/foreign/Test8241148.java line 81: >> >>> 80: assertEquals(pathStr.length(), len); >>> 81: System.out.println("PATH = " + pathStr); >>> 82: } >> >> Should we compare it with System.getEnv? >> >> https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/System.html#getenv() >> >> Perhaps we could strengthen the test that way by ensuring that the naive getenv returns same values for all the keys in >> the System.getEnv Map. > > Will fix this. I guess what I had in mind was more a for loop where we iterate over all the System.getEnv entries and we validate that the strings we get are the same as those we get from the native function call. I'm saying this because maybe some env properties have weirder strings attached to them which might run into encoding issues and the likes - also we'd remove dependency on PATH in case it's not defined on a given system. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/55 From mcimadamore at openjdk.java.net Thu Mar 19 11:02:29 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Thu, 19 Mar 2020 11:02:29 GMT Subject: [foreign-abi] [Rev 01] RFR: 8241148: need a way to create MemorySegment with contents from java String and a way to read a C char* as java String In-Reply-To: References: <2hKHKCnlFgm8lY9BhjgctGyP_K9cNvvh2MfXqtdaeIQ=.9de69f10-f144-4cb4-8829-b966a9a76d37@github.com> Message-ID: <0r3d6jvlht5BLO1WnmSBbDD8FvJVCoTLkAvZ1rTPsRs=.857b1193-0b64-48c9-8bda-b0ff94a4d2fc@github.com> On Thu, 19 Mar 2020 04:22:30 GMT, Athijegannathan Sundararajan wrote: >> Adding utility methods to ForeignUnsafe class. > > Athijegannathan Sundararajan has updated the pull request incrementally with one additional commit since the last > revision: > * renamed makeNativeString as toCString > * added Charset accepting variant for toCString > * fixed test to compare PATH value with System.getenv("PATH") Added comment on test ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/55 From sundar at openjdk.java.net Thu Mar 19 12:11:11 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Thu, 19 Mar 2020 12:11:11 GMT Subject: [foreign-abi] [Rev 01] RFR: 8241148: need a way to create MemorySegment with contents from java String and a way to read a C char* as java String In-Reply-To: <0r3d6jvlht5BLO1WnmSBbDD8FvJVCoTLkAvZ1rTPsRs=.857b1193-0b64-48c9-8bda-b0ff94a4d2fc@github.com> References: <2hKHKCnlFgm8lY9BhjgctGyP_K9cNvvh2MfXqtdaeIQ=.9de69f10-f144-4cb4-8829-b966a9a76d37@github.com> <0r3d6jvlht5BLO1WnmSBbDD8FvJVCoTLkAvZ1rTPsRs=.857b1193-0b64-48c9-8bda-b0ff94a4d2fc@github.com> Message-ID: On Thu, 19 Mar 2020 11:00:05 GMT, Maurizio Cimadamore wrote: >> Athijegannathan Sundararajan has updated the pull request incrementally with one additional commit since the last >> revision: >> * renamed makeNativeString as toCString >> * added Charset accepting variant for toCString >> * fixed test to compare PATH value with System.getenv("PATH") > > Added comment on test > That said, let's not focus too much on the fact that ForeignUnsafe is outside the API, as we have another change we're > working on which will bring ForeignUnsafe inside the official API (guarded by some flag), with probably a different > name. Hi Ty, As Maurizio mentioned, we have a plan to bring ForeignUnsafe inside the official API. So for the current change, let's keep these string utils in ForeignUnsafe. > Added comment on test I'll fix the test to iterate through all System env. vars. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/55 From sundar at openjdk.java.net Thu Mar 19 12:31:41 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Thu, 19 Mar 2020 12:31:41 GMT Subject: [foreign-abi] [Rev 02] RFR: 8241148: need a way to create MemorySegment with contents from java String and a way to read a C char* as java String In-Reply-To: <2hKHKCnlFgm8lY9BhjgctGyP_K9cNvvh2MfXqtdaeIQ=.9de69f10-f144-4cb4-8829-b966a9a76d37@github.com> References: <2hKHKCnlFgm8lY9BhjgctGyP_K9cNvvh2MfXqtdaeIQ=.9de69f10-f144-4cb4-8829-b966a9a76d37@github.com> Message-ID: > Adding utility methods to ForeignUnsafe class. Athijegannathan Sundararajan has updated the pull request incrementally with one additional commit since the last revision: Improved Test8241148 to check all System env. vars. ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/55/files - new: https://git.openjdk.java.net/panama-foreign/pull/55/files/f7843a08..5d5a92e6 Webrevs: - full: https://webrevs.openjdk.java.net/panama-foreign/55/webrev.02 - incr: https://webrevs.openjdk.java.net/panama-foreign/55/webrev.01-02 Stats: 9 lines in 1 file changed: 0 ins; 2 del; 7 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/55.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/55/head:pull/55 PR: https://git.openjdk.java.net/panama-foreign/pull/55 From mcimadamore at openjdk.java.net Thu Mar 19 13:01:00 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Thu, 19 Mar 2020 13:01:00 GMT Subject: [foreign-abi] [Rev 02] RFR: 8241148: need a way to create MemorySegment with contents from java String and a way to read a C char* as java String In-Reply-To: References: <2hKHKCnlFgm8lY9BhjgctGyP_K9cNvvh2MfXqtdaeIQ=.9de69f10-f144-4cb4-8829-b966a9a76d37@github.com> Message-ID: <9mciMorYOcUZVEmGpahhzYFHWCY7_dDKHCfFK8ThvFg=.b6e86f53-81d4-407a-a930-20f5837cc63e@github.com> On Thu, 19 Mar 2020 12:31:41 GMT, Athijegannathan Sundararajan wrote: >> Adding utility methods to ForeignUnsafe class. > > Athijegannathan Sundararajan has updated the pull request incrementally with one additional commit since the last > revision: > Improved Test8241148 to check all System env. vars. Looks good! ------------- Marked as reviewed by mcimadamore (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/55 From duke at openjdk.java.net Thu Mar 19 13:04:14 2020 From: duke at openjdk.java.net (duke) Date: Thu, 19 Mar 2020 13:04:14 GMT Subject: git: openjdk/panama-foreign: foreign-jextract: Automatic merge of foreign-abi into foreign-jextract Message-ID: <12c285e0-d915-41b8-9e4a-e02bdcaec3ec@openjdk.org> Changeset: f3f07f9a Author: duke Date: 2020-03-19 13:02:58 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f3f07f9a Automatic merge of foreign-abi into foreign-jextract From sundar at openjdk.java.net Thu Mar 19 13:04:10 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Thu, 19 Mar 2020 13:04:10 GMT Subject: [Integrated] [foreign-abi] RFR: 8241148: need a way to create MemorySegment with contents from java String and a way to read a C char* as java String In-Reply-To: <2hKHKCnlFgm8lY9BhjgctGyP_K9cNvvh2MfXqtdaeIQ=.9de69f10-f144-4cb4-8829-b966a9a76d37@github.com> References: <2hKHKCnlFgm8lY9BhjgctGyP_K9cNvvh2MfXqtdaeIQ=.9de69f10-f144-4cb4-8829-b966a9a76d37@github.com> Message-ID: <867b9dd6-6613-4020-9f12-63cd8ca848cd@openjdk.org> Changeset: 9ebefc6f Author: Athijegannathan Sundararajan Date: 2020-03-19 13:02:36 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9ebefc6f 8241148: need a way to create MemorySegment with contents from java String and a way to read a C char* as java String Reviewed-by: mcimadamore ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/unsafe/ForeignUnsafe.java ! test/jdk/java/foreign/StdLibTest.java + test/jdk/java/foreign/Test8241148.java From sundar at openjdk.java.net Thu Mar 19 13:03:12 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Thu, 19 Mar 2020 13:03:12 GMT Subject: [Integrated] [foreign-abi] RFR: 8241148: need a way to create MemorySegment with contents from java String and a way to read a C char* as java String In-Reply-To: <2hKHKCnlFgm8lY9BhjgctGyP_K9cNvvh2MfXqtdaeIQ=.9de69f10-f144-4cb4-8829-b966a9a76d37@github.com> References: <2hKHKCnlFgm8lY9BhjgctGyP_K9cNvvh2MfXqtdaeIQ=.9de69f10-f144-4cb4-8829-b966a9a76d37@github.com> Message-ID: <8a1cf2a4-2b65-4903-a5c4-23fe3d37f05e@openjdk.org> Changeset: 9ebefc6f Author: Athijegannathan Sundararajan Date: 2020-03-19 13:02:36 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9ebefc6f 8241148: need a way to create MemorySegment with contents from java String and a way to read a C char* as java String Reviewed-by: mcimadamore ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/unsafe/ForeignUnsafe.java ! test/jdk/java/foreign/StdLibTest.java + test/jdk/java/foreign/Test8241148.java From jvernee at openjdk.java.net Thu Mar 19 15:23:05 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Thu, 19 Mar 2020 15:23:05 GMT Subject: [foreign-abi] RFR: 8237585: Dismantle ForeignUnsafe Message-ID: <9e6tXNwZFG3Cgy3IUCWDQgHAWj6wKH7-VBMFz3B-hHw=.078cf6cb-bcf1-4e12-adb2-d263f5ef4a8e@github.com> Hi, This is a redo of the earlier patch to dismantle ForeignUnsafe. It replaces ForeignUnsafe with the Foreign interface, and the InternalForeign implementation of that interface. This PR removes the need to pass --add-exports to make ForeignUnsafe accessible, and replaces it with a runtime check on the `jdk.incubator.foreign.Foreign` system property, which is checked when calling `Foreign::getInstance`. The `Foreign` object returned from that method acts as an access token for accessing native interop functionality. The SystemABI::getInstance factory has also been moved to Foreign, along with the methods that were previously found in ForeignUnsafe. All have now been made non-static. I've updated the tests and also removed the SysV ABI `jdk.internal.foreign.NativeInvoker.FASTPATH` which was no longer being used. Jorn ------------- Commit messages: - Rename ForeignUnsafe to just Foreign, move it outside of the 'unsafe' package, and guard use of it's methods by a system property. Changes: https://git.openjdk.java.net/panama-foreign/pull/56/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/56/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8237585 Stats: 499 lines in 15 files changed: 305 ins; 169 del; 25 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/56.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/56/head:pull/56 PR: https://git.openjdk.java.net/panama-foreign/pull/56 From mcimadamore at openjdk.java.net Thu Mar 19 15:49:48 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Thu, 19 Mar 2020 15:49:48 GMT Subject: [foreign-abi] RFR: 8237585: Dismantle ForeignUnsafe In-Reply-To: <9e6tXNwZFG3Cgy3IUCWDQgHAWj6wKH7-VBMFz3B-hHw=.078cf6cb-bcf1-4e12-adb2-d263f5ef4a8e@github.com> References: <9e6tXNwZFG3Cgy3IUCWDQgHAWj6wKH7-VBMFz3B-hHw=.078cf6cb-bcf1-4e12-adb2-d263f5ef4a8e@github.com> Message-ID: <57gmm4pV2KhhEdX-Ht-AMOstNWQnGYDPit7PLcSRT7g=.1cf7cbf4-a2f6-4811-a5cb-a5817bcdeccc@github.com> On Thu, 19 Mar 2020 15:17:57 GMT, Jorn Vernee wrote: > Hi, > > This is a redo of the earlier patch to dismantle ForeignUnsafe. It replaces ForeignUnsafe with the Foreign interface, > and the InternalForeign implementation of that interface. > This PR removes the need to pass --add-exports to make ForeignUnsafe accessible, and replaces it with a runtime check > on the `jdk.incubator.foreign.Foreign` system property, which is checked when calling `Foreign::getInstance`. The > `Foreign` object returned from that method acts as an access token for accessing native interop functionality. The > SystemABI::getInstance factory has also been moved to Foreign, along with the methods that were previously found in > ForeignUnsafe. All have now been made non-static. I've updated the tests and also removed the SysV ABI > `jdk.internal.foreign.NativeInvoker.FASTPATH` which was no longer being used. Jorn Looks good. As we were discussing offline, we will need to evaluate as to whether this organization of the API points is the one that makes the most sense, but in the meantime I think is a much-needed change because: (a) it brings foreign unsafe functionality out in the public API where developers can see it (b) replaces the module-based hiding mechanism which is hard to workaround in IDEs and (c) puts SystemABI on same footing with other potentially unsafe functionalities. ------------- Marked as reviewed by mcimadamore (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/56 From jvernee at openjdk.java.net Thu Mar 19 16:09:58 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Thu, 19 Mar 2020 16:09:58 GMT Subject: [Integrated] [foreign-abi] RFR: 8237585: Dismantle ForeignUnsafe In-Reply-To: <9e6tXNwZFG3Cgy3IUCWDQgHAWj6wKH7-VBMFz3B-hHw=.078cf6cb-bcf1-4e12-adb2-d263f5ef4a8e@github.com> References: <9e6tXNwZFG3Cgy3IUCWDQgHAWj6wKH7-VBMFz3B-hHw=.078cf6cb-bcf1-4e12-adb2-d263f5ef4a8e@github.com> Message-ID: Changeset: 138342db Author: Jorn Vernee Date: 2020-03-19 16:09:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/138342db 8237585: Dismantle ForeignUnsafe Reviewed-by: mcimadamore + src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/Foreign.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryLayouts.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SystemABI.java - src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/unsafe/ForeignUnsafe.java + src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/InternalForeign.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/sysv/SysVx64ABI.java ! test/jdk/java/foreign/CallGeneratorHelper.java ! test/jdk/java/foreign/NativeTestHelper.java ! test/jdk/java/foreign/StdLibTest.java ! test/jdk/java/foreign/Test8241148.java ! test/jdk/java/foreign/TestDowncall.java ! test/jdk/java/foreign/TestNative.java ! test/jdk/java/foreign/TestUpcall.java ! test/jdk/java/foreign/TestUpcallStubs.java ! test/jdk/java/foreign/TestVarArgs.java From jvernee at openjdk.java.net Thu Mar 19 16:10:16 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Thu, 19 Mar 2020 16:10:16 GMT Subject: [foreign-abi] [Rev 01] RFR: 8237585: Dismantle ForeignUnsafe In-Reply-To: <9e6tXNwZFG3Cgy3IUCWDQgHAWj6wKH7-VBMFz3B-hHw=.078cf6cb-bcf1-4e12-adb2-d263f5ef4a8e@github.com> References: <9e6tXNwZFG3Cgy3IUCWDQgHAWj6wKH7-VBMFz3B-hHw=.078cf6cb-bcf1-4e12-adb2-d263f5ef4a8e@github.com> Message-ID: <4sUBRQJIpMOqglF2sE2CdK1raRQ9KjZsThDJsCohchc=.fde70ec4-bd46-417c-a584-981a46578274@github.com> > Hi, > > This is a redo of the earlier patch to dismantle ForeignUnsafe. It replaces ForeignUnsafe with the Foreign interface, > and the InternalForeign implementation of that interface. > This PR removes the need to pass --add-exports to make ForeignUnsafe accessible, and replaces it with a runtime check > on the `jdk.incubator.foreign.Foreign` system property, which is checked when calling `Foreign::getInstance`. The > `Foreign` object returned from that method acts as an access token for accessing native interop functionality. The > SystemABI::getInstance factory has also been moved to Foreign, along with the methods that were previously found in > ForeignUnsafe. All have now been made non-static. I've updated the tests and also removed the SysV ABI > `jdk.internal.foreign.NativeInvoker.FASTPATH` which was no longer being used. Jorn Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision: Review comments ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/56/files - new: https://git.openjdk.java.net/panama-foreign/pull/56/files/f8d1c809..a0132dcf Webrevs: - full: https://webrevs.openjdk.java.net/panama-foreign/56/webrev.01 - incr: https://webrevs.openjdk.java.net/panama-foreign/56/webrev.00-01 Stats: 3 lines in 2 files changed: 0 ins; 1 del; 2 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/56.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/56/head:pull/56 PR: https://git.openjdk.java.net/panama-foreign/pull/56 From jvernee at openjdk.java.net Thu Mar 19 16:10:35 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Thu, 19 Mar 2020 16:10:35 GMT Subject: [foreign-abi] [Rev 01] RFR: 8237585: Dismantle ForeignUnsafe In-Reply-To: <57gmm4pV2KhhEdX-Ht-AMOstNWQnGYDPit7PLcSRT7g=.1cf7cbf4-a2f6-4811-a5cb-a5817bcdeccc@github.com> References: <9e6tXNwZFG3Cgy3IUCWDQgHAWj6wKH7-VBMFz3B-hHw=.078cf6cb-bcf1-4e12-adb2-d263f5ef4a8e@github.com> <57gmm4pV2KhhEdX-Ht-AMOstNWQnGYDPit7PLcSRT7g=.1cf7cbf4-a2f6-4811-a5cb-a5817bcdeccc@github.com> Message-ID: On Thu, 19 Mar 2020 15:47:31 GMT, Maurizio Cimadamore wrote: >> Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision: >> >> Review comments > > Looks good. As we were discussing offline, we will need to evaluate as to whether this organization of the API points > is the one that makes the most sense, but in the meantime I think is a much-needed change because: (a) it brings > foreign unsafe functionality out in the public API where developers can see it (b) replaces the module-based hiding > mechanism which is hard to workaround in IDEs and (c) puts SystemABI on same footing with other potentially unsafe > functionalities. @mcimadamore Yes, thanks for mentioning that. This is probably not the final solution, but it's an improvement over the status quo. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/56 From duke at openjdk.java.net Thu Mar 19 16:12:05 2020 From: duke at openjdk.java.net (duke) Date: Thu, 19 Mar 2020 16:12:05 GMT Subject: git: openjdk/panama-foreign: foreign-jextract: 2 new changesets Message-ID: <5acd8633-62ca-4d35-9d2b-8b41bc378c52@openjdk.org> Changeset: 138342db Author: Jorn Vernee Date: 2020-03-19 16:09:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/138342db 8237585: Dismantle ForeignUnsafe Reviewed-by: mcimadamore + src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/Foreign.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryLayouts.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SystemABI.java - src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/unsafe/ForeignUnsafe.java + src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/InternalForeign.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/sysv/SysVx64ABI.java ! test/jdk/java/foreign/CallGeneratorHelper.java ! test/jdk/java/foreign/NativeTestHelper.java ! test/jdk/java/foreign/StdLibTest.java ! test/jdk/java/foreign/Test8241148.java ! test/jdk/java/foreign/TestDowncall.java ! test/jdk/java/foreign/TestNative.java ! test/jdk/java/foreign/TestUpcall.java ! test/jdk/java/foreign/TestUpcallStubs.java ! test/jdk/java/foreign/TestVarArgs.java Changeset: 63d3ee09 Author: duke Date: 2020-03-19 16:10:53 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/63d3ee09 Automatic merge of foreign-abi into foreign-jextract From jvernee at openjdk.java.net Thu Mar 19 16:26:35 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Thu, 19 Mar 2020 16:26:35 GMT Subject: [foreign-jextract] RFR: 8237585: Dismantle ForeignUnsafe (foreign-jextract part) Message-ID: Hi, These are the foreign-jextract changes that are needed after https://github.com/openjdk/panama-foreign/pull/56. Jorn ------------- Commit messages: - Jextract changes after dismantling ForeignUnsafe Changes: https://git.openjdk.java.net/panama-foreign/pull/57/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/57/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8237585 Stats: 31 lines in 18 files changed: 10 ins; 2 del; 19 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/57.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/57/head:pull/57 PR: https://git.openjdk.java.net/panama-foreign/pull/57 From sundar at openjdk.java.net Thu Mar 19 16:32:27 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Thu, 19 Mar 2020 16:32:27 GMT Subject: [foreign-jextract] RFR: 8237585: Dismantle ForeignUnsafe (foreign-jextract part) In-Reply-To: References: Message-ID: On Thu, 19 Mar 2020 16:22:00 GMT, Jorn Vernee wrote: > Hi, > > These are the foreign-jextract changes that are needed after https://github.com/openjdk/panama-foreign/pull/56. > > Jorn Looks good! ------------- Marked as reviewed by sundar (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/57 From mcimadamore at openjdk.java.net Thu Mar 19 16:46:52 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Thu, 19 Mar 2020 16:46:52 GMT Subject: [foreign-abi] RFR: 8241309: foreign-abi branch has javadoc errors Message-ID: <25W2-0SsMT6dqwO6l0taCcNMWg1FJcanHVTI8KKGt_g=.c56a291a-12b7-4d27-bad4-15565b73bbde@github.com> This is a simple patch which fixes a bunch of doc errors preventing javadoc from terminating correctly. ------------- Commit messages: - JDK-8241309: foreign-abi branch has javadoc errors Changes: https://git.openjdk.java.net/panama-foreign/pull/58/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/58/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8241309 Stats: 13 lines in 4 files changed: 3 ins; 1 del; 9 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/58.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/58/head:pull/58 PR: https://git.openjdk.java.net/panama-foreign/pull/58 From sundar at openjdk.java.net Thu Mar 19 17:11:09 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Thu, 19 Mar 2020 17:11:09 GMT Subject: [foreign-abi] RFR: 8241309: foreign-abi branch has javadoc errors In-Reply-To: <25W2-0SsMT6dqwO6l0taCcNMWg1FJcanHVTI8KKGt_g=.c56a291a-12b7-4d27-bad4-15565b73bbde@github.com> References: <25W2-0SsMT6dqwO6l0taCcNMWg1FJcanHVTI8KKGt_g=.c56a291a-12b7-4d27-bad4-15565b73bbde@github.com> Message-ID: On Thu, 19 Mar 2020 16:41:29 GMT, Maurizio Cimadamore wrote: > This is a simple patch which fixes a bunch of doc errors preventing javadoc from terminating correctly. Looks good! ------------- Marked as reviewed by sundar (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/58 From jvernee at openjdk.java.net Thu Mar 19 17:21:58 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Thu, 19 Mar 2020 17:21:58 GMT Subject: [Integrated] [foreign-jextract] RFR: 8237585: Dismantle ForeignUnsafe (foreign-jextract part) In-Reply-To: References: Message-ID: <250bb669-72f2-47a5-bf5b-7e7c35e219cb@openjdk.org> Changeset: 6693d87d Author: Jorn Vernee Date: 2020-03-19 17:20:47 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6693d87d 8237585: Dismantle ForeignUnsafe (foreign-jextract part) Reviewed-by: sundar ! src/jdk.incubator.foreign/share/classes/module-info.java ! src/jdk.incubator.jextract/share/classes/jdk/incubator/jextract/tool/HandleSourceFactory.java ! src/jdk.incubator.jextract/share/classes/jdk/incubator/jextract/tool/JavaSourceBuilder.java ! src/jdk.incubator.jextract/share/classes/jdk/incubator/jextract/tool/resources/RuntimeHelper.template ! src/jdk.incubator.jextract/share/classes/jdk/internal/clang/TranslationUnit.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/clang/Utils.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/clang/libclang/RuntimeHelper.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/jextract/impl/LayoutUtils.java ! test/jdk/tools/jextract/ConstantsTest.java ! test/jdk/tools/jextract/JextractToolProviderTest.java ! test/jdk/tools/jextract/RepeatedDeclsTest.java ! test/jdk/tools/jextract/Test8240181.java ! test/jdk/tools/jextract/Test8240657.java ! test/jdk/tools/jextract/Test8240752.java ! test/jdk/tools/jextract/Test8240811.java ! test/jdk/tools/jextract/UniondeclTest.java ! test/jdk/tools/jextract/test8239918/LibTest8239918Test.java ! test/jdk/tools/jextract/testStruct/LibStructTest.java From mcimadamore at openjdk.java.net Thu Mar 19 17:23:58 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Thu, 19 Mar 2020 17:23:58 GMT Subject: [Integrated] [foreign-abi] RFR: 8241309: foreign-abi branch has javadoc errors In-Reply-To: <25W2-0SsMT6dqwO6l0taCcNMWg1FJcanHVTI8KKGt_g=.c56a291a-12b7-4d27-bad4-15565b73bbde@github.com> References: <25W2-0SsMT6dqwO6l0taCcNMWg1FJcanHVTI8KKGt_g=.c56a291a-12b7-4d27-bad4-15565b73bbde@github.com> Message-ID: Changeset: 37f56408 Author: Maurizio Cimadamore Date: 2020-03-19 17:23:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/37f56408 8241309: foreign-abi branch has javadoc errors Reviewed-by: sundar ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/AllocationScope.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SystemABI.java From jvernee at openjdk.java.net Thu Mar 19 17:18:24 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Thu, 19 Mar 2020 17:18:24 GMT Subject: [foreign-abi] [Rev 01] RFR: 8237585: Dismantle ForeignUnsafe In-Reply-To: References: <9e6tXNwZFG3Cgy3IUCWDQgHAWj6wKH7-VBMFz3B-hHw=.078cf6cb-bcf1-4e12-adb2-d263f5ef4a8e@github.com> <57gmm4pV2KhhEdX-Ht-AMOstNWQnGYDPit7PLcSRT7g=.1cf7cbf4-a2f6-4811-a5cb-a5817bcdeccc@github.com> Message-ID: On Thu, 19 Mar 2020 16:07:55 GMT, Jorn Vernee wrote: >> Looks good. As we were discussing offline, we will need to evaluate as to whether this organization of the API points >> is the one that makes the most sense, but in the meantime I think is a much-needed change because: (a) it brings >> foreign unsafe functionality out in the public API where developers can see it (b) replaces the module-based hiding >> mechanism which is hard to workaround in IDEs and (c) puts SystemABI on same footing with other potentially unsafe >> functionalities. > > @mcimadamore Yes, thanks for mentioning that. > > This is probably not the final solution, but it's an improvement over the status quo. > > > Looks like we have some unused imports? Thanks for catching this. I had just integrated the PR, so I'll create another one to clean up the imports and some other general cleanups. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/56 From duke at openjdk.java.net Thu Mar 19 17:25:02 2020 From: duke at openjdk.java.net (duke) Date: Thu, 19 Mar 2020 17:25:02 GMT Subject: git: openjdk/panama-foreign: foreign-jextract: 2 new changesets Message-ID: Changeset: 37f56408 Author: Maurizio Cimadamore Date: 2020-03-19 17:23:16 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/37f56408 8241309: foreign-abi branch has javadoc errors Reviewed-by: sundar ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/AllocationScope.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SystemABI.java Changeset: f3a9b313 Author: duke Date: 2020-03-19 17:24:30 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f3a9b313 Automatic merge of foreign-abi into foreign-jextract From psandoz at openjdk.java.net Thu Mar 19 17:50:20 2020 From: psandoz at openjdk.java.net (Paul Sandoz) Date: Thu, 19 Mar 2020 17:50:20 GMT Subject: [foreign-memaccess] RFR: JDK-8241154: Clarify the role of MemorySegments In-Reply-To: References: Message-ID: On Wed, 18 Mar 2020 15:11:24 GMT, Maurizio Cimadamore wrote: > This patch proposes a restacking of the memory access API. Currently, memory segments are playing a dual role: they are > both view of a resource, and they impersonate the resource itself. This creates confusion when thinking about > operationssuch as close() and acquire(). The idea put forward by this patch is to put all segments on equal footing; > e.g. remove the distinction between normal segments and *acquired* segments. Now *all* segments are, in a sense, > acquired from some memory *source*. A memory source, in other words, model the actual memory that the segment is a view > of. Memory sources are unconfined, which makes them ideal to support operation such as registration with cleaners (to > allow for automatic cleanup, where needed). Moreover, since we can support many kinds of memory sources, this patch > also adds a MappedMemorySource which is specific to mapped segments; such memory source contains methods for syncing > contents of memory against the mapped file (e.g. force()). This split between memory segment and memory source allows > us to keep the memory segment API sane, while at the same time providing us room to expand the API in the future to add > more memory sources. And it makes the API cleaner too, as we can put methods where they belong (e.g. see difference > between MemorySegment::isAlive vs. MemorySource::isReleased). A javadoc for this refactoring is available here: > http://cr.openjdk.java.net/~mcimadamore/panama/8241154_javadoc/javadoc/jdk/incubator/foreign/package-summary.html Many > thanks to Brian, John, Jorn, Paul and Stuart for the feedback which led to this iteration. Marked as reviewed by psandoz (Committer). src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MappedMemorySource.java line 31: > 30: * As such, it provides additional operations to allow for syncing the contents of the mapped memory source with > 31: * the ones of the underlying file backing the memory mapping (see {@link #force()} and {@link > #force(MemorySegment)}). 32: * s/with the ones of/with that of src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MappedMemorySource.java line 45: > 44: * made to this memory source since it was created, or since this method was last > 45: * invoked, will have been written to that device. > 46: * Something to consider later: we might need to document a happens-before relation. src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MappedMemorySource.java line 50: > 49: * > 50: *

If this the map mode associated with this memory source is not ({@link > 51: * java.nio.channels.FileChannel.MapMode#READ_WRITE}) then invoking this method may have no effect. s/if this the/if the ? How does one obtain the map mode? src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MappedMemorySource.java line 71: > 70: * > 71: *

If this the map modes associated with this memory source is not ({@link > 72: * java.nio.channels.FileChannel.MapMode#READ_WRITE}) then invoking this method may have no effect. s/if this the/if the ? src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MappedMemorySource.java line 77: > 76: * > 77: * @throws IllegalStateException if the memory region backing this memory source has already been released (see > 78: * {@link #isReleased()}). And also if the segment is not derived from this memory source? src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySource.java line 61: > 60: /** > 61: * Register this memory source against a {@link java.lang.ref.Cleaner}; this means that when all memory segments > 62: * backed by this memory sources become unreacheable, this memory source will be automatically released. s/Register/Registers src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java line 67: > 66: * using the factory method {@link MemorySegment#ofByteBuffer(ByteBuffer)}. Memory segments obtained in this can be > 67: * backed by a native memory source, an heap memory source, or a mapped memory source, depending on the > characteristics 68: * of the byte buffer instance the segment is associated with. For instance, a memory segment > obtained from a byte buffer s/an heap/a heap src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java line 145: > 144: /** > 145: * Obtains a new memory segment backed by the same memory source as this segment which can be used to access > memory associated 146: * with this segment from the current thread. Consider later perhaps: now we have `MemorySource` we could name this method `share` since we have the ability to talk about what is shared. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/54 From jvernee at openjdk.java.net Thu Mar 19 18:13:22 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Thu, 19 Mar 2020 18:13:22 GMT Subject: [foreign-abi] RFR: Miscellaneous cleanups Message-ID: Hi, This patch applies some general cleanups suggested by IntelliJ, such as: - Removing unused imports - Fixing typos - Applying `final` when possible - Using Optional::orElseThrow instead of Optional::get where it's uncertain if the optional contains a value - Using StringBuilder::append instead of `+` in some places (to avoid indy concat). - Changing indexed to for-each loop - Fixing a link in javadoc - Removing a spurious semicolon - Removing an unused method Jorn ------------- Commit messages: - Applying IntelliJ code cleanups Changes: https://git.openjdk.java.net/panama-foreign/pull/59/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/59/webrev.00 Stats: 77 lines in 26 files changed: 0 ins; 49 del; 28 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/59.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/59/head:pull/59 PR: https://git.openjdk.java.net/panama-foreign/pull/59 From henryjen at openjdk.java.net Thu Mar 19 18:36:18 2020 From: henryjen at openjdk.java.net (Henry Jen) Date: Thu, 19 Mar 2020 18:36:18 GMT Subject: [foreign-abi] RFR: Miscellaneous cleanups In-Reply-To: References: Message-ID: On Thu, 19 Mar 2020 18:08:58 GMT, Jorn Vernee wrote: > Hi, > > This patch applies some general cleanups suggested by IntelliJ, such as: > - Removing unused imports > - Fixing typos > - Applying `final` when possible > - Using Optional::orElseThrow instead of Optional::get where it's uncertain if the optional contains a value > - Using StringBuilder::append instead of `+` in some places (to avoid indy concat). > - Changing indexed to for-each loop > - Fixing a link in javadoc > - Removing a spurious semicolon > - Removing an unused method > > Jorn Looks good to me. ------------- Marked as reviewed by henryjen (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/59 From jvernee at openjdk.java.net Thu Mar 19 18:50:54 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Thu, 19 Mar 2020 18:50:54 GMT Subject: [Integrated] [foreign-abi] RFR: Miscellaneous cleanups In-Reply-To: References: Message-ID: Changeset: 01908bc5 Author: Jorn Vernee Date: 2020-03-19 18:50:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/01908bc5 Miscellaneous cleanups Reviewed-by: henryjen ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/Foreign.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/FunctionDescriptor.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryHandles.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryLayout.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryLayouts.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SystemABI.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/ValueLayout.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/InternalForeign.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/LayoutPath.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/LibrariesHelper.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemoryAddressImpl.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/Utils.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/Binding.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/CallingSequence.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/CallingSequenceBuilder.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/ProgrammableUpcallHandler.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/SharedUtils.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/UpcallStubs.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/aarch64/AArch64ABI.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/aarch64/AArch64Architecture.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/aarch64/CallArranger.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/sysv/CallArranger.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/sysv/SysVx64ABI.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/windows/CallArranger.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/windows/Windowsx64ABI.java From duke at openjdk.java.net Thu Mar 19 18:52:15 2020 From: duke at openjdk.java.net (duke) Date: Thu, 19 Mar 2020 18:52:15 GMT Subject: git: openjdk/panama-foreign: foreign-jextract: 2 new changesets Message-ID: <5a3128ec-f88c-4de4-b7ad-c5539ba87384@openjdk.org> Changeset: 01908bc5 Author: Jorn Vernee Date: 2020-03-19 18:50:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/01908bc5 Miscellaneous cleanups Reviewed-by: henryjen ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/Foreign.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/FunctionDescriptor.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryHandles.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryLayout.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryLayouts.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SystemABI.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/ValueLayout.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/InternalForeign.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/LayoutPath.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/LibrariesHelper.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemoryAddressImpl.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/Utils.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/Binding.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/CallingSequence.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/CallingSequenceBuilder.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/ProgrammableUpcallHandler.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/SharedUtils.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/UpcallStubs.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/aarch64/AArch64ABI.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/aarch64/AArch64Architecture.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/aarch64/CallArranger.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/sysv/CallArranger.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/sysv/SysVx64ABI.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/windows/CallArranger.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/windows/Windowsx64ABI.java Changeset: f31efa0f Author: duke Date: 2020-03-19 18:51:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f31efa0f Automatic merge of foreign-abi into foreign-jextract ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/Utils.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/Utils.java From mcimadamore at openjdk.java.net Thu Mar 19 21:34:49 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Thu, 19 Mar 2020 21:34:49 GMT Subject: [foreign-abi] RFR: Miscellaneous cleanups In-Reply-To: References: Message-ID: On Thu, 19 Mar 2020 18:08:58 GMT, Jorn Vernee wrote: > Hi, > > This patch applies some general cleanups suggested by IntelliJ, such as: > - Removing unused imports > - Fixing typos > - Applying `final` when possible > - Using Optional::orElseThrow instead of Optional::get where it's uncertain if the optional contains a value > - Using StringBuilder::append instead of `+` in some places (to avoid indy concat). > - Changing indexed to for-each loop > - Fixing a link in javadoc > - Removing a spurious semicolon > - Removing an unused method > > Jorn While the changes look generally good, I think there's a problem with this PR as it seems to apply to both foreign-memaccess and foregn-abi classes - I think you need to split it into two? ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/59 From mcimadamore at openjdk.java.net Thu Mar 19 21:34:49 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Thu, 19 Mar 2020 21:34:49 GMT Subject: [foreign-abi] RFR: Miscellaneous cleanups In-Reply-To: References: Message-ID: On Thu, 19 Mar 2020 21:31:00 GMT, Maurizio Cimadamore wrote: > While the changes look generally good, I think there's a problem with this PR as it seems to apply to both > foreign-memaccess and foregn-abi classes - I think you need to split it into two? I see this has already been integrated - we should try to backport the changes to foreign-memaccess :-( ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/59 From mcimadamore at openjdk.java.net Fri Mar 20 01:17:08 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Fri, 20 Mar 2020 01:17:08 GMT Subject: [foreign-memaccess] RFR: JDK-8241154: Clarify the role of MemorySegments In-Reply-To: References: Message-ID: <9XRTqRhJt3Cyxv1f_qEFFsQAPBp6X8Ox0-kwmfyRtrs=.8f3be855-6383-42e8-95b5-d7dc56061309@github.com> On Thu, 19 Mar 2020 17:17:10 GMT, Paul Sandoz wrote: >> This patch proposes a restacking of the memory access API. Currently, memory segments are playing a dual role: they are >> both view of a resource, and they impersonate the resource itself. This creates confusion when thinking about >> operationssuch as close() and acquire(). The idea put forward by this patch is to put all segments on equal footing; >> e.g. remove the distinction between normal segments and *acquired* segments. Now *all* segments are, in a sense, >> acquired from some memory *source*. A memory source, in other words, model the actual memory that the segment is a view >> of. Memory sources are unconfined, which makes them ideal to support operation such as registration with cleaners (to >> allow for automatic cleanup, where needed). Moreover, since we can support many kinds of memory sources, this patch >> also adds a MappedMemorySource which is specific to mapped segments; such memory source contains methods for syncing >> contents of memory against the mapped file (e.g. force()). This split between memory segment and memory source allows >> us to keep the memory segment API sane, while at the same time providing us room to expand the API in the future to add >> more memory sources. And it makes the API cleaner too, as we can put methods where they belong (e.g. see difference >> between MemorySegment::isAlive vs. MemorySource::isReleased). A javadoc for this refactoring is available here: >> http://cr.openjdk.java.net/~mcimadamore/panama/8241154_javadoc/javadoc/jdk/incubator/foreign/package-summary.html Many >> thanks to Brian, John, Jorn, Paul and Stuart for the feedback which led to this iteration. > > src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MappedMemorySource.java line 50: > >> 49: * >> 50: *

If this the map mode associated with this memory source is not ({@link >> 51: * java.nio.channels.FileChannel.MapMode#READ_WRITE}) then invoking this method may have no effect. > > s/if this the/if the ? > > How does one obtain the map mode? Obtaining map modes is hard, although I agree it would be desirable. Unfortunately the MappedByteBuffer class throws them away soon after creation, and only keeps an 'isSync' flag around (which is just for NV memory). In other words, the javadoc of this method mimics that of MappedByteBuffer - similarly, MappedByteBuffer has no way to tell which map mode was used at creation, and the javadoc vaguely refers to the map modes being used at FileChannel::map time. I'm trying to do the same here. > src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MappedMemorySource.java line 77: > >> 76: * >> 77: * @throws IllegalStateException if the memory region backing this memory source has already been released (see >> 78: * {@link #isReleased()}). > > And also if the segment is not derived from this memory source? right ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/54 From mcimadamore at openjdk.java.net Fri Mar 20 01:20:07 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Fri, 20 Mar 2020 01:20:07 GMT Subject: [foreign-memaccess] RFR: JDK-8241154: Clarify the role of MemorySegments In-Reply-To: References: Message-ID: On Thu, 19 Mar 2020 17:45:41 GMT, Paul Sandoz wrote: >> This patch proposes a restacking of the memory access API. Currently, memory segments are playing a dual role: they are >> both view of a resource, and they impersonate the resource itself. This creates confusion when thinking about >> operationssuch as close() and acquire(). The idea put forward by this patch is to put all segments on equal footing; >> e.g. remove the distinction between normal segments and *acquired* segments. Now *all* segments are, in a sense, >> acquired from some memory *source*. A memory source, in other words, model the actual memory that the segment is a view >> of. Memory sources are unconfined, which makes them ideal to support operation such as registration with cleaners (to >> allow for automatic cleanup, where needed). Moreover, since we can support many kinds of memory sources, this patch >> also adds a MappedMemorySource which is specific to mapped segments; such memory source contains methods for syncing >> contents of memory against the mapped file (e.g. force()). This split between memory segment and memory source allows >> us to keep the memory segment API sane, while at the same time providing us room to expand the API in the future to add >> more memory sources. And it makes the API cleaner too, as we can put methods where they belong (e.g. see difference >> between MemorySegment::isAlive vs. MemorySource::isReleased). A javadoc for this refactoring is available here: >> http://cr.openjdk.java.net/~mcimadamore/panama/8241154_javadoc/javadoc/jdk/incubator/foreign/package-summary.html Many >> thanks to Brian, John, Jorn, Paul and Stuart for the feedback which led to this iteration. > > src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java line 145: > >> 144: /** >> 145: * Obtains a new memory segment backed by the same memory source as this segment which can be used to access >> memory associated 146: * with this segment from the current thread. > > Consider later perhaps: now we have `MemorySource` we could name this method `share` since we have the ability to talk > about what is shared. Not 100% sold on `share`. I don't like `acquire` that much, but I think `acquire` suggest some act performed by the current thread on the underlying memory source (at least that's how my brain parses it). For some reason, `share` seems to imply that some state change happens in the segment on which the method is called (e.g. we go from confined to shared mode, which is not really what happens) ? ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/54 From sundar at openjdk.java.net Fri Mar 20 02:34:47 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Fri, 20 Mar 2020 02:34:47 GMT Subject: [foreign-jextract] RFR: 8241334: panama foreign-jextract branch fails to build Message-ID: Renamed usage as Foreign.getInstancePrivileged ------------- Commit messages: - 8241334: panama foreign-jextract branch fails to build Changes: https://git.openjdk.java.net/panama-foreign/pull/60/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/60/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8241334 Stats: 7 lines in 6 files changed: 0 ins; 0 del; 7 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/60.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/60/head:pull/60 PR: https://git.openjdk.java.net/panama-foreign/pull/60 From henryjen at openjdk.java.net Fri Mar 20 02:43:39 2020 From: henryjen at openjdk.java.net (Henry Jen) Date: Fri, 20 Mar 2020 02:43:39 GMT Subject: [foreign-jextract] RFR: 8241334: panama foreign-jextract branch fails to build In-Reply-To: References: Message-ID: On Fri, 20 Mar 2020 02:30:09 GMT, Athijegannathan Sundararajan wrote: > Renamed usage as Foreign.getInstancePrivileged Looks good. ------------- Marked as reviewed by henryjen (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/60 From sundar at openjdk.java.net Fri Mar 20 03:59:00 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Fri, 20 Mar 2020 03:59:00 GMT Subject: [Integrated] [foreign-jextract] RFR: 8241334: panama foreign-jextract branch fails to build In-Reply-To: References: Message-ID: <6a44d2e6-37dc-4d24-928b-f6d8de5b4c44@openjdk.org> Changeset: b432cee3 Author: Athijegannathan Sundararajan Date: 2020-03-20 03:58:18 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b432cee3 8241334: panama foreign-jextract branch fails to build Reviewed-by: henryjen ! src/jdk.incubator.jextract/share/classes/jdk/incubator/jextract/tool/HandleSourceFactory.java ! src/jdk.incubator.jextract/share/classes/jdk/incubator/jextract/tool/JavaSourceBuilder.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/clang/TranslationUnit.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/clang/Utils.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/clang/libclang/RuntimeHelper.java ! src/jdk.incubator.jextract/share/classes/jdk/internal/jextract/impl/LayoutUtils.java From sundar at openjdk.java.net Fri Mar 20 10:12:33 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Fri, 20 Mar 2020 10:12:33 GMT Subject: [foreign-jextract] RFR: 8241349: initial version of panama_jextract.md Message-ID: adding initial version panama_jextract.md ------------- Commit messages: - 8241349: initial version of panama_jextract.md Changes: https://git.openjdk.java.net/panama-foreign/pull/61/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/61/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8241349 Stats: 503 lines in 2 files changed: 503 ins; 0 del; 0 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/61.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/61/head:pull/61 PR: https://git.openjdk.java.net/panama-foreign/pull/61 From sundar at openjdk.java.net Fri Mar 20 10:48:29 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Fri, 20 Mar 2020 10:48:29 GMT Subject: [foreign-jextract] [Rev 01] RFR: 8241349: initial version of panama_jextract.md In-Reply-To: References: Message-ID: > adding initial version panama_jextract.md Athijegannathan Sundararajan has updated the pull request incrementally with one additional commit since the last revision: Added a link from toplevel README.md ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/61/files - new: https://git.openjdk.java.net/panama-foreign/pull/61/files/3cb56218..f0bd6830 Webrevs: - full: https://webrevs.openjdk.java.net/panama-foreign/61/webrev.01 - incr: https://webrevs.openjdk.java.net/panama-foreign/61/webrev.00-01 Stats: 5 lines in 1 file changed: 5 ins; 0 del; 0 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/61.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/61/head:pull/61 PR: https://git.openjdk.java.net/panama-foreign/pull/61 From mcimadamore at openjdk.java.net Fri Mar 20 11:02:49 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Fri, 20 Mar 2020 11:02:49 GMT Subject: [foreign-jextract] [Rev 01] RFR: 8241349: initial version of panama_jextract.md In-Reply-To: References: Message-ID: On Fri, 20 Mar 2020 10:48:29 GMT, Athijegannathan Sundararajan wrote: >> adding initial version panama_jextract.md > > Athijegannathan Sundararajan has updated the pull request incrementally with one additional commit since the last > revision: > Added a link from toplevel README.md README.md line 39: > 38: > 39: [Panama Jextract Samples](doc/panama_jextract.md) Suggestion: Please see [doc/panama_jextract.md](https://github.com/openjdk/panama-foreign/blob/foreign-jextract/doc/panama_jextract.md) for examples on how to use `jextract` to work with common native libraries. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/61 From duke at openjdk.java.net Fri Mar 20 11:08:14 2020 From: duke at openjdk.java.net (duke) Date: Fri, 20 Mar 2020 11:08:14 GMT Subject: git: openjdk/panama-foreign: master: 83 new changesets Message-ID: <75d48090-c713-45cf-ac8f-2031467bf822@openjdk.org> Changeset: 5a68ba13 Author: Ivan Walulya Date: 2020-03-13 11:54:47 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5a68ba13 8240591: G1HeapSizingPolicy attempts to compute expansion_amount even when at full capacity Reviewed-by: sjohanss, tschatzl ! src/hotspot/share/gc/g1/g1HeapSizingPolicy.cpp Changeset: 5ed80778 Author: Aditya Mandaleeka Committer: Aleksey Shipilev Date: 2020-03-13 13:22:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5ed80778 8231668: Remove ForceDynamicNumberOfGCThreads Reviewed-by: shade, tschatzl ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/gc/shared/workerPolicy.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! test/hotspot/jtreg/gc/ergonomics/TestDynamicNumberOfGCThreads.java ! test/hotspot/jtreg/gc/shenandoah/TestGCThreadGroups.java Changeset: 9d502f64 Author: Weijun Wang Date: 2020-03-13 21:32:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9d502f64 8240983: Incorrect copyright header in Apache Santuario files Reviewed-by: mullan ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMReference.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignature.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXPathFilter2Transform.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/XMLDSigRI.java Changeset: 9e945720 Author: Per Lid?n Date: 2020-03-13 14:26:38 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9e945720 8240714: ZGC: TestSmallHeap.java failed due to OutOfMemoryError Reviewed-by: eosterlund ! test/hotspot/jtreg/gc/z/TestSmallHeap.java Changeset: afbe2286 Author: Vicente Romero Date: 2020-03-13 10:29:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/afbe2286 8239447: compiler error for annotations applied to record components with target METHOD Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java + test/langtools/tools/javac/processing/model/element/ErrorOnAnnoWithTargetMethod.java Changeset: 37629673 Author: Claes Redestad Date: 2020-03-13 15:59:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/37629673 8241006: Cleanup TemplateInterpreter initialization Reviewed-by: coleenp ! src/hotspot/share/interpreter/abstractInterpreter.cpp ! src/hotspot/share/interpreter/templateInterpreter.cpp ! src/hotspot/share/interpreter/templateTable.cpp ! src/hotspot/share/interpreter/templateTable.hpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/runtime/init.cpp Changeset: 2b465b1e Author: Claes Redestad Date: 2020-03-13 18:43:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2b465b1e 8241010: Unnecessarily resolving some well-known classes Reviewed-by: coleenp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/prims/stackwalk.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/services/diagnosticCommand.cpp Changeset: afa54b7e Author: Jonathan Gibbons Date: 2020-03-13 10:57:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/afa54b7e 8240916: Convert to using hyphenated naming for CSS classes Reviewed-by: hannesw ! make/jdk/src/classes/build/tools/taglet/ModuleGraph.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/markup/HtmlStyle.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/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css ! test/langtools/jdk/javadoc/doclet/AccessSkipNav/AccessSkipNav.java ! test/langtools/jdk/javadoc/doclet/constantValues/TestConstantValuesDriver.java ! test/langtools/jdk/javadoc/doclet/testAbstractMethod/TestAbstractMethod.java ! test/langtools/jdk/javadoc/doclet/testAnchorNames/TestAnchorNames.java ! test/langtools/jdk/javadoc/doclet/testAnnotationTypes/TestAnnotationTypes.java ! test/langtools/jdk/javadoc/doclet/testClassCrossReferences/TestClassCrossReferences.java ! test/langtools/jdk/javadoc/doclet/testClassLinks/TestClassLinks.java ! test/langtools/jdk/javadoc/doclet/testClassTree/TestClassTree.java ! test/langtools/jdk/javadoc/doclet/testDeprecatedDocs/TestDeprecatedDocs.java ! test/langtools/jdk/javadoc/doclet/testDocRootInlineTag/TestDocRootInlineTag.java ! test/langtools/jdk/javadoc/doclet/testExternalOverriddenMethod/TestExternalOverriddenMethod.java ! test/langtools/jdk/javadoc/doclet/testGroupName/TestGroupName.java ! test/langtools/jdk/javadoc/doclet/testHeadings/TestHeadings.java ! test/langtools/jdk/javadoc/doclet/testHiddenTag/TestHiddenTag.java ! test/langtools/jdk/javadoc/doclet/testHref/TestHref.java ! test/langtools/jdk/javadoc/doclet/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java ! test/langtools/jdk/javadoc/doclet/testHtmlLandmarkRegions/TestHtmlLandmarkRegions.java ! test/langtools/jdk/javadoc/doclet/testHtmlTableStyles/TestHtmlTableStyles.java ! test/langtools/jdk/javadoc/doclet/testHtmlTableTags/TestHtmlTableTags.java ! test/langtools/jdk/javadoc/doclet/testHtmlTag/TestHtmlTag.java ! test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java ! test/langtools/jdk/javadoc/doclet/testIndentation/TestIndentation.java ! test/langtools/jdk/javadoc/doclet/testIndex/TestIndex.java ! test/langtools/jdk/javadoc/doclet/testIndexInDocFiles/TestIndexInDocFiles.java ! test/langtools/jdk/javadoc/doclet/testIndexInPackageFiles/TestIndexInPackageFiles.java ! test/langtools/jdk/javadoc/doclet/testIndexTaglet/TestIndexTaglet.java ! test/langtools/jdk/javadoc/doclet/testInterface/TestInterface.java ! test/langtools/jdk/javadoc/doclet/testJavaFX/TestJavaFX.java ! test/langtools/jdk/javadoc/doclet/testLambdaFeature/TestLambdaFeature.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestLinkOption.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestLinkOptionWithAutomaticModule.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestLinkOptionWithModule.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestOptionOrder.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestRedirectLinks.java ! test/langtools/jdk/javadoc/doclet/testLinkToSerialForm/TestLinkToSerialForm.java ! test/langtools/jdk/javadoc/doclet/testLinksWithNoDeprecatedOption/TestLinksWithNoDeprecatedOption.java ! test/langtools/jdk/javadoc/doclet/testLiteralCodeInPre/TestLiteralCodeInPre.java ! test/langtools/jdk/javadoc/doclet/testMemberInheritance/TestMemberInheritance.java ! test/langtools/jdk/javadoc/doclet/testMemberSummary/TestMemberSummary.java ! test/langtools/jdk/javadoc/doclet/testMethodSignature/TestMethodSignature.java ! test/langtools/jdk/javadoc/doclet/testMethodTypes/TestMethodTypes.java ! test/langtools/jdk/javadoc/doclet/testModifierEx/TestModifierEx.java ! test/langtools/jdk/javadoc/doclet/testModules/TestIndirectExportsOpens.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModulePackages.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModuleServices.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testNavigation/TestNavigation.java ! test/langtools/jdk/javadoc/doclet/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/langtools/jdk/javadoc/doclet/testOptions/TestOptions.java ! test/langtools/jdk/javadoc/doclet/testOrdering/TestOrdering.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestBadOverride.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverriddenDeprecatedMethods.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverriddenMethodDocCopy.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverrideMethods.java ! test/langtools/jdk/javadoc/doclet/testPackageAnnotation/TestPackageAnnotation.java ! test/langtools/jdk/javadoc/doclet/testPackageDeprecation/TestPackageDeprecation.java ! test/langtools/jdk/javadoc/doclet/testPackageDescription/TestPackageDescription.java ! test/langtools/jdk/javadoc/doclet/testPackagePage/TestPackagePage.java ! test/langtools/jdk/javadoc/doclet/testPackageSummary/TestPackageSummary.java ! test/langtools/jdk/javadoc/doclet/testPrivateClasses/TestPrivateClasses.java ! test/langtools/jdk/javadoc/doclet/testProperty/TestProperty.java ! test/langtools/jdk/javadoc/doclet/testRecordTypes/TestRecordTypes.java ! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java ! test/langtools/jdk/javadoc/doclet/testSerializedForm/TestSerializedForm.java ! test/langtools/jdk/javadoc/doclet/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java ! test/langtools/jdk/javadoc/doclet/testSerializedFormWithClassFile/TestSerializedFormWithClassFile.java ! test/langtools/jdk/javadoc/doclet/testStylesheet/TestStylesheet.java ! test/langtools/jdk/javadoc/doclet/testSubTitle/TestSubTitle.java ! test/langtools/jdk/javadoc/doclet/testSummaryTag/TestSummaryTag.java ! test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/TestSystemPropertyPage.java ! test/langtools/jdk/javadoc/doclet/testSystemPropertyTaglet/TestSystemPropertyTaglet.java ! test/langtools/jdk/javadoc/doclet/testTagOutput/TestTagOutput.java ! test/langtools/jdk/javadoc/doclet/testTitleInHref/TestTitleInHref.java ! test/langtools/jdk/javadoc/doclet/testTypeAnnotations/TestTypeAnnotations.java ! test/langtools/jdk/javadoc/doclet/testTypeParams/TestTypeParameters.java ! test/langtools/jdk/javadoc/doclet/testUnnamedPackage/TestUnnamedPackage.java ! test/langtools/jdk/javadoc/doclet/testUseOption/TestUseOption.java ! test/langtools/jdk/javadoc/doclet/testValueTag/TestValueTagInModule.java ! test/langtools/jdk/javadoc/tool/testLocaleOption/TestLocaleOption.java Changeset: c7e4b2af Author: Joe Wang Date: 2020-03-13 19:15:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c7e4b2af 8240982: Incorrect copyright header in BCEL 6.4.1 sources Reviewed-by: naoto, 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/ConstantLong.java Changeset: 3aeb2d1a Author: Alex Menkov Date: 2020-03-13 12:25:25 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3aeb2d1a 8217441: Failure of ::realloc() should be handled correctly in sawindbg.cpp Reviewed-by: cjplummer, sspitsyn ! src/jdk.hotspot.agent/windows/native/libsaproc/sawindbg.cpp Changeset: 6ead9056 Author: Kim Barrett Date: 2020-03-13 15:36:50 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6ead9056 8239825: G1: Simplify threshold test for mutator refinement Compute refinement threshold when values change, not on each use. Reviewed-by: tschatzl, sangheki ! src/hotspot/share/gc/g1/g1ConcurrentRefine.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp Changeset: b0194692 Author: Joe Darcy Date: 2020-03-14 09:53:43 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b0194692 8240130: Improve and update discussion of visitor evolution warnings Reviewed-by: jjg ! src/java.compiler/share/classes/javax/lang/model/element/AnnotationValueVisitor.java ! src/java.compiler/share/classes/javax/lang/model/element/ElementVisitor.java ! src/java.compiler/share/classes/javax/lang/model/type/TypeVisitor.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner14.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner6.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner7.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner8.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner9.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor9.java Changeset: f819e417 Author: Vicente Romero Date: 2020-03-14 17:08:25 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f819e417 8235339: test TargetAnnoCombo.java is failing after new target RECORD_COMPONENT was added Reviewed-by: darcy ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! test/langtools/ProblemList.txt ! test/langtools/tools/javac/annotations/repeatingAnnotations/combo/Helper.java ! test/langtools/tools/javac/annotations/repeatingAnnotations/combo/TargetAnnoCombo.java Changeset: 4b978533 Author: Nick Gasson Date: 2020-03-16 10:51:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/4b978533 8240353: AArch64: missing support for -XX:+ExtendedDTraceProbes in C1 Reviewed-by: aph ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp Changeset: 95898e86 Author: David Holmes Date: 2020-03-16 02:16:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/95898e86 8241043: Expand assertions to identify thread with errant _stack_base Reviewed-by: mikael ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp Changeset: 6ddb0f2b Author: Jan Lahoda Date: 2020-03-16 13:06:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6ddb0f2b 8240964: Compilation error thrown when long literal used with yield Ensuring yield followed by a long literal is recognized as a yield statement. Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/langtools/tools/javac/switchexpr/ExpressionSwitch.java Changeset: 21cd75cb Author: Erik ?sterlund Date: 2020-03-16 12:27:42 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/21cd75cb 8240363: Refactor Compile::Output() to its own Phase Reviewed-by: kvn, vlivanov ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/arm/arm.ad ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/cpu/s390/compiledIC_s390.cpp ! src/hotspot/cpu/s390/s390.ad ! src/hotspot/cpu/sparc/sparc.ad ! src/hotspot/cpu/x86/c2_intelJccErratum_x86.cpp ! src/hotspot/cpu/x86/x86_32.ad ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/adlc/adlparse.cpp ! src/hotspot/share/adlc/main.cpp ! src/hotspot/share/adlc/output_c.cpp ! src/hotspot/share/compiler/compileBroker.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/opto/buildOopMap.cpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/chaitin.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp + src/hotspot/share/opto/constantTable.cpp + src/hotspot/share/opto/constantTable.hpp ! src/hotspot/share/opto/machnode.cpp ! src/hotspot/share/opto/machnode.hpp ! src/hotspot/share/opto/output.cpp ! src/hotspot/share/opto/output.hpp ! src/hotspot/share/opto/phase.hpp ! src/hotspot/share/opto/runtime.cpp Changeset: e746891f Author: Jie Fu Date: 2020-03-16 22:43:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e746891f 8241034: Fix a configuring error with "-Xmx2048M: command not found" Reviewed-by: mikael, erikj ! make/autoconf/build-performance.m4 Changeset: 2b4b3d9e Author: Naoto Sato Date: 2020-03-16 09:26:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2b4b3d9e 8240626: Some of the java.time.chrono.Eras return empty display name for some styles and locales Reviewed-by: joehw ! make/jdk/src/classes/build/tools/cldrconverter/Bundle.java ! test/jdk/java/time/test/java/time/chrono/TestEraDisplayName.java Changeset: 19536121 Author: Andrew Haley Date: 2020-03-16 17:10:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/19536121 8241018: 32-bit integer log2 functions return the wrong value for negative arguments on 64-bit machines Reviewed-by: kvn ! src/hotspot/share/utilities/globalDefinitions.hpp ! test/hotspot/gtest/utilities/test_globalDefinitions.cpp Changeset: 8b739002 Author: Erik ?sterlund Date: 2020-03-16 17:13:56 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8b739002 8241074: JDK-8240363 broke the build on AArch64 Reviewed-by: shade ! src/hotspot/share/opto/constantTable.cpp Changeset: b4ff6abe Author: Zhengyu Gu Date: 2020-02-25 12:01:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b4ff6abe 8239926: Shenandoah: Shenandoah needs to mark nmethod's metadata Reviewed-by: rkennke, shade ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahNMethod.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUnload.cpp Changeset: 6f7a103a Author: Matthias Baesken Date: 2020-03-17 08:53:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6f7a103a 8240824: enhance print_full_memory_info on Linux by THP related information Reviewed-by: dholmes, stuefe ! src/hotspot/os/linux/os_linux.cpp Changeset: dbd0f0dc Author: Claes Redestad Date: 2020-03-17 09:36:46 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/dbd0f0dc 8241077: x86_64: Minor Assembler improvements Reviewed-by: kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp Changeset: 035100cc Author: Roman Kennke Date: 2020-03-17 11:49:25 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/035100cc 8241081: Shenandoah: Do not modify update-watermark concurrently Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp Changeset: 1a099598 Author: Andrew Haley Date: 2020-03-17 14:13:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1a099598 Merge Changeset: ec5bd021 Author: Vladimir Kozlov Date: 2020-03-17 10:38:40 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ec5bd021 8240976: [JVMCI] MethodProfileWidth flag is broken Remove JVMCI code which is not used Reviewed-by: thartmann, redestad ! src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp ! src/hotspot/cpu/aarch64/interp_masm_aarch64.hpp ! src/hotspot/cpu/ppc/templateTable_ppc_64.cpp ! src/hotspot/cpu/sparc/interp_masm_sparc.cpp ! src/hotspot/cpu/sparc/interp_masm_sparc.hpp ! src/hotspot/cpu/sparc/templateTable_sparc.cpp ! src/hotspot/cpu/x86/interp_masm_x86.cpp ! src/hotspot/cpu/x86/interp_masm_x86.hpp ! src/hotspot/cpu/x86/templateTable_x86.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp ! src/hotspot/share/jvmci/jvmci_globals.cpp ! src/hotspot/share/jvmci/jvmci_globals.hpp ! src/hotspot/share/oops/methodData.cpp ! src/hotspot/share/oops/methodData.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/MethodData.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/VirtualCallData.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotVMConfig.java Changeset: 17619249 Author: Claes Redestad Date: 2020-03-05 16:07:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/17619249 8241042: x86_64: Improve Assembler generation Reviewed-by: vlivanov, kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/share/asm/assembler.hpp ! src/hotspot/share/asm/codeBuffer.hpp Changeset: 6083173f Author: Vladimir Kozlov Date: 2020-03-17 12:42:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6083173f 8237045: JVM uses excessive memory with -XX:+EnableJVMCI -XX:JVMCICounterSize=2147483648 Limit JVMCICounterSize flag's value range to 1M Reviewed-by: thartmann, redestad ! src/hotspot/share/jvmci/jvmci_globals.hpp ! test/hotspot/jtreg/runtime/CommandLine/OptionsValidation/TestOptionsWithRanges.java ! test/hotspot/jtreg/runtime/CommandLine/OptionsValidation/common/optionsvalidation/JVMOptionsUtils.java Changeset: c003fffd Author: Charlie Gracie Committer: Vladimir Kozlov Date: 2020-03-17 14:05:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c003fffd 8241122: Remove unimplemented InlineTree constructor definition from parse.hpp Reviewed-by: kvn ! src/hotspot/share/opto/parse.hpp Changeset: f959b012 Author: David Holmes Date: 2020-03-17 19:57:58 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f959b012 8239593: Bogus warning "Re-registering of platform native method" for a JVMTI agent Reviewed-by: dcubed, alanb, hseigel ! src/hotspot/share/prims/jni.cpp Changeset: 94a6149d Author: David Holmes Date: 2020-03-17 20:54:50 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/94a6149d 8241124: Aarch64 build broken by JDK-8239593 Reviewed-by: mikael ! src/hotspot/share/prims/jni.cpp Changeset: a1476361 Author: Chris Plummer Date: 2020-03-17 18:04:59 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a1476361 8238268: Many SA tests are not running on OSX because they do not attempt to use sudo when available Reviewed-by: sspitsyn, iignatyev ! test/hotspot/jtreg/TEST.ROOT ! test/hotspot/jtreg/compiler/ciReplay/TestSAClient.java ! test/hotspot/jtreg/compiler/ciReplay/TestSAServer.java ! test/hotspot/jtreg/gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java ! test/hotspot/jtreg/resourcehogs/serviceability/sa/TestHeapDumpForLargeArray.java ! test/hotspot/jtreg/serviceability/sa/CDSJMapClstats.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbFindPC.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbJstackXcompStress.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbLauncher.java ! test/hotspot/jtreg/serviceability/sa/DeadlockDetectionTest.java ! test/hotspot/jtreg/serviceability/sa/JhsdbThreadInfoTest.java ! test/hotspot/jtreg/serviceability/sa/TestClassDump.java ! test/hotspot/jtreg/serviceability/sa/TestClhsdbJstackLock.java ! test/hotspot/jtreg/serviceability/sa/TestCpoolForInvokeDynamic.java ! test/hotspot/jtreg/serviceability/sa/TestDefaultMethods.java ! test/hotspot/jtreg/serviceability/sa/TestG1HeapRegion.java ! test/hotspot/jtreg/serviceability/sa/TestHeapDumpForInvokeDynamic.java ! test/hotspot/jtreg/serviceability/sa/TestInstanceKlassSize.java ! test/hotspot/jtreg/serviceability/sa/TestInstanceKlassSizeForInterface.java ! test/hotspot/jtreg/serviceability/sa/TestIntConstant.java ! test/hotspot/jtreg/serviceability/sa/TestJhsdbJstackLock.java ! test/hotspot/jtreg/serviceability/sa/TestJhsdbJstackMixed.java ! test/hotspot/jtreg/serviceability/sa/TestPrintMdo.java ! test/hotspot/jtreg/serviceability/sa/TestRevPtrsForInvokeDynamic.java ! test/hotspot/jtreg/serviceability/sa/TestType.java ! test/hotspot/jtreg/serviceability/sa/TestUniverse.java ! test/hotspot/jtreg/serviceability/sa/jmap-hprof/JMapHProfLargeHeapTest.java ! test/hotspot/jtreg/serviceability/sa/sadebugd/DebugdConnectTest.java ! test/hotspot/jtreg/serviceability/sa/sadebugd/SADebugDTest.java ! test/hotspot/jtreg/testlibrary_tests/TestMutuallyExclusivePlatformPredicates.java ! test/jdk/TEST.ROOT ! test/jdk/sun/tools/jhsdb/BasicLauncherTest.java ! test/jdk/sun/tools/jhsdb/HeapDumpTest.java ! test/jdk/sun/tools/jhsdb/HeapDumpTestWithActiveProcess.java ! test/jdk/sun/tools/jhsdb/JShellHeapDumpTest.java ! test/jdk/sun/tools/jhsdb/heapconfig/JMapHeapConfigTest.java ! test/jdk/sun/tools/jhsdb/heapconfig/TmtoolTestScenario.java ! test/jdk/sun/tools/jstack/DeadlockDetectionTest.java ! test/jtreg-ext/requires/VMProps.java ! test/lib/jdk/test/lib/Platform.java ! test/lib/jdk/test/lib/SA/SATestUtils.java Changeset: 0c9f8e47 Author: Hai-May Chao Committer: Weijun Wang Date: 2020-03-18 09:23:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0c9f8e47 8186143: keytool -ext option doesn't accept wildcards for DNS subject alternative names Reviewed-by: jnimeh, weijun, mullan ! src/java.base/share/classes/sun/security/tools/keytool/Main.java ! src/java.base/share/classes/sun/security/x509/DNSName.java ! test/jdk/sun/security/x509/GeneralName/DNSNameTest.java Changeset: e5e24ad0 Author: Naoto Sato Date: 2020-03-17 19:11:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e5e24ad0 8241082: Upgrade IANA Language Subtag Registry data to 03-16-2020 version Reviewed-by: joehw ! make/data/lsrdata/language-subtag-registry.txt ! make/jdk/src/classes/build/tools/generatelsrequivmaps/EquivMapsGenerator.java ! test/jdk/java/util/Locale/Bug8040211.java Changeset: e827f4ae Author: Aleksey Shipilev Date: 2020-03-18 06:28:50 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e827f4ae 8241093: Shenandoah: editorial changes in flag descriptions Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: 1d4a4fed Author: Ivan Gerasimov Date: 2020-03-18 01:04:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1d4a4fed 8214245: Case insensitive matching doesn't work correctly for some character classes Reviewed-by: rriggs, darcy ! src/java.base/share/classes/java/util/regex/CharPredicates.java ! src/java.base/share/classes/java/util/regex/Pattern.java ! test/jdk/java/util/regex/RegExTest.java Changeset: d76b0cf7 Author: Ichiroh Takiguchi Date: 2020-03-18 18:04:51 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d76b0cf7 8232161: Align some one-way conversion in MS950 charset with Windows MS950 charset encoder's conversion table is changed Reviewed-by: naoto ! make/data/charsetmapping/MS950.map ! make/data/charsetmapping/MS950.nr + test/jdk/sun/nio/cs/TestMS950.java Changeset: ae393102 Author: Naoto Sato Date: 2020-02-06 10:10:54 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ae393102 8238605: Correct the CLDR version number in cldr.md files Reviewed-by: joehw, alanb ! src/java.base/share/legal/cldr.md ! src/jdk.localedata/share/legal/cldr.md Changeset: 5ed4b9f2 Author: Jesper Wilhelmsson Date: 2020-02-07 00:17:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5ed4b9f2 Added tag jdk-14+36 for changeset bc54620a3848 ! .hgtags Changeset: abc56193 Author: Jesper Wilhelmsson Date: 2020-03-18 10:34:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/abc56193 Added tag jdk-14-ga for changeset bc54620a3848 ! .hgtags Changeset: efb25e51 Author: Jesper Wilhelmsson Date: 2020-03-18 10:41:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/efb25e51 Merge ! .hgtags ! .hgtags Changeset: f2fb5c54 Author: Tony Printezis Committer: Markus Gr?nlund Date: 2020-03-18 12:00:19 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f2fb5c54 8239497: SEGV in EdgeUtils::field_name_symbol(Edge const&) Reviewed-by: egahlin, tonyp ! src/hotspot/share/jfr/leakprofiler/chains/edge.cpp ! src/hotspot/share/jfr/leakprofiler/chains/edge.hpp ! src/hotspot/share/jfr/leakprofiler/chains/edgeUtils.cpp ! src/hotspot/share/jfr/leakprofiler/chains/edgeUtils.hpp ! src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleWriter.cpp ! src/hotspot/share/oops/instanceMirrorKlass.hpp Changeset: 0ee74979 Author: Mikhailo Seledtsov Date: 2020-03-18 09:45:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0ee74979 8241033: Create test library utility for getting JFR streaming repository New method to get JFR streaming repo path Reviewed-by: egahlin, mgronlun ! test/jdk/jdk/jfr/api/consumer/streaming/TestCrossProcessStreaming.java ! test/jdk/jdk/jfr/api/consumer/streaming/TestProcess.java + test/lib/jdk/test/lib/jfr/StreamingUtils.java Changeset: 1170981e Author: Chris Plummer Date: 2020-03-18 10:14:46 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1170981e 8240906: Update ZGC ProblemList for serviceability/sa/TestJmapCoreMetaspace.java Reviewed-by: stefank ! test/hotspot/jtreg/ProblemList-zgc.txt Changeset: c6cec8a8 Author: Chris Plummer Date: 2020-03-18 10:42:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c6cec8a8 8227340: Modify problem list entry for javax/management/remote/mandatory/connection/MultiThreadDeadLockTest.java Reviewed-by: dholmes ! test/jdk/ProblemList.txt Changeset: b70ef0d2 Author: Daniil Titov Date: 2020-03-18 11:05:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b70ef0d2 8240711: TestJstatdPort.java failed due to "ExportException: Port already in use:" Reviewed-by: amenkov ! test/jdk/sun/tools/jstatd/JstatdTest.java Changeset: 700f50f2 Author: Aleksey Shipilev Date: 2020-03-18 19:24:42 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/700f50f2 8241128: x86_32 build failure after JDK-8241042 Reviewed-by: redestad, kvn ! src/hotspot/cpu/x86/assembler_x86.cpp Changeset: bf54c474 Author: Vicente Romero Date: 2020-03-18 14:33:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/bf54c474 8240970: Some tests fail when run with JCov Reviewed-by: jjg ! test/langtools/tools/javac/EarlyAssertWrapper.java ! test/langtools/tools/javac/T8132562/ClassPathWithDoubleQuotesTest.java ! test/langtools/tools/javac/launcher/SourceLauncherTest.java ! test/langtools/tools/javac/modules/RequiresStaticTest.java ! test/langtools/tools/javac/options/smokeTests/OptionSmokeTest.java ! test/langtools/tools/javac/platform/PlatformProviderTest.java ! test/langtools/tools/jdeps/modules/CheckModuleTest.java Changeset: 34b9ac22 Author: Doug Simon Date: 2020-03-18 13:11:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/34b9ac22 8236285: [JVMCI] improve TranslatedException traces Reviewed-by: never, kvn ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/TranslatedException.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/TestTranslatedException.java Changeset: ea367322 Author: Jonathan Gibbons Date: 2020-03-18 13:20:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ea367322 8241030: rename HtmlTag to TagName Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractTreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassUseWriter.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/ConstantsSummaryWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstructorWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DeprecatedListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Headings.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/HtmlDocletWriter.java ! 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/IndexRedirectWriter.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/PackageTreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageUseWriter.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/SerializedFormWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SingleIndexWriter.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/SplitIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SubWriterHolderWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Head.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlStyle.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlTag.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/Script.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/TableHeader.java + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/TagName.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/package-info.java ! test/langtools/jdk/javadoc/doclet/testHtmlDocument/TestHtmlDocument.java Changeset: 9fe762d3 Author: Chris Plummer Date: 2020-03-18 13:24:59 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9fe762d3 8241162: ProblemList serviceability/sa/TestHeapDumpForInvokeDynamic.java on OSX Reviewed-by: dcubed ! test/hotspot/jtreg/ProblemList.txt Changeset: af28093e Author: Jonathan Gibbons Date: 2020-03-18 13:29:02 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/af28093e Merge Changeset: 9d7f8bc9 Author: Rafael Winterhalter Date: 2020-03-18 17:07:42 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9d7f8bc9 8202469: (ann) Type annotations on type variable bounds that are also type variables are lost Reviewed-by: jfranck ! src/java.base/share/classes/sun/reflect/annotation/TypeAnnotationParser.java + test/jdk/java/lang/annotation/typeAnnotations/ParameterizedBoundIndex.java Changeset: 44eca823 Author: Andrew M Leonard Committer: Andrew Leonard Date: 2020-03-17 14:14:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/44eca823 8241097: java/math/BigInteger/largeMemory/SymmetricRangeTests.java requires -XX:+CompactStrings Reviewed-by: bpb, bchristi ! test/jdk/java/math/BigInteger/largeMemory/SymmetricRangeTests.java Changeset: 99546049 Author: Matthias Neugschwandtner Date: 2020-03-18 15:59:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/99546049 8235908: omit ThreadPriorityPolicy warning when value is set from image Reviewed-by: dholmes, clanger, kvn ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/share/runtime/flags/jvmFlag.cpp ! src/hotspot/share/runtime/flags/jvmFlag.hpp ! src/hotspot/share/runtime/globals_extension.hpp Changeset: c7c8623e Author: Jesper Wilhelmsson Date: 2020-03-19 03:03:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c7c8623e Added tag jdk-15+15 for changeset 82b7c62cf4cc ! .hgtags Changeset: 599af2ac Author: Chris Yin Date: 2020-03-19 11:07:36 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/599af2ac 8202117: com/sun/jndi/ldap/RemoveNamingListenerTest.java fails intermittently: Connection reset Reviewed-by: dfuchs, vtewari ! test/jdk/com/sun/jndi/ldap/RemoveNamingListenerTest.java Changeset: f1c919f2 Author: Igor Veresov Date: 2020-03-18 21:49:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f1c919f2 8230290: [JVMCI] Remove unused API entry points Remove VirtualObject.setIsAutoBox() Reviewed-by: kvn ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.code/src/jdk/vm/ci/code/VirtualObject.java Changeset: cadfc3d5 Author: Matthias Baesken Date: 2020-03-16 15:11:02 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/cadfc3d5 8241064: JFR related tests TestMetaspaceAllocationFailure.java and TestEventInstrumentation.java miss requires tag Reviewed-by: mseledtsov, mgronlun ! test/jdk/jdk/jfr/event/runtime/TestMetaspaceAllocationFailure.java ! test/jdk/jdk/jfr/javaagent/TestEventInstrumentation.java Changeset: dd63eec6 Author: Jie Fu Date: 2020-03-19 16:34:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/dd63eec6 8241232: -XX:+BootstrapJVMCI is not compatible with TieredStopAtLevel < CompLevel_full_optimization Reviewed-by: kvn, thartmann ! src/hotspot/share/jvmci/jvmci_globals.cpp + test/hotspot/jtreg/compiler/jvmci/errors/TestInvalidTieredStopAtLevel.java Changeset: a51dd58f Author: Christian Hagedorn Date: 2020-03-19 10:15:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a51dd58f 8240227: Loop predicates should be copied to unswitched loops Copy loop range check predicates to unswitched loops and update their control edges. Reviewed-by: kvn, neliasso, thartmann, roland ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/graphKit.hpp ! src/hotspot/share/opto/idealKit.cpp ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/loopUnswitch.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/parse1.cpp ! src/hotspot/share/opto/parse2.cpp ! src/hotspot/share/opto/phaseX.hpp ! src/hotspot/share/opto/stringopts.cpp ! test/hotspot/jtreg/compiler/loopopts/PartialPeelingUnswitch.java + test/hotspot/jtreg/compiler/loopopts/TestUnswitchOverunrolling.java Changeset: cc9470ec Author: Claes Redestad Date: 2020-03-05 16:07:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/cc9470ec 8241095: x86: Improve prefix handling in Assembler Reviewed-by: kvn, thartmann ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp Changeset: cd7d1750 Author: Alexander Scherbatiy Date: 2020-03-19 14:58:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/cd7d1750 8240604: Rewrite sun/management/jmxremote/bootstrap/CustomLauncherTest.java test to make binaries from source file Reviewed-by: iignatyev ! make/test/JtregNativeJdk.gmk ! test/jdk/sun/management/jmxremote/bootstrap/CustomLauncherTest.java - test/jdk/sun/management/jmxremote/bootstrap/Makefile + test/jdk/sun/management/jmxremote/bootstrap/exelauncher.c - test/jdk/sun/management/jmxremote/bootstrap/launcher.c - test/jdk/sun/management/jmxremote/bootstrap/linux-amd64/launcher - test/jdk/sun/management/jmxremote/bootstrap/linux-i586/launcher - test/jdk/sun/management/jmxremote/bootstrap/solaris-amd64/launcher - test/jdk/sun/management/jmxremote/bootstrap/solaris-sparcv9/launcher Changeset: fa069be2 Author: Kiran Sidhartha Ravikumar Date: 2020-03-13 18:38:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/fa069be2 8161558: ListIterator should not discard cause on exception Reviewed-by: smarks ! src/java.base/share/classes/java/util/AbstractList.java ! src/java.base/share/classes/java/util/NoSuchElementException.java + test/jdk/java/util/AbstractList/CheckForIndexOutOfBoundsException.java Changeset: e2947fe9 Author: Stefan Karlsson Date: 2020-03-19 14:15:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e2947fe9 8240773: JFR: Non-Java threads are not serialized Reviewed-by: mgronlun ! src/hotspot/share/jfr/utilities/jfrThreadIterator.cpp Changeset: b4e85913 Author: Stefan Karlsson Date: 2020-03-19 14:16:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b4e85913 8240819: Assign a name to the JfrThreadSampler thread Reviewed-by: mgronlun ! src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.cpp Changeset: 5695e59a Author: Stefan Karlsson Date: 2020-03-19 14:17:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5695e59a 8240818: Remove colon from "JFR: Shutdown Hook" thread name Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecorder.java Changeset: d3bf9150 Author: Stefan Karlsson Date: 2020-03-19 14:18:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d3bf9150 8241263: JFR: Bump native events limit Reviewed-by: mgronlun, egahlin ! src/jdk.jfr/share/classes/jdk/jfr/internal/JVM.java Changeset: 9dc15f17 Author: Magnus Ihse Bursie Date: 2020-03-19 17:17:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9dc15f17 8241254: Simplify usage of UTIL_DEPRECATED_ARG_ENABLE Reviewed-by: erikj ! make/autoconf/util.m4 Changeset: 029fea43 Author: Chris Plummer Date: 2020-03-19 10:20:45 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/029fea43 8240543: Update problem list entry for serviceability/sa/TestRevPtrsForInvokeDynamic.java to reference JDK-8241235 Reviewed-by: dholmes ! test/hotspot/jtreg/ProblemList.txt Changeset: 32cba672 Author: Jonathan Gibbons Date: 2020-03-19 11:25:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/32cba672 8240476: SystemPropertiesWriter does not conform to standard page layout Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SystemPropertiesWriter.java ! test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/TestSystemPropertyPage.java Changeset: 66c8794c Author: Evgeny Nikitin Committer: Igor Ignatyev Date: 2020-03-17 21:35:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/66c8794c 8168304: Make all of DependencyContext_test available in product mode Enable the utility inspection function `DependencyContext::is_dependent_method` and therefore the test in the product mode. Reviewed-by: eosterlund, thartmann ! src/hotspot/share/code/dependencyContext.cpp ! src/hotspot/share/code/dependencyContext.hpp ! test/hotspot/gtest/code/test_dependencyContext.cpp Changeset: caa08844 Author: Roger Riggs Date: 2020-03-19 15:34:34 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/caa08844 8241073: Pre-generated Stubs for javax.management, Activation, Naming Reviewed-by: erikj, ihse, alanb, dfuchs - make/CompileInterimRmic.gmk ! make/Docs.gmk ! make/Global.gmk ! make/Main.gmk ! make/ZipSource.gmk ! make/autoconf/spec.gmk.in - make/common/RMICompilation.gmk ! make/jdk/netbeans/jmx/build.xml - make/rmic/Rmic-java.management.rmi.gmk - make/rmic/Rmic-java.rmi.gmk - make/rmic/Rmic-jdk.naming.rmi.gmk - make/rmic/RmicCommon.gmk + src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnectionImpl_Stub.java + src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIServerImpl_Stub.java + src/java.rmi/share/classes/java/rmi/activation/ActivationGroup_Stub.java + src/java.rmi/share/classes/sun/rmi/server/Activation$ActivationSystemImpl_Stub.java - src/java.rmi/share/doc/stub/java/rmi/activation/ActivationGroup_Stub.java + src/jdk.naming.rmi/share/classes/com/sun/jndi/rmi/registry/ReferenceWrapper_Stub.java Changeset: 4f629193 Author: Dean Long Date: 2020-03-19 12:29:59 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/4f629193 8241231: Update Graal Reviewed-by: kvn ! src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/CallInfo.java ! src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/MarkId.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.sparc/src/org/graalvm/compiler/asm/sparc/SPARCAssembler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64/src/org/graalvm/compiler/core/amd64/AMD64LIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/Fields.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/CheckGraalInvariants.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/OptionsVerifierTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/LIRGenerationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/gen/NodeLIRBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/Node.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/NodeClass.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotBackend.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotBackendFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotBackendFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotPatchReturnAddressOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotBackendFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CompilationWrapperTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/NodeCostDumpUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotReplacementsImpl.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/SymbolicSnippetEncoder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotPlatformConfigurationProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/EndLockScopeNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/HotSpotReplacementsUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/UnsafeCopyMemoryNode.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/UnsafeLoadSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/LambdaUtils.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotspot/Test6196102.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotspot/Test6753639.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotspot/Test6823354.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotspot/Test6850611.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotspot/Test7005594.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64FrameMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/CompositeValueClass.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/LIRInstructionClass.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/LIRIntrospection.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/framemap/FrameMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/gen/LIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/gen/LIRGeneratorTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/MemoryProxyNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ProxyNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/StructuredGraph.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ValueNodeUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/BytecodeExceptionNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/MonitorExit.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/gc/BarrierSet.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/gc/CardTableBarrierSet.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/gc/G1BarrierSet.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/UnsafeCompareAndSwapNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/FixedAccessNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/FloatingReadNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryAccess.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryAnchorNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryKill.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryMapNode.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryPhiNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MultiMemoryKill.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/SingleMemoryKill.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/MemoryEdgeProxy.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/MemoryProxy.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/NodeLIRBuilderTool.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.options/src/org/graalvm/compiler/options/OptionDescriptorsMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.options/src/org/graalvm/compiler/options/OptionValues.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/FloatingReadPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/LoweringPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/schedule/ScheduleVerification.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64ArrayIndexOfDispatchNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64ArrayIndexOfNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64StringLatin1InflateNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64StringUTF16CompressNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/SubstitutionsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/DefaultJavaLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/SnippetLowerableMemoryNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/SnippetTemplate.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/arraycopy/ArrayCopyCallNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/ArrayCompareToNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/ArrayEqualsNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/ArrayRegionEqualsNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/BasicArrayCopyNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/ReadRegisterNode.java Changeset: b8a2b201 Author: Kim Barrett Date: 2020-03-19 18:11:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b8a2b201 8139652: Mutator refinement processing should take the oldest dirty card buffer Changed mutator refinement to take from queue rather than in-place and reuse. Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/g1/g1DirtyCardQueue.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp Changeset: 3f698242 Author: Patricio Chilano Mateo Date: 2020-03-20 00:32:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3f698242 8240902: JDI shared memory connector can use already closed Handles Add refcount to keep track of connection access Reviewed-by: dholmes, dcubed, sspitsyn ! src/jdk.jdi/share/native/libdt_shmem/shmemBase.c Changeset: 7ded8b1e Author: Chris Yin Date: 2020-03-20 10:24:46 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7ded8b1e 8241130: com.sun.jndi.ldap.EventSupport.removeDeadNotifier: java.lang.NullPointerException Reviewed-by: dfuchs ! src/java.naming/share/classes/com/sun/jndi/ldap/EventSupport.java ! test/jdk/com/sun/jndi/ldap/RemoveNamingListenerTest.java Changeset: 104927e5 Author: Chris Plummer Date: 2020-03-19 21:32:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/104927e5 8241335: ProblemList serviceability/sa/ClhsdbPstack.java due to JDK-8240956 Reviewed-by: mikael ! test/hotspot/jtreg/ProblemList.txt Changeset: 333a832c Author: Kim Barrett Date: 2020-03-20 01:20:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/333a832c 8241001: Improve logging in the ConcurrentGCBreakpoint mechanism Demoted most breakpoint logging to trace level. Reviewed-by: pliden, sjohanss ! src/hotspot/share/gc/shared/concurrentGCBreakpoints.cpp ! src/hotspot/share/logging/logPrefix.hpp Changeset: e7204cbc Author: Leonid Mesnik Date: 2020-03-20 00:24:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e7204cbc 8241123: Refactor vmTestbase stress framework to use j.u.c and make creation of threads more flexible Reviewed-by: iignatyev, sspitsyn ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/referringObjects/referringObjects003/referringObjects003a.java ! test/hotspot/jtreg/vmTestbase/nsk/share/Wicket.java ! test/hotspot/jtreg/vmTestbase/nsk/share/runner/ThreadsRunner.java Changeset: cc83c455 Author: Thomas Schatzl Date: 2020-03-20 11:17:45 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/cc83c455 8240590: Add MemRegion::destroy_array to complement introduced create_array Reviewed-by: lkorinth, sjohanss ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/shared/cardTable.cpp ! src/hotspot/share/memory/filemap.cpp ! src/hotspot/share/memory/memRegion.cpp ! src/hotspot/share/memory/memRegion.hpp Changeset: 8d556576 Author: duke Date: 2020-03-20 11:01:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8d556576 Automatic merge of jdk:master into master From sundar at openjdk.java.net Fri Mar 20 11:12:39 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Fri, 20 Mar 2020 11:12:39 GMT Subject: [foreign-jextract] [Rev 02] RFR: 8241349: initial version of panama_jextract.md In-Reply-To: References: Message-ID: <3sQnHhdgSpzIxC0wN8PgsVrvnD3XQqD7fyOgpsy0Erk=.5072ac22-7770-47e5-8ff4-8bacc62dd14e@github.com> > adding initial version panama_jextract.md Athijegannathan Sundararajan has updated the pull request incrementally with one additional commit since the last revision: Review suggestion on "Samples" section text. ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/61/files - new: https://git.openjdk.java.net/panama-foreign/pull/61/files/f0bd6830..080bb7a3 Webrevs: - full: https://webrevs.openjdk.java.net/panama-foreign/61/webrev.02 - incr: https://webrevs.openjdk.java.net/panama-foreign/61/webrev.01-02 Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/61.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/61/head:pull/61 PR: https://git.openjdk.java.net/panama-foreign/pull/61 From duke at openjdk.java.net Fri Mar 20 11:20:49 2020 From: duke at openjdk.java.net (duke) Date: Fri, 20 Mar 2020 11:20:49 GMT Subject: git: openjdk/panama-foreign: foreign-jextract: 86 new changesets Message-ID: Changeset: 5a68ba13 Author: Ivan Walulya Date: 2020-03-13 11:54:47 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5a68ba13 8240591: G1HeapSizingPolicy attempts to compute expansion_amount even when at full capacity Reviewed-by: sjohanss, tschatzl ! src/hotspot/share/gc/g1/g1HeapSizingPolicy.cpp Changeset: 5ed80778 Author: Aditya Mandaleeka Committer: Aleksey Shipilev Date: 2020-03-13 13:22:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5ed80778 8231668: Remove ForceDynamicNumberOfGCThreads Reviewed-by: shade, tschatzl ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/gc/shared/workerPolicy.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! test/hotspot/jtreg/gc/ergonomics/TestDynamicNumberOfGCThreads.java ! test/hotspot/jtreg/gc/shenandoah/TestGCThreadGroups.java Changeset: 9d502f64 Author: Weijun Wang Date: 2020-03-13 21:32:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9d502f64 8240983: Incorrect copyright header in Apache Santuario files Reviewed-by: mullan ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMReference.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignature.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXPathFilter2Transform.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/XMLDSigRI.java Changeset: 9e945720 Author: Per Lid?n Date: 2020-03-13 14:26:38 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9e945720 8240714: ZGC: TestSmallHeap.java failed due to OutOfMemoryError Reviewed-by: eosterlund ! test/hotspot/jtreg/gc/z/TestSmallHeap.java Changeset: afbe2286 Author: Vicente Romero Date: 2020-03-13 10:29:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/afbe2286 8239447: compiler error for annotations applied to record components with target METHOD Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java + test/langtools/tools/javac/processing/model/element/ErrorOnAnnoWithTargetMethod.java Changeset: 37629673 Author: Claes Redestad Date: 2020-03-13 15:59:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/37629673 8241006: Cleanup TemplateInterpreter initialization Reviewed-by: coleenp ! src/hotspot/share/interpreter/abstractInterpreter.cpp ! src/hotspot/share/interpreter/templateInterpreter.cpp ! src/hotspot/share/interpreter/templateTable.cpp ! src/hotspot/share/interpreter/templateTable.hpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/runtime/init.cpp Changeset: 2b465b1e Author: Claes Redestad Date: 2020-03-13 18:43:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2b465b1e 8241010: Unnecessarily resolving some well-known classes Reviewed-by: coleenp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/prims/stackwalk.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/services/diagnosticCommand.cpp Changeset: afa54b7e Author: Jonathan Gibbons Date: 2020-03-13 10:57:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/afa54b7e 8240916: Convert to using hyphenated naming for CSS classes Reviewed-by: hannesw ! make/jdk/src/classes/build/tools/taglet/ModuleGraph.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/markup/HtmlStyle.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/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css ! test/langtools/jdk/javadoc/doclet/AccessSkipNav/AccessSkipNav.java ! test/langtools/jdk/javadoc/doclet/constantValues/TestConstantValuesDriver.java ! test/langtools/jdk/javadoc/doclet/testAbstractMethod/TestAbstractMethod.java ! test/langtools/jdk/javadoc/doclet/testAnchorNames/TestAnchorNames.java ! test/langtools/jdk/javadoc/doclet/testAnnotationTypes/TestAnnotationTypes.java ! test/langtools/jdk/javadoc/doclet/testClassCrossReferences/TestClassCrossReferences.java ! test/langtools/jdk/javadoc/doclet/testClassLinks/TestClassLinks.java ! test/langtools/jdk/javadoc/doclet/testClassTree/TestClassTree.java ! test/langtools/jdk/javadoc/doclet/testDeprecatedDocs/TestDeprecatedDocs.java ! test/langtools/jdk/javadoc/doclet/testDocRootInlineTag/TestDocRootInlineTag.java ! test/langtools/jdk/javadoc/doclet/testExternalOverriddenMethod/TestExternalOverriddenMethod.java ! test/langtools/jdk/javadoc/doclet/testGroupName/TestGroupName.java ! test/langtools/jdk/javadoc/doclet/testHeadings/TestHeadings.java ! test/langtools/jdk/javadoc/doclet/testHiddenTag/TestHiddenTag.java ! test/langtools/jdk/javadoc/doclet/testHref/TestHref.java ! test/langtools/jdk/javadoc/doclet/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java ! test/langtools/jdk/javadoc/doclet/testHtmlLandmarkRegions/TestHtmlLandmarkRegions.java ! test/langtools/jdk/javadoc/doclet/testHtmlTableStyles/TestHtmlTableStyles.java ! test/langtools/jdk/javadoc/doclet/testHtmlTableTags/TestHtmlTableTags.java ! test/langtools/jdk/javadoc/doclet/testHtmlTag/TestHtmlTag.java ! test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java ! test/langtools/jdk/javadoc/doclet/testIndentation/TestIndentation.java ! test/langtools/jdk/javadoc/doclet/testIndex/TestIndex.java ! test/langtools/jdk/javadoc/doclet/testIndexInDocFiles/TestIndexInDocFiles.java ! test/langtools/jdk/javadoc/doclet/testIndexInPackageFiles/TestIndexInPackageFiles.java ! test/langtools/jdk/javadoc/doclet/testIndexTaglet/TestIndexTaglet.java ! test/langtools/jdk/javadoc/doclet/testInterface/TestInterface.java ! test/langtools/jdk/javadoc/doclet/testJavaFX/TestJavaFX.java ! test/langtools/jdk/javadoc/doclet/testLambdaFeature/TestLambdaFeature.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestLinkOption.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestLinkOptionWithAutomaticModule.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestLinkOptionWithModule.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestOptionOrder.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestRedirectLinks.java ! test/langtools/jdk/javadoc/doclet/testLinkToSerialForm/TestLinkToSerialForm.java ! test/langtools/jdk/javadoc/doclet/testLinksWithNoDeprecatedOption/TestLinksWithNoDeprecatedOption.java ! test/langtools/jdk/javadoc/doclet/testLiteralCodeInPre/TestLiteralCodeInPre.java ! test/langtools/jdk/javadoc/doclet/testMemberInheritance/TestMemberInheritance.java ! test/langtools/jdk/javadoc/doclet/testMemberSummary/TestMemberSummary.java ! test/langtools/jdk/javadoc/doclet/testMethodSignature/TestMethodSignature.java ! test/langtools/jdk/javadoc/doclet/testMethodTypes/TestMethodTypes.java ! test/langtools/jdk/javadoc/doclet/testModifierEx/TestModifierEx.java ! test/langtools/jdk/javadoc/doclet/testModules/TestIndirectExportsOpens.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModulePackages.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModuleServices.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testNavigation/TestNavigation.java ! test/langtools/jdk/javadoc/doclet/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/langtools/jdk/javadoc/doclet/testOptions/TestOptions.java ! test/langtools/jdk/javadoc/doclet/testOrdering/TestOrdering.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestBadOverride.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverriddenDeprecatedMethods.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverriddenMethodDocCopy.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverrideMethods.java ! test/langtools/jdk/javadoc/doclet/testPackageAnnotation/TestPackageAnnotation.java ! test/langtools/jdk/javadoc/doclet/testPackageDeprecation/TestPackageDeprecation.java ! test/langtools/jdk/javadoc/doclet/testPackageDescription/TestPackageDescription.java ! test/langtools/jdk/javadoc/doclet/testPackagePage/TestPackagePage.java ! test/langtools/jdk/javadoc/doclet/testPackageSummary/TestPackageSummary.java ! test/langtools/jdk/javadoc/doclet/testPrivateClasses/TestPrivateClasses.java ! test/langtools/jdk/javadoc/doclet/testProperty/TestProperty.java ! test/langtools/jdk/javadoc/doclet/testRecordTypes/TestRecordTypes.java ! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java ! test/langtools/jdk/javadoc/doclet/testSerializedForm/TestSerializedForm.java ! test/langtools/jdk/javadoc/doclet/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java ! test/langtools/jdk/javadoc/doclet/testSerializedFormWithClassFile/TestSerializedFormWithClassFile.java ! test/langtools/jdk/javadoc/doclet/testStylesheet/TestStylesheet.java ! test/langtools/jdk/javadoc/doclet/testSubTitle/TestSubTitle.java ! test/langtools/jdk/javadoc/doclet/testSummaryTag/TestSummaryTag.java ! test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/TestSystemPropertyPage.java ! test/langtools/jdk/javadoc/doclet/testSystemPropertyTaglet/TestSystemPropertyTaglet.java ! test/langtools/jdk/javadoc/doclet/testTagOutput/TestTagOutput.java ! test/langtools/jdk/javadoc/doclet/testTitleInHref/TestTitleInHref.java ! test/langtools/jdk/javadoc/doclet/testTypeAnnotations/TestTypeAnnotations.java ! test/langtools/jdk/javadoc/doclet/testTypeParams/TestTypeParameters.java ! test/langtools/jdk/javadoc/doclet/testUnnamedPackage/TestUnnamedPackage.java ! test/langtools/jdk/javadoc/doclet/testUseOption/TestUseOption.java ! test/langtools/jdk/javadoc/doclet/testValueTag/TestValueTagInModule.java ! test/langtools/jdk/javadoc/tool/testLocaleOption/TestLocaleOption.java Changeset: c7e4b2af Author: Joe Wang Date: 2020-03-13 19:15:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c7e4b2af 8240982: Incorrect copyright header in BCEL 6.4.1 sources Reviewed-by: naoto, 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/ConstantLong.java Changeset: 3aeb2d1a Author: Alex Menkov Date: 2020-03-13 12:25:25 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3aeb2d1a 8217441: Failure of ::realloc() should be handled correctly in sawindbg.cpp Reviewed-by: cjplummer, sspitsyn ! src/jdk.hotspot.agent/windows/native/libsaproc/sawindbg.cpp Changeset: 6ead9056 Author: Kim Barrett Date: 2020-03-13 15:36:50 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6ead9056 8239825: G1: Simplify threshold test for mutator refinement Compute refinement threshold when values change, not on each use. Reviewed-by: tschatzl, sangheki ! src/hotspot/share/gc/g1/g1ConcurrentRefine.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp Changeset: b0194692 Author: Joe Darcy Date: 2020-03-14 09:53:43 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b0194692 8240130: Improve and update discussion of visitor evolution warnings Reviewed-by: jjg ! src/java.compiler/share/classes/javax/lang/model/element/AnnotationValueVisitor.java ! src/java.compiler/share/classes/javax/lang/model/element/ElementVisitor.java ! src/java.compiler/share/classes/javax/lang/model/type/TypeVisitor.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner14.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner6.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner7.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner8.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner9.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor9.java Changeset: f819e417 Author: Vicente Romero Date: 2020-03-14 17:08:25 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f819e417 8235339: test TargetAnnoCombo.java is failing after new target RECORD_COMPONENT was added Reviewed-by: darcy ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! test/langtools/ProblemList.txt ! test/langtools/tools/javac/annotations/repeatingAnnotations/combo/Helper.java ! test/langtools/tools/javac/annotations/repeatingAnnotations/combo/TargetAnnoCombo.java Changeset: 4b978533 Author: Nick Gasson Date: 2020-03-16 10:51:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/4b978533 8240353: AArch64: missing support for -XX:+ExtendedDTraceProbes in C1 Reviewed-by: aph ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp Changeset: 95898e86 Author: David Holmes Date: 2020-03-16 02:16:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/95898e86 8241043: Expand assertions to identify thread with errant _stack_base Reviewed-by: mikael ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp Changeset: 6ddb0f2b Author: Jan Lahoda Date: 2020-03-16 13:06:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6ddb0f2b 8240964: Compilation error thrown when long literal used with yield Ensuring yield followed by a long literal is recognized as a yield statement. Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/langtools/tools/javac/switchexpr/ExpressionSwitch.java Changeset: 21cd75cb Author: Erik ?sterlund Date: 2020-03-16 12:27:42 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/21cd75cb 8240363: Refactor Compile::Output() to its own Phase Reviewed-by: kvn, vlivanov ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/arm/arm.ad ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/cpu/s390/compiledIC_s390.cpp ! src/hotspot/cpu/s390/s390.ad ! src/hotspot/cpu/sparc/sparc.ad ! src/hotspot/cpu/x86/c2_intelJccErratum_x86.cpp ! src/hotspot/cpu/x86/x86_32.ad ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/adlc/adlparse.cpp ! src/hotspot/share/adlc/main.cpp ! src/hotspot/share/adlc/output_c.cpp ! src/hotspot/share/compiler/compileBroker.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/opto/buildOopMap.cpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/chaitin.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp + src/hotspot/share/opto/constantTable.cpp + src/hotspot/share/opto/constantTable.hpp ! src/hotspot/share/opto/machnode.cpp ! src/hotspot/share/opto/machnode.hpp ! src/hotspot/share/opto/output.cpp ! src/hotspot/share/opto/output.hpp ! src/hotspot/share/opto/phase.hpp ! src/hotspot/share/opto/runtime.cpp Changeset: e746891f Author: Jie Fu Date: 2020-03-16 22:43:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e746891f 8241034: Fix a configuring error with "-Xmx2048M: command not found" Reviewed-by: mikael, erikj ! make/autoconf/build-performance.m4 Changeset: 2b4b3d9e Author: Naoto Sato Date: 2020-03-16 09:26:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2b4b3d9e 8240626: Some of the java.time.chrono.Eras return empty display name for some styles and locales Reviewed-by: joehw ! make/jdk/src/classes/build/tools/cldrconverter/Bundle.java ! test/jdk/java/time/test/java/time/chrono/TestEraDisplayName.java Changeset: 19536121 Author: Andrew Haley Date: 2020-03-16 17:10:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/19536121 8241018: 32-bit integer log2 functions return the wrong value for negative arguments on 64-bit machines Reviewed-by: kvn ! src/hotspot/share/utilities/globalDefinitions.hpp ! test/hotspot/gtest/utilities/test_globalDefinitions.cpp Changeset: 8b739002 Author: Erik ?sterlund Date: 2020-03-16 17:13:56 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8b739002 8241074: JDK-8240363 broke the build on AArch64 Reviewed-by: shade ! src/hotspot/share/opto/constantTable.cpp Changeset: b4ff6abe Author: Zhengyu Gu Date: 2020-02-25 12:01:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b4ff6abe 8239926: Shenandoah: Shenandoah needs to mark nmethod's metadata Reviewed-by: rkennke, shade ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahNMethod.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUnload.cpp Changeset: 6f7a103a Author: Matthias Baesken Date: 2020-03-17 08:53:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6f7a103a 8240824: enhance print_full_memory_info on Linux by THP related information Reviewed-by: dholmes, stuefe ! src/hotspot/os/linux/os_linux.cpp Changeset: dbd0f0dc Author: Claes Redestad Date: 2020-03-17 09:36:46 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/dbd0f0dc 8241077: x86_64: Minor Assembler improvements Reviewed-by: kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp Changeset: 035100cc Author: Roman Kennke Date: 2020-03-17 11:49:25 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/035100cc 8241081: Shenandoah: Do not modify update-watermark concurrently Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp Changeset: 1a099598 Author: Andrew Haley Date: 2020-03-17 14:13:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1a099598 Merge Changeset: ec5bd021 Author: Vladimir Kozlov Date: 2020-03-17 10:38:40 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ec5bd021 8240976: [JVMCI] MethodProfileWidth flag is broken Remove JVMCI code which is not used Reviewed-by: thartmann, redestad ! src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp ! src/hotspot/cpu/aarch64/interp_masm_aarch64.hpp ! src/hotspot/cpu/ppc/templateTable_ppc_64.cpp ! src/hotspot/cpu/sparc/interp_masm_sparc.cpp ! src/hotspot/cpu/sparc/interp_masm_sparc.hpp ! src/hotspot/cpu/sparc/templateTable_sparc.cpp ! src/hotspot/cpu/x86/interp_masm_x86.cpp ! src/hotspot/cpu/x86/interp_masm_x86.hpp ! src/hotspot/cpu/x86/templateTable_x86.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp ! src/hotspot/share/jvmci/jvmci_globals.cpp ! src/hotspot/share/jvmci/jvmci_globals.hpp ! src/hotspot/share/oops/methodData.cpp ! src/hotspot/share/oops/methodData.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/MethodData.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/VirtualCallData.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotVMConfig.java Changeset: 17619249 Author: Claes Redestad Date: 2020-03-05 16:07:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/17619249 8241042: x86_64: Improve Assembler generation Reviewed-by: vlivanov, kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/share/asm/assembler.hpp ! src/hotspot/share/asm/codeBuffer.hpp Changeset: 6083173f Author: Vladimir Kozlov Date: 2020-03-17 12:42:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6083173f 8237045: JVM uses excessive memory with -XX:+EnableJVMCI -XX:JVMCICounterSize=2147483648 Limit JVMCICounterSize flag's value range to 1M Reviewed-by: thartmann, redestad ! src/hotspot/share/jvmci/jvmci_globals.hpp ! test/hotspot/jtreg/runtime/CommandLine/OptionsValidation/TestOptionsWithRanges.java ! test/hotspot/jtreg/runtime/CommandLine/OptionsValidation/common/optionsvalidation/JVMOptionsUtils.java Changeset: c003fffd Author: Charlie Gracie Committer: Vladimir Kozlov Date: 2020-03-17 14:05:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c003fffd 8241122: Remove unimplemented InlineTree constructor definition from parse.hpp Reviewed-by: kvn ! src/hotspot/share/opto/parse.hpp Changeset: f959b012 Author: David Holmes Date: 2020-03-17 19:57:58 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f959b012 8239593: Bogus warning "Re-registering of platform native method" for a JVMTI agent Reviewed-by: dcubed, alanb, hseigel ! src/hotspot/share/prims/jni.cpp Changeset: 94a6149d Author: David Holmes Date: 2020-03-17 20:54:50 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/94a6149d 8241124: Aarch64 build broken by JDK-8239593 Reviewed-by: mikael ! src/hotspot/share/prims/jni.cpp Changeset: a1476361 Author: Chris Plummer Date: 2020-03-17 18:04:59 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a1476361 8238268: Many SA tests are not running on OSX because they do not attempt to use sudo when available Reviewed-by: sspitsyn, iignatyev ! test/hotspot/jtreg/TEST.ROOT ! test/hotspot/jtreg/compiler/ciReplay/TestSAClient.java ! test/hotspot/jtreg/compiler/ciReplay/TestSAServer.java ! test/hotspot/jtreg/gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java ! test/hotspot/jtreg/resourcehogs/serviceability/sa/TestHeapDumpForLargeArray.java ! test/hotspot/jtreg/serviceability/sa/CDSJMapClstats.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbFindPC.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbJstackXcompStress.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbLauncher.java ! test/hotspot/jtreg/serviceability/sa/DeadlockDetectionTest.java ! test/hotspot/jtreg/serviceability/sa/JhsdbThreadInfoTest.java ! test/hotspot/jtreg/serviceability/sa/TestClassDump.java ! test/hotspot/jtreg/serviceability/sa/TestClhsdbJstackLock.java ! test/hotspot/jtreg/serviceability/sa/TestCpoolForInvokeDynamic.java ! test/hotspot/jtreg/serviceability/sa/TestDefaultMethods.java ! test/hotspot/jtreg/serviceability/sa/TestG1HeapRegion.java ! test/hotspot/jtreg/serviceability/sa/TestHeapDumpForInvokeDynamic.java ! test/hotspot/jtreg/serviceability/sa/TestInstanceKlassSize.java ! test/hotspot/jtreg/serviceability/sa/TestInstanceKlassSizeForInterface.java ! test/hotspot/jtreg/serviceability/sa/TestIntConstant.java ! test/hotspot/jtreg/serviceability/sa/TestJhsdbJstackLock.java ! test/hotspot/jtreg/serviceability/sa/TestJhsdbJstackMixed.java ! test/hotspot/jtreg/serviceability/sa/TestPrintMdo.java ! test/hotspot/jtreg/serviceability/sa/TestRevPtrsForInvokeDynamic.java ! test/hotspot/jtreg/serviceability/sa/TestType.java ! test/hotspot/jtreg/serviceability/sa/TestUniverse.java ! test/hotspot/jtreg/serviceability/sa/jmap-hprof/JMapHProfLargeHeapTest.java ! test/hotspot/jtreg/serviceability/sa/sadebugd/DebugdConnectTest.java ! test/hotspot/jtreg/serviceability/sa/sadebugd/SADebugDTest.java ! test/hotspot/jtreg/testlibrary_tests/TestMutuallyExclusivePlatformPredicates.java ! test/jdk/TEST.ROOT ! test/jdk/sun/tools/jhsdb/BasicLauncherTest.java ! test/jdk/sun/tools/jhsdb/HeapDumpTest.java ! test/jdk/sun/tools/jhsdb/HeapDumpTestWithActiveProcess.java ! test/jdk/sun/tools/jhsdb/JShellHeapDumpTest.java ! test/jdk/sun/tools/jhsdb/heapconfig/JMapHeapConfigTest.java ! test/jdk/sun/tools/jhsdb/heapconfig/TmtoolTestScenario.java ! test/jdk/sun/tools/jstack/DeadlockDetectionTest.java ! test/jtreg-ext/requires/VMProps.java ! test/lib/jdk/test/lib/Platform.java ! test/lib/jdk/test/lib/SA/SATestUtils.java Changeset: 0c9f8e47 Author: Hai-May Chao Committer: Weijun Wang Date: 2020-03-18 09:23:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0c9f8e47 8186143: keytool -ext option doesn't accept wildcards for DNS subject alternative names Reviewed-by: jnimeh, weijun, mullan ! src/java.base/share/classes/sun/security/tools/keytool/Main.java ! src/java.base/share/classes/sun/security/x509/DNSName.java ! test/jdk/sun/security/x509/GeneralName/DNSNameTest.java Changeset: e5e24ad0 Author: Naoto Sato Date: 2020-03-17 19:11:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e5e24ad0 8241082: Upgrade IANA Language Subtag Registry data to 03-16-2020 version Reviewed-by: joehw ! make/data/lsrdata/language-subtag-registry.txt ! make/jdk/src/classes/build/tools/generatelsrequivmaps/EquivMapsGenerator.java ! test/jdk/java/util/Locale/Bug8040211.java Changeset: e827f4ae Author: Aleksey Shipilev Date: 2020-03-18 06:28:50 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e827f4ae 8241093: Shenandoah: editorial changes in flag descriptions Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: 1d4a4fed Author: Ivan Gerasimov Date: 2020-03-18 01:04:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1d4a4fed 8214245: Case insensitive matching doesn't work correctly for some character classes Reviewed-by: rriggs, darcy ! src/java.base/share/classes/java/util/regex/CharPredicates.java ! src/java.base/share/classes/java/util/regex/Pattern.java ! test/jdk/java/util/regex/RegExTest.java Changeset: d76b0cf7 Author: Ichiroh Takiguchi Date: 2020-03-18 18:04:51 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d76b0cf7 8232161: Align some one-way conversion in MS950 charset with Windows MS950 charset encoder's conversion table is changed Reviewed-by: naoto ! make/data/charsetmapping/MS950.map ! make/data/charsetmapping/MS950.nr + test/jdk/sun/nio/cs/TestMS950.java Changeset: ae393102 Author: Naoto Sato Date: 2020-02-06 10:10:54 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ae393102 8238605: Correct the CLDR version number in cldr.md files Reviewed-by: joehw, alanb ! src/java.base/share/legal/cldr.md ! src/jdk.localedata/share/legal/cldr.md Changeset: 5ed4b9f2 Author: Jesper Wilhelmsson Date: 2020-02-07 00:17:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5ed4b9f2 Added tag jdk-14+36 for changeset bc54620a3848 ! .hgtags Changeset: abc56193 Author: Jesper Wilhelmsson Date: 2020-03-18 10:34:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/abc56193 Added tag jdk-14-ga for changeset bc54620a3848 ! .hgtags Changeset: efb25e51 Author: Jesper Wilhelmsson Date: 2020-03-18 10:41:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/efb25e51 Merge ! .hgtags ! .hgtags Changeset: f2fb5c54 Author: Tony Printezis Committer: Markus Gr?nlund Date: 2020-03-18 12:00:19 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f2fb5c54 8239497: SEGV in EdgeUtils::field_name_symbol(Edge const&) Reviewed-by: egahlin, tonyp ! src/hotspot/share/jfr/leakprofiler/chains/edge.cpp ! src/hotspot/share/jfr/leakprofiler/chains/edge.hpp ! src/hotspot/share/jfr/leakprofiler/chains/edgeUtils.cpp ! src/hotspot/share/jfr/leakprofiler/chains/edgeUtils.hpp ! src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleWriter.cpp ! src/hotspot/share/oops/instanceMirrorKlass.hpp Changeset: 0ee74979 Author: Mikhailo Seledtsov Date: 2020-03-18 09:45:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0ee74979 8241033: Create test library utility for getting JFR streaming repository New method to get JFR streaming repo path Reviewed-by: egahlin, mgronlun ! test/jdk/jdk/jfr/api/consumer/streaming/TestCrossProcessStreaming.java ! test/jdk/jdk/jfr/api/consumer/streaming/TestProcess.java + test/lib/jdk/test/lib/jfr/StreamingUtils.java Changeset: 1170981e Author: Chris Plummer Date: 2020-03-18 10:14:46 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1170981e 8240906: Update ZGC ProblemList for serviceability/sa/TestJmapCoreMetaspace.java Reviewed-by: stefank ! test/hotspot/jtreg/ProblemList-zgc.txt Changeset: c6cec8a8 Author: Chris Plummer Date: 2020-03-18 10:42:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c6cec8a8 8227340: Modify problem list entry for javax/management/remote/mandatory/connection/MultiThreadDeadLockTest.java Reviewed-by: dholmes ! test/jdk/ProblemList.txt Changeset: b70ef0d2 Author: Daniil Titov Date: 2020-03-18 11:05:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b70ef0d2 8240711: TestJstatdPort.java failed due to "ExportException: Port already in use:" Reviewed-by: amenkov ! test/jdk/sun/tools/jstatd/JstatdTest.java Changeset: 700f50f2 Author: Aleksey Shipilev Date: 2020-03-18 19:24:42 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/700f50f2 8241128: x86_32 build failure after JDK-8241042 Reviewed-by: redestad, kvn ! src/hotspot/cpu/x86/assembler_x86.cpp Changeset: bf54c474 Author: Vicente Romero Date: 2020-03-18 14:33:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/bf54c474 8240970: Some tests fail when run with JCov Reviewed-by: jjg ! test/langtools/tools/javac/EarlyAssertWrapper.java ! test/langtools/tools/javac/T8132562/ClassPathWithDoubleQuotesTest.java ! test/langtools/tools/javac/launcher/SourceLauncherTest.java ! test/langtools/tools/javac/modules/RequiresStaticTest.java ! test/langtools/tools/javac/options/smokeTests/OptionSmokeTest.java ! test/langtools/tools/javac/platform/PlatformProviderTest.java ! test/langtools/tools/jdeps/modules/CheckModuleTest.java Changeset: 34b9ac22 Author: Doug Simon Date: 2020-03-18 13:11:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/34b9ac22 8236285: [JVMCI] improve TranslatedException traces Reviewed-by: never, kvn ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/TranslatedException.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/TestTranslatedException.java Changeset: ea367322 Author: Jonathan Gibbons Date: 2020-03-18 13:20:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ea367322 8241030: rename HtmlTag to TagName Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractTreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassUseWriter.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/ConstantsSummaryWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstructorWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DeprecatedListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Headings.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/HtmlDocletWriter.java ! 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/IndexRedirectWriter.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/PackageTreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageUseWriter.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/SerializedFormWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SingleIndexWriter.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/SplitIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SubWriterHolderWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Head.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlStyle.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlTag.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/Script.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/TableHeader.java + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/TagName.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/package-info.java ! test/langtools/jdk/javadoc/doclet/testHtmlDocument/TestHtmlDocument.java Changeset: 9fe762d3 Author: Chris Plummer Date: 2020-03-18 13:24:59 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9fe762d3 8241162: ProblemList serviceability/sa/TestHeapDumpForInvokeDynamic.java on OSX Reviewed-by: dcubed ! test/hotspot/jtreg/ProblemList.txt Changeset: af28093e Author: Jonathan Gibbons Date: 2020-03-18 13:29:02 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/af28093e Merge Changeset: 9d7f8bc9 Author: Rafael Winterhalter Date: 2020-03-18 17:07:42 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9d7f8bc9 8202469: (ann) Type annotations on type variable bounds that are also type variables are lost Reviewed-by: jfranck ! src/java.base/share/classes/sun/reflect/annotation/TypeAnnotationParser.java + test/jdk/java/lang/annotation/typeAnnotations/ParameterizedBoundIndex.java Changeset: 44eca823 Author: Andrew M Leonard Committer: Andrew Leonard Date: 2020-03-17 14:14:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/44eca823 8241097: java/math/BigInteger/largeMemory/SymmetricRangeTests.java requires -XX:+CompactStrings Reviewed-by: bpb, bchristi ! test/jdk/java/math/BigInteger/largeMemory/SymmetricRangeTests.java Changeset: 99546049 Author: Matthias Neugschwandtner Date: 2020-03-18 15:59:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/99546049 8235908: omit ThreadPriorityPolicy warning when value is set from image Reviewed-by: dholmes, clanger, kvn ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/share/runtime/flags/jvmFlag.cpp ! src/hotspot/share/runtime/flags/jvmFlag.hpp ! src/hotspot/share/runtime/globals_extension.hpp Changeset: c7c8623e Author: Jesper Wilhelmsson Date: 2020-03-19 03:03:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c7c8623e Added tag jdk-15+15 for changeset 82b7c62cf4cc ! .hgtags Changeset: 599af2ac Author: Chris Yin Date: 2020-03-19 11:07:36 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/599af2ac 8202117: com/sun/jndi/ldap/RemoveNamingListenerTest.java fails intermittently: Connection reset Reviewed-by: dfuchs, vtewari ! test/jdk/com/sun/jndi/ldap/RemoveNamingListenerTest.java Changeset: f1c919f2 Author: Igor Veresov Date: 2020-03-18 21:49:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f1c919f2 8230290: [JVMCI] Remove unused API entry points Remove VirtualObject.setIsAutoBox() Reviewed-by: kvn ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.code/src/jdk/vm/ci/code/VirtualObject.java Changeset: cadfc3d5 Author: Matthias Baesken Date: 2020-03-16 15:11:02 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/cadfc3d5 8241064: JFR related tests TestMetaspaceAllocationFailure.java and TestEventInstrumentation.java miss requires tag Reviewed-by: mseledtsov, mgronlun ! test/jdk/jdk/jfr/event/runtime/TestMetaspaceAllocationFailure.java ! test/jdk/jdk/jfr/javaagent/TestEventInstrumentation.java Changeset: dd63eec6 Author: Jie Fu Date: 2020-03-19 16:34:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/dd63eec6 8241232: -XX:+BootstrapJVMCI is not compatible with TieredStopAtLevel < CompLevel_full_optimization Reviewed-by: kvn, thartmann ! src/hotspot/share/jvmci/jvmci_globals.cpp + test/hotspot/jtreg/compiler/jvmci/errors/TestInvalidTieredStopAtLevel.java Changeset: a51dd58f Author: Christian Hagedorn Date: 2020-03-19 10:15:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a51dd58f 8240227: Loop predicates should be copied to unswitched loops Copy loop range check predicates to unswitched loops and update their control edges. Reviewed-by: kvn, neliasso, thartmann, roland ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/graphKit.hpp ! src/hotspot/share/opto/idealKit.cpp ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/loopUnswitch.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/parse1.cpp ! src/hotspot/share/opto/parse2.cpp ! src/hotspot/share/opto/phaseX.hpp ! src/hotspot/share/opto/stringopts.cpp ! test/hotspot/jtreg/compiler/loopopts/PartialPeelingUnswitch.java + test/hotspot/jtreg/compiler/loopopts/TestUnswitchOverunrolling.java Changeset: cc9470ec Author: Claes Redestad Date: 2020-03-05 16:07:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/cc9470ec 8241095: x86: Improve prefix handling in Assembler Reviewed-by: kvn, thartmann ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp Changeset: cd7d1750 Author: Alexander Scherbatiy Date: 2020-03-19 14:58:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/cd7d1750 8240604: Rewrite sun/management/jmxremote/bootstrap/CustomLauncherTest.java test to make binaries from source file Reviewed-by: iignatyev ! make/test/JtregNativeJdk.gmk ! test/jdk/sun/management/jmxremote/bootstrap/CustomLauncherTest.java - test/jdk/sun/management/jmxremote/bootstrap/Makefile + test/jdk/sun/management/jmxremote/bootstrap/exelauncher.c - test/jdk/sun/management/jmxremote/bootstrap/launcher.c - test/jdk/sun/management/jmxremote/bootstrap/linux-amd64/launcher - test/jdk/sun/management/jmxremote/bootstrap/linux-i586/launcher - test/jdk/sun/management/jmxremote/bootstrap/solaris-amd64/launcher - test/jdk/sun/management/jmxremote/bootstrap/solaris-sparcv9/launcher Changeset: fa069be2 Author: Kiran Sidhartha Ravikumar Date: 2020-03-13 18:38:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/fa069be2 8161558: ListIterator should not discard cause on exception Reviewed-by: smarks ! src/java.base/share/classes/java/util/AbstractList.java ! src/java.base/share/classes/java/util/NoSuchElementException.java + test/jdk/java/util/AbstractList/CheckForIndexOutOfBoundsException.java Changeset: e2947fe9 Author: Stefan Karlsson Date: 2020-03-19 14:15:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e2947fe9 8240773: JFR: Non-Java threads are not serialized Reviewed-by: mgronlun ! src/hotspot/share/jfr/utilities/jfrThreadIterator.cpp Changeset: b4e85913 Author: Stefan Karlsson Date: 2020-03-19 14:16:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b4e85913 8240819: Assign a name to the JfrThreadSampler thread Reviewed-by: mgronlun ! src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.cpp Changeset: 5695e59a Author: Stefan Karlsson Date: 2020-03-19 14:17:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5695e59a 8240818: Remove colon from "JFR: Shutdown Hook" thread name Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecorder.java Changeset: d3bf9150 Author: Stefan Karlsson Date: 2020-03-19 14:18:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d3bf9150 8241263: JFR: Bump native events limit Reviewed-by: mgronlun, egahlin ! src/jdk.jfr/share/classes/jdk/jfr/internal/JVM.java Changeset: 9dc15f17 Author: Magnus Ihse Bursie Date: 2020-03-19 17:17:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9dc15f17 8241254: Simplify usage of UTIL_DEPRECATED_ARG_ENABLE Reviewed-by: erikj ! make/autoconf/util.m4 Changeset: 029fea43 Author: Chris Plummer Date: 2020-03-19 10:20:45 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/029fea43 8240543: Update problem list entry for serviceability/sa/TestRevPtrsForInvokeDynamic.java to reference JDK-8241235 Reviewed-by: dholmes ! test/hotspot/jtreg/ProblemList.txt Changeset: 32cba672 Author: Jonathan Gibbons Date: 2020-03-19 11:25:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/32cba672 8240476: SystemPropertiesWriter does not conform to standard page layout Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SystemPropertiesWriter.java ! test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/TestSystemPropertyPage.java Changeset: 66c8794c Author: Evgeny Nikitin Committer: Igor Ignatyev Date: 2020-03-17 21:35:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/66c8794c 8168304: Make all of DependencyContext_test available in product mode Enable the utility inspection function `DependencyContext::is_dependent_method` and therefore the test in the product mode. Reviewed-by: eosterlund, thartmann ! src/hotspot/share/code/dependencyContext.cpp ! src/hotspot/share/code/dependencyContext.hpp ! test/hotspot/gtest/code/test_dependencyContext.cpp Changeset: caa08844 Author: Roger Riggs Date: 2020-03-19 15:34:34 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/caa08844 8241073: Pre-generated Stubs for javax.management, Activation, Naming Reviewed-by: erikj, ihse, alanb, dfuchs - make/CompileInterimRmic.gmk ! make/Docs.gmk ! make/Global.gmk ! make/Main.gmk ! make/ZipSource.gmk ! make/autoconf/spec.gmk.in - make/common/RMICompilation.gmk ! make/jdk/netbeans/jmx/build.xml - make/rmic/Rmic-java.management.rmi.gmk - make/rmic/Rmic-java.rmi.gmk - make/rmic/Rmic-jdk.naming.rmi.gmk - make/rmic/RmicCommon.gmk + src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnectionImpl_Stub.java + src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIServerImpl_Stub.java + src/java.rmi/share/classes/java/rmi/activation/ActivationGroup_Stub.java + src/java.rmi/share/classes/sun/rmi/server/Activation$ActivationSystemImpl_Stub.java - src/java.rmi/share/doc/stub/java/rmi/activation/ActivationGroup_Stub.java + src/jdk.naming.rmi/share/classes/com/sun/jndi/rmi/registry/ReferenceWrapper_Stub.java Changeset: 4f629193 Author: Dean Long Date: 2020-03-19 12:29:59 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/4f629193 8241231: Update Graal Reviewed-by: kvn ! src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/CallInfo.java ! src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/MarkId.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.sparc/src/org/graalvm/compiler/asm/sparc/SPARCAssembler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64/src/org/graalvm/compiler/core/amd64/AMD64LIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/Fields.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/CheckGraalInvariants.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/OptionsVerifierTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/LIRGenerationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/gen/NodeLIRBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/Node.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/NodeClass.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotBackend.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotBackendFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotBackendFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotPatchReturnAddressOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotBackendFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CompilationWrapperTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/NodeCostDumpUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotReplacementsImpl.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/SymbolicSnippetEncoder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotPlatformConfigurationProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/EndLockScopeNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/HotSpotReplacementsUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/UnsafeCopyMemoryNode.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/UnsafeLoadSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/LambdaUtils.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotspot/Test6196102.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotspot/Test6753639.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotspot/Test6823354.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotspot/Test6850611.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotspot/Test7005594.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64FrameMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/CompositeValueClass.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/LIRInstructionClass.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/LIRIntrospection.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/framemap/FrameMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/gen/LIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/gen/LIRGeneratorTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/MemoryProxyNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ProxyNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/StructuredGraph.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ValueNodeUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/BytecodeExceptionNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/MonitorExit.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/gc/BarrierSet.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/gc/CardTableBarrierSet.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/gc/G1BarrierSet.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/UnsafeCompareAndSwapNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/FixedAccessNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/FloatingReadNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryAccess.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryAnchorNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryKill.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryMapNode.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryPhiNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MultiMemoryKill.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/SingleMemoryKill.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/MemoryEdgeProxy.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/MemoryProxy.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/NodeLIRBuilderTool.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.options/src/org/graalvm/compiler/options/OptionDescriptorsMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.options/src/org/graalvm/compiler/options/OptionValues.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/FloatingReadPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/LoweringPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/schedule/ScheduleVerification.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64ArrayIndexOfDispatchNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64ArrayIndexOfNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64StringLatin1InflateNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64StringUTF16CompressNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/SubstitutionsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/DefaultJavaLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/SnippetLowerableMemoryNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/SnippetTemplate.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/arraycopy/ArrayCopyCallNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/ArrayCompareToNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/ArrayEqualsNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/ArrayRegionEqualsNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/BasicArrayCopyNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/ReadRegisterNode.java Changeset: b8a2b201 Author: Kim Barrett Date: 2020-03-19 18:11:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b8a2b201 8139652: Mutator refinement processing should take the oldest dirty card buffer Changed mutator refinement to take from queue rather than in-place and reuse. Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/g1/g1DirtyCardQueue.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp Changeset: 3f698242 Author: Patricio Chilano Mateo Date: 2020-03-20 00:32:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3f698242 8240902: JDI shared memory connector can use already closed Handles Add refcount to keep track of connection access Reviewed-by: dholmes, dcubed, sspitsyn ! src/jdk.jdi/share/native/libdt_shmem/shmemBase.c Changeset: 7ded8b1e Author: Chris Yin Date: 2020-03-20 10:24:46 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7ded8b1e 8241130: com.sun.jndi.ldap.EventSupport.removeDeadNotifier: java.lang.NullPointerException Reviewed-by: dfuchs ! src/java.naming/share/classes/com/sun/jndi/ldap/EventSupport.java ! test/jdk/com/sun/jndi/ldap/RemoveNamingListenerTest.java Changeset: 104927e5 Author: Chris Plummer Date: 2020-03-19 21:32:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/104927e5 8241335: ProblemList serviceability/sa/ClhsdbPstack.java due to JDK-8240956 Reviewed-by: mikael ! test/hotspot/jtreg/ProblemList.txt Changeset: 333a832c Author: Kim Barrett Date: 2020-03-20 01:20:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/333a832c 8241001: Improve logging in the ConcurrentGCBreakpoint mechanism Demoted most breakpoint logging to trace level. Reviewed-by: pliden, sjohanss ! src/hotspot/share/gc/shared/concurrentGCBreakpoints.cpp ! src/hotspot/share/logging/logPrefix.hpp Changeset: e7204cbc Author: Leonid Mesnik Date: 2020-03-20 00:24:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e7204cbc 8241123: Refactor vmTestbase stress framework to use j.u.c and make creation of threads more flexible Reviewed-by: iignatyev, sspitsyn ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/referringObjects/referringObjects003/referringObjects003a.java ! test/hotspot/jtreg/vmTestbase/nsk/share/Wicket.java ! test/hotspot/jtreg/vmTestbase/nsk/share/runner/ThreadsRunner.java Changeset: cc83c455 Author: Thomas Schatzl Date: 2020-03-20 11:17:45 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/cc83c455 8240590: Add MemRegion::destroy_array to complement introduced create_array Reviewed-by: lkorinth, sjohanss ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/shared/cardTable.cpp ! src/hotspot/share/memory/filemap.cpp ! src/hotspot/share/memory/memRegion.cpp ! src/hotspot/share/memory/memRegion.hpp Changeset: 8d556576 Author: duke Date: 2020-03-20 11:01:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8d556576 Automatic merge of jdk:master into master Changeset: 65f25d82 Author: duke Date: 2020-03-20 11:01:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/65f25d82 Automatic merge of master into foreign-memaccess Changeset: ac326fa5 Author: duke Date: 2020-03-20 11:02:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ac326fa5 Automatic merge of foreign-memaccess into foreign-abi ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/share/runtime/init.cpp ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/share/runtime/init.cpp Changeset: e9fe9bb7 Author: duke Date: 2020-03-20 11:02:31 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e9fe9bb7 Automatic merge of foreign-abi into foreign-jextract ! make/autoconf/spec.gmk.in ! make/autoconf/spec.gmk.in From duke at openjdk.java.net Fri Mar 20 11:14:45 2020 From: duke at openjdk.java.net (duke) Date: Fri, 20 Mar 2020 11:14:45 GMT Subject: git: openjdk/panama-foreign: foreign-abi: 85 new changesets Message-ID: <9c586700-b7c5-48a5-9e85-5b51a2fe0d14@openjdk.org> Changeset: 5a68ba13 Author: Ivan Walulya Date: 2020-03-13 11:54:47 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5a68ba13 8240591: G1HeapSizingPolicy attempts to compute expansion_amount even when at full capacity Reviewed-by: sjohanss, tschatzl ! src/hotspot/share/gc/g1/g1HeapSizingPolicy.cpp Changeset: 5ed80778 Author: Aditya Mandaleeka Committer: Aleksey Shipilev Date: 2020-03-13 13:22:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5ed80778 8231668: Remove ForceDynamicNumberOfGCThreads Reviewed-by: shade, tschatzl ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/gc/shared/workerPolicy.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! test/hotspot/jtreg/gc/ergonomics/TestDynamicNumberOfGCThreads.java ! test/hotspot/jtreg/gc/shenandoah/TestGCThreadGroups.java Changeset: 9d502f64 Author: Weijun Wang Date: 2020-03-13 21:32:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9d502f64 8240983: Incorrect copyright header in Apache Santuario files Reviewed-by: mullan ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMReference.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignature.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXPathFilter2Transform.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/XMLDSigRI.java Changeset: 9e945720 Author: Per Lid?n Date: 2020-03-13 14:26:38 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9e945720 8240714: ZGC: TestSmallHeap.java failed due to OutOfMemoryError Reviewed-by: eosterlund ! test/hotspot/jtreg/gc/z/TestSmallHeap.java Changeset: afbe2286 Author: Vicente Romero Date: 2020-03-13 10:29:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/afbe2286 8239447: compiler error for annotations applied to record components with target METHOD Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java + test/langtools/tools/javac/processing/model/element/ErrorOnAnnoWithTargetMethod.java Changeset: 37629673 Author: Claes Redestad Date: 2020-03-13 15:59:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/37629673 8241006: Cleanup TemplateInterpreter initialization Reviewed-by: coleenp ! src/hotspot/share/interpreter/abstractInterpreter.cpp ! src/hotspot/share/interpreter/templateInterpreter.cpp ! src/hotspot/share/interpreter/templateTable.cpp ! src/hotspot/share/interpreter/templateTable.hpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/runtime/init.cpp Changeset: 2b465b1e Author: Claes Redestad Date: 2020-03-13 18:43:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2b465b1e 8241010: Unnecessarily resolving some well-known classes Reviewed-by: coleenp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/prims/stackwalk.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/services/diagnosticCommand.cpp Changeset: afa54b7e Author: Jonathan Gibbons Date: 2020-03-13 10:57:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/afa54b7e 8240916: Convert to using hyphenated naming for CSS classes Reviewed-by: hannesw ! make/jdk/src/classes/build/tools/taglet/ModuleGraph.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/markup/HtmlStyle.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/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css ! test/langtools/jdk/javadoc/doclet/AccessSkipNav/AccessSkipNav.java ! test/langtools/jdk/javadoc/doclet/constantValues/TestConstantValuesDriver.java ! test/langtools/jdk/javadoc/doclet/testAbstractMethod/TestAbstractMethod.java ! test/langtools/jdk/javadoc/doclet/testAnchorNames/TestAnchorNames.java ! test/langtools/jdk/javadoc/doclet/testAnnotationTypes/TestAnnotationTypes.java ! test/langtools/jdk/javadoc/doclet/testClassCrossReferences/TestClassCrossReferences.java ! test/langtools/jdk/javadoc/doclet/testClassLinks/TestClassLinks.java ! test/langtools/jdk/javadoc/doclet/testClassTree/TestClassTree.java ! test/langtools/jdk/javadoc/doclet/testDeprecatedDocs/TestDeprecatedDocs.java ! test/langtools/jdk/javadoc/doclet/testDocRootInlineTag/TestDocRootInlineTag.java ! test/langtools/jdk/javadoc/doclet/testExternalOverriddenMethod/TestExternalOverriddenMethod.java ! test/langtools/jdk/javadoc/doclet/testGroupName/TestGroupName.java ! test/langtools/jdk/javadoc/doclet/testHeadings/TestHeadings.java ! test/langtools/jdk/javadoc/doclet/testHiddenTag/TestHiddenTag.java ! test/langtools/jdk/javadoc/doclet/testHref/TestHref.java ! test/langtools/jdk/javadoc/doclet/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java ! test/langtools/jdk/javadoc/doclet/testHtmlLandmarkRegions/TestHtmlLandmarkRegions.java ! test/langtools/jdk/javadoc/doclet/testHtmlTableStyles/TestHtmlTableStyles.java ! test/langtools/jdk/javadoc/doclet/testHtmlTableTags/TestHtmlTableTags.java ! test/langtools/jdk/javadoc/doclet/testHtmlTag/TestHtmlTag.java ! test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java ! test/langtools/jdk/javadoc/doclet/testIndentation/TestIndentation.java ! test/langtools/jdk/javadoc/doclet/testIndex/TestIndex.java ! test/langtools/jdk/javadoc/doclet/testIndexInDocFiles/TestIndexInDocFiles.java ! test/langtools/jdk/javadoc/doclet/testIndexInPackageFiles/TestIndexInPackageFiles.java ! test/langtools/jdk/javadoc/doclet/testIndexTaglet/TestIndexTaglet.java ! test/langtools/jdk/javadoc/doclet/testInterface/TestInterface.java ! test/langtools/jdk/javadoc/doclet/testJavaFX/TestJavaFX.java ! test/langtools/jdk/javadoc/doclet/testLambdaFeature/TestLambdaFeature.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestLinkOption.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestLinkOptionWithAutomaticModule.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestLinkOptionWithModule.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestOptionOrder.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestRedirectLinks.java ! test/langtools/jdk/javadoc/doclet/testLinkToSerialForm/TestLinkToSerialForm.java ! test/langtools/jdk/javadoc/doclet/testLinksWithNoDeprecatedOption/TestLinksWithNoDeprecatedOption.java ! test/langtools/jdk/javadoc/doclet/testLiteralCodeInPre/TestLiteralCodeInPre.java ! test/langtools/jdk/javadoc/doclet/testMemberInheritance/TestMemberInheritance.java ! test/langtools/jdk/javadoc/doclet/testMemberSummary/TestMemberSummary.java ! test/langtools/jdk/javadoc/doclet/testMethodSignature/TestMethodSignature.java ! test/langtools/jdk/javadoc/doclet/testMethodTypes/TestMethodTypes.java ! test/langtools/jdk/javadoc/doclet/testModifierEx/TestModifierEx.java ! test/langtools/jdk/javadoc/doclet/testModules/TestIndirectExportsOpens.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModulePackages.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModuleServices.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testNavigation/TestNavigation.java ! test/langtools/jdk/javadoc/doclet/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/langtools/jdk/javadoc/doclet/testOptions/TestOptions.java ! test/langtools/jdk/javadoc/doclet/testOrdering/TestOrdering.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestBadOverride.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverriddenDeprecatedMethods.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverriddenMethodDocCopy.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverrideMethods.java ! test/langtools/jdk/javadoc/doclet/testPackageAnnotation/TestPackageAnnotation.java ! test/langtools/jdk/javadoc/doclet/testPackageDeprecation/TestPackageDeprecation.java ! test/langtools/jdk/javadoc/doclet/testPackageDescription/TestPackageDescription.java ! test/langtools/jdk/javadoc/doclet/testPackagePage/TestPackagePage.java ! test/langtools/jdk/javadoc/doclet/testPackageSummary/TestPackageSummary.java ! test/langtools/jdk/javadoc/doclet/testPrivateClasses/TestPrivateClasses.java ! test/langtools/jdk/javadoc/doclet/testProperty/TestProperty.java ! test/langtools/jdk/javadoc/doclet/testRecordTypes/TestRecordTypes.java ! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java ! test/langtools/jdk/javadoc/doclet/testSerializedForm/TestSerializedForm.java ! test/langtools/jdk/javadoc/doclet/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java ! test/langtools/jdk/javadoc/doclet/testSerializedFormWithClassFile/TestSerializedFormWithClassFile.java ! test/langtools/jdk/javadoc/doclet/testStylesheet/TestStylesheet.java ! test/langtools/jdk/javadoc/doclet/testSubTitle/TestSubTitle.java ! test/langtools/jdk/javadoc/doclet/testSummaryTag/TestSummaryTag.java ! test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/TestSystemPropertyPage.java ! test/langtools/jdk/javadoc/doclet/testSystemPropertyTaglet/TestSystemPropertyTaglet.java ! test/langtools/jdk/javadoc/doclet/testTagOutput/TestTagOutput.java ! test/langtools/jdk/javadoc/doclet/testTitleInHref/TestTitleInHref.java ! test/langtools/jdk/javadoc/doclet/testTypeAnnotations/TestTypeAnnotations.java ! test/langtools/jdk/javadoc/doclet/testTypeParams/TestTypeParameters.java ! test/langtools/jdk/javadoc/doclet/testUnnamedPackage/TestUnnamedPackage.java ! test/langtools/jdk/javadoc/doclet/testUseOption/TestUseOption.java ! test/langtools/jdk/javadoc/doclet/testValueTag/TestValueTagInModule.java ! test/langtools/jdk/javadoc/tool/testLocaleOption/TestLocaleOption.java Changeset: c7e4b2af Author: Joe Wang Date: 2020-03-13 19:15:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c7e4b2af 8240982: Incorrect copyright header in BCEL 6.4.1 sources Reviewed-by: naoto, 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/ConstantLong.java Changeset: 3aeb2d1a Author: Alex Menkov Date: 2020-03-13 12:25:25 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3aeb2d1a 8217441: Failure of ::realloc() should be handled correctly in sawindbg.cpp Reviewed-by: cjplummer, sspitsyn ! src/jdk.hotspot.agent/windows/native/libsaproc/sawindbg.cpp Changeset: 6ead9056 Author: Kim Barrett Date: 2020-03-13 15:36:50 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6ead9056 8239825: G1: Simplify threshold test for mutator refinement Compute refinement threshold when values change, not on each use. Reviewed-by: tschatzl, sangheki ! src/hotspot/share/gc/g1/g1ConcurrentRefine.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp Changeset: b0194692 Author: Joe Darcy Date: 2020-03-14 09:53:43 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b0194692 8240130: Improve and update discussion of visitor evolution warnings Reviewed-by: jjg ! src/java.compiler/share/classes/javax/lang/model/element/AnnotationValueVisitor.java ! src/java.compiler/share/classes/javax/lang/model/element/ElementVisitor.java ! src/java.compiler/share/classes/javax/lang/model/type/TypeVisitor.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner14.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner6.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner7.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner8.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner9.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor9.java Changeset: f819e417 Author: Vicente Romero Date: 2020-03-14 17:08:25 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f819e417 8235339: test TargetAnnoCombo.java is failing after new target RECORD_COMPONENT was added Reviewed-by: darcy ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! test/langtools/ProblemList.txt ! test/langtools/tools/javac/annotations/repeatingAnnotations/combo/Helper.java ! test/langtools/tools/javac/annotations/repeatingAnnotations/combo/TargetAnnoCombo.java Changeset: 4b978533 Author: Nick Gasson Date: 2020-03-16 10:51:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/4b978533 8240353: AArch64: missing support for -XX:+ExtendedDTraceProbes in C1 Reviewed-by: aph ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp Changeset: 95898e86 Author: David Holmes Date: 2020-03-16 02:16:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/95898e86 8241043: Expand assertions to identify thread with errant _stack_base Reviewed-by: mikael ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp Changeset: 6ddb0f2b Author: Jan Lahoda Date: 2020-03-16 13:06:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6ddb0f2b 8240964: Compilation error thrown when long literal used with yield Ensuring yield followed by a long literal is recognized as a yield statement. Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/langtools/tools/javac/switchexpr/ExpressionSwitch.java Changeset: 21cd75cb Author: Erik ?sterlund Date: 2020-03-16 12:27:42 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/21cd75cb 8240363: Refactor Compile::Output() to its own Phase Reviewed-by: kvn, vlivanov ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/arm/arm.ad ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/cpu/s390/compiledIC_s390.cpp ! src/hotspot/cpu/s390/s390.ad ! src/hotspot/cpu/sparc/sparc.ad ! src/hotspot/cpu/x86/c2_intelJccErratum_x86.cpp ! src/hotspot/cpu/x86/x86_32.ad ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/adlc/adlparse.cpp ! src/hotspot/share/adlc/main.cpp ! src/hotspot/share/adlc/output_c.cpp ! src/hotspot/share/compiler/compileBroker.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/opto/buildOopMap.cpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/chaitin.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp + src/hotspot/share/opto/constantTable.cpp + src/hotspot/share/opto/constantTable.hpp ! src/hotspot/share/opto/machnode.cpp ! src/hotspot/share/opto/machnode.hpp ! src/hotspot/share/opto/output.cpp ! src/hotspot/share/opto/output.hpp ! src/hotspot/share/opto/phase.hpp ! src/hotspot/share/opto/runtime.cpp Changeset: e746891f Author: Jie Fu Date: 2020-03-16 22:43:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e746891f 8241034: Fix a configuring error with "-Xmx2048M: command not found" Reviewed-by: mikael, erikj ! make/autoconf/build-performance.m4 Changeset: 2b4b3d9e Author: Naoto Sato Date: 2020-03-16 09:26:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2b4b3d9e 8240626: Some of the java.time.chrono.Eras return empty display name for some styles and locales Reviewed-by: joehw ! make/jdk/src/classes/build/tools/cldrconverter/Bundle.java ! test/jdk/java/time/test/java/time/chrono/TestEraDisplayName.java Changeset: 19536121 Author: Andrew Haley Date: 2020-03-16 17:10:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/19536121 8241018: 32-bit integer log2 functions return the wrong value for negative arguments on 64-bit machines Reviewed-by: kvn ! src/hotspot/share/utilities/globalDefinitions.hpp ! test/hotspot/gtest/utilities/test_globalDefinitions.cpp Changeset: 8b739002 Author: Erik ?sterlund Date: 2020-03-16 17:13:56 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8b739002 8241074: JDK-8240363 broke the build on AArch64 Reviewed-by: shade ! src/hotspot/share/opto/constantTable.cpp Changeset: b4ff6abe Author: Zhengyu Gu Date: 2020-02-25 12:01:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b4ff6abe 8239926: Shenandoah: Shenandoah needs to mark nmethod's metadata Reviewed-by: rkennke, shade ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahNMethod.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUnload.cpp Changeset: 6f7a103a Author: Matthias Baesken Date: 2020-03-17 08:53:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6f7a103a 8240824: enhance print_full_memory_info on Linux by THP related information Reviewed-by: dholmes, stuefe ! src/hotspot/os/linux/os_linux.cpp Changeset: dbd0f0dc Author: Claes Redestad Date: 2020-03-17 09:36:46 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/dbd0f0dc 8241077: x86_64: Minor Assembler improvements Reviewed-by: kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp Changeset: 035100cc Author: Roman Kennke Date: 2020-03-17 11:49:25 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/035100cc 8241081: Shenandoah: Do not modify update-watermark concurrently Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp Changeset: 1a099598 Author: Andrew Haley Date: 2020-03-17 14:13:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1a099598 Merge Changeset: ec5bd021 Author: Vladimir Kozlov Date: 2020-03-17 10:38:40 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ec5bd021 8240976: [JVMCI] MethodProfileWidth flag is broken Remove JVMCI code which is not used Reviewed-by: thartmann, redestad ! src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp ! src/hotspot/cpu/aarch64/interp_masm_aarch64.hpp ! src/hotspot/cpu/ppc/templateTable_ppc_64.cpp ! src/hotspot/cpu/sparc/interp_masm_sparc.cpp ! src/hotspot/cpu/sparc/interp_masm_sparc.hpp ! src/hotspot/cpu/sparc/templateTable_sparc.cpp ! src/hotspot/cpu/x86/interp_masm_x86.cpp ! src/hotspot/cpu/x86/interp_masm_x86.hpp ! src/hotspot/cpu/x86/templateTable_x86.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp ! src/hotspot/share/jvmci/jvmci_globals.cpp ! src/hotspot/share/jvmci/jvmci_globals.hpp ! src/hotspot/share/oops/methodData.cpp ! src/hotspot/share/oops/methodData.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/MethodData.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/VirtualCallData.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotVMConfig.java Changeset: 17619249 Author: Claes Redestad Date: 2020-03-05 16:07:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/17619249 8241042: x86_64: Improve Assembler generation Reviewed-by: vlivanov, kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/share/asm/assembler.hpp ! src/hotspot/share/asm/codeBuffer.hpp Changeset: 6083173f Author: Vladimir Kozlov Date: 2020-03-17 12:42:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6083173f 8237045: JVM uses excessive memory with -XX:+EnableJVMCI -XX:JVMCICounterSize=2147483648 Limit JVMCICounterSize flag's value range to 1M Reviewed-by: thartmann, redestad ! src/hotspot/share/jvmci/jvmci_globals.hpp ! test/hotspot/jtreg/runtime/CommandLine/OptionsValidation/TestOptionsWithRanges.java ! test/hotspot/jtreg/runtime/CommandLine/OptionsValidation/common/optionsvalidation/JVMOptionsUtils.java Changeset: c003fffd Author: Charlie Gracie Committer: Vladimir Kozlov Date: 2020-03-17 14:05:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c003fffd 8241122: Remove unimplemented InlineTree constructor definition from parse.hpp Reviewed-by: kvn ! src/hotspot/share/opto/parse.hpp Changeset: f959b012 Author: David Holmes Date: 2020-03-17 19:57:58 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f959b012 8239593: Bogus warning "Re-registering of platform native method" for a JVMTI agent Reviewed-by: dcubed, alanb, hseigel ! src/hotspot/share/prims/jni.cpp Changeset: 94a6149d Author: David Holmes Date: 2020-03-17 20:54:50 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/94a6149d 8241124: Aarch64 build broken by JDK-8239593 Reviewed-by: mikael ! src/hotspot/share/prims/jni.cpp Changeset: a1476361 Author: Chris Plummer Date: 2020-03-17 18:04:59 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a1476361 8238268: Many SA tests are not running on OSX because they do not attempt to use sudo when available Reviewed-by: sspitsyn, iignatyev ! test/hotspot/jtreg/TEST.ROOT ! test/hotspot/jtreg/compiler/ciReplay/TestSAClient.java ! test/hotspot/jtreg/compiler/ciReplay/TestSAServer.java ! test/hotspot/jtreg/gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java ! test/hotspot/jtreg/resourcehogs/serviceability/sa/TestHeapDumpForLargeArray.java ! test/hotspot/jtreg/serviceability/sa/CDSJMapClstats.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbFindPC.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbJstackXcompStress.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbLauncher.java ! test/hotspot/jtreg/serviceability/sa/DeadlockDetectionTest.java ! test/hotspot/jtreg/serviceability/sa/JhsdbThreadInfoTest.java ! test/hotspot/jtreg/serviceability/sa/TestClassDump.java ! test/hotspot/jtreg/serviceability/sa/TestClhsdbJstackLock.java ! test/hotspot/jtreg/serviceability/sa/TestCpoolForInvokeDynamic.java ! test/hotspot/jtreg/serviceability/sa/TestDefaultMethods.java ! test/hotspot/jtreg/serviceability/sa/TestG1HeapRegion.java ! test/hotspot/jtreg/serviceability/sa/TestHeapDumpForInvokeDynamic.java ! test/hotspot/jtreg/serviceability/sa/TestInstanceKlassSize.java ! test/hotspot/jtreg/serviceability/sa/TestInstanceKlassSizeForInterface.java ! test/hotspot/jtreg/serviceability/sa/TestIntConstant.java ! test/hotspot/jtreg/serviceability/sa/TestJhsdbJstackLock.java ! test/hotspot/jtreg/serviceability/sa/TestJhsdbJstackMixed.java ! test/hotspot/jtreg/serviceability/sa/TestPrintMdo.java ! test/hotspot/jtreg/serviceability/sa/TestRevPtrsForInvokeDynamic.java ! test/hotspot/jtreg/serviceability/sa/TestType.java ! test/hotspot/jtreg/serviceability/sa/TestUniverse.java ! test/hotspot/jtreg/serviceability/sa/jmap-hprof/JMapHProfLargeHeapTest.java ! test/hotspot/jtreg/serviceability/sa/sadebugd/DebugdConnectTest.java ! test/hotspot/jtreg/serviceability/sa/sadebugd/SADebugDTest.java ! test/hotspot/jtreg/testlibrary_tests/TestMutuallyExclusivePlatformPredicates.java ! test/jdk/TEST.ROOT ! test/jdk/sun/tools/jhsdb/BasicLauncherTest.java ! test/jdk/sun/tools/jhsdb/HeapDumpTest.java ! test/jdk/sun/tools/jhsdb/HeapDumpTestWithActiveProcess.java ! test/jdk/sun/tools/jhsdb/JShellHeapDumpTest.java ! test/jdk/sun/tools/jhsdb/heapconfig/JMapHeapConfigTest.java ! test/jdk/sun/tools/jhsdb/heapconfig/TmtoolTestScenario.java ! test/jdk/sun/tools/jstack/DeadlockDetectionTest.java ! test/jtreg-ext/requires/VMProps.java ! test/lib/jdk/test/lib/Platform.java ! test/lib/jdk/test/lib/SA/SATestUtils.java Changeset: 0c9f8e47 Author: Hai-May Chao Committer: Weijun Wang Date: 2020-03-18 09:23:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0c9f8e47 8186143: keytool -ext option doesn't accept wildcards for DNS subject alternative names Reviewed-by: jnimeh, weijun, mullan ! src/java.base/share/classes/sun/security/tools/keytool/Main.java ! src/java.base/share/classes/sun/security/x509/DNSName.java ! test/jdk/sun/security/x509/GeneralName/DNSNameTest.java Changeset: e5e24ad0 Author: Naoto Sato Date: 2020-03-17 19:11:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e5e24ad0 8241082: Upgrade IANA Language Subtag Registry data to 03-16-2020 version Reviewed-by: joehw ! make/data/lsrdata/language-subtag-registry.txt ! make/jdk/src/classes/build/tools/generatelsrequivmaps/EquivMapsGenerator.java ! test/jdk/java/util/Locale/Bug8040211.java Changeset: e827f4ae Author: Aleksey Shipilev Date: 2020-03-18 06:28:50 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e827f4ae 8241093: Shenandoah: editorial changes in flag descriptions Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: 1d4a4fed Author: Ivan Gerasimov Date: 2020-03-18 01:04:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1d4a4fed 8214245: Case insensitive matching doesn't work correctly for some character classes Reviewed-by: rriggs, darcy ! src/java.base/share/classes/java/util/regex/CharPredicates.java ! src/java.base/share/classes/java/util/regex/Pattern.java ! test/jdk/java/util/regex/RegExTest.java Changeset: d76b0cf7 Author: Ichiroh Takiguchi Date: 2020-03-18 18:04:51 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d76b0cf7 8232161: Align some one-way conversion in MS950 charset with Windows MS950 charset encoder's conversion table is changed Reviewed-by: naoto ! make/data/charsetmapping/MS950.map ! make/data/charsetmapping/MS950.nr + test/jdk/sun/nio/cs/TestMS950.java Changeset: ae393102 Author: Naoto Sato Date: 2020-02-06 10:10:54 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ae393102 8238605: Correct the CLDR version number in cldr.md files Reviewed-by: joehw, alanb ! src/java.base/share/legal/cldr.md ! src/jdk.localedata/share/legal/cldr.md Changeset: 5ed4b9f2 Author: Jesper Wilhelmsson Date: 2020-02-07 00:17:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5ed4b9f2 Added tag jdk-14+36 for changeset bc54620a3848 ! .hgtags Changeset: abc56193 Author: Jesper Wilhelmsson Date: 2020-03-18 10:34:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/abc56193 Added tag jdk-14-ga for changeset bc54620a3848 ! .hgtags Changeset: efb25e51 Author: Jesper Wilhelmsson Date: 2020-03-18 10:41:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/efb25e51 Merge ! .hgtags ! .hgtags Changeset: f2fb5c54 Author: Tony Printezis Committer: Markus Gr?nlund Date: 2020-03-18 12:00:19 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f2fb5c54 8239497: SEGV in EdgeUtils::field_name_symbol(Edge const&) Reviewed-by: egahlin, tonyp ! src/hotspot/share/jfr/leakprofiler/chains/edge.cpp ! src/hotspot/share/jfr/leakprofiler/chains/edge.hpp ! src/hotspot/share/jfr/leakprofiler/chains/edgeUtils.cpp ! src/hotspot/share/jfr/leakprofiler/chains/edgeUtils.hpp ! src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleWriter.cpp ! src/hotspot/share/oops/instanceMirrorKlass.hpp Changeset: 0ee74979 Author: Mikhailo Seledtsov Date: 2020-03-18 09:45:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0ee74979 8241033: Create test library utility for getting JFR streaming repository New method to get JFR streaming repo path Reviewed-by: egahlin, mgronlun ! test/jdk/jdk/jfr/api/consumer/streaming/TestCrossProcessStreaming.java ! test/jdk/jdk/jfr/api/consumer/streaming/TestProcess.java + test/lib/jdk/test/lib/jfr/StreamingUtils.java Changeset: 1170981e Author: Chris Plummer Date: 2020-03-18 10:14:46 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1170981e 8240906: Update ZGC ProblemList for serviceability/sa/TestJmapCoreMetaspace.java Reviewed-by: stefank ! test/hotspot/jtreg/ProblemList-zgc.txt Changeset: c6cec8a8 Author: Chris Plummer Date: 2020-03-18 10:42:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c6cec8a8 8227340: Modify problem list entry for javax/management/remote/mandatory/connection/MultiThreadDeadLockTest.java Reviewed-by: dholmes ! test/jdk/ProblemList.txt Changeset: b70ef0d2 Author: Daniil Titov Date: 2020-03-18 11:05:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b70ef0d2 8240711: TestJstatdPort.java failed due to "ExportException: Port already in use:" Reviewed-by: amenkov ! test/jdk/sun/tools/jstatd/JstatdTest.java Changeset: 700f50f2 Author: Aleksey Shipilev Date: 2020-03-18 19:24:42 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/700f50f2 8241128: x86_32 build failure after JDK-8241042 Reviewed-by: redestad, kvn ! src/hotspot/cpu/x86/assembler_x86.cpp Changeset: bf54c474 Author: Vicente Romero Date: 2020-03-18 14:33:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/bf54c474 8240970: Some tests fail when run with JCov Reviewed-by: jjg ! test/langtools/tools/javac/EarlyAssertWrapper.java ! test/langtools/tools/javac/T8132562/ClassPathWithDoubleQuotesTest.java ! test/langtools/tools/javac/launcher/SourceLauncherTest.java ! test/langtools/tools/javac/modules/RequiresStaticTest.java ! test/langtools/tools/javac/options/smokeTests/OptionSmokeTest.java ! test/langtools/tools/javac/platform/PlatformProviderTest.java ! test/langtools/tools/jdeps/modules/CheckModuleTest.java Changeset: 34b9ac22 Author: Doug Simon Date: 2020-03-18 13:11:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/34b9ac22 8236285: [JVMCI] improve TranslatedException traces Reviewed-by: never, kvn ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/TranslatedException.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/TestTranslatedException.java Changeset: ea367322 Author: Jonathan Gibbons Date: 2020-03-18 13:20:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ea367322 8241030: rename HtmlTag to TagName Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractTreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassUseWriter.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/ConstantsSummaryWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstructorWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DeprecatedListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Headings.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/HtmlDocletWriter.java ! 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/IndexRedirectWriter.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/PackageTreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageUseWriter.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/SerializedFormWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SingleIndexWriter.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/SplitIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SubWriterHolderWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Head.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlStyle.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlTag.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/Script.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/TableHeader.java + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/TagName.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/package-info.java ! test/langtools/jdk/javadoc/doclet/testHtmlDocument/TestHtmlDocument.java Changeset: 9fe762d3 Author: Chris Plummer Date: 2020-03-18 13:24:59 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9fe762d3 8241162: ProblemList serviceability/sa/TestHeapDumpForInvokeDynamic.java on OSX Reviewed-by: dcubed ! test/hotspot/jtreg/ProblemList.txt Changeset: af28093e Author: Jonathan Gibbons Date: 2020-03-18 13:29:02 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/af28093e Merge Changeset: 9d7f8bc9 Author: Rafael Winterhalter Date: 2020-03-18 17:07:42 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9d7f8bc9 8202469: (ann) Type annotations on type variable bounds that are also type variables are lost Reviewed-by: jfranck ! src/java.base/share/classes/sun/reflect/annotation/TypeAnnotationParser.java + test/jdk/java/lang/annotation/typeAnnotations/ParameterizedBoundIndex.java Changeset: 44eca823 Author: Andrew M Leonard Committer: Andrew Leonard Date: 2020-03-17 14:14:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/44eca823 8241097: java/math/BigInteger/largeMemory/SymmetricRangeTests.java requires -XX:+CompactStrings Reviewed-by: bpb, bchristi ! test/jdk/java/math/BigInteger/largeMemory/SymmetricRangeTests.java Changeset: 99546049 Author: Matthias Neugschwandtner Date: 2020-03-18 15:59:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/99546049 8235908: omit ThreadPriorityPolicy warning when value is set from image Reviewed-by: dholmes, clanger, kvn ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/share/runtime/flags/jvmFlag.cpp ! src/hotspot/share/runtime/flags/jvmFlag.hpp ! src/hotspot/share/runtime/globals_extension.hpp Changeset: c7c8623e Author: Jesper Wilhelmsson Date: 2020-03-19 03:03:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c7c8623e Added tag jdk-15+15 for changeset 82b7c62cf4cc ! .hgtags Changeset: 599af2ac Author: Chris Yin Date: 2020-03-19 11:07:36 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/599af2ac 8202117: com/sun/jndi/ldap/RemoveNamingListenerTest.java fails intermittently: Connection reset Reviewed-by: dfuchs, vtewari ! test/jdk/com/sun/jndi/ldap/RemoveNamingListenerTest.java Changeset: f1c919f2 Author: Igor Veresov Date: 2020-03-18 21:49:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f1c919f2 8230290: [JVMCI] Remove unused API entry points Remove VirtualObject.setIsAutoBox() Reviewed-by: kvn ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.code/src/jdk/vm/ci/code/VirtualObject.java Changeset: cadfc3d5 Author: Matthias Baesken Date: 2020-03-16 15:11:02 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/cadfc3d5 8241064: JFR related tests TestMetaspaceAllocationFailure.java and TestEventInstrumentation.java miss requires tag Reviewed-by: mseledtsov, mgronlun ! test/jdk/jdk/jfr/event/runtime/TestMetaspaceAllocationFailure.java ! test/jdk/jdk/jfr/javaagent/TestEventInstrumentation.java Changeset: dd63eec6 Author: Jie Fu Date: 2020-03-19 16:34:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/dd63eec6 8241232: -XX:+BootstrapJVMCI is not compatible with TieredStopAtLevel < CompLevel_full_optimization Reviewed-by: kvn, thartmann ! src/hotspot/share/jvmci/jvmci_globals.cpp + test/hotspot/jtreg/compiler/jvmci/errors/TestInvalidTieredStopAtLevel.java Changeset: a51dd58f Author: Christian Hagedorn Date: 2020-03-19 10:15:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a51dd58f 8240227: Loop predicates should be copied to unswitched loops Copy loop range check predicates to unswitched loops and update their control edges. Reviewed-by: kvn, neliasso, thartmann, roland ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/graphKit.hpp ! src/hotspot/share/opto/idealKit.cpp ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/loopUnswitch.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/parse1.cpp ! src/hotspot/share/opto/parse2.cpp ! src/hotspot/share/opto/phaseX.hpp ! src/hotspot/share/opto/stringopts.cpp ! test/hotspot/jtreg/compiler/loopopts/PartialPeelingUnswitch.java + test/hotspot/jtreg/compiler/loopopts/TestUnswitchOverunrolling.java Changeset: cc9470ec Author: Claes Redestad Date: 2020-03-05 16:07:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/cc9470ec 8241095: x86: Improve prefix handling in Assembler Reviewed-by: kvn, thartmann ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp Changeset: cd7d1750 Author: Alexander Scherbatiy Date: 2020-03-19 14:58:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/cd7d1750 8240604: Rewrite sun/management/jmxremote/bootstrap/CustomLauncherTest.java test to make binaries from source file Reviewed-by: iignatyev ! make/test/JtregNativeJdk.gmk ! test/jdk/sun/management/jmxremote/bootstrap/CustomLauncherTest.java - test/jdk/sun/management/jmxremote/bootstrap/Makefile + test/jdk/sun/management/jmxremote/bootstrap/exelauncher.c - test/jdk/sun/management/jmxremote/bootstrap/launcher.c - test/jdk/sun/management/jmxremote/bootstrap/linux-amd64/launcher - test/jdk/sun/management/jmxremote/bootstrap/linux-i586/launcher - test/jdk/sun/management/jmxremote/bootstrap/solaris-amd64/launcher - test/jdk/sun/management/jmxremote/bootstrap/solaris-sparcv9/launcher Changeset: fa069be2 Author: Kiran Sidhartha Ravikumar Date: 2020-03-13 18:38:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/fa069be2 8161558: ListIterator should not discard cause on exception Reviewed-by: smarks ! src/java.base/share/classes/java/util/AbstractList.java ! src/java.base/share/classes/java/util/NoSuchElementException.java + test/jdk/java/util/AbstractList/CheckForIndexOutOfBoundsException.java Changeset: e2947fe9 Author: Stefan Karlsson Date: 2020-03-19 14:15:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e2947fe9 8240773: JFR: Non-Java threads are not serialized Reviewed-by: mgronlun ! src/hotspot/share/jfr/utilities/jfrThreadIterator.cpp Changeset: b4e85913 Author: Stefan Karlsson Date: 2020-03-19 14:16:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b4e85913 8240819: Assign a name to the JfrThreadSampler thread Reviewed-by: mgronlun ! src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.cpp Changeset: 5695e59a Author: Stefan Karlsson Date: 2020-03-19 14:17:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5695e59a 8240818: Remove colon from "JFR: Shutdown Hook" thread name Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecorder.java Changeset: d3bf9150 Author: Stefan Karlsson Date: 2020-03-19 14:18:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d3bf9150 8241263: JFR: Bump native events limit Reviewed-by: mgronlun, egahlin ! src/jdk.jfr/share/classes/jdk/jfr/internal/JVM.java Changeset: 9dc15f17 Author: Magnus Ihse Bursie Date: 2020-03-19 17:17:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9dc15f17 8241254: Simplify usage of UTIL_DEPRECATED_ARG_ENABLE Reviewed-by: erikj ! make/autoconf/util.m4 Changeset: 029fea43 Author: Chris Plummer Date: 2020-03-19 10:20:45 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/029fea43 8240543: Update problem list entry for serviceability/sa/TestRevPtrsForInvokeDynamic.java to reference JDK-8241235 Reviewed-by: dholmes ! test/hotspot/jtreg/ProblemList.txt Changeset: 32cba672 Author: Jonathan Gibbons Date: 2020-03-19 11:25:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/32cba672 8240476: SystemPropertiesWriter does not conform to standard page layout Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SystemPropertiesWriter.java ! test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/TestSystemPropertyPage.java Changeset: 66c8794c Author: Evgeny Nikitin Committer: Igor Ignatyev Date: 2020-03-17 21:35:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/66c8794c 8168304: Make all of DependencyContext_test available in product mode Enable the utility inspection function `DependencyContext::is_dependent_method` and therefore the test in the product mode. Reviewed-by: eosterlund, thartmann ! src/hotspot/share/code/dependencyContext.cpp ! src/hotspot/share/code/dependencyContext.hpp ! test/hotspot/gtest/code/test_dependencyContext.cpp Changeset: caa08844 Author: Roger Riggs Date: 2020-03-19 15:34:34 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/caa08844 8241073: Pre-generated Stubs for javax.management, Activation, Naming Reviewed-by: erikj, ihse, alanb, dfuchs - make/CompileInterimRmic.gmk ! make/Docs.gmk ! make/Global.gmk ! make/Main.gmk ! make/ZipSource.gmk ! make/autoconf/spec.gmk.in - make/common/RMICompilation.gmk ! make/jdk/netbeans/jmx/build.xml - make/rmic/Rmic-java.management.rmi.gmk - make/rmic/Rmic-java.rmi.gmk - make/rmic/Rmic-jdk.naming.rmi.gmk - make/rmic/RmicCommon.gmk + src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnectionImpl_Stub.java + src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIServerImpl_Stub.java + src/java.rmi/share/classes/java/rmi/activation/ActivationGroup_Stub.java + src/java.rmi/share/classes/sun/rmi/server/Activation$ActivationSystemImpl_Stub.java - src/java.rmi/share/doc/stub/java/rmi/activation/ActivationGroup_Stub.java + src/jdk.naming.rmi/share/classes/com/sun/jndi/rmi/registry/ReferenceWrapper_Stub.java Changeset: 4f629193 Author: Dean Long Date: 2020-03-19 12:29:59 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/4f629193 8241231: Update Graal Reviewed-by: kvn ! src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/CallInfo.java ! src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/MarkId.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.sparc/src/org/graalvm/compiler/asm/sparc/SPARCAssembler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64/src/org/graalvm/compiler/core/amd64/AMD64LIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/Fields.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/CheckGraalInvariants.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/OptionsVerifierTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/LIRGenerationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/gen/NodeLIRBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/Node.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/NodeClass.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotBackend.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotBackendFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotBackendFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotPatchReturnAddressOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotBackendFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CompilationWrapperTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/NodeCostDumpUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotReplacementsImpl.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/SymbolicSnippetEncoder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotPlatformConfigurationProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/EndLockScopeNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/HotSpotReplacementsUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/UnsafeCopyMemoryNode.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/UnsafeLoadSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/LambdaUtils.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotspot/Test6196102.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotspot/Test6753639.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotspot/Test6823354.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotspot/Test6850611.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotspot/Test7005594.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64FrameMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/CompositeValueClass.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/LIRInstructionClass.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/LIRIntrospection.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/framemap/FrameMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/gen/LIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/gen/LIRGeneratorTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/MemoryProxyNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ProxyNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/StructuredGraph.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ValueNodeUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/BytecodeExceptionNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/MonitorExit.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/gc/BarrierSet.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/gc/CardTableBarrierSet.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/gc/G1BarrierSet.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/UnsafeCompareAndSwapNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/FixedAccessNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/FloatingReadNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryAccess.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryAnchorNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryKill.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryMapNode.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryPhiNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MultiMemoryKill.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/SingleMemoryKill.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/MemoryEdgeProxy.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/MemoryProxy.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/NodeLIRBuilderTool.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.options/src/org/graalvm/compiler/options/OptionDescriptorsMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.options/src/org/graalvm/compiler/options/OptionValues.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/FloatingReadPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/LoweringPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/schedule/ScheduleVerification.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64ArrayIndexOfDispatchNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64ArrayIndexOfNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64StringLatin1InflateNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64StringUTF16CompressNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/SubstitutionsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/DefaultJavaLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/SnippetLowerableMemoryNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/SnippetTemplate.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/arraycopy/ArrayCopyCallNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/ArrayCompareToNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/ArrayEqualsNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/ArrayRegionEqualsNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/BasicArrayCopyNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/ReadRegisterNode.java Changeset: b8a2b201 Author: Kim Barrett Date: 2020-03-19 18:11:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b8a2b201 8139652: Mutator refinement processing should take the oldest dirty card buffer Changed mutator refinement to take from queue rather than in-place and reuse. Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/g1/g1DirtyCardQueue.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp Changeset: 3f698242 Author: Patricio Chilano Mateo Date: 2020-03-20 00:32:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3f698242 8240902: JDI shared memory connector can use already closed Handles Add refcount to keep track of connection access Reviewed-by: dholmes, dcubed, sspitsyn ! src/jdk.jdi/share/native/libdt_shmem/shmemBase.c Changeset: 7ded8b1e Author: Chris Yin Date: 2020-03-20 10:24:46 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7ded8b1e 8241130: com.sun.jndi.ldap.EventSupport.removeDeadNotifier: java.lang.NullPointerException Reviewed-by: dfuchs ! src/java.naming/share/classes/com/sun/jndi/ldap/EventSupport.java ! test/jdk/com/sun/jndi/ldap/RemoveNamingListenerTest.java Changeset: 104927e5 Author: Chris Plummer Date: 2020-03-19 21:32:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/104927e5 8241335: ProblemList serviceability/sa/ClhsdbPstack.java due to JDK-8240956 Reviewed-by: mikael ! test/hotspot/jtreg/ProblemList.txt Changeset: 333a832c Author: Kim Barrett Date: 2020-03-20 01:20:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/333a832c 8241001: Improve logging in the ConcurrentGCBreakpoint mechanism Demoted most breakpoint logging to trace level. Reviewed-by: pliden, sjohanss ! src/hotspot/share/gc/shared/concurrentGCBreakpoints.cpp ! src/hotspot/share/logging/logPrefix.hpp Changeset: e7204cbc Author: Leonid Mesnik Date: 2020-03-20 00:24:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e7204cbc 8241123: Refactor vmTestbase stress framework to use j.u.c and make creation of threads more flexible Reviewed-by: iignatyev, sspitsyn ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/referringObjects/referringObjects003/referringObjects003a.java ! test/hotspot/jtreg/vmTestbase/nsk/share/Wicket.java ! test/hotspot/jtreg/vmTestbase/nsk/share/runner/ThreadsRunner.java Changeset: cc83c455 Author: Thomas Schatzl Date: 2020-03-20 11:17:45 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/cc83c455 8240590: Add MemRegion::destroy_array to complement introduced create_array Reviewed-by: lkorinth, sjohanss ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/shared/cardTable.cpp ! src/hotspot/share/memory/filemap.cpp ! src/hotspot/share/memory/memRegion.cpp ! src/hotspot/share/memory/memRegion.hpp Changeset: 8d556576 Author: duke Date: 2020-03-20 11:01:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8d556576 Automatic merge of jdk:master into master Changeset: 65f25d82 Author: duke Date: 2020-03-20 11:01:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/65f25d82 Automatic merge of master into foreign-memaccess Changeset: ac326fa5 Author: duke Date: 2020-03-20 11:02:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ac326fa5 Automatic merge of foreign-memaccess into foreign-abi ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/share/runtime/init.cpp ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/share/runtime/init.cpp From mcimadamore at openjdk.java.net Fri Mar 20 11:33:27 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Fri, 20 Mar 2020 11:33:27 GMT Subject: [foreign-jextract] [Rev 02] RFR: 8241349: initial version of panama_jextract.md In-Reply-To: <3sQnHhdgSpzIxC0wN8PgsVrvnD3XQqD7fyOgpsy0Erk=.5072ac22-7770-47e5-8ff4-8bacc62dd14e@github.com> References: <3sQnHhdgSpzIxC0wN8PgsVrvnD3XQqD7fyOgpsy0Erk=.5072ac22-7770-47e5-8ff4-8bacc62dd14e@github.com> Message-ID: <2D3IfkQeXg3hmb_h5qworh77f7h6dVKDTLE07Q_8UII=.66b96781-6a5f-4dd9-b31c-cb441350d650@github.com> On Fri, 20 Mar 2020 11:12:39 GMT, Athijegannathan Sundararajan wrote: >> adding initial version panama_jextract.md > > Athijegannathan Sundararajan has updated the pull request incrementally with one additional commit since the last > revision: > Review suggestion on "Samples" section text. Looks good ------------- Marked as reviewed by mcimadamore (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/61 From duke at openjdk.java.net Fri Mar 20 11:26:54 2020 From: duke at openjdk.java.net (duke) Date: Fri, 20 Mar 2020 11:26:54 GMT Subject: git: openjdk/panama-foreign: foreign-memaccess: 84 new changesets Message-ID: Changeset: 5a68ba13 Author: Ivan Walulya Date: 2020-03-13 11:54:47 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5a68ba13 8240591: G1HeapSizingPolicy attempts to compute expansion_amount even when at full capacity Reviewed-by: sjohanss, tschatzl ! src/hotspot/share/gc/g1/g1HeapSizingPolicy.cpp Changeset: 5ed80778 Author: Aditya Mandaleeka Committer: Aleksey Shipilev Date: 2020-03-13 13:22:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5ed80778 8231668: Remove ForceDynamicNumberOfGCThreads Reviewed-by: shade, tschatzl ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/shared/gc_globals.hpp ! src/hotspot/share/gc/shared/workerPolicy.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! test/hotspot/jtreg/gc/ergonomics/TestDynamicNumberOfGCThreads.java ! test/hotspot/jtreg/gc/shenandoah/TestGCThreadGroups.java Changeset: 9d502f64 Author: Weijun Wang Date: 2020-03-13 21:32:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9d502f64 8240983: Incorrect copyright header in Apache Santuario files Reviewed-by: mullan ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMReference.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMRetrievalMethod.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXMLSignature.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/DOMXPathFilter2Transform.java ! src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/XMLDSigRI.java Changeset: 9e945720 Author: Per Lid?n Date: 2020-03-13 14:26:38 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9e945720 8240714: ZGC: TestSmallHeap.java failed due to OutOfMemoryError Reviewed-by: eosterlund ! test/hotspot/jtreg/gc/z/TestSmallHeap.java Changeset: afbe2286 Author: Vicente Romero Date: 2020-03-13 10:29:03 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/afbe2286 8239447: compiler error for annotations applied to record components with target METHOD Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java + test/langtools/tools/javac/processing/model/element/ErrorOnAnnoWithTargetMethod.java Changeset: 37629673 Author: Claes Redestad Date: 2020-03-13 15:59:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/37629673 8241006: Cleanup TemplateInterpreter initialization Reviewed-by: coleenp ! src/hotspot/share/interpreter/abstractInterpreter.cpp ! src/hotspot/share/interpreter/templateInterpreter.cpp ! src/hotspot/share/interpreter/templateTable.cpp ! src/hotspot/share/interpreter/templateTable.hpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/runtime/init.cpp Changeset: 2b465b1e Author: Claes Redestad Date: 2020-03-13 18:43:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2b465b1e 8241010: Unnecessarily resolving some well-known classes Reviewed-by: coleenp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/memory/universe.cpp ! src/hotspot/share/prims/stackwalk.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/services/diagnosticCommand.cpp Changeset: afa54b7e Author: Jonathan Gibbons Date: 2020-03-13 10:57:41 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/afa54b7e 8240916: Convert to using hyphenated naming for CSS classes Reviewed-by: hannesw ! make/jdk/src/classes/build/tools/taglet/ModuleGraph.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/markup/HtmlStyle.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/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css ! test/langtools/jdk/javadoc/doclet/AccessSkipNav/AccessSkipNav.java ! test/langtools/jdk/javadoc/doclet/constantValues/TestConstantValuesDriver.java ! test/langtools/jdk/javadoc/doclet/testAbstractMethod/TestAbstractMethod.java ! test/langtools/jdk/javadoc/doclet/testAnchorNames/TestAnchorNames.java ! test/langtools/jdk/javadoc/doclet/testAnnotationTypes/TestAnnotationTypes.java ! test/langtools/jdk/javadoc/doclet/testClassCrossReferences/TestClassCrossReferences.java ! test/langtools/jdk/javadoc/doclet/testClassLinks/TestClassLinks.java ! test/langtools/jdk/javadoc/doclet/testClassTree/TestClassTree.java ! test/langtools/jdk/javadoc/doclet/testDeprecatedDocs/TestDeprecatedDocs.java ! test/langtools/jdk/javadoc/doclet/testDocRootInlineTag/TestDocRootInlineTag.java ! test/langtools/jdk/javadoc/doclet/testExternalOverriddenMethod/TestExternalOverriddenMethod.java ! test/langtools/jdk/javadoc/doclet/testGroupName/TestGroupName.java ! test/langtools/jdk/javadoc/doclet/testHeadings/TestHeadings.java ! test/langtools/jdk/javadoc/doclet/testHiddenTag/TestHiddenTag.java ! test/langtools/jdk/javadoc/doclet/testHref/TestHref.java ! test/langtools/jdk/javadoc/doclet/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java ! test/langtools/jdk/javadoc/doclet/testHtmlLandmarkRegions/TestHtmlLandmarkRegions.java ! test/langtools/jdk/javadoc/doclet/testHtmlTableStyles/TestHtmlTableStyles.java ! test/langtools/jdk/javadoc/doclet/testHtmlTableTags/TestHtmlTableTags.java ! test/langtools/jdk/javadoc/doclet/testHtmlTag/TestHtmlTag.java ! test/langtools/jdk/javadoc/doclet/testHtmlVersion/TestHtmlVersion.java ! test/langtools/jdk/javadoc/doclet/testIndentation/TestIndentation.java ! test/langtools/jdk/javadoc/doclet/testIndex/TestIndex.java ! test/langtools/jdk/javadoc/doclet/testIndexInDocFiles/TestIndexInDocFiles.java ! test/langtools/jdk/javadoc/doclet/testIndexInPackageFiles/TestIndexInPackageFiles.java ! test/langtools/jdk/javadoc/doclet/testIndexTaglet/TestIndexTaglet.java ! test/langtools/jdk/javadoc/doclet/testInterface/TestInterface.java ! test/langtools/jdk/javadoc/doclet/testJavaFX/TestJavaFX.java ! test/langtools/jdk/javadoc/doclet/testLambdaFeature/TestLambdaFeature.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestLinkOption.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestLinkOptionWithAutomaticModule.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestLinkOptionWithModule.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestOptionOrder.java ! test/langtools/jdk/javadoc/doclet/testLinkOption/TestRedirectLinks.java ! test/langtools/jdk/javadoc/doclet/testLinkToSerialForm/TestLinkToSerialForm.java ! test/langtools/jdk/javadoc/doclet/testLinksWithNoDeprecatedOption/TestLinksWithNoDeprecatedOption.java ! test/langtools/jdk/javadoc/doclet/testLiteralCodeInPre/TestLiteralCodeInPre.java ! test/langtools/jdk/javadoc/doclet/testMemberInheritance/TestMemberInheritance.java ! test/langtools/jdk/javadoc/doclet/testMemberSummary/TestMemberSummary.java ! test/langtools/jdk/javadoc/doclet/testMethodSignature/TestMethodSignature.java ! test/langtools/jdk/javadoc/doclet/testMethodTypes/TestMethodTypes.java ! test/langtools/jdk/javadoc/doclet/testModifierEx/TestModifierEx.java ! test/langtools/jdk/javadoc/doclet/testModules/TestIndirectExportsOpens.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModulePackages.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModuleServices.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testNavigation/TestNavigation.java ! test/langtools/jdk/javadoc/doclet/testNewLanguageFeatures/TestNewLanguageFeatures.java ! test/langtools/jdk/javadoc/doclet/testOptions/TestOptions.java ! test/langtools/jdk/javadoc/doclet/testOrdering/TestOrdering.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestBadOverride.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverriddenDeprecatedMethods.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverriddenMethodDocCopy.java ! test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverrideMethods.java ! test/langtools/jdk/javadoc/doclet/testPackageAnnotation/TestPackageAnnotation.java ! test/langtools/jdk/javadoc/doclet/testPackageDeprecation/TestPackageDeprecation.java ! test/langtools/jdk/javadoc/doclet/testPackageDescription/TestPackageDescription.java ! test/langtools/jdk/javadoc/doclet/testPackagePage/TestPackagePage.java ! test/langtools/jdk/javadoc/doclet/testPackageSummary/TestPackageSummary.java ! test/langtools/jdk/javadoc/doclet/testPrivateClasses/TestPrivateClasses.java ! test/langtools/jdk/javadoc/doclet/testProperty/TestProperty.java ! test/langtools/jdk/javadoc/doclet/testRecordTypes/TestRecordTypes.java ! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java ! test/langtools/jdk/javadoc/doclet/testSerializedForm/TestSerializedForm.java ! test/langtools/jdk/javadoc/doclet/testSerializedFormDeprecationInfo/TestSerializedFormDeprecationInfo.java ! test/langtools/jdk/javadoc/doclet/testSerializedFormWithClassFile/TestSerializedFormWithClassFile.java ! test/langtools/jdk/javadoc/doclet/testStylesheet/TestStylesheet.java ! test/langtools/jdk/javadoc/doclet/testSubTitle/TestSubTitle.java ! test/langtools/jdk/javadoc/doclet/testSummaryTag/TestSummaryTag.java ! test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/TestSystemPropertyPage.java ! test/langtools/jdk/javadoc/doclet/testSystemPropertyTaglet/TestSystemPropertyTaglet.java ! test/langtools/jdk/javadoc/doclet/testTagOutput/TestTagOutput.java ! test/langtools/jdk/javadoc/doclet/testTitleInHref/TestTitleInHref.java ! test/langtools/jdk/javadoc/doclet/testTypeAnnotations/TestTypeAnnotations.java ! test/langtools/jdk/javadoc/doclet/testTypeParams/TestTypeParameters.java ! test/langtools/jdk/javadoc/doclet/testUnnamedPackage/TestUnnamedPackage.java ! test/langtools/jdk/javadoc/doclet/testUseOption/TestUseOption.java ! test/langtools/jdk/javadoc/doclet/testValueTag/TestValueTagInModule.java ! test/langtools/jdk/javadoc/tool/testLocaleOption/TestLocaleOption.java Changeset: c7e4b2af Author: Joe Wang Date: 2020-03-13 19:15:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c7e4b2af 8240982: Incorrect copyright header in BCEL 6.4.1 sources Reviewed-by: naoto, 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/ConstantLong.java Changeset: 3aeb2d1a Author: Alex Menkov Date: 2020-03-13 12:25:25 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3aeb2d1a 8217441: Failure of ::realloc() should be handled correctly in sawindbg.cpp Reviewed-by: cjplummer, sspitsyn ! src/jdk.hotspot.agent/windows/native/libsaproc/sawindbg.cpp Changeset: 6ead9056 Author: Kim Barrett Date: 2020-03-13 15:36:50 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6ead9056 8239825: G1: Simplify threshold test for mutator refinement Compute refinement threshold when values change, not on each use. Reviewed-by: tschatzl, sangheki ! src/hotspot/share/gc/g1/g1ConcurrentRefine.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp Changeset: b0194692 Author: Joe Darcy Date: 2020-03-14 09:53:43 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b0194692 8240130: Improve and update discussion of visitor evolution warnings Reviewed-by: jjg ! src/java.compiler/share/classes/javax/lang/model/element/AnnotationValueVisitor.java ! src/java.compiler/share/classes/javax/lang/model/element/ElementVisitor.java ! src/java.compiler/share/classes/javax/lang/model/type/TypeVisitor.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractAnnotationValueVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner14.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner6.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner7.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner8.java ! src/java.compiler/share/classes/javax/lang/model/util/ElementScanner9.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/SimpleTypeVisitor9.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor14.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor6.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor7.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor8.java ! src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor9.java Changeset: f819e417 Author: Vicente Romero Date: 2020-03-14 17:08:25 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f819e417 8235339: test TargetAnnoCombo.java is failing after new target RECORD_COMPONENT was added Reviewed-by: darcy ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java ! test/langtools/ProblemList.txt ! test/langtools/tools/javac/annotations/repeatingAnnotations/combo/Helper.java ! test/langtools/tools/javac/annotations/repeatingAnnotations/combo/TargetAnnoCombo.java Changeset: 4b978533 Author: Nick Gasson Date: 2020-03-16 10:51:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/4b978533 8240353: AArch64: missing support for -XX:+ExtendedDTraceProbes in C1 Reviewed-by: aph ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp Changeset: 95898e86 Author: David Holmes Date: 2020-03-16 02:16:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/95898e86 8241043: Expand assertions to identify thread with errant _stack_base Reviewed-by: mikael ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp Changeset: 6ddb0f2b Author: Jan Lahoda Date: 2020-03-16 13:06:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6ddb0f2b 8240964: Compilation error thrown when long literal used with yield Ensuring yield followed by a long literal is recognized as a yield statement. Reviewed-by: mcimadamore ! src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java ! test/langtools/tools/javac/switchexpr/ExpressionSwitch.java Changeset: 21cd75cb Author: Erik ?sterlund Date: 2020-03-16 12:27:42 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/21cd75cb 8240363: Refactor Compile::Output() to its own Phase Reviewed-by: kvn, vlivanov ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/arm/arm.ad ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/cpu/s390/compiledIC_s390.cpp ! src/hotspot/cpu/s390/s390.ad ! src/hotspot/cpu/sparc/sparc.ad ! src/hotspot/cpu/x86/c2_intelJccErratum_x86.cpp ! src/hotspot/cpu/x86/x86_32.ad ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/share/adlc/adlparse.cpp ! src/hotspot/share/adlc/main.cpp ! src/hotspot/share/adlc/output_c.cpp ! src/hotspot/share/compiler/compileBroker.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/opto/buildOopMap.cpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/chaitin.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp + src/hotspot/share/opto/constantTable.cpp + src/hotspot/share/opto/constantTable.hpp ! src/hotspot/share/opto/machnode.cpp ! src/hotspot/share/opto/machnode.hpp ! src/hotspot/share/opto/output.cpp ! src/hotspot/share/opto/output.hpp ! src/hotspot/share/opto/phase.hpp ! src/hotspot/share/opto/runtime.cpp Changeset: e746891f Author: Jie Fu Date: 2020-03-16 22:43:44 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e746891f 8241034: Fix a configuring error with "-Xmx2048M: command not found" Reviewed-by: mikael, erikj ! make/autoconf/build-performance.m4 Changeset: 2b4b3d9e Author: Naoto Sato Date: 2020-03-16 09:26:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/2b4b3d9e 8240626: Some of the java.time.chrono.Eras return empty display name for some styles and locales Reviewed-by: joehw ! make/jdk/src/classes/build/tools/cldrconverter/Bundle.java ! test/jdk/java/time/test/java/time/chrono/TestEraDisplayName.java Changeset: 19536121 Author: Andrew Haley Date: 2020-03-16 17:10:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/19536121 8241018: 32-bit integer log2 functions return the wrong value for negative arguments on 64-bit machines Reviewed-by: kvn ! src/hotspot/share/utilities/globalDefinitions.hpp ! test/hotspot/gtest/utilities/test_globalDefinitions.cpp Changeset: 8b739002 Author: Erik ?sterlund Date: 2020-03-16 17:13:56 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8b739002 8241074: JDK-8240363 broke the build on AArch64 Reviewed-by: shade ! src/hotspot/share/opto/constantTable.cpp Changeset: b4ff6abe Author: Zhengyu Gu Date: 2020-02-25 12:01:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b4ff6abe 8239926: Shenandoah: Shenandoah needs to mark nmethod's metadata Reviewed-by: rkennke, shade ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahNMethod.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUnload.cpp Changeset: 6f7a103a Author: Matthias Baesken Date: 2020-03-17 08:53:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6f7a103a 8240824: enhance print_full_memory_info on Linux by THP related information Reviewed-by: dholmes, stuefe ! src/hotspot/os/linux/os_linux.cpp Changeset: dbd0f0dc Author: Claes Redestad Date: 2020-03-17 09:36:46 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/dbd0f0dc 8241077: x86_64: Minor Assembler improvements Reviewed-by: kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp Changeset: 035100cc Author: Roman Kennke Date: 2020-03-17 11:49:25 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/035100cc 8241081: Shenandoah: Do not modify update-watermark concurrently Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp Changeset: 1a099598 Author: Andrew Haley Date: 2020-03-17 14:13:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1a099598 Merge Changeset: ec5bd021 Author: Vladimir Kozlov Date: 2020-03-17 10:38:40 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ec5bd021 8240976: [JVMCI] MethodProfileWidth flag is broken Remove JVMCI code which is not used Reviewed-by: thartmann, redestad ! src/hotspot/cpu/aarch64/interp_masm_aarch64.cpp ! src/hotspot/cpu/aarch64/interp_masm_aarch64.hpp ! src/hotspot/cpu/ppc/templateTable_ppc_64.cpp ! src/hotspot/cpu/sparc/interp_masm_sparc.cpp ! src/hotspot/cpu/sparc/interp_masm_sparc.hpp ! src/hotspot/cpu/sparc/templateTable_sparc.cpp ! src/hotspot/cpu/x86/interp_masm_x86.cpp ! src/hotspot/cpu/x86/interp_masm_x86.hpp ! src/hotspot/cpu/x86/templateTable_x86.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVMInit.cpp ! src/hotspot/share/jvmci/jvmci_globals.cpp ! src/hotspot/share/jvmci/jvmci_globals.hpp ! src/hotspot/share/oops/methodData.cpp ! src/hotspot/share/oops/methodData.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/MethodData.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/VirtualCallData.java ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotVMConfig.java Changeset: 17619249 Author: Claes Redestad Date: 2020-03-05 16:07:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/17619249 8241042: x86_64: Improve Assembler generation Reviewed-by: vlivanov, kvn ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/share/asm/assembler.hpp ! src/hotspot/share/asm/codeBuffer.hpp Changeset: 6083173f Author: Vladimir Kozlov Date: 2020-03-17 12:42:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/6083173f 8237045: JVM uses excessive memory with -XX:+EnableJVMCI -XX:JVMCICounterSize=2147483648 Limit JVMCICounterSize flag's value range to 1M Reviewed-by: thartmann, redestad ! src/hotspot/share/jvmci/jvmci_globals.hpp ! test/hotspot/jtreg/runtime/CommandLine/OptionsValidation/TestOptionsWithRanges.java ! test/hotspot/jtreg/runtime/CommandLine/OptionsValidation/common/optionsvalidation/JVMOptionsUtils.java Changeset: c003fffd Author: Charlie Gracie Committer: Vladimir Kozlov Date: 2020-03-17 14:05:12 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c003fffd 8241122: Remove unimplemented InlineTree constructor definition from parse.hpp Reviewed-by: kvn ! src/hotspot/share/opto/parse.hpp Changeset: f959b012 Author: David Holmes Date: 2020-03-17 19:57:58 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f959b012 8239593: Bogus warning "Re-registering of platform native method" for a JVMTI agent Reviewed-by: dcubed, alanb, hseigel ! src/hotspot/share/prims/jni.cpp Changeset: 94a6149d Author: David Holmes Date: 2020-03-17 20:54:50 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/94a6149d 8241124: Aarch64 build broken by JDK-8239593 Reviewed-by: mikael ! src/hotspot/share/prims/jni.cpp Changeset: a1476361 Author: Chris Plummer Date: 2020-03-17 18:04:59 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a1476361 8238268: Many SA tests are not running on OSX because they do not attempt to use sudo when available Reviewed-by: sspitsyn, iignatyev ! test/hotspot/jtreg/TEST.ROOT ! test/hotspot/jtreg/compiler/ciReplay/TestSAClient.java ! test/hotspot/jtreg/compiler/ciReplay/TestSAServer.java ! test/hotspot/jtreg/gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java ! test/hotspot/jtreg/resourcehogs/serviceability/sa/TestHeapDumpForLargeArray.java ! test/hotspot/jtreg/serviceability/sa/CDSJMapClstats.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbFindPC.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbJstackXcompStress.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbLauncher.java ! test/hotspot/jtreg/serviceability/sa/DeadlockDetectionTest.java ! test/hotspot/jtreg/serviceability/sa/JhsdbThreadInfoTest.java ! test/hotspot/jtreg/serviceability/sa/TestClassDump.java ! test/hotspot/jtreg/serviceability/sa/TestClhsdbJstackLock.java ! test/hotspot/jtreg/serviceability/sa/TestCpoolForInvokeDynamic.java ! test/hotspot/jtreg/serviceability/sa/TestDefaultMethods.java ! test/hotspot/jtreg/serviceability/sa/TestG1HeapRegion.java ! test/hotspot/jtreg/serviceability/sa/TestHeapDumpForInvokeDynamic.java ! test/hotspot/jtreg/serviceability/sa/TestInstanceKlassSize.java ! test/hotspot/jtreg/serviceability/sa/TestInstanceKlassSizeForInterface.java ! test/hotspot/jtreg/serviceability/sa/TestIntConstant.java ! test/hotspot/jtreg/serviceability/sa/TestJhsdbJstackLock.java ! test/hotspot/jtreg/serviceability/sa/TestJhsdbJstackMixed.java ! test/hotspot/jtreg/serviceability/sa/TestPrintMdo.java ! test/hotspot/jtreg/serviceability/sa/TestRevPtrsForInvokeDynamic.java ! test/hotspot/jtreg/serviceability/sa/TestType.java ! test/hotspot/jtreg/serviceability/sa/TestUniverse.java ! test/hotspot/jtreg/serviceability/sa/jmap-hprof/JMapHProfLargeHeapTest.java ! test/hotspot/jtreg/serviceability/sa/sadebugd/DebugdConnectTest.java ! test/hotspot/jtreg/serviceability/sa/sadebugd/SADebugDTest.java ! test/hotspot/jtreg/testlibrary_tests/TestMutuallyExclusivePlatformPredicates.java ! test/jdk/TEST.ROOT ! test/jdk/sun/tools/jhsdb/BasicLauncherTest.java ! test/jdk/sun/tools/jhsdb/HeapDumpTest.java ! test/jdk/sun/tools/jhsdb/HeapDumpTestWithActiveProcess.java ! test/jdk/sun/tools/jhsdb/JShellHeapDumpTest.java ! test/jdk/sun/tools/jhsdb/heapconfig/JMapHeapConfigTest.java ! test/jdk/sun/tools/jhsdb/heapconfig/TmtoolTestScenario.java ! test/jdk/sun/tools/jstack/DeadlockDetectionTest.java ! test/jtreg-ext/requires/VMProps.java ! test/lib/jdk/test/lib/Platform.java ! test/lib/jdk/test/lib/SA/SATestUtils.java Changeset: 0c9f8e47 Author: Hai-May Chao Committer: Weijun Wang Date: 2020-03-18 09:23:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0c9f8e47 8186143: keytool -ext option doesn't accept wildcards for DNS subject alternative names Reviewed-by: jnimeh, weijun, mullan ! src/java.base/share/classes/sun/security/tools/keytool/Main.java ! src/java.base/share/classes/sun/security/x509/DNSName.java ! test/jdk/sun/security/x509/GeneralName/DNSNameTest.java Changeset: e5e24ad0 Author: Naoto Sato Date: 2020-03-17 19:11:10 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e5e24ad0 8241082: Upgrade IANA Language Subtag Registry data to 03-16-2020 version Reviewed-by: joehw ! make/data/lsrdata/language-subtag-registry.txt ! make/jdk/src/classes/build/tools/generatelsrequivmaps/EquivMapsGenerator.java ! test/jdk/java/util/Locale/Bug8040211.java Changeset: e827f4ae Author: Aleksey Shipilev Date: 2020-03-18 06:28:50 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e827f4ae 8241093: Shenandoah: editorial changes in flag descriptions Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp Changeset: 1d4a4fed Author: Ivan Gerasimov Date: 2020-03-18 01:04:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1d4a4fed 8214245: Case insensitive matching doesn't work correctly for some character classes Reviewed-by: rriggs, darcy ! src/java.base/share/classes/java/util/regex/CharPredicates.java ! src/java.base/share/classes/java/util/regex/Pattern.java ! test/jdk/java/util/regex/RegExTest.java Changeset: d76b0cf7 Author: Ichiroh Takiguchi Date: 2020-03-18 18:04:51 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d76b0cf7 8232161: Align some one-way conversion in MS950 charset with Windows MS950 charset encoder's conversion table is changed Reviewed-by: naoto ! make/data/charsetmapping/MS950.map ! make/data/charsetmapping/MS950.nr + test/jdk/sun/nio/cs/TestMS950.java Changeset: ae393102 Author: Naoto Sato Date: 2020-02-06 10:10:54 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ae393102 8238605: Correct the CLDR version number in cldr.md files Reviewed-by: joehw, alanb ! src/java.base/share/legal/cldr.md ! src/jdk.localedata/share/legal/cldr.md Changeset: 5ed4b9f2 Author: Jesper Wilhelmsson Date: 2020-02-07 00:17:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5ed4b9f2 Added tag jdk-14+36 for changeset bc54620a3848 ! .hgtags Changeset: abc56193 Author: Jesper Wilhelmsson Date: 2020-03-18 10:34:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/abc56193 Added tag jdk-14-ga for changeset bc54620a3848 ! .hgtags Changeset: efb25e51 Author: Jesper Wilhelmsson Date: 2020-03-18 10:41:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/efb25e51 Merge ! .hgtags ! .hgtags Changeset: f2fb5c54 Author: Tony Printezis Committer: Markus Gr?nlund Date: 2020-03-18 12:00:19 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f2fb5c54 8239497: SEGV in EdgeUtils::field_name_symbol(Edge const&) Reviewed-by: egahlin, tonyp ! src/hotspot/share/jfr/leakprofiler/chains/edge.cpp ! src/hotspot/share/jfr/leakprofiler/chains/edge.hpp ! src/hotspot/share/jfr/leakprofiler/chains/edgeUtils.cpp ! src/hotspot/share/jfr/leakprofiler/chains/edgeUtils.hpp ! src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleWriter.cpp ! src/hotspot/share/oops/instanceMirrorKlass.hpp Changeset: 0ee74979 Author: Mikhailo Seledtsov Date: 2020-03-18 09:45:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/0ee74979 8241033: Create test library utility for getting JFR streaming repository New method to get JFR streaming repo path Reviewed-by: egahlin, mgronlun ! test/jdk/jdk/jfr/api/consumer/streaming/TestCrossProcessStreaming.java ! test/jdk/jdk/jfr/api/consumer/streaming/TestProcess.java + test/lib/jdk/test/lib/jfr/StreamingUtils.java Changeset: 1170981e Author: Chris Plummer Date: 2020-03-18 10:14:46 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/1170981e 8240906: Update ZGC ProblemList for serviceability/sa/TestJmapCoreMetaspace.java Reviewed-by: stefank ! test/hotspot/jtreg/ProblemList-zgc.txt Changeset: c6cec8a8 Author: Chris Plummer Date: 2020-03-18 10:42:32 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c6cec8a8 8227340: Modify problem list entry for javax/management/remote/mandatory/connection/MultiThreadDeadLockTest.java Reviewed-by: dholmes ! test/jdk/ProblemList.txt Changeset: b70ef0d2 Author: Daniil Titov Date: 2020-03-18 11:05:11 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b70ef0d2 8240711: TestJstatdPort.java failed due to "ExportException: Port already in use:" Reviewed-by: amenkov ! test/jdk/sun/tools/jstatd/JstatdTest.java Changeset: 700f50f2 Author: Aleksey Shipilev Date: 2020-03-18 19:24:42 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/700f50f2 8241128: x86_32 build failure after JDK-8241042 Reviewed-by: redestad, kvn ! src/hotspot/cpu/x86/assembler_x86.cpp Changeset: bf54c474 Author: Vicente Romero Date: 2020-03-18 14:33:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/bf54c474 8240970: Some tests fail when run with JCov Reviewed-by: jjg ! test/langtools/tools/javac/EarlyAssertWrapper.java ! test/langtools/tools/javac/T8132562/ClassPathWithDoubleQuotesTest.java ! test/langtools/tools/javac/launcher/SourceLauncherTest.java ! test/langtools/tools/javac/modules/RequiresStaticTest.java ! test/langtools/tools/javac/options/smokeTests/OptionSmokeTest.java ! test/langtools/tools/javac/platform/PlatformProviderTest.java ! test/langtools/tools/jdeps/modules/CheckModuleTest.java Changeset: 34b9ac22 Author: Doug Simon Date: 2020-03-18 13:11:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/34b9ac22 8236285: [JVMCI] improve TranslatedException traces Reviewed-by: never, kvn ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/TranslatedException.java ! test/hotspot/jtreg/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/TestTranslatedException.java Changeset: ea367322 Author: Jonathan Gibbons Date: 2020-03-18 13:20:13 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ea367322 8241030: rename HtmlTag to TagName Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractTreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AnnotationTypeWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassUseWriter.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/ConstantsSummaryWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ConstructorWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DeprecatedListWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Headings.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/HtmlDocletWriter.java ! 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/IndexRedirectWriter.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/PackageTreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageUseWriter.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/SerializedFormWriterImpl.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SingleIndexWriter.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/SplitIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SubWriterHolderWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TreeWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Head.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlStyle.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlTag.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/Script.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Table.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/TableHeader.java + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/TagName.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/package-info.java ! test/langtools/jdk/javadoc/doclet/testHtmlDocument/TestHtmlDocument.java Changeset: 9fe762d3 Author: Chris Plummer Date: 2020-03-18 13:24:59 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9fe762d3 8241162: ProblemList serviceability/sa/TestHeapDumpForInvokeDynamic.java on OSX Reviewed-by: dcubed ! test/hotspot/jtreg/ProblemList.txt Changeset: af28093e Author: Jonathan Gibbons Date: 2020-03-18 13:29:02 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/af28093e Merge Changeset: 9d7f8bc9 Author: Rafael Winterhalter Date: 2020-03-18 17:07:42 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9d7f8bc9 8202469: (ann) Type annotations on type variable bounds that are also type variables are lost Reviewed-by: jfranck ! src/java.base/share/classes/sun/reflect/annotation/TypeAnnotationParser.java + test/jdk/java/lang/annotation/typeAnnotations/ParameterizedBoundIndex.java Changeset: 44eca823 Author: Andrew M Leonard Committer: Andrew Leonard Date: 2020-03-17 14:14:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/44eca823 8241097: java/math/BigInteger/largeMemory/SymmetricRangeTests.java requires -XX:+CompactStrings Reviewed-by: bpb, bchristi ! test/jdk/java/math/BigInteger/largeMemory/SymmetricRangeTests.java Changeset: 99546049 Author: Matthias Neugschwandtner Date: 2020-03-18 15:59:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/99546049 8235908: omit ThreadPriorityPolicy warning when value is set from image Reviewed-by: dholmes, clanger, kvn ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/share/runtime/flags/jvmFlag.cpp ! src/hotspot/share/runtime/flags/jvmFlag.hpp ! src/hotspot/share/runtime/globals_extension.hpp Changeset: c7c8623e Author: Jesper Wilhelmsson Date: 2020-03-19 03:03:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c7c8623e Added tag jdk-15+15 for changeset 82b7c62cf4cc ! .hgtags Changeset: 599af2ac Author: Chris Yin Date: 2020-03-19 11:07:36 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/599af2ac 8202117: com/sun/jndi/ldap/RemoveNamingListenerTest.java fails intermittently: Connection reset Reviewed-by: dfuchs, vtewari ! test/jdk/com/sun/jndi/ldap/RemoveNamingListenerTest.java Changeset: f1c919f2 Author: Igor Veresov Date: 2020-03-18 21:49:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/f1c919f2 8230290: [JVMCI] Remove unused API entry points Remove VirtualObject.setIsAutoBox() Reviewed-by: kvn ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.code/src/jdk/vm/ci/code/VirtualObject.java Changeset: cadfc3d5 Author: Matthias Baesken Date: 2020-03-16 15:11:02 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/cadfc3d5 8241064: JFR related tests TestMetaspaceAllocationFailure.java and TestEventInstrumentation.java miss requires tag Reviewed-by: mseledtsov, mgronlun ! test/jdk/jdk/jfr/event/runtime/TestMetaspaceAllocationFailure.java ! test/jdk/jdk/jfr/javaagent/TestEventInstrumentation.java Changeset: dd63eec6 Author: Jie Fu Date: 2020-03-19 16:34:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/dd63eec6 8241232: -XX:+BootstrapJVMCI is not compatible with TieredStopAtLevel < CompLevel_full_optimization Reviewed-by: kvn, thartmann ! src/hotspot/share/jvmci/jvmci_globals.cpp + test/hotspot/jtreg/compiler/jvmci/errors/TestInvalidTieredStopAtLevel.java Changeset: a51dd58f Author: Christian Hagedorn Date: 2020-03-19 10:15:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/a51dd58f 8240227: Loop predicates should be copied to unswitched loops Copy loop range check predicates to unswitched loops and update their control edges. Reviewed-by: kvn, neliasso, thartmann, roland ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/graphKit.hpp ! src/hotspot/share/opto/idealKit.cpp ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/loopUnswitch.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/parse1.cpp ! src/hotspot/share/opto/parse2.cpp ! src/hotspot/share/opto/phaseX.hpp ! src/hotspot/share/opto/stringopts.cpp ! test/hotspot/jtreg/compiler/loopopts/PartialPeelingUnswitch.java + test/hotspot/jtreg/compiler/loopopts/TestUnswitchOverunrolling.java Changeset: cc9470ec Author: Claes Redestad Date: 2020-03-05 16:07:17 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/cc9470ec 8241095: x86: Improve prefix handling in Assembler Reviewed-by: kvn, thartmann ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp Changeset: cd7d1750 Author: Alexander Scherbatiy Date: 2020-03-19 14:58:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/cd7d1750 8240604: Rewrite sun/management/jmxremote/bootstrap/CustomLauncherTest.java test to make binaries from source file Reviewed-by: iignatyev ! make/test/JtregNativeJdk.gmk ! test/jdk/sun/management/jmxremote/bootstrap/CustomLauncherTest.java - test/jdk/sun/management/jmxremote/bootstrap/Makefile + test/jdk/sun/management/jmxremote/bootstrap/exelauncher.c - test/jdk/sun/management/jmxremote/bootstrap/launcher.c - test/jdk/sun/management/jmxremote/bootstrap/linux-amd64/launcher - test/jdk/sun/management/jmxremote/bootstrap/linux-i586/launcher - test/jdk/sun/management/jmxremote/bootstrap/solaris-amd64/launcher - test/jdk/sun/management/jmxremote/bootstrap/solaris-sparcv9/launcher Changeset: fa069be2 Author: Kiran Sidhartha Ravikumar Date: 2020-03-13 18:38:07 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/fa069be2 8161558: ListIterator should not discard cause on exception Reviewed-by: smarks ! src/java.base/share/classes/java/util/AbstractList.java ! src/java.base/share/classes/java/util/NoSuchElementException.java + test/jdk/java/util/AbstractList/CheckForIndexOutOfBoundsException.java Changeset: e2947fe9 Author: Stefan Karlsson Date: 2020-03-19 14:15:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e2947fe9 8240773: JFR: Non-Java threads are not serialized Reviewed-by: mgronlun ! src/hotspot/share/jfr/utilities/jfrThreadIterator.cpp Changeset: b4e85913 Author: Stefan Karlsson Date: 2020-03-19 14:16:28 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b4e85913 8240819: Assign a name to the JfrThreadSampler thread Reviewed-by: mgronlun ! src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.cpp Changeset: 5695e59a Author: Stefan Karlsson Date: 2020-03-19 14:17:20 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/5695e59a 8240818: Remove colon from "JFR: Shutdown Hook" thread name Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecorder.java Changeset: d3bf9150 Author: Stefan Karlsson Date: 2020-03-19 14:18:27 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d3bf9150 8241263: JFR: Bump native events limit Reviewed-by: mgronlun, egahlin ! src/jdk.jfr/share/classes/jdk/jfr/internal/JVM.java Changeset: 9dc15f17 Author: Magnus Ihse Bursie Date: 2020-03-19 17:17:49 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9dc15f17 8241254: Simplify usage of UTIL_DEPRECATED_ARG_ENABLE Reviewed-by: erikj ! make/autoconf/util.m4 Changeset: 029fea43 Author: Chris Plummer Date: 2020-03-19 10:20:45 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/029fea43 8240543: Update problem list entry for serviceability/sa/TestRevPtrsForInvokeDynamic.java to reference JDK-8241235 Reviewed-by: dholmes ! test/hotspot/jtreg/ProblemList.txt Changeset: 32cba672 Author: Jonathan Gibbons Date: 2020-03-19 11:25:05 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/32cba672 8240476: SystemPropertiesWriter does not conform to standard page layout Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SystemPropertiesWriter.java ! test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/TestSystemPropertyPage.java Changeset: 66c8794c Author: Evgeny Nikitin Committer: Igor Ignatyev Date: 2020-03-17 21:35:26 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/66c8794c 8168304: Make all of DependencyContext_test available in product mode Enable the utility inspection function `DependencyContext::is_dependent_method` and therefore the test in the product mode. Reviewed-by: eosterlund, thartmann ! src/hotspot/share/code/dependencyContext.cpp ! src/hotspot/share/code/dependencyContext.hpp ! test/hotspot/gtest/code/test_dependencyContext.cpp Changeset: caa08844 Author: Roger Riggs Date: 2020-03-19 15:34:34 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/caa08844 8241073: Pre-generated Stubs for javax.management, Activation, Naming Reviewed-by: erikj, ihse, alanb, dfuchs - make/CompileInterimRmic.gmk ! make/Docs.gmk ! make/Global.gmk ! make/Main.gmk ! make/ZipSource.gmk ! make/autoconf/spec.gmk.in - make/common/RMICompilation.gmk ! make/jdk/netbeans/jmx/build.xml - make/rmic/Rmic-java.management.rmi.gmk - make/rmic/Rmic-java.rmi.gmk - make/rmic/Rmic-jdk.naming.rmi.gmk - make/rmic/RmicCommon.gmk + src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnectionImpl_Stub.java + src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIServerImpl_Stub.java + src/java.rmi/share/classes/java/rmi/activation/ActivationGroup_Stub.java + src/java.rmi/share/classes/sun/rmi/server/Activation$ActivationSystemImpl_Stub.java - src/java.rmi/share/doc/stub/java/rmi/activation/ActivationGroup_Stub.java + src/jdk.naming.rmi/share/classes/com/sun/jndi/rmi/registry/ReferenceWrapper_Stub.java Changeset: 4f629193 Author: Dean Long Date: 2020-03-19 12:29:59 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/4f629193 8241231: Update Graal Reviewed-by: kvn ! src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/CallInfo.java ! src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/MarkId.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.sparc/src/org/graalvm/compiler/asm/sparc/SPARCAssembler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64/src/org/graalvm/compiler/core/amd64/AMD64LIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/Fields.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/CheckGraalInvariants.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/OptionsVerifierTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/LIRGenerationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/gen/NodeLIRBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/Node.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/NodeClass.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotBackend.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotBackendFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotBackendFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotPatchReturnAddressOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotBackendFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CompilationWrapperTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/NodeCostDumpUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotReplacementsImpl.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/SymbolicSnippetEncoder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotPlatformConfigurationProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/EndLockScopeNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/HotSpotReplacementsUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/UnsafeCopyMemoryNode.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/UnsafeLoadSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/LambdaUtils.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotspot/Test6196102.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotspot/Test6753639.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotspot/Test6823354.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotspot/Test6850611.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotspot/Test7005594.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64FrameMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/CompositeValueClass.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/LIRInstructionClass.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/LIRIntrospection.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/framemap/FrameMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/gen/LIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/gen/LIRGeneratorTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/MemoryProxyNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ProxyNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/StructuredGraph.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ValueNodeUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/BytecodeExceptionNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/MonitorExit.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/gc/BarrierSet.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/gc/CardTableBarrierSet.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/gc/G1BarrierSet.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/UnsafeCompareAndSwapNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/FixedAccessNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/FloatingReadNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryAccess.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryAnchorNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryKill.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryMapNode.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryPhiNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MultiMemoryKill.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/SingleMemoryKill.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/MemoryEdgeProxy.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/MemoryProxy.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/NodeLIRBuilderTool.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.options/src/org/graalvm/compiler/options/OptionDescriptorsMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.options/src/org/graalvm/compiler/options/OptionValues.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/FloatingReadPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/LoweringPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/schedule/ScheduleVerification.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64ArrayIndexOfDispatchNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64ArrayIndexOfNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64StringLatin1InflateNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64StringUTF16CompressNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/SubstitutionsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/DefaultJavaLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/SnippetLowerableMemoryNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/SnippetTemplate.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/arraycopy/ArrayCopyCallNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/ArrayCompareToNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/ArrayEqualsNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/ArrayRegionEqualsNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/BasicArrayCopyNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/ReadRegisterNode.java Changeset: b8a2b201 Author: Kim Barrett Date: 2020-03-19 18:11:52 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b8a2b201 8139652: Mutator refinement processing should take the oldest dirty card buffer Changed mutator refinement to take from queue rather than in-place and reuse. Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/g1/g1DirtyCardQueue.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp Changeset: 3f698242 Author: Patricio Chilano Mateo Date: 2020-03-20 00:32:29 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/3f698242 8240902: JDI shared memory connector can use already closed Handles Add refcount to keep track of connection access Reviewed-by: dholmes, dcubed, sspitsyn ! src/jdk.jdi/share/native/libdt_shmem/shmemBase.c Changeset: 7ded8b1e Author: Chris Yin Date: 2020-03-20 10:24:46 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/7ded8b1e 8241130: com.sun.jndi.ldap.EventSupport.removeDeadNotifier: java.lang.NullPointerException Reviewed-by: dfuchs ! src/java.naming/share/classes/com/sun/jndi/ldap/EventSupport.java ! test/jdk/com/sun/jndi/ldap/RemoveNamingListenerTest.java Changeset: 104927e5 Author: Chris Plummer Date: 2020-03-19 21:32:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/104927e5 8241335: ProblemList serviceability/sa/ClhsdbPstack.java due to JDK-8240956 Reviewed-by: mikael ! test/hotspot/jtreg/ProblemList.txt Changeset: 333a832c Author: Kim Barrett Date: 2020-03-20 01:20:37 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/333a832c 8241001: Improve logging in the ConcurrentGCBreakpoint mechanism Demoted most breakpoint logging to trace level. Reviewed-by: pliden, sjohanss ! src/hotspot/share/gc/shared/concurrentGCBreakpoints.cpp ! src/hotspot/share/logging/logPrefix.hpp Changeset: e7204cbc Author: Leonid Mesnik Date: 2020-03-20 00:24:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/e7204cbc 8241123: Refactor vmTestbase stress framework to use j.u.c and make creation of threads more flexible Reviewed-by: iignatyev, sspitsyn ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/referringObjects/referringObjects003/referringObjects003a.java ! test/hotspot/jtreg/vmTestbase/nsk/share/Wicket.java ! test/hotspot/jtreg/vmTestbase/nsk/share/runner/ThreadsRunner.java Changeset: cc83c455 Author: Thomas Schatzl Date: 2020-03-20 11:17:45 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/cc83c455 8240590: Add MemRegion::destroy_array to complement introduced create_array Reviewed-by: lkorinth, sjohanss ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/shared/cardTable.cpp ! src/hotspot/share/memory/filemap.cpp ! src/hotspot/share/memory/memRegion.cpp ! src/hotspot/share/memory/memRegion.hpp Changeset: 8d556576 Author: duke Date: 2020-03-20 11:01:24 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8d556576 Automatic merge of jdk:master into master Changeset: 65f25d82 Author: duke Date: 2020-03-20 11:01:48 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/65f25d82 Automatic merge of master into foreign-memaccess From sundar at openjdk.java.net Fri Mar 20 11:58:13 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Fri, 20 Mar 2020 11:58:13 GMT Subject: [Integrated] [foreign-jextract] RFR: 8241349: initial version of panama_jextract.md In-Reply-To: References: Message-ID: Changeset: ffc88a72 Author: Athijegannathan Sundararajan Date: 2020-03-20 11:55:58 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ffc88a72 8241349: initial version of panama_jextract.md Reviewed-by: mcimadamore ! README.md + doc/panama_jextract.html + doc/panama_jextract.md From sandhya.viswanathan at intel.com Fri Mar 20 18:32:05 2020 From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya) Date: Fri, 20 Mar 2020 18:32:05 +0000 Subject: [vectorIntrinsics] LoadMask/StoreMask/LoadConst cleanup for x86 Message-ID: Please find below a weberv which cleans up LoadMask/StoreMask/LoadConst code generation for x86: http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/Mask/webrev.00/ Best Regards, Sandhya From shravya.rukmannagari at intel.com Fri Mar 20 21:42:41 2020 From: shravya.rukmannagari at intel.com (Rukmannagari, Shravya) Date: Fri, 20 Mar 2020 21:42:41 +0000 Subject: [vectorIntrinsics] LoadMask/StoreMask/LoadConst cleanup for x86 In-Reply-To: References: Message-ID: Hi Sandhya, The patch looks good overall. The following can still be vec instead of legVec. -instruct loadconb(vec dst, immI0 src, rRegP scratch) %{ +instruct loadconb(legVec dst, immI0 src, rRegP scratch) %{ Thanks, Shravya. From: Viswanathan, Sandhya Sent: Friday, March 20, 2020 11:32 AM To: panama-dev at openjdk.java.net; Rukmannagari, Shravya Subject: [vectorIntrinsics] LoadMask/StoreMask/LoadConst cleanup for x86 Please find below a weberv which cleans up LoadMask/StoreMask/LoadConst code generation for x86: http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/Mask/webrev.00/ Best Regards, Sandhya From sandhya.viswanathan at intel.com Fri Mar 20 23:20:48 2020 From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya) Date: Fri, 20 Mar 2020 23:20:48 +0000 Subject: [vectorIntrinsics] LoadMask/StoreMask/LoadConst cleanup for x86 In-Reply-To: References: Message-ID: Hi Shravya, Thanks a lot for the review. I will make this change and push the patch. Best Regards, Sandhya From: Rukmannagari, Shravya Sent: Friday, March 20, 2020 2:43 PM To: Viswanathan, Sandhya ; panama-dev at openjdk.java.net Subject: RE: [vectorIntrinsics] LoadMask/StoreMask/LoadConst cleanup for x86 Hi Sandhya, The patch looks good overall. The following can still be vec instead of legVec. -instruct loadconb(vec dst, immI0 src, rRegP scratch) %{ +instruct loadconb(legVec dst, immI0 src, rRegP scratch) %{ Thanks, Shravya. From: Viswanathan, Sandhya Sent: Friday, March 20, 2020 11:32 AM To: panama-dev at openjdk.java.net; Rukmannagari, Shravya Subject: [vectorIntrinsics] LoadMask/StoreMask/LoadConst cleanup for x86 Please find below a weberv which cleans up LoadMask/StoreMask/LoadConst code generation for x86: http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/Mask/webrev.00/ Best Regards, Sandhya From sandhya.viswanathan at intel.com Fri Mar 20 23:54:54 2020 From: sandhya.viswanathan at intel.com (sandhya.viswanathan at intel.com) Date: Fri, 20 Mar 2020 23:54:54 +0000 Subject: hg: panama/dev: Summary: [vectorIntrinsics] LoadMask/StoreMask cleanup for x86 Message-ID: <202003202354.02KNstYn028358@aojmv0008.oracle.com> Changeset: 5b4b96bb4359 Author: sviswanathan Date: 2020-03-20 16:43 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/5b4b96bb4359 Summary: [vectorIntrinsics] LoadMask/StoreMask cleanup for x86 Reviewed-by: srukmannagar ! 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/stubGenerator_x86_32.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/x86.ad From shravya.rukmannagari at intel.com Sat Mar 21 00:25:12 2020 From: shravya.rukmannagari at intel.com (Rukmannagari, Shravya) Date: Sat, 21 Mar 2020 00:25:12 +0000 Subject: [vectorIntrinsics] Reduction cleanup for x86 Message-ID: Hi All, Please find the patch below which cleans up Reduction operations for x86 platforms. http://cr.openjdk.java.net/~srukmannagar/VectorAPI_ReductionCleanUp/webrev_ReductionCleanUp.00/ Thanks, Shravya. From sandhya.viswanathan at intel.com Sat Mar 21 15:57:54 2020 From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya) Date: Sat, 21 Mar 2020 15:57:54 +0000 Subject: [vectorIntrinsics] Reduction cleanup for x86 In-Reply-To: References: Message-ID: The patch looks good to me. Best Regards, Sandhya -----Original Message----- From: panama-dev On Behalf Of Rukmannagari, Shravya Sent: Friday, March 20, 2020 5:25 PM To: panama-dev at openjdk.java.net Subject: [vectorIntrinsics] Reduction cleanup for x86 Hi All, Please find the patch below which cleans up Reduction operations for x86 platforms. http://cr.openjdk.java.net/~srukmannagar/VectorAPI_ReductionCleanUp/webrev_ReductionCleanUp.00/ Thanks, Shravya. From vladimir.x.ivanov at oracle.com Mon Mar 23 09:21:00 2020 From: vladimir.x.ivanov at oracle.com (Vladimir Ivanov) Date: Mon, 23 Mar 2020 12:21:00 +0300 Subject: [vectorIntrinsics] Reduction cleanup for x86 In-Reply-To: References: Message-ID: > http://cr.openjdk.java.net/~srukmannagar/VectorAPI_ReductionCleanUp/webrev_ReductionCleanUp.00/ Looks good. Best regards, Vladimir Ivanov From mcimadamore at openjdk.java.net Mon Mar 23 13:10:03 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 23 Mar 2020 13:10:03 GMT Subject: [foreign-jextract] RFR: 8241442: jextract spuriously crashes Message-ID: This patch fixes a spurious crash when running jextract; the problem is, again, related to the signal handlers installed by libclang. While we disable those by calling clang_toggleCrashRecovery soon after index creation, this leaves us exposed for the call to clang_createIndex itself, which set up the alternate handlers soon after function enter. This means that, during that call, a bad interaction between hotspot generated signals and libclang signal handlers can result in spurious VM crashes. This behavior started to become more apparent after this change: https://github.com/openjdk/panama-foreign/pull/40 Although there's nothing wrong with these changes (but they probably trigger different optimizations to kick in). ------------- Commit messages: - JDK-8241442: jextract spuriously crashes Changes: https://git.openjdk.java.net/panama-foreign/pull/62/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/62/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8241442 Stats: 31 lines in 1 file changed: 30 ins; 1 del; 0 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/62.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/62/head:pull/62 PR: https://git.openjdk.java.net/panama-foreign/pull/62 From jvernee at openjdk.java.net Mon Mar 23 14:21:08 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Mon, 23 Mar 2020 14:21:08 GMT Subject: [foreign-memaccess] RFR: JDK-8241154: Clarify the role of MemorySegments In-Reply-To: References: Message-ID: <8AnpPW3l2gc1cVUcRqpSgMp-0MxUDOmjTct0VAnhHRw=.a3b7f51f-ca12-472a-b337-860954c8743a@github.com> On Wed, 18 Mar 2020 15:11:24 GMT, Maurizio Cimadamore wrote: > This patch proposes a restacking of the memory access API. Currently, memory segments are playing a dual role: they are > both view of a resource, and they impersonate the resource itself. This creates confusion when thinking about > operationssuch as close() and acquire(). The idea put forward by this patch is to put all segments on equal footing; > e.g. remove the distinction between normal segments and *acquired* segments. Now *all* segments are, in a sense, > acquired from some memory *source*. A memory source, in other words, model the actual memory that the segment is a view > of. Memory sources are unconfined, which makes them ideal to support operation such as registration with cleaners (to > allow for automatic cleanup, where needed). Moreover, since we can support many kinds of memory sources, this patch > also adds a MappedMemorySource which is specific to mapped segments; such memory source contains methods for syncing > contents of memory against the mapped file (e.g. force()). This split between memory segment and memory source allows > us to keep the memory segment API sane, while at the same time providing us room to expand the API in the future to add > more memory sources. And it makes the API cleaner too, as we can put methods where they belong (e.g. see difference > between MemorySegment::isAlive vs. MemorySource::isReleased). A javadoc for this refactoring is available here: > http://cr.openjdk.java.net/~mcimadamore/panama/8241154_javadoc/javadoc/jdk/incubator/foreign/package-summary.html Many > thanks to Brian, John, Jorn, Paul and Stuart for the feedback which led to this iteration. Looks good. Left some minor inline comments src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java line 281: > 280: * @param arr the primitive array backing the array memory segment. > 281: * @return a new memory segment backed by an heap memory source. > 282: */ Typo Suggestion: * @return a new memory segment backed by a heap memory source. src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java line 294: > 293: * @param arr the primitive array backing the array memory segment. > 294: * @return a new memory segment backed by an heap memory source. > 295: */ Suggestion: * @return a new memory segment backed by a heap memory source. src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java line 307: > 306: * @param arr the primitive array backing the array memory segment. > 307: * @return a new memory segment backed by an heap memory source. > 308: */ Suggestion: * @return a new memory segment backed by a heap memory source. src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java line 320: > 319: * @param arr the primitive array backing the array memory segment. > 320: * @return a new memory segment backed by an heap memory source. > 321: */ Suggestion: * @return a new memory segment backed by a heap memory source. src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java line 333: > 332: * @param arr the primitive array backing the array memory segment. > 333: * @return a new memory segment backed by an heap memory source. > 334: */ Suggestion: * @return a new memory segment backed by a heap memory source. src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java line 346: > 345: * @param arr the primitive array backing the array memory segment. > 346: * @return a new memory segment backed by an heap memory source. > 347: */ Suggestion: * @return a new memory segment backed by a heap memory source. src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java line 359: > 358: * @param arr the primitive array backing the array memory segment. > 359: * @return a new memory segment backed by an heap memory source. > 360: */ Suggestion: * @return a new memory segment backed by a heap memory source. test/jdk/java/foreign/TestCleaner.java line 8: > 7: * published by the Free Software Foundation. Oracle designates this > 8: * particular file as subject to the "Classpath" exception as provided > 9: * by Oracle in the LICENSE file that accompanied this code. Wrong copyright header. ------------- Marked as reviewed by jvernee (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/54 From mcimadamore at openjdk.java.net Mon Mar 23 14:45:48 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 23 Mar 2020 14:45:48 GMT Subject: [foreign-memaccess] [Rev 01] RFR: JDK-8241154: Clarify the role of MemorySegments In-Reply-To: References: Message-ID: > This patch proposes a restacking of the memory access API. Currently, memory segments are playing a dual role: they are > both view of a resource, and they impersonate the resource itself. This creates confusion when thinking about > operationssuch as close() and acquire(). The idea put forward by this patch is to put all segments on equal footing; > e.g. remove the distinction between normal segments and *acquired* segments. Now *all* segments are, in a sense, > acquired from some memory *source*. A memory source, in other words, model the actual memory that the segment is a view > of. Memory sources are unconfined, which makes them ideal to support operation such as registration with cleaners (to > allow for automatic cleanup, where needed). Moreover, since we can support many kinds of memory sources, this patch > also adds a MappedMemorySource which is specific to mapped segments; such memory source contains methods for syncing > contents of memory against the mapped file (e.g. force()). This split between memory segment and memory source allows > us to keep the memory segment API sane, while at the same time providing us room to expand the API in the future to add > more memory sources. And it makes the API cleaner too, as we can put methods where they belong (e.g. see difference > between MemorySegment::isAlive vs. MemorySource::isReleased). A javadoc for this refactoring is available here: > http://cr.openjdk.java.net/~mcimadamore/panama/8241154_javadoc/javadoc/jdk/incubator/foreign/package-summary.html Many > thanks to Brian, John, Jorn, Paul and Stuart for the feedback which led to this iteration. Maurizio Cimadamore has updated the pull request incrementally with four additional commits since the last revision: - Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java Co-Authored-By: Jorn Vernee - Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java Co-Authored-By: Jorn Vernee - Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java Co-Authored-By: Jorn Vernee - Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java Co-Authored-By: Jorn Vernee ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/54/files - new: https://git.openjdk.java.net/panama-foreign/pull/54/files/b2ddc2f3..3873032c Webrevs: - full: https://webrevs.openjdk.java.net/panama-foreign/54/webrev.01 - incr: https://webrevs.openjdk.java.net/panama-foreign/54/webrev.00-01 Stats: 4 lines in 1 file changed: 0 ins; 0 del; 4 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/54.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/54/head:pull/54 PR: https://git.openjdk.java.net/panama-foreign/pull/54 From sundar at openjdk.java.net Mon Mar 23 16:02:20 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Mon, 23 Mar 2020 16:02:20 GMT Subject: [foreign-jextract] RFR: 8241442: jextract spuriously crashes In-Reply-To: References: Message-ID: On Mon, 23 Mar 2020 13:05:04 GMT, Maurizio Cimadamore wrote: > This patch fixes a spurious crash when running jextract; the problem is, again, related to the signal handlers > installed by libclang. While we disable those by calling clang_toggleCrashRecovery soon after index creation, this > leaves us exposed for the call to clang_createIndex itself, which set up the alternate handlers soon after function > enter. This means that, during that call, a bad interaction between hotspot generated signals and libclang signal > handlers can result in spurious VM crashes. This behavior started to become more apparent after this change: > https://github.com/openjdk/panama-foreign/pull/40 Although there's nothing wrong with these changes (but they probably > trigger different optimizations to kick in). The fix is to set an environment variable > `LIBCLANG_DISABLE_CRASH_RECOVERY` which is used to gate the signal override behavior, see: > https://github.com/llvm-mirror/clang/blob/master/tools/libclang/CIndex.cpp#L3281 > > We do this using `putenv` on Linux/Mac and `_putenv` on Windows. Looks good! ------------- Marked as reviewed by sundar (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/62 From mcimadamore at openjdk.java.net Mon Mar 23 16:12:28 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 23 Mar 2020 16:12:28 GMT Subject: [Integrated] [foreign-jextract] RFR: 8241442: jextract spuriously crashes In-Reply-To: References: Message-ID: Changeset: d9db801a Author: Maurizio Cimadamore Date: 2020-03-23 16:11:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d9db801a 8241442: jextract spuriously crashes Reviewed-by: sundar ! src/jdk.incubator.jextract/share/classes/jdk/internal/clang/LibClang.java From mcimadamore at openjdk.java.net Mon Mar 23 16:15:46 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 23 Mar 2020 16:15:46 GMT Subject: [foreign-memaccess] [Rev 02] RFR: JDK-8241154: Clarify the role of MemorySegments In-Reply-To: References: Message-ID: <2uiqjNtxg1BBPwfiaGETCrhvsZ8Vq7Ft2p9QuKuKj4I=.e676098b-11f7-4a1b-bcfc-d176629416fd@github.com> > This patch proposes a restacking of the memory access API. Currently, memory segments are playing a dual role: they are > both view of a resource, and they impersonate the resource itself. This creates confusion when thinking about > operationssuch as close() and acquire(). The idea put forward by this patch is to put all segments on equal footing; > e.g. remove the distinction between normal segments and *acquired* segments. Now *all* segments are, in a sense, > acquired from some memory *source*. A memory source, in other words, model the actual memory that the segment is a view > of. Memory sources are unconfined, which makes them ideal to support operation such as registration with cleaners (to > allow for automatic cleanup, where needed). Moreover, since we can support many kinds of memory sources, this patch > also adds a MappedMemorySource which is specific to mapped segments; such memory source contains methods for syncing > contents of memory against the mapped file (e.g. force()). This split between memory segment and memory source allows > us to keep the memory segment API sane, while at the same time providing us room to expand the API in the future to add > more memory sources. And it makes the API cleaner too, as we can put methods where they belong (e.g. see difference > between MemorySegment::isAlive vs. MemorySource::isReleased). A javadoc for this refactoring is available here: > http://cr.openjdk.java.net/~mcimadamore/panama/8241154_javadoc/javadoc/jdk/incubator/foreign/package-summary.html Many > thanks to Brian, John, Jorn, Paul and Stuart for the feedback which led to this iteration. Maurizio Cimadamore has updated the pull request incrementally with two additional commits since the last revision: - Forgotr to add files - * addressed review comments * added raw address/object base accessors to memory source - remove unused ForeignUnsafe ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/54/files - new: https://git.openjdk.java.net/panama-foreign/pull/54/files/3873032c..3b83ef95 Webrevs: - full: https://webrevs.openjdk.java.net/panama-foreign/54/webrev.02 - incr: https://webrevs.openjdk.java.net/panama-foreign/54/webrev.01-02 Stats: 184 lines in 7 files changed: 95 ins; 79 del; 10 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/54.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/54/head:pull/54 PR: https://git.openjdk.java.net/panama-foreign/pull/54 From mcimadamore at openjdk.java.net Mon Mar 23 19:13:45 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 23 Mar 2020 19:13:45 GMT Subject: [foreign-memaccess] [Rev 03] RFR: JDK-8241154: Clarify the role of MemorySegments In-Reply-To: References: Message-ID: > This patch proposes a restacking of the memory access API. Currently, memory segments are playing a dual role: they are > both view of a resource, and they impersonate the resource itself. This creates confusion when thinking about > operationssuch as close() and acquire(). The idea put forward by this patch is to put all segments on equal footing; > e.g. remove the distinction between normal segments and *acquired* segments. Now *all* segments are, in a sense, > acquired from some memory *source*. A memory source, in other words, model the actual memory that the segment is a view > of. Memory sources are unconfined, which makes them ideal to support operation such as registration with cleaners (to > allow for automatic cleanup, where needed). Moreover, since we can support many kinds of memory sources, this patch > also adds a MappedMemorySource which is specific to mapped segments; such memory source contains methods for syncing > contents of memory against the mapped file (e.g. force()). This split between memory segment and memory source allows > us to keep the memory segment API sane, while at the same time providing us room to expand the API in the future to add > more memory sources. And it makes the API cleaner too, as we can put methods where they belong (e.g. see difference > between MemorySegment::isAlive vs. MemorySource::isReleased). A javadoc for this refactoring is available here: > http://cr.openjdk.java.net/~mcimadamore/panama/8241154_javadoc/javadoc/jdk/incubator/foreign/package-summary.html Many > thanks to Brian, John, Jorn, Paul and Stuart for the feedback which led to this iteration. Maurizio Cimadamore has updated the pull request incrementally with four additional commits since the last revision: - Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java Co-Authored-By: Jorn Vernee - Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java Co-Authored-By: Jorn Vernee - Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java Co-Authored-By: Jorn Vernee - Fix javadoc missing @param ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/54/files - new: https://git.openjdk.java.net/panama-foreign/pull/54/files/3b83ef95..9f2827ec Webrevs: - full: https://webrevs.openjdk.java.net/panama-foreign/54/webrev.03 - incr: https://webrevs.openjdk.java.net/panama-foreign/54/webrev.02-03 Stats: 4 lines in 2 files changed: 1 ins; 0 del; 3 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/54.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/54/head:pull/54 PR: https://git.openjdk.java.net/panama-foreign/pull/54 From mcimadamore at openjdk.java.net Mon Mar 23 19:13:46 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 23 Mar 2020 19:13:46 GMT Subject: [foreign-memaccess] [Rev 03] RFR: JDK-8241154: Clarify the role of MemorySegments In-Reply-To: <8AnpPW3l2gc1cVUcRqpSgMp-0MxUDOmjTct0VAnhHRw=.a3b7f51f-ca12-472a-b337-860954c8743a@github.com> References: <8AnpPW3l2gc1cVUcRqpSgMp-0MxUDOmjTct0VAnhHRw=.a3b7f51f-ca12-472a-b337-860954c8743a@github.com> Message-ID: On Mon, 23 Mar 2020 14:18:47 GMT, Jorn Vernee wrote: >> Maurizio Cimadamore has updated the pull request incrementally with four additional commits since the last revision: >> >> - Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java >> >> Co-Authored-By: Jorn Vernee >> - Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java >> >> Co-Authored-By: Jorn Vernee >> - Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java >> >> Co-Authored-By: Jorn Vernee >> - Fix javadoc missing @param > > Looks good. Left some minor inline comments Uploaded new version which addresses review comments and adds some extra API points to obtain raw address/base object associated with memory source (this makes ForeignUnsafe redundant). Javadoc available here: http://cr.openjdk.java.net/~mcimadamore/panama/8241154_javadoc_v2/javadoc/jdk/incubator/foreign/package-summary.html ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/54 From shravya.rukmannagari at intel.com Mon Mar 23 21:01:04 2020 From: shravya.rukmannagari at intel.com (shravya.rukmannagari at intel.com) Date: Mon, 23 Mar 2020 21:01:04 +0000 Subject: hg: panama/dev: Reduction cleanup for x86 Message-ID: <202003232101.02NL14qV018659@aojmv0008.oracle.com> Changeset: d47ac8deb334 Author: srukmannagar Date: 2020-03-23 13:58 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/d47ac8deb334 Reduction cleanup for x86 ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/x86.ad From henryjen at openjdk.java.net Tue Mar 24 06:39:49 2020 From: henryjen at openjdk.java.net (Henry Jen) Date: Tue, 24 Mar 2020 06:39:49 GMT Subject: [foreign-jextract] RFR: 8241483: Add jextract API to provide developer information about include Message-ID: Positon.origin() return the most top header include this position path. Positon.depth() provide a default implementation to figure out how deep the include is. CursorPosition is moved out into a separate file, and the logic of tracking the shorted include path is in the PositionTracker. The origin() method implementation has to be lazy because we only know the most top include until finished preprocessing. empty.h is intentionally leave blank, this is to make sure a complete empty cursor cycle, but it seems this case can happen with #ifndef #define ... #endif pattern. However, intentionally leave blank to make sure any change to parsing have a change to interfere, for example, it's not clear if copyright in comments can produce something with different parsing options. ------------- Commit messages: - 8241483: Add jextract API to provide developer information about include Changes: https://git.openjdk.java.net/panama-foreign/pull/63/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/63/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8241483 Stats: 771 lines in 15 files changed: 676 ins; 73 del; 22 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/63.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/63/head:pull/63 PR: https://git.openjdk.java.net/panama-foreign/pull/63 From youngty1997 at gmail.com Tue Mar 24 11:01:21 2020 From: youngty1997 at gmail.com (Ty Young) Date: Tue, 24 Mar 2020 06:01:21 -0500 Subject: Adding optional UUID to layouts Message-ID: Hi, As was discussed before, I'm working on rigging up a dynamic memory allocation API. I think I know how to go about it but I need an API addition from Panama to make it happen since all interfaces are going to be sealed. This addition comes in the form of a UUID which can be applied to any given layout. A UUID, unlike a hashcode or a name, is not *intended* to ever collide(hence UUID) with any other MemoryLayout. Currently both of those do: it's possible that variables or structs (although, arguably uncommon) from different native libraries have the same name and hashcode will return the same code given the same byte size and ByteOrder. Could this be added? From maurizio.cimadamore at oracle.com Tue Mar 24 11:44:15 2020 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Tue, 24 Mar 2020 11:44:15 +0000 Subject: Adding optional UUID to layouts In-Reply-To: References: Message-ID: <1ce6be99-f456-b991-4176-8726f8a8039d@oracle.com> We're discussing to open up layout metadata API (which is currently restricted - you can only add layout names now). When that becomes a possibility I believe it would be possible for developers, or for clients such as jextract to decorate layouts more richly than what is being done now (which is the bare minimum). Since layout attributes play in the hashcode/equals dance, that means that similar layout (e.g. 32 bits BE) with different attributes will NOT be considered equals (this is already the case e.g. if layouts have different names). Maurizio On 24/03/2020 11:01, Ty Young wrote: > Hi, > > > As was discussed before, I'm working on rigging up a dynamic memory > allocation API. I think I know how to go about it but I need an API > addition from Panama to make it happen since all interfaces are going > to be sealed. > > > This addition comes in the form of a UUID which can be applied to any > given layout. A UUID, unlike a hashcode or a name, is not *intended* > to ever collide(hence UUID) with any other MemoryLayout. > > > Currently both of those do: it's possible that variables or structs > (although, arguably uncommon) from different native libraries have the > same name and hashcode will return the same code given the same byte > size and ByteOrder. > > > Could this be added? > From mcimadamore at openjdk.java.net Tue Mar 24 12:03:17 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Tue, 24 Mar 2020 12:03:17 GMT Subject: [foreign-memaccess] [Rev 03] RFR: JDK-8241154: Clarify the role of MemorySegments In-Reply-To: References: <8AnpPW3l2gc1cVUcRqpSgMp-0MxUDOmjTct0VAnhHRw=.a3b7f51f-ca12-472a-b337-860954c8743a@github.com> Message-ID: On Mon, 23 Mar 2020 19:04:47 GMT, Maurizio Cimadamore wrote: >> Looks good. Left some minor inline comments > > Uploaded new version which addresses review comments and adds some extra API points to obtain raw address/base object > associated with memory source (this makes ForeignUnsafe redundant). Javadoc available here: > http://cr.openjdk.java.net/~mcimadamore/panama/8241154_javadoc_v2/javadoc/jdk/incubator/foreign/package-summary.html Just realized that for this to work properly I need to add reachabilty fences in all the var handle code (at least, possibly AB invokers need to do the same). Should I do it as part of this effort, or should I split and deal with registerCleaner later? ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/54 From youngty1997 at gmail.com Tue Mar 24 12:14:05 2020 From: youngty1997 at gmail.com (Ty Young) Date: Tue, 24 Mar 2020 07:14:05 -0500 Subject: Adding optional UUID to layouts In-Reply-To: <1ce6be99-f456-b991-4176-8726f8a8039d@oracle.com> References: <1ce6be99-f456-b991-4176-8726f8a8039d@oracle.com> Message-ID: <95b16f03-4d4f-946a-6eac-6e4579fede1d@gmail.com> On 3/24/20 6:44 AM, Maurizio Cimadamore wrote: > We're discussing to open up layout metadata API (which is currently > restricted - you can only add layout names now). When that becomes a > possibility I believe it would be possible for developers, or for > clients such as jextract to decorate layouts more richly than what is > being done now (which is the bare minimum). Since layout attributes > play in the hashcode/equals dance, that means that similar layout > (e.g. 32 bits BE) with different attributes will NOT be considered > equals (this is already the case e.g. if layouts have different names). More public API is of course welcome but I'm not 100% sure if it'll cover what I need here since I don't know what specifically would be opened up and available. Some context here, if it helps any,? is that the way I'm going about this involves two parts, an "AllocationStack" and an "AllocationStackView". The "AllocationStackView" has a list of MemoryLayouts which maps what and where things are within the "AllocationStack". The problem is that there can be collision when using name() from a MemoryLayout(as said before) and it's impossible to tell the difference between colliding MemoryLayouts. For example, two *different* libraries may have the following MemoryLayout: MemoryLayout.ofValueBits(1, ByteOrder.nativeOrder()).withName("bool"); MemoryLayout.ofValueBits(1, ByteOrder.nativeOrder()).withName("bool"); ...which are, of course, the same since they are constructed using the same parameters. What I'm looking for here is a uuid() and withUuid() so that the following code is possible: MemoryLayout.ofValueBits(1, ByteOrder.nativeOrder()).withName("bool").withUuid(UUID.randomUUID()); MemoryLayout.ofValueBits(1, ByteOrder.nativeOrder()).withName("bool").withUuid(UUID.randomUUID()); > > Maurizio > > On 24/03/2020 11:01, Ty Young wrote: >> Hi, >> >> >> As was discussed before, I'm working on rigging up a dynamic memory >> allocation API. I think I know how to go about it but I need an API >> addition from Panama to make it happen since all interfaces are going >> to be sealed. >> >> >> This addition comes in the form of a UUID which can be applied to any >> given layout. A UUID, unlike a hashcode or a name, is not *intended* >> to ever collide(hence UUID) with any other MemoryLayout. >> >> >> Currently both of those do: it's possible that variables or structs >> (although, arguably uncommon) from different native libraries have >> the same name and hashcode will return the same code given the same >> byte size and ByteOrder. >> >> >> Could this be added? >> From jvernee at openjdk.java.net Tue Mar 24 12:51:08 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Tue, 24 Mar 2020 12:51:08 GMT Subject: [foreign-abi] RFR: 8241504: Expose MemoryLayout annotations/attributes in the public API Message-ID: <4AWBvAqFoajno3EzZ9hWCbyTfzH-qJqPfetM2hNjVY0=.1e39bc47-6ba3-46a1-aadb-4f0d6f3d96aa@github.com> Hi, This PR exposed MemoryLayout attributes in the public API. A summary of the changes: - Renamed annotation -> attribute everywhere to avoid confusion with Java language annotations - Made sure that annotations were being serialized as part of a MemoryLayout's ConstantDesc, as well as the alignment which was previously left out. (The latter also meant changing PaddingLayout::hasNaturalAlignment to always return `true`, so serializing alignment is skipped for padding). Removed special casing for the abiType attribute. This can now instead be handled through the generic attribute mechanism. Thanks, Jorn ------------- Commit messages: - Removed trailing whitespace - Clean up diff - Removed abiType, added type-casting helper for attribute - Rename annotations to attributes, and expose them in the public API. Changes: https://git.openjdk.java.net/panama-foreign/pull/64/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/64/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8241504 Stats: 283 lines in 15 files changed: 123 ins; 32 del; 128 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/64.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/64/head:pull/64 PR: https://git.openjdk.java.net/panama-foreign/pull/64 From maurizio.cimadamore at oracle.com Tue Mar 24 14:18:28 2020 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Tue, 24 Mar 2020 14:18:28 +0000 Subject: Adding optional UUID to layouts In-Reply-To: <95b16f03-4d4f-946a-6eac-6e4579fede1d@gmail.com> References: <1ce6be99-f456-b991-4176-8726f8a8039d@oracle.com> <95b16f03-4d4f-946a-6eac-6e4579fede1d@gmail.com> Message-ID: On 24/03/2020 12:14, Ty Young wrote: > MemoryLayout.ofValueBits(1, > ByteOrder.nativeOrder()).withName("bool").withUuid(UUID.randomUUID()); What I'm saying is that withName is just a withAttribute(NAME, "bool"), where an attribute can be any Java object that implements the Constable interface. So it might be possible to do something like layout.withAttribute("library", "OpenGL") and that will make all layouts generated in a given extraction run 'unique' (since equals() and hashCode() take attributes into account). See: https://git.openjdk.java.net/panama-foreign/pull/64 Which Jorn has timely submitted :-) In general - we're NOT going to add a UUID to add layouts just because in some cases it feels it's handy to have one. But that's why the layout attribute machinery comes in place - to add extra side-info to the layout w/o necessarily making the API more complex with things that most users won't even care about. So, your question can be rephrased as: can jextract please attach a standard layout attribute to all the layout it emits during a single run, so that layouts from library A cannot be confused with layouts coming from library B? Right now we haven't discussed anything in that direction - the new API (see above PR) makes it possible; another possibility is that your API could be in charge of the decorating process (e.g. if your API only works with layouts which have an 'uuid' then have a function which takes a layout and returns a new layout with the desired uuid embedded as a layout attribute). Maurizio From mcimadamore at openjdk.java.net Tue Mar 24 14:31:41 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Tue, 24 Mar 2020 14:31:41 GMT Subject: [foreign-abi] RFR: 8241504: Expose MemoryLayout annotations/attributes in the public API In-Reply-To: <4AWBvAqFoajno3EzZ9hWCbyTfzH-qJqPfetM2hNjVY0=.1e39bc47-6ba3-46a1-aadb-4f0d6f3d96aa@github.com> References: <4AWBvAqFoajno3EzZ9hWCbyTfzH-qJqPfetM2hNjVY0=.1e39bc47-6ba3-46a1-aadb-4f0d6f3d96aa@github.com> Message-ID: On Tue, 24 Mar 2020 12:03:15 GMT, Jorn Vernee wrote: > Hi, > > This PR exposed MemoryLayout attributes in the public API. > > A summary of the changes: > - Renamed annotation -> attribute everywhere to avoid confusion with Java language annotations > - Made sure that annotations were being serialized as part of a MemoryLayout's ConstantDesc, as well as the alignment > which was previously left out. (The latter also meant changing PaddingLayout::hasNaturalAlignment to always return > `true`, so serializing alignment is skipped for padding). Removed special casing for the abiType attribute. This can > now instead be handled through the generic attribute mechanism. > > Thanks, > Jorn Couple of suggestions, the rest looks really solid. test/jdk/java/foreign/TestLayoutConstants.java line 111: > 110: { MemoryLayouts.BITS_32_LE.withBitAlignment(8) }, > 111: { MemoryLayouts.BITS_32_LE.withAttribute("xyz", "xyz") }, > 112: }; Maybe change the test to have name != value, so that we also detect bugs where we serialize the name for both. src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/aarch64/CallArranger.java line 204: > 203: > 204: var optAbiType = baseType.attribute(SystemABI.NATIVE_TYPE, SystemABI.Type.class); > 205: ArgumentClassImpl baseArgClass = optAbiType.map(AArch64ABI::argumentClassFor).orElse(null); Since all ABI layouts are going to have an annotation of this kind, would it make sense to add a static helper function in the SystemABI.Type enum to get the ABI type from a layout e.g. Type fromLayout(Layout layout) throws IllegalArgumentException //if not an ABI layout ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/64 From vladimir.x.ivanov at oracle.com Tue Mar 24 15:07:58 2020 From: vladimir.x.ivanov at oracle.com (Vladimir Ivanov) Date: Tue, 24 Mar 2020 18:07:58 +0300 Subject: [vector-unstable] RFR: Remove SVML stubs and JVM support for them Message-ID: <885ec69f-d4ba-bb08-94af-afe5163b86c9@oracle.com> http://cr.openjdk.java.net/~vlivanov/panama/vector-unstable/remove_svml/webrev.00/ Considering SVML stubs aren't going to make it into the first version, I propose to remove relevant code from stabilization branch. The patch removes JVM support for SVML stubs (along with vector call support) and migrates API implementation to scalar version. The webrev doesn't include the stubs, but I plan to remove them as well [1]. Testing: jdk/incubator/vector tests all pass. Best regards, Vladimir Ivanov [1] R src/hotspot/os_cpu/linux_x86/svml_d_acos_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_d_asin_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_d_atan2_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_d_atan_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_d_cbrt_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_d_cos_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_d_cosh_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_d_exp_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_d_expm1_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_d_hypot_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_d_log10_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_d_log1p_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_d_log_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_d_pow_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_d_sin_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_d_sinh_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_d_tan_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_d_tanh_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_s_acos_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_s_asin_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_s_atan2_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_s_atan_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_s_cbrt_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_s_cos_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_s_cosh_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_s_exp_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_s_expm1_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_s_hypot_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_s_log10_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_s_log1p_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_s_log_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_s_pow_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_s_sin_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_s_sinh_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_s_tan_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_s_tanh_linux_x86.S R src/hotspot/os_cpu/windows_x86/svml_d_acos_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_d_asin_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_d_atan2_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_d_atan_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_d_cbrt_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_d_cos_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_d_cosh_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_d_exp_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_d_expm1_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_d_hypot_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_d_log10_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_d_log1p_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_d_log_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_d_pow_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_d_sin_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_d_sinh_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_d_tan_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_d_tanh_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_s_acos_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_s_asin_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_s_atan2_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_s_atan_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_s_cbrt_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_s_cos_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_s_cosh_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_s_exp_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_s_expm1_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_s_hypot_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_s_log10_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_s_log1p_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_s_log_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_s_pow_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_s_sin_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_s_sinh_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_s_tan_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_s_tanh_windows_x86.s From youngty1997 at gmail.com Tue Mar 24 15:07:00 2020 From: youngty1997 at gmail.com (Ty Young) Date: Tue, 24 Mar 2020 10:07:00 -0500 Subject: Adding optional UUID to layouts In-Reply-To: References: <1ce6be99-f456-b991-4176-8726f8a8039d@oracle.com> <95b16f03-4d4f-946a-6eac-6e4579fede1d@gmail.com> Message-ID: <0d92ecea-db9e-cd11-4fb8-ef8ed29c01b9@gmail.com> On 3/24/20 9:18 AM, Maurizio Cimadamore wrote: > > On 24/03/2020 12:14, Ty Young wrote: >> MemoryLayout.ofValueBits(1, >> ByteOrder.nativeOrder()).withName("bool").withUuid(UUID.randomUUID()); > > What I'm saying is that withName is just a withAttribute(NAME, > "bool"), where an attribute can be any Java object that implements the > Constable interface. So it might be possible to do something like > > layout.withAttribute("library", "OpenGL") > > and that will make all layouts generated in a given extraction run > 'unique' (since equals() and hashCode() take attributes into account). > > See: > > https://git.openjdk.java.net/panama-foreign/pull/64 > > Which Jorn has timely submitted :-) No kidding. It's almost creepy how on top of things like this you all are. I wish I knew these things were being worked on beforehand so I don't end up bothering you all so much. Many thanks. > > In general - we're NOT going to add a UUID to add layouts just because > in some cases it feels it's handy to have one. But that's why the > layout attribute machinery comes in place - to add extra side-info to > the layout w/o necessarily making the API more complex with things > that most users won't even care about. > > So, your question can be rephrased as: can jextract please attach a > standard layout attribute to all the layout it emits during a single > run, so that layouts from library A cannot be confused with layouts > coming from library B? > > Right now we haven't discussed anything in that direction - the new > API (see above PR) makes it possible; another possibility is that your > API could be in charge of the decorating process (e.g. if your API > only works with layouts which have an 'uuid' then have a function > which takes a layout and returns a new layout with the desired uuid > embedded as a layout attribute). Right, good idea. A question here, if you don't mind, is does the JVM have memory optimizations for things like ValueLayout? Or is ValueLayout manually optimized by passing object instances through the constructor? > > Maurizio > From maurizio.cimadamore at oracle.com Tue Mar 24 16:22:30 2020 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Tue, 24 Mar 2020 16:22:30 +0000 Subject: Adding optional UUID to layouts In-Reply-To: <0d92ecea-db9e-cd11-4fb8-ef8ed29c01b9@gmail.com> References: <1ce6be99-f456-b991-4176-8726f8a8039d@oracle.com> <95b16f03-4d4f-946a-6eac-6e4579fede1d@gmail.com> <0d92ecea-db9e-cd11-4fb8-ef8ed29c01b9@gmail.com> Message-ID: On 24/03/2020 15:07, Ty Young wrote: > > On 3/24/20 9:18 AM, Maurizio Cimadamore wrote: >> >> On 24/03/2020 12:14, Ty Young wrote: >>> MemoryLayout.ofValueBits(1, >>> ByteOrder.nativeOrder()).withName("bool").withUuid(UUID.randomUUID()); >> >> What I'm saying is that withName is just a withAttribute(NAME, >> "bool"), where an attribute can be any Java object that implements >> the Constable interface. So it might be possible to do something like >> >> layout.withAttribute("library", "OpenGL") >> >> and that will make all layouts generated in a given extraction run >> 'unique' (since equals() and hashCode() take attributes into account). >> >> See: >> >> https://git.openjdk.java.net/panama-foreign/pull/64 >> >> Which Jorn has timely submitted :-) > > > No kidding. It's almost creepy how on top of things like this you all > are. I wish I knew these things were being worked on beforehand so I > don't end up bothering you all so much. Heh - we need to do a better job at communicating directions, yes. In general we're currently converting a lot of examples using older jextract, figuring out what's missing, rinse and repeat. So we're trying to see what are the common helper routines a user is likely to need. You might expect some more refinements in SystemABI and surrounding APIs based on that. > > > Many thanks. > > >> >> In general - we're NOT going to add a UUID to add layouts just >> because in some cases it feels it's handy to have one. But that's why >> the layout attribute machinery comes in place - to add extra >> side-info to the layout w/o necessarily making the API more complex >> with things that most users won't even care about. >> >> So, your question can be rephrased as: can jextract please attach a >> standard layout attribute to all the layout it emits during a single >> run, so that layouts from library A cannot be confused with layouts >> coming from library B? >> >> Right now we haven't discussed anything in that direction - the new >> API (see above PR) makes it possible; another possibility is that >> your API could be in charge of the decorating process (e.g. if your >> API only works with layouts which have an 'uuid' then have a function >> which takes a layout and returns a new layout with the desired uuid >> embedded as a layout attribute). > > > Right, good idea. > > > A question here, if you don't mind, is does the JVM have memory > optimizations for things like ValueLayout? Or is ValueLayout manually > optimized by passing object instances through the constructor? Not sure I follow - you mean if the JVM optimizes ValueLayout instances in any way, to make them take less space and all that? If so, no, the VM does nothing - although, the fact that layouts are immutable and value friendly will make them more amenable to become inline classes one day, at which point they will get the same optimizations as the other inline classes. Maurizio > > >> >> Maurizio >> From psandoz at openjdk.java.net Tue Mar 24 16:23:17 2020 From: psandoz at openjdk.java.net (Paul Sandoz) Date: Tue, 24 Mar 2020 16:23:17 GMT Subject: [foreign-memaccess] [Rev 03] RFR: JDK-8241154: Clarify the role of MemorySegments In-Reply-To: References: <8AnpPW3l2gc1cVUcRqpSgMp-0MxUDOmjTct0VAnhHRw=.a3b7f51f-ca12-472a-b337-860954c8743a@github.com> Message-ID: On Tue, 24 Mar 2020 12:00:53 GMT, Maurizio Cimadamore wrote: >> Uploaded new version which addresses review comments and adds some extra API points to obtain raw address/base object >> associated with memory source (this makes ForeignUnsafe redundant). Javadoc available here: >> http://cr.openjdk.java.net/~mcimadamore/panama/8241154_javadoc_v2/javadoc/jdk/incubator/foreign/package-summary.html > > Just realized that for this to work properly I need to add reachabilty fences in all the var handle code (at least, > possibly AB invokers need to do the same). Should I do it as part of this effort, or should I split and deal with > registerCleaner later? Drat, those fences are a pain. Might be easier to separate out (esp. for review purposes, i am already loosing track of what is going on!). ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/54 From jvernee at openjdk.java.net Tue Mar 24 16:25:39 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Tue, 24 Mar 2020 16:25:39 GMT Subject: [foreign-abi] [Rev 01] RFR: 8241504: Expose MemoryLayout annotations/attributes in the public API In-Reply-To: References: <4AWBvAqFoajno3EzZ9hWCbyTfzH-qJqPfetM2hNjVY0=.1e39bc47-6ba3-46a1-aadb-4f0d6f3d96aa@github.com> Message-ID: On Tue, 24 Mar 2020 14:29:24 GMT, Maurizio Cimadamore wrote: >> Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision: >> >> Addressed review comments + added basic tests > > Couple of suggestions, the rest looks really solid. I've also added some very basic tests of the new methods, mostly to sort of document the expectations w.r.t. how NAME is just another attribute, plus how using the attribute(String,Class) overload filters the optional with an instanceof check as opposed to simply casting (and potentially failing that cast with CCE). ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/64 From paul.sandoz at oracle.com Tue Mar 24 16:27:25 2020 From: paul.sandoz at oracle.com (Paul Sandoz) Date: Tue, 24 Mar 2020 09:27:25 -0700 Subject: [vector-unstable] RFR: Remove SVML stubs and JVM support for them In-Reply-To: <885ec69f-d4ba-bb08-94af-afe5163b86c9@oracle.com> References: <885ec69f-d4ba-bb08-94af-afe5163b86c9@oracle.com> Message-ID: Hi, Save the reverse patch for future use :-) It would be nice if much of the infrastructure could remain in place in preparation, but that does complicate review and is dead code. Java changes look good. Paul. > On Mar 24, 2020, at 8:07 AM, Vladimir Ivanov wrote: > > http://cr.openjdk.java.net/~vlivanov/panama/vector-unstable/remove_svml/webrev.00/ > > Considering SVML stubs aren't going to make it into the first version, I propose to remove relevant code from stabilization branch. > > The patch removes JVM support for SVML stubs (along with vector call support) and migrates API implementation to scalar version. > > The webrev doesn't include the stubs, but I plan to remove them as well [1]. > > Testing: jdk/incubator/vector tests all pass. > > Best regards, > Vladimir Ivanov > > [1] > R src/hotspot/os_cpu/linux_x86/svml_d_acos_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_asin_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_atan2_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_atan_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_cbrt_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_cos_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_cosh_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_exp_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_expm1_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_hypot_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_log10_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_log1p_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_log_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_pow_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_sin_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_sinh_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_tan_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_tanh_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_acos_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_asin_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_atan2_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_atan_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_cbrt_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_cos_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_cosh_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_exp_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_expm1_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_hypot_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_log10_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_log1p_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_log_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_pow_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_sin_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_sinh_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_tan_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_tanh_linux_x86.S > R src/hotspot/os_cpu/windows_x86/svml_d_acos_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_asin_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_atan2_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_atan_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_cbrt_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_cos_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_cosh_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_exp_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_expm1_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_hypot_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_log10_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_log1p_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_log_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_pow_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_sin_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_sinh_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_tan_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_tanh_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_acos_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_asin_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_atan2_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_atan_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_cbrt_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_cos_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_cosh_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_exp_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_expm1_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_hypot_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_log10_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_log1p_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_log_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_pow_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_sin_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_sinh_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_tan_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_tanh_windows_x86.s From jvernee at openjdk.java.net Tue Mar 24 16:22:07 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Tue, 24 Mar 2020 16:22:07 GMT Subject: [foreign-abi] [Rev 01] RFR: 8241504: Expose MemoryLayout annotations/attributes in the public API In-Reply-To: <4AWBvAqFoajno3EzZ9hWCbyTfzH-qJqPfetM2hNjVY0=.1e39bc47-6ba3-46a1-aadb-4f0d6f3d96aa@github.com> References: <4AWBvAqFoajno3EzZ9hWCbyTfzH-qJqPfetM2hNjVY0=.1e39bc47-6ba3-46a1-aadb-4f0d6f3d96aa@github.com> Message-ID: > Hi, > > This PR exposed MemoryLayout attributes in the public API. > > A summary of the changes: > - Renamed annotation -> attribute everywhere to avoid confusion with Java language annotations > - Made sure that annotations were being serialized as part of a MemoryLayout's ConstantDesc, as well as the alignment > which was previously left out. (The latter also meant changing PaddingLayout::hasNaturalAlignment to always return > `true`, so serializing alignment is skipped for padding). Removed special casing for the abiType attribute. This can > now instead be handled through the generic attribute mechanism. > > Thanks, > Jorn Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision: Addressed review comments + added basic tests ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/64/files - new: https://git.openjdk.java.net/panama-foreign/pull/64/files/e09a98cc..2d58b86d Webrevs: - full: https://webrevs.openjdk.java.net/panama-foreign/64/webrev.01 - incr: https://webrevs.openjdk.java.net/panama-foreign/64/webrev.00-01 Stats: 124 lines in 7 files changed: 96 ins; 16 del; 12 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/64.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/64/head:pull/64 PR: https://git.openjdk.java.net/panama-foreign/pull/64 From jvernee at openjdk.java.net Tue Mar 24 16:22:08 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Tue, 24 Mar 2020 16:22:08 GMT Subject: [foreign-abi] [Rev 01] RFR: 8241504: Expose MemoryLayout annotations/attributes in the public API In-Reply-To: References: <4AWBvAqFoajno3EzZ9hWCbyTfzH-qJqPfetM2hNjVY0=.1e39bc47-6ba3-46a1-aadb-4f0d6f3d96aa@github.com> Message-ID: On Tue, 24 Mar 2020 14:24:23 GMT, Maurizio Cimadamore wrote: >> Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision: >> >> Addressed review comments + added basic tests > > test/jdk/java/foreign/TestLayoutConstants.java line 111: > >> 110: { MemoryLayouts.BITS_32_LE.withBitAlignment(8) }, >> 111: { MemoryLayouts.BITS_32_LE.withAttribute("xyz", "xyz") }, >> 112: }; > > Maybe change the test to have name != value, so that we also detect bugs where we serialize the name for both. Good idea! > src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/aarch64/CallArranger.java line 204: > >> 203: >> 204: var optAbiType = baseType.attribute(SystemABI.NATIVE_TYPE, SystemABI.Type.class); >> 205: ArgumentClassImpl baseArgClass = optAbiType.map(AArch64ABI::argumentClassFor).orElse(null); > > Since all ABI layouts are going to have an annotation of this kind, would it make sense to add a static helper function > in the SystemABI.Type enum to get the ABI type from a layout e.g. > Type fromLayout(Layout layout) throws IllegalArgumentException //if not an ABI layout Good idea, will add this as well. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/64 From sandhya.viswanathan at intel.com Tue Mar 24 17:08:43 2020 From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya) Date: Tue, 24 Mar 2020 17:08:43 +0000 Subject: Reinterpret code generation cleanup for x86 Message-ID: Please find below a patch which cleans up reinterpret code gen for x86: http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/ReinterpretCleanup/webrev.00/ Best Regards, Sandhya From mcimadamore at openjdk.java.net Tue Mar 24 17:10:37 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Tue, 24 Mar 2020 17:10:37 GMT Subject: [foreign-abi] [Rev 01] RFR: 8241504: Expose MemoryLayout annotations/attributes in the public API In-Reply-To: References: <4AWBvAqFoajno3EzZ9hWCbyTfzH-qJqPfetM2hNjVY0=.1e39bc47-6ba3-46a1-aadb-4f0d6f3d96aa@github.com> Message-ID: On Tue, 24 Mar 2020 16:22:07 GMT, Jorn Vernee wrote: >> Hi, >> >> This PR exposed MemoryLayout attributes in the public API. >> >> A summary of the changes: >> - Renamed annotation -> attribute everywhere to avoid confusion with Java language annotations >> - Made sure that annotations were being serialized as part of a MemoryLayout's ConstantDesc, as well as the alignment >> which was previously left out. (The latter also meant changing PaddingLayout::hasNaturalAlignment to always return >> `true`, so serializing alignment is skipped for padding). Removed special casing for the abiType attribute. This can >> now instead be handled through the generic attribute mechanism. >> >> Thanks, >> Jorn > > Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision: > > Addressed review comments + added basic tests src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SystemABI.java line 190: > 189: * @return the retrieved ABI type > 190: * @throws IllegalArgumentException if the given layout does not have an ABI type annotation > 191: */ Suggestion: * @throws IllegalArgumentException if the given layout does not have an ABI type attribute src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryLayout.java line 303: > 302: */ > 303: default Optional attribute(String name, Class type) { > 304: return attribute(name).filter(type::isInstance).map(type::cast); Not sure I like this method. While it works assuming all constable implementation are non-generic, it will stop working correctly as soon as you have a generic class implementing a constable. Maybe save the sugar for later? (btw this was there in the previous iteration too but I've missed - guess because it was a default method and I focused on AbstractLayout) ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/64 From jvernee at openjdk.java.net Tue Mar 24 17:26:55 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Tue, 24 Mar 2020 17:26:55 GMT Subject: [foreign-abi] [Rev 02] RFR: 8241504: Expose MemoryLayout annotations/attributes in the public API In-Reply-To: <4AWBvAqFoajno3EzZ9hWCbyTfzH-qJqPfetM2hNjVY0=.1e39bc47-6ba3-46a1-aadb-4f0d6f3d96aa@github.com> References: <4AWBvAqFoajno3EzZ9hWCbyTfzH-qJqPfetM2hNjVY0=.1e39bc47-6ba3-46a1-aadb-4f0d6f3d96aa@github.com> Message-ID: > Hi, > > This PR exposed MemoryLayout attributes in the public API. > > A summary of the changes: > - Renamed annotation -> attribute everywhere to avoid confusion with Java language annotations > - Made sure that annotations were being serialized as part of a MemoryLayout's ConstantDesc, as well as the alignment > which was previously left out. (The latter also meant changing PaddingLayout::hasNaturalAlignment to always return > `true`, so serializing alignment is skipped for padding). Removed special casing for the abiType attribute. This can > now instead be handled through the generic attribute mechanism. > > Thanks, > Jorn Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision: Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SystemABI.java Co-Authored-By: Maurizio Cimadamore <54672762+mcimadamore at users.noreply.github.com> ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/64/files - new: https://git.openjdk.java.net/panama-foreign/pull/64/files/2d58b86d..380a1b04 Webrevs: - full: https://webrevs.openjdk.java.net/panama-foreign/64/webrev.02 - incr: https://webrevs.openjdk.java.net/panama-foreign/64/webrev.01-02 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/64.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/64/head:pull/64 PR: https://git.openjdk.java.net/panama-foreign/pull/64 From jorn.vernee at oracle.com Tue Mar 24 17:29:18 2020 From: jorn.vernee at oracle.com (Jorn Vernee) Date: Tue, 24 Mar 2020 18:29:18 +0100 Subject: [foreign-memaccess] [Rev 03] RFR: JDK-8241154: Clarify the role of MemorySegments In-Reply-To: References: <8AnpPW3l2gc1cVUcRqpSgMp-0MxUDOmjTct0VAnhHRw=.a3b7f51f-ca12-472a-b337-860954c8743a@github.com> Message-ID: I agree with Paul. Would be nice to split out the registerCleaner part and handle that in a separate PR. Jorn On 24/03/2020 13:03, Maurizio Cimadamore wrote: > On Mon, 23 Mar 2020 19:04:47 GMT, Maurizio Cimadamore wrote: > >>> Looks good. Left some minor inline comments >> Uploaded new version which addresses review comments and adds some extra API points to obtain raw address/base object >> associated with memory source (this makes ForeignUnsafe redundant). Javadoc available here: >> http://cr.openjdk.java.net/~mcimadamore/panama/8241154_javadoc_v2/javadoc/jdk/incubator/foreign/package-summary.html > Just realized that for this to work properly I need to add reachabilty fences in all the var handle code (at least, > possibly AB invokers need to do the same). Should I do it as part of this effort, or should I split and deal with > registerCleaner later? > > ------------- > > PR: https://git.openjdk.java.net/panama-foreign/pull/54 From jvernee at openjdk.java.net Tue Mar 24 17:33:15 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Tue, 24 Mar 2020 17:33:15 GMT Subject: [foreign-abi] [Rev 01] RFR: 8241504: Expose MemoryLayout annotations/attributes in the public API In-Reply-To: References: <4AWBvAqFoajno3EzZ9hWCbyTfzH-qJqPfetM2hNjVY0=.1e39bc47-6ba3-46a1-aadb-4f0d6f3d96aa@github.com> Message-ID: On Tue, 24 Mar 2020 17:06:40 GMT, Maurizio Cimadamore wrote: >> Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision: >> >> Addressed review comments + added basic tests > > src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryLayout.java line 303: > >> 302: */ >> 303: default Optional attribute(String name, Class type) { >> 304: return attribute(name).filter(type::isInstance).map(type::cast); > > Not sure I like this method. While it works assuming all constable implementation are non-generic, it will stop working > correctly as soon as you have a generic class implementing a constable. Maybe save the sugar for later? > (btw this was there in the previous iteration too but I've missed - guess because it was a default method and I focused > on AbstractLayout) I see what you mean. It's not that easy to get a `Class` when `T` is a generic type. I'll remove this helper for now. (adding SystemABI.Type::fromLayout removed most use-cases we currently have as well). ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/64 From jvernee at openjdk.java.net Tue Mar 24 17:38:20 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Tue, 24 Mar 2020 17:38:20 GMT Subject: [foreign-abi] [Rev 03] RFR: 8241504: Expose MemoryLayout annotations/attributes in the public API In-Reply-To: <4AWBvAqFoajno3EzZ9hWCbyTfzH-qJqPfetM2hNjVY0=.1e39bc47-6ba3-46a1-aadb-4f0d6f3d96aa@github.com> References: <4AWBvAqFoajno3EzZ9hWCbyTfzH-qJqPfetM2hNjVY0=.1e39bc47-6ba3-46a1-aadb-4f0d6f3d96aa@github.com> Message-ID: <2rW1r9mGJnc-SgDht0u_z9L0ixoj2JwgIAiKfDQB0m8=.86ee2e5d-b324-42b8-949b-e403d8c6cb2c@github.com> > Hi, > > This PR exposed MemoryLayout attributes in the public API. > > A summary of the changes: > - Renamed annotation -> attribute everywhere to avoid confusion with Java language annotations > - Made sure that annotations were being serialized as part of a MemoryLayout's ConstantDesc, as well as the alignment > which was previously left out. (The latter also meant changing PaddingLayout::hasNaturalAlignment to always return > `true`, so serializing alignment is skipped for padding). Removed special casing for the abiType attribute. This can > now instead be handled through the generic attribute mechanism. > > Thanks, > Jorn Jorn Vernee has updated the pull request incrementally with two additional commits since the last revision: - Merge branch 'Attributes' of https://github.com/JornVernee/panama-foreign into Attributes - Remove ML::attribute(String, Class) helper method. ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/64/files - new: https://git.openjdk.java.net/panama-foreign/pull/64/files/380a1b04..d3baa351 Webrevs: - full: https://webrevs.openjdk.java.net/panama-foreign/64/webrev.03 - incr: https://webrevs.openjdk.java.net/panama-foreign/64/webrev.02-03 Stats: 32 lines in 5 files changed: 7 ins; 20 del; 5 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/64.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/64/head:pull/64 PR: https://git.openjdk.java.net/panama-foreign/pull/64 From vladimir.x.ivanov at oracle.com Tue Mar 24 17:43:22 2020 From: vladimir.x.ivanov at oracle.com (Vladimir Ivanov) Date: Tue, 24 Mar 2020 20:43:22 +0300 Subject: Reinterpret code generation cleanup for x86 In-Reply-To: References: Message-ID: > http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/ReinterpretCleanup/webrev.00/ Looks good. Best regards, Vladimir Ivanov From shravya.rukmannagari at intel.com Tue Mar 24 17:43:54 2020 From: shravya.rukmannagari at intel.com (Rukmannagari, Shravya) Date: Tue, 24 Mar 2020 17:43:54 +0000 Subject: Reinterpret code generation cleanup for x86 In-Reply-To: References: Message-ID: Hi Sandhya, The patch looks good to me. Thanks, Shravya. From: Viswanathan, Sandhya Sent: Tuesday, March 24, 2020 10:09 AM To: panama-dev at openjdk.java.net; Rukmannagari, Shravya Subject: Reinterpret code generation cleanup for x86 Please find below a patch which cleans up reinterpret code gen for x86: http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/ReinterpretCleanup/webrev.00/ Best Regards, Sandhya From sandhya.viswanathan at intel.com Tue Mar 24 17:49:53 2020 From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya) Date: Tue, 24 Mar 2020 17:49:53 +0000 Subject: Reinterpret code generation cleanup for x86 In-Reply-To: References: Message-ID: Shravya/Vladimir, Thanks a lot for review. Best Regards, Sandhya -----Original Message----- From: Vladimir Ivanov Sent: Tuesday, March 24, 2020 10:43 AM To: Viswanathan, Sandhya ; panama-dev at openjdk.java.net; Rukmannagari, Shravya Subject: Re: Reinterpret code generation cleanup for x86 > http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/ReinterpretCleanup/webrev.00/ Looks good. Best regards, Vladimir Ivanov From sandhya.viswanathan at intel.com Tue Mar 24 17:50:59 2020 From: sandhya.viswanathan at intel.com (sandhya.viswanathan at intel.com) Date: Tue, 24 Mar 2020 17:50:59 +0000 Subject: hg: panama/dev: Summary: [vectorIntrinsics] Reinterpret cleanup for x86 Message-ID: <202003241751.02OHoxGS018041@aojmv0008.oracle.com> Changeset: 6ef39c6aee19 Author: sviswanathan Date: 2020-03-24 10:49 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/6ef39c6aee19 Summary: [vectorIntrinsics] Reinterpret cleanup for x86 Reviewed-by: srukmannagar, vlivanov ! src/hotspot/cpu/x86/x86.ad From vladimir.x.ivanov at oracle.com Tue Mar 24 21:07:28 2020 From: vladimir.x.ivanov at oracle.com (Vladimir Ivanov) Date: Wed, 25 Mar 2020 00:07:28 +0300 Subject: [vectorIntrinsics] RFR: Refactor JVM Interface Message-ID: <742e2d54-59dd-6568-bfa6-4043160f1be5@oracle.com> http://cr.openjdk.java.net/~vlivanov/panama/vector/new_jvm_interface/webrev.00/ (First cleanup pass over the JVM implementation. The focus is on JVM-JDK interface.) New JVM interface is minimal and contains intrinsics, well-known classes, and opcode declarations. It resides in java.base (jdk.internal.vm.vector.VectorSupport) and exports the interface to jdk.incubator.vector module. JVM doesn't need to know about typed vectors anymore: VectorPayload, VectorMask, and VectorShuffle are enough to represent all interesting cases and provide enough information to the JVM how to handle vector classes: - VectorPayload class represents vector values which are amenable to aggressive box elimination transformation * vector on-heap representation remains primitive array-backed; * classes which extend VectorPayload should declare 2 static fields (VLENGTH and ETYPE) which describe vector on-heap representation to the JVM (array length and its element type); - VectorShuffle and VectorMask mark vector shuffles and masks for the JVM; - VectorSpecies and Vector are there to enhance type checking of JVM intrinsic usages; Also, additional refactorings/fixes: * merged reinterpret and cast intrinsics into one (convert) * refactored rematerialization support * don't remove unused VectorBoxAllocate nodes, but replace them with safepoints * VM vector support is turned off by default, but automatically enabled when user adds jdk.incubator.vector incubator module to the graph * multiple minor fixes and cleanups along the way Testing: jdk/incubator/vector tests Best regards, Vladimir Ivanov From sandhya.viswanathan at intel.com Tue Mar 24 21:41:32 2020 From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya) Date: Tue, 24 Mar 2020 21:41:32 +0000 Subject: [vector-unstable] RFR: Remove SVML stubs and JVM support for them In-Reply-To: <885ec69f-d4ba-bb08-94af-afe5163b86c9@oracle.com> References: <885ec69f-d4ba-bb08-94af-afe5163b86c9@oracle.com> Message-ID: Hi Vladimir, The patch looks good to me. Thanks a lot for taking care of this. Best Regards, Sandhya -----Original Message----- From: panama-dev On Behalf Of Vladimir Ivanov Sent: Tuesday, March 24, 2020 8:08 AM To: panama-dev Subject: [vector-unstable] RFR: Remove SVML stubs and JVM support for them http://cr.openjdk.java.net/~vlivanov/panama/vector-unstable/remove_svml/webrev.00/ Considering SVML stubs aren't going to make it into the first version, I propose to remove relevant code from stabilization branch. The patch removes JVM support for SVML stubs (along with vector call support) and migrates API implementation to scalar version. The webrev doesn't include the stubs, but I plan to remove them as well [1]. Testing: jdk/incubator/vector tests all pass. Best regards, Vladimir Ivanov [1] R src/hotspot/os_cpu/linux_x86/svml_d_acos_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_d_asin_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_d_atan2_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_d_atan_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_d_cbrt_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_d_cos_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_d_cosh_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_d_exp_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_d_expm1_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_d_hypot_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_d_log10_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_d_log1p_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_d_log_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_d_pow_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_d_sin_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_d_sinh_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_d_tan_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_d_tanh_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_s_acos_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_s_asin_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_s_atan2_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_s_atan_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_s_cbrt_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_s_cos_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_s_cosh_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_s_exp_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_s_expm1_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_s_hypot_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_s_log10_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_s_log1p_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_s_log_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_s_pow_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_s_sin_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_s_sinh_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_s_tan_linux_x86.S R src/hotspot/os_cpu/linux_x86/svml_s_tanh_linux_x86.S R src/hotspot/os_cpu/windows_x86/svml_d_acos_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_d_asin_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_d_atan2_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_d_atan_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_d_cbrt_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_d_cos_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_d_cosh_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_d_exp_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_d_expm1_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_d_hypot_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_d_log10_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_d_log1p_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_d_log_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_d_pow_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_d_sin_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_d_sinh_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_d_tan_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_d_tanh_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_s_acos_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_s_asin_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_s_atan2_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_s_atan_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_s_cbrt_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_s_cos_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_s_cosh_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_s_exp_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_s_expm1_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_s_hypot_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_s_log10_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_s_log1p_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_s_log_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_s_pow_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_s_sin_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_s_sinh_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_s_tan_windows_x86.s R src/hotspot/os_cpu/windows_x86/svml_s_tanh_windows_x86.s From vladimir.x.ivanov at oracle.com Tue Mar 24 21:52:31 2020 From: vladimir.x.ivanov at oracle.com (Vladimir Ivanov) Date: Wed, 25 Mar 2020 00:52:31 +0300 Subject: [vector-unstable] RFR: Remove SVML stubs and JVM support for them In-Reply-To: References: <885ec69f-d4ba-bb08-94af-afe5163b86c9@oracle.com> Message-ID: <204f8ebb-c193-9d07-c7f8-278ee4b63efe@oracle.com> Thanks, Sandhya. I'm still uncertain how vectorIntrinsics and vector-unstable branches interact right now. It looks like vector-unstable is regularly synced with vectorIntrinsics, so we would like to minimize the divergence to simplify merging. On the other hand, stabilization will diverge the code. So, as I see it, at some point we need to stop regular merges and switch to jdk/jdk merges to simplify stabilization work. I'm fine with delaying SVML removal until all planned patches are there. Let me know when it is a good time to push it. Once the implementation is integrated into the mainline, we can sync it with vectorIntrinsics. Best regards, Vladimir Ivanov On 25.03.2020 00:41, Viswanathan, Sandhya wrote: > Hi Vladimir, > > The patch looks good to me. Thanks a lot for taking care of this. > > Best Regards, > Sandhya > > -----Original Message----- > From: panama-dev On Behalf Of Vladimir Ivanov > Sent: Tuesday, March 24, 2020 8:08 AM > To: panama-dev > Subject: [vector-unstable] RFR: Remove SVML stubs and JVM support for them > > http://cr.openjdk.java.net/~vlivanov/panama/vector-unstable/remove_svml/webrev.00/ > > Considering SVML stubs aren't going to make it into the first version, I propose to remove relevant code from stabilization branch. > > The patch removes JVM support for SVML stubs (along with vector call > support) and migrates API implementation to scalar version. > > The webrev doesn't include the stubs, but I plan to remove them as well [1]. > > Testing: jdk/incubator/vector tests all pass. > > Best regards, > Vladimir Ivanov > > [1] > R src/hotspot/os_cpu/linux_x86/svml_d_acos_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_asin_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_atan2_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_atan_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_cbrt_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_cos_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_cosh_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_exp_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_expm1_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_hypot_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_log10_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_log1p_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_log_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_pow_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_sin_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_sinh_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_tan_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_tanh_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_acos_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_asin_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_atan2_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_atan_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_cbrt_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_cos_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_cosh_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_exp_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_expm1_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_hypot_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_log10_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_log1p_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_log_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_pow_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_sin_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_sinh_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_tan_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_tanh_linux_x86.S > R src/hotspot/os_cpu/windows_x86/svml_d_acos_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_asin_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_atan2_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_atan_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_cbrt_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_cos_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_cosh_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_exp_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_expm1_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_hypot_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_log10_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_log1p_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_log_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_pow_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_sin_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_sinh_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_tan_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_tanh_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_acos_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_asin_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_atan2_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_atan_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_cbrt_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_cos_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_cosh_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_exp_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_expm1_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_hypot_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_log10_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_log1p_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_log_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_pow_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_sin_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_sinh_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_tan_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_tanh_windows_x86.s > From sandhya.viswanathan at intel.com Tue Mar 24 22:05:53 2020 From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya) Date: Tue, 24 Mar 2020 22:05:53 +0000 Subject: [vector-unstable] RFR: Remove SVML stubs and JVM support for them In-Reply-To: <204f8ebb-c193-9d07-c7f8-278ee4b63efe@oracle.com> References: <885ec69f-d4ba-bb08-94af-afe5163b86c9@oracle.com> <204f8ebb-c193-9d07-c7f8-278ee4b63efe@oracle.com> Message-ID: Hi Vladimir, I have been manually doing the merge from vectorIntrinisics to vector-unstable branch as and when needed. Let us wait till your "JVM interface refactor" patch is checked in vectorIntrinsics and merged to vector-unstable before pushing "SVML removal" to vector-ustable. I will run the "JVM interface refactor" through our tests today. Best Regards, Sandhya -----Original Message----- From: Vladimir Ivanov Sent: Tuesday, March 24, 2020 2:53 PM To: Viswanathan, Sandhya ; panama-dev Subject: Re: [vector-unstable] RFR: Remove SVML stubs and JVM support for them Thanks, Sandhya. I'm still uncertain how vectorIntrinsics and vector-unstable branches interact right now. It looks like vector-unstable is regularly synced with vectorIntrinsics, so we would like to minimize the divergence to simplify merging. On the other hand, stabilization will diverge the code. So, as I see it, at some point we need to stop regular merges and switch to jdk/jdk merges to simplify stabilization work. I'm fine with delaying SVML removal until all planned patches are there. Let me know when it is a good time to push it. Once the implementation is integrated into the mainline, we can sync it with vectorIntrinsics. Best regards, Vladimir Ivanov On 25.03.2020 00:41, Viswanathan, Sandhya wrote: > Hi Vladimir, > > The patch looks good to me. Thanks a lot for taking care of this. > > Best Regards, > Sandhya > > -----Original Message----- > From: panama-dev On Behalf Of > Vladimir Ivanov > Sent: Tuesday, March 24, 2020 8:08 AM > To: panama-dev > Subject: [vector-unstable] RFR: Remove SVML stubs and JVM support for > them > > http://cr.openjdk.java.net/~vlivanov/panama/vector-unstable/remove_svm > l/webrev.00/ > > Considering SVML stubs aren't going to make it into the first version, I propose to remove relevant code from stabilization branch. > > The patch removes JVM support for SVML stubs (along with vector call > support) and migrates API implementation to scalar version. > > The webrev doesn't include the stubs, but I plan to remove them as well [1]. > > Testing: jdk/incubator/vector tests all pass. > > Best regards, > Vladimir Ivanov > > [1] > R src/hotspot/os_cpu/linux_x86/svml_d_acos_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_asin_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_atan2_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_atan_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_cbrt_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_cos_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_cosh_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_exp_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_expm1_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_hypot_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_log10_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_log1p_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_log_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_pow_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_sin_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_sinh_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_tan_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_d_tanh_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_acos_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_asin_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_atan2_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_atan_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_cbrt_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_cos_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_cosh_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_exp_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_expm1_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_hypot_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_log10_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_log1p_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_log_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_pow_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_sin_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_sinh_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_tan_linux_x86.S > R src/hotspot/os_cpu/linux_x86/svml_s_tanh_linux_x86.S > R src/hotspot/os_cpu/windows_x86/svml_d_acos_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_asin_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_atan2_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_atan_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_cbrt_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_cos_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_cosh_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_exp_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_expm1_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_hypot_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_log10_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_log1p_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_log_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_pow_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_sin_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_sinh_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_tan_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_d_tanh_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_acos_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_asin_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_atan2_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_atan_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_cbrt_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_cos_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_cosh_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_exp_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_expm1_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_hypot_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_log10_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_log1p_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_log_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_pow_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_sin_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_sinh_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_tan_windows_x86.s > R src/hotspot/os_cpu/windows_x86/svml_s_tanh_windows_x86.s > From vladimir.x.ivanov at oracle.com Tue Mar 24 22:16:42 2020 From: vladimir.x.ivanov at oracle.com (Vladimir Ivanov) Date: Wed, 25 Mar 2020 01:16:42 +0300 Subject: [vector-unstable] RFR: Remove SVML stubs and JVM support for them In-Reply-To: References: <885ec69f-d4ba-bb08-94af-afe5163b86c9@oracle.com> <204f8ebb-c193-9d07-c7f8-278ee4b63efe@oracle.com> Message-ID: <3e69cdc0-cd3b-1d7f-d691-1d27f7b43bd9@oracle.com> > Let us wait till your "JVM interface refactor" patch is checked in vectorIntrinsics and merged to vector-unstable before pushing "SVML removal" to vector-ustable. Sure! > I will run the "JVM interface refactor" through our tests today. Thanks! I'll wait for the results. Best regards, Vladimir Ivanov > -----Original Message----- > From: Vladimir Ivanov > Sent: Tuesday, March 24, 2020 2:53 PM > To: Viswanathan, Sandhya ; panama-dev > Subject: Re: [vector-unstable] RFR: Remove SVML stubs and JVM support for them > > Thanks, Sandhya. > > I'm still uncertain how vectorIntrinsics and vector-unstable branches interact right now. > > It looks like vector-unstable is regularly synced with vectorIntrinsics, so we would like to minimize the divergence to simplify merging. > > On the other hand, stabilization will diverge the code. > > So, as I see it, at some point we need to stop regular merges and switch to jdk/jdk merges to simplify stabilization work. > > I'm fine with delaying SVML removal until all planned patches are there. > Let me know when it is a good time to push it. > > Once the implementation is integrated into the mainline, we can sync it with vectorIntrinsics. > > Best regards, > Vladimir Ivanov > > On 25.03.2020 00:41, Viswanathan, Sandhya wrote: >> Hi Vladimir, >> >> The patch looks good to me. Thanks a lot for taking care of this. >> >> Best Regards, >> Sandhya >> >> -----Original Message----- >> From: panama-dev On Behalf Of >> Vladimir Ivanov >> Sent: Tuesday, March 24, 2020 8:08 AM >> To: panama-dev >> Subject: [vector-unstable] RFR: Remove SVML stubs and JVM support for >> them >> >> http://cr.openjdk.java.net/~vlivanov/panama/vector-unstable/remove_svm >> l/webrev.00/ >> >> Considering SVML stubs aren't going to make it into the first version, I propose to remove relevant code from stabilization branch. >> >> The patch removes JVM support for SVML stubs (along with vector call >> support) and migrates API implementation to scalar version. >> >> The webrev doesn't include the stubs, but I plan to remove them as well [1]. >> >> Testing: jdk/incubator/vector tests all pass. >> >> Best regards, >> Vladimir Ivanov >> >> [1] >> R src/hotspot/os_cpu/linux_x86/svml_d_acos_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_d_asin_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_d_atan2_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_d_atan_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_d_cbrt_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_d_cos_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_d_cosh_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_d_exp_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_d_expm1_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_d_hypot_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_d_log10_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_d_log1p_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_d_log_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_d_pow_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_d_sin_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_d_sinh_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_d_tan_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_d_tanh_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_s_acos_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_s_asin_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_s_atan2_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_s_atan_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_s_cbrt_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_s_cos_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_s_cosh_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_s_exp_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_s_expm1_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_s_hypot_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_s_log10_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_s_log1p_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_s_log_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_s_pow_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_s_sin_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_s_sinh_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_s_tan_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_s_tanh_linux_x86.S >> R src/hotspot/os_cpu/windows_x86/svml_d_acos_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_d_asin_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_d_atan2_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_d_atan_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_d_cbrt_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_d_cos_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_d_cosh_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_d_exp_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_d_expm1_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_d_hypot_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_d_log10_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_d_log1p_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_d_log_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_d_pow_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_d_sin_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_d_sinh_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_d_tan_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_d_tanh_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_s_acos_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_s_asin_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_s_atan2_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_s_atan_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_s_cbrt_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_s_cos_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_s_cosh_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_s_exp_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_s_expm1_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_s_hypot_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_s_log10_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_s_log1p_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_s_log_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_s_pow_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_s_sin_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_s_sinh_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_s_tan_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_s_tanh_windows_x86.s >> From paul.sandoz at oracle.com Tue Mar 24 22:27:27 2020 From: paul.sandoz at oracle.com (Paul Sandoz) Date: Tue, 24 Mar 2020 15:27:27 -0700 Subject: [vectorIntrinsics] RFR: Refactor JVM Interface In-Reply-To: <742e2d54-59dd-6568-bfa6-4043160f1be5@oracle.com> References: <742e2d54-59dd-6568-bfa6-4043160f1be5@oracle.com> Message-ID: Hi Vladimir, Thanks for making such a significant cleanup. Java side looks good. I browsed the HS side. It looks like you greatly simplified some code, namely that which was gated by the old flag VectorAPIAggressiveReboxing. Is that related to "don't remove unused VectorBoxAllocate nodes, but replace them with safepoints?? Paul. > On Mar 24, 2020, at 2:07 PM, Vladimir Ivanov wrote: > > http://cr.openjdk.java.net/~vlivanov/panama/vector/new_jvm_interface/webrev.00/ > > (First cleanup pass over the JVM implementation. > The focus is on JVM-JDK interface.) > > New JVM interface is minimal and contains intrinsics, well-known classes, and opcode declarations. It resides in java.base (jdk.internal.vm.vector.VectorSupport) and exports the interface to jdk.incubator.vector module. > > JVM doesn't need to know about typed vectors anymore: VectorPayload, VectorMask, and VectorShuffle are enough to represent all interesting cases and provide enough information to the JVM how to handle vector classes: > > - VectorPayload class represents vector values which are amenable to aggressive box elimination transformation > * vector on-heap representation remains primitive array-backed; > * classes which extend VectorPayload should declare 2 static fields (VLENGTH and ETYPE) which describe vector on-heap representation to the JVM (array length and its element type); > > - VectorShuffle and VectorMask mark vector shuffles and masks for the JVM; > > - VectorSpecies and Vector are there to enhance type checking of JVM intrinsic usages; > > > Also, additional refactorings/fixes: > > * merged reinterpret and cast intrinsics into one (convert) > > * refactored rematerialization support > > * don't remove unused VectorBoxAllocate nodes, but replace them with safepoints > > * VM vector support is turned off by default, but automatically enabled when user adds jdk.incubator.vector incubator module to the graph > > * multiple minor fixes and cleanups along the way > > Testing: jdk/incubator/vector tests > > Best regards, > Vladimir Ivanov From vladimir.x.ivanov at oracle.com Tue Mar 24 22:34:39 2020 From: vladimir.x.ivanov at oracle.com (Vladimir Ivanov) Date: Wed, 25 Mar 2020 01:34:39 +0300 Subject: [vectorIntrinsics] RFR: Refactor JVM Interface In-Reply-To: References: <742e2d54-59dd-6568-bfa6-4043160f1be5@oracle.com> Message-ID: <1707ba0e-2ad7-f187-71c8-2e7213b857c4@oracle.com> > Java side looks good. Thanks, Paul. > I browsed the HS side. It looks like you greatly simplified some code, namely that which was gated by the old flag VectorAPIAggressiveReboxing. Is that related to "don't remove unused VectorBoxAllocate nodes, but replace them with safepoints?? Not really, most of the code are still there. In particular, vector box elimination pass is moved into src/hotspot/share/opto/vector.cpp [1]. The size is significantly reduced since JVM doesn't need to enumerate all typed vector variants anymore. And VBA-related change is a 1-liner in PhaseVector::eliminate_vbox_alloc_node(): 471 void PhaseVector::eliminate_vbox_alloc_node(VectorBoxAllocateNode* vbox_alloc) { 472 JVMState* jvms = clone_jvms(C, vbox_alloc); 473 GraphKit kit(jvms); 474 // Remove VBA, but leave a safepoint behind. 475 // Otherwise, it may end up with a loop without any safepoint polls. 476 kit.replace_call(vbox_alloc, kit.map(), true); 477 C->remove_macro_node(vbox_alloc); 478 } Best regards, Vladimir Ivanov [1] http://cr.openjdk.java.net/~vlivanov/panama/vector/new_jvm_interface/webrev.00/src/hotspot/share/opto/vector.cpp.html > > Paul. > >> On Mar 24, 2020, at 2:07 PM, Vladimir Ivanov wrote: >> >> http://cr.openjdk.java.net/~vlivanov/panama/vector/new_jvm_interface/webrev.00/ >> >> (First cleanup pass over the JVM implementation. >> The focus is on JVM-JDK interface.) >> >> New JVM interface is minimal and contains intrinsics, well-known classes, and opcode declarations. It resides in java.base (jdk.internal.vm.vector.VectorSupport) and exports the interface to jdk.incubator.vector module. >> >> JVM doesn't need to know about typed vectors anymore: VectorPayload, VectorMask, and VectorShuffle are enough to represent all interesting cases and provide enough information to the JVM how to handle vector classes: >> >> - VectorPayload class represents vector values which are amenable to aggressive box elimination transformation >> * vector on-heap representation remains primitive array-backed; >> * classes which extend VectorPayload should declare 2 static fields (VLENGTH and ETYPE) which describe vector on-heap representation to the JVM (array length and its element type); >> >> - VectorShuffle and VectorMask mark vector shuffles and masks for the JVM; >> >> - VectorSpecies and Vector are there to enhance type checking of JVM intrinsic usages; >> >> >> Also, additional refactorings/fixes: >> >> * merged reinterpret and cast intrinsics into one (convert) >> >> * refactored rematerialization support >> >> * don't remove unused VectorBoxAllocate nodes, but replace them with safepoints >> >> * VM vector support is turned off by default, but automatically enabled when user adds jdk.incubator.vector incubator module to the graph >> >> * multiple minor fixes and cleanups along the way >> >> Testing: jdk/incubator/vector tests >> >> Best regards, >> Vladimir Ivanov > From vladimir.x.ivanov at oracle.com Tue Mar 24 22:35:46 2020 From: vladimir.x.ivanov at oracle.com (Vladimir Ivanov) Date: Wed, 25 Mar 2020 01:35:46 +0300 Subject: [vector-unstable] RFR: Remove SVML stubs and JVM support for them In-Reply-To: References: <885ec69f-d4ba-bb08-94af-afe5163b86c9@oracle.com> Message-ID: Hi Paul, > Save the reverse patch for future use :-) It'll stay in vectorIntrinsics anyway :-) > It would be nice if much of the infrastructure could remain in place in preparation, but that does complicate review and is dead code. > Java changes look good. Thanks for the review. Best regards, Vladimir Ivanov > > Paul. > >> On Mar 24, 2020, at 8:07 AM, Vladimir Ivanov wrote: >> >> http://cr.openjdk.java.net/~vlivanov/panama/vector-unstable/remove_svml/webrev.00/ >> >> Considering SVML stubs aren't going to make it into the first version, I propose to remove relevant code from stabilization branch. >> >> The patch removes JVM support for SVML stubs (along with vector call support) and migrates API implementation to scalar version. >> >> The webrev doesn't include the stubs, but I plan to remove them as well [1]. >> >> Testing: jdk/incubator/vector tests all pass. >> >> Best regards, >> Vladimir Ivanov >> >> [1] >> R src/hotspot/os_cpu/linux_x86/svml_d_acos_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_d_asin_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_d_atan2_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_d_atan_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_d_cbrt_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_d_cos_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_d_cosh_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_d_exp_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_d_expm1_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_d_hypot_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_d_log10_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_d_log1p_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_d_log_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_d_pow_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_d_sin_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_d_sinh_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_d_tan_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_d_tanh_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_s_acos_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_s_asin_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_s_atan2_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_s_atan_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_s_cbrt_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_s_cos_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_s_cosh_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_s_exp_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_s_expm1_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_s_hypot_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_s_log10_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_s_log1p_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_s_log_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_s_pow_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_s_sin_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_s_sinh_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_s_tan_linux_x86.S >> R src/hotspot/os_cpu/linux_x86/svml_s_tanh_linux_x86.S >> R src/hotspot/os_cpu/windows_x86/svml_d_acos_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_d_asin_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_d_atan2_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_d_atan_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_d_cbrt_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_d_cos_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_d_cosh_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_d_exp_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_d_expm1_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_d_hypot_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_d_log10_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_d_log1p_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_d_log_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_d_pow_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_d_sin_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_d_sinh_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_d_tan_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_d_tanh_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_s_acos_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_s_asin_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_s_atan2_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_s_atan_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_s_cbrt_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_s_cos_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_s_cosh_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_s_exp_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_s_expm1_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_s_hypot_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_s_log10_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_s_log1p_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_s_log_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_s_pow_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_s_sin_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_s_sinh_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_s_tan_windows_x86.s >> R src/hotspot/os_cpu/windows_x86/svml_s_tanh_windows_x86.s > From paul.sandoz at oracle.com Tue Mar 24 22:53:17 2020 From: paul.sandoz at oracle.com (Paul Sandoz) Date: Tue, 24 Mar 2020 15:53:17 -0700 Subject: [vectorIntrinsics] RFR: Refactor JVM Interface In-Reply-To: <1707ba0e-2ad7-f187-71c8-2e7213b857c4@oracle.com> References: <742e2d54-59dd-6568-bfa6-4043160f1be5@oracle.com> <1707ba0e-2ad7-f187-71c8-2e7213b857c4@oracle.com> Message-ID: <148E9CD5-B579-428F-9D32-ADEA1EA37927@oracle.com> > On Mar 24, 2020, at 3:34 PM, Vladimir Ivanov wrote: > > >> Java side looks good. > > Thanks, Paul. > >> I browsed the HS side. It looks like you greatly simplified some code, namely that which was gated by the old flag VectorAPIAggressiveReboxing. Is that related to "don't remove unused VectorBoxAllocate nodes, but replace them with safepoints?? > > Not really, most of the code are still there. In particular, vector box elimination pass is moved into src/hotspot/share/opto/vector.cpp [1]. > Ok, I see now. Thanks. Paul. > The size is significantly reduced since JVM doesn't need to enumerate all typed vector variants anymore. > > And VBA-related change is a 1-liner in PhaseVector::eliminate_vbox_alloc_node(): > > 471 void PhaseVector::eliminate_vbox_alloc_node(VectorBoxAllocateNode* vbox_alloc) { > 472 JVMState* jvms = clone_jvms(C, vbox_alloc); > 473 GraphKit kit(jvms); > 474 // Remove VBA, but leave a safepoint behind. > 475 // Otherwise, it may end up with a loop without any safepoint polls. > 476 kit.replace_call(vbox_alloc, kit.map(), true); > 477 C->remove_macro_node(vbox_alloc); > 478 } > > Best regards, > Vladimir Ivanov > > [1] http://cr.openjdk.java.net/~vlivanov/panama/vector/new_jvm_interface/webrev.00/src/hotspot/share/opto/vector.cpp.html > >> Paul. >>> On Mar 24, 2020, at 2:07 PM, Vladimir Ivanov wrote: >>> >>> http://cr.openjdk.java.net/~vlivanov/panama/vector/new_jvm_interface/webrev.00/ >>> >>> (First cleanup pass over the JVM implementation. >>> The focus is on JVM-JDK interface.) >>> >>> New JVM interface is minimal and contains intrinsics, well-known classes, and opcode declarations. It resides in java.base (jdk.internal.vm.vector.VectorSupport) and exports the interface to jdk.incubator.vector module. >>> >>> JVM doesn't need to know about typed vectors anymore: VectorPayload, VectorMask, and VectorShuffle are enough to represent all interesting cases and provide enough information to the JVM how to handle vector classes: >>> >>> - VectorPayload class represents vector values which are amenable to aggressive box elimination transformation >>> * vector on-heap representation remains primitive array-backed; >>> * classes which extend VectorPayload should declare 2 static fields (VLENGTH and ETYPE) which describe vector on-heap representation to the JVM (array length and its element type); >>> >>> - VectorShuffle and VectorMask mark vector shuffles and masks for the JVM; >>> >>> - VectorSpecies and Vector are there to enhance type checking of JVM intrinsic usages; >>> >>> >>> Also, additional refactorings/fixes: >>> >>> * merged reinterpret and cast intrinsics into one (convert) >>> >>> * refactored rematerialization support >>> >>> * don't remove unused VectorBoxAllocate nodes, but replace them with safepoints >>> >>> * VM vector support is turned off by default, but automatically enabled when user adds jdk.incubator.vector incubator module to the graph >>> >>> * multiple minor fixes and cleanups along the way >>> >>> Testing: jdk/incubator/vector tests >>> >>> Best regards, >>> Vladimir Ivanov From sandhya.viswanathan at intel.com Wed Mar 25 02:32:23 2020 From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya) Date: Wed, 25 Mar 2020 02:32:23 +0000 Subject: [vectorIntrinsics] RFR: Refactor JVM Interface In-Reply-To: <742e2d54-59dd-6568-bfa6-4043160f1be5@oracle.com> References: <742e2d54-59dd-6568-bfa6-4043160f1be5@oracle.com> Message-ID: Hi Vladimir, The vector api tests pass on all Intel platforms with this patch. Only one minor build issue was there due to a last remaining UseVectorApiIntrinsics use in stubGenerator_x86_64.cpp. The patch also fixes one long standing vbox related issue that we were seeing on one of our platforms. Please go ahead and check in. Best Regards, Sandhya -----Original Message----- From: panama-dev On Behalf Of Vladimir Ivanov Sent: Tuesday, March 24, 2020 2:07 PM To: panama-dev Subject: [vectorIntrinsics] RFR: Refactor JVM Interface http://cr.openjdk.java.net/~vlivanov/panama/vector/new_jvm_interface/webrev.00/ (First cleanup pass over the JVM implementation. The focus is on JVM-JDK interface.) New JVM interface is minimal and contains intrinsics, well-known classes, and opcode declarations. It resides in java.base (jdk.internal.vm.vector.VectorSupport) and exports the interface to jdk.incubator.vector module. JVM doesn't need to know about typed vectors anymore: VectorPayload, VectorMask, and VectorShuffle are enough to represent all interesting cases and provide enough information to the JVM how to handle vector classes: - VectorPayload class represents vector values which are amenable to aggressive box elimination transformation * vector on-heap representation remains primitive array-backed; * classes which extend VectorPayload should declare 2 static fields (VLENGTH and ETYPE) which describe vector on-heap representation to the JVM (array length and its element type); - VectorShuffle and VectorMask mark vector shuffles and masks for the JVM; - VectorSpecies and Vector are there to enhance type checking of JVM intrinsic usages; Also, additional refactorings/fixes: * merged reinterpret and cast intrinsics into one (convert) * refactored rematerialization support * don't remove unused VectorBoxAllocate nodes, but replace them with safepoints * VM vector support is turned off by default, but automatically enabled when user adds jdk.incubator.vector incubator module to the graph * multiple minor fixes and cleanups along the way Testing: jdk/incubator/vector tests Best regards, Vladimir Ivanov From Yang.Zhang at arm.com Wed Mar 25 09:32:10 2020 From: Yang.Zhang at arm.com (Yang Zhang) Date: Wed, 25 Mar 2020 09:32:10 +0000 Subject: [vectorIntrinsics] RFR: Refactor JVM Interface In-Reply-To: <742e2d54-59dd-6568-bfa6-4043160f1be5@oracle.com> References: <742e2d54-59dd-6568-bfa6-4043160f1be5@oracle.com> Message-ID: Hi Vladimir Except some known failures, the vector api tests pass on AArch64 platform. Thanks for your improvement. Regards Yang -----Original Message----- From: panama-dev On Behalf Of Vladimir Ivanov Sent: Wednesday, March 25, 2020 5:07 AM To: panama-dev Subject: [vectorIntrinsics] RFR: Refactor JVM Interface http://cr.openjdk.java.net/~vlivanov/panama/vector/new_jvm_interface/webrev.00/ (First cleanup pass over the JVM implementation. The focus is on JVM-JDK interface.) New JVM interface is minimal and contains intrinsics, well-known classes, and opcode declarations. It resides in java.base (jdk.internal.vm.vector.VectorSupport) and exports the interface to jdk.incubator.vector module. JVM doesn't need to know about typed vectors anymore: VectorPayload, VectorMask, and VectorShuffle are enough to represent all interesting cases and provide enough information to the JVM how to handle vector classes: - VectorPayload class represents vector values which are amenable to aggressive box elimination transformation * vector on-heap representation remains primitive array-backed; * classes which extend VectorPayload should declare 2 static fields (VLENGTH and ETYPE) which describe vector on-heap representation to the JVM (array length and its element type); - VectorShuffle and VectorMask mark vector shuffles and masks for the JVM; - VectorSpecies and Vector are there to enhance type checking of JVM intrinsic usages; Also, additional refactorings/fixes: * merged reinterpret and cast intrinsics into one (convert) * refactored rematerialization support * don't remove unused VectorBoxAllocate nodes, but replace them with safepoints * VM vector support is turned off by default, but automatically enabled when user adds jdk.incubator.vector incubator module to the graph * multiple minor fixes and cleanups along the way Testing: jdk/incubator/vector tests Best regards, Vladimir Ivanov From vladimir.x.ivanov at oracle.com Wed Mar 25 10:19:49 2020 From: vladimir.x.ivanov at oracle.com (vladimir.x.ivanov at oracle.com) Date: Wed, 25 Mar 2020 10:19:49 +0000 Subject: hg: panama/dev: New JVM interface for Vector API support Message-ID: <202003251019.02PAJndn019863@aojmv0008.oracle.com> Changeset: a0b8fd459a12 Author: vlivanov Date: 2020-03-25 13:19 +0300 URL: https://hg.openjdk.java.net/panama/dev/rev/a0b8fd459a12 New JVM interface for Vector API support ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/share/ci/ciMethod.cpp ! src/hotspot/share/ci/ciMethod.hpp ! src/hotspot/share/ci/ciType.cpp ! src/hotspot/share/ci/ciType.hpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/modules.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/code/debugInfo.hpp ! src/hotspot/share/opto/c2_globals.hpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/callGenerator.cpp ! src/hotspot/share/opto/castnode.cpp ! src/hotspot/share/opto/cfgnode.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/doCall.cpp ! src/hotspot/share/opto/library_call.cpp + src/hotspot/share/opto/library_call.hpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/output.cpp ! src/hotspot/share/opto/phase.cpp ! src/hotspot/share/opto/phase.hpp ! src/hotspot/share/opto/phasetype.hpp ! src/hotspot/share/opto/type.cpp + src/hotspot/share/opto/vector.cpp + src/hotspot/share/opto/vector.hpp + src/hotspot/share/opto/vectorIntrinsics.cpp ! src/hotspot/share/opto/vectornode.cpp ! src/hotspot/share/opto/vectornode.hpp ! src/hotspot/share/prims/nativeLookup.cpp + src/hotspot/share/prims/vectorSupport.cpp + src/hotspot/share/prims/vectorSupport.hpp ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/deoptimization.cpp ! src/hotspot/share/runtime/stackValue.cpp ! src/hotspot/share/runtime/stackValue.hpp + src/java.base/share/classes/jdk/internal/vm/vector/VectorSupport.java ! src/java.base/share/classes/module-info.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/AbstractMask.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/AbstractShuffle.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/AbstractSpecies.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/AbstractVector.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/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/LaneType.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/Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorIntrinsics.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorMask.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorOperators.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorShape.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorShuffle.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 From vladimir.x.ivanov at oracle.com Wed Mar 25 10:22:01 2020 From: vladimir.x.ivanov at oracle.com (Vladimir Ivanov) Date: Wed, 25 Mar 2020 13:22:01 +0300 Subject: [vectorIntrinsics] RFR: Refactor JVM Interface In-Reply-To: References: <742e2d54-59dd-6568-bfa6-4043160f1be5@oracle.com> Message-ID: <140c7acc-1286-0dc6-e2c8-3763fd84786a@oracle.com> Hi Sandhya, > The vector api tests pass on all Intel platforms with this patch. Thank you! > Only one minor build issue was there due to a last remaining UseVectorApiIntrinsics use in stubGenerator_x86_64.cpp. Good catch. Fixed. > The patch also fixes one long standing vbox related issue that we were seeing on one of our platforms. Can you elaborate here a bit, please? Is it related to missing safepoint polls? > Please go ahead and check in. Pushed. Best regards, Vladimir Ivanov > -----Original Message----- > From: panama-dev On Behalf Of Vladimir Ivanov > Sent: Tuesday, March 24, 2020 2:07 PM > To: panama-dev > Subject: [vectorIntrinsics] RFR: Refactor JVM Interface > > http://cr.openjdk.java.net/~vlivanov/panama/vector/new_jvm_interface/webrev.00/ > > (First cleanup pass over the JVM implementation. > The focus is on JVM-JDK interface.) > > New JVM interface is minimal and contains intrinsics, well-known classes, and opcode declarations. It resides in java.base > (jdk.internal.vm.vector.VectorSupport) and exports the interface to jdk.incubator.vector module. > > JVM doesn't need to know about typed vectors anymore: VectorPayload, VectorMask, and VectorShuffle are enough to represent all interesting cases and provide enough information to the JVM how to handle vector > classes: > > - VectorPayload class represents vector values which are amenable to aggressive box elimination transformation > * vector on-heap representation remains primitive array-backed; > * classes which extend VectorPayload should declare 2 static fields (VLENGTH and ETYPE) which describe vector on-heap representation to the JVM (array length and its element type); > > - VectorShuffle and VectorMask mark vector shuffles and masks for the JVM; > > - VectorSpecies and Vector are there to enhance type checking of JVM intrinsic usages; > > > Also, additional refactorings/fixes: > > * merged reinterpret and cast intrinsics into one (convert) > > * refactored rematerialization support > > * don't remove unused VectorBoxAllocate nodes, but replace them with > safepoints > > * VM vector support is turned off by default, but automatically > enabled when user adds jdk.incubator.vector incubator module to the graph > > * multiple minor fixes and cleanups along the way > > Testing: jdk/incubator/vector tests > > Best regards, > Vladimir Ivanov > From vladimir.x.ivanov at oracle.com Wed Mar 25 10:22:45 2020 From: vladimir.x.ivanov at oracle.com (Vladimir Ivanov) Date: Wed, 25 Mar 2020 13:22:45 +0300 Subject: [vectorIntrinsics] RFR: Refactor JVM Interface In-Reply-To: References: <742e2d54-59dd-6568-bfa6-4043160f1be5@oracle.com> Message-ID: Thanks, Yang. Best regards, Vladimir Ivanov On 25.03.2020 12:32, Yang Zhang wrote: > Hi Vladimir > > Except some known failures, the vector api tests pass on AArch64 platform. > Thanks for your improvement. > > Regards > Yang > > -----Original Message----- > From: panama-dev On Behalf Of Vladimir Ivanov > Sent: Wednesday, March 25, 2020 5:07 AM > To: panama-dev > Subject: [vectorIntrinsics] RFR: Refactor JVM Interface > > http://cr.openjdk.java.net/~vlivanov/panama/vector/new_jvm_interface/webrev.00/ > > (First cleanup pass over the JVM implementation. > The focus is on JVM-JDK interface.) > > New JVM interface is minimal and contains intrinsics, well-known classes, and opcode declarations. It resides in java.base > (jdk.internal.vm.vector.VectorSupport) and exports the interface to jdk.incubator.vector module. > > JVM doesn't need to know about typed vectors anymore: VectorPayload, VectorMask, and VectorShuffle are enough to represent all interesting cases and provide enough information to the JVM how to handle vector > classes: > > - VectorPayload class represents vector values which are amenable to aggressive box elimination transformation > * vector on-heap representation remains primitive array-backed; > * classes which extend VectorPayload should declare 2 static fields (VLENGTH and ETYPE) which describe vector on-heap representation to the JVM (array length and its element type); > > - VectorShuffle and VectorMask mark vector shuffles and masks for the JVM; > > - VectorSpecies and Vector are there to enhance type checking of JVM intrinsic usages; > > > Also, additional refactorings/fixes: > > * merged reinterpret and cast intrinsics into one (convert) > > * refactored rematerialization support > > * don't remove unused VectorBoxAllocate nodes, but replace them with > safepoints > > * VM vector support is turned off by default, but automatically > enabled when user adds jdk.incubator.vector incubator module to the graph > > * multiple minor fixes and cleanups along the way > > Testing: jdk/incubator/vector tests > > Best regards, > Vladimir Ivanov > From vladimir.x.ivanov at oracle.com Wed Mar 25 10:33:04 2020 From: vladimir.x.ivanov at oracle.com (Vladimir Ivanov) Date: Wed, 25 Mar 2020 13:33:04 +0300 Subject: [vectorIntrinsics] RFR: Some cleanups in Java code Message-ID: http://cr.openjdk.java.net/~vlivanov/panama/vector/cleanup.01/webrev.00/ Some minor cleanups: - remove unused opcodes - remove redundant default implementations - sprinkle additional @ForceInline annotations Testing: jdk/incubator/vector tests Best regards, Vladimir Ivanov From vladimir.x.ivanov at oracle.com Wed Mar 25 10:38:00 2020 From: vladimir.x.ivanov at oracle.com (Vladimir Ivanov) Date: Wed, 25 Mar 2020 13:38:00 +0300 Subject: [vectorIntrinsics] RFR: Trust final fields in jdk/incubator/vector package Message-ID: http://cr.openjdk.java.net/~vlivanov/panama/vector/trust_finals/webrev.00/ To reduce the usage of @Stable, I propose to treat instance final fields in jdk/incubator/vector package as trusted by the JVM. It also requires jdk.incubator.vector module to be lifted from platform to boot module. Best regards, Vladimir Ivanov From ahmdprog at gmail.com Wed Mar 25 15:02:53 2020 From: ahmdprog at gmail.com (Ahmed Hamdallah) Date: Wed, 25 Mar 2020 15:02:53 +0000 Subject: java 14 and JEP 370: Foreign-Memory Access API-- Array Of Bytes. References: Message-ID: hello, Regarding java 14 new feature of new Foreign-Memory API. it is actually bit complicated for me regarding classes SequenceLayout & VarHandle. since it is a new feature, i could not find many example to access MemorySegment data. my question, using MemorySegment & VarHandle classes how to read/write array of bytes at one shot. not byte by byte. Yes, I am aware of asByteBuffer(). but as per documentation the main reason for this new Memory Segment access is to avoid ByteBuffer class. this is example byte[] bytesArrayString = "Hello MemorySegment".getBytes(); MemoryAddress address = MemorySegment.allocateNative(4096).baseAddress(); SequenceLayout bytes = MemoryLayout.ofSequence(bytesArrayString.length, MemoryLayouts.JAVA_BYTE); VarHandle byteHandle = bytes.varHandle(byte.class, MemoryLayout.PathElement.sequenceElement()); byteHandle.set(address.addOffset(0), (byte[]) bytesArrayString); byte value[] = (byte[]) byteHandle.get(address.addOffset(0)); System.out.println("Memory Value: " + value.length + new String(value)); error java.lang.invoke.WrongMethodTypeException: cannot convert MethodHandle(VarHandle,MemoryAddressProxy,long,byte)void to (VarHandle,MemoryAddress,long,byte[])void java From maurizio.cimadamore at oracle.com Wed Mar 25 15:26:29 2020 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Wed, 25 Mar 2020 15:26:29 +0000 Subject: java 14 and JEP 370: Foreign-Memory Access API-- Array Of Bytes. In-Reply-To: References: Message-ID: Hi, your example is almost correct, the problem is in your cast: byte value[] = (byte[]) byteHandle.get(address.addOffset(0)); This should be: byte value = (byte) byteHandle.get(address.addOffset(0)); That is, you read one byte at a time. Does this help? Thanks Maurizio On 25/03/2020 15:02, Ahmed Hamdallah wrote: > hello, > > Regarding java 14 new feature of new Foreign-Memory API. it is actually bit complicated for me regarding classes SequenceLayout & VarHandle. > > since it is a new feature, i could not find many example to access MemorySegment data. > > my question, using MemorySegment & VarHandle classes how to read/write array of bytes at one shot. not byte by byte. > > Yes, I am aware of asByteBuffer(). but as per documentation the main reason for this new Memory Segment access is to avoid ByteBuffer class. > > this is example > > byte[] bytesArrayString = "Hello MemorySegment".getBytes(); > > MemoryAddress address = MemorySegment.allocateNative(4096).baseAddress(); > > SequenceLayout bytes = MemoryLayout.ofSequence(bytesArrayString.length, MemoryLayouts.JAVA_BYTE); > > VarHandle byteHandle = bytes.varHandle(byte.class, MemoryLayout.PathElement.sequenceElement()); > > byteHandle.set(address.addOffset(0), (byte[]) bytesArrayString); > > byte value[] = (byte[]) byteHandle.get(address.addOffset(0)); > > System.out.println("Memory Value: " + value.length + new String(value)); > > error > > java.lang.invoke.WrongMethodTypeException: cannot convert MethodHandle(VarHandle,MemoryAddressProxy,long,byte)void to (VarHandle,MemoryAddress,long,byte[])void > java From henry.jen at oracle.com Wed Mar 25 15:30:10 2020 From: henry.jen at oracle.com (Henry Jen) Date: Wed, 25 Mar 2020 08:30:10 -0700 Subject: java 14 and JEP 370: Foreign-Memory Access API-- Array Of Bytes. In-Reply-To: References: Message-ID: <60CABDC5-62DC-4C8F-B7D2-C6EDD6913BE8@oracle.com> For primitive types, you can use the combination of MemoryAddress.copy and MemorySegment.ofArray. MemoryAddress.copy(MemorySegment.ofArray(byteArrayString).baseAddress(), address, byteArrayString.length); Cheers, Henry > On Mar 25, 2020, at 8:02 AM, Ahmed Hamdallah wrote: > > hello, > > Regarding java 14 new feature of new Foreign-Memory API. it is actually bit complicated for me regarding classes SequenceLayout & VarHandle. > > since it is a new feature, i could not find many example to access MemorySegment data. > > my question, using MemorySegment & VarHandle classes how to read/write array of bytes at one shot. not byte by byte. > > Yes, I am aware of asByteBuffer(). but as per documentation the main reason for this new Memory Segment access is to avoid ByteBuffer class. > > this is example > > byte[] bytesArrayString = "Hello MemorySegment".getBytes(); > > MemoryAddress address = MemorySegment.allocateNative(4096).baseAddress(); > > SequenceLayout bytes = MemoryLayout.ofSequence(bytesArrayString.length, MemoryLayouts.JAVA_BYTE); > > VarHandle byteHandle = bytes.varHandle(byte.class, MemoryLayout.PathElement.sequenceElement()); > > byteHandle.set(address.addOffset(0), (byte[]) bytesArrayString); > > byte value[] = (byte[]) byteHandle.get(address.addOffset(0)); > > System.out.println("Memory Value: " + value.length + new String(value)); > > error > > java.lang.invoke.WrongMethodTypeException: cannot convert MethodHandle(VarHandle,MemoryAddressProxy,long,byte)void to (VarHandle,MemoryAddress,long,byte[])void > java From youngty1997 at gmail.com Wed Mar 25 15:58:01 2020 From: youngty1997 at gmail.com (Ty Young) Date: Wed, 25 Mar 2020 10:58:01 -0500 Subject: java 14 and JEP 370: Foreign-Memory Access API-- Array Of Bytes. In-Reply-To: References: Message-ID: <1606fa76-2ceb-c59c-cc7b-39204de812dc@gmail.com> On 3/25/20 10:26 AM, Maurizio Cimadamore wrote: > Hi, > your example is almost correct, the problem is in your cast: > > byte value[] = (byte[]) byteHandle.get(address.addOffset(0)); > > This should be: > > byte value = (byte) byteHandle.get(address.addOffset(0)); > > That is, you read one byte at a time. > > Does this help? Going off of: >my question, using MemorySegment & VarHandle classes how to read/write array of bytes at one shot. not byte by byte. and >Yes, I am aware of asByteBuffer(). but as per documentation the main reason for this new Memory Segment access is to avoid ByteBuffer class. They seem to want a method that accepts an array of bytes(byte[]) which is then put into memory and then be able to get it back without accessing individual offset locations or using ByteBuffer. There is no such thing for setting AFAIK. The MemorySegment.ofArray() methods just create a MemorySegment that can hold an array of the given array's size AFAIK. There is a method for getting the array in bulk though: .toByteArray(). > > Thanks > Maurizio > > On 25/03/2020 15:02, Ahmed Hamdallah wrote: >> hello, >> >> Regarding java 14 new feature of new Foreign-Memory API. it is >> actually bit complicated for me regarding classes SequenceLayout & >> VarHandle. >> >> since it is a new feature, i could not find many example to access >> MemorySegment data. >> >> my question, using MemorySegment & VarHandle classes how to >> read/write array of bytes at one shot. not byte by byte. >> >> Yes, I am aware of asByteBuffer(). but as per documentation the main >> reason for this new Memory Segment access is to avoid ByteBuffer class. >> >> this is example >> >> byte[] bytesArrayString = "Hello MemorySegment".getBytes(); >> >> ???? MemoryAddress address = >> MemorySegment.allocateNative(4096).baseAddress(); >> >> ???? SequenceLayout bytes = >> MemoryLayout.ofSequence(bytesArrayString.length, >> MemoryLayouts.JAVA_BYTE); >> >> ???? VarHandle byteHandle = bytes.varHandle(byte.class, >> MemoryLayout.PathElement.sequenceElement()); >> >> ???? byteHandle.set(address.addOffset(0), (byte[]) bytesArrayString); >> >> ???? byte value[] = (byte[]) byteHandle.get(address.addOffset(0)); >> >> ???? System.out.println("Memory Value: " + value.length + new >> String(value)); >> >> error >> >> java.lang.invoke.WrongMethodTypeException: cannot convert >> MethodHandle(VarHandle,MemoryAddressProxy,long,byte)void to >> (VarHandle,MemoryAddress,long,byte[])void >> java From jorn.vernee at oracle.com Wed Mar 25 16:08:35 2020 From: jorn.vernee at oracle.com (Jorn Vernee) Date: Wed, 25 Mar 2020 17:08:35 +0100 Subject: [foreign-abi] Intrinsify down calls Message-ID: <5a6782e1-719b-9665-3ce4-b0764a055bc3@oracle.com> Hi, I have done some work looking at intrinsification to speed up calls. For down calls there are 2 areas that can be improved: - Instead of interpreting a binding recipe for a call, we can use MethodHandle combinators to create a specialized MethodHandle for executing the steps of a binding recipe. - When inlining a native MethodHandle, C2 can instead emit a direct call to the target function, instead of using an intermediate buffer to store the arguments (but borrowing some of the information it has on input and output registers). I have an experimental implementation of this uploaded here: https://github.com/openjdk/panama-foreign/compare/foreign-abi...JornVernee:Call_Intrinsics This is based on the ideas of linkToNative, but is mostly a re-write, since linkToNative did not support ABI customization. The new implementation also uses a fallback MethodHandle as the fallback implementation until C2 kicks in, rather than generating a specialized stub eagerly. Some numbers from the newly added CallOverhead benchmark [1]: Benchmark???????????????????????????? Mode? Cnt?? Score Error? Units CallOverhead.jni_blank??????????????? avgt?? 30?? 8.062 ? 0.153 ns/op CallOverhead.jni_identity???????????? avgt?? 30? 12.360 ? 0.050 ns/op CallOverhead.panama_blank???????????? avgt?? 30?? 7.557 ? 0.025 ns/op CallOverhead.panama_blank_trivial???? avgt?? 30?? 1.619 ? 0.003 ns/op CallOverhead.panama_identity????????? avgt?? 30? 11.412 ? 0.023 ns/op CallOverhead.panama_identity_trivial? avgt?? 30?? 4.298 ? 0.008 ns/op NO_INTRINSICS: Benchmark???????????????????????????? Mode? Cnt??? Score Error? Units CallOverhead.jni_blank??????????????? avgt?? 30??? 7.963 ? 0.079? ns/op CallOverhead.jni_identity???????????? avgt?? 30?? 12.227 ? 0.027? ns/op CallOverhead.panama_blank???????????? avgt?? 30? 193.799 ? 3.224? ns/op CallOverhead.panama_identity????????? avgt?? 30? 237.137 ? 1.150? ns/op NO_SPEC: Benchmark???????????????????????????? Mode? Cnt??? Score Error? Units CallOverhead.jni_blank??????????????? avgt?? 30??? 8.064 ? 0.117? ns/op CallOverhead.jni_identity???????????? avgt?? 30?? 12.381 ? 0.072? ns/op CallOverhead.panama_blank???????????? avgt?? 30? 193.705 ? 2.275? ns/op CallOverhead.panama_identity????????? avgt?? 30? 292.271 ? 3.344? ns/op The NO_SPEC benchmarks at the bottom are the status quo, the NO_INTRINSICS benchmarks only do the Java side specialization, but not the C2 specilization, and the benchmarks at the top are with everything enabled. I've also experimented with an attribute that can be added to FunctionDescriptor in case the function is small/trivial, which removes the thread state transition, which are the *_trivial results. Note that most native functions do not qualify for turning off thread state transitions, so this is mostly to show the very minor difference (only 6-7ns) in call overhead in case our target function is trivial. For integrating this, I will probably split this work into 3 patches to make reviewing easier: 1. the CallOverhead benchmark 2. the Java side specialization 3. the C2 support Cheers, Jorn [1] : https://github.com/openjdk/panama-foreign/compare/foreign-abi...JornVernee:Call_Intrinsics#diff-5234454e5c0aa31251dd12fbd3a10319 From paul.sandoz at oracle.com Wed Mar 25 16:31:26 2020 From: paul.sandoz at oracle.com (Paul Sandoz) Date: Wed, 25 Mar 2020 09:31:26 -0700 Subject: [vectorIntrinsics] RFR: Some cleanups in Java code In-Reply-To: References: Message-ID: <37BD5FCE-B277-4650-B84E-EE56EE3AB2C8@oracle.com> +1 Paul. > On Mar 25, 2020, at 3:33 AM, Vladimir Ivanov wrote: > > http://cr.openjdk.java.net/~vlivanov/panama/vector/cleanup.01/webrev.00/ > > Some minor cleanups: > - remove unused opcodes > - remove redundant default implementations > - sprinkle additional @ForceInline annotations > > Testing: jdk/incubator/vector tests > > Best regards, > Vladimir Ivanov From maurizio.cimadamore at oracle.com Wed Mar 25 16:32:59 2020 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Wed, 25 Mar 2020 16:32:59 +0000 Subject: java 14 and JEP 370: Foreign-Memory Access API-- Array Of Bytes. In-Reply-To: <1606fa76-2ceb-c59c-cc7b-39204de812dc@gmail.com> References: <1606fa76-2ceb-c59c-cc7b-39204de812dc@gmail.com> Message-ID: <626cc45c-f3de-6b3e-d7ac-eb8ad2129cbd@oracle.com> Yeah - I now realize I did not reply to the original question. The way to go to do bulk access is to use the MemoryAddress::copy API, as shown in the email from Henry. That is: 1) create an on-heap segment backed by a byte[] 2) copy portions of the off-heap segment into the on-heap segment using MemoryAddress:copy Maurizio On 25/03/2020 15:58, Ty Young wrote: > They seem to want a method that accepts an array of bytes(byte[]) > which is then put into memory and then be able to get it back without > accessing individual offset locations or using ByteBuffer. > > > There is no such thing for setting AFAIK. The MemorySegment.ofArray() > methods just create a MemorySegment that can hold an array of the > given array's size AFAIK. > > > There is a method for getting the array in bulk though: > .toByteArray(). > > From paul.sandoz at oracle.com Wed Mar 25 16:33:30 2020 From: paul.sandoz at oracle.com (Paul Sandoz) Date: Wed, 25 Mar 2020 09:33:30 -0700 Subject: [vectorIntrinsics] RFR: Trust final fields in jdk/incubator/vector package In-Reply-To: References: Message-ID: <75755FC9-FF8E-4E28-9090-CD42BD248808@oracle.com> +1 Paul. > On Mar 25, 2020, at 3:38 AM, Vladimir Ivanov wrote: > > http://cr.openjdk.java.net/~vlivanov/panama/vector/trust_finals/webrev.00/ > > To reduce the usage of @Stable, I propose to treat instance final fields in jdk/incubator/vector package as trusted by the JVM. > > It also requires jdk.incubator.vector module to be lifted from platform to boot module. > > Best regards, > Vladimir Ivanov From vladimir.x.ivanov at oracle.com Wed Mar 25 16:41:25 2020 From: vladimir.x.ivanov at oracle.com (Vladimir Ivanov) Date: Wed, 25 Mar 2020 19:41:25 +0300 Subject: [vectorIntrinsics] RFR: Cleanup code for SVML support Message-ID: <7ad16ba9-4928-afdb-dd95-d06addb1ebe6@oracle.com> http://cr.openjdk.java.net/~vlivanov/panama/vector/cleanup.svml/webrev.00/ Considering EnableVectorSupport is turned off by default, SVML entry points should be either lazily or unconditionally initialized. Considering it's just caching entry point addresses I chose the latter. Also, some cleanups (new flag to control usage of SVML stubs, renamings, etc). Testing: jdk/incubator/vector tests Thanks! Best regards, Vladimir Ivanov From ahmdprog at gmail.com Wed Mar 25 16:56:07 2020 From: ahmdprog at gmail.com (Ahmed Hamdallah) Date: Wed, 25 Mar 2020 16:56:07 +0000 Subject: java 14 and JEP 370: Foreign-Memory Access API-- Array Of Bytes. In-Reply-To: <626cc45c-f3de-6b3e-d7ac-eb8ad2129cbd@oracle.com> References: <1606fa76-2ceb-c59c-cc7b-39204de812dc@gmail.com> <626cc45c-f3de-6b3e-d7ac-eb8ad2129cbd@oracle.com> Message-ID: Thank you Maurizio & Henry, Yes I realized the solution to copy bulk array using MemoryAddress:copy. It also works via versa. Read + write. MemoryAddress.copy(MemorySegment.ofArray(bytesArrayString).baseAddress(), address, bytesArrayString.length); // write MemoryAddress.copy(address, MemorySegment.ofArray(bytesArrayString2).baseAddress(), bytesArrayString.length); // read Regards, ?On 25/03/2020, 8:33 PM, "panama-dev on behalf of Maurizio Cimadamore" wrote: Yeah - I now realize I did not reply to the original question. The way to go to do bulk access is to use the MemoryAddress::copy API, as shown in the email from Henry. That is: 1) create an on-heap segment backed by a byte[] 2) copy portions of the off-heap segment into the on-heap segment using MemoryAddress:copy Maurizio On 25/03/2020 15:58, Ty Young wrote: > They seem to want a method that accepts an array of bytes(byte[]) > which is then put into memory and then be able to get it back without > accessing individual offset locations or using ByteBuffer. > > > There is no such thing for setting AFAIK. The MemorySegment.ofArray() > methods just create a MemorySegment that can hold an array of the > given array's size AFAIK. > > > There is a method for getting the array in bulk though: > .toByteArray(). > > From paul.sandoz at oracle.com Wed Mar 25 17:03:55 2020 From: paul.sandoz at oracle.com (Paul Sandoz) Date: Wed, 25 Mar 2020 10:03:55 -0700 Subject: [vectorIntrinsics] RFR: Cleanup code for SVML support In-Reply-To: <7ad16ba9-4928-afdb-dd95-d06addb1ebe6@oracle.com> References: <7ad16ba9-4928-afdb-dd95-d06addb1ebe6@oracle.com> Message-ID: <0EE65720-229E-433B-864D-5260748B6589@oracle.com> +1 c2_globals.hpp: 727 experimental(bool, UseVectorStubs, false, \ 728 "Use SVML stubs for vector trigonometric functions") \ 729 Trivially it's more that just trigonometric functions, currently it is transcendental functions. Also should we drop the SVML if say stubs are included for ARM in the future? ?Use stubs for vector transcendental operations? ? Paul. > On Mar 25, 2020, at 9:41 AM, Vladimir Ivanov wrote: > > http://cr.openjdk.java.net/~vlivanov/panama/vector/cleanup.svml/webrev.00/ > > Considering EnableVectorSupport is turned off by default, SVML entry points should be either lazily or unconditionally initialized. Considering it's just caching entry point addresses I chose the latter. > > Also, some cleanups (new flag to control usage of SVML stubs, renamings, etc). > > Testing: jdk/incubator/vector tests > > Thanks! > > Best regards, > Vladimir Ivanov From sandhya.viswanathan at intel.com Wed Mar 25 17:05:14 2020 From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya) Date: Wed, 25 Mar 2020 17:05:14 +0000 Subject: [vectorIntrinsics] RFR: Refactor JVM Interface In-Reply-To: <140c7acc-1286-0dc6-e2c8-3763fd84786a@oracle.com> References: <742e2d54-59dd-6568-bfa6-4043160f1be5@oracle.com> <140c7acc-1286-0dc6-e2c8-3763fd84786a@oracle.com> Message-ID: Hi Vladimir, I am seeing a failure when using -XX:+PrintInlining after this checkin. The same command works successfully on a version just prior to this. The command I used is: cd vectorIntrinsics/test/jdk/jdk/incubator/vector $JAVA_HOME/bin/java --add-modules=jdk.incubator.vector -XX:+PrintCompilation -XX:+PrintInlining AddTest Where JAVA_HOME points to the fastdebug build. This crashes after giving out of memory error as follows: # # There is insufficient memory for the Java Runtime Environment to continue. # Native memory allocation (malloc) failed to allocate 140700448411136 bytes for Chunk::new # Possible reasons: # The system is out of physical RAM or swap space # The process is running with CompressedOops enabled, and the Java Heap may be blocking the growth of the native heap # Possible solutions: ... # This output file may be truncated or incomplete. # # Out of Memory Error (vectorIntrinsics/src/hotspot/share/memory/arena.cpp:195), pid=9986, tid=9998 ... Current CompileTask: C2: 309 349 4 jdk.incubator.vector.FloatVector::bOpTemplate (66 bytes) Stack: [0x00007ff794175000,0x00007ff794276000], sp=0x00007ff794271030, free space=1008k Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code) V [libjvm.so+0x189dae0] VMError::report_and_die(int, char const*, char const*, __va_list_ tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x220 V [libjvm.so+0x189ea3b] VMError::report_and_die(Thread*, char const*, int, unsigned long, VMErrorType, char const*, __va_list_tag*)+0x2b V [libjvm.so+0x99f0d5] report_vm_out_of_memory(char const*, int, unsigned long, VMErrorTy pe, char const*, ...)+0xd5 V [libjvm.so+0x5791c8] Arena::grow(unsigned long, AllocFailStrategy::AllocFailEnum)+0xe8 V [libjvm.so+0x14a9c4e] resource_allocate_bytes(unsigned long, AllocFailStrategy::AllocFa ilEnum)+0x27e V [libjvm.so+0x139b829] stringStream::as_string() const+0x19 V [libjvm.so+0x93e21e] Compile::process_print_inlining()+0x1fe V [libjvm.so+0x93f61a] Compile::Optimize()+0x121a V [libjvm.so+0x94093a] Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool, DirectiveSet*)+0x120a V [libjvm.so+0x7b5765] C2Compiler::compile_method(ciEnv*, ciMethod*, int, DirectiveSet*)+ 0x305 V [libjvm.so+0x94d72f] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x38f V [libjvm.so+0x94e5e3] CompileBroker::compiler_thread_loop()+0x393 V [libjvm.so+0x17bb92a] JavaThread::thread_main_inner()+0x17a V [libjvm.so+0x17c0f86] Thread::call_run()+0xf6 V [libjvm.so+0x1386ef5] thread_native_entry(Thread*)+0x125 Best Regards, Sandhya -----Original Message----- From: Vladimir Ivanov Sent: Wednesday, March 25, 2020 3:22 AM To: Viswanathan, Sandhya ; panama-dev Subject: Re: [vectorIntrinsics] RFR: Refactor JVM Interface Hi Sandhya, > The vector api tests pass on all Intel platforms with this patch. Thank you! > Only one minor build issue was there due to a last remaining UseVectorApiIntrinsics use in stubGenerator_x86_64.cpp. Good catch. Fixed. > The patch also fixes one long standing vbox related issue that we were seeing on one of our platforms. Can you elaborate here a bit, please? Is it related to missing safepoint polls? > Please go ahead and check in. Pushed. Best regards, Vladimir Ivanov > -----Original Message----- > From: panama-dev On Behalf Of > Vladimir Ivanov > Sent: Tuesday, March 24, 2020 2:07 PM > To: panama-dev > Subject: [vectorIntrinsics] RFR: Refactor JVM Interface > > http://cr.openjdk.java.net/~vlivanov/panama/vector/new_jvm_interface/w > ebrev.00/ > > (First cleanup pass over the JVM implementation. > The focus is on JVM-JDK interface.) > > New JVM interface is minimal and contains intrinsics, well-known > classes, and opcode declarations. It resides in java.base > (jdk.internal.vm.vector.VectorSupport) and exports the interface to jdk.incubator.vector module. > > JVM doesn't need to know about typed vectors anymore: VectorPayload, > VectorMask, and VectorShuffle are enough to represent all interesting > cases and provide enough information to the JVM how to handle vector > classes: > > - VectorPayload class represents vector values which are amenable to aggressive box elimination transformation > * vector on-heap representation remains primitive array-backed; > * classes which extend VectorPayload should declare 2 static > fields (VLENGTH and ETYPE) which describe vector on-heap > representation to the JVM (array length and its element type); > > - VectorShuffle and VectorMask mark vector shuffles and masks for > the JVM; > > - VectorSpecies and Vector are there to enhance type checking of > JVM intrinsic usages; > > > Also, additional refactorings/fixes: > > * merged reinterpret and cast intrinsics into one (convert) > > * refactored rematerialization support > > * don't remove unused VectorBoxAllocate nodes, but replace them > with safepoints > > * VM vector support is turned off by default, but automatically > enabled when user adds jdk.incubator.vector incubator module to the > graph > > * multiple minor fixes and cleanups along the way > > Testing: jdk/incubator/vector tests > > Best regards, > Vladimir Ivanov > From vladimir.x.ivanov at oracle.com Wed Mar 25 17:50:22 2020 From: vladimir.x.ivanov at oracle.com (Vladimir Ivanov) Date: Wed, 25 Mar 2020 20:50:22 +0300 Subject: [vectorIntrinsics] RFR: Refactor JVM Interface In-Reply-To: References: <742e2d54-59dd-6568-bfa6-4043160f1be5@oracle.com> <140c7acc-1286-0dc6-e2c8-3763fd84786a@oracle.com> Message-ID: <48a6e0b8-c48e-e92d-7605-38a2e9d963c9@oracle.com> Hi Sandhya, The following patch fixes the crash: diff --git a/src/hotspot/share/opto/compile.cpp b/src/hotspot/share/opto/compile.cpp --- a/src/hotspot/share/opto/compile.cpp +++ b/src/hotspot/share/opto/compile.cpp @@ -2283,7 +2283,6 @@ assert(EnableVectorSupport || !has_vbox_nodes(), "sanity"); if (EnableVectorSupport && has_vbox_nodes()) { TracePhase tp("", &timers[_t_vector]); - ResourceMark rm; PhaseVector pv(igvn); pv.optimize_vector_boxes(); I'll push it soon. Best regards, Vladimir Ivanov On 25.03.2020 20:05, Viswanathan, Sandhya wrote: > Hi Vladimir, > > I am seeing a failure when using -XX:+PrintInlining after this checkin. The same command works successfully on a version just prior to this. > > The command I used is: > cd vectorIntrinsics/test/jdk/jdk/incubator/vector > $JAVA_HOME/bin/java --add-modules=jdk.incubator.vector -XX:+PrintCompilation -XX:+PrintInlining AddTest > Where JAVA_HOME points to the fastdebug build. > > This crashes after giving out of memory error as follows: > # > # There is insufficient memory for the Java Runtime Environment to continue. > # Native memory allocation (malloc) failed to allocate 140700448411136 bytes for Chunk::new > # Possible reasons: > # The system is out of physical RAM or swap space > # The process is running with CompressedOops enabled, and the Java Heap may be blocking the growth of the native heap > # Possible solutions: > ... > # This output file may be truncated or incomplete. > # > # Out of Memory Error (vectorIntrinsics/src/hotspot/share/memory/arena.cpp:195), pid=9986, tid=9998 > ... > Current CompileTask: > C2: 309 349 4 jdk.incubator.vector.FloatVector::bOpTemplate (66 bytes) > > Stack: [0x00007ff794175000,0x00007ff794276000], sp=0x00007ff794271030, free space=1008k > Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, > C=native code) > V [libjvm.so+0x189dae0] VMError::report_and_die(int, char const*, char const*, __va_list_ > tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x220 > V [libjvm.so+0x189ea3b] VMError::report_and_die(Thread*, char const*, int, unsigned long, > VMErrorType, char const*, __va_list_tag*)+0x2b > V [libjvm.so+0x99f0d5] report_vm_out_of_memory(char const*, int, unsigned long, VMErrorTy > pe, char const*, ...)+0xd5 > V [libjvm.so+0x5791c8] Arena::grow(unsigned long, AllocFailStrategy::AllocFailEnum)+0xe8 > V [libjvm.so+0x14a9c4e] resource_allocate_bytes(unsigned long, AllocFailStrategy::AllocFa > ilEnum)+0x27e > V [libjvm.so+0x139b829] stringStream::as_string() const+0x19 > V [libjvm.so+0x93e21e] Compile::process_print_inlining()+0x1fe > V [libjvm.so+0x93f61a] Compile::Optimize()+0x121a > V [libjvm.so+0x94093a] Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, > bool, DirectiveSet*)+0x120a > V [libjvm.so+0x7b5765] C2Compiler::compile_method(ciEnv*, ciMethod*, int, DirectiveSet*)+ > 0x305 > V [libjvm.so+0x94d72f] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x38f > V [libjvm.so+0x94e5e3] CompileBroker::compiler_thread_loop()+0x393 > V [libjvm.so+0x17bb92a] JavaThread::thread_main_inner()+0x17a > V [libjvm.so+0x17c0f86] Thread::call_run()+0xf6 > V [libjvm.so+0x1386ef5] thread_native_entry(Thread*)+0x125 > > Best Regards, > Sandhya > > -----Original Message----- > From: Vladimir Ivanov > Sent: Wednesday, March 25, 2020 3:22 AM > To: Viswanathan, Sandhya ; panama-dev > Subject: Re: [vectorIntrinsics] RFR: Refactor JVM Interface > > Hi Sandhya, > >> The vector api tests pass on all Intel platforms with this patch. > > Thank you! > >> Only one minor build issue was there due to a last remaining UseVectorApiIntrinsics use in stubGenerator_x86_64.cpp. > > Good catch. Fixed. > >> The patch also fixes one long standing vbox related issue that we were seeing on one of our platforms. > > Can you elaborate here a bit, please? Is it related to missing safepoint polls? > >> Please go ahead and check in. > > Pushed. > > Best regards, > Vladimir Ivanov > >> -----Original Message----- >> From: panama-dev On Behalf Of >> Vladimir Ivanov >> Sent: Tuesday, March 24, 2020 2:07 PM >> To: panama-dev >> Subject: [vectorIntrinsics] RFR: Refactor JVM Interface >> >> http://cr.openjdk.java.net/~vlivanov/panama/vector/new_jvm_interface/w >> ebrev.00/ >> >> (First cleanup pass over the JVM implementation. >> The focus is on JVM-JDK interface.) >> >> New JVM interface is minimal and contains intrinsics, well-known >> classes, and opcode declarations. It resides in java.base >> (jdk.internal.vm.vector.VectorSupport) and exports the interface to jdk.incubator.vector module. >> >> JVM doesn't need to know about typed vectors anymore: VectorPayload, >> VectorMask, and VectorShuffle are enough to represent all interesting >> cases and provide enough information to the JVM how to handle vector >> classes: >> >> - VectorPayload class represents vector values which are amenable to aggressive box elimination transformation >> * vector on-heap representation remains primitive array-backed; >> * classes which extend VectorPayload should declare 2 static >> fields (VLENGTH and ETYPE) which describe vector on-heap >> representation to the JVM (array length and its element type); >> >> - VectorShuffle and VectorMask mark vector shuffles and masks for >> the JVM; >> >> - VectorSpecies and Vector are there to enhance type checking of >> JVM intrinsic usages; >> >> >> Also, additional refactorings/fixes: >> >> * merged reinterpret and cast intrinsics into one (convert) >> >> * refactored rematerialization support >> >> * don't remove unused VectorBoxAllocate nodes, but replace them >> with safepoints >> >> * VM vector support is turned off by default, but automatically >> enabled when user adds jdk.incubator.vector incubator module to the >> graph >> >> * multiple minor fixes and cleanups along the way >> >> Testing: jdk/incubator/vector tests >> >> Best regards, >> Vladimir Ivanov >> From jvernee at openjdk.java.net Wed Mar 25 18:09:36 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Wed, 25 Mar 2020 18:09:36 GMT Subject: [foreign-jextract] RFR: 8237573: Add a basic call overhead benchmark Message-ID: Hi, Per my earlier email [1], this PR adds some basic call overhead benchmarks. 2 benchmarks are added: - CallOverhead, which measures both an empty and an identity function call. - PointsDistance, which extends the existing points benchmarks with one that measures the distance between 2 points doing the calculation is C (using a native call). The latter also shows the difference between passing a pointer to a struct, vs passing a struct by value, PointsDistance.panama_MemoryAddress and PointsDistance.panama_MemorySegment respectively. This acts as a basis to test the coming performance improvements in this area. Thanks, Jorn [1] : https://mail.openjdk.java.net/pipermail/panama-dev/2020-March/008007.html ------------- Commit messages: - Fix more carriage returns + tabs - Remove carriage returns - newline at end of files - Add basic call overhead benchmarks Changes: https://git.openjdk.java.net/panama-foreign/pull/65/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/65/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8237573 Stats: 398 lines in 9 files changed: 391 ins; 0 del; 7 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/65.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/65/head:pull/65 PR: https://git.openjdk.java.net/panama-foreign/pull/65 From vladimir.x.ivanov at oracle.com Wed Mar 25 18:43:18 2020 From: vladimir.x.ivanov at oracle.com (vladimir.x.ivanov at oracle.com) Date: Wed, 25 Mar 2020 18:43:18 +0000 Subject: hg: panama/dev: 3 new changesets Message-ID: <202003251843.02PIhJBk004840@aojmv0008.oracle.com> Changeset: 7f39746b2d9d Author: vlivanov Date: 2020-03-25 21:42 +0300 URL: https://hg.openjdk.java.net/panama/dev/rev/7f39746b2d9d Fix -XX:+PrintInlining ! src/hotspot/share/opto/compile.cpp Changeset: d640674e88b6 Author: vlivanov Date: 2020-03-25 21:42 +0300 URL: https://hg.openjdk.java.net/panama/dev/rev/d640674e88b6 Some cleanups in Java code. ! 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/ByteVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorOperators.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-Vector.java.template Changeset: f0f5b1fb7904 Author: vlivanov Date: 2020-03-25 21:43 +0300 URL: https://hg.openjdk.java.net/panama/dev/rev/f0f5b1fb7904 Trust final fields in jdk/incubator/vector package. ! make/common/Modules.gmk ! src/hotspot/share/ci/ciField.cpp ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LaneType.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorOperators.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorShape.java From sandhya.viswanathan at intel.com Wed Mar 25 20:29:34 2020 From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya) Date: Wed, 25 Mar 2020 20:29:34 +0000 Subject: [vectorIntrinsics] RFR: Refactor JVM Interface In-Reply-To: <140c7acc-1286-0dc6-e2c8-3763fd84786a@oracle.com> References: <742e2d54-59dd-6568-bfa6-4043160f1be5@oracle.com> <140c7acc-1286-0dc6-e2c8-3763fd84786a@oracle.com> Message-ID: Hi Vladimir, >> The patch also fixes one long standing vbox related issue that we were seeing on one of our platforms. >Can you elaborate here a bit, please? Is it related to missing safepoint polls? The failure used to be reported as follows for VectorConversionTests.java on KNL platform. With the refactor now the test passes. # To suppress the following error report, specify this argument # after -XX: or in .hotspotrc: SuppressErrorAt=/compile.cpp:2760 # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error ( vectorIntrinsics/src/hotspot/share/opto/compile.cpp:2760), pid=268802, tid=268817 # Error: assert(!vbox->is_Phi()) failed ... # Problematic frame: # V [libjvm.so+0x932921] Compile::expand_vbox_node_helper(Node*, Node*, TypeInstPtr const*, TypeVect const*)+0x81 # From hs_err file: Current CompileTask: C2: 639330 2033 % VectorConversionTests::conversion_kernel @ 84 (300 bytes) Stack: [0x00007ff4680ef000,0x00007ff4681f0000], sp=0x00007ff4681eb450, free space=1009k Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code) V [libjvm.so+0x932921] Compile::expand_vbox_node_helper(Node*, Node*, TypeInstPtr const*, TypeVect const*)+0x81 V [libjvm.so+0x932d84] Compile::expand_vbox_node(VectorBoxNode*)+0x84 V [libjvm.so+0x942cc8] Compile::expand_vbox_nodes()+0x128 V [libjvm.so+0x9437e8] Compile::Optimize()+0x648 V [libjvm.so+0x945612] Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool, DirectiveSet*)+0x1172 V [libjvm.so+0x7b55d5] C2Compiler::compile_method(ciEnv*, ciMethod*, int, DirectiveSet*)+0x305 V [libjvm.so+0x9523af] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x38f V [libjvm.so+0x953263] CompileBroker::compiler_thread_loop()+0x393 V [libjvm.so+0x17ce56a] JavaThread::thread_main_inner()+0x17a V [libjvm.so+0x17d3bc6] Thread::call_run()+0xf6 V [libjvm.so+0x13972b5] thread_native_entry(Thread*)+0x125 Best Regards, Sandhya -----Original Message----- From: Vladimir Ivanov Sent: Wednesday, March 25, 2020 3:22 AM To: Viswanathan, Sandhya ; panama-dev Subject: Re: [vectorIntrinsics] RFR: Refactor JVM Interface Hi Sandhya, > The vector api tests pass on all Intel platforms with this patch. Thank you! > Only one minor build issue was there due to a last remaining UseVectorApiIntrinsics use in stubGenerator_x86_64.cpp. Good catch. Fixed. > The patch also fixes one long standing vbox related issue that we were seeing on one of our platforms. Can you elaborate here a bit, please? Is it related to missing safepoint polls? > Please go ahead and check in. Pushed. Best regards, Vladimir Ivanov > -----Original Message----- > From: panama-dev On Behalf Of > Vladimir Ivanov > Sent: Tuesday, March 24, 2020 2:07 PM > To: panama-dev > Subject: [vectorIntrinsics] RFR: Refactor JVM Interface > > http://cr.openjdk.java.net/~vlivanov/panama/vector/new_jvm_interface/w > ebrev.00/ > > (First cleanup pass over the JVM implementation. > The focus is on JVM-JDK interface.) > > New JVM interface is minimal and contains intrinsics, well-known > classes, and opcode declarations. It resides in java.base > (jdk.internal.vm.vector.VectorSupport) and exports the interface to jdk.incubator.vector module. > > JVM doesn't need to know about typed vectors anymore: VectorPayload, > VectorMask, and VectorShuffle are enough to represent all interesting > cases and provide enough information to the JVM how to handle vector > classes: > > - VectorPayload class represents vector values which are amenable to aggressive box elimination transformation > * vector on-heap representation remains primitive array-backed; > * classes which extend VectorPayload should declare 2 static > fields (VLENGTH and ETYPE) which describe vector on-heap > representation to the JVM (array length and its element type); > > - VectorShuffle and VectorMask mark vector shuffles and masks for > the JVM; > > - VectorSpecies and Vector are there to enhance type checking of > JVM intrinsic usages; > > > Also, additional refactorings/fixes: > > * merged reinterpret and cast intrinsics into one (convert) > > * refactored rematerialization support > > * don't remove unused VectorBoxAllocate nodes, but replace them > with safepoints > > * VM vector support is turned off by default, but automatically > enabled when user adds jdk.incubator.vector incubator module to the > graph > > * multiple minor fixes and cleanups along the way > > Testing: jdk/incubator/vector tests > > Best regards, > Vladimir Ivanov > From sandhya.viswanathan at intel.com Wed Mar 25 20:33:32 2020 From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya) Date: Wed, 25 Mar 2020 20:33:32 +0000 Subject: [vectorIntrinsics] RFR: Refactor JVM Interface In-Reply-To: <48a6e0b8-c48e-e92d-7605-38a2e9d963c9@oracle.com> References: <742e2d54-59dd-6568-bfa6-4043160f1be5@oracle.com> <140c7acc-1286-0dc6-e2c8-3763fd84786a@oracle.com> <48a6e0b8-c48e-e92d-7605-38a2e9d963c9@oracle.com> Message-ID: HI Vladimir, The patch fixed the PrintInlining crash that I was seeing. Thanks a lot. Best Regards, Sandhya -----Original Message----- From: Vladimir Ivanov Sent: Wednesday, March 25, 2020 10:50 AM To: Viswanathan, Sandhya ; panama-dev Subject: Re: [vectorIntrinsics] RFR: Refactor JVM Interface Hi Sandhya, The following patch fixes the crash: diff --git a/src/hotspot/share/opto/compile.cpp b/src/hotspot/share/opto/compile.cpp --- a/src/hotspot/share/opto/compile.cpp +++ b/src/hotspot/share/opto/compile.cpp @@ -2283,7 +2283,6 @@ assert(EnableVectorSupport || !has_vbox_nodes(), "sanity"); if (EnableVectorSupport && has_vbox_nodes()) { TracePhase tp("", &timers[_t_vector]); - ResourceMark rm; PhaseVector pv(igvn); pv.optimize_vector_boxes(); I'll push it soon. Best regards, Vladimir Ivanov On 25.03.2020 20:05, Viswanathan, Sandhya wrote: > Hi Vladimir, > > I am seeing a failure when using -XX:+PrintInlining after this checkin. The same command works successfully on a version just prior to this. > > The command I used is: > cd vectorIntrinsics/test/jdk/jdk/incubator/vector > $JAVA_HOME/bin/java --add-modules=jdk.incubator.vector > -XX:+PrintCompilation -XX:+PrintInlining AddTest Where JAVA_HOME points to the fastdebug build. > > This crashes after giving out of memory error as follows: > # > # There is insufficient memory for the Java Runtime Environment to continue. > # Native memory allocation (malloc) failed to allocate 140700448411136 > bytes for Chunk::new # Possible reasons: > # The system is out of physical RAM or swap space > # The process is running with CompressedOops enabled, and the Java Heap may be blocking the growth of the native heap > # Possible solutions: > ... > # This output file may be truncated or incomplete. > # > # Out of Memory Error (vectorIntrinsics/src/hotspot/share/memory/arena.cpp:195), pid=9986, tid=9998 > ... > Current CompileTask: > C2: 309 349 4 jdk.incubator.vector.FloatVector::bOpTemplate (66 bytes) > > Stack: [0x00007ff794175000,0x00007ff794276000], > sp=0x00007ff794271030, free space=1008k Native frames: (J=compiled > Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, > C=native code) V [libjvm.so+0x189dae0] VMError::report_and_die(int, > char const*, char const*, __va_list_ tag*, Thread*, unsigned char*, > void*, void*, char const*, int, unsigned long)+0x220 V [libjvm.so+0x189ea3b] VMError::report_and_die(Thread*, char const*, int, unsigned long, > VMErrorType, char const*, __va_list_tag*)+0x2b V > [libjvm.so+0x99f0d5] report_vm_out_of_memory(char const*, int, > unsigned long, VMErrorTy pe, char const*, ...)+0xd5 V > [libjvm.so+0x5791c8] Arena::grow(unsigned long, > AllocFailStrategy::AllocFailEnum)+0xe8 > V [libjvm.so+0x14a9c4e] resource_allocate_bytes(unsigned long, > AllocFailStrategy::AllocFa ilEnum)+0x27e V [libjvm.so+0x139b829] > stringStream::as_string() const+0x19 V [libjvm.so+0x93e21e] > Compile::process_print_inlining()+0x1fe > V [libjvm.so+0x93f61a] Compile::Optimize()+0x121a V > [libjvm.so+0x94093a] Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, > int, bool, bool, bool, DirectiveSet*)+0x120a V [libjvm.so+0x7b5765] > C2Compiler::compile_method(ciEnv*, ciMethod*, int, DirectiveSet*)+ > 0x305 > V [libjvm.so+0x94d72f] > CompileBroker::invoke_compiler_on_method(CompileTask*)+0x38f > V [libjvm.so+0x94e5e3] CompileBroker::compiler_thread_loop()+0x393 > V [libjvm.so+0x17bb92a] JavaThread::thread_main_inner()+0x17a > V [libjvm.so+0x17c0f86] Thread::call_run()+0xf6 V > [libjvm.so+0x1386ef5] thread_native_entry(Thread*)+0x125 > > Best Regards, > Sandhya > > -----Original Message----- > From: Vladimir Ivanov > Sent: Wednesday, March 25, 2020 3:22 AM > To: Viswanathan, Sandhya ; panama-dev > > Subject: Re: [vectorIntrinsics] RFR: Refactor JVM Interface > > Hi Sandhya, > >> The vector api tests pass on all Intel platforms with this patch. > > Thank you! > >> Only one minor build issue was there due to a last remaining UseVectorApiIntrinsics use in stubGenerator_x86_64.cpp. > > Good catch. Fixed. > >> The patch also fixes one long standing vbox related issue that we were seeing on one of our platforms. > > Can you elaborate here a bit, please? Is it related to missing safepoint polls? > >> Please go ahead and check in. > > Pushed. > > Best regards, > Vladimir Ivanov > >> -----Original Message----- >> From: panama-dev On Behalf Of >> Vladimir Ivanov >> Sent: Tuesday, March 24, 2020 2:07 PM >> To: panama-dev >> Subject: [vectorIntrinsics] RFR: Refactor JVM Interface >> >> http://cr.openjdk.java.net/~vlivanov/panama/vector/new_jvm_interface/ >> w >> ebrev.00/ >> >> (First cleanup pass over the JVM implementation. >> The focus is on JVM-JDK interface.) >> >> New JVM interface is minimal and contains intrinsics, well-known >> classes, and opcode declarations. It resides in java.base >> (jdk.internal.vm.vector.VectorSupport) and exports the interface to jdk.incubator.vector module. >> >> JVM doesn't need to know about typed vectors anymore: VectorPayload, >> VectorMask, and VectorShuffle are enough to represent all interesting >> cases and provide enough information to the JVM how to handle vector >> classes: >> >> - VectorPayload class represents vector values which are amenable to aggressive box elimination transformation >> * vector on-heap representation remains primitive array-backed; >> * classes which extend VectorPayload should declare 2 static >> fields (VLENGTH and ETYPE) which describe vector on-heap >> representation to the JVM (array length and its element type); >> >> - VectorShuffle and VectorMask mark vector shuffles and masks >> for the JVM; >> >> - VectorSpecies and Vector are there to enhance type checking of >> JVM intrinsic usages; >> >> >> Also, additional refactorings/fixes: >> >> * merged reinterpret and cast intrinsics into one (convert) >> >> * refactored rematerialization support >> >> * don't remove unused VectorBoxAllocate nodes, but replace them >> with safepoints >> >> * VM vector support is turned off by default, but automatically >> enabled when user adds jdk.incubator.vector incubator module to the >> graph >> >> * multiple minor fixes and cleanups along the way >> >> Testing: jdk/incubator/vector tests >> >> Best regards, >> Vladimir Ivanov >> From vladimir.x.ivanov at oracle.com Wed Mar 25 21:01:53 2020 From: vladimir.x.ivanov at oracle.com (Vladimir Ivanov) Date: Thu, 26 Mar 2020 00:01:53 +0300 Subject: [vectorIntrinsics] RFR: Refactor JVM Interface In-Reply-To: References: <742e2d54-59dd-6568-bfa6-4043160f1be5@oracle.com> <140c7acc-1286-0dc6-e2c8-3763fd84786a@oracle.com> Message-ID: > The failure used to be reported as follows for VectorConversionTests.java on KNL platform. With the refactor now the test passes. Interesting. I doubt I fixed it (even accidentally). More like it doesn't hit the problematic path anymore. I'll try to reproduce the failure. Best regards, Vladimir Ivanov > # To suppress the following error report, specify this argument > # after -XX: or in .hotspotrc: SuppressErrorAt=/compile.cpp:2760 > # > # A fatal error has been detected by the Java Runtime Environment: > # > # Internal Error ( vectorIntrinsics/src/hotspot/share/opto/compile.cpp:2760), pid=268802, tid=268817 > # Error: assert(!vbox->is_Phi()) failed > ... > # Problematic frame: > # V [libjvm.so+0x932921] Compile::expand_vbox_node_helper(Node*, Node*, TypeInstPtr const*, TypeVect const*)+0x81 > # > > From hs_err file: > > Current CompileTask: > C2: 639330 2033 % VectorConversionTests::conversion_kernel @ 84 (300 bytes) > > Stack: [0x00007ff4680ef000,0x00007ff4681f0000], sp=0x00007ff4681eb450, free space=1009k > Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code) > V [libjvm.so+0x932921] Compile::expand_vbox_node_helper(Node*, Node*, TypeInstPtr const*, TypeVect const*)+0x81 > V [libjvm.so+0x932d84] Compile::expand_vbox_node(VectorBoxNode*)+0x84 > V [libjvm.so+0x942cc8] Compile::expand_vbox_nodes()+0x128 > V [libjvm.so+0x9437e8] Compile::Optimize()+0x648 > V [libjvm.so+0x945612] Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool, DirectiveSet*)+0x1172 > V [libjvm.so+0x7b55d5] C2Compiler::compile_method(ciEnv*, ciMethod*, int, DirectiveSet*)+0x305 > V [libjvm.so+0x9523af] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x38f > V [libjvm.so+0x953263] CompileBroker::compiler_thread_loop()+0x393 > V [libjvm.so+0x17ce56a] JavaThread::thread_main_inner()+0x17a > V [libjvm.so+0x17d3bc6] Thread::call_run()+0xf6 > V [libjvm.so+0x13972b5] thread_native_entry(Thread*)+0x125 > > Best Regards, > Sandhya > > -----Original Message----- > From: Vladimir Ivanov > Sent: Wednesday, March 25, 2020 3:22 AM > To: Viswanathan, Sandhya ; panama-dev > Subject: Re: [vectorIntrinsics] RFR: Refactor JVM Interface > > Hi Sandhya, > >> The vector api tests pass on all Intel platforms with this patch. > > Thank you! > >> Only one minor build issue was there due to a last remaining UseVectorApiIntrinsics use in stubGenerator_x86_64.cpp. > > Good catch. Fixed. > >> The patch also fixes one long standing vbox related issue that we were seeing on one of our platforms. > > Can you elaborate here a bit, please? Is it related to missing safepoint polls? > >> Please go ahead and check in. > > Pushed. > > Best regards, > Vladimir Ivanov > >> -----Original Message----- >> From: panama-dev On Behalf Of >> Vladimir Ivanov >> Sent: Tuesday, March 24, 2020 2:07 PM >> To: panama-dev >> Subject: [vectorIntrinsics] RFR: Refactor JVM Interface >> >> http://cr.openjdk.java.net/~vlivanov/panama/vector/new_jvm_interface/w >> ebrev.00/ >> >> (First cleanup pass over the JVM implementation. >> The focus is on JVM-JDK interface.) >> >> New JVM interface is minimal and contains intrinsics, well-known >> classes, and opcode declarations. It resides in java.base >> (jdk.internal.vm.vector.VectorSupport) and exports the interface to jdk.incubator.vector module. >> >> JVM doesn't need to know about typed vectors anymore: VectorPayload, >> VectorMask, and VectorShuffle are enough to represent all interesting >> cases and provide enough information to the JVM how to handle vector >> classes: >> >> - VectorPayload class represents vector values which are amenable to aggressive box elimination transformation >> * vector on-heap representation remains primitive array-backed; >> * classes which extend VectorPayload should declare 2 static >> fields (VLENGTH and ETYPE) which describe vector on-heap >> representation to the JVM (array length and its element type); >> >> - VectorShuffle and VectorMask mark vector shuffles and masks for >> the JVM; >> >> - VectorSpecies and Vector are there to enhance type checking of >> JVM intrinsic usages; >> >> >> Also, additional refactorings/fixes: >> >> * merged reinterpret and cast intrinsics into one (convert) >> >> * refactored rematerialization support >> >> * don't remove unused VectorBoxAllocate nodes, but replace them >> with safepoints >> >> * VM vector support is turned off by default, but automatically >> enabled when user adds jdk.incubator.vector incubator module to the >> graph >> >> * multiple minor fixes and cleanups along the way >> >> Testing: jdk/incubator/vector tests >> >> Best regards, >> Vladimir Ivanov >> From mcimadamore at openjdk.java.net Wed Mar 25 21:40:27 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Wed, 25 Mar 2020 21:40:27 GMT Subject: [foreign-jextract] RFR: 8237573: Add a basic call overhead benchmark In-Reply-To: References: Message-ID: On Wed, 25 Mar 2020 17:53:51 GMT, Jorn Vernee wrote: > Hi, > > Per my earlier email [1], this PR adds some basic call overhead benchmarks. > > 2 benchmarks are added: > - CallOverhead, which measures both an empty and an identity function call. > - PointsDistance, which extends the existing points benchmarks with one that measures the distance between 2 points doing > the calculation is C (using a native call). > > The latter also shows the difference between passing a pointer to a struct, vs passing a struct by value, > PointsDistance.panama_MemoryAddress and PointsDistance.panama_MemorySegment respectively. > This acts as a basis to test the coming performance improvements in this area. > > Thanks, > Jorn > > [1] : https://mail.openjdk.java.net/pipermail/panama-dev/2020-March/008007.html I'm trying to run this on Linux - building of the benchmark fails with this: === Output from failing command(s) repeated here === * For target support_test_micro_native_support_libPoint_libPoint.o: ../test/micro/org/openjdk/bench/jdk/incubator/foreign/points/support/libPoint.c: In function 'distance': ../test/micro/org/openjdk/bench/jdk/incubator/foreign/points/support/libPoint.c:34:17: error: implicit declaration of function 'abs' [-Werror=implicit-function-declaration] int xDist = abs(p1.x - p2.x); ^~~ I'll try to take a look what's up and propose a suggestion. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/65 From mcimadamore at openjdk.java.net Wed Mar 25 21:51:57 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Wed, 25 Mar 2020 21:51:57 GMT Subject: [foreign-jextract] RFR: 8237573: Add a basic call overhead benchmark In-Reply-To: References: Message-ID: On Wed, 25 Mar 2020 21:42:48 GMT, Maurizio Cimadamore wrote: >> Hi, >> >> Per my earlier email [1], this PR adds some basic call overhead benchmarks. >> >> 2 benchmarks are added: >> - CallOverhead, which measures both an empty and an identity function call. >> - PointsDistance, which extends the existing points benchmarks with one that measures the distance between 2 points doing >> the calculation is C (using a native call). >> >> The latter also shows the difference between passing a pointer to a struct, vs passing a struct by value, >> PointsDistance.panama_MemoryAddress and PointsDistance.panama_MemorySegment respectively. >> This acts as a basis to test the coming performance improvements in this area. >> >> Thanks, >> Jorn >> >> [1] : https://mail.openjdk.java.net/pipermail/panama-dev/2020-March/008007.html > > test/micro/org/openjdk/bench/jdk/incubator/foreign/points/support/libPoint.c line 23: > >> 22: */ >> 23: #include >> 24: > > Suggestion: > > #include > #include I needed this change to make it compile on Linux (I actually need both includes). ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/65 From mcimadamore at openjdk.java.net Wed Mar 25 21:51:56 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Wed, 25 Mar 2020 21:51:56 GMT Subject: [foreign-jextract] RFR: 8237573: Add a basic call overhead benchmark In-Reply-To: References: Message-ID: On Wed, 25 Mar 2020 17:53:51 GMT, Jorn Vernee wrote: > Hi, > > Per my earlier email [1], this PR adds some basic call overhead benchmarks. > > 2 benchmarks are added: > - CallOverhead, which measures both an empty and an identity function call. > - PointsDistance, which extends the existing points benchmarks with one that measures the distance between 2 points doing > the calculation is C (using a native call). > > The latter also shows the difference between passing a pointer to a struct, vs passing a struct by value, > PointsDistance.panama_MemoryAddress and PointsDistance.panama_MemorySegment respectively. > This acts as a basis to test the coming performance improvements in this area. > > Thanks, > Jorn > > [1] : https://mail.openjdk.java.net/pipermail/panama-dev/2020-March/008007.html I'm also getting an exception when running PointDistance, ultimately caused by this: Caused by: java.lang.IllegalStateException: Unexpected value layout: could not determine ABI class at jdk.incubator.foreign/jdk.internal.foreign.abi.x64.sysv.CallArranger.lambda$classifyValueType$2(CallArranger.java:434) In the PanamaPoint static init. The problem has to do with the fact that we're using a struct layout which contains JAVA_INT in them to create a function descriptor. This is probably OK on Windows because structs are passed by pointer, but not on linux where we need to classify them recursively. test/micro/org/openjdk/bench/jdk/incubator/foreign/points/support/libPoint.c line 23: > 22: */ > 23: #include > 24: Suggestion: #include #include ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/65 From maurizio.cimadamore at oracle.com Wed Mar 25 22:04:35 2020 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 25 Mar 2020 22:04:35 +0000 Subject: hg: panama/dev: 105 new changesets Message-ID: <202003252204.02PM4gfq018063@aojmv0008.oracle.com> Changeset: c1fdb04213e9 Author: mneugschwand Date: 2020-03-18 15:59 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/c1fdb04213e9 8235908: omit ThreadPriorityPolicy warning when value is set from image Reviewed-by: dholmes, clanger, kvn ! src/hotspot/os/aix/os_aix.cpp ! src/hotspot/os/bsd/os_bsd.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/share/runtime/flags/jvmFlag.cpp ! src/hotspot/share/runtime/flags/jvmFlag.hpp ! src/hotspot/share/runtime/globals_extension.hpp Changeset: c2f7e63f72c4 Author: jwilhelm Date: 2020-03-19 03:03 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/c2f7e63f72c4 Added tag jdk-15+15 for changeset 82b7c62cf4cc ! .hgtags Changeset: df21b8edc4bc Author: xyin Date: 2020-03-19 11:07 +0800 URL: https://hg.openjdk.java.net/panama/dev/rev/df21b8edc4bc 8202117: com/sun/jndi/ldap/RemoveNamingListenerTest.java fails intermittently: Connection reset Reviewed-by: dfuchs, vtewari ! test/jdk/com/sun/jndi/ldap/RemoveNamingListenerTest.java Changeset: 87a7ff5a3a08 Author: iveresov Date: 2020-03-18 21:49 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/87a7ff5a3a08 8230290: [JVMCI] Remove unused API entry points Summary: Remove VirtualObject.setIsAutoBox() Reviewed-by: kvn ! src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.code/src/jdk/vm/ci/code/VirtualObject.java Changeset: e367475aa21c Author: mbaesken Date: 2020-03-16 15:11 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/e367475aa21c 8241064: JFR related tests TestMetaspaceAllocationFailure.java and TestEventInstrumentation.java miss requires tag Reviewed-by: mseledtsov, mgronlun ! test/jdk/jdk/jfr/event/runtime/TestMetaspaceAllocationFailure.java ! test/jdk/jdk/jfr/javaagent/TestEventInstrumentation.java Changeset: b66ccad86904 Author: jiefu Date: 2020-03-19 16:34 +0800 URL: https://hg.openjdk.java.net/panama/dev/rev/b66ccad86904 8241232: -XX:+BootstrapJVMCI is not compatible with TieredStopAtLevel < CompLevel_full_optimization Reviewed-by: kvn, thartmann ! src/hotspot/share/jvmci/jvmci_globals.cpp + test/hotspot/jtreg/compiler/jvmci/errors/TestInvalidTieredStopAtLevel.java Changeset: 76058080c621 Author: chagedorn Date: 2020-03-19 10:15 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/76058080c621 8240227: Loop predicates should be copied to unswitched loops Summary: Copy loop range check predicates to unswitched loops and update their control edges. Reviewed-by: kvn, neliasso, thartmann, roland ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/graphKit.hpp ! src/hotspot/share/opto/idealKit.cpp ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/loopUnswitch.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/parse1.cpp ! src/hotspot/share/opto/parse2.cpp ! src/hotspot/share/opto/phaseX.hpp ! src/hotspot/share/opto/stringopts.cpp ! test/hotspot/jtreg/compiler/loopopts/PartialPeelingUnswitch.java + test/hotspot/jtreg/compiler/loopopts/TestUnswitchOverunrolling.java Changeset: 216eefbbd337 Author: redestad Date: 2020-03-05 16:07 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/216eefbbd337 8241095: x86: Improve prefix handling in Assembler Reviewed-by: kvn, thartmann ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp Changeset: 159b07b8864f Author: alexsch Date: 2020-03-19 14:58 +0300 URL: https://hg.openjdk.java.net/panama/dev/rev/159b07b8864f 8240604: Rewrite sun/management/jmxremote/bootstrap/CustomLauncherTest.java test to make binaries from source file Reviewed-by: iignatyev ! make/test/JtregNativeJdk.gmk ! test/jdk/sun/management/jmxremote/bootstrap/CustomLauncherTest.java - test/jdk/sun/management/jmxremote/bootstrap/Makefile + test/jdk/sun/management/jmxremote/bootstrap/exelauncher.c - test/jdk/sun/management/jmxremote/bootstrap/launcher.c - test/jdk/sun/management/jmxremote/bootstrap/linux-amd64/launcher - test/jdk/sun/management/jmxremote/bootstrap/linux-i586/launcher - test/jdk/sun/management/jmxremote/bootstrap/solaris-amd64/launcher - test/jdk/sun/management/jmxremote/bootstrap/solaris-sparcv9/launcher Changeset: 5fc82780bffd Author: kravikumar Date: 2020-03-13 18:38 +0000 URL: https://hg.openjdk.java.net/panama/dev/rev/5fc82780bffd 8161558: ListIterator should not discard cause on exception Reviewed-by: smarks ! src/java.base/share/classes/java/util/AbstractList.java ! src/java.base/share/classes/java/util/NoSuchElementException.java + test/jdk/java/util/AbstractList/CheckForIndexOutOfBoundsException.java Changeset: 3b798973400b Author: stefank Date: 2020-03-19 14:15 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/3b798973400b 8240773: JFR: Non-Java threads are not serialized Reviewed-by: mgronlun ! src/hotspot/share/jfr/utilities/jfrThreadIterator.cpp Changeset: bd58c6e34ccf Author: stefank Date: 2020-03-19 14:16 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/bd58c6e34ccf 8240819: Assign a name to the JfrThreadSampler thread Reviewed-by: mgronlun ! src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.cpp Changeset: 5404c5f83619 Author: stefank Date: 2020-03-19 14:17 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/5404c5f83619 8240818: Remove colon from "JFR: Shutdown Hook" thread name Reviewed-by: mgronlun ! src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecorder.java Changeset: 06146be26035 Author: stefank Date: 2020-03-19 14:18 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/06146be26035 8241263: JFR: Bump native events limit Reviewed-by: mgronlun, egahlin ! src/jdk.jfr/share/classes/jdk/jfr/internal/JVM.java Changeset: 4fa5becf6cb3 Author: ihse Date: 2020-03-19 17:17 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/4fa5becf6cb3 8241254: Simplify usage of UTIL_DEPRECATED_ARG_ENABLE Reviewed-by: erikj ! make/autoconf/util.m4 Changeset: d780dd664f6c Author: cjplummer Date: 2020-03-19 10:20 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/d780dd664f6c 8240543: Update problem list entry for serviceability/sa/TestRevPtrsForInvokeDynamic.java to reference JDK-8241235 Reviewed-by: dholmes ! test/hotspot/jtreg/ProblemList.txt Changeset: 5be44a818121 Author: jjg Date: 2020-03-19 11:25 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/5be44a818121 8240476: SystemPropertiesWriter does not conform to standard page layout Reviewed-by: prappo ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/SystemPropertiesWriter.java ! test/langtools/jdk/javadoc/doclet/testSystemPropertyPage/TestSystemPropertyPage.java Changeset: 84ae4e628639 Author: iignatyev Date: 2020-03-17 21:35 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/84ae4e628639 8168304: Make all of DependencyContext_test available in product mode Summary: Enable the utility inspection function `DependencyContext::is_dependent_method` and therefore the test in the product mode. Reviewed-by: eosterlund, thartmann Contributed-by: Evgeny Nikitin ! src/hotspot/share/code/dependencyContext.cpp ! src/hotspot/share/code/dependencyContext.hpp ! test/hotspot/gtest/code/test_dependencyContext.cpp Changeset: 9d9ce4a87009 Author: rriggs Date: 2020-03-19 15:34 -0400 URL: https://hg.openjdk.java.net/panama/dev/rev/9d9ce4a87009 8241073: Pre-generated Stubs for javax.management, Activation, Naming Reviewed-by: erikj, ihse, alanb, dfuchs - make/CompileInterimRmic.gmk ! make/Docs.gmk ! make/Global.gmk ! make/Main.gmk ! make/ZipSource.gmk ! make/autoconf/spec.gmk.in - make/common/RMICompilation.gmk ! make/jdk/netbeans/jmx/build.xml - make/rmic/Rmic-java.management.rmi.gmk - make/rmic/Rmic-java.rmi.gmk - make/rmic/Rmic-jdk.naming.rmi.gmk - make/rmic/RmicCommon.gmk + src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIConnectionImpl_Stub.java + src/java.management.rmi/share/classes/javax/management/remote/rmi/RMIServerImpl_Stub.java + src/java.rmi/share/classes/java/rmi/activation/ActivationGroup_Stub.java + src/java.rmi/share/classes/sun/rmi/server/Activation$ActivationSystemImpl_Stub.java - src/java.rmi/share/doc/stub/java/rmi/activation/ActivationGroup_Stub.java + src/jdk.naming.rmi/share/classes/com/sun/jndi/rmi/registry/ReferenceWrapper_Stub.java Changeset: 6385879efd46 Author: dlong Date: 2020-03-19 12:29 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/6385879efd46 8241231: Update Graal Reviewed-by: kvn ! src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/CallInfo.java ! src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/MarkId.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.sparc/src/org/graalvm/compiler/asm/sparc/SPARCAssembler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64/src/org/graalvm/compiler/core/amd64/AMD64LIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/Fields.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/CheckGraalInvariants.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/OptionsVerifierTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/LIRGenerationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/gen/NodeLIRBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/Node.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/NodeClass.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotBackend.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotBackendFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64HotSpotLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotBackendFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotPatchReturnAddressOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotBackendFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CompilationWrapperTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/NodeCostDumpUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotReplacementsImpl.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/SymbolicSnippetEncoder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/DefaultHotSpotLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotPlatformConfigurationProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/EndLockScopeNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/HotSpotReplacementsUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/UnsafeCopyMemoryNode.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/UnsafeLoadSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/LambdaUtils.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotspot/Test6196102.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotspot/Test6753639.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotspot/Test6823354.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotspot/Test6850611.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.jtt/src/org/graalvm/compiler/jtt/hotspot/Test7005594.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64FrameMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/CompositeValueClass.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/LIRInstructionClass.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/LIRIntrospection.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/framemap/FrameMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/gen/LIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/gen/LIRGeneratorTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/MemoryProxyNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ProxyNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/StructuredGraph.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/ValueNodeUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/BytecodeExceptionNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/MonitorExit.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/gc/BarrierSet.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/gc/CardTableBarrierSet.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/gc/G1BarrierSet.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/java/UnsafeCompareAndSwapNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/FixedAccessNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/FloatingReadNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryAccess.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryAnchorNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryKill.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryMapNode.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryPhiNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MultiMemoryKill.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/SingleMemoryKill.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/MemoryEdgeProxy.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/MemoryProxy.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/NodeLIRBuilderTool.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.options/src/org/graalvm/compiler/options/OptionDescriptorsMap.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.options/src/org/graalvm/compiler/options/OptionValues.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/FloatingReadPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/LoweringPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/schedule/ScheduleVerification.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64ArrayIndexOfDispatchNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64ArrayIndexOfNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64StringLatin1InflateNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64StringUTF16CompressNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.test/src/org/graalvm/compiler/replacements/test/SubstitutionsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/DefaultJavaLoweringProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/SnippetLowerableMemoryNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/SnippetTemplate.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/arraycopy/ArrayCopyCallNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/arraycopy/ArrayCopySnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/ArrayCompareToNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/ArrayEqualsNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/ArrayRegionEqualsNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/BasicArrayCopyNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/ReadRegisterNode.java Changeset: 44a909932c7c Author: kbarrett Date: 2020-03-19 18:11 -0400 URL: https://hg.openjdk.java.net/panama/dev/rev/44a909932c7c 8139652: Mutator refinement processing should take the oldest dirty card buffer Summary: Changed mutator refinement to take from queue rather than in-place and reuse. Reviewed-by: tschatzl, sjohanss ! src/hotspot/share/gc/g1/g1DirtyCardQueue.cpp ! src/hotspot/share/gc/g1/g1DirtyCardQueue.hpp Changeset: 0c03ed579379 Author: pchilanomate Date: 2020-03-20 00:32 +0000 URL: https://hg.openjdk.java.net/panama/dev/rev/0c03ed579379 8240902: JDI shared memory connector can use already closed Handles Summary: Add refcount to keep track of connection access Reviewed-by: dholmes, dcubed, sspitsyn ! src/jdk.jdi/share/native/libdt_shmem/shmemBase.c Changeset: b96911696f71 Author: xyin Date: 2020-03-20 10:24 +0800 URL: https://hg.openjdk.java.net/panama/dev/rev/b96911696f71 8241130: com.sun.jndi.ldap.EventSupport.removeDeadNotifier: java.lang.NullPointerException Reviewed-by: dfuchs ! src/java.naming/share/classes/com/sun/jndi/ldap/EventSupport.java ! test/jdk/com/sun/jndi/ldap/RemoveNamingListenerTest.java Changeset: eadd3a62ea18 Author: cjplummer Date: 2020-03-19 21:32 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/eadd3a62ea18 8241335: ProblemList serviceability/sa/ClhsdbPstack.java due to JDK-8240956 Reviewed-by: mikael ! test/hotspot/jtreg/ProblemList.txt Changeset: d2bee277e572 Author: kbarrett Date: 2020-03-20 01:20 -0400 URL: https://hg.openjdk.java.net/panama/dev/rev/d2bee277e572 8241001: Improve logging in the ConcurrentGCBreakpoint mechanism Summary: Demoted most breakpoint logging to trace level. Reviewed-by: pliden, sjohanss ! src/hotspot/share/gc/shared/concurrentGCBreakpoints.cpp ! src/hotspot/share/logging/logPrefix.hpp Changeset: 1608514a4ce7 Author: lmesnik Date: 2020-03-20 00:24 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/1608514a4ce7 8241123: Refactor vmTestbase stress framework to use j.u.c and make creation of threads more flexible Reviewed-by: iignatyev, sspitsyn ! test/hotspot/jtreg/vmTestbase/nsk/jdi/ObjectReference/referringObjects/referringObjects003/referringObjects003a.java ! test/hotspot/jtreg/vmTestbase/nsk/share/Wicket.java ! test/hotspot/jtreg/vmTestbase/nsk/share/runner/ThreadsRunner.java Changeset: 89ec93d09e7e Author: tschatzl Date: 2020-03-20 11:17 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/89ec93d09e7e 8240590: Add MemRegion::destroy_array to complement introduced create_array Reviewed-by: lkorinth, sjohanss ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/shared/cardTable.cpp ! src/hotspot/share/memory/filemap.cpp ! src/hotspot/share/memory/memRegion.cpp ! src/hotspot/share/memory/memRegion.hpp Changeset: 2c275730b19d Author: jiahuang Date: 2020-03-20 18:52 +0800 URL: https://hg.openjdk.java.net/panama/dev/rev/2c275730b19d 8240222: [TESTBUG] gtest/jfr/test_networkUtilization.cpp failed when the number of tests is greater than or equal to 2 Reviewed-by: egahlin, mgronlun ! test/hotspot/gtest/jfr/test_networkUtilization.cpp Changeset: 61badf9448b4 Author: coleenp Date: 2020-03-20 07:30 -0400 URL: https://hg.openjdk.java.net/panama/dev/rev/61badf9448b4 8241320: The ClassLoaderData::_is_unsafe_anonymous field is unused in the SA Summary: remove unused code that is changing in Hotspot for hidden classes. Reviewed-by: lfoltan, dholmes, sspitsyn ! src/hotspot/share/runtime/vmStructs.cpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/classfile/ClassLoaderData.java Changeset: 7e5a53043493 Author: jcm Date: 2020-03-20 05:19 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/7e5a53043493 8237894: CTW: C1 compilation fails with assert(x->type()->tag() == f->type()->tag()) failed: should have same type Summary: field access instructions hash decalred_type in addition, indexed access instructions hash value type of the instruction in addition. Reviewed-by: thartmann, shade ! src/hotspot/share/c1/c1_GraphBuilder.cpp ! src/hotspot/share/c1/c1_Instruction.hpp + test/hotspot/jtreg/compiler/c1/TestValueNumberingNullObject.java Changeset: 993974f21271 Author: roland Date: 2020-03-13 16:32 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/993974f21271 8240795: [REDO] 8238384 CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found" Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/gcm.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/type.hpp + test/hotspot/jtreg/compiler/escapeAnalysis/TestCopyOfBrokenAntiDependency.java Changeset: 60a0bfdf44b8 Author: aph Date: 2020-03-19 14:53 +0000 URL: https://hg.openjdk.java.net/panama/dev/rev/60a0bfdf44b8 8241296: Segfault in JNIHandleBlock::oops_do() Reviewed-by: stefank ! src/hotspot/share/runtime/thread.cpp Changeset: 132be3e5f9ee Author: aph Date: 2020-03-20 13:08 +0000 URL: https://hg.openjdk.java.net/panama/dev/rev/132be3e5f9ee Merge Changeset: 47cea54e6ba1 Author: xuelei Date: 2020-03-20 09:15 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/47cea54e6ba1 8241039: Retire the deprecated SSLSession.getPeerCertificateChain() method Reviewed-by: mullan, alanb, dfuchs - src/java.base/share/classes/com/sun/security/cert/internal/x509/X509V1CertImpl.java ! src/java.base/share/classes/javax/net/ssl/HandshakeCompletedEvent.java ! src/java.base/share/classes/javax/net/ssl/SSLSession.java ! src/java.base/share/classes/sun/security/ssl/SSLSessionImpl.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/ImmutableExtendedSSLSession.java ! src/java.net.http/share/classes/jdk/internal/net/http/common/ImmutableSSLSession.java ! test/jdk/sun/security/ssl/GenSSLConfigs/main.java Changeset: cb5757c52ca2 Author: xuelei Date: 2020-03-20 09:27 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/cb5757c52ca2 8219989: Retire the com.sun.net.ssl.internal.ssl.Provider name Summary: remove the provider name in JDK Reviewed-by: mullan ! src/java.base/share/classes/sun/security/jca/ProviderConfig.java Changeset: 5bfe8544c794 Author: minqi Date: 2020-03-20 09:40 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/5bfe8544c794 8241009: CommandLineFlagComboNegative.java fails after JDK-8240563 Summary: jtreg turned off UseCompressedOops and messed up vm flag options of children processes. Reviewed-by: dholmes, stefank ! test/hotspot/jtreg/runtime/cds/appcds/CommandLineFlagComboNegative.java Changeset: eb151fbfb58f Author: pconcannon Date: 2020-03-20 20:16 +0000 URL: https://hg.openjdk.java.net/panama/dev/rev/eb151fbfb58f 8240921: Minor correction to HttpResponse.BodySubscribers example Summary: The fix updates the incorrect example of the usage of the class java.net.http.HttpResponse.BodySubscribers. Reviewed-by: chegar, dfuchs, jboes, pconcannon Contributed-by: Rahul Yadav ! src/java.net.http/share/classes/java/net/http/HttpResponse.java ! test/jdk/java/net/httpclient/examples/JavadocExamples.java Changeset: 8c0c31d419ca Author: prappo Date: 2020-03-20 20:54 +0000 URL: https://hg.openjdk.java.net/panama/dev/rev/8c0c31d419ca 8241014: Miscellaneous typos in documentation comments Reviewed-by: igerasim, prappo, psandoz, rriggs, weijun ! src/java.base/share/classes/java/io/FilePermission.java ! src/java.base/share/classes/java/io/Reader.java ! src/java.base/share/classes/java/lang/Character.java ! src/java.base/share/classes/java/lang/ProcessHandleImpl.java ! src/java.base/share/classes/java/lang/Runtime.java ! src/java.base/share/classes/java/lang/String.java ! src/java.base/share/classes/java/lang/constant/DirectMethodHandleDescImpl.java ! src/java.base/share/classes/java/lang/constant/DynamicCallSiteDesc.java ! src/java.base/share/classes/java/lang/constant/DynamicConstantDesc.java ! src/java.base/share/classes/java/lang/constant/MethodTypeDescImpl.java ! src/java.base/share/classes/java/lang/constant/ReferenceClassDescImpl.java ! src/java.base/share/classes/java/lang/invoke/MethodType.java ! src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java ! src/java.base/share/classes/java/math/BigDecimal.java ! src/java.base/share/classes/java/net/HttpCookie.java ! src/java.base/share/classes/java/net/MulticastSocket.java ! src/java.base/share/classes/java/nio/file/DirectoryStream.java ! src/java.base/share/classes/java/nio/file/attribute/UserDefinedFileAttributeView.java ! src/java.base/share/classes/java/security/PKCS12Attribute.java ! src/java.base/share/classes/java/security/SignatureSpi.java ! src/java.base/share/classes/java/text/BreakIterator.java ! src/java.base/share/classes/java/time/chrono/ChronoLocalDateTimeImpl.java ! src/java.base/share/classes/java/time/chrono/package-info.java ! src/java.base/share/classes/java/time/temporal/TemporalAccessor.java ! src/java.base/share/classes/java/util/Arrays.java ! src/java.base/share/classes/java/util/BitSet.java ! src/java.base/share/classes/java/util/Enumeration.java ! src/java.base/share/classes/java/util/Map.java ! src/java.base/share/classes/java/util/StringJoiner.java ! src/java.base/share/classes/java/util/regex/Pattern.java ! src/java.base/share/classes/java/util/stream/Stream.java ! src/java.base/share/classes/java/util/stream/package-info.java ! src/java.base/share/classes/javax/crypto/CryptoPolicyParser.java ! src/java.base/share/classes/javax/security/cert/X509Certificate.java ! src/java.base/share/classes/jdk/internal/icu/util/VersionInfo.java ! src/java.base/share/classes/jdk/internal/reflect/ReflectionFactory.java ! src/java.base/share/classes/sun/security/provider/AbstractDrbg.java ! src/java.base/share/classes/sun/security/provider/PolicyFile.java ! src/java.compiler/share/classes/javax/tools/JavaFileManager.java Changeset: 84215fa115fc Author: lmesnik Date: 2020-03-20 17:37 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/84215fa115fc 8241319: WB_GetCodeBlob doesn't have ResourceMark Reviewed-by: iignatyev, thartmann ! src/hotspot/share/prims/whitebox.cpp Changeset: 5cc32ff976fe Author: clanger Date: 2020-03-02 21:04 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/5cc32ff976fe 8239149: Cleanups in SunFontManager.java and TrueTypeFont.java Reviewed-by: prr ! src/java.desktop/share/classes/sun/font/SunFontManager.java ! src/java.desktop/share/classes/sun/font/TrueTypeFont.java Changeset: dd263e4c510e Author: serb Date: 2020-03-02 23:35 +0000 URL: https://hg.openjdk.java.net/panama/dev/rev/dd263e4c510e 8235153: [TESTBUG] [macos 10.15] java/awt/Graphics/DrawImageBG/SystemBgColorTest.java fails Reviewed-by: aivanov ! test/jdk/java/awt/Graphics/DrawImageBG/SystemBgColorTest.java Changeset: 53efe5255d14 Author: serb Date: 2020-03-03 03:46 +0000 URL: https://hg.openjdk.java.net/panama/dev/rev/53efe5255d14 8238936: The crash in XRobotPeer when the custom GraphicsDevice is used Reviewed-by: kizune ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CRobot.java ! src/java.desktop/macosx/classes/sun/lwawt/macosx/LWCToolkit.java ! src/java.desktop/share/classes/java/awt/Robot.java ! src/java.desktop/share/classes/sun/awt/ComponentFactory.java ! src/java.desktop/unix/classes/sun/awt/X11/XRobotPeer.java ! src/java.desktop/unix/classes/sun/awt/X11/XToolkit.java ! src/java.desktop/windows/classes/sun/awt/windows/WRobotPeer.java ! src/java.desktop/windows/classes/sun/awt/windows/WToolkit.java + test/jdk/java/awt/Robot/CreateRobotCustomGC/CreateRobotCustomGC.java Changeset: d9cb148e3998 Author: psadhukhan Date: 2020-03-03 14:45 +0530 URL: https://hg.openjdk.java.net/panama/dev/rev/d9cb148e3998 Merge - test/hotspot/jtreg/runtime/logging/loadLibraryTest/LoadLibrary.java - test/hotspot/jtreg/runtime/testlibrary/GeneratedClassLoader.java Changeset: 91d6091570eb Author: pbansal Date: 2020-03-03 17:37 +0530 URL: https://hg.openjdk.java.net/panama/dev/rev/91d6091570eb 8204161: [TESTBUG] auto failed with the "Applet thread threw exception: java.lang.UnsupportedOperationException" exception Reviewed-by: serb - test/jdk/java/awt/TrayIcon/AddPopupAfterShowTest/AddPopupAfterShowTest.html ! test/jdk/java/awt/TrayIcon/AddPopupAfterShowTest/AddPopupAfterShowTest.java + test/jdk/java/awt/TrayIcon/MiddleButtonEventTest/MiddleButtonEventTest.java Changeset: 35088e0d500d Author: pbansal Date: 2020-03-03 17:49 +0530 URL: https://hg.openjdk.java.net/panama/dev/rev/35088e0d500d 8239902: Remove direct usage of JSlider, JProgressBar classes in CAccessible class Reviewed-by: serb ! src/java.desktop/macosx/classes/sun/lwawt/macosx/CAccessible.java Changeset: c0cd4c457b87 Author: pbansal Date: 2020-03-03 18:26 +0530 URL: https://hg.openjdk.java.net/panama/dev/rev/c0cd4c457b87 8231042: [macos] JFileChooser creates new folder on ESC Reviewed-by: serb, psadhukhan ! src/java.desktop/macosx/classes/com/apple/laf/AquaFileChooserUI.java + test/jdk/javax/swing/JFileChooser/TestJFileChooserNewFolderAction.java Changeset: beef72877eaa Author: serb Date: 2020-03-06 14:41 -0800 URL: https://hg.openjdk.java.net/panama/dev/rev/beef72877eaa 8219578: No associated icon for the leaf node of JTree Reviewed-by: prr, jdv ! src/java.desktop/share/classes/module-info.java Changeset: 7931313ece51 Author: kizune Date: 2020-03-09 00:18 +0300 URL: https://hg.openjdk.java.net/panama/dev/rev/7931313ece51 8176040: Documentation of java.awt.Rectangle.add(java.awt.Point) is wrong. Reviewed-by: serb, prr ! src/java.desktop/share/classes/java/awt/Rectangle.java Changeset: 401496a02949 Author: tnakamura Date: 2020-03-09 15:07 +0530 URL: https://hg.openjdk.java.net/panama/dev/rev/401496a02949 8240518: Incorrect JNU_ReleaseStringPlatformChars in Windows Print Reviewed-by: serb, pbansal, psadhukhan ! src/java.desktop/windows/native/libawt/windows/WPrinterJob.cpp ! src/java.desktop/windows/native/libawt/windows/awt_PrintControl.cpp Changeset: c4d580d1305a Author: jdv Date: 2020-03-10 16:07 +0530 URL: https://hg.openjdk.java.net/panama/dev/rev/c4d580d1305a 6532025: GIF reader throws misleading exception with truncated images Reviewed-by: prr, bpb ! src/java.desktop/share/classes/com/sun/imageio/plugins/gif/GIFImageReader.java + test/jdk/javax/imageio/plugins/gif/TruncatedGIFTest.java Changeset: 392d5e420c73 Author: serb Date: 2020-03-10 11:30 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/392d5e420c73 8233573: Toolkit.getScreenInsets(GraphicsConfiguration) may throw ClassCastException Reviewed-by: prr, jdv ! src/java.desktop/macosx/classes/sun/lwawt/macosx/LWCToolkit.java ! src/java.desktop/unix/classes/sun/awt/X11/XToolkit.java ! src/java.desktop/windows/classes/sun/awt/windows/WToolkit.java + test/jdk/java/awt/Toolkit/GetScreenInsetsCustomGC/GetScreenInsetsCustomGC.java Changeset: 2f6ba1720303 Author: serb Date: 2020-03-10 13:58 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/2f6ba1720303 8040630: Popup menus and tooltips flicker with previous popup contents when first shown Reviewed-by: kizune, pbansal ! src/java.desktop/share/classes/javax/swing/Popup.java Changeset: f0242c3b42ab Author: serb Date: 2020-03-12 03:26 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/f0242c3b42ab 8237746: Fixing compiler warnings in src/demo/share/jfc Reviewed-by: kizune, aivanov Contributed-by: Marc Hoffmann ! src/demo/share/jfc/FileChooserDemo/FileChooserDemo.java ! src/demo/share/jfc/Font2DTest/Font2DTest.java - src/demo/share/jfc/Font2DTest/Font2DTestApplet.java ! src/demo/share/jfc/Font2DTest/FontPanel.java ! src/demo/share/jfc/Font2DTest/RangeMenu.java ! src/demo/share/jfc/J2Ddemo/java2d/DemoPanel.java ! src/demo/share/jfc/J2Ddemo/java2d/GlobalControls.java ! src/demo/share/jfc/J2Ddemo/java2d/Tools.java ! src/demo/share/jfc/J2Ddemo/java2d/demos/Clipping/Areas.java ! src/demo/share/jfc/J2Ddemo/java2d/demos/Fonts/Tree.java ! src/demo/share/jfc/J2Ddemo/java2d/demos/Images/ImageOps.java ! src/demo/share/jfc/J2Ddemo/java2d/demos/Mix/Balls.java ! src/demo/share/jfc/J2Ddemo/java2d/demos/Mix/BezierScroller.java ! src/demo/share/jfc/J2Ddemo/java2d/demos/Paint/GradAnim.java ! src/demo/share/jfc/J2Ddemo/java2d/demos/Paint/TextureAnim.java ! src/demo/share/jfc/Metalworks/MetalworksPrefs.java ! src/demo/share/jfc/Notepad/ElementTreePanel.java ! src/demo/share/jfc/Stylepad/Stylepad.java ! src/demo/share/jfc/SwingSet2/ButtonDemo.java ! src/demo/share/jfc/SwingSet2/ColorChooserDemo.java ! src/demo/share/jfc/SwingSet2/ComboBoxDemo.java ! src/demo/share/jfc/SwingSet2/DemoModule.java ! src/demo/share/jfc/SwingSet2/DirectionPanel.java ! src/demo/share/jfc/SwingSet2/ExampleFileView.java ! src/demo/share/jfc/SwingSet2/FileChooserDemo.java ! src/demo/share/jfc/SwingSet2/InternalFrameDemo.java ! src/demo/share/jfc/SwingSet2/LayoutControlPanel.java ! src/demo/share/jfc/SwingSet2/ListDemo.java ! src/demo/share/jfc/SwingSet2/OptionPaneDemo.java ! src/demo/share/jfc/SwingSet2/SliderDemo.java ! src/demo/share/jfc/SwingSet2/SplitPaneDemo.java ! src/demo/share/jfc/SwingSet2/SwingSet2.java - src/demo/share/jfc/SwingSet2/SwingSet2Applet.java ! src/demo/share/jfc/SwingSet2/TableDemo.java ! src/demo/share/jfc/TableExample/JDBCAdapter.java ! src/demo/share/jfc/TableExample/OldJTable.java ! src/demo/share/jfc/TableExample/TableExample3.java ! src/demo/share/jfc/TableExample/TableExample4.java ! src/demo/share/jfc/TableExample/TableMap.java ! src/demo/share/jfc/TableExample/TableSorter.java Changeset: 9d08530858ff Author: serb Date: 2020-03-11 21:58 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/9d08530858ff 8238075: [OGL] Delete unused properties Reviewed-by: kizune ! src/java.desktop/macosx/classes/sun/awt/CGraphicsDevice.java ! src/java.desktop/macosx/classes/sun/java2d/opengl/CGLGraphicsConfig.java ! src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl/CGLGraphicsConfig.h ! src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl/CGLGraphicsConfig.m Changeset: 45273ef93e6f Author: serb Date: 2020-03-12 10:00 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/45273ef93e6f 8240633: Memory leaks in the implementations of FileChooserUI Reviewed-by: pbansal, psadhukhan ! src/java.desktop/macosx/classes/com/apple/laf/AquaComboBoxUI.java ! src/java.desktop/macosx/classes/com/apple/laf/AquaFileChooserUI.java + test/jdk/javax/swing/JFileChooser/FileChooserListenerLeak.java Changeset: f60a3b5270bf Author: prr Date: 2020-03-12 17:53 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/f60a3b5270bf 8240977: ProblemList failing jtreg tests on macos Reviewed-by: serb ! test/jdk/ProblemList.txt Changeset: 3ea8a0c5c264 Author: arapte Date: 2020-03-15 00:43 +0530 URL: https://hg.openjdk.java.net/panama/dev/rev/3ea8a0c5c264 8226253: JAWS reports wrong number of radio buttons when buttons are hidden. Reviewed-by: kizune, pbansal ! src/java.desktop/share/classes/javax/swing/JList.java ! src/jdk.accessibility/windows/classes/com/sun/java/accessibility/internal/AccessBridge.java Changeset: 889b4191879c Author: psadhukhan Date: 2020-03-16 12:49 +0530 URL: https://hg.openjdk.java.net/panama/dev/rev/889b4191879c 8236635: JTabbedPane preferred size calculation is wrong for SCROLL_TAB_LAYOUT Reviewed-by: serb, pbansal ! test/jdk/ProblemList.txt ! test/jdk/javax/swing/JTabbedPane/TabProb.java Changeset: 23dc143cca50 Author: serb Date: 2020-03-16 17:33 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/23dc143cca50 8226806: [macOS 10.14] Methods of Java Robot should be called from appropriate thread Reviewed-by: psadhukhan, prr ! src/java.desktop/macosx/native/libawt_lwawt/awt/CRobot.m + test/jdk/java/awt/Robot/NonEmptyErrorStream.java Changeset: a9ffedffd435 Author: prr Date: 2020-03-17 17:38 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/a9ffedffd435 8223935: PIT: java/awt/font/WindowsIndicFonts.java fails on windows10 Reviewed-by: serb, jdv ! test/jdk/java/awt/font/WindowsIndicFonts.java Changeset: 7a9486869690 Author: trebari Date: 2020-03-18 11:38 +0530 URL: https://hg.openjdk.java.net/panama/dev/rev/7a9486869690 8146330: [macosx] UIDefaults.keys() different size than UIDefaults.keySet() Reviewed-by: pbansal, serb, jdv ! src/java.desktop/share/classes/javax/swing/MultiUIDefaults.java + test/jdk/javax/swing/UIDefaults/8146330/UIDefaultKeySizeTest.java Changeset: ff66c5acbe68 Author: prr Date: 2020-03-18 15:48 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/ff66c5acbe68 8241229: Problem list jdk/javax/swing/UIDefaults/8146330/UIDefaultKeySizeTest.java Reviewed-by: aivanov, serb ! test/jdk/ProblemList.txt Changeset: 27a6f92a0f5f Author: psadhukhan Date: 2020-03-19 09:20 +0530 URL: https://hg.openjdk.java.net/panama/dev/rev/27a6f92a0f5f 8226230: Test javax/swing/JInternalFrame/8020708/bug8020708.java fails on Ubuntu Reviewed-by: serb ! test/jdk/javax/swing/JInternalFrame/8020708/bug8020708.java Changeset: 44f4d1256298 Author: psadhukhan Date: 2020-03-19 09:22 +0530 URL: https://hg.openjdk.java.net/panama/dev/rev/44f4d1256298 8241078: OOM error parsing HTML with large

 Tag text
Reviewed-by: serb, aivanov

! src/java.desktop/share/classes/javax/swing/text/DefaultStyledDocument.java
+ test/jdk/javax/swing/text/html/TestOOMWithLargePreTag.java

Changeset: 39f8c4e79ae2
Author:    prr
Date:      2020-03-18 22:27 -0700
URL:       https://hg.openjdk.java.net/panama/dev/rev/39f8c4e79ae2

8241233: Typo in problem listing of UIDefaultKeySizeTest.java
Reviewed-by: jdv

! test/jdk/ProblemList.txt

Changeset: 20374b37dd01
Author:    serb
Date:      2020-03-19 22:22 -0700
URL:       https://hg.openjdk.java.net/panama/dev/rev/20374b37dd01

8240786: [TESTBUG] The test java/awt/Window/GetScreenLocation/GetScreenLocationTest.java fails on HiDPI screen
Reviewed-by: jdv, pbansal

! test/jdk/java/awt/Window/GetScreenLocation/GetScreenLocationTest.java

Changeset: 59035a7fab5d
Author:    psadhukhan
Date:      2020-03-21 09:46 +0530
URL:       https://hg.openjdk.java.net/panama/dev/rev/59035a7fab5d

8241291: JCK test javax_swing/text/DefaultStyledDocument/ElementSpec/ESpecCtor.html fails
Reviewed-by: prr

! src/java.desktop/share/classes/javax/swing/text/DefaultStyledDocument.java
- test/jdk/javax/swing/text/html/TestOOMWithLargePreTag.java

Changeset: 44fa3757eba0
Author:    prr
Date:      2020-03-20 22:52 -0700
URL:       https://hg.openjdk.java.net/panama/dev/rev/44fa3757eba0

8232634: Problem List ICMColorDataTest.java
Reviewed-by: serb, psadhukhan

! test/jdk/ProblemList.txt

Changeset: 8afeb2188cf8
Author:    psadhukhan
Date:      2020-03-22 09:46 +0530
URL:       https://hg.openjdk.java.net/panama/dev/rev/8afeb2188cf8

Merge

- make/CompileInterimRmic.gmk
- make/common/RMICompilation.gmk
! make/jdk/src/classes/build/tools/intpoly/header.txt
- make/rmic/Rmic-java.management.rmi.gmk
- make/rmic/Rmic-java.rmi.gmk
- make/rmic/Rmic-jdk.naming.rmi.gmk
- make/rmic/RmicCommon.gmk
- src/hotspot/share/gc/shared/concurrentGCPhaseManager.cpp
- src/hotspot/share/gc/shared/concurrentGCPhaseManager.hpp
- src/hotspot/share/gc/shenandoah/shenandoahAllocTracker.cpp
- src/hotspot/share/gc/shenandoah/shenandoahAllocTracker.hpp
- src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.cpp
- src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.hpp
- src/java.base/macosx/classes/java/lang/ClassLoaderHelper.java
- src/java.base/share/classes/com/sun/security/cert/internal/x509/X509V1CertImpl.java
- src/java.base/unix/classes/java/lang/ClassLoaderHelper.java
- src/java.base/windows/classes/java/lang/ClassLoaderHelper.java
- src/java.rmi/share/doc/stub/java/rmi/activation/ActivationGroup_Stub.java
- src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/UnsafeLoadSnippets.java
- src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryNode.java
- src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/MemoryProxy.java
- src/jdk.jartool/share/classes/sun/tools/jar/Manifest.java
- src/jdk.jartool/share/classes/sun/tools/jar/SignatureFile.java
- src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlTag.java
- src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Navigation.java
- test/hotspot/jtreg/gc/concurrent_phase_control/CheckControl.java
- test/hotspot/jtreg/gc/concurrent_phase_control/CheckSupported.java
- test/hotspot/jtreg/gc/concurrent_phase_control/CheckUnsupported.java
- test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlG1.java
- test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlG1Basics.java
- test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlParallel.java
- test/hotspot/jtreg/gc/concurrent_phase_control/TestConcurrentPhaseControlSerial.java
- test/hotspot/jtreg/gc/g1/TestJNIWeakG1/TestJNIWeakG1.java
- test/hotspot/jtreg/gc/g1/TestJNIWeakG1/libTestJNIWeakG1.c
- test/hotspot/jtreg/gc/shenandoah/options/TestSafepointWorkers.java
! test/jdk/ProblemList.txt
- test/jdk/sun/management/jmxremote/bootstrap/Makefile
- test/jdk/sun/management/jmxremote/bootstrap/launcher.c
- test/jdk/sun/management/jmxremote/bootstrap/linux-amd64/launcher
- test/jdk/sun/management/jmxremote/bootstrap/linux-i586/launcher
- test/jdk/sun/management/jmxremote/bootstrap/solaris-amd64/launcher
- test/jdk/sun/management/jmxremote/bootstrap/solaris-sparcv9/launcher
- test/langtools/tools/javac/file/MultiReleaseJar/MutliReleaseModuleInfoTest.java

Changeset: 038989f9361b
Author:    xuelei
Date:      2020-03-22 09:30 -0700
URL:       https://hg.openjdk.java.net/panama/dev/rev/038989f9361b

8215712: Parsing extension failure may alert decode_error
Reviewed-by: jnimeh

! src/java.base/share/classes/sun/security/ssl/AlpnExtension.java
! src/java.base/share/classes/sun/security/ssl/CertSignAlgsExtension.java
! src/java.base/share/classes/sun/security/ssl/CertStatusExtension.java
! src/java.base/share/classes/sun/security/ssl/CookieExtension.java
! src/java.base/share/classes/sun/security/ssl/ECPointFormatsExtension.java
! src/java.base/share/classes/sun/security/ssl/ExtendedMasterSecretExtension.java
! src/java.base/share/classes/sun/security/ssl/KeyShareExtension.java
! src/java.base/share/classes/sun/security/ssl/MaxFragExtension.java
! src/java.base/share/classes/sun/security/ssl/PreSharedKeyExtension.java
! src/java.base/share/classes/sun/security/ssl/PskKeyExchangeModesExtension.java
! src/java.base/share/classes/sun/security/ssl/RenegoInfoExtension.java
! src/java.base/share/classes/sun/security/ssl/SSLExtension.java
! src/java.base/share/classes/sun/security/ssl/SSLExtensions.java
! src/java.base/share/classes/sun/security/ssl/SSLStringizer.java
! src/java.base/share/classes/sun/security/ssl/ServerHello.java
! src/java.base/share/classes/sun/security/ssl/ServerNameExtension.java
! src/java.base/share/classes/sun/security/ssl/SessionTicketExtension.java
! src/java.base/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java
! src/java.base/share/classes/sun/security/ssl/SupportedGroupsExtension.java
! src/java.base/share/classes/sun/security/ssl/SupportedVersionsExtension.java
! src/java.base/share/classes/sun/security/ssl/TransportContext.java

Changeset: 3df253feab7b
Author:    pli
Date:      2020-03-23 08:37 +0800
URL:       https://hg.openjdk.java.net/panama/dev/rev/3df253feab7b

8241091: AArch64: "bad AD file" with VM option "-XX:-UsePopCountInstruction"
Reviewed-by: aph

! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp

Changeset: 3ecfa2b80db2
Author:    ihse
Date:      2020-03-23 10:26 +0100
URL:       https://hg.openjdk.java.net/panama/dev/rev/3ecfa2b80db2

8241310: Fix warnings in jdk buildtools
Reviewed-by: erikj, forax

! make/CompileToolsJdk.gmk
! make/jdk/src/classes/build/tools/cldrconverter/Bundle.java
! make/jdk/src/classes/build/tools/cldrconverter/CLDRConverter.java
! make/jdk/src/classes/build/tools/cldrconverter/PluralsParseHandler.java
! make/jdk/src/classes/build/tools/dtdbuilder/DTDBuilder.java
! make/jdk/src/classes/build/tools/dtdbuilder/DTDInputStream.java
! make/jdk/src/classes/build/tools/generatebreakiteratordata/GenerateBreakIteratorData.java
! make/jdk/src/classes/build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java
! make/jdk/src/classes/build/tools/generatecharacter/CharacterName.java
! make/jdk/src/classes/build/tools/generatecharacter/CharacterScript.java
! make/jdk/src/classes/build/tools/generatecharacter/PrintCharacterRanges.java
! make/jdk/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java
! make/jdk/src/classes/build/tools/jdwpgen/Parse.java
! make/jdk/src/classes/build/tools/tzdb/TzdbZoneRulesProvider.java
! make/jdk/src/classes/build/tools/x11wrappergen/WrapperGenerator.java

Changeset: f81815820cd5
Author:    ihse
Date:      2020-03-23 10:29 +0100
URL:       https://hg.openjdk.java.net/panama/dev/rev/f81815820cd5

8241271: Make hotspot build reproducible
Reviewed-by: erikj, stefank, jwilhelm

! make/autoconf/compare.sh.in
! make/autoconf/hotspot.m4
! make/autoconf/spec.gmk.in
! make/conf/jib-profiles.js
! make/hotspot/lib/CompileJvm.gmk
! make/scripts/compare_exceptions.sh.incl
! src/hotspot/share/runtime/abstract_vm_version.cpp

Changeset: d2d076a7dfc4
Author:    shade
Date:      2020-03-23 10:37 +0100
URL:       https://hg.openjdk.java.net/panama/dev/rev/d2d076a7dfc4

8241068: Shenandoah: improve ShenandoahTraversalGC constructor arguments
Reviewed-by: shade
Contributed-by: Kelvin Nilsen 

! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp
! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.hpp

Changeset: 973301ba95bb
Author:    dfuchs
Date:      2020-03-23 14:22 +0000
URL:       https://hg.openjdk.java.net/panama/dev/rev/973301ba95bb

8241443: Problem list some java.net tests failing with NoRouteToHostException on macOS with special network configuration
Reviewed-by: alanb

! test/jdk/ProblemList.txt

Changeset: ec23fc249e34
Author:    mchung
Date:      2020-03-23 09:05 -0700
URL:       https://hg.openjdk.java.net/panama/dev/rev/ec23fc249e34

8240975: Extend NativeLibraries to support explicit unloading
Reviewed-by: alanb, mcimadamore

! src/java.base/share/classes/java/lang/ClassLoader.java
! src/java.base/share/classes/jdk/internal/loader/BootLoader.java
! src/java.base/share/classes/jdk/internal/loader/NativeLibraries.java
! src/java.base/share/classes/jdk/internal/loader/NativeLibrary.java
! src/java.base/share/native/libjava/NativeLibraries.c
+ test/jdk/jdk/internal/loader/NativeLibraries/Main.java
+ test/jdk/jdk/internal/loader/NativeLibraries/java.base/jdk/internal/loader/NativeLibrariesTest.java
+ test/jdk/jdk/internal/loader/NativeLibraries/libnativeLibrariesTest.c
+ test/jdk/jdk/internal/loader/NativeLibraries/p/Test.java

Changeset: c5ad25b322b8
Author:    sviswanathan
Date:      2020-03-23 10:26 -0700
URL:       https://hg.openjdk.java.net/panama/dev/rev/c5ad25b322b8

8240248: Extend superword reduction optimizations for x86
Summary: Add support for and, or, xor reduction
Reviewed-by: vlivanov, thartmann
Contributed-by: sandhya.viswanathan at intel.com, shravya.rukmannagari at intel.com

! make/devkit/createJMHBundle.sh
! src/hotspot/cpu/x86/macroAssembler_x86.cpp
! src/hotspot/cpu/x86/macroAssembler_x86.hpp
! src/hotspot/cpu/x86/x86.ad
! src/hotspot/share/adlc/formssel.cpp
! src/hotspot/share/opto/classes.hpp
! src/hotspot/share/opto/compile.cpp
! src/hotspot/share/opto/vectornode.cpp
! src/hotspot/share/opto/vectornode.hpp
! src/hotspot/share/runtime/vmStructs.cpp
+ test/hotspot/jtreg/compiler/loopopts/superword/RedTest_int.java
+ test/hotspot/jtreg/compiler/loopopts/superword/RedTest_long.java
+ test/micro/org/openjdk/bench/vm/compiler/VectorReduction.java

Changeset: fcbd54a2c2d9
Author:    poonam
Date:      2020-03-23 17:57 +0000
URL:       https://hg.openjdk.java.net/panama/dev/rev/fcbd54a2c2d9

8231779: crash HeapWord*ParallelScavengeHeap::failed_mem_allocate
Reviewed-by: dlong, tschatzl, pliden

! src/hotspot/share/gc/shared/threadLocalAllocBuffer.cpp

Changeset: 31bb8878e42e
Author:    shade
Date:      2020-03-23 19:14 +0100
URL:       https://hg.openjdk.java.net/panama/dev/rev/31bb8878e42e

8241351: Shenandoah: fragmentation metrics overhaul
Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp
! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.hpp
! src/hotspot/share/gc/shenandoah/shenandoahMetrics.cpp
! src/hotspot/share/gc/shenandoah/shenandoahMetrics.hpp

Changeset: c9fba77b1507
Author:    shade
Date:      2020-03-23 19:14 +0100
URL:       https://hg.openjdk.java.net/panama/dev/rev/c9fba77b1507

8241435: Shenandoah: avoid disabling pacing with "aggressive"
Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAggressiveHeuristics.cpp

Changeset: c456587e7ef4
Author:    shade
Date:      2020-03-23 19:14 +0100
URL:       https://hg.openjdk.java.net/panama/dev/rev/c456587e7ef4

8241139: Shenandoah: distribute mark-compact work exactly to minimize fragmentation
Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp
! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.hpp

Changeset: bea08473341c
Author:    jjg
Date:      2020-03-23 12:48 -0700
URL:       https://hg.openjdk.java.net/panama/dev/rev/bea08473341c

8241190: Fix name clash for constants-summary CSS class
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/IndexRedirectWriter.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/markup/HtmlStyle.java
! test/langtools/jdk/javadoc/doclet/JavascriptWinTitle/JavascriptWinTitle.java
! test/langtools/jdk/javadoc/doclet/testMetadata/TestMetadata.java

Changeset: 1b6cb377d024
Author:    iklam
Date:      2020-03-23 13:27 -0700
URL:       https://hg.openjdk.java.net/panama/dev/rev/1b6cb377d024

8241244: CDS dynamic dump asserts in ArchivePtrBitmapCleaner::do_bit
Reviewed-by: minqi, coleenp

! src/hotspot/share/classfile/systemDictionaryShared.cpp

Changeset: 038518d628e7
Author:    jjg
Date:      2020-03-23 14:11 -0700
URL:       https://hg.openjdk.java.net/panama/dev/rev/038518d628e7

8241292: Interactive Search results are not highlighted as they used to be
Reviewed-by: prappo

! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/search.js
! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java

Changeset: c0dd28941d68
Author:    redestad
Date:      2020-03-23 23:18 +0100
URL:       https://hg.openjdk.java.net/panama/dev/rev/c0dd28941d68

8241371: Refactor and consolidate package_from_name
Reviewed-by: iklam, lfoltan

! src/hotspot/share/classfile/classFileParser.cpp
! src/hotspot/share/classfile/classLoader.cpp
! src/hotspot/share/classfile/classLoader.hpp
! src/hotspot/share/classfile/klassFactory.cpp
! src/hotspot/share/classfile/systemDictionary.cpp
! src/hotspot/share/classfile/systemDictionaryShared.cpp
! src/hotspot/share/oops/instanceKlass.cpp
! src/hotspot/share/oops/instanceKlass.hpp
! src/hotspot/share/utilities/utf8.cpp
! src/hotspot/share/utilities/utf8.hpp
! test/hotspot/gtest/oops/test_instanceKlass.cpp
! test/hotspot/gtest/runtime/test_classLoader.cpp

Changeset: cc739b0abc44
Author:    adityam
Date:      2020-03-24 06:13 +0100
URL:       https://hg.openjdk.java.net/panama/dev/rev/cc739b0abc44

8241067: Shenandoah: improve ShenandoahNMethod::has_cset_oops arguments
Reviewed-by: shade
Contributed-by: Aditya Mandaleeka 

! src/hotspot/share/gc/shenandoah/shenandoahNMethod.cpp

Changeset: 98cfafb96a72
Author:    adinn
Date:      2020-03-19 17:26 +0000
URL:       https://hg.openjdk.java.net/panama/dev/rev/98cfafb96a72

8241144: Javadoc is not generated for new module jdk.nio.mapmode
Summary: jdk.nio.mapmode is not present in DOCS_MODULES defined by Modules.gmk
Reviewed-by: erikj, ihse

! make/common/Modules.gmk

Changeset: c5343bb8c596
Author:    kvn
Date:      2020-03-24 09:34 -0700
URL:       https://hg.openjdk.java.net/panama/dev/rev/c5343bb8c596

8237497: vmStructs_jvmci.cpp does not check that the correct field type is specified
Summary: Add missed checks for declarations in vmStructs_jvmci.cpp
Reviewed-by: iklam, thartmann

! src/hotspot/share/jvmci/jvmci.cpp
! src/hotspot/share/jvmci/vmStructs_jvmci.cpp
! src/hotspot/share/jvmci/vmStructs_jvmci.hpp
! src/hotspot/share/runtime/init.cpp
! src/hotspot/share/runtime/vmStructs.cpp
! src/hotspot/share/runtime/vmStructs.hpp
! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/GraalHotSpotVMConfig.java

Changeset: 23dab0354eb0
Author:    thartmann
Date:      2020-03-24 17:39 +0100
URL:       https://hg.openjdk.java.net/panama/dev/rev/23dab0354eb0

8240905: assert(mem == (Node*)1 || mem == mem2) failed: multiple Memories being matched at once?
Summary: Stop recursion if there are multiple loads with different memory inputs in the tree.
Reviewed-by: kvn, vlivanov

! src/hotspot/share/opto/matcher.cpp
! src/hotspot/share/opto/matcher.hpp
+ test/hotspot/jtreg/compiler/codegen/TestMultiMemInstructionMatching.java

Changeset: 6ff2d38ef833
Author:    dcubed
Date:      2020-03-24 13:08 -0400
URL:       https://hg.openjdk.java.net/panama/dev/rev/6ff2d38ef833

8241532: ProblemList tests from 8241530 on OSX
Reviewed-by: ctornqvi

! test/jdk/ProblemList.txt

Changeset: 98df5a01d1ee
Author:    stuefe
Date:      2020-03-24 18:41 +0100
URL:       https://hg.openjdk.java.net/panama/dev/rev/98df5a01d1ee

8241395: Factor out platform independent code for os::xxx_memory_special()
Reviewed-by: mbaesken, mdoerr, lucy

! src/hotspot/os/aix/os_aix.cpp
! src/hotspot/os/bsd/os_bsd.cpp
! src/hotspot/os/linux/os_linux.cpp
! src/hotspot/os/solaris/os_solaris.cpp
! src/hotspot/os/windows/os_windows.cpp
! src/hotspot/share/runtime/os.cpp
! src/hotspot/share/runtime/os.hpp

Changeset: 9517a132eb6d
Author:    shade
Date:      2020-03-24 18:46 +0100
URL:       https://hg.openjdk.java.net/panama/dev/rev/9517a132eb6d

8241520: Shenandoah: simplify region sequence numbers handling
Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.inline.hpp
! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp

Changeset: a0826f064eaf
Author:    shade
Date:      2020-03-24 18:46 +0100
URL:       https://hg.openjdk.java.net/panama/dev/rev/a0826f064eaf

8241534: Shenandoah: region status should include update watermark
Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp

Changeset: 99e2b5918d07
Author:    shade
Date:      2020-03-24 18:46 +0100
URL:       https://hg.openjdk.java.net/panama/dev/rev/99e2b5918d07

8241462: StripNativeDebugSymbols jlink plugin allocates huge arrays
Reviewed-by: alanb, sgehwolf

! src/jdk.jlink/linux/classes/jdk/tools/jlink/internal/plugins/StripNativeDebugSymbolsPlugin.java

Changeset: 97a3e6ce2652
Author:    shade
Date:      2020-03-24 18:46 +0100
URL:       https://hg.openjdk.java.net/panama/dev/rev/97a3e6ce2652

8241445: Fix copyright in test/jdk/tools/launcher/ArgFileSyntax.java
Reviewed-by: psandoz

! src/java.base/share/native/libjli/args.c
! test/jdk/tools/launcher/ArgFileSyntax.java

Changeset: 2ca9499e1c68
Author:    shade
Date:      2020-03-24 20:18 +0100
URL:       https://hg.openjdk.java.net/panama/dev/rev/2ca9499e1c68

8241545: Shenandoah: purge root work overwrites counters after JDK-8228818
Reviewed-by: zgu

! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp

Changeset: b9562cc25fc0
Author:    never
Date:      2020-03-24 13:12 -0700
URL:       https://hg.openjdk.java.net/panama/dev/rev/b9562cc25fc0

8241458: [JVMCI] add mark value to expose CodeOffsets::Frame_Complete
Reviewed-by: kvn

! src/hotspot/share/jvmci/jvmciCodeInstaller.cpp
! src/hotspot/share/jvmci/jvmciCodeInstaller.hpp
! src/hotspot/share/jvmci/vmStructs_jvmci.cpp

Changeset: 7bbf2c0efac8
Author:    vlivanov
Date:      2020-03-25 00:10 +0300
URL:       https://hg.openjdk.java.net/panama/dev/rev/7bbf2c0efac8

8241433: x86: Add VBMI CPU feature detection
Reviewed-by: kvn

! src/hotspot/cpu/x86/vmStructs_x86.hpp
! src/hotspot/cpu/x86/vm_version_x86.cpp
! src/hotspot/cpu/x86/vm_version_x86.hpp
! src/hotspot/share/jvmci/vmStructs_jvmci.cpp

Changeset: 9cff5368d25a
Author:    shade
Date:      2020-03-25 07:58 +0100
URL:       https://hg.openjdk.java.net/panama/dev/rev/9cff5368d25a

8241500: FieldLayout/OldLayoutCheck.java fails in 32-bit VMs
Reviewed-by: fparain, dholmes

! test/hotspot/jtreg/runtime/FieldLayout/OldLayoutCheck.java

Changeset: 4bb7d9ea608d
Author:    redestad
Date:      2020-03-25 13:38 +0100
URL:       https://hg.openjdk.java.net/panama/dev/rev/4bb7d9ea608d

8241584: Remove unused classLoader perf counters
Reviewed-by: hseigel

! src/hotspot/share/classfile/classLoader.cpp
! src/hotspot/share/classfile/classLoader.hpp

Changeset: 5d3f6f0582fe
Author:    chagedorn
Date:      2020-03-25 14:41 +0100
URL:       https://hg.openjdk.java.net/panama/dev/rev/5d3f6f0582fe

8237859: C2: Crash when loads float above range check
Summary: Fix control edges of predicates to data nodes when creating pre/main/post loops.
Reviewed-by: neliasso, thartmann, roland

! src/hotspot/share/opto/loopPredicate.cpp
! src/hotspot/share/opto/loopTransform.cpp
! src/hotspot/share/opto/loopnode.hpp
+ test/hotspot/jtreg/compiler/loopopts/TestRangeCheckPredicatesControl.java

Changeset: ba672c242599
Author:    igerasim
Date:      2020-03-25 08:46 -0700
URL:       https://hg.openjdk.java.net/panama/dev/rev/ba672c242599

8237599: Greedy matching against supplementary chars fails to respect the region
Reviewed-by: rriggs

! src/java.base/share/classes/java/util/regex/Pattern.java
! test/jdk/java/util/regex/RegExTest.java

Changeset: ee707e1ced80
Author:    shade
Date:      2020-03-25 17:20 +0100
URL:       https://hg.openjdk.java.net/panama/dev/rev/ee707e1ced80

8241583: Shenandoah: turn heap lock asserts into macros
Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp
! src/hotspot/share/gc/shenandoah/shenandoahAsserts.hpp
! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp
! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.inline.hpp
! src/hotspot/share/gc/shenandoah/shenandoahLock.hpp

Changeset: fb44f597981a
Author:    naoto
Date:      2020-03-25 09:21 -0700
URL:       https://hg.openjdk.java.net/panama/dev/rev/fb44f597981a

8241311: Move some charset mapping tests from closed to open
Reviewed-by: iris, joehw, itakiguchi, amlu

! test/jdk/sun/nio/cs/TestCharsetMapping.java
+ test/jdk/sun/nio/cs/mapping/Big5.b2c
+ test/jdk/sun/nio/cs/mapping/Big5.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Big5_HKSCS.b2c
+ test/jdk/sun/nio/cs/mapping/Big5_HKSCS.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Big5_HKSCS.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Big5_HKSCS_2001.b2c
+ test/jdk/sun/nio/cs/mapping/Big5_HKSCS_2001.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Big5_Solaris.b2c
+ test/jdk/sun/nio/cs/mapping/CoderTest.java
+ test/jdk/sun/nio/cs/mapping/ConverterTest.java
+ test/jdk/sun/nio/cs/mapping/Cp037.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1006.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1025.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1026.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1046.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1047.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1097.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1098.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1112.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1122.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1123.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1124.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1250.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1251.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1252.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1253.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1254.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1255.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1256.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1257.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1258.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1364.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1364.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp1381.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1381.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp1383.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1383.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp273.b2c
+ test/jdk/sun/nio/cs/mapping/Cp277.b2c
+ test/jdk/sun/nio/cs/mapping/Cp278.b2c
+ test/jdk/sun/nio/cs/mapping/Cp280.b2c
+ test/jdk/sun/nio/cs/mapping/Cp284.b2c
+ test/jdk/sun/nio/cs/mapping/Cp285.b2c
+ test/jdk/sun/nio/cs/mapping/Cp290.b2c
+ test/jdk/sun/nio/cs/mapping/Cp290.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp297.b2c
+ test/jdk/sun/nio/cs/mapping/Cp300.b2c
+ test/jdk/sun/nio/cs/mapping/Cp300.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp33722.b2c
+ test/jdk/sun/nio/cs/mapping/Cp420.b2c
+ test/jdk/sun/nio/cs/mapping/Cp420.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp420.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp424.b2c
+ test/jdk/sun/nio/cs/mapping/Cp437.b2c
+ test/jdk/sun/nio/cs/mapping/Cp500.b2c
+ test/jdk/sun/nio/cs/mapping/Cp737.b2c
+ test/jdk/sun/nio/cs/mapping/Cp775.b2c
+ test/jdk/sun/nio/cs/mapping/Cp833.b2c
+ test/jdk/sun/nio/cs/mapping/Cp833.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp834.b2c
+ test/jdk/sun/nio/cs/mapping/Cp834.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp838.b2c
+ test/jdk/sun/nio/cs/mapping/Cp850.b2c
+ test/jdk/sun/nio/cs/mapping/Cp852.b2c
+ test/jdk/sun/nio/cs/mapping/Cp855.b2c
+ test/jdk/sun/nio/cs/mapping/Cp856.b2c
+ test/jdk/sun/nio/cs/mapping/Cp857.b2c
+ test/jdk/sun/nio/cs/mapping/Cp860.b2c
+ test/jdk/sun/nio/cs/mapping/Cp861.b2c
+ test/jdk/sun/nio/cs/mapping/Cp862.b2c
+ test/jdk/sun/nio/cs/mapping/Cp863.b2c
+ test/jdk/sun/nio/cs/mapping/Cp864.b2c
+ test/jdk/sun/nio/cs/mapping/Cp865.b2c
+ test/jdk/sun/nio/cs/mapping/Cp866.b2c
+ test/jdk/sun/nio/cs/mapping/Cp868.b2c
+ test/jdk/sun/nio/cs/mapping/Cp869.b2c
+ test/jdk/sun/nio/cs/mapping/Cp870.b2c
+ test/jdk/sun/nio/cs/mapping/Cp871.b2c
+ test/jdk/sun/nio/cs/mapping/Cp874.b2c
+ test/jdk/sun/nio/cs/mapping/Cp874.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp875.b2c
+ test/jdk/sun/nio/cs/mapping/Cp918.b2c
+ test/jdk/sun/nio/cs/mapping/Cp921.b2c
+ test/jdk/sun/nio/cs/mapping/Cp922.b2c
+ test/jdk/sun/nio/cs/mapping/Cp930.b2c
+ test/jdk/sun/nio/cs/mapping/Cp933.b2c
+ test/jdk/sun/nio/cs/mapping/Cp935.b2c
+ test/jdk/sun/nio/cs/mapping/Cp937.b2c
+ test/jdk/sun/nio/cs/mapping/Cp937.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp939.b2c
+ test/jdk/sun/nio/cs/mapping/Cp942.b2c
+ test/jdk/sun/nio/cs/mapping/Cp943.b2c
+ test/jdk/sun/nio/cs/mapping/Cp948.b2c
+ test/jdk/sun/nio/cs/mapping/Cp948.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp948.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp949.b2c
+ test/jdk/sun/nio/cs/mapping/Cp950.b2c
+ test/jdk/sun/nio/cs/mapping/Cp950.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp950.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp964.b2c
+ test/jdk/sun/nio/cs/mapping/Cp964.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp970.b2c
+ test/jdk/sun/nio/cs/mapping/Cp970.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/EUC_CN.b2c
+ test/jdk/sun/nio/cs/mapping/EUC_JP.b2c
+ test/jdk/sun/nio/cs/mapping/EUC_JP_LINUX.b2c
+ test/jdk/sun/nio/cs/mapping/EUC_JP_Solaris.b2c
+ test/jdk/sun/nio/cs/mapping/EUC_KR.b2c
+ test/jdk/sun/nio/cs/mapping/EUC_TW.b2c
+ test/jdk/sun/nio/cs/mapping/GB18030.b2c
+ test/jdk/sun/nio/cs/mapping/GBK.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_11.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_2.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_3.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_4.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_5.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_6.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_7.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_8.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_9.b2c
+ test/jdk/sun/nio/cs/mapping/JIS0201.b2c.private
+ test/jdk/sun/nio/cs/mapping/JIS0208.b2c.private
+ test/jdk/sun/nio/cs/mapping/JIS0212.b2c.private
+ test/jdk/sun/nio/cs/mapping/Johab.b2c
+ test/jdk/sun/nio/cs/mapping/KOI8_R.b2c
+ test/jdk/sun/nio/cs/mapping/KOI8_U.b2c
+ test/jdk/sun/nio/cs/mapping/MS50221_0208.b2c
+ test/jdk/sun/nio/cs/mapping/MS50221_0212.b2c
+ test/jdk/sun/nio/cs/mapping/MS874.b2c
+ test/jdk/sun/nio/cs/mapping/MS932.b2c.private
+ test/jdk/sun/nio/cs/mapping/MS932DB.b2c.private
+ test/jdk/sun/nio/cs/mapping/MS932DB.c2b.private
+ test/jdk/sun/nio/cs/mapping/MS932_0208.b2c
+ test/jdk/sun/nio/cs/mapping/MS936.b2c
+ test/jdk/sun/nio/cs/mapping/MS949.b2c
+ test/jdk/sun/nio/cs/mapping/MS950.b2c
+ test/jdk/sun/nio/cs/mapping/MS950.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/MS950.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/MS950_HKSCS.b2c
+ test/jdk/sun/nio/cs/mapping/MS950_HKSCS.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/MS950_HKSCS_XP.b2c
+ test/jdk/sun/nio/cs/mapping/MSCP932.b2c.abigail
+ test/jdk/sun/nio/cs/mapping/MacArabic.b2c
+ test/jdk/sun/nio/cs/mapping/MacCentralEurope.b2c
+ test/jdk/sun/nio/cs/mapping/MacCroatian.b2c
+ test/jdk/sun/nio/cs/mapping/MacCyrillic.b2c
+ test/jdk/sun/nio/cs/mapping/MacDingbat.b2c
+ test/jdk/sun/nio/cs/mapping/MacGreek.b2c
+ test/jdk/sun/nio/cs/mapping/MacHebrew.b2c
+ test/jdk/sun/nio/cs/mapping/MacIceland.b2c
+ test/jdk/sun/nio/cs/mapping/MacRoman.b2c
+ test/jdk/sun/nio/cs/mapping/MacRomania.b2c
+ test/jdk/sun/nio/cs/mapping/MacSymbol.b2c
+ test/jdk/sun/nio/cs/mapping/MacThai.b2c
+ test/jdk/sun/nio/cs/mapping/MacTurkish.b2c
+ test/jdk/sun/nio/cs/mapping/MacUkraine.b2c
+ test/jdk/sun/nio/cs/mapping/PCK.b2c
+ test/jdk/sun/nio/cs/mapping/PCK.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/SJIS.b2c
+ test/jdk/sun/nio/cs/mapping/SJIS_0213.b2c
+ test/jdk/sun/nio/cs/mapping/TIS620.b2c
+ test/jdk/sun/nio/cs/mapping/TestConv.java
+ test/jdk/sun/nio/cs/mapping/TestFmwk.java
+ test/jdk/sun/nio/cs/mapping/untested/X11SunUnicode_0.b2c
+ test/jdk/sun/nio/cs/mapping/untested/gb18030_0.b2c
+ test/jdk/sun/nio/cs/mapping/untested/gb18030_1.b2c

Changeset: 33759bdb2cfc
Author:    ascarpino
Date:      2020-03-25 12:41 -0700
URL:       https://hg.openjdk.java.net/panama/dev/rev/33759bdb2cfc

8237219: Disable native SunEC implementation by default
Reviewed-by: weijun, mullan

! src/java.base/share/classes/module-info.java
! src/jdk.crypto.ec/share/classes/sun/security/ec/ECDHKeyAgreement.java
! src/jdk.crypto.ec/share/classes/sun/security/ec/ECDSASignature.java
! src/jdk.crypto.ec/share/classes/sun/security/ec/ECKeyPairGenerator.java
! src/jdk.crypto.ec/share/classes/sun/security/ec/SunEC.java
! test/jdk/java/security/KeyAgreement/KeyAgreementTest.java
! test/jdk/java/security/KeyAgreement/KeySizeTest.java
! test/jdk/jdk/security/jarsigner/Spec.java
! test/jdk/sun/security/ec/ECDSAJavaVerify.java
! test/jdk/sun/security/ec/InvalidCurve.java
! test/jdk/sun/security/ec/SignatureDigestTruncate.java
! test/jdk/sun/security/ec/TestEC.java
! test/jdk/sun/security/pkcs11/ec/ReadPKCS12.java
! test/jdk/sun/security/tools/keytool/GroupName.java
! test/jdk/sun/security/tools/keytool/KeyAlg.java
! test/jdk/sun/security/tools/keytool/fakegen/DefaultSignatureAlgorithm.java


From sandhya.viswanathan at intel.com  Wed Mar 25 22:13:51 2020
From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya)
Date: Wed, 25 Mar 2020 22:13:51 +0000
Subject: [vectorIntrinsics] RFR: Cleanup code for SVML support
In-Reply-To: <7ad16ba9-4928-afdb-dd95-d06addb1ebe6@oracle.com>
References: <7ad16ba9-4928-afdb-dd95-d06addb1ebe6@oracle.com>
Message-ID: 

Hi Vladimir,

Only one comment:

In stubGenerator_x86_64.cpp, the else at line 6966 should be removed.  
6966     } else

Rest looks good.

Best Regards,
Sandhya

-----Original Message-----
From: panama-dev  On Behalf Of Vladimir Ivanov
Sent: Wednesday, March 25, 2020 9:41 AM
To: panama-dev 
Subject: [vectorIntrinsics] RFR: Cleanup code for SVML support

http://cr.openjdk.java.net/~vlivanov/panama/vector/cleanup.svml/webrev.00/

Considering EnableVectorSupport is turned off by default, SVML entry points should be either lazily or unconditionally initialized. 
Considering it's just caching entry point addresses I chose the latter.

Also, some cleanups (new flag to control usage of SVML stubs, renamings, etc).

Testing: jdk/incubator/vector tests

Thanks!

Best regards,
Vladimir Ivanov

From sandhya.viswanathan at intel.com  Wed Mar 25 22:26:50 2020
From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya)
Date: Wed, 25 Mar 2020 22:26:50 +0000
Subject: [vectorIntrinsics] Vector cast cleanup for x86
Message-ID: 

Please find below a webrev which cleans up VectorCast code generation for x86:

http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/VectorConvert/webrev.00/

Best Regards,
Sandhya


From jorn.vernee at oracle.com  Wed Mar 25 22:26:53 2020
From: jorn.vernee at oracle.com (Jorn Vernee)
Date: Wed, 25 Mar 2020 23:26:53 +0100
Subject: [foreign-jextract] RFR: 8237573: Add a basic call overhead
 benchmark
In-Reply-To: 
References: 
 
 
Message-ID: 

Ah, I think I only got a warning about sqrt when running before, but it 
looks like abs is actually defined in stdlib.h [1]

I'll try running the benchmarks on WSL as well to see if I can 
reproduce/fix locally.

Thanks,
Jorn

[1] : https://en.cppreference.com/w/c/numeric/math/abs

On 25/03/2020 22:51, Maurizio Cimadamore wrote:
> On Wed, 25 Mar 2020 21:42:48 GMT, Maurizio Cimadamore  wrote:
>
>>> Hi,
>>>
>>> Per my earlier email [1], this PR adds some basic call overhead benchmarks.
>>>
>>> 2 benchmarks are added:
>>> - CallOverhead, which measures both an empty and an identity function call.
>>> - PointsDistance, which extends the existing points benchmarks with one that measures the distance between 2 points doing
>>>    the calculation is C (using a native call).
>>>
>>> The latter also shows the difference between passing a pointer to a struct, vs passing a struct by value,
>>> PointsDistance.panama_MemoryAddress and PointsDistance.panama_MemorySegment respectively.
>>> This acts as a basis to test the coming performance improvements in this area.
>>>
>>> Thanks,
>>> Jorn
>>>
>>> [1] : https://mail.openjdk.java.net/pipermail/panama-dev/2020-March/008007.html
>> test/micro/org/openjdk/bench/jdk/incubator/foreign/points/support/libPoint.c line 23:
>>
>>> 22:  */
>>> 23: #include 
>>> 24:
>> Suggestion:
>>
>> #include 
>> #include 
> I needed this change to make it compile on Linux (I actually need both includes).
>
> -------------
>
> PR: https://git.openjdk.java.net/panama-foreign/pull/65

From jvernee at openjdk.java.net  Wed Mar 25 23:09:50 2020
From: jvernee at openjdk.java.net (Jorn Vernee)
Date: Wed, 25 Mar 2020 23:09:50 GMT
Subject: [foreign-jextract] [Rev 01] RFR: 8237573: Add a basic call
 overhead benchmark
In-Reply-To: 
References: 
Message-ID: <1URCrTg-jxentSRLsTvijj4RgISZHggOzpeTiwJLzyY=.39140378-f6f7-4afb-8fca-ad8ae4ea9f50@github.com>

> Hi,
> 
> Per my earlier email [1], this PR adds some basic call overhead benchmarks.
> 
> 2 benchmarks are added:
> - CallOverhead, which measures both an empty and an identity function call.
> - PointsDistance, which extends the existing points benchmarks with one that measures the distance between 2 points doing
>   the calculation is C (using a native call).
> 
> The latter also shows the difference between passing a pointer to a struct, vs passing a struct by value,
> PointsDistance.panama_MemoryAddress and PointsDistance.panama_MemorySegment respectively.
> This acts as a basis to test the coming performance improvements in this area.
> 
> Thanks,
> Jorn
> 
> [1] : https://mail.openjdk.java.net/pipermail/panama-dev/2020-March/008007.html

Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision:

  Fixes to run on Linux

-------------

Changes:
  - all: https://git.openjdk.java.net/panama-foreign/pull/65/files
  - new: https://git.openjdk.java.net/panama-foreign/pull/65/files/bc4aa3ac..b8b73345

Webrevs:
 - full: https://webrevs.openjdk.java.net/panama-foreign/65/webrev.01
 - incr: https://webrevs.openjdk.java.net/panama-foreign/65/webrev.00-01

  Stats: 3 lines in 2 files changed: 1 ins; 0 del; 2 mod
  Patch: https://git.openjdk.java.net/panama-foreign/pull/65.diff
  Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/65/head:pull/65

PR: https://git.openjdk.java.net/panama-foreign/pull/65

From shravya.rukmannagari at intel.com  Wed Mar 25 23:39:01 2020
From: shravya.rukmannagari at intel.com (Rukmannagari, Shravya)
Date: Wed, 25 Mar 2020 23:39:01 +0000
Subject: [vectorIntrinsics] Vector cast cleanup for x86
In-Reply-To: 
References: 
Message-ID: 

Hi Sandhya,
The patch looks good to me.

Thanks,
Shravya.

From: Viswanathan, Sandhya 
Sent: Wednesday, March 25, 2020 3:27 PM
To: panama-dev ; Rukmannagari, Shravya 
Subject: [vectorIntrinsics] Vector cast cleanup for x86

Please find below a webrev which cleans up VectorCast code generation for x86:

http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/VectorConvert/webrev.00/

Best Regards,
Sandhya


From sandhya.viswanathan at intel.com  Wed Mar 25 23:41:19 2020
From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya)
Date: Wed, 25 Mar 2020 23:41:19 +0000
Subject: [vectorIntrinsics] Vector cast cleanup for x86
In-Reply-To: 
References: 
 
Message-ID: 

Thanks for the review.

Best Regards,
Sandhya


From: Rukmannagari, Shravya 
Sent: Wednesday, March 25, 2020 4:39 PM
To: Viswanathan, Sandhya ; panama-dev 
Subject: RE: [vectorIntrinsics] Vector cast cleanup for x86

Hi Sandhya,
The patch looks good to me.

Thanks,
Shravya.

From: Viswanathan, Sandhya 
Sent: Wednesday, March 25, 2020 3:27 PM
To: panama-dev ; Rukmannagari, Shravya 
Subject: [vectorIntrinsics] Vector cast cleanup for x86

Please find below a webrev which cleans up VectorCast code generation for x86:

http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/VectorConvert/webrev.00/

Best Regards,
Sandhya


From mcimadamore at openjdk.java.net  Thu Mar 26 00:33:09 2020
From: mcimadamore at openjdk.java.net (Maurizio Cimadamore)
Date: Thu, 26 Mar 2020 00:33:09 GMT
Subject: [foreign-jextract] [Rev 01] RFR: 8237573: Add a basic call
 overhead benchmark
In-Reply-To: <1URCrTg-jxentSRLsTvijj4RgISZHggOzpeTiwJLzyY=.39140378-f6f7-4afb-8fca-ad8ae4ea9f50@github.com>
References: 
 <1URCrTg-jxentSRLsTvijj4RgISZHggOzpeTiwJLzyY=.39140378-f6f7-4afb-8fca-ad8ae4ea9f50@github.com>
Message-ID: <9xxrquMW0YtuRNzp5eFYKxG0LVcf6-kqB-fEsGLNpkY=.5786d499-4d04-44f0-b6e2-6430f0285d3a@github.com>

On Wed, 25 Mar 2020 23:09:50 GMT, Jorn Vernee  wrote:

>> Hi,
>> 
>> Per my earlier email [1], this PR adds some basic call overhead benchmarks.
>> 
>> 2 benchmarks are added:
>> - CallOverhead, which measures both an empty and an identity function call.
>> - PointsDistance, which extends the existing points benchmarks with one that measures the distance between 2 points doing
>>   the calculation is C (using a native call).
>> 
>> The latter also shows the difference between passing a pointer to a struct, vs passing a struct by value,
>> PointsDistance.panama_MemoryAddress and PointsDistance.panama_MemorySegment respectively.
>> This acts as a basis to test the coming performance improvements in this area.
>> 
>> Thanks,
>> Jorn
>> 
>> [1] : https://mail.openjdk.java.net/pipermail/panama-dev/2020-March/008007.html
>
> Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Fixes to run on Linux

Just a minor nit

test/micro/org/openjdk/bench/jdk/incubator/foreign/points/support/PanamaPoint.java line 46:

> 45:     public static final MemoryLayout LAYOUT = MemoryLayout.ofStruct(
> 46:         MemoryLayouts.C_INT.withOrder(ByteOrder.nativeOrder()).withName("x"),
> 47:         MemoryLayouts.C_INT.withOrder(ByteOrder.nativeOrder()).withName("y")

Do we need the 'withOrder' call?

-------------

Marked as reviewed by mcimadamore (Committer).

PR: https://git.openjdk.java.net/panama-foreign/pull/65

From sandhya.viswanathan at intel.com  Thu Mar 26 00:40:33 2020
From: sandhya.viswanathan at intel.com (sandhya.viswanathan at intel.com)
Date: Thu, 26 Mar 2020 00:40:33 +0000
Subject: hg: panama/dev: Summary: [vectorIntrinsics] Vector cast cleanup for
 x86
Message-ID: <202003260040.02Q0eXwY004878@aojmv0008.oracle.com>

Changeset: 28166c5cc81e
Author:    sviswanathan
Date:      2020-03-25 17:39 -0700
URL:       https://hg.openjdk.java.net/panama/dev/rev/28166c5cc81e

Summary: [vectorIntrinsics] Vector cast cleanup for x86
Reviewed-by: srukmannagar

! src/hotspot/cpu/x86/x86.ad


From vladimir.x.ivanov at oracle.com  Thu Mar 26 09:35:53 2020
From: vladimir.x.ivanov at oracle.com (Vladimir Ivanov)
Date: Thu, 26 Mar 2020 12:35:53 +0300
Subject: [vectorIntrinsics] RFR: Cleanup code for SVML support
In-Reply-To: <0EE65720-229E-433B-864D-5260748B6589@oracle.com>
References: <7ad16ba9-4928-afdb-dd95-d06addb1ebe6@oracle.com>
 <0EE65720-229E-433B-864D-5260748B6589@oracle.com>
Message-ID: 

Thanks, Paul.

> c2_globals.hpp:
> 
>   727   experimental(bool, UseVectorStubs, false,                                 \
>   728           "Use SVML stubs for vector trigonometric functions")              \
>   729
> 
> Trivially it's more that just trigonometric functions, currently it is transcendental functions.  Also should we drop the SVML if say stubs are included for ARM in the future?
> 
> ?Use stubs for vector transcendental operations?
> 
> ?

Good point. Your variant looks good.

Best regards,
Vladimir Ivanov

From vladimir.x.ivanov at oracle.com  Thu Mar 26 09:36:35 2020
From: vladimir.x.ivanov at oracle.com (Vladimir Ivanov)
Date: Thu, 26 Mar 2020 12:36:35 +0300
Subject: [vectorIntrinsics] RFR: Cleanup code for SVML support
In-Reply-To: 
References: <7ad16ba9-4928-afdb-dd95-d06addb1ebe6@oracle.com>
 
Message-ID: 

Thanks, Sandhya.

> Only one comment:
> 
> In stubGenerator_x86_64.cpp, the else at line 6966 should be removed.
> 6966     } else

Good catch! I'll make the adjustment before the push.

Best regards,
Vladimir Ivanov

> -----Original Message-----
> From: panama-dev  On Behalf Of Vladimir Ivanov
> Sent: Wednesday, March 25, 2020 9:41 AM
> To: panama-dev 
> Subject: [vectorIntrinsics] RFR: Cleanup code for SVML support
> 
> http://cr.openjdk.java.net/~vlivanov/panama/vector/cleanup.svml/webrev.00/
> 
> Considering EnableVectorSupport is turned off by default, SVML entry points should be either lazily or unconditionally initialized.
> Considering it's just caching entry point addresses I chose the latter.
> 
> Also, some cleanups (new flag to control usage of SVML stubs, renamings, etc).
> 
> Testing: jdk/incubator/vector tests
> 
> Thanks!
> 
> Best regards,
> Vladimir Ivanov
> 

From vladimir.x.ivanov at oracle.com  Thu Mar 26 09:41:34 2020
From: vladimir.x.ivanov at oracle.com (vladimir.x.ivanov at oracle.com)
Date: Thu, 26 Mar 2020 09:41:34 +0000
Subject: hg: panama/dev: Cleanup code for SVML support.
Message-ID: <202003260941.02Q9fZRm015970@aojmv0008.oracle.com>

Changeset: d8afc82705c2
Author:    vlivanov
Date:      2020-03-26 12:42 +0300
URL:       https://hg.openjdk.java.net/panama/dev/rev/d8afc82705c2

Cleanup code for SVML support.

! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp
! src/hotspot/share/classfile/modules.cpp
! src/hotspot/share/opto/c2_globals.hpp
! src/hotspot/share/opto/vectorIntrinsics.cpp
! src/hotspot/share/runtime/arguments.cpp
! src/hotspot/share/runtime/stubRoutines.cpp
! src/hotspot/share/runtime/stubRoutines.hpp


From jvernee at openjdk.java.net  Thu Mar 26 10:13:39 2020
From: jvernee at openjdk.java.net (Jorn Vernee)
Date: Thu, 26 Mar 2020 10:13:39 GMT
Subject: [foreign-jextract] [Rev 01] RFR: 8237573: Add a basic call
 overhead benchmark
In-Reply-To: <9xxrquMW0YtuRNzp5eFYKxG0LVcf6-kqB-fEsGLNpkY=.5786d499-4d04-44f0-b6e2-6430f0285d3a@github.com>
References: 
 <1URCrTg-jxentSRLsTvijj4RgISZHggOzpeTiwJLzyY=.39140378-f6f7-4afb-8fca-ad8ae4ea9f50@github.com>
 <9xxrquMW0YtuRNzp5eFYKxG0LVcf6-kqB-fEsGLNpkY=.5786d499-4d04-44f0-b6e2-6430f0285d3a@github.com>
Message-ID: 

On Thu, 26 Mar 2020 00:30:31 GMT, Maurizio Cimadamore  wrote:

>> Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Fixes to run on Linux
>
> test/micro/org/openjdk/bench/jdk/incubator/foreign/points/support/PanamaPoint.java line 46:
> 
>> 45:     public static final MemoryLayout LAYOUT = MemoryLayout.ofStruct(
>> 46:         MemoryLayouts.C_INT.withOrder(ByteOrder.nativeOrder()).withName("x"),
>> 47:         MemoryLayouts.C_INT.withOrder(ByteOrder.nativeOrder()).withName("y")
> 
> Do we need the 'withOrder' call?

No, that's not needed. Must have been a left over from experimenting :)

-------------

PR: https://git.openjdk.java.net/panama-foreign/pull/65

From jvernee at openjdk.java.net  Thu Mar 26 10:20:22 2020
From: jvernee at openjdk.java.net (Jorn Vernee)
Date: Thu, 26 Mar 2020 10:20:22 GMT
Subject: [Integrated] [foreign-jextract] RFR: 8237573: Add a basic call
 overhead benchmark
In-Reply-To: 
References: 
Message-ID: 

Changeset: 9ef78a5e
Author:    Jorn Vernee 
Date:      2020-03-26 10:17:55 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/9ef78a5e

8237573: Add a basic call overhead benchmark

Reviewed-by: mcimadamore

+ test/micro/org/openjdk/bench/jdk/incubator/foreign/CallOverhead.java
+ test/micro/org/openjdk/bench/jdk/incubator/foreign/libCallOverhead.c
+ test/micro/org/openjdk/bench/jdk/incubator/foreign/libCallOverheadJNI.c
+ test/micro/org/openjdk/bench/jdk/incubator/foreign/points/PointsDistance.java
! test/micro/org/openjdk/bench/jdk/incubator/foreign/points/support/BBPoint.java
! test/micro/org/openjdk/bench/jdk/incubator/foreign/points/support/JNIPoint.java
! test/micro/org/openjdk/bench/jdk/incubator/foreign/points/support/PanamaPoint.java
! test/micro/org/openjdk/bench/jdk/incubator/foreign/points/support/libJNIPoint.c
+ test/micro/org/openjdk/bench/jdk/incubator/foreign/points/support/libPoint.c

From sundar at openjdk.java.net  Thu Mar 26 10:23:19 2020
From: sundar at openjdk.java.net (Athijegannathan Sundararajan)
Date: Thu, 26 Mar 2020 10:23:19 GMT
Subject: [foreign-jextract] [Rev 02] RFR: Improve jextract error reporting
In-Reply-To: 
References: 
 
Message-ID: 

On Thu, 26 Mar 2020 10:19:54 GMT, Jorn Vernee  wrote:

>> Hi,
>> 
>> I spent the last couple of days tracking down a crash I was seeing sometimes when running jextract. In the process I
>> ended up doing several improvements to jextract's error checking and reporting, that I think are useful to keep in the
>> long run.  The changes include:
>> - Using `clang_parseTranslationUnit2` to parse, since that returns an error code, instead of a null translation unit.
>>   This also means we can still process diagnostic for the returned translation unit (now returned in a buffer).
>> - Checking the return codes for `clang_parseTranslationUnit2`, `clang_saveTranslationUnit`, and
>>   `clang_reparseTranslationUnit` (using a proper enum) and throwing an exception in case they are erroneous.
>> - Catching BadMacroException instead of Throwable in the macro parser. We only care about the former, and catching
>>   Throwable could lead to too many exceptions being eaten. Technically, if there is an unknown exception, we could just
>>   skip the macro, but this isn't always the right strategy. For example, when re-parsing fails the used translation unit
>>   becomes invalid, so we really need to do something else than just skipping the macro in that case (to be addressed in
>>   another patch https://bugs.openjdk.java.net/browse/JDK-8240614). Imo it's better to just crash than to skip when we
>>   encounter an unknwon exception, so that we're more likely to find issues. Enabling libclang crash recovery by default.
>>   By default the crash recovery was being disabled. This leads to the process exiting with OS exception code. If we
>>   enable this however, it will instead try to return an error code from the libclang call, which we can then check for
>>   and handle the failure however we want.
>> 
>> Thanks,
>> Jorn
>
> Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Change crash recovery debug message to print enabled/disabled

Looks good!

-------------

Marked as reviewed by sundar (Committer).

PR: https://git.openjdk.java.net/panama-foreign/pull/40

From jvernee at openjdk.java.net  Thu Mar 26 10:23:18 2020
From: jvernee at openjdk.java.net (Jorn Vernee)
Date: Thu, 26 Mar 2020 10:23:18 GMT
Subject: [foreign-jextract] [Rev 02] RFR: Improve jextract error reporting
In-Reply-To: 
References: 
Message-ID: 

> Hi,
> 
> I spent the last couple of days tracking down a crash I was seeing sometimes when running jextract. In the process I
> ended up doing several improvements to jextract's error checking and reporting, that I think are useful to keep in the
> long run.  The changes include:
> - Using `clang_parseTranslationUnit2` to parse, since that returns an error code, instead of a null translation unit.
>   This also means we can still process diagnostic for the returned translation unit (now returned in a buffer).
> - Checking the return codes for `clang_parseTranslationUnit2`, `clang_saveTranslationUnit`, and
>   `clang_reparseTranslationUnit` (using a proper enum) and throwing an exception in case they are erroneous.
> - Catching BadMacroException instead of Throwable in the macro parser. We only care about the former, and catching
>   Throwable could lead to too many exceptions being eaten. Technically, if there is an unknown exception, we could just
>   skip the macro, but this isn't always the right strategy. For example, when re-parsing fails the used translation unit
>   becomes invalid, so we really need to do something else than just skipping the macro in that case (to be addressed in
>   another patch https://bugs.openjdk.java.net/browse/JDK-8240614). Imo it's better to just crash than to skip when we
>   encounter an unknwon exception, so that we're more likely to find issues. Enabling libclang crash recovery by default.
>   By default the crash recovery was being disabled. This leads to the process exiting with OS exception code. If we
>   enable this however, it will instead try to return an error code from the libclang call, which we can then check for
>   and handle the failure however we want.
> 
> Thanks,
> Jorn

Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision:

  Change crash recovery debug message to print enabled/disabled

-------------

Changes:
  - all: https://git.openjdk.java.net/panama-foreign/pull/40/files
  - new: https://git.openjdk.java.net/panama-foreign/pull/40/files/79bacd6c..1cb6a510

Webrevs:
 - full: https://webrevs.openjdk.java.net/panama-foreign/40/webrev.02
 - incr: https://webrevs.openjdk.java.net/panama-foreign/40/webrev.01-02

  Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod
  Patch: https://git.openjdk.java.net/panama-foreign/pull/40.diff
  Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/40/head:pull/40

PR: https://git.openjdk.java.net/panama-foreign/pull/40

From sundar at openjdk.java.net  Thu Mar 26 10:23:19 2020
From: sundar at openjdk.java.net (Athijegannathan Sundararajan)
Date: Thu, 26 Mar 2020 10:23:19 GMT
Subject: [foreign-jextract] [Rev 01] RFR: Improve jextract error reporting
In-Reply-To: 
References: 
 
 
 
Message-ID: 

On Fri, 6 Mar 2020 11:27:59 GMT, Jorn Vernee  wrote:

>> src/jdk.incubator.jextract/share/classes/jdk/internal/clang/LibClang.java line 39:
>> 
>>> 38:         Index_h.clang_toggleCrashRecovery(CRASH_RECOVERY ? 1 : 0);
>>> 39:         if (DEBUG && !CRASH_RECOVERY) {
>>> 40:             System.err.println("LibClang crash recovery disabled");
>> 
>> Crash recovery is disabled by default, right? Shouldn't the debug for enabling? (because that is the explicit config
>> behaviour - or else this message will be printed always)
>
> This was the way it was before when crash recovery was always being disabled. It would always print the message when
> running in debug mode.
> I guess now we can print whether the crash recovery is enabled or disabled instead.

Looks good. Go ahead!

-------------

PR: https://git.openjdk.java.net/panama-foreign/pull/40

From jvernee at openjdk.java.net  Thu Mar 26 10:25:25 2020
From: jvernee at openjdk.java.net (Jorn Vernee)
Date: Thu, 26 Mar 2020 10:25:25 GMT
Subject: [foreign-jextract] [Rev 02] RFR: 8237573: Add a basic call
 overhead benchmark
In-Reply-To: 
References: 
Message-ID: <1PCYJwRjtoD4NredMo46BW-U0W9W1N4DkmmhCot2MfY=.220cd432-48fe-4391-90d9-42f7360022c4@github.com>

> Hi,
> 
> Per my earlier email [1], this PR adds some basic call overhead benchmarks.
> 
> 2 benchmarks are added:
> - CallOverhead, which measures both an empty and an identity function call.
> - PointsDistance, which extends the existing points benchmarks with one that measures the distance between 2 points doing
>   the calculation is C (using a native call).
> 
> The latter also shows the difference between passing a pointer to a struct, vs passing a struct by value,
> PointsDistance.panama_MemoryAddress and PointsDistance.panama_MemorySegment respectively.
> This acts as a basis to test the coming performance improvements in this area.
> 
> Thanks,
> Jorn
> 
> [1] : https://mail.openjdk.java.net/pipermail/panama-dev/2020-March/008007.html

Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision:

  Remove withOrder calls

-------------

Changes:
  - all: https://git.openjdk.java.net/panama-foreign/pull/65/files
  - new: https://git.openjdk.java.net/panama-foreign/pull/65/files/b8b73345..56765b5c

Webrevs:
 - full: https://webrevs.openjdk.java.net/panama-foreign/65/webrev.02
 - incr: https://webrevs.openjdk.java.net/panama-foreign/65/webrev.01-02

  Stats: 3 lines in 1 file changed: 0 ins; 1 del; 2 mod
  Patch: https://git.openjdk.java.net/panama-foreign/pull/65.diff
  Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/65/head:pull/65

PR: https://git.openjdk.java.net/panama-foreign/pull/65

From sundar at openjdk.java.net  Thu Mar 26 10:43:18 2020
From: sundar at openjdk.java.net (Athijegannathan Sundararajan)
Date: Thu, 26 Mar 2020 10:43:18 GMT
Subject: [foreign-jextract] RFR: 8241650: jextract module should be mapped to
 application class loader
Message-ID: 

fixed makefile to map jextract module to application class loader

-------------

Commit messages:
 - 8241650: jextract module should be mapped to application class loader

Changes: https://git.openjdk.java.net/panama-foreign/pull/66/files
 Webrev: https://webrevs.openjdk.java.net/panama-foreign/66/webrev.00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8241650
  Stats: 42 lines in 2 files changed: 41 ins; 1 del; 0 mod
  Patch: https://git.openjdk.java.net/panama-foreign/pull/66.diff
  Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/66/head:pull/66

PR: https://git.openjdk.java.net/panama-foreign/pull/66

From jvernee at openjdk.java.net  Thu Mar 26 10:45:31 2020
From: jvernee at openjdk.java.net (Jorn Vernee)
Date: Thu, 26 Mar 2020 10:45:31 GMT
Subject: [foreign-abi] RFR: Backport 8237573 to foreign-abi
Message-ID: <-OhS3mcuCZ6hgE70t1lD59cEpTeXIhYkPHjZoqZn5WU=.a3c93f08-d722-48f4-a571-55d4aba417b7@github.com>

Hi,

https://github.com/openjdk/panama-foreign/pull/65 went into the foreign-jextract branch by accident. It should be
backported to the foreign-abi branch.

Thanks,
Jorn

-------------

Commit messages:
 - 8237573: Add a basic call overhead benchmark

Changes: https://git.openjdk.java.net/panama-foreign/pull/67/files
 Webrev: https://webrevs.openjdk.java.net/panama-foreign/67/webrev.00
  Stats: 402 lines in 9 files changed: 392 ins; 1 del; 9 mod
  Patch: https://git.openjdk.java.net/panama-foreign/pull/67.diff
  Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/67/head:pull/67

PR: https://git.openjdk.java.net/panama-foreign/pull/67

From mcimadamore at openjdk.java.net  Thu Mar 26 10:52:10 2020
From: mcimadamore at openjdk.java.net (Maurizio Cimadamore)
Date: Thu, 26 Mar 2020 10:52:10 GMT
Subject: [foreign-jextract] [Rev 02] RFR: 8237573: Add a basic call
 overhead benchmark
In-Reply-To: <1PCYJwRjtoD4NredMo46BW-U0W9W1N4DkmmhCot2MfY=.220cd432-48fe-4391-90d9-42f7360022c4@github.com>
References: 
 <1PCYJwRjtoD4NredMo46BW-U0W9W1N4DkmmhCot2MfY=.220cd432-48fe-4391-90d9-42f7360022c4@github.com>
Message-ID: 

On Thu, 26 Mar 2020 10:25:25 GMT, Jorn Vernee  wrote:

>> Hi,
>> 
>> Per my earlier email [1], this PR adds some basic call overhead benchmarks.
>> 
>> 2 benchmarks are added:
>> - CallOverhead, which measures both an empty and an identity function call.
>> - PointsDistance, which extends the existing points benchmarks with one that measures the distance between 2 points doing
>>   the calculation is C (using a native call).
>> 
>> The latter also shows the difference between passing a pointer to a struct, vs passing a struct by value,
>> PointsDistance.panama_MemoryAddress and PointsDistance.panama_MemorySegment respectively.
>> This acts as a basis to test the coming performance improvements in this area.
>> 
>> Thanks,
>> Jorn
>> 
>> [1] : https://mail.openjdk.java.net/pipermail/panama-dev/2020-March/008007.html
>
> Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Remove withOrder calls

Looks good!

-------------

PR: https://git.openjdk.java.net/panama-foreign/pull/65

From mcimadamore at openjdk.java.net  Thu Mar 26 10:55:16 2020
From: mcimadamore at openjdk.java.net (Maurizio Cimadamore)
Date: Thu, 26 Mar 2020 10:55:16 GMT
Subject: [foreign-abi] RFR: Backport 8237573 to foreign-abi
In-Reply-To: <-OhS3mcuCZ6hgE70t1lD59cEpTeXIhYkPHjZoqZn5WU=.a3c93f08-d722-48f4-a571-55d4aba417b7@github.com>
References: <-OhS3mcuCZ6hgE70t1lD59cEpTeXIhYkPHjZoqZn5WU=.a3c93f08-d722-48f4-a571-55d4aba417b7@github.com>
Message-ID: 

On Thu, 26 Mar 2020 10:39:22 GMT, Jorn Vernee  wrote:

> Hi,
> 
> https://github.com/openjdk/panama-foreign/pull/65 went into the foreign-jextract branch by accident. It should be
> backported to the foreign-abi branch.
> Thanks,
> Jorn

Looks good

Whoops - did not click on "approve" :-)

-------------

PR: https://git.openjdk.java.net/panama-foreign/pull/67Marked as reviewed by mcimadamore (Committer).

From sundar at openjdk.java.net  Thu Mar 26 10:55:16 2020
From: sundar at openjdk.java.net (Athijegannathan Sundararajan)
Date: Thu, 26 Mar 2020 10:55:16 GMT
Subject: [foreign-abi] RFR: Backport 8237573 to foreign-abi
In-Reply-To: <-OhS3mcuCZ6hgE70t1lD59cEpTeXIhYkPHjZoqZn5WU=.a3c93f08-d722-48f4-a571-55d4aba417b7@github.com>
References: <-OhS3mcuCZ6hgE70t1lD59cEpTeXIhYkPHjZoqZn5WU=.a3c93f08-d722-48f4-a571-55d4aba417b7@github.com>
Message-ID: 

On Thu, 26 Mar 2020 10:39:22 GMT, Jorn Vernee  wrote:

> Hi,
> 
> https://github.com/openjdk/panama-foreign/pull/65 went into the foreign-jextract branch by accident. It should be
> backported to the foreign-abi branch.
> Thanks,
> Jorn

Looks good!

-------------

Marked as reviewed by sundar (Committer).

PR: https://git.openjdk.java.net/panama-foreign/pull/67

From sundar at openjdk.java.net  Thu Mar 26 10:56:32 2020
From: sundar at openjdk.java.net (Athijegannathan Sundararajan)
Date: Thu, 26 Mar 2020 10:56:32 GMT
Subject: [Integrated] [foreign-jextract] RFR: 8241650: jextract module
 should be mapped to application class loader
In-Reply-To: 
References: 
Message-ID: 

Changeset: c57e92f5
Author:    Athijegannathan Sundararajan 
Date:      2020-03-26 10:55:42 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/c57e92f5

8241650: jextract module should be mapped to application class loader

Reviewed-by: mcimadamore

! make/common/Modules.gmk
+ test/jdk/tools/jextract/Test8241650.java

From jvernee at openjdk.java.net  Thu Mar 26 10:54:13 2020
From: jvernee at openjdk.java.net (Jorn Vernee)
Date: Thu, 26 Mar 2020 10:54:13 GMT
Subject: [Integrated] [foreign-abi] RFR: Backport 8237573 to foreign-abi
In-Reply-To: <-OhS3mcuCZ6hgE70t1lD59cEpTeXIhYkPHjZoqZn5WU=.a3c93f08-d722-48f4-a571-55d4aba417b7@github.com>
References: <-OhS3mcuCZ6hgE70t1lD59cEpTeXIhYkPHjZoqZn5WU=.a3c93f08-d722-48f4-a571-55d4aba417b7@github.com>
Message-ID: <999ebc0c-bd3b-428f-b383-bb2b6f718d7d@openjdk.org>

Changeset: b5a5df54
Author:    Jorn Vernee 
Date:      2020-03-26 10:53:44 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b5a5df54

Backport 8237573 to foreign-abi

Reviewed-by: mcimadamore, sundar

+ test/micro/org/openjdk/bench/jdk/incubator/foreign/CallOverhead.java
+ test/micro/org/openjdk/bench/jdk/incubator/foreign/libCallOverhead.c
+ test/micro/org/openjdk/bench/jdk/incubator/foreign/libCallOverheadJNI.c
+ test/micro/org/openjdk/bench/jdk/incubator/foreign/points/PointsDistance.java
! test/micro/org/openjdk/bench/jdk/incubator/foreign/points/support/BBPoint.java
! test/micro/org/openjdk/bench/jdk/incubator/foreign/points/support/JNIPoint.java
! test/micro/org/openjdk/bench/jdk/incubator/foreign/points/support/PanamaPoint.java
! test/micro/org/openjdk/bench/jdk/incubator/foreign/points/support/libJNIPoint.c
+ test/micro/org/openjdk/bench/jdk/incubator/foreign/points/support/libPoint.c

From duke at openjdk.java.net  Thu Mar 26 10:55:17 2020
From: duke at openjdk.java.net (duke)
Date: Thu, 26 Mar 2020 10:55:17 GMT
Subject: git: openjdk/panama-foreign: foreign-jextract: 2 new changesets
Message-ID: 

Changeset: b5a5df54
Author:    Jorn Vernee 
Date:      2020-03-26 10:53:44 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b5a5df54

Backport 8237573 to foreign-abi

Reviewed-by: mcimadamore, sundar

+ test/micro/org/openjdk/bench/jdk/incubator/foreign/CallOverhead.java
+ test/micro/org/openjdk/bench/jdk/incubator/foreign/libCallOverhead.c
+ test/micro/org/openjdk/bench/jdk/incubator/foreign/libCallOverheadJNI.c
+ test/micro/org/openjdk/bench/jdk/incubator/foreign/points/PointsDistance.java
! test/micro/org/openjdk/bench/jdk/incubator/foreign/points/support/BBPoint.java
! test/micro/org/openjdk/bench/jdk/incubator/foreign/points/support/JNIPoint.java
! test/micro/org/openjdk/bench/jdk/incubator/foreign/points/support/PanamaPoint.java
! test/micro/org/openjdk/bench/jdk/incubator/foreign/points/support/libJNIPoint.c
+ test/micro/org/openjdk/bench/jdk/incubator/foreign/points/support/libPoint.c

Changeset: 01eaea2e
Author:    duke 
Date:      2020-03-26 10:54:24 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/01eaea2e

Automatic merge of foreign-abi into foreign-jextract



From mcimadamore at openjdk.java.net  Thu Mar 26 10:54:24 2020
From: mcimadamore at openjdk.java.net (Maurizio Cimadamore)
Date: Thu, 26 Mar 2020 10:54:24 GMT
Subject: [foreign-jextract] RFR: 8241650: jextract module should be mapped
 to application class loader
In-Reply-To: 
References: 
Message-ID: 

On Thu, 26 Mar 2020 10:37:43 GMT, Athijegannathan Sundararajan  wrote:

> fixed makefile to map jextract module to application class loader

Looks good

-------------

Marked as reviewed by mcimadamore (Committer).

PR: https://git.openjdk.java.net/panama-foreign/pull/66

From mcimadamore at openjdk.java.net  Thu Mar 26 11:09:41 2020
From: mcimadamore at openjdk.java.net (Maurizio Cimadamore)
Date: Thu, 26 Mar 2020 11:09:41 GMT
Subject: [foreign-abi] [Rev 03] RFR: 8241504: Expose MemoryLayout
 annotations/attributes in the public API
In-Reply-To: <2rW1r9mGJnc-SgDht0u_z9L0ixoj2JwgIAiKfDQB0m8=.86ee2e5d-b324-42b8-949b-e403d8c6cb2c@github.com>
References: <4AWBvAqFoajno3EzZ9hWCbyTfzH-qJqPfetM2hNjVY0=.1e39bc47-6ba3-46a1-aadb-4f0d6f3d96aa@github.com>
 <2rW1r9mGJnc-SgDht0u_z9L0ixoj2JwgIAiKfDQB0m8=.86ee2e5d-b324-42b8-949b-e403d8c6cb2c@github.com>
Message-ID: <9fj7f8EJntz23yDSCNai1sFfAubj5cSYSdauJTl1Hqg=.ad368e16-4f41-4925-804d-ebe052a724d7@github.com>

On Tue, 24 Mar 2020 17:38:20 GMT, Jorn Vernee  wrote:

>> Hi,
>> 
>> This PR exposed MemoryLayout attributes in the public API.
>> 
>> A summary of the changes:
>> - Renamed annotation -> attribute everywhere to avoid confusion with Java language annotations
>> - Made sure that annotations were being serialized as part of a MemoryLayout's ConstantDesc, as well as the alignment
>>   which was previously left out. (The latter also meant changing PaddingLayout::hasNaturalAlignment to always return
>>   `true`, so serializing alignment is skipped for padding). Removed special casing for the abiType attribute. This can
>>   now instead be handled through the generic attribute mechanism.
>> 
>> Thanks,
>> Jorn
>
> Jorn Vernee has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - Merge branch 'Attributes' of https://github.com/JornVernee/panama-foreign into Attributes
>  - Remove ML::attribute(String, Class) helper method.

Some more comments

src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/windows/CallArranger.java line 187:

> 186:             if (type.attribute(VARARGS_ATTRIBUTE_NAME)
> 187:                     .filter(String.class::isInstance)
> 188:                     .map(String.class::cast)

Not convinced by the `filter` here? You get an Optional, you do a cast to String and then parse as boolean -
why the filtering? If there's an annotation with that name, but different type, I'd prefer to crash than to end up
doing something wrong. Same applies elsewhere.

-------------

PR: https://git.openjdk.java.net/panama-foreign/pull/64

From jvernee at openjdk.java.net  Thu Mar 26 11:24:18 2020
From: jvernee at openjdk.java.net (Jorn Vernee)
Date: Thu, 26 Mar 2020 11:24:18 GMT
Subject: [foreign-abi] [Rev 04] RFR: 8241504: Expose MemoryLayout
 annotations/attributes in the public API
In-Reply-To: <4AWBvAqFoajno3EzZ9hWCbyTfzH-qJqPfetM2hNjVY0=.1e39bc47-6ba3-46a1-aadb-4f0d6f3d96aa@github.com>
References: <4AWBvAqFoajno3EzZ9hWCbyTfzH-qJqPfetM2hNjVY0=.1e39bc47-6ba3-46a1-aadb-4f0d6f3d96aa@github.com>
Message-ID: 

> Hi,
> 
> This PR exposed MemoryLayout attributes in the public API.
> 
> A summary of the changes:
> - Renamed annotation -> attribute everywhere to avoid confusion with Java language annotations
> - Made sure that annotations were being serialized as part of a MemoryLayout's ConstantDesc, as well as the alignment
>   which was previously left out. (The latter also meant changing PaddingLayout::hasNaturalAlignment to always return
>   `true`, so serializing alignment is skipped for padding). Removed special casing for the abiType attribute. This can
>   now instead be handled through the generic attribute mechanism.
> 
> Thanks,
> Jorn

Jorn Vernee has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev
excludes the unrelated changes brought in by the merge/rebase. The pull request contains 17 additional commits since
the last revision:

 - Merge branch 'Attributes' of https://github.com/JornVernee/panama-foreign into Attributes
 - Don't filter by type when looking up layout attributes, and instead fail with a CCE by casting directly if the type is
   incorrect, to avoid silent errors.
 - Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SystemABI.java
   
   Co-Authored-By: Maurizio Cimadamore <54672762+mcimadamore at users.noreply.github.com>
 - Remove ML::attribute(String, Class) helper method.
 - Addressed review comments + added basic tests
 - Removed trailing whitespace
 - Clean up diff
 - Removed abiType, added type-casting helper for attribute
 - Rename annotations to attributes, and expose them in the public API.
 - Merge branch 'Attributes' of https://github.com/JornVernee/panama-foreign into Attributes
 - Remove ML::attribute(String, Class) helper method.
 - Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SystemABI.java
   
   Co-Authored-By: Maurizio Cimadamore <54672762+mcimadamore at users.noreply.github.com>
 - Addressed review comments + added basic tests
 - Removed trailing whitespace
 - Clean up diff
 - Removed abiType, added type-casting helper for attribute
 - Rename annotations to attributes, and expose them in the public API.

-------------

Changes:
  - all: https://git.openjdk.java.net/panama-foreign/pull/64/files
  - new: https://git.openjdk.java.net/panama-foreign/pull/64/files/d3baa351..19e5560e

Webrevs:
 - full: https://webrevs.openjdk.java.net/panama-foreign/64/webrev.04
 - incr: https://webrevs.openjdk.java.net/panama-foreign/64/webrev.03-04

  Stats: 405 lines in 12 files changed: 392 ins; 4 del; 9 mod
  Patch: https://git.openjdk.java.net/panama-foreign/pull/64.diff
  Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/64/head:pull/64

PR: https://git.openjdk.java.net/panama-foreign/pull/64

From mcimadamore at openjdk.java.net  Thu Mar 26 12:03:13 2020
From: mcimadamore at openjdk.java.net (Maurizio Cimadamore)
Date: Thu, 26 Mar 2020 12:03:13 GMT
Subject: [foreign-abi] [Rev 04] RFR: 8241504: Expose MemoryLayout
 annotations/attributes in the public API
In-Reply-To: 
References: <4AWBvAqFoajno3EzZ9hWCbyTfzH-qJqPfetM2hNjVY0=.1e39bc47-6ba3-46a1-aadb-4f0d6f3d96aa@github.com>
 
Message-ID: 

On Thu, 26 Mar 2020 11:24:18 GMT, Jorn Vernee  wrote:

>> Hi,
>> 
>> This PR exposed MemoryLayout attributes in the public API.
>> 
>> A summary of the changes:
>> - Renamed annotation -> attribute everywhere to avoid confusion with Java language annotations
>> - Made sure that annotations were being serialized as part of a MemoryLayout's ConstantDesc, as well as the alignment
>>   which was previously left out. (The latter also meant changing PaddingLayout::hasNaturalAlignment to always return
>>   `true`, so serializing alignment is skipped for padding). Removed special casing for the abiType attribute. This can
>>   now instead be handled through the generic attribute mechanism.
>> 
>> Thanks,
>> Jorn
>
> Jorn Vernee has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev
> excludes the unrelated changes brought in by the merge/rebase. The pull request contains 17 additional commits since
> the last revision:
>  - Merge branch 'Attributes' of https://github.com/JornVernee/panama-foreign into Attributes
>  - Don't filter by type when looking up layout attributes, and instead fail with a CCE by casting directly if the type is
>    incorrect, to avoid silent errors.
>  - Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SystemABI.java
>    
>    Co-Authored-By: Maurizio Cimadamore <54672762+mcimadamore at users.noreply.github.com>
>  - Remove ML::attribute(String, Class) helper method.
>  - Addressed review comments + added basic tests
>  - Removed trailing whitespace
>  - Clean up diff
>  - Removed abiType, added type-casting helper for attribute
>  - Rename annotations to attributes, and expose them in the public API.
>  - Merge branch 'Attributes' of https://github.com/JornVernee/panama-foreign into Attributes
>  - Remove ML::attribute(String, Class) helper method.
>  - Update src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SystemABI.java
>    
>    Co-Authored-By: Maurizio Cimadamore <54672762+mcimadamore at users.noreply.github.com>
>  - Addressed review comments + added basic tests
>  - Removed trailing whitespace
>  - Clean up diff
>  - Removed abiType, added type-casting helper for attribute
>  - Rename annotations to attributes, and expose them in the public API.

Looks good

-------------

Marked as reviewed by mcimadamore (Committer).

PR: https://git.openjdk.java.net/panama-foreign/pull/64

From mcimadamore at openjdk.java.net  Thu Mar 26 13:08:31 2020
From: mcimadamore at openjdk.java.net (Maurizio Cimadamore)
Date: Thu, 26 Mar 2020 13:08:31 GMT
Subject: [foreign-abi] [Rev 01] RFR: Merge
 openjdk/panama-foreign:foreign-memaccess
In-Reply-To: 
References: 
Message-ID: 

> Merge with foreign-memaccess

Maurizio Cimadamore has updated the pull request with a new target base due to a merge or a rebase. The pull request
now contains 83 commits:

 - Merge foreign-memaccess
 - Automatic merge of foreign-memaccess into foreign-abi
 - Automatic merge of foreign-memaccess into foreign-abi
 - 8240173: Confusing overflow error when trying to dereference a nothing segment
   
   Reviewed-by: psandoz
 - 8239784: Circular initialization causes C_XXX constants to be null
   
   Reviewed-by: sundar
 - Automatic merge of foreign-memaccess into foreign-abi
 - 8239345: need an enum for standard C types and a way to get a memory layout for those C types
   
   Reviewed-by: jvernee, mcimadamore
 - Automatic merge of foreign-memaccess into foreign-abi
 - Automatic merge of foreign-memaccess into foreign-abi
 - 8238192: Reimplement MemoryAddress memory access handles on top of var handle combinators
   
   Reviewed-by: jvernee
 - 8238226: Revisit FunctionDescriptor
   8237580: Add a method for transforming varargs FunctionDescriptors into fixed-arity ones
   
   Reviewed-by: mcimadamore
 - Merge
   
   Manual merge of foreign-memaccess into foreign-abi
   
   Reviewed-by: mcimadamore
 - 8238837: AArch64: TestUpcall failures after JDK-8237358
   
   Reviewed-by: jvernee
 - 8237359: Clean up Binding
   8238227: The COPY_BUFFER operator should take a MemoryLayout
   8238235: Add extensive documentation to Binding
   
   Reviewed-by: mcimadamore
 - Automatic merge of foreign-memaccess into foreign-abi
 - Automatic merge of foreign-memaccess into foreign-abi
 - 8237360: Add tests that test binding recipe generation directly
   
   Reviewed-by: mcimadamore
 - Merge remote-tracking branch 'remotes/origin/foreign-memaccess' into foreign-abi
 - Manual merge with foreign-memaccess
 - 8238217: panama fails to build because of use of x87 instructions in 64 bit mode
   
   Reviewed-by: mcimadamore, vlivanov
 - Automatic merge with foreign-memaccess
 - Automatic merge with foreign-memaccess
 - 8237357: Add verification code for binding recipes
   
   Reviewed-by: mcimadamore
 - Automatic merge with foreign-memaccess
 - 8237358: Split the DEREFERENCE binding operator into a load/store + move
   
   Reviewed-by: mcimadamore
 - 8237899: Add support for scoped allocation
   
   Changes:
   * Made AllocationScope::sp private
   * fix spurious alignment in copyright header in TestAllocationScope
   
   Reviewed-by: jvernee, sundar
 - 8237899: Add support for scoped allocation
   
   Reviewed-by: jvernee
 - 8237356: Refactor shared code in CallArranger
   
   Reviewed-by: mcimadamore
 - 8237762: Add platform dependent MemoryLayout constants
   
   Reviewed-by: forax, mcimadamore
 - 8237761: Add way to determine the current ABI
   
   Reviewed-by: mcimadamore
 - Manual merge with foreign-memaccess
 - Automatic merge with foreign-memaccess
 - 8237351: Add method to SystemABI for explicitly freeing upcall stubs
   
   Reviewed-by: mcimadamore
 - Manual merge with foreign-memaccess
 - Automatic merge with foreign-memaccess
 - Automatic merge with foreign-memaccess
 - Automatic merge with foreign-memaccess
 - Manual merge with foreign-memaccess
 - Manual merge with foreign-memaccess
 - Automatic merge with foreign-memaccess
 - 8236453: Test for wrong memory address value
   
   Reviewed-by: mcimadamore
 - 8236454: Use MethodHandle.linkToStatic to call MemoryAddress.ofLong
   
   Reviewed-by: mcimadamore
 - Automatic merge with foreign-memaccess
 - Automatic merge with foreign-memaccess
 - Automatic merge with foreign-memaccess
 - 8236004: Memory access var handles should support MemoryAddress carrier
   
   Reviewed-by: psandoz, jvernee
 - Automatic merge with foreign-memaccess
 - Manual merge with foreign-memaccess
 - 8235258: Add support for empty segments and rebased addresses
   
   Reviewed-by: jvernee
 - Manual merge with foreign-memaccess
 - Manual merge with foreign-memaccess
 - Manual merge with foreign-memaccess
 - Manual merge with foreign-memacess
 - Automatic merge with foreign-memaccess
 - Automatic merge with foreign-memaccess
 - Manual merge with foreign-memaccess
 - 8233317: Add the ProgrammableInvoker
   
   Contributed-by: jvernee, mcimadamore, Nick Gasson 
   
   Reviewed-by: mcimadamore
 - 8232907: NPE in FunctionDescriptor::hashCode for function without return type (void)
   
   Reviewed-by: mcimadamore
 - 8232628: foreign-abi usability issues
   
   Reviewed-by: jvernee
 - Manual merge with foreign-memaccess
 - Automatic merge with foreign-memaccess
 - Automatic merge with foreign-memaccess
 - Manual merge with foreign-memaccess
 - Automatic merge with foreign-memaccess
 - Automatic merge with foreign-memaccess
 - Automatic merge with foreign-memaccess
 - 8230806: Use libTestUpcall in TestUpcall
   
   Reviewed-by: mcimadamore
 - Automatic merge with foreign-memaccess
 - 8229918: Fix clash between recent CallingSequenceTest patch and Windows varargs support patch
   
   Reviewed-by: henryjen, nick.gasson at arm.com
   
 - Automatic merge with foreign-memaccess
 - Automatic merge with foreign-memaccess
 - [foreign-abi] 8228762: import CallingSequenceBuilder unit tests
   
   Reviewed-by: mcimadamore, jvernee
 - 8228509: Add support for binding varargs functions on Windows
   
   Reviewed-by: mcimadamore
 - Automatic merge with foreign-memaccess
 - Automatic merge with foreign-memaccess
 - 8228486: Add ABI-specific layout constants
 - Manual merge with foreign-memaccess
 - Manual merge with foreign-memaccess
 - 8227718: Add support for SystemABI
   
   Initial push
   
 - Automatic merge with foreign-memaccess
 - Automatic merge with foreign-memaccess
 - Add dependency file for branch foreign-abi
 - Create foreign-abi branch

-------------

Changes: https://git.openjdk.java.net/panama-foreign/pull/47/files
 Webrev: https://webrevs.openjdk.java.net/panama-foreign/47/webrev.01
  Stats: 59583 lines in 102 files changed: 59454 ins; 37 del; 92 mod
  Patch: https://git.openjdk.java.net/panama-foreign/pull/47.diff
  Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/47/head:pull/47

PR: https://git.openjdk.java.net/panama-foreign/pull/47

From duke at openjdk.java.net  Thu Mar 26 13:12:14 2020
From: duke at openjdk.java.net (J.Duke)
Date: Thu, 26 Mar 2020 13:12:14 GMT
Subject: [foreign-abi] [Rev 01] RFR: Cannot automatically merge
 openjdk/panama-foreign:foreign-memaccess to foreign-abi
In-Reply-To: 
References: 
Message-ID: 

> The following commits from foreign-memaccess could *not* be automatically merged into foreign-abi:
> 
> - a5399004: 8240874: Add finer-grained access control for memory segments
> 
> The following files contains merge conflicts:
> 
> - src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java
> 
> To manually resolve these merge conflicts, please create a personal fork of https://git.openjdk.java.net/panama-foreign
> and execute the following commands:
> $ git checkout foreign-abi
> $ git pull https://git.openjdk.java.net/panama-foreign foreign-abi
> $ git checkout --branch merge-foreign-memaccess-into-foreign-abi
> $ git pull https://git.openjdk.java.net/panama-foreign foreign-memaccess
> 
> When you have resolved the conflicts resulting from the above commands, run:
> 
> $ git add paths/to/files/with/conflicts
> $ git commit -m 'Merge foreign-memaccess'
> 
> Push the merge commit to your personal fork:
> 
> $ git push -u origin merge-foreign-memaccess-into-foreign-abi
> 
> Now proceed to create a pull request towards this repository.
> If you are using the [Skara](https://wiki.openjdk.java.net/display/skara#Skara-Skara)CLI tooling then you can run the
> following command to create the pull request:
> $ git pr create
> 
> This pull request will be closed automatically by a bot once the merge conflicts have been resolved.

J. Duke has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes
the unrelated changes brought in by the merge/rebase.

-------------

Changes:
  - all: https://git.openjdk.java.net/panama-foreign/pull/46/files
  - new: https://git.openjdk.java.net/panama-foreign/pull/46/files/a5399004..a5399004

Webrevs:
 - full: https://webrevs.openjdk.java.net/panama-foreign/46/webrev.01
 - incr: https://webrevs.openjdk.java.net/panama-foreign/46/webrev.00-01

  Stats: 0 lines in 0 files changed: 0 ins; 0 del; 0 mod
  Patch: https://git.openjdk.java.net/panama-foreign/pull/46.diff
  Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/46/head:pull/46

PR: https://git.openjdk.java.net/panama-foreign/pull/46

From duke at openjdk.java.net  Thu Mar 26 13:26:26 2020
From: duke at openjdk.java.net (J.Duke)
Date: Thu, 26 Mar 2020 13:26:26 GMT
Subject: [foreign-jextract] RFR: Cannot automatically merge foreign-abi to
 foreign-jextract
Message-ID: 

Hi all,

this is an _automatically_ generated merge request to notify you that there is 1 commit from the branch
`foreign-abi`that can **not** be merged into the branch `foreign-jextract`:

The following file contains merge conflicts:

- src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/Utils.java

The following paragraphs will give an example on how to solve these merge conflicts and create a pull request to
integrate them. If you are using a workflow different from the one below, feel free to use that instead. It is
important that the title of the pull request you create is `Merge foreign-abi`, otherwise the bots will _not_
understand that the pull request you create is a "merge style" 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://git.openjdk.java.net/panama-foreign) repository. These commands will allow you to view
and resolve the merge conflicts. Note that the name of the local branch in the commands,
`merge-foreign-abi-into-foreign-jextract-3eda9176`, is just an example, feel free to give the local branch any name you
prefer.

$ git checkout foreign-jextract
$ git pull https://git.openjdk.java.net/panama-foreign foreign-jextract
$ git checkout -b merge-foreign-abi-into-foreign-jextract-3eda9176
$ git pull https://git.openjdk.java.net/panama-foreign foreign-abi

When you have resolved the conflicts resulting from the `git pull` command above, run the following commands to create
a merge commit:

$ git add paths/to/files/with/conflicts
$ git commit -m 'Merge foreign-abi'

The commit message does not have to be `Merge foreign-abi`, but it is convenient for when you will create a pull
request. Many tools will by default use the commit message of the most recent commit on a branch as the title for a
pull request from that branch. This means that if you use the commit message `Merge foreign-abi` as the commit message
then the title of the pull request will (depending to tools used to create the pull request) be of a format that the
bots expect.

Proceed to [publish the local
branch](https://wiki.openjdk.java.net/display/SKARA/FAQ#FAQ-HowdoIpushalocalbranchtoaremoterepository?) and [create a
pull request](https://wiki.openjdk.java.net/display/SKARA/FAQ#FAQ-HowdoIcreateapullrequest?) towards the
`foreign-jextract` branch in the [openjdk/panama-foreign](https://git.openjdk.java.net/panama-foreign) repository. The
resulting pull request can then integrated as usual once it has passed all required pre-integration checks.

Thanks,
J. Duke

-------------

Commit messages:
 - 8241504: Expose MemoryLayout annotations/attributes in the public API

Changes: https://git.openjdk.java.net/panama-foreign/pull/68/files
 Webrev: https://webrevs.openjdk.java.net/panama-foreign/68/webrev.00
  Stats: 380 lines in 16 files changed: 202 ins; 47 del; 131 mod
  Patch: https://git.openjdk.java.net/panama-foreign/pull/68.diff
  Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/68/head:pull/68

PR: https://git.openjdk.java.net/panama-foreign/pull/68

From jvernee at openjdk.java.net  Thu Mar 26 13:20:10 2020
From: jvernee at openjdk.java.net (Jorn Vernee)
Date: Thu, 26 Mar 2020 13:20:10 GMT
Subject: [Integrated] [foreign-abi] RFR: 8241504: Expose MemoryLayout
 annotations/attributes in the public API
In-Reply-To: <4AWBvAqFoajno3EzZ9hWCbyTfzH-qJqPfetM2hNjVY0=.1e39bc47-6ba3-46a1-aadb-4f0d6f3d96aa@github.com>
References: <4AWBvAqFoajno3EzZ9hWCbyTfzH-qJqPfetM2hNjVY0=.1e39bc47-6ba3-46a1-aadb-4f0d6f3d96aa@github.com>
Message-ID: 

Changeset: 3eda9176
Author:    Jorn Vernee 
Date:      2020-03-26 13:19:18 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/3eda9176

8241504: Expose MemoryLayout annotations/attributes in the public API

Reviewed-by: mcimadamore

! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/AbstractLayout.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/GroupLayout.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryLayout.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryLayouts.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/PaddingLayout.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SequenceLayout.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SystemABI.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/ValueLayout.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/Utils.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/aarch64/CallArranger.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/sysv/CallArranger.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/windows/CallArranger.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/windows/Windowsx64ABI.java
! test/jdk/java/foreign/NativeTestHelper.java
+ test/jdk/java/foreign/TestLayoutAttributes.java
! test/jdk/java/foreign/TestLayoutConstants.java

From jorn.vernee at oracle.com  Thu Mar 26 14:13:43 2020
From: jorn.vernee at oracle.com (Jorn Vernee)
Date: Thu, 26 Mar 2020 15:13:43 +0100
Subject: [foreign-jextract] RFR: Cannot automatically merge foreign-abi to
 foreign-jextract
In-Reply-To: 
References: 
Message-ID: <8bb68988-ca42-c61b-8a34-94418c0527ae@oracle.com>

I'll fix this one together with some other changes to foreign-jextract 
that are needed due to exposing attributes in the public API.

Jorn

On 26/03/2020 14:26, J.Duke wrote:
> Hi all,
>
> this is an _automatically_ generated merge request to notify you that there is 1 commit from the branch
> `foreign-abi`that can **not** be merged into the branch `foreign-jextract`:
>
> The following file contains merge conflicts:
>
> - src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/Utils.java
>
> The following paragraphs will give an example on how to solve these merge conflicts and create a pull request to
> integrate them. If you are using a workflow different from the one below, feel free to use that instead. It is
> important that the title of the pull request you create is `Merge foreign-abi`, otherwise the bots will _not_
> understand that the pull request you create is a "merge style" 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://git.openjdk.java.net/panama-foreign) repository. These commands will allow you to view
> and resolve the merge conflicts. Note that the name of the local branch in the commands,
> `merge-foreign-abi-into-foreign-jextract-3eda9176`, is just an example, feel free to give the local branch any name you
> prefer.
>
> $ git checkout foreign-jextract
> $ git pull https://git.openjdk.java.net/panama-foreign foreign-jextract
> $ git checkout -b merge-foreign-abi-into-foreign-jextract-3eda9176
> $ git pull https://git.openjdk.java.net/panama-foreign foreign-abi
>
> When you have resolved the conflicts resulting from the `git pull` command above, run the following commands to create
> a merge commit:
>
> $ git add paths/to/files/with/conflicts
> $ git commit -m 'Merge foreign-abi'
>
> The commit message does not have to be `Merge foreign-abi`, but it is convenient for when you will create a pull
> request. Many tools will by default use the commit message of the most recent commit on a branch as the title for a
> pull request from that branch. This means that if you use the commit message `Merge foreign-abi` as the commit message
> then the title of the pull request will (depending to tools used to create the pull request) be of a format that the
> bots expect.
>
> Proceed to [publish the local
> branch](https://wiki.openjdk.java.net/display/SKARA/FAQ#FAQ-HowdoIpushalocalbranchtoaremoterepository?) and [create a
> pull request](https://wiki.openjdk.java.net/display/SKARA/FAQ#FAQ-HowdoIcreateapullrequest?) towards the
> `foreign-jextract` branch in the [openjdk/panama-foreign](https://git.openjdk.java.net/panama-foreign) repository. The
> resulting pull request can then integrated as usual once it has passed all required pre-integration checks.
>
> Thanks,
> J. Duke
>
> -------------
>
> Commit messages:
>   - 8241504: Expose MemoryLayout annotations/attributes in the public API
>
> Changes: https://git.openjdk.java.net/panama-foreign/pull/68/files
>   Webrev: https://webrevs.openjdk.java.net/panama-foreign/68/webrev.00
>    Stats: 380 lines in 16 files changed: 202 ins; 47 del; 131 mod
>    Patch: https://git.openjdk.java.net/panama-foreign/pull/68.diff
>    Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/68/head:pull/68
>
> PR: https://git.openjdk.java.net/panama-foreign/pull/68

From jvernee at openjdk.java.net  Thu Mar 26 15:21:24 2020
From: jvernee at openjdk.java.net (Jorn Vernee)
Date: Thu, 26 Mar 2020 15:21:24 GMT
Subject: [foreign-jextract] RFR: 8241504: Expose MemoryLayout
 annotations/attributes in the public API (foreign-jextract part)
Message-ID: 

Hi,

These are the jextract changes needed after exposing layout attributes in the public API. This also fixes the pending
merge conflict, which was closely related to the needed changes.

Jorn

-------------

Commit messages:
 - Jextract changes after exposing attributes in the public API
 - Merge branch 'foreign-abi' into foreign-jextract
 - 8241504: Expose MemoryLayout annotations/attributes in the public API

Changes: https://git.openjdk.java.net/panama-foreign/pull/69/files
 Webrev: https://webrevs.openjdk.java.net/panama-foreign/69/webrev.00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8241504
  Stats: 411 lines in 20 files changed: 217 ins; 57 del; 137 mod
  Patch: https://git.openjdk.java.net/panama-foreign/pull/69.diff
  Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/69/head:pull/69

PR: https://git.openjdk.java.net/panama-foreign/pull/69

From jvernee at openjdk.java.net  Thu Mar 26 15:34:18 2020
From: jvernee at openjdk.java.net (Jorn Vernee)
Date: Thu, 26 Mar 2020 15:34:18 GMT
Subject: [foreign-jextract] RFR: 8241504: Expose MemoryLayout
 annotations/attributes in the public API (foreign-jextract part)
In-Reply-To: 
References: 
Message-ID: 

On Thu, 26 Mar 2020 15:16:16 GMT, Jorn Vernee  wrote:

> Hi,
> 
> These are the jextract changes needed after exposing layout attributes in the public API. This also fixes the pending
> merge conflict, which was closely related to the needed changes.
> Jorn

So, this includes a merge for: https://github.com/openjdk/panama-foreign/pull/68 and some other jextract fixes. Both
are needed to get foreign-jextract building & passing tests again. Just the other changes besides the merge can be seen
when looking at the diff for the last commit:
https://github.com/openjdk/panama-foreign/pull/69/commits/a1074729fb3190614f2e59947dfbed492e968ad3

-------------

PR: https://git.openjdk.java.net/panama-foreign/pull/69

From mcimadamore at openjdk.java.net  Thu Mar 26 15:50:41 2020
From: mcimadamore at openjdk.java.net (Maurizio Cimadamore)
Date: Thu, 26 Mar 2020 15:50:41 GMT
Subject: [foreign-jextract] RFR: 8241504: Expose MemoryLayout
 annotations/attributes in the public API (foreign-jextract part)
In-Reply-To: 
References: 
Message-ID: 

On Thu, 26 Mar 2020 15:16:16 GMT, Jorn Vernee  wrote:

> Hi,
> 
> These are the jextract changes needed after exposing layout attributes in the public API. This also fixes the pending
> merge conflict, which was closely related to the needed changes.
> Jorn

Looks good

-------------

Marked as reviewed by mcimadamore (Committer).

PR: https://git.openjdk.java.net/panama-foreign/pull/69

From jvernee at openjdk.java.net  Thu Mar 26 15:53:45 2020
From: jvernee at openjdk.java.net (Jorn Vernee)
Date: Thu, 26 Mar 2020 15:53:45 GMT
Subject: [Integrated] [foreign-jextract] RFR: 8241504: Expose MemoryLayout
 annotations/attributes in the public API (foreign-jextract part)
In-Reply-To: 
References: 
Message-ID: 

Changeset: f0cd1026
Author:    Jorn Vernee 
Date:      2020-03-26 15:52:22 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/f0cd1026

8241504: Expose MemoryLayout annotations/attributes in the public API (foreign-jextract part)

Reviewed-by: mcimadamore

! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/AbstractLayout.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/GroupLayout.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryLayout.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryLayouts.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/PaddingLayout.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SequenceLayout.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SystemABI.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/ValueLayout.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/Utils.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/aarch64/CallArranger.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/sysv/CallArranger.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/windows/CallArranger.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/windows/Windowsx64ABI.java
! src/jdk.incubator.jextract/share/classes/jdk/incubator/jextract/tool/JavaSourceBuilder.java
! src/jdk.incubator.jextract/share/classes/jdk/internal/jextract/impl/Utils.java
! test/jdk/java/foreign/NativeTestHelper.java
+ test/jdk/java/foreign/TestLayoutAttributes.java
! test/jdk/java/foreign/TestLayoutConstants.java
! test/jdk/tools/jextract/JextractToolRunner.java
! test/jdk/tools/jextract/testStruct/LibStructTest.java

From duke at openjdk.java.net  Thu Mar 26 15:58:45 2020
From: duke at openjdk.java.net (duke)
Date: Thu, 26 Mar 2020 15:58:45 GMT
Subject: git: openjdk/panama-foreign: foreign-jextract: 2 new changesets
Message-ID: <3575d0ad-f242-4c34-bffd-f2aee021513f@openjdk.org>

Changeset: 3eda9176
Author:    Jorn Vernee 
Date:      2020-03-26 13:19:18 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/3eda9176

8241504: Expose MemoryLayout annotations/attributes in the public API

Reviewed-by: mcimadamore

! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/AbstractLayout.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/GroupLayout.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryLayout.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryLayouts.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/PaddingLayout.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SequenceLayout.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SystemABI.java
! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/ValueLayout.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/Utils.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/aarch64/CallArranger.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/sysv/CallArranger.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/windows/CallArranger.java
! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/x64/windows/Windowsx64ABI.java
! test/jdk/java/foreign/NativeTestHelper.java
+ test/jdk/java/foreign/TestLayoutAttributes.java
! test/jdk/java/foreign/TestLayoutConstants.java

Changeset: 90ad7e24
Author:    duke 
Date:      2020-03-26 15:57:26 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/90ad7e24

Automatic merge of foreign-abi into foreign-jextract



From jvernee at openjdk.java.net  Thu Mar 26 16:07:02 2020
From: jvernee at openjdk.java.net (Jorn Vernee)
Date: Thu, 26 Mar 2020 16:07:02 GMT
Subject: [foreign-jextract] [Rev 01] RFR: 8241504: Expose MemoryLayout
 annotations/attributes in the public API (foreign-jextract part)
In-Reply-To: 
References: 
Message-ID: 

> Hi,
> 
> These are the jextract changes needed after exposing layout attributes in the public API. This also fixes the pending
> merge conflict, which was closely related to the needed changes.
> Jorn

Jorn Vernee has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev
excludes the unrelated changes brought in by the merge/rebase.

-------------

Changes:
  - all: https://git.openjdk.java.net/panama-foreign/pull/69/files
  - new: https://git.openjdk.java.net/panama-foreign/pull/69/files/a1074729..a1074729

Webrevs:
 - full: https://webrevs.openjdk.java.net/panama-foreign/69/webrev.01
 - incr: https://webrevs.openjdk.java.net/panama-foreign/69/webrev.00-01

  Stats: 0 lines in 0 files changed: 0 ins; 0 del; 0 mod
  Patch: https://git.openjdk.java.net/panama-foreign/pull/69.diff
  Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/69/head:pull/69

PR: https://git.openjdk.java.net/panama-foreign/pull/69

From henryjen at openjdk.java.net  Thu Mar 26 16:09:17 2020
From: henryjen at openjdk.java.net (Henry Jen)
Date: Thu, 26 Mar 2020 16:09:17 GMT
Subject: [foreign-jextract] [Rev 01] RFR: 8241504: Expose MemoryLayout
 annotations/attributes in the public API (foreign-jextract part)
In-Reply-To: 
References: 
 
Message-ID: 

On Thu, 26 Mar 2020 15:55:50 GMT, Jorn Vernee  wrote:

>> Hi,
>> 
>> These are the jextract changes needed after exposing layout attributes in the public API. This also fixes the pending
>> merge conflict, which was closely related to the needed changes.
>> Jorn
>
> Jorn Vernee has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev
> excludes the unrelated changes brought in by the merge/rebase.

test/jdk/java/foreign/NativeTestHelper.java line 41:

> 40:     public static boolean isIntegral(MemoryLayout layout) {
> 41:         return switch(SystemABI.Type.fromLayout(layout)) {
> 42:             case BOOL, UNSIGNED_CHAR, SIGNED_CHAR, CHAR, SHORT, UNSIGNED_SHORT,

Need to catch the exception?

-------------

PR: https://git.openjdk.java.net/panama-foreign/pull/69

From duke at openjdk.java.net  Thu Mar 26 16:05:31 2020
From: duke at openjdk.java.net (J.Duke)
Date: Thu, 26 Mar 2020 16:05:31 GMT
Subject: [foreign-jextract] [Rev 01] RFR: Cannot automatically merge
 foreign-abi to foreign-jextract
In-Reply-To: 
References: 
Message-ID: <7ZAbLqsYESkVU83OSa3g4touR5dfgEMJ8sTC3hYOT8E=.eb2878b2-40e6-4c03-a2a1-a9f3cc027427@github.com>

> Hi all,
> 
> this is an _automatically_ generated merge request to notify you that there is 1 commit from the branch
> `foreign-abi`that can **not** be merged into the branch `foreign-jextract`:
> The following file contains merge conflicts:
> 
> - src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/Utils.java
> 
> The following paragraphs will give an example on how to solve these merge conflicts and create a pull request to
> integrate them. If you are using a workflow different from the one below, feel free to use that instead. It is
> important that the title of the pull request you create is `Merge foreign-abi`, otherwise the bots will _not_
> understand that the pull request you create is a "merge style" 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://git.openjdk.java.net/panama-foreign) repository. These commands will allow you to view
> and resolve the merge conflicts. Note that the name of the local branch in the commands,
> `merge-foreign-abi-into-foreign-jextract-3eda9176`, is just an example, feel free to give the local branch any name you
> prefer.  $ git checkout foreign-jextract $ git pull https://git.openjdk.java.net/panama-foreign foreign-jextract $ git
> checkout -b merge-foreign-abi-into-foreign-jextract-3eda9176 $ git pull https://git.openjdk.java.net/panama-foreign
> foreign-abi  When you have resolved the conflicts resulting from the `git pull` command above, run the following
> commands to create a merge commit:  $ git add paths/to/files/with/conflicts
> $ git commit -m 'Merge foreign-abi'
> 
> The commit message does not have to be `Merge foreign-abi`, but it is convenient for when you will create a pull
> request. Many tools will by default use the commit message of the most recent commit on a branch as the title for a
> pull request from that branch. This means that if you use the commit message `Merge foreign-abi` as the commit message
> then the title of the pull request will (depending to tools used to create the pull request) be of a format that the
> bots expect.  Proceed to [publish the local
> branch](https://wiki.openjdk.java.net/display/SKARA/FAQ#FAQ-HowdoIpushalocalbranchtoaremoterepository?) and [create a
> pull request](https://wiki.openjdk.java.net/display/SKARA/FAQ#FAQ-HowdoIcreateapullrequest?) towards the
> `foreign-jextract` branch in the [openjdk/panama-foreign](https://git.openjdk.java.net/panama-foreign) repository. The
> resulting pull request can then integrated as usual once it has passed all required pre-integration checks.  Thanks, J.
> Duke

J. Duke has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes
the unrelated changes brought in by the merge/rebase.

-------------

Changes:
  - all: https://git.openjdk.java.net/panama-foreign/pull/68/files
  - new: https://git.openjdk.java.net/panama-foreign/pull/68/files/3eda9176..3eda9176

Webrevs:
 - full: https://webrevs.openjdk.java.net/panama-foreign/68/webrev.01
 - incr: https://webrevs.openjdk.java.net/panama-foreign/68/webrev.00-01

  Stats: 0 lines in 0 files changed: 0 ins; 0 del; 0 mod
  Patch: https://git.openjdk.java.net/panama-foreign/pull/68.diff
  Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/68/head:pull/68

PR: https://git.openjdk.java.net/panama-foreign/pull/68

From jvernee at openjdk.java.net  Thu Mar 26 16:05:32 2020
From: jvernee at openjdk.java.net (Jorn Vernee)
Date: Thu, 26 Mar 2020 16:05:32 GMT
Subject: [foreign-jextract] RFR: Cannot automatically merge foreign-abi to
 foreign-jextract
In-Reply-To: 
References: 
Message-ID: 

On Thu, 26 Mar 2020 13:19:52 GMT, J. Duke  wrote:

> Hi all,
> 
> this is an _automatically_ generated merge request to notify you that there is 1 commit from the branch
> `foreign-abi`that can **not** be merged into the branch `foreign-jextract`:
> The following file contains merge conflicts:
> 
> - src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/Utils.java
> 
> The following paragraphs will give an example on how to solve these merge conflicts and create a pull request to
> integrate them. If you are using a workflow different from the one below, feel free to use that instead. It is
> important that the title of the pull request you create is `Merge foreign-abi`, otherwise the bots will _not_
> understand that the pull request you create is a "merge style" 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://git.openjdk.java.net/panama-foreign) repository. These commands will allow you to view
> and resolve the merge conflicts. Note that the name of the local branch in the commands,
> `merge-foreign-abi-into-foreign-jextract-3eda9176`, is just an example, feel free to give the local branch any name you
> prefer.  $ git checkout foreign-jextract $ git pull https://git.openjdk.java.net/panama-foreign foreign-jextract $ git
> checkout -b merge-foreign-abi-into-foreign-jextract-3eda9176 $ git pull https://git.openjdk.java.net/panama-foreign
> foreign-abi  When you have resolved the conflicts resulting from the `git pull` command above, run the following
> commands to create a merge commit:  $ git add paths/to/files/with/conflicts
> $ git commit -m 'Merge foreign-abi'
> 
> The commit message does not have to be `Merge foreign-abi`, but it is convenient for when you will create a pull
> request. Many tools will by default use the commit message of the most recent commit on a branch as the title for a
> pull request from that branch. This means that if you use the commit message `Merge foreign-abi` as the commit message
> then the title of the pull request will (depending to tools used to create the pull request) be of a format that the
> bots expect.  Proceed to [publish the local
> branch](https://wiki.openjdk.java.net/display/SKARA/FAQ#FAQ-HowdoIpushalocalbranchtoaremoterepository?) and [create a
> pull request](https://wiki.openjdk.java.net/display/SKARA/FAQ#FAQ-HowdoIcreateapullrequest?) towards the
> `foreign-jextract` branch in the [openjdk/panama-foreign](https://git.openjdk.java.net/panama-foreign) repository. The
> resulting pull request can then integrated as usual once it has passed all required pre-integration checks.  Thanks, J.
> Duke

Closing this since the merge was handled by https://github.com/openjdk/panama-foreign/pull/69

-------------

PR: https://git.openjdk.java.net/panama-foreign/pull/68

From jvernee at openjdk.java.net  Thu Mar 26 16:31:28 2020
From: jvernee at openjdk.java.net (Jorn Vernee)
Date: Thu, 26 Mar 2020 16:31:28 GMT
Subject: [foreign-jextract] [Rev 01] RFR: 8241504: Expose MemoryLayout
 annotations/attributes in the public API (foreign-jextract part)
In-Reply-To: 
References: 
 
 
 
Message-ID: 

On Thu, 26 Mar 2020 16:25:31 GMT, Jorn Vernee  wrote:

>> test/jdk/java/foreign/NativeTestHelper.java line 41:
>> 
>>> 40:     public static boolean isIntegral(MemoryLayout layout) {
>>> 41:         return switch(SystemABI.Type.fromLayout(layout)) {
>>> 42:             case BOOL, UNSIGNED_CHAR, SIGNED_CHAR, CHAR, SHORT, UNSIGNED_SHORT,
>> 
>> Need to catch the exception?
>
> No, I don't think so. The intent is to have a hard failure if the ABI type is missing. The old code was failing more
> silently by returning `false`.

Similar motivation here: https://github.com/openjdk/panama-foreign/pull/64#discussion_r398488164

-------------

PR: https://git.openjdk.java.net/panama-foreign/pull/69

From jvernee at openjdk.java.net  Thu Mar 26 16:31:28 2020
From: jvernee at openjdk.java.net (Jorn Vernee)
Date: Thu, 26 Mar 2020 16:31:28 GMT
Subject: [foreign-jextract] [Rev 01] RFR: 8241504: Expose MemoryLayout
 annotations/attributes in the public API (foreign-jextract part)
In-Reply-To: 
References: 
 
 
Message-ID: 

On Thu, 26 Mar 2020 15:55:50 GMT, Henry Jen  wrote:

>> Jorn Vernee has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev
>> excludes the unrelated changes brought in by the merge/rebase.
>
> test/jdk/java/foreign/NativeTestHelper.java line 41:
> 
>> 40:     public static boolean isIntegral(MemoryLayout layout) {
>> 41:         return switch(SystemABI.Type.fromLayout(layout)) {
>> 42:             case BOOL, UNSIGNED_CHAR, SIGNED_CHAR, CHAR, SHORT, UNSIGNED_SHORT,
> 
> Need to catch the exception?

No, I don't think so. The intent is to have a hard failure if the ABI type is missing. The old code was failing more
silently by returning `false`.

-------------

PR: https://git.openjdk.java.net/panama-foreign/pull/69

From henryjen at openjdk.java.net  Thu Mar 26 16:42:39 2020
From: henryjen at openjdk.java.net (Henry Jen)
Date: Thu, 26 Mar 2020 16:42:39 GMT
Subject: [foreign-jextract] [Rev 01] RFR: 8241504: Expose MemoryLayout
 annotations/attributes in the public API (foreign-jextract part)
In-Reply-To: 
References: 
 
 
 
 
Message-ID: 

On Thu, 26 Mar 2020 16:27:49 GMT, Jorn Vernee  wrote:

>> No, I don't think so. The intent is to have a hard failure if the ABI type is missing. The old code was failing more
>> silently by returning `false`.
>
> Similar motivation here: https://github.com/openjdk/panama-foreign/pull/64#discussion_r398488164

OK, I didn't look at use cases for this method, just thinking of compatibility of existing code. If the cases are
expecting native ABI type to be available all the time, then yes, I agree.

-------------

PR: https://git.openjdk.java.net/panama-foreign/pull/69

From sandhya.viswanathan at intel.com  Fri Mar 27 02:41:28 2020
From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya)
Date: Fri, 27 Mar 2020 02:41:28 +0000
Subject: [vectorIntrinsics] Variable shift (shift by vector) code gen cleanup
 for x86
Message-ID: 

Please find below a webrev which cleans up variable shift code gen for x86:

http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/VariableShift/webrev.00/

Best Regards,
Sandhya


From shravya.rukmannagari at intel.com  Fri Mar 27 05:11:00 2020
From: shravya.rukmannagari at intel.com (Rukmannagari, Shravya)
Date: Fri, 27 Mar 2020 05:11:00 +0000
Subject: [vectorIntrinsics] Variable shift (shift by vector) code gen
 cleanup for x86
In-Reply-To: 
References: 
Message-ID: 

Hi Sandhya,
The patch looks good to me.

Thanks,
Shravya.

From: Viswanathan, Sandhya 
Sent: Thursday, March 26, 2020 7:41 PM
To: panama-dev ; Rukmannagari, Shravya 
Subject: [vectorIntrinsics] Variable shift (shift by vector) code gen cleanup for x86

Please find below a webrev which cleans up variable shift code gen for x86:

http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/VariableShift/webrev.00/

Best Regards,
Sandhya


From Yang.Zhang at arm.com  Fri Mar 27 05:20:02 2020
From: Yang.Zhang at arm.com (Yang Zhang)
Date: Fri, 27 Mar 2020 05:20:02 +0000
Subject: [vectorIntrinsics] Fix build failure
Message-ID: 

Hi

Please help to review this patch which fix the build failure.
http://cr.openjdk.java.net/~yzhang/vectorapi/vectorapi.buildbug/webrev.00/

Regards
Yang

From ngasson at openjdk.java.net  Fri Mar 27 07:34:55 2020
From: ngasson at openjdk.java.net (Nick Gasson)
Date: Fri, 27 Mar 2020 07:34:55 GMT
Subject: [foreign-abi] RFR: 8241712: AArch64: TestDowncall fails with
 IllegalArgumentException: No ABI attribute present
Message-ID: 

Tests cases where the structure has an initial floating point element followed by padding fail with this exception. The
padding element doesn't have the NATIVE_TYPE attribute.

  test TestDowncall.testDowncall("f0_V_S_FD", VOID, [STRUCT], [FLOAT, DOUBLE]): failure
  java.lang.IllegalArgumentException: No ABI attribute present
          at jdk.incubator.foreign/jdk.incubator.foreign.SystemABI$Type.lambda$fromLayout$0(SystemABI.java:195)
          at java.base/java.util.Optional.orElseThrow(Optional.java:401)
          at jdk.incubator.foreign/jdk.incubator.foreign.SystemABI$Type.fromLayout(SystemABI.java:195)
          at
          jdk.incubator.foreign/jdk.internal.foreign.abi.aarch64.CallArranger.isHomogeneousFloatAggregate(CallArranger.java:207)
          at jdk.incubator.foreign/jdk.internal.foreign.abi.aarch64.CallArranger.classifyStructType(CallArranger.java:220)

-------------

Commit messages:
 - 8241712: AArch64: TestDowncall fails with IllegalArgumentException: No ABI attribute present

Changes: https://git.openjdk.java.net/panama-foreign/pull/70/files
 Webrev: https://webrevs.openjdk.java.net/panama-foreign/70/webrev.00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8241712
  Stats: 14 lines in 2 files changed: 12 ins; 1 del; 1 mod
  Patch: https://git.openjdk.java.net/panama-foreign/pull/70.diff
  Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/70/head:pull/70

PR: https://git.openjdk.java.net/panama-foreign/pull/70

From Yang.Zhang at arm.com  Fri Mar 27 07:53:05 2020
From: Yang.Zhang at arm.com (Yang Zhang)
Date: Fri, 27 Mar 2020 07:53:05 +0000
Subject: [vectorIntrinsics] Fix build failure
In-Reply-To: 
References: 
Message-ID: 

The release build also fails. Update the patch.
http://cr.openjdk.java.net/~yzhang/vectorapi/vectorapi.buildbug/webrev.01/

Regards
Yang

-----Original Message-----
From: panama-dev  On Behalf Of Yang Zhang
Sent: Friday, March 27, 2020 1:20 PM
To: panama-dev 
Subject: [vectorIntrinsics] Fix build failure

Hi

Please help to review this patch which fix the build failure.
http://cr.openjdk.java.net/~yzhang/vectorapi/vectorapi.buildbug/webrev.00/

Regards
Yang

From vladimir.x.ivanov at oracle.com  Fri Mar 27 09:03:09 2020
From: vladimir.x.ivanov at oracle.com (Vladimir Ivanov)
Date: Fri, 27 Mar 2020 12:03:09 +0300
Subject: [vectorIntrinsics] Fix build failure
In-Reply-To: 
References: 
 
Message-ID: 

Looks good.

Thanks for fixing it.

Best regards,
Vladimir Ivanov

On 27.03.2020 10:53, Yang Zhang wrote:
> The release build also fails. Update the patch.
> http://cr.openjdk.java.net/~yzhang/vectorapi/vectorapi.buildbug/webrev.01/
> 
> Regards
> Yang
> 
> -----Original Message-----
> From: panama-dev  On Behalf Of Yang Zhang
> Sent: Friday, March 27, 2020 1:20 PM
> To: panama-dev 
> Subject: [vectorIntrinsics] Fix build failure
> 
> Hi
> 
> Please help to review this patch which fix the build failure.
> http://cr.openjdk.java.net/~yzhang/vectorapi/vectorapi.buildbug/webrev.00/
> 
> Regards
> Yang
> 

From vladimir.x.ivanov at oracle.com  Fri Mar 27 09:05:29 2020
From: vladimir.x.ivanov at oracle.com (Vladimir Ivanov)
Date: Fri, 27 Mar 2020 12:05:29 +0300
Subject: [vectorIntrinsics] Variable shift (shift by vector) code gen
 cleanup for x86
In-Reply-To: 
References: 
Message-ID: <14d31834-8462-e4fb-6b9b-6949e37a1f57@oracle.com>


> http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/VariableShift/webrev.00/

Looks good.

Best regards,
Vladimir Ivanov

From mcimadamore at openjdk.java.net  Fri Mar 27 10:34:15 2020
From: mcimadamore at openjdk.java.net (Maurizio Cimadamore)
Date: Fri, 27 Mar 2020 10:34:15 GMT
Subject: [foreign-abi] RFR: 8241712: AArch64: TestDowncall fails with
 IllegalArgumentException: No ABI attribute present
In-Reply-To: 
References: 
 
Message-ID: 

On Fri, 27 Mar 2020 10:31:01 GMT, Jorn Vernee  wrote:

> Looks good to me. Thanks for fixing!

I wonder if we have same problem on Linux...

-------------

PR: https://git.openjdk.java.net/panama-foreign/pull/70

From jvernee at openjdk.java.net  Fri Mar 27 10:34:14 2020
From: jvernee at openjdk.java.net (Jorn Vernee)
Date: Fri, 27 Mar 2020 10:34:14 GMT
Subject: [foreign-abi] RFR: 8241712: AArch64: TestDowncall fails with
 IllegalArgumentException: No ABI attribute present
In-Reply-To: 
References: 
Message-ID: 

On Fri, 27 Mar 2020 07:29:36 GMT, Nick Gasson  wrote:

> Tests cases where the structure has an initial floating point element followed by padding fail with this exception. The
> padding element doesn't have the NATIVE_TYPE attribute.
>   test TestDowncall.testDowncall("f0_V_S_FD", VOID, [STRUCT], [FLOAT, DOUBLE]): failure
>   java.lang.IllegalArgumentException: No ABI attribute present
>           at jdk.incubator.foreign/jdk.incubator.foreign.SystemABI$Type.lambda$fromLayout$0(SystemABI.java:195)
>           at java.base/java.util.Optional.orElseThrow(Optional.java:401)
>           at jdk.incubator.foreign/jdk.incubator.foreign.SystemABI$Type.fromLayout(SystemABI.java:195)
>           at
>           jdk.incubator.foreign/jdk.internal.foreign.abi.aarch64.CallArranger.isHomogeneousFloatAggregate(CallArranger.java:207)
>           at jdk.incubator.foreign/jdk.internal.foreign.abi.aarch64.CallArranger.classifyStructType(CallArranger.java:220)

Looks good to me. Thanks for fixing!

-------------

Marked as reviewed by jvernee (Committer).

PR: https://git.openjdk.java.net/panama-foreign/pull/70

From jvernee at openjdk.java.net  Fri Mar 27 10:57:50 2020
From: jvernee at openjdk.java.net (Jorn Vernee)
Date: Fri, 27 Mar 2020 10:57:50 GMT
Subject: [foreign-abi] RFR: 8241712: AArch64: TestDowncall fails with
 IllegalArgumentException: No ABI attribute present
In-Reply-To: 
References: 
 
 
Message-ID: 

On Fri, 27 Mar 2020 10:31:53 GMT, Maurizio Cimadamore  wrote:

> 
> 
> > Looks good to me. Thanks for fixing!
> 
> I wonder if we have same problem on Linux...

The tests are currently passing, and looking at the code there is one case where trying to look up the ABI type of
padding could cause an exception, but an exception would be thrown for padding any ways:

private static List classifyValueType(ValueLayout type) {
    ArrayList classes = new ArrayList<>();
    ArgumentClassImpl clazz = SysVx64ABI.argumentClassFor(SystemABI.Type.fromLayout(type));
    if (clazz == null) {
        //padding not allowed here
        throw new IllegalStateException("Unexpected value layout: could not determine ABI class");
    }
...
So, I think we're good.

-------------

PR: https://git.openjdk.java.net/panama-foreign/pull/70

From duke at openjdk.java.net  Fri Mar 27 11:09:43 2020
From: duke at openjdk.java.net (duke)
Date: Fri, 27 Mar 2020 11:09:43 GMT
Subject: git: openjdk/panama-foreign: foreign-abi: 113 new changesets
Message-ID: <2b25e3ef-9f61-49c3-bcca-3c0670ef9c5a@openjdk.org>

Changeset: 78d35f14
Author:    Christoph Langer 
Date:      2020-03-02 21:04:48 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/78d35f14

8239149: Cleanups in SunFontManager.java and TrueTypeFont.java

Reviewed-by: prr

! src/java.desktop/share/classes/sun/font/SunFontManager.java
! src/java.desktop/share/classes/sun/font/TrueTypeFont.java

Changeset: 70e2c013
Author:    Sergey Bylokhov 
Date:      2020-03-02 23:35:50 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/70e2c013

8235153: [TESTBUG] [macos 10.15] java/awt/Graphics/DrawImageBG/SystemBgColorTest.java fails

Reviewed-by: aivanov

! test/jdk/java/awt/Graphics/DrawImageBG/SystemBgColorTest.java

Changeset: 9d0a4875
Author:    Sergey Bylokhov 
Date:      2020-03-03 03:46:11 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/9d0a4875

8238936: The crash in XRobotPeer when the custom GraphicsDevice is used

Reviewed-by: kizune

! src/java.desktop/macosx/classes/sun/lwawt/macosx/CRobot.java
! src/java.desktop/macosx/classes/sun/lwawt/macosx/LWCToolkit.java
! src/java.desktop/share/classes/java/awt/Robot.java
! src/java.desktop/share/classes/sun/awt/ComponentFactory.java
! src/java.desktop/unix/classes/sun/awt/X11/XRobotPeer.java
! src/java.desktop/unix/classes/sun/awt/X11/XToolkit.java
! src/java.desktop/windows/classes/sun/awt/windows/WRobotPeer.java
! src/java.desktop/windows/classes/sun/awt/windows/WToolkit.java
+ test/jdk/java/awt/Robot/CreateRobotCustomGC/CreateRobotCustomGC.java

Changeset: 6b455049
Author:    Prasanta Sadhukhan 
Date:      2020-03-03 14:45:47 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/6b455049

Merge


Changeset: c2867d65
Author:    Pankaj Bansal 
Date:      2020-03-03 17:37:04 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/c2867d65

8204161: [TESTBUG] auto failed with the "Applet thread threw exception: java.lang.UnsupportedOperationException" exception

Reviewed-by: serb

- test/jdk/java/awt/TrayIcon/AddPopupAfterShowTest/AddPopupAfterShowTest.html
! test/jdk/java/awt/TrayIcon/AddPopupAfterShowTest/AddPopupAfterShowTest.java
+ test/jdk/java/awt/TrayIcon/MiddleButtonEventTest/MiddleButtonEventTest.java

Changeset: 23def435
Author:    Pankaj Bansal 
Date:      2020-03-03 17:49:58 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/23def435

8239902: Remove direct usage of JSlider, JProgressBar classes in CAccessible class

Reviewed-by: serb

! src/java.desktop/macosx/classes/sun/lwawt/macosx/CAccessible.java

Changeset: e70ee3dc
Author:    Pankaj Bansal 
Date:      2020-03-03 18:26:57 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/e70ee3dc

8231042: [macos] JFileChooser creates new folder on ESC

Reviewed-by: serb, psadhukhan

! src/java.desktop/macosx/classes/com/apple/laf/AquaFileChooserUI.java
+ test/jdk/javax/swing/JFileChooser/TestJFileChooserNewFolderAction.java

Changeset: bce81496
Author:    Sergey Bylokhov 
Date:      2020-03-06 14:41:35 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/bce81496

8219578: No associated icon for the leaf node of JTree

Reviewed-by: prr, jdv

! src/java.desktop/share/classes/module-info.java

Changeset: 315635ea
Author:    Alexander Zuev 
Date:      2020-03-09 00:18:23 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/315635ea

8176040: Documentation of java.awt.Rectangle.add(java.awt.Point) is wrong

Reviewed-by: serb, prr

! src/java.desktop/share/classes/java/awt/Rectangle.java

Changeset: 15a838d3
Author:    Toshio Nakamura 
Date:      2020-03-09 15:07:11 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/15a838d3

8240518: Incorrect JNU_ReleaseStringPlatformChars in Windows Print

Reviewed-by: serb, pbansal, psadhukhan

! src/java.desktop/windows/native/libawt/windows/WPrinterJob.cpp
! src/java.desktop/windows/native/libawt/windows/awt_PrintControl.cpp

Changeset: bd78beae
Author:    Jayathirth D V 
Date:      2020-03-10 16:07:58 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/bd78beae

6532025: GIF reader throws misleading exception with truncated images

Reviewed-by: prr, bpb

! src/java.desktop/share/classes/com/sun/imageio/plugins/gif/GIFImageReader.java
+ test/jdk/javax/imageio/plugins/gif/TruncatedGIFTest.java

Changeset: 40f6d697
Author:    Sergey Bylokhov 
Date:      2020-03-10 11:30:33 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/40f6d697

8233573: Toolkit.getScreenInsets(GraphicsConfiguration) may throw ClassCastException

Reviewed-by: prr, jdv

! src/java.desktop/macosx/classes/sun/lwawt/macosx/LWCToolkit.java
! src/java.desktop/unix/classes/sun/awt/X11/XToolkit.java
! src/java.desktop/windows/classes/sun/awt/windows/WToolkit.java
+ test/jdk/java/awt/Toolkit/GetScreenInsetsCustomGC/GetScreenInsetsCustomGC.java

Changeset: f3ef9726
Author:    Sergey Bylokhov 
Date:      2020-03-10 13:58:46 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/f3ef9726

8040630: Popup menus and tooltips flicker with previous popup contents when first shown

Reviewed-by: kizune, pbansal

! src/java.desktop/share/classes/javax/swing/Popup.java

Changeset: afe70e69
Author:    Marc Hoffmann 
Committer: Sergey Bylokhov 
Date:      2020-03-12 03:26:04 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/afe70e69

8237746: Fixing compiler warnings in src/demo/share/jfc

Reviewed-by: kizune, aivanov

! src/demo/share/jfc/FileChooserDemo/FileChooserDemo.java
! src/demo/share/jfc/Font2DTest/Font2DTest.java
- src/demo/share/jfc/Font2DTest/Font2DTestApplet.java
! src/demo/share/jfc/Font2DTest/FontPanel.java
! src/demo/share/jfc/Font2DTest/RangeMenu.java
! src/demo/share/jfc/J2Ddemo/java2d/DemoPanel.java
! src/demo/share/jfc/J2Ddemo/java2d/GlobalControls.java
! src/demo/share/jfc/J2Ddemo/java2d/Tools.java
! src/demo/share/jfc/J2Ddemo/java2d/demos/Clipping/Areas.java
! src/demo/share/jfc/J2Ddemo/java2d/demos/Fonts/Tree.java
! src/demo/share/jfc/J2Ddemo/java2d/demos/Images/ImageOps.java
! src/demo/share/jfc/J2Ddemo/java2d/demos/Mix/Balls.java
! src/demo/share/jfc/J2Ddemo/java2d/demos/Mix/BezierScroller.java
! src/demo/share/jfc/J2Ddemo/java2d/demos/Paint/GradAnim.java
! src/demo/share/jfc/J2Ddemo/java2d/demos/Paint/TextureAnim.java
! src/demo/share/jfc/Metalworks/MetalworksPrefs.java
! src/demo/share/jfc/Notepad/ElementTreePanel.java
! src/demo/share/jfc/Stylepad/Stylepad.java
! src/demo/share/jfc/SwingSet2/ButtonDemo.java
! src/demo/share/jfc/SwingSet2/ColorChooserDemo.java
! src/demo/share/jfc/SwingSet2/ComboBoxDemo.java
! src/demo/share/jfc/SwingSet2/DemoModule.java
! src/demo/share/jfc/SwingSet2/DirectionPanel.java
! src/demo/share/jfc/SwingSet2/ExampleFileView.java
! src/demo/share/jfc/SwingSet2/FileChooserDemo.java
! src/demo/share/jfc/SwingSet2/InternalFrameDemo.java
! src/demo/share/jfc/SwingSet2/LayoutControlPanel.java
! src/demo/share/jfc/SwingSet2/ListDemo.java
! src/demo/share/jfc/SwingSet2/OptionPaneDemo.java
! src/demo/share/jfc/SwingSet2/SliderDemo.java
! src/demo/share/jfc/SwingSet2/SplitPaneDemo.java
! src/demo/share/jfc/SwingSet2/SwingSet2.java
- src/demo/share/jfc/SwingSet2/SwingSet2Applet.java
! src/demo/share/jfc/SwingSet2/TableDemo.java
! src/demo/share/jfc/TableExample/JDBCAdapter.java
! src/demo/share/jfc/TableExample/OldJTable.java
! src/demo/share/jfc/TableExample/TableExample3.java
! src/demo/share/jfc/TableExample/TableExample4.java
! src/demo/share/jfc/TableExample/TableMap.java
! src/demo/share/jfc/TableExample/TableSorter.java

Changeset: 4f1fabd8
Author:    Sergey Bylokhov 
Date:      2020-03-11 21:58:16 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/4f1fabd8

8238075: [OGL] Delete unused properties

Reviewed-by: kizune

! src/java.desktop/macosx/classes/sun/awt/CGraphicsDevice.java
! src/java.desktop/macosx/classes/sun/java2d/opengl/CGLGraphicsConfig.java
! src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl/CGLGraphicsConfig.h
! src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl/CGLGraphicsConfig.m

Changeset: b4863f9d
Author:    Sergey Bylokhov 
Date:      2020-03-12 10:00:23 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b4863f9d

8240633: Memory leaks in the implementations of FileChooserUI

Reviewed-by: pbansal, psadhukhan

! src/java.desktop/macosx/classes/com/apple/laf/AquaComboBoxUI.java
! src/java.desktop/macosx/classes/com/apple/laf/AquaFileChooserUI.java
+ test/jdk/javax/swing/JFileChooser/FileChooserListenerLeak.java

Changeset: 23fda7e4
Author:    Phil Race 
Date:      2020-03-12 17:53:08 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/23fda7e4

8240977: ProblemList failing jtreg tests on macos

Reviewed-by: serb

! test/jdk/ProblemList.txt

Changeset: 3a7389f5
Author:    Ambarish Rapte 
Date:      2020-03-15 00:43:54 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/3a7389f5

8226253: JAWS reports wrong number of radio buttons when buttons are hidden

Reviewed-by: kizune, pbansal

! src/java.desktop/share/classes/javax/swing/JList.java
! src/jdk.accessibility/windows/classes/com/sun/java/accessibility/internal/AccessBridge.java

Changeset: bca2465c
Author:    Prasanta Sadhukhan 
Date:      2020-03-16 12:49:08 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/bca2465c

8236635: JTabbedPane preferred size calculation is wrong for SCROLL_TAB_LAYOUT

Reviewed-by: serb, pbansal

! test/jdk/ProblemList.txt
! test/jdk/javax/swing/JTabbedPane/TabProb.java

Changeset: 72b251d3
Author:    Sergey Bylokhov 
Date:      2020-03-16 17:33:52 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/72b251d3

8226806: [macOS 10.14] Methods of Java Robot should be called from appropriate thread

Reviewed-by: psadhukhan, prr

! src/java.desktop/macosx/native/libawt_lwawt/awt/CRobot.m
+ test/jdk/java/awt/Robot/NonEmptyErrorStream.java

Changeset: c1f7fa2e
Author:    Phil Race 
Date:      2020-03-17 17:38:27 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/c1f7fa2e

8223935: PIT: java/awt/font/WindowsIndicFonts.java fails on windows10

Reviewed-by: serb, jdv

! test/jdk/java/awt/font/WindowsIndicFonts.java

Changeset: 1e217e7b
Author:    Tejpal Rebari 
Date:      2020-03-18 11:38:33 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/1e217e7b

8146330: [macosx] UIDefaults.keys() different size than UIDefaults.keySet()

Reviewed-by: pbansal, serb, jdv

! src/java.desktop/share/classes/javax/swing/MultiUIDefaults.java
+ test/jdk/javax/swing/UIDefaults/8146330/UIDefaultKeySizeTest.java

Changeset: 9874e698
Author:    Phil Race 
Date:      2020-03-18 15:48:53 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/9874e698

8241229: Problem list jdk/javax/swing/UIDefaults/8146330/UIDefaultKeySizeTest.java

Reviewed-by: aivanov, serb

! test/jdk/ProblemList.txt

Changeset: 3340e6f9
Author:    Prasanta Sadhukhan 
Date:      2020-03-19 09:20:06 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/3340e6f9

8226230: Test javax/swing/JInternalFrame/8020708/bug8020708.java fails on Ubuntu

Reviewed-by: serb

! test/jdk/javax/swing/JInternalFrame/8020708/bug8020708.java

Changeset: 7143a9c5
Author:    Prasanta Sadhukhan 
Date:      2020-03-19 09:22:37 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/7143a9c5

8241078: OOM error parsing HTML with large 
 Tag text

Reviewed-by: serb, aivanov

! src/java.desktop/share/classes/javax/swing/text/DefaultStyledDocument.java
+ test/jdk/javax/swing/text/html/TestOOMWithLargePreTag.java

Changeset: 0f7f181d
Author:    Phil Race 
Date:      2020-03-18 22:27:31 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/0f7f181d

8241233: Typo in problem listing of UIDefaultKeySizeTest.java

Reviewed-by: jdv

! test/jdk/ProblemList.txt

Changeset: b4a3809e
Author:    Sergey Bylokhov 
Date:      2020-03-19 22:22:39 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b4a3809e

8240786: [TESTBUG] The test java/awt/Window/GetScreenLocation/GetScreenLocationTest.java fails on HiDPI screen

Reviewed-by: jdv, pbansal

! test/jdk/java/awt/Window/GetScreenLocation/GetScreenLocationTest.java

Changeset: 672f3a18
Author:    Prasanta Sadhukhan 
Date:      2020-03-21 09:46:44 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/672f3a18

8241291: JCK test javax_swing/text/DefaultStyledDocument/ElementSpec/ESpecCtor.html fails

Reviewed-by: prr

! src/java.desktop/share/classes/javax/swing/text/DefaultStyledDocument.java
- test/jdk/javax/swing/text/html/TestOOMWithLargePreTag.java

Changeset: 602d98a7
Author:    Phil Race 
Date:      2020-03-20 22:52:40 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/602d98a7

8232634: Problem List ICMColorDataTest.java

Reviewed-by: serb, psadhukhan

! test/jdk/ProblemList.txt

Changeset: 95d28303
Author:    Jia Huang 
Date:      2020-03-20 18:52:31 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/95d28303

8240222: [TESTBUG] gtest/jfr/test_networkUtilization.cpp failed when the number of tests is greater than or equal to 2

Reviewed-by: egahlin, mgronlun

! test/hotspot/gtest/jfr/test_networkUtilization.cpp

Changeset: 6dffcf75
Author:    Coleen Phillimore 
Date:      2020-03-20 07:30:52 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/6dffcf75

8241320: The ClassLoaderData::_is_unsafe_anonymous field is unused in the SA

Remove unused code that is changing in Hotspot for hidden classes.

Reviewed-by: lfoltan, dholmes, sspitsyn

! src/hotspot/share/runtime/vmStructs.cpp
! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/classfile/ClassLoaderData.java

Changeset: 136a1574
Author:    Jamsheed Mohammed C M 
Date:      2020-03-20 05:19:56 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/136a1574

8237894: CTW: C1 compilation fails with assert(x->type()->tag() == f->type()->tag()) failed: should have same type

Field access instructions hash decalred_type in addition, indexed access instructions hash value type of the instruction in addition.

Reviewed-by: thartmann, shade

! src/hotspot/share/c1/c1_GraphBuilder.cpp
! src/hotspot/share/c1/c1_Instruction.hpp
+ test/hotspot/jtreg/compiler/c1/TestValueNumberingNullObject.java

Changeset: 34ae46e2
Author:    Andrew Haley 
Date:      2020-03-19 14:53:57 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/34ae46e2

8241296: Segfault in JNIHandleBlock::oops_do()

Reviewed-by: stefank

! src/hotspot/share/runtime/thread.cpp

Changeset: c9faf88c
Author:    Roland Westrelin 
Date:      2020-03-13 16:32:51 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/c9faf88c

8240795: [REDO] 8238384 CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found"

Reviewed-by: kvn, thartmann

! src/hotspot/share/opto/compile.cpp
! src/hotspot/share/opto/gcm.cpp
! src/hotspot/share/opto/loopnode.cpp
! src/hotspot/share/opto/type.hpp
+ test/hotspot/jtreg/compiler/escapeAnalysis/TestCopyOfBrokenAntiDependency.java

Changeset: 2288788e
Author:    Andrew Haley 
Date:      2020-03-20 13:08:20 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/2288788e

Merge


Changeset: d243e40f
Author:    Xue-Lei Andrew Fan 
Date:      2020-03-20 09:15:00 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/d243e40f

8241039: Retire the deprecated SSLSession.getPeerCertificateChain() method

Reviewed-by: mullan, alanb, dfuchs

- src/java.base/share/classes/com/sun/security/cert/internal/x509/X509V1CertImpl.java
! src/java.base/share/classes/javax/net/ssl/HandshakeCompletedEvent.java
! src/java.base/share/classes/javax/net/ssl/SSLSession.java
! src/java.base/share/classes/sun/security/ssl/SSLSessionImpl.java
! src/java.net.http/share/classes/jdk/internal/net/http/common/ImmutableExtendedSSLSession.java
! src/java.net.http/share/classes/jdk/internal/net/http/common/ImmutableSSLSession.java
! test/jdk/sun/security/ssl/GenSSLConfigs/main.java

Changeset: f67868d9
Author:    Xue-Lei Andrew Fan 
Date:      2020-03-20 09:27:06 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/f67868d9

8219989: Retire the com.sun.net.ssl.internal.ssl.Provider name

Remove the provider name in JDK

Reviewed-by: mullan

! src/java.base/share/classes/sun/security/jca/ProviderConfig.java

Changeset: 37b7a233
Author:    Yumin Qi 
Date:      2020-03-20 09:40:30 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/37b7a233

8241009: CommandLineFlagComboNegative.java fails after JDK-8240563

Jtreg turned off UseCompressedOops and messed up vm flag options of children processes.

Reviewed-by: dholmes, stefank

! test/hotspot/jtreg/runtime/cds/appcds/CommandLineFlagComboNegative.java

Changeset: c5a74908
Author:    Rahul Yadav 
Committer: Patrick Concannon 
Date:      2020-03-20 20:16:34 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/c5a74908

8240921: Minor correction to HttpResponse.BodySubscribers example

The fix updates the incorrect example of the usage of the class java.net.http.HttpResponse.BodySubscribers.

Reviewed-by: chegar, dfuchs, jboes, pconcannon

! src/java.net.http/share/classes/java/net/http/HttpResponse.java
! test/jdk/java/net/httpclient/examples/JavadocExamples.java

Changeset: 17ff85d4
Author:    Pavel Rappo 
Date:      2020-03-20 20:54:56 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/17ff85d4

8241014: Miscellaneous typos in documentation comments

Reviewed-by: igerasim, prappo, psandoz, rriggs, weijun

! src/java.base/share/classes/java/io/FilePermission.java
! src/java.base/share/classes/java/io/Reader.java
! src/java.base/share/classes/java/lang/Character.java
! src/java.base/share/classes/java/lang/ProcessHandleImpl.java
! src/java.base/share/classes/java/lang/Runtime.java
! src/java.base/share/classes/java/lang/String.java
! src/java.base/share/classes/java/lang/constant/DirectMethodHandleDescImpl.java
! src/java.base/share/classes/java/lang/constant/DynamicCallSiteDesc.java
! src/java.base/share/classes/java/lang/constant/DynamicConstantDesc.java
! src/java.base/share/classes/java/lang/constant/MethodTypeDescImpl.java
! src/java.base/share/classes/java/lang/constant/ReferenceClassDescImpl.java
! src/java.base/share/classes/java/lang/invoke/MethodType.java
! src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java
! src/java.base/share/classes/java/math/BigDecimal.java
! src/java.base/share/classes/java/net/HttpCookie.java
! src/java.base/share/classes/java/net/MulticastSocket.java
! src/java.base/share/classes/java/nio/file/DirectoryStream.java
! src/java.base/share/classes/java/nio/file/attribute/UserDefinedFileAttributeView.java
! src/java.base/share/classes/java/security/PKCS12Attribute.java
! src/java.base/share/classes/java/security/SignatureSpi.java
! src/java.base/share/classes/java/text/BreakIterator.java
! src/java.base/share/classes/java/time/chrono/ChronoLocalDateTimeImpl.java
! src/java.base/share/classes/java/time/chrono/package-info.java
! src/java.base/share/classes/java/time/temporal/TemporalAccessor.java
! src/java.base/share/classes/java/util/Arrays.java
! src/java.base/share/classes/java/util/BitSet.java
! src/java.base/share/classes/java/util/Enumeration.java
! src/java.base/share/classes/java/util/Map.java
! src/java.base/share/classes/java/util/StringJoiner.java
! src/java.base/share/classes/java/util/regex/Pattern.java
! src/java.base/share/classes/java/util/stream/Stream.java
! src/java.base/share/classes/java/util/stream/package-info.java
! src/java.base/share/classes/javax/crypto/CryptoPolicyParser.java
! src/java.base/share/classes/javax/security/cert/X509Certificate.java
! src/java.base/share/classes/jdk/internal/icu/util/VersionInfo.java
! src/java.base/share/classes/jdk/internal/reflect/ReflectionFactory.java
! src/java.base/share/classes/sun/security/provider/AbstractDrbg.java
! src/java.base/share/classes/sun/security/provider/PolicyFile.java
! src/java.compiler/share/classes/javax/tools/JavaFileManager.java

Changeset: f778ad2f
Author:    Leonid Mesnik 
Date:      2020-03-20 17:37:52 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/f778ad2f

8241319: WB_GetCodeBlob doesn't have ResourceMark

Reviewed-by: iignatyev, thartmann

! src/hotspot/share/prims/whitebox.cpp

Changeset: ef335c75
Author:    Prasanta Sadhukhan 
Date:      2020-03-22 09:46:15 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/ef335c75

Merge

! test/jdk/ProblemList.txt
! test/jdk/ProblemList.txt

Changeset: 36af90ac
Author:    Xue-Lei Andrew Fan 
Date:      2020-03-22 09:30:16 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/36af90ac

8215712: Parsing extension failure may alert decode_error

Reviewed-by: jnimeh

! src/java.base/share/classes/sun/security/ssl/AlpnExtension.java
! src/java.base/share/classes/sun/security/ssl/CertSignAlgsExtension.java
! src/java.base/share/classes/sun/security/ssl/CertStatusExtension.java
! src/java.base/share/classes/sun/security/ssl/CookieExtension.java
! src/java.base/share/classes/sun/security/ssl/ECPointFormatsExtension.java
! src/java.base/share/classes/sun/security/ssl/ExtendedMasterSecretExtension.java
! src/java.base/share/classes/sun/security/ssl/KeyShareExtension.java
! src/java.base/share/classes/sun/security/ssl/MaxFragExtension.java
! src/java.base/share/classes/sun/security/ssl/PreSharedKeyExtension.java
! src/java.base/share/classes/sun/security/ssl/PskKeyExchangeModesExtension.java
! src/java.base/share/classes/sun/security/ssl/RenegoInfoExtension.java
! src/java.base/share/classes/sun/security/ssl/SSLExtension.java
! src/java.base/share/classes/sun/security/ssl/SSLExtensions.java
! src/java.base/share/classes/sun/security/ssl/SSLStringizer.java
! src/java.base/share/classes/sun/security/ssl/ServerHello.java
! src/java.base/share/classes/sun/security/ssl/ServerNameExtension.java
! src/java.base/share/classes/sun/security/ssl/SessionTicketExtension.java
! src/java.base/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java
! src/java.base/share/classes/sun/security/ssl/SupportedGroupsExtension.java
! src/java.base/share/classes/sun/security/ssl/SupportedVersionsExtension.java
! src/java.base/share/classes/sun/security/ssl/TransportContext.java

Changeset: 618bacec
Author:    Pengfei Li 
Date:      2020-03-23 08:37:45 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/618bacec

8241091: AArch64: "bad AD file" with VM option "-XX:-UsePopCountInstruction"

Reviewed-by: aph

! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp

Changeset: e04080bd
Author:    Magnus Ihse Bursie 
Date:      2020-03-23 10:26:13 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/e04080bd

8241310: Fix warnings in jdk buildtools

Reviewed-by: erikj, forax

! make/CompileToolsJdk.gmk
! make/jdk/src/classes/build/tools/cldrconverter/Bundle.java
! make/jdk/src/classes/build/tools/cldrconverter/CLDRConverter.java
! make/jdk/src/classes/build/tools/cldrconverter/PluralsParseHandler.java
! make/jdk/src/classes/build/tools/dtdbuilder/DTDBuilder.java
! make/jdk/src/classes/build/tools/dtdbuilder/DTDInputStream.java
! make/jdk/src/classes/build/tools/generatebreakiteratordata/GenerateBreakIteratorData.java
! make/jdk/src/classes/build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java
! make/jdk/src/classes/build/tools/generatecharacter/CharacterName.java
! make/jdk/src/classes/build/tools/generatecharacter/CharacterScript.java
! make/jdk/src/classes/build/tools/generatecharacter/PrintCharacterRanges.java
! make/jdk/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java
! make/jdk/src/classes/build/tools/jdwpgen/Parse.java
! make/jdk/src/classes/build/tools/tzdb/TzdbZoneRulesProvider.java
! make/jdk/src/classes/build/tools/x11wrappergen/WrapperGenerator.java

Changeset: 90102935
Author:    Magnus Ihse Bursie 
Date:      2020-03-23 10:29:04 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/90102935

8241271: Make hotspot build reproducible

Reviewed-by: erikj, stefank, jwilhelm

! make/autoconf/compare.sh.in
! make/autoconf/hotspot.m4
! make/autoconf/spec.gmk.in
! make/conf/jib-profiles.js
! make/hotspot/lib/CompileJvm.gmk
! make/scripts/compare_exceptions.sh.incl
! src/hotspot/share/runtime/abstract_vm_version.cpp

Changeset: ed28a274
Author:    Kelvin Nilsen 
Committer: Aleksey Shipilev 
Date:      2020-03-23 10:37:44 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/ed28a274

8241068: Shenandoah: improve ShenandoahTraversalGC constructor arguments

Reviewed-by: shade

! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp
! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.hpp

Changeset: b66c6808
Author:    Daniel Fuchs 
Date:      2020-03-23 14:22:18 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b66c6808

8241443: Problem list some java.net tests failing with NoRouteToHostException on macOS with special network configuration

Reviewed-by: alanb

! test/jdk/ProblemList.txt

Changeset: 75a8b7fa
Author:    Mandy Chung 
Date:      2020-03-23 09:05:39 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/75a8b7fa

8240975: Extend NativeLibraries to support explicit unloading

Reviewed-by: alanb, mcimadamore

! src/java.base/share/classes/java/lang/ClassLoader.java
! src/java.base/share/classes/jdk/internal/loader/BootLoader.java
! src/java.base/share/classes/jdk/internal/loader/NativeLibraries.java
! src/java.base/share/classes/jdk/internal/loader/NativeLibrary.java
! src/java.base/share/native/libjava/NativeLibraries.c
+ test/jdk/jdk/internal/loader/NativeLibraries/Main.java
+ test/jdk/jdk/internal/loader/NativeLibraries/java.base/jdk/internal/loader/NativeLibrariesTest.java
+ test/jdk/jdk/internal/loader/NativeLibraries/libnativeLibrariesTest.c
+ test/jdk/jdk/internal/loader/NativeLibraries/p/Test.java

Changeset: 398ce294
Author:    Sandhya Viswanathan 
Date:      2020-03-23 10:26:40 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/398ce294

8240248: Extend superword reduction optimizations for x86

Add support for and, or, xor reduction

Co-authored-by: Shravya Rukmannagari 
Reviewed-by: vlivanov, thartmann

! make/devkit/createJMHBundle.sh
! src/hotspot/cpu/x86/macroAssembler_x86.cpp
! src/hotspot/cpu/x86/macroAssembler_x86.hpp
! src/hotspot/cpu/x86/x86.ad
! src/hotspot/share/adlc/formssel.cpp
! src/hotspot/share/opto/classes.hpp
! src/hotspot/share/opto/compile.cpp
! src/hotspot/share/opto/vectornode.cpp
! src/hotspot/share/opto/vectornode.hpp
! src/hotspot/share/runtime/vmStructs.cpp
+ test/hotspot/jtreg/compiler/loopopts/superword/RedTest_int.java
+ test/hotspot/jtreg/compiler/loopopts/superword/RedTest_long.java
+ test/micro/org/openjdk/bench/vm/compiler/VectorReduction.java

Changeset: edb6783a
Author:    Poonam Bajaj 
Date:      2020-03-23 17:57:13 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/edb6783a

8231779: crash HeapWord*ParallelScavengeHeap::failed_mem_allocate

Reviewed-by: dlong, tschatzl, pliden

! src/hotspot/share/gc/shared/threadLocalAllocBuffer.cpp

Changeset: f37149b1
Author:    Aleksey Shipilev 
Date:      2020-03-23 19:14:01 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/f37149b1

8241351: Shenandoah: fragmentation metrics overhaul

Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp
! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.hpp
! src/hotspot/share/gc/shenandoah/shenandoahMetrics.cpp
! src/hotspot/share/gc/shenandoah/shenandoahMetrics.hpp

Changeset: fe533725
Author:    Aleksey Shipilev 
Date:      2020-03-23 19:14:01 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/fe533725

8241435: Shenandoah: avoid disabling pacing with "aggressive"

Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAggressiveHeuristics.cpp

Changeset: b6783320
Author:    Aleksey Shipilev 
Date:      2020-03-23 19:14:01 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b6783320

8241139: Shenandoah: distribute mark-compact work exactly to minimize fragmentation

Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp
! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.hpp

Changeset: f0ba0dc6
Author:    Jonathan Gibbons 
Date:      2020-03-23 12:48:35 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/f0ba0dc6

8241190: Fix name clash for constants-summary CSS class

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/IndexRedirectWriter.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/markup/HtmlStyle.java
! test/langtools/jdk/javadoc/doclet/JavascriptWinTitle/JavascriptWinTitle.java
! test/langtools/jdk/javadoc/doclet/testMetadata/TestMetadata.java

Changeset: 81353a56
Author:    Ioi Lam 
Date:      2020-03-23 13:27:22 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/81353a56

8241244: CDS dynamic dump asserts in ArchivePtrBitmapCleaner::do_bit

Reviewed-by: minqi, coleenp

! src/hotspot/share/classfile/systemDictionaryShared.cpp

Changeset: 7dc952ec
Author:    Jonathan Gibbons 
Date:      2020-03-23 14:11:52 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/7dc952ec

8241292: Interactive Search results are not highlighted as they used to be

Reviewed-by: prappo

! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/search.js
! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java

Changeset: 23d6a788
Author:    Claes Redestad 
Date:      2020-03-23 23:18:42 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/23d6a788

8241371: Refactor and consolidate package_from_name

Reviewed-by: iklam, lfoltan

! src/hotspot/share/classfile/classFileParser.cpp
! src/hotspot/share/classfile/classLoader.cpp
! src/hotspot/share/classfile/classLoader.hpp
! src/hotspot/share/classfile/klassFactory.cpp
! src/hotspot/share/classfile/systemDictionary.cpp
! src/hotspot/share/classfile/systemDictionaryShared.cpp
! src/hotspot/share/oops/instanceKlass.cpp
! src/hotspot/share/oops/instanceKlass.hpp
! src/hotspot/share/utilities/utf8.cpp
! src/hotspot/share/utilities/utf8.hpp
! test/hotspot/gtest/oops/test_instanceKlass.cpp
! test/hotspot/gtest/runtime/test_classLoader.cpp

Changeset: 32d49650
Author:    Aditya Mandaleeka 
Committer: Aditya Mandaleeka 
Date:      2020-03-24 06:13:39 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/32d49650

8241067: Shenandoah: improve ShenandoahNMethod::has_cset_oops arguments

Reviewed-by: shade

! src/hotspot/share/gc/shenandoah/shenandoahNMethod.cpp

Changeset: 5110de6c
Author:    Andrew Dinn 
Date:      2020-03-19 17:26:11 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/5110de6c

8241144: Javadoc is not generated for new module jdk.nio.mapmode

Jdk.nio.mapmode is not present in DOCS_MODULES defined by Modules.gmk

Reviewed-by: erikj, ihse

! make/common/Modules.gmk

Changeset: d01f6719
Author:    Vladimir Kozlov 
Date:      2020-03-24 09:34:39 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/d01f6719

8237497: vmStructs_jvmci.cpp does not check that the correct field type is specified

Add missed checks for declarations in vmStructs_jvmci.cpp

Reviewed-by: iklam, thartmann

! src/hotspot/share/jvmci/jvmci.cpp
! src/hotspot/share/jvmci/vmStructs_jvmci.cpp
! src/hotspot/share/jvmci/vmStructs_jvmci.hpp
! src/hotspot/share/runtime/init.cpp
! src/hotspot/share/runtime/vmStructs.cpp
! src/hotspot/share/runtime/vmStructs.hpp
! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/GraalHotSpotVMConfig.java

Changeset: ca855006
Author:    Tobias Hartmann 
Date:      2020-03-24 17:39:52 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/ca855006

8240905: assert(mem == (Node*)1 || mem == mem2) failed: multiple Memories being matched at once?

Stop recursion if there are multiple loads with different memory inputs in the tree.

Reviewed-by: kvn, vlivanov

! src/hotspot/share/opto/matcher.cpp
! src/hotspot/share/opto/matcher.hpp
+ test/hotspot/jtreg/compiler/codegen/TestMultiMemInstructionMatching.java

Changeset: b5897fe4
Author:    Daniel D. Daugherty 
Date:      2020-03-24 13:08:54 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b5897fe4

8241532: ProblemList tests from 8241530 on OSX

Reviewed-by: ctornqvi

! test/jdk/ProblemList.txt

Changeset: 40173c50
Author:    Thomas Stuefe 
Date:      2020-03-24 18:41:07 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/40173c50

8241395: Factor out platform independent code for os::xxx_memory_special()

Reviewed-by: mbaesken, mdoerr, lucy

! src/hotspot/os/aix/os_aix.cpp
! src/hotspot/os/bsd/os_bsd.cpp
! src/hotspot/os/linux/os_linux.cpp
! src/hotspot/os/solaris/os_solaris.cpp
! src/hotspot/os/windows/os_windows.cpp
! src/hotspot/share/runtime/os.cpp
! src/hotspot/share/runtime/os.hpp

Changeset: cb1632e8
Author:    Aleksey Shipilev 
Date:      2020-03-24 18:46:48 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/cb1632e8

8241520: Shenandoah: simplify region sequence numbers handling

Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.inline.hpp
! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp

Changeset: 643f5b53
Author:    Aleksey Shipilev 
Date:      2020-03-24 18:46:48 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/643f5b53

8241534: Shenandoah: region status should include update watermark

Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp

Changeset: 6694402d
Author:    Aleksey Shipilev 
Date:      2020-03-24 18:46:48 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/6694402d

8241462: StripNativeDebugSymbols jlink plugin allocates huge arrays

Reviewed-by: alanb, sgehwolf

! src/jdk.jlink/linux/classes/jdk/tools/jlink/internal/plugins/StripNativeDebugSymbolsPlugin.java

Changeset: 7afa57a3
Author:    Aleksey Shipilev 
Date:      2020-03-24 18:46:48 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/7afa57a3

8241445: Fix copyright in test/jdk/tools/launcher/ArgFileSyntax.java

Reviewed-by: psandoz

! src/java.base/share/native/libjli/args.c
! test/jdk/tools/launcher/ArgFileSyntax.java

Changeset: 3059f593
Author:    Aleksey Shipilev 
Date:      2020-03-24 20:18:45 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/3059f593

8241545: Shenandoah: purge root work overwrites counters after JDK-8228818

Reviewed-by: zgu

! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp

Changeset: d7435182
Author:    Tom Rodriguez 
Date:      2020-03-24 13:12:19 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/d7435182

8241458: [JVMCI] add mark value to expose CodeOffsets::Frame_Complete

Reviewed-by: kvn

! src/hotspot/share/jvmci/jvmciCodeInstaller.cpp
! src/hotspot/share/jvmci/jvmciCodeInstaller.hpp
! src/hotspot/share/jvmci/vmStructs_jvmci.cpp

Changeset: 77534229
Author:    Vladimir Ivanov 
Date:      2020-03-25 00:10:22 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/77534229

8241433: x86: Add VBMI CPU feature detection

Reviewed-by: kvn

! src/hotspot/cpu/x86/vmStructs_x86.hpp
! src/hotspot/cpu/x86/vm_version_x86.cpp
! src/hotspot/cpu/x86/vm_version_x86.hpp
! src/hotspot/share/jvmci/vmStructs_jvmci.cpp

Changeset: 27ef185b
Author:    Aleksey Shipilev 
Date:      2020-03-25 07:58:17 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/27ef185b

8241500: FieldLayout/OldLayoutCheck.java fails in 32-bit VMs

Reviewed-by: fparain, dholmes

! test/hotspot/jtreg/runtime/FieldLayout/OldLayoutCheck.java

Changeset: 9a6038fb
Author:    Claes Redestad 
Date:      2020-03-25 13:38:31 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/9a6038fb

8241584: Remove unused classLoader perf counters

Reviewed-by: hseigel

! src/hotspot/share/classfile/classLoader.cpp
! src/hotspot/share/classfile/classLoader.hpp

Changeset: c01e986c
Author:    Christian Hagedorn 
Date:      2020-03-25 14:41:52 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/c01e986c

8237859: C2: Crash when loads float above range check

Fix control edges of predicates to data nodes when creating pre/main/post loops.

Reviewed-by: neliasso, thartmann, roland

! src/hotspot/share/opto/loopPredicate.cpp
! src/hotspot/share/opto/loopTransform.cpp
! src/hotspot/share/opto/loopnode.hpp
+ test/hotspot/jtreg/compiler/loopopts/TestRangeCheckPredicatesControl.java

Changeset: d1b50659
Author:    Ivan Gerasimov 
Date:      2020-03-25 08:46:31 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/d1b50659

8237599: Greedy matching against supplementary chars fails to respect the region

Reviewed-by: rriggs

! src/java.base/share/classes/java/util/regex/Pattern.java
! test/jdk/java/util/regex/RegExTest.java

Changeset: 7fc31ead
Author:    Aleksey Shipilev 
Date:      2020-03-25 17:20:58 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/7fc31ead

8241583: Shenandoah: turn heap lock asserts into macros

Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp
! src/hotspot/share/gc/shenandoah/shenandoahAsserts.hpp
! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp
! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.inline.hpp
! src/hotspot/share/gc/shenandoah/shenandoahLock.hpp

Changeset: b8f2b326
Author:    Naoto Sato 
Date:      2020-03-25 09:21:46 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b8f2b326

8241311: Move some charset mapping tests from closed to open

Reviewed-by: iris, joehw, itakiguchi, amlu

! test/jdk/sun/nio/cs/TestCharsetMapping.java
+ test/jdk/sun/nio/cs/mapping/Big5.b2c
= test/jdk/sun/nio/cs/mapping/Big5.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Big5_HKSCS.b2c
+ test/jdk/sun/nio/cs/mapping/Big5_HKSCS.b2c-irreversible
= test/jdk/sun/nio/cs/mapping/Big5_HKSCS.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Big5_HKSCS_2001.b2c
+ test/jdk/sun/nio/cs/mapping/Big5_HKSCS_2001.c2b-irreversible
= test/jdk/sun/nio/cs/mapping/Big5_Solaris.b2c
+ test/jdk/sun/nio/cs/mapping/CoderTest.java
+ test/jdk/sun/nio/cs/mapping/ConverterTest.java
+ test/jdk/sun/nio/cs/mapping/Cp037.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1006.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1025.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1026.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1046.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1047.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1097.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1098.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1112.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1122.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1123.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1124.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1250.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1251.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1252.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1253.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1254.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1255.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1256.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1257.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1258.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1364.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1364.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp1381.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1381.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp1383.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1383.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp273.b2c
+ test/jdk/sun/nio/cs/mapping/Cp277.b2c
+ test/jdk/sun/nio/cs/mapping/Cp278.b2c
+ test/jdk/sun/nio/cs/mapping/Cp280.b2c
+ test/jdk/sun/nio/cs/mapping/Cp284.b2c
+ test/jdk/sun/nio/cs/mapping/Cp285.b2c
+ test/jdk/sun/nio/cs/mapping/Cp290.b2c
+ test/jdk/sun/nio/cs/mapping/Cp290.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp297.b2c
+ test/jdk/sun/nio/cs/mapping/Cp300.b2c
= test/jdk/sun/nio/cs/mapping/Cp300.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp33722.b2c
+ test/jdk/sun/nio/cs/mapping/Cp420.b2c
+ test/jdk/sun/nio/cs/mapping/Cp420.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp420.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp424.b2c
+ test/jdk/sun/nio/cs/mapping/Cp437.b2c
+ test/jdk/sun/nio/cs/mapping/Cp500.b2c
+ test/jdk/sun/nio/cs/mapping/Cp737.b2c
+ test/jdk/sun/nio/cs/mapping/Cp775.b2c
+ test/jdk/sun/nio/cs/mapping/Cp833.b2c
+ test/jdk/sun/nio/cs/mapping/Cp833.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp834.b2c
+ test/jdk/sun/nio/cs/mapping/Cp834.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp838.b2c
+ test/jdk/sun/nio/cs/mapping/Cp850.b2c
+ test/jdk/sun/nio/cs/mapping/Cp852.b2c
+ test/jdk/sun/nio/cs/mapping/Cp855.b2c
+ test/jdk/sun/nio/cs/mapping/Cp856.b2c
+ test/jdk/sun/nio/cs/mapping/Cp857.b2c
+ test/jdk/sun/nio/cs/mapping/Cp860.b2c
+ test/jdk/sun/nio/cs/mapping/Cp861.b2c
+ test/jdk/sun/nio/cs/mapping/Cp862.b2c
+ test/jdk/sun/nio/cs/mapping/Cp863.b2c
+ test/jdk/sun/nio/cs/mapping/Cp864.b2c
+ test/jdk/sun/nio/cs/mapping/Cp865.b2c
+ test/jdk/sun/nio/cs/mapping/Cp866.b2c
+ test/jdk/sun/nio/cs/mapping/Cp868.b2c
+ test/jdk/sun/nio/cs/mapping/Cp869.b2c
+ test/jdk/sun/nio/cs/mapping/Cp870.b2c
+ test/jdk/sun/nio/cs/mapping/Cp871.b2c
+ test/jdk/sun/nio/cs/mapping/Cp874.b2c
+ test/jdk/sun/nio/cs/mapping/Cp874.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp875.b2c
+ test/jdk/sun/nio/cs/mapping/Cp918.b2c
+ test/jdk/sun/nio/cs/mapping/Cp921.b2c
+ test/jdk/sun/nio/cs/mapping/Cp922.b2c
+ test/jdk/sun/nio/cs/mapping/Cp930.b2c
+ test/jdk/sun/nio/cs/mapping/Cp933.b2c
+ test/jdk/sun/nio/cs/mapping/Cp935.b2c
+ test/jdk/sun/nio/cs/mapping/Cp937.b2c
+ test/jdk/sun/nio/cs/mapping/Cp937.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp939.b2c
+ test/jdk/sun/nio/cs/mapping/Cp942.b2c
+ test/jdk/sun/nio/cs/mapping/Cp943.b2c
+ test/jdk/sun/nio/cs/mapping/Cp948.b2c
+ test/jdk/sun/nio/cs/mapping/Cp948.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp948.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp949.b2c
+ test/jdk/sun/nio/cs/mapping/Cp950.b2c
+ test/jdk/sun/nio/cs/mapping/Cp950.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp950.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp964.b2c
+ test/jdk/sun/nio/cs/mapping/Cp964.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp970.b2c
+ test/jdk/sun/nio/cs/mapping/Cp970.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/EUC_CN.b2c
+ test/jdk/sun/nio/cs/mapping/EUC_JP.b2c
+ test/jdk/sun/nio/cs/mapping/EUC_JP_LINUX.b2c
+ test/jdk/sun/nio/cs/mapping/EUC_JP_Solaris.b2c
+ test/jdk/sun/nio/cs/mapping/EUC_KR.b2c
+ test/jdk/sun/nio/cs/mapping/EUC_TW.b2c
+ test/jdk/sun/nio/cs/mapping/GB18030.b2c
+ test/jdk/sun/nio/cs/mapping/GBK.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_11.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_2.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_3.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_4.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_5.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_6.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_7.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_8.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_9.b2c
+ test/jdk/sun/nio/cs/mapping/JIS0201.b2c.private
+ test/jdk/sun/nio/cs/mapping/JIS0208.b2c.private
+ test/jdk/sun/nio/cs/mapping/JIS0212.b2c.private
+ test/jdk/sun/nio/cs/mapping/Johab.b2c
+ test/jdk/sun/nio/cs/mapping/KOI8_R.b2c
+ test/jdk/sun/nio/cs/mapping/KOI8_U.b2c
+ test/jdk/sun/nio/cs/mapping/MS50221_0208.b2c
+ test/jdk/sun/nio/cs/mapping/MS50221_0212.b2c
+ test/jdk/sun/nio/cs/mapping/MS874.b2c
+ test/jdk/sun/nio/cs/mapping/MS932.b2c.private
+ test/jdk/sun/nio/cs/mapping/MS932DB.b2c.private
+ test/jdk/sun/nio/cs/mapping/MS932DB.c2b.private
+ test/jdk/sun/nio/cs/mapping/MS932_0208.b2c
+ test/jdk/sun/nio/cs/mapping/MS936.b2c
+ test/jdk/sun/nio/cs/mapping/MS949.b2c
+ test/jdk/sun/nio/cs/mapping/MS950.b2c
+ test/jdk/sun/nio/cs/mapping/MS950.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/MS950.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/MS950_HKSCS.b2c
+ test/jdk/sun/nio/cs/mapping/MS950_HKSCS.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/MS950_HKSCS_XP.b2c
+ test/jdk/sun/nio/cs/mapping/MSCP932.b2c.abigail
+ test/jdk/sun/nio/cs/mapping/MacArabic.b2c
+ test/jdk/sun/nio/cs/mapping/MacCentralEurope.b2c
+ test/jdk/sun/nio/cs/mapping/MacCroatian.b2c
+ test/jdk/sun/nio/cs/mapping/MacCyrillic.b2c
+ test/jdk/sun/nio/cs/mapping/MacDingbat.b2c
+ test/jdk/sun/nio/cs/mapping/MacGreek.b2c
+ test/jdk/sun/nio/cs/mapping/MacHebrew.b2c
+ test/jdk/sun/nio/cs/mapping/MacIceland.b2c
+ test/jdk/sun/nio/cs/mapping/MacRoman.b2c
+ test/jdk/sun/nio/cs/mapping/MacRomania.b2c
+ test/jdk/sun/nio/cs/mapping/MacSymbol.b2c
+ test/jdk/sun/nio/cs/mapping/MacThai.b2c
+ test/jdk/sun/nio/cs/mapping/MacTurkish.b2c
+ test/jdk/sun/nio/cs/mapping/MacUkraine.b2c
+ test/jdk/sun/nio/cs/mapping/PCK.b2c
+ test/jdk/sun/nio/cs/mapping/PCK.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/SJIS.b2c
+ test/jdk/sun/nio/cs/mapping/SJIS_0213.b2c
+ test/jdk/sun/nio/cs/mapping/TIS620.b2c
+ test/jdk/sun/nio/cs/mapping/TestConv.java
+ test/jdk/sun/nio/cs/mapping/TestFmwk.java
+ test/jdk/sun/nio/cs/mapping/untested/X11SunUnicode_0.b2c
+ test/jdk/sun/nio/cs/mapping/untested/gb18030_0.b2c
+ test/jdk/sun/nio/cs/mapping/untested/gb18030_1.b2c

Changeset: b0245c2b
Author:    Anthony Scarpino 
Date:      2020-03-25 12:41:14 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b0245c2b

8237219: Disable native SunEC implementation by default

Reviewed-by: weijun, mullan

! src/java.base/share/classes/module-info.java
! src/jdk.crypto.ec/share/classes/sun/security/ec/ECDHKeyAgreement.java
! src/jdk.crypto.ec/share/classes/sun/security/ec/ECDSASignature.java
! src/jdk.crypto.ec/share/classes/sun/security/ec/ECKeyPairGenerator.java
! src/jdk.crypto.ec/share/classes/sun/security/ec/SunEC.java
! test/jdk/java/security/KeyAgreement/KeyAgreementTest.java
! test/jdk/java/security/KeyAgreement/KeySizeTest.java
! test/jdk/jdk/security/jarsigner/Spec.java
! test/jdk/sun/security/ec/ECDSAJavaVerify.java
! test/jdk/sun/security/ec/InvalidCurve.java
! test/jdk/sun/security/ec/SignatureDigestTruncate.java
! test/jdk/sun/security/ec/TestEC.java
! test/jdk/sun/security/pkcs11/ec/ReadPKCS12.java
! test/jdk/sun/security/tools/keytool/GroupName.java
! test/jdk/sun/security/tools/keytool/KeyAlg.java
! test/jdk/sun/security/tools/keytool/fakegen/DefaultSignatureAlgorithm.java

Changeset: ffe5e846
Author:    Jonathan Gibbons 
Date:      2020-03-25 15:03:39 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/ffe5e846

8241544: update stylesheet for *-page CSS class rename and hyphenated naming

Reviewed-by: prappo, hannesw

! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css
! test/langtools/jdk/javadoc/doclet/testStylesheet/TestStylesheet.java

Changeset: 60fae779
Author:    John Jiang 
Date:      2020-03-26 07:09:36 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/60fae779

8237977: Further update javax/net/ssl/compatibility/Compatibility.java

Reviewed-by: rhalade

! test/jdk/javax/net/ssl/TLSCommon/CipherSuite.java
! test/jdk/javax/net/ssl/compatibility/Cert.java
! test/jdk/javax/net/ssl/compatibility/Compatibility.java
! test/jdk/javax/net/ssl/compatibility/JdkInfo.java
! test/jdk/javax/net/ssl/compatibility/JdkUtils.java
! test/jdk/javax/net/ssl/compatibility/Server.java
! test/jdk/javax/net/ssl/compatibility/TestCase.java
! test/jdk/javax/net/ssl/compatibility/UseCase.java
! test/jdk/javax/net/ssl/compatibility/Utils.java

Changeset: 0d22ad64
Author:    Claes Redestad 
Date:      2020-03-26 00:02:08 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/0d22ad64

8241427: Coarsen locking in Modules::add_module_exports

Reviewed-by: lfoltan, hseigel

! src/hotspot/share/classfile/modules.cpp
! src/hotspot/share/classfile/modules.hpp
! src/hotspot/share/classfile/packageEntry.cpp
! src/hotspot/share/classfile/systemDictionary.cpp
! test/hotspot/jtreg/runtime/modules/AccessCheckAllUnnamed.java
! test/hotspot/jtreg/runtime/modules/JVMAddModuleExportsToAll.java

Changeset: c659b637
Author:    Pengfei Li 
Date:      2020-03-26 10:10:37 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/c659b637

8241482: AArch64: Fix a potential issue after JDK-8239549

Reviewed-by: aph

! src/hotspot/cpu/aarch64/aarch64.ad

Changeset: 913a0ff0
Author:    Jie He 
Committer: Yang Zhang 
Date:      2020-03-26 14:46:50 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/913a0ff0

8241419: Remove unused InterfaceSupport::_number_of_calls

Reviewed-by: dholmes

! src/hotspot/share/runtime/interfaceSupport.cpp
! src/hotspot/share/runtime/interfaceSupport.inline.hpp

Changeset: c4f25e51
Author:    Matthias Baesken 
Date:      2020-03-24 15:26:10 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/c4f25e51

8241491: Problem list jdk/javax/swing/UIDefaults/8146330/UIDefaultKeySizeTest.java on aix

Reviewed-by: clanger

! test/jdk/ProblemList.txt

Changeset: eb003a73
Author:    Roland Westrelin 
Date:      2020-03-20 13:56:12 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/eb003a73

8240335: C2: assert(found_sfpt) failed: no node in loop that's not input to safepoint

Reviewed-by: kvn, thartmann

! src/hotspot/share/opto/cfgnode.cpp
! src/hotspot/share/opto/cfgnode.hpp
+ test/hotspot/jtreg/compiler/loopstripmining/TestCastIIAfterUnrollingInOuterLoop.java

Changeset: b8f8dea9
Author:    Roland Westrelin 
Date:      2020-03-20 13:58:05 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b8f8dea9

8241365: Define Unique_Node_List::contains() to prevent usage by mistake

Reviewed-by: kvn, thartmann

! src/hotspot/share/opto/node.hpp

Changeset: b35032dc
Author:    Sergei Tsypanov 
Committer: Claes Redestad 
Date:      2020-03-26 10:02:57 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b35032dc

8241649: Optimize Character.toString

Reviewed-by: redestad, rriggs

! src/java.base/share/classes/java/lang/Character.java

Changeset: f930d466
Author:    Jesper Wilhelmsson 
Date:      2020-03-26 03:15:02 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/f930d466

Added tag jdk-15+16 for changeset 5c7ec21f5d13

! .hgtags

Changeset: d882d528
Author:    Julia Boes 
Date:      2020-03-26 11:52:15 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/d882d528

8235459: HttpRequest.BodyPublishers::ofFile assumes the default file system

Add support for non-default file systems to HttpRequest.BodyPublishers::ofFile

Reviewed-by: chegar, dfuchs, amlu

! src/java.net.http/share/classes/java/net/http/HttpRequest.java
! src/java.net.http/share/classes/jdk/internal/net/http/RequestPublishers.java
+ test/jdk/java/net/httpclient/FilePublisher/FilePublisherPermsTest.java
+ test/jdk/java/net/httpclient/FilePublisher/FilePublisherPermsTest1.policy
+ test/jdk/java/net/httpclient/FilePublisher/FilePublisherPermsTest2.policy
+ test/jdk/java/net/httpclient/FilePublisher/FilePublisherPermsTest3.policy
+ test/jdk/java/net/httpclient/FilePublisher/FilePublisherTest.java
+ test/jdk/java/net/httpclient/FilePublisher/FilePublisherTest.policy
+ test/jdk/java/net/httpclient/FilePublisher/SecureZipFSProvider.java

Changeset: 307b376a
Author:    Christian Hagedorn 
Date:      2020-03-26 13:43:51 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/307b376a

8241595: Fix missing debug_orig information in Ideal Graph Visualizer

Show missing debug_orig information for nodes in Ideal Graph Visualizer.

Reviewed-by: kvn, neliasso

! src/hotspot/share/opto/idealGraphPrinter.cpp
! src/hotspot/share/opto/node.cpp
! src/hotspot/share/opto/node.hpp

Changeset: d77c52b2
Author:    Coleen Phillimore 
Date:      2020-03-26 10:29:31 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/d77c52b2

8172485: [TESTBUG] RedefineLeak.java runs out of metaspace memory

Check for zero exit value.

Reviewed-by: lfoltan

! test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/RedefineLeak.java

Changeset: eb7c80a3
Author:    Julia Boes 
Date:      2020-03-26 14:58:53 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/eb7c80a3

8241674: Fix incorrect jtreg option in FilePublisherPermsTest

Replace jtreg option 'policy' with 'java.security.policy' to extend rather than replace policy

Reviewed-by: chegar, dfuchs

! test/jdk/java/net/httpclient/FilePublisher/FilePublisherPermsTest.java

Changeset: e11ab6a4
Author:    Per Lid?n 
Date:      2020-03-26 16:56:42 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/e11ab6a4

8241596: ZGC: Shorten runtime of gc/z/TestUncommit.java

Reviewed-by: tschatzl, sjohanss

! test/hotspot/jtreg/gc/z/TestUncommit.java

Changeset: 54e2c6fe
Author:    Daniil Titov 
Date:      2020-03-26 09:03:52 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/54e2c6fe

8196751: Add jhsdb option to specify debug server RMI connector port

Reviewed-by: sspitsyn, ysuenaga

! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/HotSpotAgent.java
! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/SALauncher.java
! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/remote/RemoteDebuggerServer.java
! test/hotspot/jtreg/serviceability/sa/sadebugd/SADebugDTest.java
! test/lib/jdk/test/lib/Utils.java

Changeset: 098b48b7
Author:    Mikhailo Seledtsov 
Date:      2020-03-26 10:03:35 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/098b48b7

8240634: event/runtime/TestMetaspaceAllocationFailure.java times out

Limit number of iterations

Reviewed-by: egahlin, stuefe

! test/jdk/jdk/jfr/event/runtime/TestMetaspaceAllocationFailure.java

Changeset: e509368f
Author:    Calvin Cheung 
Date:      2020-03-26 10:14:52 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/e509368f

8233093: Move CDS heap oopmaps into new MetaspaceShared::bm region

Moved the _closed_archive_heap_oopmaps and _open_archive_heap_oopmaps from the ro to the bm region.

Reviewed-by: iklam, minqi

! src/hotspot/share/memory/dynamicArchive.cpp
! src/hotspot/share/memory/filemap.cpp
! src/hotspot/share/memory/filemap.hpp
! src/hotspot/share/memory/metaspaceShared.cpp
! src/hotspot/share/memory/metaspaceShared.hpp

Changeset: 8c5531b6
Author:    Aleksey Shipilev 
Date:      2020-03-26 19:08:30 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/8c5531b6

8241668: Shenandoah: make ShenandoahHeapRegion not derive from ContiguousSpace

Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp
! src/hotspot/share/gc/shenandoah/vmStructs_shenandoah.hpp
! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shenandoah/ShenandoahHeapRegion.java

Changeset: 6be46f8e
Author:    Aleksey Shipilev 
Date:      2020-03-26 19:09:20 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/6be46f8e

8241673: Shenandoah: refactor anti-false-sharing padding

Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.hpp
! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.hpp
! src/hotspot/share/gc/shenandoah/shenandoahControlThread.hpp
! src/hotspot/share/gc/shenandoah/shenandoahEvacOOMHandler.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegionSet.hpp
! src/hotspot/share/gc/shenandoah/shenandoahLock.hpp
! src/hotspot/share/gc/shenandoah/shenandoahNMethod.hpp
! src/hotspot/share/gc/shenandoah/shenandoahPacer.hpp
+ src/hotspot/share/gc/shenandoah/shenandoahPadding.hpp
! src/hotspot/share/gc/shenandoah/shenandoahSharedVariables.hpp
! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.hpp

Changeset: ebdb70fe
Author:    Ekaterina Pavlova 
Date:      2020-03-26 14:24:53 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/ebdb70fe

8236975: compiler/graalunit tests fails with --illegal-access=deny

Reviewed-by: iignatyev, kvn, alanb

! test/hotspot/jtreg/compiler/graalunit/CoreTest.java
! test/hotspot/jtreg/compiler/graalunit/GraphTest.java
! test/hotspot/jtreg/compiler/graalunit/HotspotJdk9Test.java
! test/hotspot/jtreg/compiler/graalunit/HotspotSparcTest.java
! test/hotspot/jtreg/compiler/graalunit/ReplacementsTest.java
! test/hotspot/jtreg/compiler/graalunit/TestPackages.txt
! test/hotspot/jtreg/compiler/graalunit/common/GraalUnitTestLauncher.java
! test/hotspot/jtreg/compiler/graalunit/generateTests.sh

Changeset: 5f1636b2
Author:    Chris Plummer 
Date:      2020-03-26 15:13:21 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/5f1636b2

8241696: ProblemList gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java due to JDK-8241293

Reviewed-by: dcubed, ctornqvi

! test/hotspot/jtreg/ProblemList.txt

Changeset: 87805d92
Author:    Jonathan Gibbons 
Date:      2020-03-26 20:36:56 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/87805d92

8241470: HtmlStyle: group and document members: description, flex, signature

Reviewed-by: hannesw

! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.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/testIndentation/TestIndentation.java
! test/langtools/jdk/javadoc/doclet/testJavaFX/TestJavaFX.java
! test/langtools/jdk/javadoc/doclet/testMemberInheritance/TestMemberInheritance.java
! test/langtools/jdk/javadoc/doclet/testMethodSignature/TestMethodSignature.java
! test/langtools/jdk/javadoc/doclet/testNewLanguageFeatures/TestNewLanguageFeatures.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

Changeset: 2bc4308d
Author:    Vipin M V 
Committer: Vyom Tewari 
Date:      2020-03-27 11:34:45 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/2bc4308d

8129841: Update comment for Java_java_net_Inet6AddressImpl_getHostByAddr

Update comment for Java_java_net_Inet6AddressImpl_getHostByAddr

Reviewed-by: vtewari, alanb

! src/java.base/unix/native/libnet/Inet4AddressImpl.c
! src/java.base/unix/native/libnet/Inet6AddressImpl.c
! src/java.base/windows/native/libnet/Inet4AddressImpl.c
! src/java.base/windows/native/libnet/Inet6AddressImpl.c

Changeset: cc8715d8
Author:    Thomas Stuefe 
Date:      2020-03-27 07:16:22 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/cc8715d8

8241581: Add BitMap::count_one_bits variant for arbitrary lengths

Reviewed-by: redestad, kbarrett

! src/hotspot/share/utilities/bitMap.cpp
! src/hotspot/share/utilities/bitMap.hpp
+ test/hotspot/gtest/utilities/test_bitMap_popcnt.cpp

Changeset: 83f7ee14
Author:    Thomas Stuefe 
Date:      2020-03-27 08:45:59 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/83f7ee14

8241723: Build error after 8241581

Reviewed-by: kbarrett, clanger

- test/hotspot/gtest/utilities/test_bitMap_popcnt.cpp

Changeset: 67cf35ee
Author:    Yasumasa Suenaga 
Date:      2020-03-27 17:07:23 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/67cf35ee

8240956: SEGV in DwarfParser::process_dwarf after JDK-8234624

Reviewed-by: sspitsyn, kevinw

! src/jdk.hotspot.agent/linux/native/libsaproc/dwarf.cpp
! src/jdk.hotspot.agent/linux/native/libsaproc/libproc_impl.c
! src/jdk.hotspot.agent/linux/native/libsaproc/libproc_impl.h
! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64CFrame.java
! test/hotspot/jtreg/ProblemList.txt

Changeset: 7048684c
Author:    Thomas Schatzl 
Date:      2020-03-27 09:44:53 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/7048684c

8238855: Move G1ConcurrentMark flag sanity checks to g1Arguments

Reviewed-by: sjohanss, kbarrett

! src/hotspot/share/gc/g1/g1Arguments.cpp
! src/hotspot/share/gc/g1/g1Arguments.hpp
! 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/shared/gc_globals.hpp
! src/hotspot/share/gc/shared/jvmFlagConstraintsGC.cpp
+ test/hotspot/jtreg/gc/g1/TestMarkStackSizes.java

Changeset: 5ff2d7ba
Author:    Roland Westrelin 
Date:      2020-03-24 11:06:26 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/5ff2d7ba

8240676: Meet not symmetric failure when running lucene on jdk8

Reviewed-by: kvn, thartmann

! src/hotspot/share/opto/compile.cpp
! src/hotspot/share/opto/compile.hpp
! src/hotspot/share/opto/type.cpp
! src/hotspot/share/opto/type.hpp
+ test/hotspot/jtreg/compiler/types/TestArrayMeetNotSymmetrical.java

Changeset: 85d5048c
Author:    Roland Westrelin 
Date:      2020-03-24 10:31:37 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/85d5048c

8241675: Shenandoah: assert(n->outcnt() > 0) at shenandoahSupport.cpp:2858 with java/util/Collections/FindSubList.java

Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp

Changeset: c9f5004b
Author:    Matthias Baesken 
Date:      2020-03-25 13:05:42 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/c9f5004b

8241586: compiler/cpuflags/TestAESIntrinsicsOnUnsupportedConfig.java fails on aarch64

Reviewed-by: clanger

! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp

Changeset: 1dd60a35
Author:    Roman Kennke 
Date:      2020-01-22 15:55:02 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/1dd60a35

8227269: Slow class loading when running with JDWP

Reviewed-by: sspitsyn, cjplummer

! src/jdk.jdwp.agent/share/native/libjdwp/classTrack.c
! src/jdk.jdwp.agent/share/native/libjdwp/classTrack.h
! src/jdk.jdwp.agent/share/native/libjdwp/eventHandler.c
! src/jdk.jdwp.agent/share/native/libjdwp/util.c
! src/jdk.jdwp.agent/share/native/libjdwp/util.h

Changeset: f53ee4ba
Author:    duke 
Date:      2020-03-27 11:01:38 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/f53ee4ba

Automatic merge of jdk:master into master


Changeset: e993b208
Author:    duke 
Date:      2020-03-27 11:01:59 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/e993b208

Automatic merge of master into foreign-memaccess

! src/java.base/share/classes/module-info.java
! src/java.base/share/classes/module-info.java

Changeset: d2dc414c
Author:    duke 
Date:      2020-03-27 11:02:19 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/d2dc414c

Automatic merge of foreign-memaccess into foreign-abi

! src/hotspot/cpu/x86/macroAssembler_x86.cpp
! src/hotspot/cpu/x86/macroAssembler_x86.hpp
! src/hotspot/share/runtime/init.cpp
! src/java.base/share/classes/jdk/internal/loader/NativeLibraries.java
! src/java.base/share/classes/module-info.java
! src/java.base/share/native/libjava/NativeLibraries.c
! src/hotspot/cpu/x86/macroAssembler_x86.cpp
! src/hotspot/cpu/x86/macroAssembler_x86.hpp
! src/hotspot/share/runtime/init.cpp
! src/java.base/share/classes/jdk/internal/loader/NativeLibraries.java
! src/java.base/share/classes/module-info.java
! src/java.base/share/native/libjava/NativeLibraries.c


From duke at openjdk.java.net  Fri Mar 27 11:19:05 2020
From: duke at openjdk.java.net (duke)
Date: Fri, 27 Mar 2020 11:19:05 GMT
Subject: git: openjdk/panama-foreign: foreign-memaccess: 112 new changesets
Message-ID: <4b450c39-f517-4fd9-a67c-2717b7a524fc@openjdk.org>

Changeset: 78d35f14
Author:    Christoph Langer 
Date:      2020-03-02 21:04:48 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/78d35f14

8239149: Cleanups in SunFontManager.java and TrueTypeFont.java

Reviewed-by: prr

! src/java.desktop/share/classes/sun/font/SunFontManager.java
! src/java.desktop/share/classes/sun/font/TrueTypeFont.java

Changeset: 70e2c013
Author:    Sergey Bylokhov 
Date:      2020-03-02 23:35:50 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/70e2c013

8235153: [TESTBUG] [macos 10.15] java/awt/Graphics/DrawImageBG/SystemBgColorTest.java fails

Reviewed-by: aivanov

! test/jdk/java/awt/Graphics/DrawImageBG/SystemBgColorTest.java

Changeset: 9d0a4875
Author:    Sergey Bylokhov 
Date:      2020-03-03 03:46:11 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/9d0a4875

8238936: The crash in XRobotPeer when the custom GraphicsDevice is used

Reviewed-by: kizune

! src/java.desktop/macosx/classes/sun/lwawt/macosx/CRobot.java
! src/java.desktop/macosx/classes/sun/lwawt/macosx/LWCToolkit.java
! src/java.desktop/share/classes/java/awt/Robot.java
! src/java.desktop/share/classes/sun/awt/ComponentFactory.java
! src/java.desktop/unix/classes/sun/awt/X11/XRobotPeer.java
! src/java.desktop/unix/classes/sun/awt/X11/XToolkit.java
! src/java.desktop/windows/classes/sun/awt/windows/WRobotPeer.java
! src/java.desktop/windows/classes/sun/awt/windows/WToolkit.java
+ test/jdk/java/awt/Robot/CreateRobotCustomGC/CreateRobotCustomGC.java

Changeset: 6b455049
Author:    Prasanta Sadhukhan 
Date:      2020-03-03 14:45:47 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/6b455049

Merge


Changeset: c2867d65
Author:    Pankaj Bansal 
Date:      2020-03-03 17:37:04 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/c2867d65

8204161: [TESTBUG] auto failed with the "Applet thread threw exception: java.lang.UnsupportedOperationException" exception

Reviewed-by: serb

- test/jdk/java/awt/TrayIcon/AddPopupAfterShowTest/AddPopupAfterShowTest.html
! test/jdk/java/awt/TrayIcon/AddPopupAfterShowTest/AddPopupAfterShowTest.java
+ test/jdk/java/awt/TrayIcon/MiddleButtonEventTest/MiddleButtonEventTest.java

Changeset: 23def435
Author:    Pankaj Bansal 
Date:      2020-03-03 17:49:58 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/23def435

8239902: Remove direct usage of JSlider, JProgressBar classes in CAccessible class

Reviewed-by: serb

! src/java.desktop/macosx/classes/sun/lwawt/macosx/CAccessible.java

Changeset: e70ee3dc
Author:    Pankaj Bansal 
Date:      2020-03-03 18:26:57 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/e70ee3dc

8231042: [macos] JFileChooser creates new folder on ESC

Reviewed-by: serb, psadhukhan

! src/java.desktop/macosx/classes/com/apple/laf/AquaFileChooserUI.java
+ test/jdk/javax/swing/JFileChooser/TestJFileChooserNewFolderAction.java

Changeset: bce81496
Author:    Sergey Bylokhov 
Date:      2020-03-06 14:41:35 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/bce81496

8219578: No associated icon for the leaf node of JTree

Reviewed-by: prr, jdv

! src/java.desktop/share/classes/module-info.java

Changeset: 315635ea
Author:    Alexander Zuev 
Date:      2020-03-09 00:18:23 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/315635ea

8176040: Documentation of java.awt.Rectangle.add(java.awt.Point) is wrong

Reviewed-by: serb, prr

! src/java.desktop/share/classes/java/awt/Rectangle.java

Changeset: 15a838d3
Author:    Toshio Nakamura 
Date:      2020-03-09 15:07:11 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/15a838d3

8240518: Incorrect JNU_ReleaseStringPlatformChars in Windows Print

Reviewed-by: serb, pbansal, psadhukhan

! src/java.desktop/windows/native/libawt/windows/WPrinterJob.cpp
! src/java.desktop/windows/native/libawt/windows/awt_PrintControl.cpp

Changeset: bd78beae
Author:    Jayathirth D V 
Date:      2020-03-10 16:07:58 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/bd78beae

6532025: GIF reader throws misleading exception with truncated images

Reviewed-by: prr, bpb

! src/java.desktop/share/classes/com/sun/imageio/plugins/gif/GIFImageReader.java
+ test/jdk/javax/imageio/plugins/gif/TruncatedGIFTest.java

Changeset: 40f6d697
Author:    Sergey Bylokhov 
Date:      2020-03-10 11:30:33 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/40f6d697

8233573: Toolkit.getScreenInsets(GraphicsConfiguration) may throw ClassCastException

Reviewed-by: prr, jdv

! src/java.desktop/macosx/classes/sun/lwawt/macosx/LWCToolkit.java
! src/java.desktop/unix/classes/sun/awt/X11/XToolkit.java
! src/java.desktop/windows/classes/sun/awt/windows/WToolkit.java
+ test/jdk/java/awt/Toolkit/GetScreenInsetsCustomGC/GetScreenInsetsCustomGC.java

Changeset: f3ef9726
Author:    Sergey Bylokhov 
Date:      2020-03-10 13:58:46 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/f3ef9726

8040630: Popup menus and tooltips flicker with previous popup contents when first shown

Reviewed-by: kizune, pbansal

! src/java.desktop/share/classes/javax/swing/Popup.java

Changeset: afe70e69
Author:    Marc Hoffmann 
Committer: Sergey Bylokhov 
Date:      2020-03-12 03:26:04 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/afe70e69

8237746: Fixing compiler warnings in src/demo/share/jfc

Reviewed-by: kizune, aivanov

! src/demo/share/jfc/FileChooserDemo/FileChooserDemo.java
! src/demo/share/jfc/Font2DTest/Font2DTest.java
- src/demo/share/jfc/Font2DTest/Font2DTestApplet.java
! src/demo/share/jfc/Font2DTest/FontPanel.java
! src/demo/share/jfc/Font2DTest/RangeMenu.java
! src/demo/share/jfc/J2Ddemo/java2d/DemoPanel.java
! src/demo/share/jfc/J2Ddemo/java2d/GlobalControls.java
! src/demo/share/jfc/J2Ddemo/java2d/Tools.java
! src/demo/share/jfc/J2Ddemo/java2d/demos/Clipping/Areas.java
! src/demo/share/jfc/J2Ddemo/java2d/demos/Fonts/Tree.java
! src/demo/share/jfc/J2Ddemo/java2d/demos/Images/ImageOps.java
! src/demo/share/jfc/J2Ddemo/java2d/demos/Mix/Balls.java
! src/demo/share/jfc/J2Ddemo/java2d/demos/Mix/BezierScroller.java
! src/demo/share/jfc/J2Ddemo/java2d/demos/Paint/GradAnim.java
! src/demo/share/jfc/J2Ddemo/java2d/demos/Paint/TextureAnim.java
! src/demo/share/jfc/Metalworks/MetalworksPrefs.java
! src/demo/share/jfc/Notepad/ElementTreePanel.java
! src/demo/share/jfc/Stylepad/Stylepad.java
! src/demo/share/jfc/SwingSet2/ButtonDemo.java
! src/demo/share/jfc/SwingSet2/ColorChooserDemo.java
! src/demo/share/jfc/SwingSet2/ComboBoxDemo.java
! src/demo/share/jfc/SwingSet2/DemoModule.java
! src/demo/share/jfc/SwingSet2/DirectionPanel.java
! src/demo/share/jfc/SwingSet2/ExampleFileView.java
! src/demo/share/jfc/SwingSet2/FileChooserDemo.java
! src/demo/share/jfc/SwingSet2/InternalFrameDemo.java
! src/demo/share/jfc/SwingSet2/LayoutControlPanel.java
! src/demo/share/jfc/SwingSet2/ListDemo.java
! src/demo/share/jfc/SwingSet2/OptionPaneDemo.java
! src/demo/share/jfc/SwingSet2/SliderDemo.java
! src/demo/share/jfc/SwingSet2/SplitPaneDemo.java
! src/demo/share/jfc/SwingSet2/SwingSet2.java
- src/demo/share/jfc/SwingSet2/SwingSet2Applet.java
! src/demo/share/jfc/SwingSet2/TableDemo.java
! src/demo/share/jfc/TableExample/JDBCAdapter.java
! src/demo/share/jfc/TableExample/OldJTable.java
! src/demo/share/jfc/TableExample/TableExample3.java
! src/demo/share/jfc/TableExample/TableExample4.java
! src/demo/share/jfc/TableExample/TableMap.java
! src/demo/share/jfc/TableExample/TableSorter.java

Changeset: 4f1fabd8
Author:    Sergey Bylokhov 
Date:      2020-03-11 21:58:16 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/4f1fabd8

8238075: [OGL] Delete unused properties

Reviewed-by: kizune

! src/java.desktop/macosx/classes/sun/awt/CGraphicsDevice.java
! src/java.desktop/macosx/classes/sun/java2d/opengl/CGLGraphicsConfig.java
! src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl/CGLGraphicsConfig.h
! src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl/CGLGraphicsConfig.m

Changeset: b4863f9d
Author:    Sergey Bylokhov 
Date:      2020-03-12 10:00:23 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b4863f9d

8240633: Memory leaks in the implementations of FileChooserUI

Reviewed-by: pbansal, psadhukhan

! src/java.desktop/macosx/classes/com/apple/laf/AquaComboBoxUI.java
! src/java.desktop/macosx/classes/com/apple/laf/AquaFileChooserUI.java
+ test/jdk/javax/swing/JFileChooser/FileChooserListenerLeak.java

Changeset: 23fda7e4
Author:    Phil Race 
Date:      2020-03-12 17:53:08 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/23fda7e4

8240977: ProblemList failing jtreg tests on macos

Reviewed-by: serb

! test/jdk/ProblemList.txt

Changeset: 3a7389f5
Author:    Ambarish Rapte 
Date:      2020-03-15 00:43:54 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/3a7389f5

8226253: JAWS reports wrong number of radio buttons when buttons are hidden

Reviewed-by: kizune, pbansal

! src/java.desktop/share/classes/javax/swing/JList.java
! src/jdk.accessibility/windows/classes/com/sun/java/accessibility/internal/AccessBridge.java

Changeset: bca2465c
Author:    Prasanta Sadhukhan 
Date:      2020-03-16 12:49:08 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/bca2465c

8236635: JTabbedPane preferred size calculation is wrong for SCROLL_TAB_LAYOUT

Reviewed-by: serb, pbansal

! test/jdk/ProblemList.txt
! test/jdk/javax/swing/JTabbedPane/TabProb.java

Changeset: 72b251d3
Author:    Sergey Bylokhov 
Date:      2020-03-16 17:33:52 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/72b251d3

8226806: [macOS 10.14] Methods of Java Robot should be called from appropriate thread

Reviewed-by: psadhukhan, prr

! src/java.desktop/macosx/native/libawt_lwawt/awt/CRobot.m
+ test/jdk/java/awt/Robot/NonEmptyErrorStream.java

Changeset: c1f7fa2e
Author:    Phil Race 
Date:      2020-03-17 17:38:27 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/c1f7fa2e

8223935: PIT: java/awt/font/WindowsIndicFonts.java fails on windows10

Reviewed-by: serb, jdv

! test/jdk/java/awt/font/WindowsIndicFonts.java

Changeset: 1e217e7b
Author:    Tejpal Rebari 
Date:      2020-03-18 11:38:33 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/1e217e7b

8146330: [macosx] UIDefaults.keys() different size than UIDefaults.keySet()

Reviewed-by: pbansal, serb, jdv

! src/java.desktop/share/classes/javax/swing/MultiUIDefaults.java
+ test/jdk/javax/swing/UIDefaults/8146330/UIDefaultKeySizeTest.java

Changeset: 9874e698
Author:    Phil Race 
Date:      2020-03-18 15:48:53 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/9874e698

8241229: Problem list jdk/javax/swing/UIDefaults/8146330/UIDefaultKeySizeTest.java

Reviewed-by: aivanov, serb

! test/jdk/ProblemList.txt

Changeset: 3340e6f9
Author:    Prasanta Sadhukhan 
Date:      2020-03-19 09:20:06 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/3340e6f9

8226230: Test javax/swing/JInternalFrame/8020708/bug8020708.java fails on Ubuntu

Reviewed-by: serb

! test/jdk/javax/swing/JInternalFrame/8020708/bug8020708.java

Changeset: 7143a9c5
Author:    Prasanta Sadhukhan 
Date:      2020-03-19 09:22:37 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/7143a9c5

8241078: OOM error parsing HTML with large 
 Tag text

Reviewed-by: serb, aivanov

! src/java.desktop/share/classes/javax/swing/text/DefaultStyledDocument.java
+ test/jdk/javax/swing/text/html/TestOOMWithLargePreTag.java

Changeset: 0f7f181d
Author:    Phil Race 
Date:      2020-03-18 22:27:31 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/0f7f181d

8241233: Typo in problem listing of UIDefaultKeySizeTest.java

Reviewed-by: jdv

! test/jdk/ProblemList.txt

Changeset: b4a3809e
Author:    Sergey Bylokhov 
Date:      2020-03-19 22:22:39 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b4a3809e

8240786: [TESTBUG] The test java/awt/Window/GetScreenLocation/GetScreenLocationTest.java fails on HiDPI screen

Reviewed-by: jdv, pbansal

! test/jdk/java/awt/Window/GetScreenLocation/GetScreenLocationTest.java

Changeset: 672f3a18
Author:    Prasanta Sadhukhan 
Date:      2020-03-21 09:46:44 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/672f3a18

8241291: JCK test javax_swing/text/DefaultStyledDocument/ElementSpec/ESpecCtor.html fails

Reviewed-by: prr

! src/java.desktop/share/classes/javax/swing/text/DefaultStyledDocument.java
- test/jdk/javax/swing/text/html/TestOOMWithLargePreTag.java

Changeset: 602d98a7
Author:    Phil Race 
Date:      2020-03-20 22:52:40 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/602d98a7

8232634: Problem List ICMColorDataTest.java

Reviewed-by: serb, psadhukhan

! test/jdk/ProblemList.txt

Changeset: 95d28303
Author:    Jia Huang 
Date:      2020-03-20 18:52:31 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/95d28303

8240222: [TESTBUG] gtest/jfr/test_networkUtilization.cpp failed when the number of tests is greater than or equal to 2

Reviewed-by: egahlin, mgronlun

! test/hotspot/gtest/jfr/test_networkUtilization.cpp

Changeset: 6dffcf75
Author:    Coleen Phillimore 
Date:      2020-03-20 07:30:52 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/6dffcf75

8241320: The ClassLoaderData::_is_unsafe_anonymous field is unused in the SA

Remove unused code that is changing in Hotspot for hidden classes.

Reviewed-by: lfoltan, dholmes, sspitsyn

! src/hotspot/share/runtime/vmStructs.cpp
! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/classfile/ClassLoaderData.java

Changeset: 136a1574
Author:    Jamsheed Mohammed C M 
Date:      2020-03-20 05:19:56 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/136a1574

8237894: CTW: C1 compilation fails with assert(x->type()->tag() == f->type()->tag()) failed: should have same type

Field access instructions hash decalred_type in addition, indexed access instructions hash value type of the instruction in addition.

Reviewed-by: thartmann, shade

! src/hotspot/share/c1/c1_GraphBuilder.cpp
! src/hotspot/share/c1/c1_Instruction.hpp
+ test/hotspot/jtreg/compiler/c1/TestValueNumberingNullObject.java

Changeset: 34ae46e2
Author:    Andrew Haley 
Date:      2020-03-19 14:53:57 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/34ae46e2

8241296: Segfault in JNIHandleBlock::oops_do()

Reviewed-by: stefank

! src/hotspot/share/runtime/thread.cpp

Changeset: c9faf88c
Author:    Roland Westrelin 
Date:      2020-03-13 16:32:51 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/c9faf88c

8240795: [REDO] 8238384 CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found"

Reviewed-by: kvn, thartmann

! src/hotspot/share/opto/compile.cpp
! src/hotspot/share/opto/gcm.cpp
! src/hotspot/share/opto/loopnode.cpp
! src/hotspot/share/opto/type.hpp
+ test/hotspot/jtreg/compiler/escapeAnalysis/TestCopyOfBrokenAntiDependency.java

Changeset: 2288788e
Author:    Andrew Haley 
Date:      2020-03-20 13:08:20 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/2288788e

Merge


Changeset: d243e40f
Author:    Xue-Lei Andrew Fan 
Date:      2020-03-20 09:15:00 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/d243e40f

8241039: Retire the deprecated SSLSession.getPeerCertificateChain() method

Reviewed-by: mullan, alanb, dfuchs

- src/java.base/share/classes/com/sun/security/cert/internal/x509/X509V1CertImpl.java
! src/java.base/share/classes/javax/net/ssl/HandshakeCompletedEvent.java
! src/java.base/share/classes/javax/net/ssl/SSLSession.java
! src/java.base/share/classes/sun/security/ssl/SSLSessionImpl.java
! src/java.net.http/share/classes/jdk/internal/net/http/common/ImmutableExtendedSSLSession.java
! src/java.net.http/share/classes/jdk/internal/net/http/common/ImmutableSSLSession.java
! test/jdk/sun/security/ssl/GenSSLConfigs/main.java

Changeset: f67868d9
Author:    Xue-Lei Andrew Fan 
Date:      2020-03-20 09:27:06 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/f67868d9

8219989: Retire the com.sun.net.ssl.internal.ssl.Provider name

Remove the provider name in JDK

Reviewed-by: mullan

! src/java.base/share/classes/sun/security/jca/ProviderConfig.java

Changeset: 37b7a233
Author:    Yumin Qi 
Date:      2020-03-20 09:40:30 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/37b7a233

8241009: CommandLineFlagComboNegative.java fails after JDK-8240563

Jtreg turned off UseCompressedOops and messed up vm flag options of children processes.

Reviewed-by: dholmes, stefank

! test/hotspot/jtreg/runtime/cds/appcds/CommandLineFlagComboNegative.java

Changeset: c5a74908
Author:    Rahul Yadav 
Committer: Patrick Concannon 
Date:      2020-03-20 20:16:34 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/c5a74908

8240921: Minor correction to HttpResponse.BodySubscribers example

The fix updates the incorrect example of the usage of the class java.net.http.HttpResponse.BodySubscribers.

Reviewed-by: chegar, dfuchs, jboes, pconcannon

! src/java.net.http/share/classes/java/net/http/HttpResponse.java
! test/jdk/java/net/httpclient/examples/JavadocExamples.java

Changeset: 17ff85d4
Author:    Pavel Rappo 
Date:      2020-03-20 20:54:56 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/17ff85d4

8241014: Miscellaneous typos in documentation comments

Reviewed-by: igerasim, prappo, psandoz, rriggs, weijun

! src/java.base/share/classes/java/io/FilePermission.java
! src/java.base/share/classes/java/io/Reader.java
! src/java.base/share/classes/java/lang/Character.java
! src/java.base/share/classes/java/lang/ProcessHandleImpl.java
! src/java.base/share/classes/java/lang/Runtime.java
! src/java.base/share/classes/java/lang/String.java
! src/java.base/share/classes/java/lang/constant/DirectMethodHandleDescImpl.java
! src/java.base/share/classes/java/lang/constant/DynamicCallSiteDesc.java
! src/java.base/share/classes/java/lang/constant/DynamicConstantDesc.java
! src/java.base/share/classes/java/lang/constant/MethodTypeDescImpl.java
! src/java.base/share/classes/java/lang/constant/ReferenceClassDescImpl.java
! src/java.base/share/classes/java/lang/invoke/MethodType.java
! src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java
! src/java.base/share/classes/java/math/BigDecimal.java
! src/java.base/share/classes/java/net/HttpCookie.java
! src/java.base/share/classes/java/net/MulticastSocket.java
! src/java.base/share/classes/java/nio/file/DirectoryStream.java
! src/java.base/share/classes/java/nio/file/attribute/UserDefinedFileAttributeView.java
! src/java.base/share/classes/java/security/PKCS12Attribute.java
! src/java.base/share/classes/java/security/SignatureSpi.java
! src/java.base/share/classes/java/text/BreakIterator.java
! src/java.base/share/classes/java/time/chrono/ChronoLocalDateTimeImpl.java
! src/java.base/share/classes/java/time/chrono/package-info.java
! src/java.base/share/classes/java/time/temporal/TemporalAccessor.java
! src/java.base/share/classes/java/util/Arrays.java
! src/java.base/share/classes/java/util/BitSet.java
! src/java.base/share/classes/java/util/Enumeration.java
! src/java.base/share/classes/java/util/Map.java
! src/java.base/share/classes/java/util/StringJoiner.java
! src/java.base/share/classes/java/util/regex/Pattern.java
! src/java.base/share/classes/java/util/stream/Stream.java
! src/java.base/share/classes/java/util/stream/package-info.java
! src/java.base/share/classes/javax/crypto/CryptoPolicyParser.java
! src/java.base/share/classes/javax/security/cert/X509Certificate.java
! src/java.base/share/classes/jdk/internal/icu/util/VersionInfo.java
! src/java.base/share/classes/jdk/internal/reflect/ReflectionFactory.java
! src/java.base/share/classes/sun/security/provider/AbstractDrbg.java
! src/java.base/share/classes/sun/security/provider/PolicyFile.java
! src/java.compiler/share/classes/javax/tools/JavaFileManager.java

Changeset: f778ad2f
Author:    Leonid Mesnik 
Date:      2020-03-20 17:37:52 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/f778ad2f

8241319: WB_GetCodeBlob doesn't have ResourceMark

Reviewed-by: iignatyev, thartmann

! src/hotspot/share/prims/whitebox.cpp

Changeset: ef335c75
Author:    Prasanta Sadhukhan 
Date:      2020-03-22 09:46:15 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/ef335c75

Merge

! test/jdk/ProblemList.txt
! test/jdk/ProblemList.txt

Changeset: 36af90ac
Author:    Xue-Lei Andrew Fan 
Date:      2020-03-22 09:30:16 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/36af90ac

8215712: Parsing extension failure may alert decode_error

Reviewed-by: jnimeh

! src/java.base/share/classes/sun/security/ssl/AlpnExtension.java
! src/java.base/share/classes/sun/security/ssl/CertSignAlgsExtension.java
! src/java.base/share/classes/sun/security/ssl/CertStatusExtension.java
! src/java.base/share/classes/sun/security/ssl/CookieExtension.java
! src/java.base/share/classes/sun/security/ssl/ECPointFormatsExtension.java
! src/java.base/share/classes/sun/security/ssl/ExtendedMasterSecretExtension.java
! src/java.base/share/classes/sun/security/ssl/KeyShareExtension.java
! src/java.base/share/classes/sun/security/ssl/MaxFragExtension.java
! src/java.base/share/classes/sun/security/ssl/PreSharedKeyExtension.java
! src/java.base/share/classes/sun/security/ssl/PskKeyExchangeModesExtension.java
! src/java.base/share/classes/sun/security/ssl/RenegoInfoExtension.java
! src/java.base/share/classes/sun/security/ssl/SSLExtension.java
! src/java.base/share/classes/sun/security/ssl/SSLExtensions.java
! src/java.base/share/classes/sun/security/ssl/SSLStringizer.java
! src/java.base/share/classes/sun/security/ssl/ServerHello.java
! src/java.base/share/classes/sun/security/ssl/ServerNameExtension.java
! src/java.base/share/classes/sun/security/ssl/SessionTicketExtension.java
! src/java.base/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java
! src/java.base/share/classes/sun/security/ssl/SupportedGroupsExtension.java
! src/java.base/share/classes/sun/security/ssl/SupportedVersionsExtension.java
! src/java.base/share/classes/sun/security/ssl/TransportContext.java

Changeset: 618bacec
Author:    Pengfei Li 
Date:      2020-03-23 08:37:45 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/618bacec

8241091: AArch64: "bad AD file" with VM option "-XX:-UsePopCountInstruction"

Reviewed-by: aph

! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp

Changeset: e04080bd
Author:    Magnus Ihse Bursie 
Date:      2020-03-23 10:26:13 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/e04080bd

8241310: Fix warnings in jdk buildtools

Reviewed-by: erikj, forax

! make/CompileToolsJdk.gmk
! make/jdk/src/classes/build/tools/cldrconverter/Bundle.java
! make/jdk/src/classes/build/tools/cldrconverter/CLDRConverter.java
! make/jdk/src/classes/build/tools/cldrconverter/PluralsParseHandler.java
! make/jdk/src/classes/build/tools/dtdbuilder/DTDBuilder.java
! make/jdk/src/classes/build/tools/dtdbuilder/DTDInputStream.java
! make/jdk/src/classes/build/tools/generatebreakiteratordata/GenerateBreakIteratorData.java
! make/jdk/src/classes/build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java
! make/jdk/src/classes/build/tools/generatecharacter/CharacterName.java
! make/jdk/src/classes/build/tools/generatecharacter/CharacterScript.java
! make/jdk/src/classes/build/tools/generatecharacter/PrintCharacterRanges.java
! make/jdk/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java
! make/jdk/src/classes/build/tools/jdwpgen/Parse.java
! make/jdk/src/classes/build/tools/tzdb/TzdbZoneRulesProvider.java
! make/jdk/src/classes/build/tools/x11wrappergen/WrapperGenerator.java

Changeset: 90102935
Author:    Magnus Ihse Bursie 
Date:      2020-03-23 10:29:04 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/90102935

8241271: Make hotspot build reproducible

Reviewed-by: erikj, stefank, jwilhelm

! make/autoconf/compare.sh.in
! make/autoconf/hotspot.m4
! make/autoconf/spec.gmk.in
! make/conf/jib-profiles.js
! make/hotspot/lib/CompileJvm.gmk
! make/scripts/compare_exceptions.sh.incl
! src/hotspot/share/runtime/abstract_vm_version.cpp

Changeset: ed28a274
Author:    Kelvin Nilsen 
Committer: Aleksey Shipilev 
Date:      2020-03-23 10:37:44 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/ed28a274

8241068: Shenandoah: improve ShenandoahTraversalGC constructor arguments

Reviewed-by: shade

! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp
! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.hpp

Changeset: b66c6808
Author:    Daniel Fuchs 
Date:      2020-03-23 14:22:18 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b66c6808

8241443: Problem list some java.net tests failing with NoRouteToHostException on macOS with special network configuration

Reviewed-by: alanb

! test/jdk/ProblemList.txt

Changeset: 75a8b7fa
Author:    Mandy Chung 
Date:      2020-03-23 09:05:39 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/75a8b7fa

8240975: Extend NativeLibraries to support explicit unloading

Reviewed-by: alanb, mcimadamore

! src/java.base/share/classes/java/lang/ClassLoader.java
! src/java.base/share/classes/jdk/internal/loader/BootLoader.java
! src/java.base/share/classes/jdk/internal/loader/NativeLibraries.java
! src/java.base/share/classes/jdk/internal/loader/NativeLibrary.java
! src/java.base/share/native/libjava/NativeLibraries.c
+ test/jdk/jdk/internal/loader/NativeLibraries/Main.java
+ test/jdk/jdk/internal/loader/NativeLibraries/java.base/jdk/internal/loader/NativeLibrariesTest.java
+ test/jdk/jdk/internal/loader/NativeLibraries/libnativeLibrariesTest.c
+ test/jdk/jdk/internal/loader/NativeLibraries/p/Test.java

Changeset: 398ce294
Author:    Sandhya Viswanathan 
Date:      2020-03-23 10:26:40 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/398ce294

8240248: Extend superword reduction optimizations for x86

Add support for and, or, xor reduction

Co-authored-by: Shravya Rukmannagari 
Reviewed-by: vlivanov, thartmann

! make/devkit/createJMHBundle.sh
! src/hotspot/cpu/x86/macroAssembler_x86.cpp
! src/hotspot/cpu/x86/macroAssembler_x86.hpp
! src/hotspot/cpu/x86/x86.ad
! src/hotspot/share/adlc/formssel.cpp
! src/hotspot/share/opto/classes.hpp
! src/hotspot/share/opto/compile.cpp
! src/hotspot/share/opto/vectornode.cpp
! src/hotspot/share/opto/vectornode.hpp
! src/hotspot/share/runtime/vmStructs.cpp
+ test/hotspot/jtreg/compiler/loopopts/superword/RedTest_int.java
+ test/hotspot/jtreg/compiler/loopopts/superword/RedTest_long.java
+ test/micro/org/openjdk/bench/vm/compiler/VectorReduction.java

Changeset: edb6783a
Author:    Poonam Bajaj 
Date:      2020-03-23 17:57:13 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/edb6783a

8231779: crash HeapWord*ParallelScavengeHeap::failed_mem_allocate

Reviewed-by: dlong, tschatzl, pliden

! src/hotspot/share/gc/shared/threadLocalAllocBuffer.cpp

Changeset: f37149b1
Author:    Aleksey Shipilev 
Date:      2020-03-23 19:14:01 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/f37149b1

8241351: Shenandoah: fragmentation metrics overhaul

Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp
! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.hpp
! src/hotspot/share/gc/shenandoah/shenandoahMetrics.cpp
! src/hotspot/share/gc/shenandoah/shenandoahMetrics.hpp

Changeset: fe533725
Author:    Aleksey Shipilev 
Date:      2020-03-23 19:14:01 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/fe533725

8241435: Shenandoah: avoid disabling pacing with "aggressive"

Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAggressiveHeuristics.cpp

Changeset: b6783320
Author:    Aleksey Shipilev 
Date:      2020-03-23 19:14:01 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b6783320

8241139: Shenandoah: distribute mark-compact work exactly to minimize fragmentation

Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp
! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.hpp

Changeset: f0ba0dc6
Author:    Jonathan Gibbons 
Date:      2020-03-23 12:48:35 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/f0ba0dc6

8241190: Fix name clash for constants-summary CSS class

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/IndexRedirectWriter.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/markup/HtmlStyle.java
! test/langtools/jdk/javadoc/doclet/JavascriptWinTitle/JavascriptWinTitle.java
! test/langtools/jdk/javadoc/doclet/testMetadata/TestMetadata.java

Changeset: 81353a56
Author:    Ioi Lam 
Date:      2020-03-23 13:27:22 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/81353a56

8241244: CDS dynamic dump asserts in ArchivePtrBitmapCleaner::do_bit

Reviewed-by: minqi, coleenp

! src/hotspot/share/classfile/systemDictionaryShared.cpp

Changeset: 7dc952ec
Author:    Jonathan Gibbons 
Date:      2020-03-23 14:11:52 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/7dc952ec

8241292: Interactive Search results are not highlighted as they used to be

Reviewed-by: prappo

! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/search.js
! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java

Changeset: 23d6a788
Author:    Claes Redestad 
Date:      2020-03-23 23:18:42 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/23d6a788

8241371: Refactor and consolidate package_from_name

Reviewed-by: iklam, lfoltan

! src/hotspot/share/classfile/classFileParser.cpp
! src/hotspot/share/classfile/classLoader.cpp
! src/hotspot/share/classfile/classLoader.hpp
! src/hotspot/share/classfile/klassFactory.cpp
! src/hotspot/share/classfile/systemDictionary.cpp
! src/hotspot/share/classfile/systemDictionaryShared.cpp
! src/hotspot/share/oops/instanceKlass.cpp
! src/hotspot/share/oops/instanceKlass.hpp
! src/hotspot/share/utilities/utf8.cpp
! src/hotspot/share/utilities/utf8.hpp
! test/hotspot/gtest/oops/test_instanceKlass.cpp
! test/hotspot/gtest/runtime/test_classLoader.cpp

Changeset: 32d49650
Author:    Aditya Mandaleeka 
Committer: Aditya Mandaleeka 
Date:      2020-03-24 06:13:39 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/32d49650

8241067: Shenandoah: improve ShenandoahNMethod::has_cset_oops arguments

Reviewed-by: shade

! src/hotspot/share/gc/shenandoah/shenandoahNMethod.cpp

Changeset: 5110de6c
Author:    Andrew Dinn 
Date:      2020-03-19 17:26:11 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/5110de6c

8241144: Javadoc is not generated for new module jdk.nio.mapmode

Jdk.nio.mapmode is not present in DOCS_MODULES defined by Modules.gmk

Reviewed-by: erikj, ihse

! make/common/Modules.gmk

Changeset: d01f6719
Author:    Vladimir Kozlov 
Date:      2020-03-24 09:34:39 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/d01f6719

8237497: vmStructs_jvmci.cpp does not check that the correct field type is specified

Add missed checks for declarations in vmStructs_jvmci.cpp

Reviewed-by: iklam, thartmann

! src/hotspot/share/jvmci/jvmci.cpp
! src/hotspot/share/jvmci/vmStructs_jvmci.cpp
! src/hotspot/share/jvmci/vmStructs_jvmci.hpp
! src/hotspot/share/runtime/init.cpp
! src/hotspot/share/runtime/vmStructs.cpp
! src/hotspot/share/runtime/vmStructs.hpp
! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/GraalHotSpotVMConfig.java

Changeset: ca855006
Author:    Tobias Hartmann 
Date:      2020-03-24 17:39:52 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/ca855006

8240905: assert(mem == (Node*)1 || mem == mem2) failed: multiple Memories being matched at once?

Stop recursion if there are multiple loads with different memory inputs in the tree.

Reviewed-by: kvn, vlivanov

! src/hotspot/share/opto/matcher.cpp
! src/hotspot/share/opto/matcher.hpp
+ test/hotspot/jtreg/compiler/codegen/TestMultiMemInstructionMatching.java

Changeset: b5897fe4
Author:    Daniel D. Daugherty 
Date:      2020-03-24 13:08:54 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b5897fe4

8241532: ProblemList tests from 8241530 on OSX

Reviewed-by: ctornqvi

! test/jdk/ProblemList.txt

Changeset: 40173c50
Author:    Thomas Stuefe 
Date:      2020-03-24 18:41:07 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/40173c50

8241395: Factor out platform independent code for os::xxx_memory_special()

Reviewed-by: mbaesken, mdoerr, lucy

! src/hotspot/os/aix/os_aix.cpp
! src/hotspot/os/bsd/os_bsd.cpp
! src/hotspot/os/linux/os_linux.cpp
! src/hotspot/os/solaris/os_solaris.cpp
! src/hotspot/os/windows/os_windows.cpp
! src/hotspot/share/runtime/os.cpp
! src/hotspot/share/runtime/os.hpp

Changeset: cb1632e8
Author:    Aleksey Shipilev 
Date:      2020-03-24 18:46:48 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/cb1632e8

8241520: Shenandoah: simplify region sequence numbers handling

Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.inline.hpp
! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp

Changeset: 643f5b53
Author:    Aleksey Shipilev 
Date:      2020-03-24 18:46:48 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/643f5b53

8241534: Shenandoah: region status should include update watermark

Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp

Changeset: 6694402d
Author:    Aleksey Shipilev 
Date:      2020-03-24 18:46:48 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/6694402d

8241462: StripNativeDebugSymbols jlink plugin allocates huge arrays

Reviewed-by: alanb, sgehwolf

! src/jdk.jlink/linux/classes/jdk/tools/jlink/internal/plugins/StripNativeDebugSymbolsPlugin.java

Changeset: 7afa57a3
Author:    Aleksey Shipilev 
Date:      2020-03-24 18:46:48 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/7afa57a3

8241445: Fix copyright in test/jdk/tools/launcher/ArgFileSyntax.java

Reviewed-by: psandoz

! src/java.base/share/native/libjli/args.c
! test/jdk/tools/launcher/ArgFileSyntax.java

Changeset: 3059f593
Author:    Aleksey Shipilev 
Date:      2020-03-24 20:18:45 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/3059f593

8241545: Shenandoah: purge root work overwrites counters after JDK-8228818

Reviewed-by: zgu

! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp

Changeset: d7435182
Author:    Tom Rodriguez 
Date:      2020-03-24 13:12:19 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/d7435182

8241458: [JVMCI] add mark value to expose CodeOffsets::Frame_Complete

Reviewed-by: kvn

! src/hotspot/share/jvmci/jvmciCodeInstaller.cpp
! src/hotspot/share/jvmci/jvmciCodeInstaller.hpp
! src/hotspot/share/jvmci/vmStructs_jvmci.cpp

Changeset: 77534229
Author:    Vladimir Ivanov 
Date:      2020-03-25 00:10:22 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/77534229

8241433: x86: Add VBMI CPU feature detection

Reviewed-by: kvn

! src/hotspot/cpu/x86/vmStructs_x86.hpp
! src/hotspot/cpu/x86/vm_version_x86.cpp
! src/hotspot/cpu/x86/vm_version_x86.hpp
! src/hotspot/share/jvmci/vmStructs_jvmci.cpp

Changeset: 27ef185b
Author:    Aleksey Shipilev 
Date:      2020-03-25 07:58:17 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/27ef185b

8241500: FieldLayout/OldLayoutCheck.java fails in 32-bit VMs

Reviewed-by: fparain, dholmes

! test/hotspot/jtreg/runtime/FieldLayout/OldLayoutCheck.java

Changeset: 9a6038fb
Author:    Claes Redestad 
Date:      2020-03-25 13:38:31 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/9a6038fb

8241584: Remove unused classLoader perf counters

Reviewed-by: hseigel

! src/hotspot/share/classfile/classLoader.cpp
! src/hotspot/share/classfile/classLoader.hpp

Changeset: c01e986c
Author:    Christian Hagedorn 
Date:      2020-03-25 14:41:52 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/c01e986c

8237859: C2: Crash when loads float above range check

Fix control edges of predicates to data nodes when creating pre/main/post loops.

Reviewed-by: neliasso, thartmann, roland

! src/hotspot/share/opto/loopPredicate.cpp
! src/hotspot/share/opto/loopTransform.cpp
! src/hotspot/share/opto/loopnode.hpp
+ test/hotspot/jtreg/compiler/loopopts/TestRangeCheckPredicatesControl.java

Changeset: d1b50659
Author:    Ivan Gerasimov 
Date:      2020-03-25 08:46:31 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/d1b50659

8237599: Greedy matching against supplementary chars fails to respect the region

Reviewed-by: rriggs

! src/java.base/share/classes/java/util/regex/Pattern.java
! test/jdk/java/util/regex/RegExTest.java

Changeset: 7fc31ead
Author:    Aleksey Shipilev 
Date:      2020-03-25 17:20:58 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/7fc31ead

8241583: Shenandoah: turn heap lock asserts into macros

Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp
! src/hotspot/share/gc/shenandoah/shenandoahAsserts.hpp
! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp
! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.inline.hpp
! src/hotspot/share/gc/shenandoah/shenandoahLock.hpp

Changeset: b8f2b326
Author:    Naoto Sato 
Date:      2020-03-25 09:21:46 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b8f2b326

8241311: Move some charset mapping tests from closed to open

Reviewed-by: iris, joehw, itakiguchi, amlu

! test/jdk/sun/nio/cs/TestCharsetMapping.java
+ test/jdk/sun/nio/cs/mapping/Big5.b2c
= test/jdk/sun/nio/cs/mapping/Big5.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Big5_HKSCS.b2c
+ test/jdk/sun/nio/cs/mapping/Big5_HKSCS.b2c-irreversible
= test/jdk/sun/nio/cs/mapping/Big5_HKSCS.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Big5_HKSCS_2001.b2c
+ test/jdk/sun/nio/cs/mapping/Big5_HKSCS_2001.c2b-irreversible
= test/jdk/sun/nio/cs/mapping/Big5_Solaris.b2c
+ test/jdk/sun/nio/cs/mapping/CoderTest.java
+ test/jdk/sun/nio/cs/mapping/ConverterTest.java
+ test/jdk/sun/nio/cs/mapping/Cp037.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1006.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1025.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1026.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1046.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1047.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1097.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1098.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1112.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1122.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1123.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1124.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1250.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1251.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1252.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1253.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1254.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1255.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1256.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1257.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1258.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1364.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1364.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp1381.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1381.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp1383.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1383.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp273.b2c
+ test/jdk/sun/nio/cs/mapping/Cp277.b2c
+ test/jdk/sun/nio/cs/mapping/Cp278.b2c
+ test/jdk/sun/nio/cs/mapping/Cp280.b2c
+ test/jdk/sun/nio/cs/mapping/Cp284.b2c
+ test/jdk/sun/nio/cs/mapping/Cp285.b2c
+ test/jdk/sun/nio/cs/mapping/Cp290.b2c
+ test/jdk/sun/nio/cs/mapping/Cp290.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp297.b2c
+ test/jdk/sun/nio/cs/mapping/Cp300.b2c
= test/jdk/sun/nio/cs/mapping/Cp300.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp33722.b2c
+ test/jdk/sun/nio/cs/mapping/Cp420.b2c
+ test/jdk/sun/nio/cs/mapping/Cp420.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp420.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp424.b2c
+ test/jdk/sun/nio/cs/mapping/Cp437.b2c
+ test/jdk/sun/nio/cs/mapping/Cp500.b2c
+ test/jdk/sun/nio/cs/mapping/Cp737.b2c
+ test/jdk/sun/nio/cs/mapping/Cp775.b2c
+ test/jdk/sun/nio/cs/mapping/Cp833.b2c
+ test/jdk/sun/nio/cs/mapping/Cp833.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp834.b2c
+ test/jdk/sun/nio/cs/mapping/Cp834.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp838.b2c
+ test/jdk/sun/nio/cs/mapping/Cp850.b2c
+ test/jdk/sun/nio/cs/mapping/Cp852.b2c
+ test/jdk/sun/nio/cs/mapping/Cp855.b2c
+ test/jdk/sun/nio/cs/mapping/Cp856.b2c
+ test/jdk/sun/nio/cs/mapping/Cp857.b2c
+ test/jdk/sun/nio/cs/mapping/Cp860.b2c
+ test/jdk/sun/nio/cs/mapping/Cp861.b2c
+ test/jdk/sun/nio/cs/mapping/Cp862.b2c
+ test/jdk/sun/nio/cs/mapping/Cp863.b2c
+ test/jdk/sun/nio/cs/mapping/Cp864.b2c
+ test/jdk/sun/nio/cs/mapping/Cp865.b2c
+ test/jdk/sun/nio/cs/mapping/Cp866.b2c
+ test/jdk/sun/nio/cs/mapping/Cp868.b2c
+ test/jdk/sun/nio/cs/mapping/Cp869.b2c
+ test/jdk/sun/nio/cs/mapping/Cp870.b2c
+ test/jdk/sun/nio/cs/mapping/Cp871.b2c
+ test/jdk/sun/nio/cs/mapping/Cp874.b2c
+ test/jdk/sun/nio/cs/mapping/Cp874.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp875.b2c
+ test/jdk/sun/nio/cs/mapping/Cp918.b2c
+ test/jdk/sun/nio/cs/mapping/Cp921.b2c
+ test/jdk/sun/nio/cs/mapping/Cp922.b2c
+ test/jdk/sun/nio/cs/mapping/Cp930.b2c
+ test/jdk/sun/nio/cs/mapping/Cp933.b2c
+ test/jdk/sun/nio/cs/mapping/Cp935.b2c
+ test/jdk/sun/nio/cs/mapping/Cp937.b2c
+ test/jdk/sun/nio/cs/mapping/Cp937.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp939.b2c
+ test/jdk/sun/nio/cs/mapping/Cp942.b2c
+ test/jdk/sun/nio/cs/mapping/Cp943.b2c
+ test/jdk/sun/nio/cs/mapping/Cp948.b2c
+ test/jdk/sun/nio/cs/mapping/Cp948.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp948.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp949.b2c
+ test/jdk/sun/nio/cs/mapping/Cp950.b2c
+ test/jdk/sun/nio/cs/mapping/Cp950.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp950.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp964.b2c
+ test/jdk/sun/nio/cs/mapping/Cp964.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp970.b2c
+ test/jdk/sun/nio/cs/mapping/Cp970.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/EUC_CN.b2c
+ test/jdk/sun/nio/cs/mapping/EUC_JP.b2c
+ test/jdk/sun/nio/cs/mapping/EUC_JP_LINUX.b2c
+ test/jdk/sun/nio/cs/mapping/EUC_JP_Solaris.b2c
+ test/jdk/sun/nio/cs/mapping/EUC_KR.b2c
+ test/jdk/sun/nio/cs/mapping/EUC_TW.b2c
+ test/jdk/sun/nio/cs/mapping/GB18030.b2c
+ test/jdk/sun/nio/cs/mapping/GBK.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_11.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_2.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_3.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_4.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_5.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_6.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_7.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_8.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_9.b2c
+ test/jdk/sun/nio/cs/mapping/JIS0201.b2c.private
+ test/jdk/sun/nio/cs/mapping/JIS0208.b2c.private
+ test/jdk/sun/nio/cs/mapping/JIS0212.b2c.private
+ test/jdk/sun/nio/cs/mapping/Johab.b2c
+ test/jdk/sun/nio/cs/mapping/KOI8_R.b2c
+ test/jdk/sun/nio/cs/mapping/KOI8_U.b2c
+ test/jdk/sun/nio/cs/mapping/MS50221_0208.b2c
+ test/jdk/sun/nio/cs/mapping/MS50221_0212.b2c
+ test/jdk/sun/nio/cs/mapping/MS874.b2c
+ test/jdk/sun/nio/cs/mapping/MS932.b2c.private
+ test/jdk/sun/nio/cs/mapping/MS932DB.b2c.private
+ test/jdk/sun/nio/cs/mapping/MS932DB.c2b.private
+ test/jdk/sun/nio/cs/mapping/MS932_0208.b2c
+ test/jdk/sun/nio/cs/mapping/MS936.b2c
+ test/jdk/sun/nio/cs/mapping/MS949.b2c
+ test/jdk/sun/nio/cs/mapping/MS950.b2c
+ test/jdk/sun/nio/cs/mapping/MS950.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/MS950.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/MS950_HKSCS.b2c
+ test/jdk/sun/nio/cs/mapping/MS950_HKSCS.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/MS950_HKSCS_XP.b2c
+ test/jdk/sun/nio/cs/mapping/MSCP932.b2c.abigail
+ test/jdk/sun/nio/cs/mapping/MacArabic.b2c
+ test/jdk/sun/nio/cs/mapping/MacCentralEurope.b2c
+ test/jdk/sun/nio/cs/mapping/MacCroatian.b2c
+ test/jdk/sun/nio/cs/mapping/MacCyrillic.b2c
+ test/jdk/sun/nio/cs/mapping/MacDingbat.b2c
+ test/jdk/sun/nio/cs/mapping/MacGreek.b2c
+ test/jdk/sun/nio/cs/mapping/MacHebrew.b2c
+ test/jdk/sun/nio/cs/mapping/MacIceland.b2c
+ test/jdk/sun/nio/cs/mapping/MacRoman.b2c
+ test/jdk/sun/nio/cs/mapping/MacRomania.b2c
+ test/jdk/sun/nio/cs/mapping/MacSymbol.b2c
+ test/jdk/sun/nio/cs/mapping/MacThai.b2c
+ test/jdk/sun/nio/cs/mapping/MacTurkish.b2c
+ test/jdk/sun/nio/cs/mapping/MacUkraine.b2c
+ test/jdk/sun/nio/cs/mapping/PCK.b2c
+ test/jdk/sun/nio/cs/mapping/PCK.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/SJIS.b2c
+ test/jdk/sun/nio/cs/mapping/SJIS_0213.b2c
+ test/jdk/sun/nio/cs/mapping/TIS620.b2c
+ test/jdk/sun/nio/cs/mapping/TestConv.java
+ test/jdk/sun/nio/cs/mapping/TestFmwk.java
+ test/jdk/sun/nio/cs/mapping/untested/X11SunUnicode_0.b2c
+ test/jdk/sun/nio/cs/mapping/untested/gb18030_0.b2c
+ test/jdk/sun/nio/cs/mapping/untested/gb18030_1.b2c

Changeset: b0245c2b
Author:    Anthony Scarpino 
Date:      2020-03-25 12:41:14 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b0245c2b

8237219: Disable native SunEC implementation by default

Reviewed-by: weijun, mullan

! src/java.base/share/classes/module-info.java
! src/jdk.crypto.ec/share/classes/sun/security/ec/ECDHKeyAgreement.java
! src/jdk.crypto.ec/share/classes/sun/security/ec/ECDSASignature.java
! src/jdk.crypto.ec/share/classes/sun/security/ec/ECKeyPairGenerator.java
! src/jdk.crypto.ec/share/classes/sun/security/ec/SunEC.java
! test/jdk/java/security/KeyAgreement/KeyAgreementTest.java
! test/jdk/java/security/KeyAgreement/KeySizeTest.java
! test/jdk/jdk/security/jarsigner/Spec.java
! test/jdk/sun/security/ec/ECDSAJavaVerify.java
! test/jdk/sun/security/ec/InvalidCurve.java
! test/jdk/sun/security/ec/SignatureDigestTruncate.java
! test/jdk/sun/security/ec/TestEC.java
! test/jdk/sun/security/pkcs11/ec/ReadPKCS12.java
! test/jdk/sun/security/tools/keytool/GroupName.java
! test/jdk/sun/security/tools/keytool/KeyAlg.java
! test/jdk/sun/security/tools/keytool/fakegen/DefaultSignatureAlgorithm.java

Changeset: ffe5e846
Author:    Jonathan Gibbons 
Date:      2020-03-25 15:03:39 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/ffe5e846

8241544: update stylesheet for *-page CSS class rename and hyphenated naming

Reviewed-by: prappo, hannesw

! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css
! test/langtools/jdk/javadoc/doclet/testStylesheet/TestStylesheet.java

Changeset: 60fae779
Author:    John Jiang 
Date:      2020-03-26 07:09:36 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/60fae779

8237977: Further update javax/net/ssl/compatibility/Compatibility.java

Reviewed-by: rhalade

! test/jdk/javax/net/ssl/TLSCommon/CipherSuite.java
! test/jdk/javax/net/ssl/compatibility/Cert.java
! test/jdk/javax/net/ssl/compatibility/Compatibility.java
! test/jdk/javax/net/ssl/compatibility/JdkInfo.java
! test/jdk/javax/net/ssl/compatibility/JdkUtils.java
! test/jdk/javax/net/ssl/compatibility/Server.java
! test/jdk/javax/net/ssl/compatibility/TestCase.java
! test/jdk/javax/net/ssl/compatibility/UseCase.java
! test/jdk/javax/net/ssl/compatibility/Utils.java

Changeset: 0d22ad64
Author:    Claes Redestad 
Date:      2020-03-26 00:02:08 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/0d22ad64

8241427: Coarsen locking in Modules::add_module_exports

Reviewed-by: lfoltan, hseigel

! src/hotspot/share/classfile/modules.cpp
! src/hotspot/share/classfile/modules.hpp
! src/hotspot/share/classfile/packageEntry.cpp
! src/hotspot/share/classfile/systemDictionary.cpp
! test/hotspot/jtreg/runtime/modules/AccessCheckAllUnnamed.java
! test/hotspot/jtreg/runtime/modules/JVMAddModuleExportsToAll.java

Changeset: c659b637
Author:    Pengfei Li 
Date:      2020-03-26 10:10:37 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/c659b637

8241482: AArch64: Fix a potential issue after JDK-8239549

Reviewed-by: aph

! src/hotspot/cpu/aarch64/aarch64.ad

Changeset: 913a0ff0
Author:    Jie He 
Committer: Yang Zhang 
Date:      2020-03-26 14:46:50 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/913a0ff0

8241419: Remove unused InterfaceSupport::_number_of_calls

Reviewed-by: dholmes

! src/hotspot/share/runtime/interfaceSupport.cpp
! src/hotspot/share/runtime/interfaceSupport.inline.hpp

Changeset: c4f25e51
Author:    Matthias Baesken 
Date:      2020-03-24 15:26:10 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/c4f25e51

8241491: Problem list jdk/javax/swing/UIDefaults/8146330/UIDefaultKeySizeTest.java on aix

Reviewed-by: clanger

! test/jdk/ProblemList.txt

Changeset: eb003a73
Author:    Roland Westrelin 
Date:      2020-03-20 13:56:12 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/eb003a73

8240335: C2: assert(found_sfpt) failed: no node in loop that's not input to safepoint

Reviewed-by: kvn, thartmann

! src/hotspot/share/opto/cfgnode.cpp
! src/hotspot/share/opto/cfgnode.hpp
+ test/hotspot/jtreg/compiler/loopstripmining/TestCastIIAfterUnrollingInOuterLoop.java

Changeset: b8f8dea9
Author:    Roland Westrelin 
Date:      2020-03-20 13:58:05 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b8f8dea9

8241365: Define Unique_Node_List::contains() to prevent usage by mistake

Reviewed-by: kvn, thartmann

! src/hotspot/share/opto/node.hpp

Changeset: b35032dc
Author:    Sergei Tsypanov 
Committer: Claes Redestad 
Date:      2020-03-26 10:02:57 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b35032dc

8241649: Optimize Character.toString

Reviewed-by: redestad, rriggs

! src/java.base/share/classes/java/lang/Character.java

Changeset: f930d466
Author:    Jesper Wilhelmsson 
Date:      2020-03-26 03:15:02 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/f930d466

Added tag jdk-15+16 for changeset 5c7ec21f5d13

! .hgtags

Changeset: d882d528
Author:    Julia Boes 
Date:      2020-03-26 11:52:15 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/d882d528

8235459: HttpRequest.BodyPublishers::ofFile assumes the default file system

Add support for non-default file systems to HttpRequest.BodyPublishers::ofFile

Reviewed-by: chegar, dfuchs, amlu

! src/java.net.http/share/classes/java/net/http/HttpRequest.java
! src/java.net.http/share/classes/jdk/internal/net/http/RequestPublishers.java
+ test/jdk/java/net/httpclient/FilePublisher/FilePublisherPermsTest.java
+ test/jdk/java/net/httpclient/FilePublisher/FilePublisherPermsTest1.policy
+ test/jdk/java/net/httpclient/FilePublisher/FilePublisherPermsTest2.policy
+ test/jdk/java/net/httpclient/FilePublisher/FilePublisherPermsTest3.policy
+ test/jdk/java/net/httpclient/FilePublisher/FilePublisherTest.java
+ test/jdk/java/net/httpclient/FilePublisher/FilePublisherTest.policy
+ test/jdk/java/net/httpclient/FilePublisher/SecureZipFSProvider.java

Changeset: 307b376a
Author:    Christian Hagedorn 
Date:      2020-03-26 13:43:51 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/307b376a

8241595: Fix missing debug_orig information in Ideal Graph Visualizer

Show missing debug_orig information for nodes in Ideal Graph Visualizer.

Reviewed-by: kvn, neliasso

! src/hotspot/share/opto/idealGraphPrinter.cpp
! src/hotspot/share/opto/node.cpp
! src/hotspot/share/opto/node.hpp

Changeset: d77c52b2
Author:    Coleen Phillimore 
Date:      2020-03-26 10:29:31 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/d77c52b2

8172485: [TESTBUG] RedefineLeak.java runs out of metaspace memory

Check for zero exit value.

Reviewed-by: lfoltan

! test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/RedefineLeak.java

Changeset: eb7c80a3
Author:    Julia Boes 
Date:      2020-03-26 14:58:53 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/eb7c80a3

8241674: Fix incorrect jtreg option in FilePublisherPermsTest

Replace jtreg option 'policy' with 'java.security.policy' to extend rather than replace policy

Reviewed-by: chegar, dfuchs

! test/jdk/java/net/httpclient/FilePublisher/FilePublisherPermsTest.java

Changeset: e11ab6a4
Author:    Per Lid?n 
Date:      2020-03-26 16:56:42 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/e11ab6a4

8241596: ZGC: Shorten runtime of gc/z/TestUncommit.java

Reviewed-by: tschatzl, sjohanss

! test/hotspot/jtreg/gc/z/TestUncommit.java

Changeset: 54e2c6fe
Author:    Daniil Titov 
Date:      2020-03-26 09:03:52 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/54e2c6fe

8196751: Add jhsdb option to specify debug server RMI connector port

Reviewed-by: sspitsyn, ysuenaga

! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/HotSpotAgent.java
! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/SALauncher.java
! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/remote/RemoteDebuggerServer.java
! test/hotspot/jtreg/serviceability/sa/sadebugd/SADebugDTest.java
! test/lib/jdk/test/lib/Utils.java

Changeset: 098b48b7
Author:    Mikhailo Seledtsov 
Date:      2020-03-26 10:03:35 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/098b48b7

8240634: event/runtime/TestMetaspaceAllocationFailure.java times out

Limit number of iterations

Reviewed-by: egahlin, stuefe

! test/jdk/jdk/jfr/event/runtime/TestMetaspaceAllocationFailure.java

Changeset: e509368f
Author:    Calvin Cheung 
Date:      2020-03-26 10:14:52 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/e509368f

8233093: Move CDS heap oopmaps into new MetaspaceShared::bm region

Moved the _closed_archive_heap_oopmaps and _open_archive_heap_oopmaps from the ro to the bm region.

Reviewed-by: iklam, minqi

! src/hotspot/share/memory/dynamicArchive.cpp
! src/hotspot/share/memory/filemap.cpp
! src/hotspot/share/memory/filemap.hpp
! src/hotspot/share/memory/metaspaceShared.cpp
! src/hotspot/share/memory/metaspaceShared.hpp

Changeset: 8c5531b6
Author:    Aleksey Shipilev 
Date:      2020-03-26 19:08:30 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/8c5531b6

8241668: Shenandoah: make ShenandoahHeapRegion not derive from ContiguousSpace

Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp
! src/hotspot/share/gc/shenandoah/vmStructs_shenandoah.hpp
! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shenandoah/ShenandoahHeapRegion.java

Changeset: 6be46f8e
Author:    Aleksey Shipilev 
Date:      2020-03-26 19:09:20 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/6be46f8e

8241673: Shenandoah: refactor anti-false-sharing padding

Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.hpp
! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.hpp
! src/hotspot/share/gc/shenandoah/shenandoahControlThread.hpp
! src/hotspot/share/gc/shenandoah/shenandoahEvacOOMHandler.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegionSet.hpp
! src/hotspot/share/gc/shenandoah/shenandoahLock.hpp
! src/hotspot/share/gc/shenandoah/shenandoahNMethod.hpp
! src/hotspot/share/gc/shenandoah/shenandoahPacer.hpp
+ src/hotspot/share/gc/shenandoah/shenandoahPadding.hpp
! src/hotspot/share/gc/shenandoah/shenandoahSharedVariables.hpp
! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.hpp

Changeset: ebdb70fe
Author:    Ekaterina Pavlova 
Date:      2020-03-26 14:24:53 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/ebdb70fe

8236975: compiler/graalunit tests fails with --illegal-access=deny

Reviewed-by: iignatyev, kvn, alanb

! test/hotspot/jtreg/compiler/graalunit/CoreTest.java
! test/hotspot/jtreg/compiler/graalunit/GraphTest.java
! test/hotspot/jtreg/compiler/graalunit/HotspotJdk9Test.java
! test/hotspot/jtreg/compiler/graalunit/HotspotSparcTest.java
! test/hotspot/jtreg/compiler/graalunit/ReplacementsTest.java
! test/hotspot/jtreg/compiler/graalunit/TestPackages.txt
! test/hotspot/jtreg/compiler/graalunit/common/GraalUnitTestLauncher.java
! test/hotspot/jtreg/compiler/graalunit/generateTests.sh

Changeset: 5f1636b2
Author:    Chris Plummer 
Date:      2020-03-26 15:13:21 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/5f1636b2

8241696: ProblemList gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java due to JDK-8241293

Reviewed-by: dcubed, ctornqvi

! test/hotspot/jtreg/ProblemList.txt

Changeset: 87805d92
Author:    Jonathan Gibbons 
Date:      2020-03-26 20:36:56 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/87805d92

8241470: HtmlStyle: group and document members: description, flex, signature

Reviewed-by: hannesw

! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.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/testIndentation/TestIndentation.java
! test/langtools/jdk/javadoc/doclet/testJavaFX/TestJavaFX.java
! test/langtools/jdk/javadoc/doclet/testMemberInheritance/TestMemberInheritance.java
! test/langtools/jdk/javadoc/doclet/testMethodSignature/TestMethodSignature.java
! test/langtools/jdk/javadoc/doclet/testNewLanguageFeatures/TestNewLanguageFeatures.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

Changeset: 2bc4308d
Author:    Vipin M V 
Committer: Vyom Tewari 
Date:      2020-03-27 11:34:45 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/2bc4308d

8129841: Update comment for Java_java_net_Inet6AddressImpl_getHostByAddr

Update comment for Java_java_net_Inet6AddressImpl_getHostByAddr

Reviewed-by: vtewari, alanb

! src/java.base/unix/native/libnet/Inet4AddressImpl.c
! src/java.base/unix/native/libnet/Inet6AddressImpl.c
! src/java.base/windows/native/libnet/Inet4AddressImpl.c
! src/java.base/windows/native/libnet/Inet6AddressImpl.c

Changeset: cc8715d8
Author:    Thomas Stuefe 
Date:      2020-03-27 07:16:22 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/cc8715d8

8241581: Add BitMap::count_one_bits variant for arbitrary lengths

Reviewed-by: redestad, kbarrett

! src/hotspot/share/utilities/bitMap.cpp
! src/hotspot/share/utilities/bitMap.hpp
+ test/hotspot/gtest/utilities/test_bitMap_popcnt.cpp

Changeset: 83f7ee14
Author:    Thomas Stuefe 
Date:      2020-03-27 08:45:59 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/83f7ee14

8241723: Build error after 8241581

Reviewed-by: kbarrett, clanger

- test/hotspot/gtest/utilities/test_bitMap_popcnt.cpp

Changeset: 67cf35ee
Author:    Yasumasa Suenaga 
Date:      2020-03-27 17:07:23 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/67cf35ee

8240956: SEGV in DwarfParser::process_dwarf after JDK-8234624

Reviewed-by: sspitsyn, kevinw

! src/jdk.hotspot.agent/linux/native/libsaproc/dwarf.cpp
! src/jdk.hotspot.agent/linux/native/libsaproc/libproc_impl.c
! src/jdk.hotspot.agent/linux/native/libsaproc/libproc_impl.h
! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64CFrame.java
! test/hotspot/jtreg/ProblemList.txt

Changeset: 7048684c
Author:    Thomas Schatzl 
Date:      2020-03-27 09:44:53 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/7048684c

8238855: Move G1ConcurrentMark flag sanity checks to g1Arguments

Reviewed-by: sjohanss, kbarrett

! src/hotspot/share/gc/g1/g1Arguments.cpp
! src/hotspot/share/gc/g1/g1Arguments.hpp
! 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/shared/gc_globals.hpp
! src/hotspot/share/gc/shared/jvmFlagConstraintsGC.cpp
+ test/hotspot/jtreg/gc/g1/TestMarkStackSizes.java

Changeset: 5ff2d7ba
Author:    Roland Westrelin 
Date:      2020-03-24 11:06:26 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/5ff2d7ba

8240676: Meet not symmetric failure when running lucene on jdk8

Reviewed-by: kvn, thartmann

! src/hotspot/share/opto/compile.cpp
! src/hotspot/share/opto/compile.hpp
! src/hotspot/share/opto/type.cpp
! src/hotspot/share/opto/type.hpp
+ test/hotspot/jtreg/compiler/types/TestArrayMeetNotSymmetrical.java

Changeset: 85d5048c
Author:    Roland Westrelin 
Date:      2020-03-24 10:31:37 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/85d5048c

8241675: Shenandoah: assert(n->outcnt() > 0) at shenandoahSupport.cpp:2858 with java/util/Collections/FindSubList.java

Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp

Changeset: c9f5004b
Author:    Matthias Baesken 
Date:      2020-03-25 13:05:42 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/c9f5004b

8241586: compiler/cpuflags/TestAESIntrinsicsOnUnsupportedConfig.java fails on aarch64

Reviewed-by: clanger

! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp

Changeset: 1dd60a35
Author:    Roman Kennke 
Date:      2020-01-22 15:55:02 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/1dd60a35

8227269: Slow class loading when running with JDWP

Reviewed-by: sspitsyn, cjplummer

! src/jdk.jdwp.agent/share/native/libjdwp/classTrack.c
! src/jdk.jdwp.agent/share/native/libjdwp/classTrack.h
! src/jdk.jdwp.agent/share/native/libjdwp/eventHandler.c
! src/jdk.jdwp.agent/share/native/libjdwp/util.c
! src/jdk.jdwp.agent/share/native/libjdwp/util.h

Changeset: f53ee4ba
Author:    duke 
Date:      2020-03-27 11:01:38 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/f53ee4ba

Automatic merge of jdk:master into master


Changeset: e993b208
Author:    duke 
Date:      2020-03-27 11:01:59 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/e993b208

Automatic merge of master into foreign-memaccess

! src/java.base/share/classes/module-info.java
! src/java.base/share/classes/module-info.java


From duke at openjdk.java.net  Fri Mar 27 11:38:05 2020
From: duke at openjdk.java.net (duke)
Date: Fri, 27 Mar 2020 11:38:05 GMT
Subject: git: openjdk/panama-foreign: foreign-jextract: 114 new changesets
Message-ID: 

Changeset: 78d35f14
Author:    Christoph Langer 
Date:      2020-03-02 21:04:48 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/78d35f14

8239149: Cleanups in SunFontManager.java and TrueTypeFont.java

Reviewed-by: prr

! src/java.desktop/share/classes/sun/font/SunFontManager.java
! src/java.desktop/share/classes/sun/font/TrueTypeFont.java

Changeset: 70e2c013
Author:    Sergey Bylokhov 
Date:      2020-03-02 23:35:50 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/70e2c013

8235153: [TESTBUG] [macos 10.15] java/awt/Graphics/DrawImageBG/SystemBgColorTest.java fails

Reviewed-by: aivanov

! test/jdk/java/awt/Graphics/DrawImageBG/SystemBgColorTest.java

Changeset: 9d0a4875
Author:    Sergey Bylokhov 
Date:      2020-03-03 03:46:11 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/9d0a4875

8238936: The crash in XRobotPeer when the custom GraphicsDevice is used

Reviewed-by: kizune

! src/java.desktop/macosx/classes/sun/lwawt/macosx/CRobot.java
! src/java.desktop/macosx/classes/sun/lwawt/macosx/LWCToolkit.java
! src/java.desktop/share/classes/java/awt/Robot.java
! src/java.desktop/share/classes/sun/awt/ComponentFactory.java
! src/java.desktop/unix/classes/sun/awt/X11/XRobotPeer.java
! src/java.desktop/unix/classes/sun/awt/X11/XToolkit.java
! src/java.desktop/windows/classes/sun/awt/windows/WRobotPeer.java
! src/java.desktop/windows/classes/sun/awt/windows/WToolkit.java
+ test/jdk/java/awt/Robot/CreateRobotCustomGC/CreateRobotCustomGC.java

Changeset: 6b455049
Author:    Prasanta Sadhukhan 
Date:      2020-03-03 14:45:47 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/6b455049

Merge


Changeset: c2867d65
Author:    Pankaj Bansal 
Date:      2020-03-03 17:37:04 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/c2867d65

8204161: [TESTBUG] auto failed with the "Applet thread threw exception: java.lang.UnsupportedOperationException" exception

Reviewed-by: serb

- test/jdk/java/awt/TrayIcon/AddPopupAfterShowTest/AddPopupAfterShowTest.html
! test/jdk/java/awt/TrayIcon/AddPopupAfterShowTest/AddPopupAfterShowTest.java
+ test/jdk/java/awt/TrayIcon/MiddleButtonEventTest/MiddleButtonEventTest.java

Changeset: 23def435
Author:    Pankaj Bansal 
Date:      2020-03-03 17:49:58 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/23def435

8239902: Remove direct usage of JSlider, JProgressBar classes in CAccessible class

Reviewed-by: serb

! src/java.desktop/macosx/classes/sun/lwawt/macosx/CAccessible.java

Changeset: e70ee3dc
Author:    Pankaj Bansal 
Date:      2020-03-03 18:26:57 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/e70ee3dc

8231042: [macos] JFileChooser creates new folder on ESC

Reviewed-by: serb, psadhukhan

! src/java.desktop/macosx/classes/com/apple/laf/AquaFileChooserUI.java
+ test/jdk/javax/swing/JFileChooser/TestJFileChooserNewFolderAction.java

Changeset: bce81496
Author:    Sergey Bylokhov 
Date:      2020-03-06 14:41:35 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/bce81496

8219578: No associated icon for the leaf node of JTree

Reviewed-by: prr, jdv

! src/java.desktop/share/classes/module-info.java

Changeset: 315635ea
Author:    Alexander Zuev 
Date:      2020-03-09 00:18:23 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/315635ea

8176040: Documentation of java.awt.Rectangle.add(java.awt.Point) is wrong

Reviewed-by: serb, prr

! src/java.desktop/share/classes/java/awt/Rectangle.java

Changeset: 15a838d3
Author:    Toshio Nakamura 
Date:      2020-03-09 15:07:11 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/15a838d3

8240518: Incorrect JNU_ReleaseStringPlatformChars in Windows Print

Reviewed-by: serb, pbansal, psadhukhan

! src/java.desktop/windows/native/libawt/windows/WPrinterJob.cpp
! src/java.desktop/windows/native/libawt/windows/awt_PrintControl.cpp

Changeset: bd78beae
Author:    Jayathirth D V 
Date:      2020-03-10 16:07:58 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/bd78beae

6532025: GIF reader throws misleading exception with truncated images

Reviewed-by: prr, bpb

! src/java.desktop/share/classes/com/sun/imageio/plugins/gif/GIFImageReader.java
+ test/jdk/javax/imageio/plugins/gif/TruncatedGIFTest.java

Changeset: 40f6d697
Author:    Sergey Bylokhov 
Date:      2020-03-10 11:30:33 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/40f6d697

8233573: Toolkit.getScreenInsets(GraphicsConfiguration) may throw ClassCastException

Reviewed-by: prr, jdv

! src/java.desktop/macosx/classes/sun/lwawt/macosx/LWCToolkit.java
! src/java.desktop/unix/classes/sun/awt/X11/XToolkit.java
! src/java.desktop/windows/classes/sun/awt/windows/WToolkit.java
+ test/jdk/java/awt/Toolkit/GetScreenInsetsCustomGC/GetScreenInsetsCustomGC.java

Changeset: f3ef9726
Author:    Sergey Bylokhov 
Date:      2020-03-10 13:58:46 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/f3ef9726

8040630: Popup menus and tooltips flicker with previous popup contents when first shown

Reviewed-by: kizune, pbansal

! src/java.desktop/share/classes/javax/swing/Popup.java

Changeset: afe70e69
Author:    Marc Hoffmann 
Committer: Sergey Bylokhov 
Date:      2020-03-12 03:26:04 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/afe70e69

8237746: Fixing compiler warnings in src/demo/share/jfc

Reviewed-by: kizune, aivanov

! src/demo/share/jfc/FileChooserDemo/FileChooserDemo.java
! src/demo/share/jfc/Font2DTest/Font2DTest.java
- src/demo/share/jfc/Font2DTest/Font2DTestApplet.java
! src/demo/share/jfc/Font2DTest/FontPanel.java
! src/demo/share/jfc/Font2DTest/RangeMenu.java
! src/demo/share/jfc/J2Ddemo/java2d/DemoPanel.java
! src/demo/share/jfc/J2Ddemo/java2d/GlobalControls.java
! src/demo/share/jfc/J2Ddemo/java2d/Tools.java
! src/demo/share/jfc/J2Ddemo/java2d/demos/Clipping/Areas.java
! src/demo/share/jfc/J2Ddemo/java2d/demos/Fonts/Tree.java
! src/demo/share/jfc/J2Ddemo/java2d/demos/Images/ImageOps.java
! src/demo/share/jfc/J2Ddemo/java2d/demos/Mix/Balls.java
! src/demo/share/jfc/J2Ddemo/java2d/demos/Mix/BezierScroller.java
! src/demo/share/jfc/J2Ddemo/java2d/demos/Paint/GradAnim.java
! src/demo/share/jfc/J2Ddemo/java2d/demos/Paint/TextureAnim.java
! src/demo/share/jfc/Metalworks/MetalworksPrefs.java
! src/demo/share/jfc/Notepad/ElementTreePanel.java
! src/demo/share/jfc/Stylepad/Stylepad.java
! src/demo/share/jfc/SwingSet2/ButtonDemo.java
! src/demo/share/jfc/SwingSet2/ColorChooserDemo.java
! src/demo/share/jfc/SwingSet2/ComboBoxDemo.java
! src/demo/share/jfc/SwingSet2/DemoModule.java
! src/demo/share/jfc/SwingSet2/DirectionPanel.java
! src/demo/share/jfc/SwingSet2/ExampleFileView.java
! src/demo/share/jfc/SwingSet2/FileChooserDemo.java
! src/demo/share/jfc/SwingSet2/InternalFrameDemo.java
! src/demo/share/jfc/SwingSet2/LayoutControlPanel.java
! src/demo/share/jfc/SwingSet2/ListDemo.java
! src/demo/share/jfc/SwingSet2/OptionPaneDemo.java
! src/demo/share/jfc/SwingSet2/SliderDemo.java
! src/demo/share/jfc/SwingSet2/SplitPaneDemo.java
! src/demo/share/jfc/SwingSet2/SwingSet2.java
- src/demo/share/jfc/SwingSet2/SwingSet2Applet.java
! src/demo/share/jfc/SwingSet2/TableDemo.java
! src/demo/share/jfc/TableExample/JDBCAdapter.java
! src/demo/share/jfc/TableExample/OldJTable.java
! src/demo/share/jfc/TableExample/TableExample3.java
! src/demo/share/jfc/TableExample/TableExample4.java
! src/demo/share/jfc/TableExample/TableMap.java
! src/demo/share/jfc/TableExample/TableSorter.java

Changeset: 4f1fabd8
Author:    Sergey Bylokhov 
Date:      2020-03-11 21:58:16 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/4f1fabd8

8238075: [OGL] Delete unused properties

Reviewed-by: kizune

! src/java.desktop/macosx/classes/sun/awt/CGraphicsDevice.java
! src/java.desktop/macosx/classes/sun/java2d/opengl/CGLGraphicsConfig.java
! src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl/CGLGraphicsConfig.h
! src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl/CGLGraphicsConfig.m

Changeset: b4863f9d
Author:    Sergey Bylokhov 
Date:      2020-03-12 10:00:23 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b4863f9d

8240633: Memory leaks in the implementations of FileChooserUI

Reviewed-by: pbansal, psadhukhan

! src/java.desktop/macosx/classes/com/apple/laf/AquaComboBoxUI.java
! src/java.desktop/macosx/classes/com/apple/laf/AquaFileChooserUI.java
+ test/jdk/javax/swing/JFileChooser/FileChooserListenerLeak.java

Changeset: 23fda7e4
Author:    Phil Race 
Date:      2020-03-12 17:53:08 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/23fda7e4

8240977: ProblemList failing jtreg tests on macos

Reviewed-by: serb

! test/jdk/ProblemList.txt

Changeset: 3a7389f5
Author:    Ambarish Rapte 
Date:      2020-03-15 00:43:54 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/3a7389f5

8226253: JAWS reports wrong number of radio buttons when buttons are hidden

Reviewed-by: kizune, pbansal

! src/java.desktop/share/classes/javax/swing/JList.java
! src/jdk.accessibility/windows/classes/com/sun/java/accessibility/internal/AccessBridge.java

Changeset: bca2465c
Author:    Prasanta Sadhukhan 
Date:      2020-03-16 12:49:08 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/bca2465c

8236635: JTabbedPane preferred size calculation is wrong for SCROLL_TAB_LAYOUT

Reviewed-by: serb, pbansal

! test/jdk/ProblemList.txt
! test/jdk/javax/swing/JTabbedPane/TabProb.java

Changeset: 72b251d3
Author:    Sergey Bylokhov 
Date:      2020-03-16 17:33:52 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/72b251d3

8226806: [macOS 10.14] Methods of Java Robot should be called from appropriate thread

Reviewed-by: psadhukhan, prr

! src/java.desktop/macosx/native/libawt_lwawt/awt/CRobot.m
+ test/jdk/java/awt/Robot/NonEmptyErrorStream.java

Changeset: c1f7fa2e
Author:    Phil Race 
Date:      2020-03-17 17:38:27 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/c1f7fa2e

8223935: PIT: java/awt/font/WindowsIndicFonts.java fails on windows10

Reviewed-by: serb, jdv

! test/jdk/java/awt/font/WindowsIndicFonts.java

Changeset: 1e217e7b
Author:    Tejpal Rebari 
Date:      2020-03-18 11:38:33 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/1e217e7b

8146330: [macosx] UIDefaults.keys() different size than UIDefaults.keySet()

Reviewed-by: pbansal, serb, jdv

! src/java.desktop/share/classes/javax/swing/MultiUIDefaults.java
+ test/jdk/javax/swing/UIDefaults/8146330/UIDefaultKeySizeTest.java

Changeset: 9874e698
Author:    Phil Race 
Date:      2020-03-18 15:48:53 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/9874e698

8241229: Problem list jdk/javax/swing/UIDefaults/8146330/UIDefaultKeySizeTest.java

Reviewed-by: aivanov, serb

! test/jdk/ProblemList.txt

Changeset: 3340e6f9
Author:    Prasanta Sadhukhan 
Date:      2020-03-19 09:20:06 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/3340e6f9

8226230: Test javax/swing/JInternalFrame/8020708/bug8020708.java fails on Ubuntu

Reviewed-by: serb

! test/jdk/javax/swing/JInternalFrame/8020708/bug8020708.java

Changeset: 7143a9c5
Author:    Prasanta Sadhukhan 
Date:      2020-03-19 09:22:37 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/7143a9c5

8241078: OOM error parsing HTML with large 
 Tag text

Reviewed-by: serb, aivanov

! src/java.desktop/share/classes/javax/swing/text/DefaultStyledDocument.java
+ test/jdk/javax/swing/text/html/TestOOMWithLargePreTag.java

Changeset: 0f7f181d
Author:    Phil Race 
Date:      2020-03-18 22:27:31 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/0f7f181d

8241233: Typo in problem listing of UIDefaultKeySizeTest.java

Reviewed-by: jdv

! test/jdk/ProblemList.txt

Changeset: b4a3809e
Author:    Sergey Bylokhov 
Date:      2020-03-19 22:22:39 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b4a3809e

8240786: [TESTBUG] The test java/awt/Window/GetScreenLocation/GetScreenLocationTest.java fails on HiDPI screen

Reviewed-by: jdv, pbansal

! test/jdk/java/awt/Window/GetScreenLocation/GetScreenLocationTest.java

Changeset: 672f3a18
Author:    Prasanta Sadhukhan 
Date:      2020-03-21 09:46:44 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/672f3a18

8241291: JCK test javax_swing/text/DefaultStyledDocument/ElementSpec/ESpecCtor.html fails

Reviewed-by: prr

! src/java.desktop/share/classes/javax/swing/text/DefaultStyledDocument.java
- test/jdk/javax/swing/text/html/TestOOMWithLargePreTag.java

Changeset: 602d98a7
Author:    Phil Race 
Date:      2020-03-20 22:52:40 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/602d98a7

8232634: Problem List ICMColorDataTest.java

Reviewed-by: serb, psadhukhan

! test/jdk/ProblemList.txt

Changeset: 95d28303
Author:    Jia Huang 
Date:      2020-03-20 18:52:31 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/95d28303

8240222: [TESTBUG] gtest/jfr/test_networkUtilization.cpp failed when the number of tests is greater than or equal to 2

Reviewed-by: egahlin, mgronlun

! test/hotspot/gtest/jfr/test_networkUtilization.cpp

Changeset: 6dffcf75
Author:    Coleen Phillimore 
Date:      2020-03-20 07:30:52 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/6dffcf75

8241320: The ClassLoaderData::_is_unsafe_anonymous field is unused in the SA

Remove unused code that is changing in Hotspot for hidden classes.

Reviewed-by: lfoltan, dholmes, sspitsyn

! src/hotspot/share/runtime/vmStructs.cpp
! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/classfile/ClassLoaderData.java

Changeset: 136a1574
Author:    Jamsheed Mohammed C M 
Date:      2020-03-20 05:19:56 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/136a1574

8237894: CTW: C1 compilation fails with assert(x->type()->tag() == f->type()->tag()) failed: should have same type

Field access instructions hash decalred_type in addition, indexed access instructions hash value type of the instruction in addition.

Reviewed-by: thartmann, shade

! src/hotspot/share/c1/c1_GraphBuilder.cpp
! src/hotspot/share/c1/c1_Instruction.hpp
+ test/hotspot/jtreg/compiler/c1/TestValueNumberingNullObject.java

Changeset: 34ae46e2
Author:    Andrew Haley 
Date:      2020-03-19 14:53:57 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/34ae46e2

8241296: Segfault in JNIHandleBlock::oops_do()

Reviewed-by: stefank

! src/hotspot/share/runtime/thread.cpp

Changeset: c9faf88c
Author:    Roland Westrelin 
Date:      2020-03-13 16:32:51 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/c9faf88c

8240795: [REDO] 8238384 CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found"

Reviewed-by: kvn, thartmann

! src/hotspot/share/opto/compile.cpp
! src/hotspot/share/opto/gcm.cpp
! src/hotspot/share/opto/loopnode.cpp
! src/hotspot/share/opto/type.hpp
+ test/hotspot/jtreg/compiler/escapeAnalysis/TestCopyOfBrokenAntiDependency.java

Changeset: 2288788e
Author:    Andrew Haley 
Date:      2020-03-20 13:08:20 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/2288788e

Merge


Changeset: d243e40f
Author:    Xue-Lei Andrew Fan 
Date:      2020-03-20 09:15:00 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/d243e40f

8241039: Retire the deprecated SSLSession.getPeerCertificateChain() method

Reviewed-by: mullan, alanb, dfuchs

- src/java.base/share/classes/com/sun/security/cert/internal/x509/X509V1CertImpl.java
! src/java.base/share/classes/javax/net/ssl/HandshakeCompletedEvent.java
! src/java.base/share/classes/javax/net/ssl/SSLSession.java
! src/java.base/share/classes/sun/security/ssl/SSLSessionImpl.java
! src/java.net.http/share/classes/jdk/internal/net/http/common/ImmutableExtendedSSLSession.java
! src/java.net.http/share/classes/jdk/internal/net/http/common/ImmutableSSLSession.java
! test/jdk/sun/security/ssl/GenSSLConfigs/main.java

Changeset: f67868d9
Author:    Xue-Lei Andrew Fan 
Date:      2020-03-20 09:27:06 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/f67868d9

8219989: Retire the com.sun.net.ssl.internal.ssl.Provider name

Remove the provider name in JDK

Reviewed-by: mullan

! src/java.base/share/classes/sun/security/jca/ProviderConfig.java

Changeset: 37b7a233
Author:    Yumin Qi 
Date:      2020-03-20 09:40:30 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/37b7a233

8241009: CommandLineFlagComboNegative.java fails after JDK-8240563

Jtreg turned off UseCompressedOops and messed up vm flag options of children processes.

Reviewed-by: dholmes, stefank

! test/hotspot/jtreg/runtime/cds/appcds/CommandLineFlagComboNegative.java

Changeset: c5a74908
Author:    Rahul Yadav 
Committer: Patrick Concannon 
Date:      2020-03-20 20:16:34 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/c5a74908

8240921: Minor correction to HttpResponse.BodySubscribers example

The fix updates the incorrect example of the usage of the class java.net.http.HttpResponse.BodySubscribers.

Reviewed-by: chegar, dfuchs, jboes, pconcannon

! src/java.net.http/share/classes/java/net/http/HttpResponse.java
! test/jdk/java/net/httpclient/examples/JavadocExamples.java

Changeset: 17ff85d4
Author:    Pavel Rappo 
Date:      2020-03-20 20:54:56 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/17ff85d4

8241014: Miscellaneous typos in documentation comments

Reviewed-by: igerasim, prappo, psandoz, rriggs, weijun

! src/java.base/share/classes/java/io/FilePermission.java
! src/java.base/share/classes/java/io/Reader.java
! src/java.base/share/classes/java/lang/Character.java
! src/java.base/share/classes/java/lang/ProcessHandleImpl.java
! src/java.base/share/classes/java/lang/Runtime.java
! src/java.base/share/classes/java/lang/String.java
! src/java.base/share/classes/java/lang/constant/DirectMethodHandleDescImpl.java
! src/java.base/share/classes/java/lang/constant/DynamicCallSiteDesc.java
! src/java.base/share/classes/java/lang/constant/DynamicConstantDesc.java
! src/java.base/share/classes/java/lang/constant/MethodTypeDescImpl.java
! src/java.base/share/classes/java/lang/constant/ReferenceClassDescImpl.java
! src/java.base/share/classes/java/lang/invoke/MethodType.java
! src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java
! src/java.base/share/classes/java/math/BigDecimal.java
! src/java.base/share/classes/java/net/HttpCookie.java
! src/java.base/share/classes/java/net/MulticastSocket.java
! src/java.base/share/classes/java/nio/file/DirectoryStream.java
! src/java.base/share/classes/java/nio/file/attribute/UserDefinedFileAttributeView.java
! src/java.base/share/classes/java/security/PKCS12Attribute.java
! src/java.base/share/classes/java/security/SignatureSpi.java
! src/java.base/share/classes/java/text/BreakIterator.java
! src/java.base/share/classes/java/time/chrono/ChronoLocalDateTimeImpl.java
! src/java.base/share/classes/java/time/chrono/package-info.java
! src/java.base/share/classes/java/time/temporal/TemporalAccessor.java
! src/java.base/share/classes/java/util/Arrays.java
! src/java.base/share/classes/java/util/BitSet.java
! src/java.base/share/classes/java/util/Enumeration.java
! src/java.base/share/classes/java/util/Map.java
! src/java.base/share/classes/java/util/StringJoiner.java
! src/java.base/share/classes/java/util/regex/Pattern.java
! src/java.base/share/classes/java/util/stream/Stream.java
! src/java.base/share/classes/java/util/stream/package-info.java
! src/java.base/share/classes/javax/crypto/CryptoPolicyParser.java
! src/java.base/share/classes/javax/security/cert/X509Certificate.java
! src/java.base/share/classes/jdk/internal/icu/util/VersionInfo.java
! src/java.base/share/classes/jdk/internal/reflect/ReflectionFactory.java
! src/java.base/share/classes/sun/security/provider/AbstractDrbg.java
! src/java.base/share/classes/sun/security/provider/PolicyFile.java
! src/java.compiler/share/classes/javax/tools/JavaFileManager.java

Changeset: f778ad2f
Author:    Leonid Mesnik 
Date:      2020-03-20 17:37:52 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/f778ad2f

8241319: WB_GetCodeBlob doesn't have ResourceMark

Reviewed-by: iignatyev, thartmann

! src/hotspot/share/prims/whitebox.cpp

Changeset: ef335c75
Author:    Prasanta Sadhukhan 
Date:      2020-03-22 09:46:15 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/ef335c75

Merge

! test/jdk/ProblemList.txt
! test/jdk/ProblemList.txt

Changeset: 36af90ac
Author:    Xue-Lei Andrew Fan 
Date:      2020-03-22 09:30:16 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/36af90ac

8215712: Parsing extension failure may alert decode_error

Reviewed-by: jnimeh

! src/java.base/share/classes/sun/security/ssl/AlpnExtension.java
! src/java.base/share/classes/sun/security/ssl/CertSignAlgsExtension.java
! src/java.base/share/classes/sun/security/ssl/CertStatusExtension.java
! src/java.base/share/classes/sun/security/ssl/CookieExtension.java
! src/java.base/share/classes/sun/security/ssl/ECPointFormatsExtension.java
! src/java.base/share/classes/sun/security/ssl/ExtendedMasterSecretExtension.java
! src/java.base/share/classes/sun/security/ssl/KeyShareExtension.java
! src/java.base/share/classes/sun/security/ssl/MaxFragExtension.java
! src/java.base/share/classes/sun/security/ssl/PreSharedKeyExtension.java
! src/java.base/share/classes/sun/security/ssl/PskKeyExchangeModesExtension.java
! src/java.base/share/classes/sun/security/ssl/RenegoInfoExtension.java
! src/java.base/share/classes/sun/security/ssl/SSLExtension.java
! src/java.base/share/classes/sun/security/ssl/SSLExtensions.java
! src/java.base/share/classes/sun/security/ssl/SSLStringizer.java
! src/java.base/share/classes/sun/security/ssl/ServerHello.java
! src/java.base/share/classes/sun/security/ssl/ServerNameExtension.java
! src/java.base/share/classes/sun/security/ssl/SessionTicketExtension.java
! src/java.base/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java
! src/java.base/share/classes/sun/security/ssl/SupportedGroupsExtension.java
! src/java.base/share/classes/sun/security/ssl/SupportedVersionsExtension.java
! src/java.base/share/classes/sun/security/ssl/TransportContext.java

Changeset: 618bacec
Author:    Pengfei Li 
Date:      2020-03-23 08:37:45 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/618bacec

8241091: AArch64: "bad AD file" with VM option "-XX:-UsePopCountInstruction"

Reviewed-by: aph

! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp

Changeset: e04080bd
Author:    Magnus Ihse Bursie 
Date:      2020-03-23 10:26:13 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/e04080bd

8241310: Fix warnings in jdk buildtools

Reviewed-by: erikj, forax

! make/CompileToolsJdk.gmk
! make/jdk/src/classes/build/tools/cldrconverter/Bundle.java
! make/jdk/src/classes/build/tools/cldrconverter/CLDRConverter.java
! make/jdk/src/classes/build/tools/cldrconverter/PluralsParseHandler.java
! make/jdk/src/classes/build/tools/dtdbuilder/DTDBuilder.java
! make/jdk/src/classes/build/tools/dtdbuilder/DTDInputStream.java
! make/jdk/src/classes/build/tools/generatebreakiteratordata/GenerateBreakIteratorData.java
! make/jdk/src/classes/build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java
! make/jdk/src/classes/build/tools/generatecharacter/CharacterName.java
! make/jdk/src/classes/build/tools/generatecharacter/CharacterScript.java
! make/jdk/src/classes/build/tools/generatecharacter/PrintCharacterRanges.java
! make/jdk/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java
! make/jdk/src/classes/build/tools/jdwpgen/Parse.java
! make/jdk/src/classes/build/tools/tzdb/TzdbZoneRulesProvider.java
! make/jdk/src/classes/build/tools/x11wrappergen/WrapperGenerator.java

Changeset: 90102935
Author:    Magnus Ihse Bursie 
Date:      2020-03-23 10:29:04 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/90102935

8241271: Make hotspot build reproducible

Reviewed-by: erikj, stefank, jwilhelm

! make/autoconf/compare.sh.in
! make/autoconf/hotspot.m4
! make/autoconf/spec.gmk.in
! make/conf/jib-profiles.js
! make/hotspot/lib/CompileJvm.gmk
! make/scripts/compare_exceptions.sh.incl
! src/hotspot/share/runtime/abstract_vm_version.cpp

Changeset: ed28a274
Author:    Kelvin Nilsen 
Committer: Aleksey Shipilev 
Date:      2020-03-23 10:37:44 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/ed28a274

8241068: Shenandoah: improve ShenandoahTraversalGC constructor arguments

Reviewed-by: shade

! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp
! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.hpp

Changeset: b66c6808
Author:    Daniel Fuchs 
Date:      2020-03-23 14:22:18 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b66c6808

8241443: Problem list some java.net tests failing with NoRouteToHostException on macOS with special network configuration

Reviewed-by: alanb

! test/jdk/ProblemList.txt

Changeset: 75a8b7fa
Author:    Mandy Chung 
Date:      2020-03-23 09:05:39 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/75a8b7fa

8240975: Extend NativeLibraries to support explicit unloading

Reviewed-by: alanb, mcimadamore

! src/java.base/share/classes/java/lang/ClassLoader.java
! src/java.base/share/classes/jdk/internal/loader/BootLoader.java
! src/java.base/share/classes/jdk/internal/loader/NativeLibraries.java
! src/java.base/share/classes/jdk/internal/loader/NativeLibrary.java
! src/java.base/share/native/libjava/NativeLibraries.c
+ test/jdk/jdk/internal/loader/NativeLibraries/Main.java
+ test/jdk/jdk/internal/loader/NativeLibraries/java.base/jdk/internal/loader/NativeLibrariesTest.java
+ test/jdk/jdk/internal/loader/NativeLibraries/libnativeLibrariesTest.c
+ test/jdk/jdk/internal/loader/NativeLibraries/p/Test.java

Changeset: 398ce294
Author:    Sandhya Viswanathan 
Date:      2020-03-23 10:26:40 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/398ce294

8240248: Extend superword reduction optimizations for x86

Add support for and, or, xor reduction

Co-authored-by: Shravya Rukmannagari 
Reviewed-by: vlivanov, thartmann

! make/devkit/createJMHBundle.sh
! src/hotspot/cpu/x86/macroAssembler_x86.cpp
! src/hotspot/cpu/x86/macroAssembler_x86.hpp
! src/hotspot/cpu/x86/x86.ad
! src/hotspot/share/adlc/formssel.cpp
! src/hotspot/share/opto/classes.hpp
! src/hotspot/share/opto/compile.cpp
! src/hotspot/share/opto/vectornode.cpp
! src/hotspot/share/opto/vectornode.hpp
! src/hotspot/share/runtime/vmStructs.cpp
+ test/hotspot/jtreg/compiler/loopopts/superword/RedTest_int.java
+ test/hotspot/jtreg/compiler/loopopts/superword/RedTest_long.java
+ test/micro/org/openjdk/bench/vm/compiler/VectorReduction.java

Changeset: edb6783a
Author:    Poonam Bajaj 
Date:      2020-03-23 17:57:13 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/edb6783a

8231779: crash HeapWord*ParallelScavengeHeap::failed_mem_allocate

Reviewed-by: dlong, tschatzl, pliden

! src/hotspot/share/gc/shared/threadLocalAllocBuffer.cpp

Changeset: f37149b1
Author:    Aleksey Shipilev 
Date:      2020-03-23 19:14:01 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/f37149b1

8241351: Shenandoah: fragmentation metrics overhaul

Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp
! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.hpp
! src/hotspot/share/gc/shenandoah/shenandoahMetrics.cpp
! src/hotspot/share/gc/shenandoah/shenandoahMetrics.hpp

Changeset: fe533725
Author:    Aleksey Shipilev 
Date:      2020-03-23 19:14:01 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/fe533725

8241435: Shenandoah: avoid disabling pacing with "aggressive"

Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAggressiveHeuristics.cpp

Changeset: b6783320
Author:    Aleksey Shipilev 
Date:      2020-03-23 19:14:01 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b6783320

8241139: Shenandoah: distribute mark-compact work exactly to minimize fragmentation

Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp
! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.hpp

Changeset: f0ba0dc6
Author:    Jonathan Gibbons 
Date:      2020-03-23 12:48:35 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/f0ba0dc6

8241190: Fix name clash for constants-summary CSS class

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/IndexRedirectWriter.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/markup/HtmlStyle.java
! test/langtools/jdk/javadoc/doclet/JavascriptWinTitle/JavascriptWinTitle.java
! test/langtools/jdk/javadoc/doclet/testMetadata/TestMetadata.java

Changeset: 81353a56
Author:    Ioi Lam 
Date:      2020-03-23 13:27:22 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/81353a56

8241244: CDS dynamic dump asserts in ArchivePtrBitmapCleaner::do_bit

Reviewed-by: minqi, coleenp

! src/hotspot/share/classfile/systemDictionaryShared.cpp

Changeset: 7dc952ec
Author:    Jonathan Gibbons 
Date:      2020-03-23 14:11:52 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/7dc952ec

8241292: Interactive Search results are not highlighted as they used to be

Reviewed-by: prappo

! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/search.js
! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java

Changeset: 23d6a788
Author:    Claes Redestad 
Date:      2020-03-23 23:18:42 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/23d6a788

8241371: Refactor and consolidate package_from_name

Reviewed-by: iklam, lfoltan

! src/hotspot/share/classfile/classFileParser.cpp
! src/hotspot/share/classfile/classLoader.cpp
! src/hotspot/share/classfile/classLoader.hpp
! src/hotspot/share/classfile/klassFactory.cpp
! src/hotspot/share/classfile/systemDictionary.cpp
! src/hotspot/share/classfile/systemDictionaryShared.cpp
! src/hotspot/share/oops/instanceKlass.cpp
! src/hotspot/share/oops/instanceKlass.hpp
! src/hotspot/share/utilities/utf8.cpp
! src/hotspot/share/utilities/utf8.hpp
! test/hotspot/gtest/oops/test_instanceKlass.cpp
! test/hotspot/gtest/runtime/test_classLoader.cpp

Changeset: 32d49650
Author:    Aditya Mandaleeka 
Committer: Aditya Mandaleeka 
Date:      2020-03-24 06:13:39 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/32d49650

8241067: Shenandoah: improve ShenandoahNMethod::has_cset_oops arguments

Reviewed-by: shade

! src/hotspot/share/gc/shenandoah/shenandoahNMethod.cpp

Changeset: 5110de6c
Author:    Andrew Dinn 
Date:      2020-03-19 17:26:11 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/5110de6c

8241144: Javadoc is not generated for new module jdk.nio.mapmode

Jdk.nio.mapmode is not present in DOCS_MODULES defined by Modules.gmk

Reviewed-by: erikj, ihse

! make/common/Modules.gmk

Changeset: d01f6719
Author:    Vladimir Kozlov 
Date:      2020-03-24 09:34:39 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/d01f6719

8237497: vmStructs_jvmci.cpp does not check that the correct field type is specified

Add missed checks for declarations in vmStructs_jvmci.cpp

Reviewed-by: iklam, thartmann

! src/hotspot/share/jvmci/jvmci.cpp
! src/hotspot/share/jvmci/vmStructs_jvmci.cpp
! src/hotspot/share/jvmci/vmStructs_jvmci.hpp
! src/hotspot/share/runtime/init.cpp
! src/hotspot/share/runtime/vmStructs.cpp
! src/hotspot/share/runtime/vmStructs.hpp
! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/GraalHotSpotVMConfig.java

Changeset: ca855006
Author:    Tobias Hartmann 
Date:      2020-03-24 17:39:52 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/ca855006

8240905: assert(mem == (Node*)1 || mem == mem2) failed: multiple Memories being matched at once?

Stop recursion if there are multiple loads with different memory inputs in the tree.

Reviewed-by: kvn, vlivanov

! src/hotspot/share/opto/matcher.cpp
! src/hotspot/share/opto/matcher.hpp
+ test/hotspot/jtreg/compiler/codegen/TestMultiMemInstructionMatching.java

Changeset: b5897fe4
Author:    Daniel D. Daugherty 
Date:      2020-03-24 13:08:54 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b5897fe4

8241532: ProblemList tests from 8241530 on OSX

Reviewed-by: ctornqvi

! test/jdk/ProblemList.txt

Changeset: 40173c50
Author:    Thomas Stuefe 
Date:      2020-03-24 18:41:07 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/40173c50

8241395: Factor out platform independent code for os::xxx_memory_special()

Reviewed-by: mbaesken, mdoerr, lucy

! src/hotspot/os/aix/os_aix.cpp
! src/hotspot/os/bsd/os_bsd.cpp
! src/hotspot/os/linux/os_linux.cpp
! src/hotspot/os/solaris/os_solaris.cpp
! src/hotspot/os/windows/os_windows.cpp
! src/hotspot/share/runtime/os.cpp
! src/hotspot/share/runtime/os.hpp

Changeset: cb1632e8
Author:    Aleksey Shipilev 
Date:      2020-03-24 18:46:48 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/cb1632e8

8241520: Shenandoah: simplify region sequence numbers handling

Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.inline.hpp
! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp

Changeset: 643f5b53
Author:    Aleksey Shipilev 
Date:      2020-03-24 18:46:48 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/643f5b53

8241534: Shenandoah: region status should include update watermark

Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp

Changeset: 6694402d
Author:    Aleksey Shipilev 
Date:      2020-03-24 18:46:48 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/6694402d

8241462: StripNativeDebugSymbols jlink plugin allocates huge arrays

Reviewed-by: alanb, sgehwolf

! src/jdk.jlink/linux/classes/jdk/tools/jlink/internal/plugins/StripNativeDebugSymbolsPlugin.java

Changeset: 7afa57a3
Author:    Aleksey Shipilev 
Date:      2020-03-24 18:46:48 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/7afa57a3

8241445: Fix copyright in test/jdk/tools/launcher/ArgFileSyntax.java

Reviewed-by: psandoz

! src/java.base/share/native/libjli/args.c
! test/jdk/tools/launcher/ArgFileSyntax.java

Changeset: 3059f593
Author:    Aleksey Shipilev 
Date:      2020-03-24 20:18:45 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/3059f593

8241545: Shenandoah: purge root work overwrites counters after JDK-8228818

Reviewed-by: zgu

! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp

Changeset: d7435182
Author:    Tom Rodriguez 
Date:      2020-03-24 13:12:19 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/d7435182

8241458: [JVMCI] add mark value to expose CodeOffsets::Frame_Complete

Reviewed-by: kvn

! src/hotspot/share/jvmci/jvmciCodeInstaller.cpp
! src/hotspot/share/jvmci/jvmciCodeInstaller.hpp
! src/hotspot/share/jvmci/vmStructs_jvmci.cpp

Changeset: 77534229
Author:    Vladimir Ivanov 
Date:      2020-03-25 00:10:22 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/77534229

8241433: x86: Add VBMI CPU feature detection

Reviewed-by: kvn

! src/hotspot/cpu/x86/vmStructs_x86.hpp
! src/hotspot/cpu/x86/vm_version_x86.cpp
! src/hotspot/cpu/x86/vm_version_x86.hpp
! src/hotspot/share/jvmci/vmStructs_jvmci.cpp

Changeset: 27ef185b
Author:    Aleksey Shipilev 
Date:      2020-03-25 07:58:17 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/27ef185b

8241500: FieldLayout/OldLayoutCheck.java fails in 32-bit VMs

Reviewed-by: fparain, dholmes

! test/hotspot/jtreg/runtime/FieldLayout/OldLayoutCheck.java

Changeset: 9a6038fb
Author:    Claes Redestad 
Date:      2020-03-25 13:38:31 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/9a6038fb

8241584: Remove unused classLoader perf counters

Reviewed-by: hseigel

! src/hotspot/share/classfile/classLoader.cpp
! src/hotspot/share/classfile/classLoader.hpp

Changeset: c01e986c
Author:    Christian Hagedorn 
Date:      2020-03-25 14:41:52 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/c01e986c

8237859: C2: Crash when loads float above range check

Fix control edges of predicates to data nodes when creating pre/main/post loops.

Reviewed-by: neliasso, thartmann, roland

! src/hotspot/share/opto/loopPredicate.cpp
! src/hotspot/share/opto/loopTransform.cpp
! src/hotspot/share/opto/loopnode.hpp
+ test/hotspot/jtreg/compiler/loopopts/TestRangeCheckPredicatesControl.java

Changeset: d1b50659
Author:    Ivan Gerasimov 
Date:      2020-03-25 08:46:31 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/d1b50659

8237599: Greedy matching against supplementary chars fails to respect the region

Reviewed-by: rriggs

! src/java.base/share/classes/java/util/regex/Pattern.java
! test/jdk/java/util/regex/RegExTest.java

Changeset: 7fc31ead
Author:    Aleksey Shipilev 
Date:      2020-03-25 17:20:58 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/7fc31ead

8241583: Shenandoah: turn heap lock asserts into macros

Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp
! src/hotspot/share/gc/shenandoah/shenandoahAsserts.hpp
! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp
! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.inline.hpp
! src/hotspot/share/gc/shenandoah/shenandoahLock.hpp

Changeset: b8f2b326
Author:    Naoto Sato 
Date:      2020-03-25 09:21:46 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b8f2b326

8241311: Move some charset mapping tests from closed to open

Reviewed-by: iris, joehw, itakiguchi, amlu

! test/jdk/sun/nio/cs/TestCharsetMapping.java
+ test/jdk/sun/nio/cs/mapping/Big5.b2c
= test/jdk/sun/nio/cs/mapping/Big5.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Big5_HKSCS.b2c
+ test/jdk/sun/nio/cs/mapping/Big5_HKSCS.b2c-irreversible
= test/jdk/sun/nio/cs/mapping/Big5_HKSCS.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Big5_HKSCS_2001.b2c
+ test/jdk/sun/nio/cs/mapping/Big5_HKSCS_2001.c2b-irreversible
= test/jdk/sun/nio/cs/mapping/Big5_Solaris.b2c
+ test/jdk/sun/nio/cs/mapping/CoderTest.java
+ test/jdk/sun/nio/cs/mapping/ConverterTest.java
+ test/jdk/sun/nio/cs/mapping/Cp037.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1006.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1025.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1026.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1046.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1047.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1097.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1098.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1112.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1122.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1123.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1124.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1250.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1251.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1252.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1253.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1254.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1255.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1256.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1257.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1258.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1364.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1364.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp1381.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1381.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp1383.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1383.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp273.b2c
+ test/jdk/sun/nio/cs/mapping/Cp277.b2c
+ test/jdk/sun/nio/cs/mapping/Cp278.b2c
+ test/jdk/sun/nio/cs/mapping/Cp280.b2c
+ test/jdk/sun/nio/cs/mapping/Cp284.b2c
+ test/jdk/sun/nio/cs/mapping/Cp285.b2c
+ test/jdk/sun/nio/cs/mapping/Cp290.b2c
+ test/jdk/sun/nio/cs/mapping/Cp290.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp297.b2c
+ test/jdk/sun/nio/cs/mapping/Cp300.b2c
= test/jdk/sun/nio/cs/mapping/Cp300.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp33722.b2c
+ test/jdk/sun/nio/cs/mapping/Cp420.b2c
+ test/jdk/sun/nio/cs/mapping/Cp420.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp420.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp424.b2c
+ test/jdk/sun/nio/cs/mapping/Cp437.b2c
+ test/jdk/sun/nio/cs/mapping/Cp500.b2c
+ test/jdk/sun/nio/cs/mapping/Cp737.b2c
+ test/jdk/sun/nio/cs/mapping/Cp775.b2c
+ test/jdk/sun/nio/cs/mapping/Cp833.b2c
+ test/jdk/sun/nio/cs/mapping/Cp833.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp834.b2c
+ test/jdk/sun/nio/cs/mapping/Cp834.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp838.b2c
+ test/jdk/sun/nio/cs/mapping/Cp850.b2c
+ test/jdk/sun/nio/cs/mapping/Cp852.b2c
+ test/jdk/sun/nio/cs/mapping/Cp855.b2c
+ test/jdk/sun/nio/cs/mapping/Cp856.b2c
+ test/jdk/sun/nio/cs/mapping/Cp857.b2c
+ test/jdk/sun/nio/cs/mapping/Cp860.b2c
+ test/jdk/sun/nio/cs/mapping/Cp861.b2c
+ test/jdk/sun/nio/cs/mapping/Cp862.b2c
+ test/jdk/sun/nio/cs/mapping/Cp863.b2c
+ test/jdk/sun/nio/cs/mapping/Cp864.b2c
+ test/jdk/sun/nio/cs/mapping/Cp865.b2c
+ test/jdk/sun/nio/cs/mapping/Cp866.b2c
+ test/jdk/sun/nio/cs/mapping/Cp868.b2c
+ test/jdk/sun/nio/cs/mapping/Cp869.b2c
+ test/jdk/sun/nio/cs/mapping/Cp870.b2c
+ test/jdk/sun/nio/cs/mapping/Cp871.b2c
+ test/jdk/sun/nio/cs/mapping/Cp874.b2c
+ test/jdk/sun/nio/cs/mapping/Cp874.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp875.b2c
+ test/jdk/sun/nio/cs/mapping/Cp918.b2c
+ test/jdk/sun/nio/cs/mapping/Cp921.b2c
+ test/jdk/sun/nio/cs/mapping/Cp922.b2c
+ test/jdk/sun/nio/cs/mapping/Cp930.b2c
+ test/jdk/sun/nio/cs/mapping/Cp933.b2c
+ test/jdk/sun/nio/cs/mapping/Cp935.b2c
+ test/jdk/sun/nio/cs/mapping/Cp937.b2c
+ test/jdk/sun/nio/cs/mapping/Cp937.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp939.b2c
+ test/jdk/sun/nio/cs/mapping/Cp942.b2c
+ test/jdk/sun/nio/cs/mapping/Cp943.b2c
+ test/jdk/sun/nio/cs/mapping/Cp948.b2c
+ test/jdk/sun/nio/cs/mapping/Cp948.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp948.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp949.b2c
+ test/jdk/sun/nio/cs/mapping/Cp950.b2c
+ test/jdk/sun/nio/cs/mapping/Cp950.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp950.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp964.b2c
+ test/jdk/sun/nio/cs/mapping/Cp964.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp970.b2c
+ test/jdk/sun/nio/cs/mapping/Cp970.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/EUC_CN.b2c
+ test/jdk/sun/nio/cs/mapping/EUC_JP.b2c
+ test/jdk/sun/nio/cs/mapping/EUC_JP_LINUX.b2c
+ test/jdk/sun/nio/cs/mapping/EUC_JP_Solaris.b2c
+ test/jdk/sun/nio/cs/mapping/EUC_KR.b2c
+ test/jdk/sun/nio/cs/mapping/EUC_TW.b2c
+ test/jdk/sun/nio/cs/mapping/GB18030.b2c
+ test/jdk/sun/nio/cs/mapping/GBK.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_11.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_2.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_3.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_4.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_5.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_6.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_7.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_8.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_9.b2c
+ test/jdk/sun/nio/cs/mapping/JIS0201.b2c.private
+ test/jdk/sun/nio/cs/mapping/JIS0208.b2c.private
+ test/jdk/sun/nio/cs/mapping/JIS0212.b2c.private
+ test/jdk/sun/nio/cs/mapping/Johab.b2c
+ test/jdk/sun/nio/cs/mapping/KOI8_R.b2c
+ test/jdk/sun/nio/cs/mapping/KOI8_U.b2c
+ test/jdk/sun/nio/cs/mapping/MS50221_0208.b2c
+ test/jdk/sun/nio/cs/mapping/MS50221_0212.b2c
+ test/jdk/sun/nio/cs/mapping/MS874.b2c
+ test/jdk/sun/nio/cs/mapping/MS932.b2c.private
+ test/jdk/sun/nio/cs/mapping/MS932DB.b2c.private
+ test/jdk/sun/nio/cs/mapping/MS932DB.c2b.private
+ test/jdk/sun/nio/cs/mapping/MS932_0208.b2c
+ test/jdk/sun/nio/cs/mapping/MS936.b2c
+ test/jdk/sun/nio/cs/mapping/MS949.b2c
+ test/jdk/sun/nio/cs/mapping/MS950.b2c
+ test/jdk/sun/nio/cs/mapping/MS950.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/MS950.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/MS950_HKSCS.b2c
+ test/jdk/sun/nio/cs/mapping/MS950_HKSCS.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/MS950_HKSCS_XP.b2c
+ test/jdk/sun/nio/cs/mapping/MSCP932.b2c.abigail
+ test/jdk/sun/nio/cs/mapping/MacArabic.b2c
+ test/jdk/sun/nio/cs/mapping/MacCentralEurope.b2c
+ test/jdk/sun/nio/cs/mapping/MacCroatian.b2c
+ test/jdk/sun/nio/cs/mapping/MacCyrillic.b2c
+ test/jdk/sun/nio/cs/mapping/MacDingbat.b2c
+ test/jdk/sun/nio/cs/mapping/MacGreek.b2c
+ test/jdk/sun/nio/cs/mapping/MacHebrew.b2c
+ test/jdk/sun/nio/cs/mapping/MacIceland.b2c
+ test/jdk/sun/nio/cs/mapping/MacRoman.b2c
+ test/jdk/sun/nio/cs/mapping/MacRomania.b2c
+ test/jdk/sun/nio/cs/mapping/MacSymbol.b2c
+ test/jdk/sun/nio/cs/mapping/MacThai.b2c
+ test/jdk/sun/nio/cs/mapping/MacTurkish.b2c
+ test/jdk/sun/nio/cs/mapping/MacUkraine.b2c
+ test/jdk/sun/nio/cs/mapping/PCK.b2c
+ test/jdk/sun/nio/cs/mapping/PCK.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/SJIS.b2c
+ test/jdk/sun/nio/cs/mapping/SJIS_0213.b2c
+ test/jdk/sun/nio/cs/mapping/TIS620.b2c
+ test/jdk/sun/nio/cs/mapping/TestConv.java
+ test/jdk/sun/nio/cs/mapping/TestFmwk.java
+ test/jdk/sun/nio/cs/mapping/untested/X11SunUnicode_0.b2c
+ test/jdk/sun/nio/cs/mapping/untested/gb18030_0.b2c
+ test/jdk/sun/nio/cs/mapping/untested/gb18030_1.b2c

Changeset: b0245c2b
Author:    Anthony Scarpino 
Date:      2020-03-25 12:41:14 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b0245c2b

8237219: Disable native SunEC implementation by default

Reviewed-by: weijun, mullan

! src/java.base/share/classes/module-info.java
! src/jdk.crypto.ec/share/classes/sun/security/ec/ECDHKeyAgreement.java
! src/jdk.crypto.ec/share/classes/sun/security/ec/ECDSASignature.java
! src/jdk.crypto.ec/share/classes/sun/security/ec/ECKeyPairGenerator.java
! src/jdk.crypto.ec/share/classes/sun/security/ec/SunEC.java
! test/jdk/java/security/KeyAgreement/KeyAgreementTest.java
! test/jdk/java/security/KeyAgreement/KeySizeTest.java
! test/jdk/jdk/security/jarsigner/Spec.java
! test/jdk/sun/security/ec/ECDSAJavaVerify.java
! test/jdk/sun/security/ec/InvalidCurve.java
! test/jdk/sun/security/ec/SignatureDigestTruncate.java
! test/jdk/sun/security/ec/TestEC.java
! test/jdk/sun/security/pkcs11/ec/ReadPKCS12.java
! test/jdk/sun/security/tools/keytool/GroupName.java
! test/jdk/sun/security/tools/keytool/KeyAlg.java
! test/jdk/sun/security/tools/keytool/fakegen/DefaultSignatureAlgorithm.java

Changeset: ffe5e846
Author:    Jonathan Gibbons 
Date:      2020-03-25 15:03:39 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/ffe5e846

8241544: update stylesheet for *-page CSS class rename and hyphenated naming

Reviewed-by: prappo, hannesw

! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css
! test/langtools/jdk/javadoc/doclet/testStylesheet/TestStylesheet.java

Changeset: 60fae779
Author:    John Jiang 
Date:      2020-03-26 07:09:36 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/60fae779

8237977: Further update javax/net/ssl/compatibility/Compatibility.java

Reviewed-by: rhalade

! test/jdk/javax/net/ssl/TLSCommon/CipherSuite.java
! test/jdk/javax/net/ssl/compatibility/Cert.java
! test/jdk/javax/net/ssl/compatibility/Compatibility.java
! test/jdk/javax/net/ssl/compatibility/JdkInfo.java
! test/jdk/javax/net/ssl/compatibility/JdkUtils.java
! test/jdk/javax/net/ssl/compatibility/Server.java
! test/jdk/javax/net/ssl/compatibility/TestCase.java
! test/jdk/javax/net/ssl/compatibility/UseCase.java
! test/jdk/javax/net/ssl/compatibility/Utils.java

Changeset: 0d22ad64
Author:    Claes Redestad 
Date:      2020-03-26 00:02:08 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/0d22ad64

8241427: Coarsen locking in Modules::add_module_exports

Reviewed-by: lfoltan, hseigel

! src/hotspot/share/classfile/modules.cpp
! src/hotspot/share/classfile/modules.hpp
! src/hotspot/share/classfile/packageEntry.cpp
! src/hotspot/share/classfile/systemDictionary.cpp
! test/hotspot/jtreg/runtime/modules/AccessCheckAllUnnamed.java
! test/hotspot/jtreg/runtime/modules/JVMAddModuleExportsToAll.java

Changeset: c659b637
Author:    Pengfei Li 
Date:      2020-03-26 10:10:37 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/c659b637

8241482: AArch64: Fix a potential issue after JDK-8239549

Reviewed-by: aph

! src/hotspot/cpu/aarch64/aarch64.ad

Changeset: 913a0ff0
Author:    Jie He 
Committer: Yang Zhang 
Date:      2020-03-26 14:46:50 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/913a0ff0

8241419: Remove unused InterfaceSupport::_number_of_calls

Reviewed-by: dholmes

! src/hotspot/share/runtime/interfaceSupport.cpp
! src/hotspot/share/runtime/interfaceSupport.inline.hpp

Changeset: c4f25e51
Author:    Matthias Baesken 
Date:      2020-03-24 15:26:10 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/c4f25e51

8241491: Problem list jdk/javax/swing/UIDefaults/8146330/UIDefaultKeySizeTest.java on aix

Reviewed-by: clanger

! test/jdk/ProblemList.txt

Changeset: eb003a73
Author:    Roland Westrelin 
Date:      2020-03-20 13:56:12 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/eb003a73

8240335: C2: assert(found_sfpt) failed: no node in loop that's not input to safepoint

Reviewed-by: kvn, thartmann

! src/hotspot/share/opto/cfgnode.cpp
! src/hotspot/share/opto/cfgnode.hpp
+ test/hotspot/jtreg/compiler/loopstripmining/TestCastIIAfterUnrollingInOuterLoop.java

Changeset: b8f8dea9
Author:    Roland Westrelin 
Date:      2020-03-20 13:58:05 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b8f8dea9

8241365: Define Unique_Node_List::contains() to prevent usage by mistake

Reviewed-by: kvn, thartmann

! src/hotspot/share/opto/node.hpp

Changeset: b35032dc
Author:    Sergei Tsypanov 
Committer: Claes Redestad 
Date:      2020-03-26 10:02:57 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b35032dc

8241649: Optimize Character.toString

Reviewed-by: redestad, rriggs

! src/java.base/share/classes/java/lang/Character.java

Changeset: f930d466
Author:    Jesper Wilhelmsson 
Date:      2020-03-26 03:15:02 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/f930d466

Added tag jdk-15+16 for changeset 5c7ec21f5d13

! .hgtags

Changeset: d882d528
Author:    Julia Boes 
Date:      2020-03-26 11:52:15 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/d882d528

8235459: HttpRequest.BodyPublishers::ofFile assumes the default file system

Add support for non-default file systems to HttpRequest.BodyPublishers::ofFile

Reviewed-by: chegar, dfuchs, amlu

! src/java.net.http/share/classes/java/net/http/HttpRequest.java
! src/java.net.http/share/classes/jdk/internal/net/http/RequestPublishers.java
+ test/jdk/java/net/httpclient/FilePublisher/FilePublisherPermsTest.java
+ test/jdk/java/net/httpclient/FilePublisher/FilePublisherPermsTest1.policy
+ test/jdk/java/net/httpclient/FilePublisher/FilePublisherPermsTest2.policy
+ test/jdk/java/net/httpclient/FilePublisher/FilePublisherPermsTest3.policy
+ test/jdk/java/net/httpclient/FilePublisher/FilePublisherTest.java
+ test/jdk/java/net/httpclient/FilePublisher/FilePublisherTest.policy
+ test/jdk/java/net/httpclient/FilePublisher/SecureZipFSProvider.java

Changeset: 307b376a
Author:    Christian Hagedorn 
Date:      2020-03-26 13:43:51 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/307b376a

8241595: Fix missing debug_orig information in Ideal Graph Visualizer

Show missing debug_orig information for nodes in Ideal Graph Visualizer.

Reviewed-by: kvn, neliasso

! src/hotspot/share/opto/idealGraphPrinter.cpp
! src/hotspot/share/opto/node.cpp
! src/hotspot/share/opto/node.hpp

Changeset: d77c52b2
Author:    Coleen Phillimore 
Date:      2020-03-26 10:29:31 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/d77c52b2

8172485: [TESTBUG] RedefineLeak.java runs out of metaspace memory

Check for zero exit value.

Reviewed-by: lfoltan

! test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/RedefineLeak.java

Changeset: eb7c80a3
Author:    Julia Boes 
Date:      2020-03-26 14:58:53 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/eb7c80a3

8241674: Fix incorrect jtreg option in FilePublisherPermsTest

Replace jtreg option 'policy' with 'java.security.policy' to extend rather than replace policy

Reviewed-by: chegar, dfuchs

! test/jdk/java/net/httpclient/FilePublisher/FilePublisherPermsTest.java

Changeset: e11ab6a4
Author:    Per Lid?n 
Date:      2020-03-26 16:56:42 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/e11ab6a4

8241596: ZGC: Shorten runtime of gc/z/TestUncommit.java

Reviewed-by: tschatzl, sjohanss

! test/hotspot/jtreg/gc/z/TestUncommit.java

Changeset: 54e2c6fe
Author:    Daniil Titov 
Date:      2020-03-26 09:03:52 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/54e2c6fe

8196751: Add jhsdb option to specify debug server RMI connector port

Reviewed-by: sspitsyn, ysuenaga

! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/HotSpotAgent.java
! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/SALauncher.java
! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/remote/RemoteDebuggerServer.java
! test/hotspot/jtreg/serviceability/sa/sadebugd/SADebugDTest.java
! test/lib/jdk/test/lib/Utils.java

Changeset: 098b48b7
Author:    Mikhailo Seledtsov 
Date:      2020-03-26 10:03:35 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/098b48b7

8240634: event/runtime/TestMetaspaceAllocationFailure.java times out

Limit number of iterations

Reviewed-by: egahlin, stuefe

! test/jdk/jdk/jfr/event/runtime/TestMetaspaceAllocationFailure.java

Changeset: e509368f
Author:    Calvin Cheung 
Date:      2020-03-26 10:14:52 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/e509368f

8233093: Move CDS heap oopmaps into new MetaspaceShared::bm region

Moved the _closed_archive_heap_oopmaps and _open_archive_heap_oopmaps from the ro to the bm region.

Reviewed-by: iklam, minqi

! src/hotspot/share/memory/dynamicArchive.cpp
! src/hotspot/share/memory/filemap.cpp
! src/hotspot/share/memory/filemap.hpp
! src/hotspot/share/memory/metaspaceShared.cpp
! src/hotspot/share/memory/metaspaceShared.hpp

Changeset: 8c5531b6
Author:    Aleksey Shipilev 
Date:      2020-03-26 19:08:30 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/8c5531b6

8241668: Shenandoah: make ShenandoahHeapRegion not derive from ContiguousSpace

Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp
! src/hotspot/share/gc/shenandoah/vmStructs_shenandoah.hpp
! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shenandoah/ShenandoahHeapRegion.java

Changeset: 6be46f8e
Author:    Aleksey Shipilev 
Date:      2020-03-26 19:09:20 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/6be46f8e

8241673: Shenandoah: refactor anti-false-sharing padding

Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.hpp
! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.hpp
! src/hotspot/share/gc/shenandoah/shenandoahControlThread.hpp
! src/hotspot/share/gc/shenandoah/shenandoahEvacOOMHandler.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegionSet.hpp
! src/hotspot/share/gc/shenandoah/shenandoahLock.hpp
! src/hotspot/share/gc/shenandoah/shenandoahNMethod.hpp
! src/hotspot/share/gc/shenandoah/shenandoahPacer.hpp
+ src/hotspot/share/gc/shenandoah/shenandoahPadding.hpp
! src/hotspot/share/gc/shenandoah/shenandoahSharedVariables.hpp
! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.hpp

Changeset: ebdb70fe
Author:    Ekaterina Pavlova 
Date:      2020-03-26 14:24:53 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/ebdb70fe

8236975: compiler/graalunit tests fails with --illegal-access=deny

Reviewed-by: iignatyev, kvn, alanb

! test/hotspot/jtreg/compiler/graalunit/CoreTest.java
! test/hotspot/jtreg/compiler/graalunit/GraphTest.java
! test/hotspot/jtreg/compiler/graalunit/HotspotJdk9Test.java
! test/hotspot/jtreg/compiler/graalunit/HotspotSparcTest.java
! test/hotspot/jtreg/compiler/graalunit/ReplacementsTest.java
! test/hotspot/jtreg/compiler/graalunit/TestPackages.txt
! test/hotspot/jtreg/compiler/graalunit/common/GraalUnitTestLauncher.java
! test/hotspot/jtreg/compiler/graalunit/generateTests.sh

Changeset: 5f1636b2
Author:    Chris Plummer 
Date:      2020-03-26 15:13:21 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/5f1636b2

8241696: ProblemList gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java due to JDK-8241293

Reviewed-by: dcubed, ctornqvi

! test/hotspot/jtreg/ProblemList.txt

Changeset: 87805d92
Author:    Jonathan Gibbons 
Date:      2020-03-26 20:36:56 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/87805d92

8241470: HtmlStyle: group and document members: description, flex, signature

Reviewed-by: hannesw

! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.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/testIndentation/TestIndentation.java
! test/langtools/jdk/javadoc/doclet/testJavaFX/TestJavaFX.java
! test/langtools/jdk/javadoc/doclet/testMemberInheritance/TestMemberInheritance.java
! test/langtools/jdk/javadoc/doclet/testMethodSignature/TestMethodSignature.java
! test/langtools/jdk/javadoc/doclet/testNewLanguageFeatures/TestNewLanguageFeatures.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

Changeset: 2bc4308d
Author:    Vipin M V 
Committer: Vyom Tewari 
Date:      2020-03-27 11:34:45 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/2bc4308d

8129841: Update comment for Java_java_net_Inet6AddressImpl_getHostByAddr

Update comment for Java_java_net_Inet6AddressImpl_getHostByAddr

Reviewed-by: vtewari, alanb

! src/java.base/unix/native/libnet/Inet4AddressImpl.c
! src/java.base/unix/native/libnet/Inet6AddressImpl.c
! src/java.base/windows/native/libnet/Inet4AddressImpl.c
! src/java.base/windows/native/libnet/Inet6AddressImpl.c

Changeset: cc8715d8
Author:    Thomas Stuefe 
Date:      2020-03-27 07:16:22 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/cc8715d8

8241581: Add BitMap::count_one_bits variant for arbitrary lengths

Reviewed-by: redestad, kbarrett

! src/hotspot/share/utilities/bitMap.cpp
! src/hotspot/share/utilities/bitMap.hpp
+ test/hotspot/gtest/utilities/test_bitMap_popcnt.cpp

Changeset: 83f7ee14
Author:    Thomas Stuefe 
Date:      2020-03-27 08:45:59 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/83f7ee14

8241723: Build error after 8241581

Reviewed-by: kbarrett, clanger

- test/hotspot/gtest/utilities/test_bitMap_popcnt.cpp

Changeset: 67cf35ee
Author:    Yasumasa Suenaga 
Date:      2020-03-27 17:07:23 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/67cf35ee

8240956: SEGV in DwarfParser::process_dwarf after JDK-8234624

Reviewed-by: sspitsyn, kevinw

! src/jdk.hotspot.agent/linux/native/libsaproc/dwarf.cpp
! src/jdk.hotspot.agent/linux/native/libsaproc/libproc_impl.c
! src/jdk.hotspot.agent/linux/native/libsaproc/libproc_impl.h
! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64CFrame.java
! test/hotspot/jtreg/ProblemList.txt

Changeset: 7048684c
Author:    Thomas Schatzl 
Date:      2020-03-27 09:44:53 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/7048684c

8238855: Move G1ConcurrentMark flag sanity checks to g1Arguments

Reviewed-by: sjohanss, kbarrett

! src/hotspot/share/gc/g1/g1Arguments.cpp
! src/hotspot/share/gc/g1/g1Arguments.hpp
! 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/shared/gc_globals.hpp
! src/hotspot/share/gc/shared/jvmFlagConstraintsGC.cpp
+ test/hotspot/jtreg/gc/g1/TestMarkStackSizes.java

Changeset: 5ff2d7ba
Author:    Roland Westrelin 
Date:      2020-03-24 11:06:26 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/5ff2d7ba

8240676: Meet not symmetric failure when running lucene on jdk8

Reviewed-by: kvn, thartmann

! src/hotspot/share/opto/compile.cpp
! src/hotspot/share/opto/compile.hpp
! src/hotspot/share/opto/type.cpp
! src/hotspot/share/opto/type.hpp
+ test/hotspot/jtreg/compiler/types/TestArrayMeetNotSymmetrical.java

Changeset: 85d5048c
Author:    Roland Westrelin 
Date:      2020-03-24 10:31:37 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/85d5048c

8241675: Shenandoah: assert(n->outcnt() > 0) at shenandoahSupport.cpp:2858 with java/util/Collections/FindSubList.java

Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp

Changeset: c9f5004b
Author:    Matthias Baesken 
Date:      2020-03-25 13:05:42 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/c9f5004b

8241586: compiler/cpuflags/TestAESIntrinsicsOnUnsupportedConfig.java fails on aarch64

Reviewed-by: clanger

! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp

Changeset: 1dd60a35
Author:    Roman Kennke 
Date:      2020-01-22 15:55:02 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/1dd60a35

8227269: Slow class loading when running with JDWP

Reviewed-by: sspitsyn, cjplummer

! src/jdk.jdwp.agent/share/native/libjdwp/classTrack.c
! src/jdk.jdwp.agent/share/native/libjdwp/classTrack.h
! src/jdk.jdwp.agent/share/native/libjdwp/eventHandler.c
! src/jdk.jdwp.agent/share/native/libjdwp/util.c
! src/jdk.jdwp.agent/share/native/libjdwp/util.h

Changeset: f53ee4ba
Author:    duke 
Date:      2020-03-27 11:01:38 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/f53ee4ba

Automatic merge of jdk:master into master


Changeset: e993b208
Author:    duke 
Date:      2020-03-27 11:01:59 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/e993b208

Automatic merge of master into foreign-memaccess

! src/java.base/share/classes/module-info.java
! src/java.base/share/classes/module-info.java

Changeset: d2dc414c
Author:    duke 
Date:      2020-03-27 11:02:19 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/d2dc414c

Automatic merge of foreign-memaccess into foreign-abi

! src/hotspot/cpu/x86/macroAssembler_x86.cpp
! src/hotspot/cpu/x86/macroAssembler_x86.hpp
! src/hotspot/share/runtime/init.cpp
! src/java.base/share/classes/jdk/internal/loader/NativeLibraries.java
! src/java.base/share/classes/module-info.java
! src/java.base/share/native/libjava/NativeLibraries.c
! src/hotspot/cpu/x86/macroAssembler_x86.cpp
! src/hotspot/cpu/x86/macroAssembler_x86.hpp
! src/hotspot/share/runtime/init.cpp
! src/java.base/share/classes/jdk/internal/loader/NativeLibraries.java
! src/java.base/share/classes/module-info.java
! src/java.base/share/native/libjava/NativeLibraries.c

Changeset: 02825428
Author:    duke 
Date:      2020-03-27 11:02:40 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/02825428

Automatic merge of foreign-abi into foreign-jextract

! make/autoconf/spec.gmk.in
! make/common/Modules.gmk
! make/autoconf/spec.gmk.in
! make/common/Modules.gmk


From duke at openjdk.java.net  Fri Mar 27 11:28:10 2020
From: duke at openjdk.java.net (duke)
Date: Fri, 27 Mar 2020 11:28:10 GMT
Subject: git: openjdk/panama-foreign: master: 111 new changesets
Message-ID: <27682aa6-2717-47b8-a2fa-36522b304811@openjdk.org>

Changeset: 78d35f14
Author:    Christoph Langer 
Date:      2020-03-02 21:04:48 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/78d35f14

8239149: Cleanups in SunFontManager.java and TrueTypeFont.java

Reviewed-by: prr

! src/java.desktop/share/classes/sun/font/SunFontManager.java
! src/java.desktop/share/classes/sun/font/TrueTypeFont.java

Changeset: 70e2c013
Author:    Sergey Bylokhov 
Date:      2020-03-02 23:35:50 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/70e2c013

8235153: [TESTBUG] [macos 10.15] java/awt/Graphics/DrawImageBG/SystemBgColorTest.java fails

Reviewed-by: aivanov

! test/jdk/java/awt/Graphics/DrawImageBG/SystemBgColorTest.java

Changeset: 9d0a4875
Author:    Sergey Bylokhov 
Date:      2020-03-03 03:46:11 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/9d0a4875

8238936: The crash in XRobotPeer when the custom GraphicsDevice is used

Reviewed-by: kizune

! src/java.desktop/macosx/classes/sun/lwawt/macosx/CRobot.java
! src/java.desktop/macosx/classes/sun/lwawt/macosx/LWCToolkit.java
! src/java.desktop/share/classes/java/awt/Robot.java
! src/java.desktop/share/classes/sun/awt/ComponentFactory.java
! src/java.desktop/unix/classes/sun/awt/X11/XRobotPeer.java
! src/java.desktop/unix/classes/sun/awt/X11/XToolkit.java
! src/java.desktop/windows/classes/sun/awt/windows/WRobotPeer.java
! src/java.desktop/windows/classes/sun/awt/windows/WToolkit.java
+ test/jdk/java/awt/Robot/CreateRobotCustomGC/CreateRobotCustomGC.java

Changeset: 6b455049
Author:    Prasanta Sadhukhan 
Date:      2020-03-03 14:45:47 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/6b455049

Merge


Changeset: c2867d65
Author:    Pankaj Bansal 
Date:      2020-03-03 17:37:04 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/c2867d65

8204161: [TESTBUG] auto failed with the "Applet thread threw exception: java.lang.UnsupportedOperationException" exception

Reviewed-by: serb

- test/jdk/java/awt/TrayIcon/AddPopupAfterShowTest/AddPopupAfterShowTest.html
! test/jdk/java/awt/TrayIcon/AddPopupAfterShowTest/AddPopupAfterShowTest.java
+ test/jdk/java/awt/TrayIcon/MiddleButtonEventTest/MiddleButtonEventTest.java

Changeset: 23def435
Author:    Pankaj Bansal 
Date:      2020-03-03 17:49:58 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/23def435

8239902: Remove direct usage of JSlider, JProgressBar classes in CAccessible class

Reviewed-by: serb

! src/java.desktop/macosx/classes/sun/lwawt/macosx/CAccessible.java

Changeset: e70ee3dc
Author:    Pankaj Bansal 
Date:      2020-03-03 18:26:57 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/e70ee3dc

8231042: [macos] JFileChooser creates new folder on ESC

Reviewed-by: serb, psadhukhan

! src/java.desktop/macosx/classes/com/apple/laf/AquaFileChooserUI.java
+ test/jdk/javax/swing/JFileChooser/TestJFileChooserNewFolderAction.java

Changeset: bce81496
Author:    Sergey Bylokhov 
Date:      2020-03-06 14:41:35 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/bce81496

8219578: No associated icon for the leaf node of JTree

Reviewed-by: prr, jdv

! src/java.desktop/share/classes/module-info.java

Changeset: 315635ea
Author:    Alexander Zuev 
Date:      2020-03-09 00:18:23 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/315635ea

8176040: Documentation of java.awt.Rectangle.add(java.awt.Point) is wrong

Reviewed-by: serb, prr

! src/java.desktop/share/classes/java/awt/Rectangle.java

Changeset: 15a838d3
Author:    Toshio Nakamura 
Date:      2020-03-09 15:07:11 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/15a838d3

8240518: Incorrect JNU_ReleaseStringPlatformChars in Windows Print

Reviewed-by: serb, pbansal, psadhukhan

! src/java.desktop/windows/native/libawt/windows/WPrinterJob.cpp
! src/java.desktop/windows/native/libawt/windows/awt_PrintControl.cpp

Changeset: bd78beae
Author:    Jayathirth D V 
Date:      2020-03-10 16:07:58 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/bd78beae

6532025: GIF reader throws misleading exception with truncated images

Reviewed-by: prr, bpb

! src/java.desktop/share/classes/com/sun/imageio/plugins/gif/GIFImageReader.java
+ test/jdk/javax/imageio/plugins/gif/TruncatedGIFTest.java

Changeset: 40f6d697
Author:    Sergey Bylokhov 
Date:      2020-03-10 11:30:33 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/40f6d697

8233573: Toolkit.getScreenInsets(GraphicsConfiguration) may throw ClassCastException

Reviewed-by: prr, jdv

! src/java.desktop/macosx/classes/sun/lwawt/macosx/LWCToolkit.java
! src/java.desktop/unix/classes/sun/awt/X11/XToolkit.java
! src/java.desktop/windows/classes/sun/awt/windows/WToolkit.java
+ test/jdk/java/awt/Toolkit/GetScreenInsetsCustomGC/GetScreenInsetsCustomGC.java

Changeset: f3ef9726
Author:    Sergey Bylokhov 
Date:      2020-03-10 13:58:46 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/f3ef9726

8040630: Popup menus and tooltips flicker with previous popup contents when first shown

Reviewed-by: kizune, pbansal

! src/java.desktop/share/classes/javax/swing/Popup.java

Changeset: afe70e69
Author:    Marc Hoffmann 
Committer: Sergey Bylokhov 
Date:      2020-03-12 03:26:04 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/afe70e69

8237746: Fixing compiler warnings in src/demo/share/jfc

Reviewed-by: kizune, aivanov

! src/demo/share/jfc/FileChooserDemo/FileChooserDemo.java
! src/demo/share/jfc/Font2DTest/Font2DTest.java
- src/demo/share/jfc/Font2DTest/Font2DTestApplet.java
! src/demo/share/jfc/Font2DTest/FontPanel.java
! src/demo/share/jfc/Font2DTest/RangeMenu.java
! src/demo/share/jfc/J2Ddemo/java2d/DemoPanel.java
! src/demo/share/jfc/J2Ddemo/java2d/GlobalControls.java
! src/demo/share/jfc/J2Ddemo/java2d/Tools.java
! src/demo/share/jfc/J2Ddemo/java2d/demos/Clipping/Areas.java
! src/demo/share/jfc/J2Ddemo/java2d/demos/Fonts/Tree.java
! src/demo/share/jfc/J2Ddemo/java2d/demos/Images/ImageOps.java
! src/demo/share/jfc/J2Ddemo/java2d/demos/Mix/Balls.java
! src/demo/share/jfc/J2Ddemo/java2d/demos/Mix/BezierScroller.java
! src/demo/share/jfc/J2Ddemo/java2d/demos/Paint/GradAnim.java
! src/demo/share/jfc/J2Ddemo/java2d/demos/Paint/TextureAnim.java
! src/demo/share/jfc/Metalworks/MetalworksPrefs.java
! src/demo/share/jfc/Notepad/ElementTreePanel.java
! src/demo/share/jfc/Stylepad/Stylepad.java
! src/demo/share/jfc/SwingSet2/ButtonDemo.java
! src/demo/share/jfc/SwingSet2/ColorChooserDemo.java
! src/demo/share/jfc/SwingSet2/ComboBoxDemo.java
! src/demo/share/jfc/SwingSet2/DemoModule.java
! src/demo/share/jfc/SwingSet2/DirectionPanel.java
! src/demo/share/jfc/SwingSet2/ExampleFileView.java
! src/demo/share/jfc/SwingSet2/FileChooserDemo.java
! src/demo/share/jfc/SwingSet2/InternalFrameDemo.java
! src/demo/share/jfc/SwingSet2/LayoutControlPanel.java
! src/demo/share/jfc/SwingSet2/ListDemo.java
! src/demo/share/jfc/SwingSet2/OptionPaneDemo.java
! src/demo/share/jfc/SwingSet2/SliderDemo.java
! src/demo/share/jfc/SwingSet2/SplitPaneDemo.java
! src/demo/share/jfc/SwingSet2/SwingSet2.java
- src/demo/share/jfc/SwingSet2/SwingSet2Applet.java
! src/demo/share/jfc/SwingSet2/TableDemo.java
! src/demo/share/jfc/TableExample/JDBCAdapter.java
! src/demo/share/jfc/TableExample/OldJTable.java
! src/demo/share/jfc/TableExample/TableExample3.java
! src/demo/share/jfc/TableExample/TableExample4.java
! src/demo/share/jfc/TableExample/TableMap.java
! src/demo/share/jfc/TableExample/TableSorter.java

Changeset: 4f1fabd8
Author:    Sergey Bylokhov 
Date:      2020-03-11 21:58:16 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/4f1fabd8

8238075: [OGL] Delete unused properties

Reviewed-by: kizune

! src/java.desktop/macosx/classes/sun/awt/CGraphicsDevice.java
! src/java.desktop/macosx/classes/sun/java2d/opengl/CGLGraphicsConfig.java
! src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl/CGLGraphicsConfig.h
! src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl/CGLGraphicsConfig.m

Changeset: b4863f9d
Author:    Sergey Bylokhov 
Date:      2020-03-12 10:00:23 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b4863f9d

8240633: Memory leaks in the implementations of FileChooserUI

Reviewed-by: pbansal, psadhukhan

! src/java.desktop/macosx/classes/com/apple/laf/AquaComboBoxUI.java
! src/java.desktop/macosx/classes/com/apple/laf/AquaFileChooserUI.java
+ test/jdk/javax/swing/JFileChooser/FileChooserListenerLeak.java

Changeset: 23fda7e4
Author:    Phil Race 
Date:      2020-03-12 17:53:08 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/23fda7e4

8240977: ProblemList failing jtreg tests on macos

Reviewed-by: serb

! test/jdk/ProblemList.txt

Changeset: 3a7389f5
Author:    Ambarish Rapte 
Date:      2020-03-15 00:43:54 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/3a7389f5

8226253: JAWS reports wrong number of radio buttons when buttons are hidden

Reviewed-by: kizune, pbansal

! src/java.desktop/share/classes/javax/swing/JList.java
! src/jdk.accessibility/windows/classes/com/sun/java/accessibility/internal/AccessBridge.java

Changeset: bca2465c
Author:    Prasanta Sadhukhan 
Date:      2020-03-16 12:49:08 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/bca2465c

8236635: JTabbedPane preferred size calculation is wrong for SCROLL_TAB_LAYOUT

Reviewed-by: serb, pbansal

! test/jdk/ProblemList.txt
! test/jdk/javax/swing/JTabbedPane/TabProb.java

Changeset: 72b251d3
Author:    Sergey Bylokhov 
Date:      2020-03-16 17:33:52 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/72b251d3

8226806: [macOS 10.14] Methods of Java Robot should be called from appropriate thread

Reviewed-by: psadhukhan, prr

! src/java.desktop/macosx/native/libawt_lwawt/awt/CRobot.m
+ test/jdk/java/awt/Robot/NonEmptyErrorStream.java

Changeset: c1f7fa2e
Author:    Phil Race 
Date:      2020-03-17 17:38:27 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/c1f7fa2e

8223935: PIT: java/awt/font/WindowsIndicFonts.java fails on windows10

Reviewed-by: serb, jdv

! test/jdk/java/awt/font/WindowsIndicFonts.java

Changeset: 1e217e7b
Author:    Tejpal Rebari 
Date:      2020-03-18 11:38:33 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/1e217e7b

8146330: [macosx] UIDefaults.keys() different size than UIDefaults.keySet()

Reviewed-by: pbansal, serb, jdv

! src/java.desktop/share/classes/javax/swing/MultiUIDefaults.java
+ test/jdk/javax/swing/UIDefaults/8146330/UIDefaultKeySizeTest.java

Changeset: 9874e698
Author:    Phil Race 
Date:      2020-03-18 15:48:53 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/9874e698

8241229: Problem list jdk/javax/swing/UIDefaults/8146330/UIDefaultKeySizeTest.java

Reviewed-by: aivanov, serb

! test/jdk/ProblemList.txt

Changeset: 3340e6f9
Author:    Prasanta Sadhukhan 
Date:      2020-03-19 09:20:06 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/3340e6f9

8226230: Test javax/swing/JInternalFrame/8020708/bug8020708.java fails on Ubuntu

Reviewed-by: serb

! test/jdk/javax/swing/JInternalFrame/8020708/bug8020708.java

Changeset: 7143a9c5
Author:    Prasanta Sadhukhan 
Date:      2020-03-19 09:22:37 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/7143a9c5

8241078: OOM error parsing HTML with large 
 Tag text

Reviewed-by: serb, aivanov

! src/java.desktop/share/classes/javax/swing/text/DefaultStyledDocument.java
+ test/jdk/javax/swing/text/html/TestOOMWithLargePreTag.java

Changeset: 0f7f181d
Author:    Phil Race 
Date:      2020-03-18 22:27:31 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/0f7f181d

8241233: Typo in problem listing of UIDefaultKeySizeTest.java

Reviewed-by: jdv

! test/jdk/ProblemList.txt

Changeset: b4a3809e
Author:    Sergey Bylokhov 
Date:      2020-03-19 22:22:39 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b4a3809e

8240786: [TESTBUG] The test java/awt/Window/GetScreenLocation/GetScreenLocationTest.java fails on HiDPI screen

Reviewed-by: jdv, pbansal

! test/jdk/java/awt/Window/GetScreenLocation/GetScreenLocationTest.java

Changeset: 672f3a18
Author:    Prasanta Sadhukhan 
Date:      2020-03-21 09:46:44 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/672f3a18

8241291: JCK test javax_swing/text/DefaultStyledDocument/ElementSpec/ESpecCtor.html fails

Reviewed-by: prr

! src/java.desktop/share/classes/javax/swing/text/DefaultStyledDocument.java
- test/jdk/javax/swing/text/html/TestOOMWithLargePreTag.java

Changeset: 602d98a7
Author:    Phil Race 
Date:      2020-03-20 22:52:40 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/602d98a7

8232634: Problem List ICMColorDataTest.java

Reviewed-by: serb, psadhukhan

! test/jdk/ProblemList.txt

Changeset: 95d28303
Author:    Jia Huang 
Date:      2020-03-20 18:52:31 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/95d28303

8240222: [TESTBUG] gtest/jfr/test_networkUtilization.cpp failed when the number of tests is greater than or equal to 2

Reviewed-by: egahlin, mgronlun

! test/hotspot/gtest/jfr/test_networkUtilization.cpp

Changeset: 6dffcf75
Author:    Coleen Phillimore 
Date:      2020-03-20 07:30:52 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/6dffcf75

8241320: The ClassLoaderData::_is_unsafe_anonymous field is unused in the SA

Remove unused code that is changing in Hotspot for hidden classes.

Reviewed-by: lfoltan, dholmes, sspitsyn

! src/hotspot/share/runtime/vmStructs.cpp
! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/classfile/ClassLoaderData.java

Changeset: 136a1574
Author:    Jamsheed Mohammed C M 
Date:      2020-03-20 05:19:56 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/136a1574

8237894: CTW: C1 compilation fails with assert(x->type()->tag() == f->type()->tag()) failed: should have same type

Field access instructions hash decalred_type in addition, indexed access instructions hash value type of the instruction in addition.

Reviewed-by: thartmann, shade

! src/hotspot/share/c1/c1_GraphBuilder.cpp
! src/hotspot/share/c1/c1_Instruction.hpp
+ test/hotspot/jtreg/compiler/c1/TestValueNumberingNullObject.java

Changeset: 34ae46e2
Author:    Andrew Haley 
Date:      2020-03-19 14:53:57 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/34ae46e2

8241296: Segfault in JNIHandleBlock::oops_do()

Reviewed-by: stefank

! src/hotspot/share/runtime/thread.cpp

Changeset: c9faf88c
Author:    Roland Westrelin 
Date:      2020-03-13 16:32:51 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/c9faf88c

8240795: [REDO] 8238384 CTW: C2 compilation fails with "assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found"

Reviewed-by: kvn, thartmann

! src/hotspot/share/opto/compile.cpp
! src/hotspot/share/opto/gcm.cpp
! src/hotspot/share/opto/loopnode.cpp
! src/hotspot/share/opto/type.hpp
+ test/hotspot/jtreg/compiler/escapeAnalysis/TestCopyOfBrokenAntiDependency.java

Changeset: 2288788e
Author:    Andrew Haley 
Date:      2020-03-20 13:08:20 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/2288788e

Merge


Changeset: d243e40f
Author:    Xue-Lei Andrew Fan 
Date:      2020-03-20 09:15:00 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/d243e40f

8241039: Retire the deprecated SSLSession.getPeerCertificateChain() method

Reviewed-by: mullan, alanb, dfuchs

- src/java.base/share/classes/com/sun/security/cert/internal/x509/X509V1CertImpl.java
! src/java.base/share/classes/javax/net/ssl/HandshakeCompletedEvent.java
! src/java.base/share/classes/javax/net/ssl/SSLSession.java
! src/java.base/share/classes/sun/security/ssl/SSLSessionImpl.java
! src/java.net.http/share/classes/jdk/internal/net/http/common/ImmutableExtendedSSLSession.java
! src/java.net.http/share/classes/jdk/internal/net/http/common/ImmutableSSLSession.java
! test/jdk/sun/security/ssl/GenSSLConfigs/main.java

Changeset: f67868d9
Author:    Xue-Lei Andrew Fan 
Date:      2020-03-20 09:27:06 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/f67868d9

8219989: Retire the com.sun.net.ssl.internal.ssl.Provider name

Remove the provider name in JDK

Reviewed-by: mullan

! src/java.base/share/classes/sun/security/jca/ProviderConfig.java

Changeset: 37b7a233
Author:    Yumin Qi 
Date:      2020-03-20 09:40:30 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/37b7a233

8241009: CommandLineFlagComboNegative.java fails after JDK-8240563

Jtreg turned off UseCompressedOops and messed up vm flag options of children processes.

Reviewed-by: dholmes, stefank

! test/hotspot/jtreg/runtime/cds/appcds/CommandLineFlagComboNegative.java

Changeset: c5a74908
Author:    Rahul Yadav 
Committer: Patrick Concannon 
Date:      2020-03-20 20:16:34 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/c5a74908

8240921: Minor correction to HttpResponse.BodySubscribers example

The fix updates the incorrect example of the usage of the class java.net.http.HttpResponse.BodySubscribers.

Reviewed-by: chegar, dfuchs, jboes, pconcannon

! src/java.net.http/share/classes/java/net/http/HttpResponse.java
! test/jdk/java/net/httpclient/examples/JavadocExamples.java

Changeset: 17ff85d4
Author:    Pavel Rappo 
Date:      2020-03-20 20:54:56 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/17ff85d4

8241014: Miscellaneous typos in documentation comments

Reviewed-by: igerasim, prappo, psandoz, rriggs, weijun

! src/java.base/share/classes/java/io/FilePermission.java
! src/java.base/share/classes/java/io/Reader.java
! src/java.base/share/classes/java/lang/Character.java
! src/java.base/share/classes/java/lang/ProcessHandleImpl.java
! src/java.base/share/classes/java/lang/Runtime.java
! src/java.base/share/classes/java/lang/String.java
! src/java.base/share/classes/java/lang/constant/DirectMethodHandleDescImpl.java
! src/java.base/share/classes/java/lang/constant/DynamicCallSiteDesc.java
! src/java.base/share/classes/java/lang/constant/DynamicConstantDesc.java
! src/java.base/share/classes/java/lang/constant/MethodTypeDescImpl.java
! src/java.base/share/classes/java/lang/constant/ReferenceClassDescImpl.java
! src/java.base/share/classes/java/lang/invoke/MethodType.java
! src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java
! src/java.base/share/classes/java/math/BigDecimal.java
! src/java.base/share/classes/java/net/HttpCookie.java
! src/java.base/share/classes/java/net/MulticastSocket.java
! src/java.base/share/classes/java/nio/file/DirectoryStream.java
! src/java.base/share/classes/java/nio/file/attribute/UserDefinedFileAttributeView.java
! src/java.base/share/classes/java/security/PKCS12Attribute.java
! src/java.base/share/classes/java/security/SignatureSpi.java
! src/java.base/share/classes/java/text/BreakIterator.java
! src/java.base/share/classes/java/time/chrono/ChronoLocalDateTimeImpl.java
! src/java.base/share/classes/java/time/chrono/package-info.java
! src/java.base/share/classes/java/time/temporal/TemporalAccessor.java
! src/java.base/share/classes/java/util/Arrays.java
! src/java.base/share/classes/java/util/BitSet.java
! src/java.base/share/classes/java/util/Enumeration.java
! src/java.base/share/classes/java/util/Map.java
! src/java.base/share/classes/java/util/StringJoiner.java
! src/java.base/share/classes/java/util/regex/Pattern.java
! src/java.base/share/classes/java/util/stream/Stream.java
! src/java.base/share/classes/java/util/stream/package-info.java
! src/java.base/share/classes/javax/crypto/CryptoPolicyParser.java
! src/java.base/share/classes/javax/security/cert/X509Certificate.java
! src/java.base/share/classes/jdk/internal/icu/util/VersionInfo.java
! src/java.base/share/classes/jdk/internal/reflect/ReflectionFactory.java
! src/java.base/share/classes/sun/security/provider/AbstractDrbg.java
! src/java.base/share/classes/sun/security/provider/PolicyFile.java
! src/java.compiler/share/classes/javax/tools/JavaFileManager.java

Changeset: f778ad2f
Author:    Leonid Mesnik 
Date:      2020-03-20 17:37:52 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/f778ad2f

8241319: WB_GetCodeBlob doesn't have ResourceMark

Reviewed-by: iignatyev, thartmann

! src/hotspot/share/prims/whitebox.cpp

Changeset: ef335c75
Author:    Prasanta Sadhukhan 
Date:      2020-03-22 09:46:15 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/ef335c75

Merge

! test/jdk/ProblemList.txt
! test/jdk/ProblemList.txt

Changeset: 36af90ac
Author:    Xue-Lei Andrew Fan 
Date:      2020-03-22 09:30:16 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/36af90ac

8215712: Parsing extension failure may alert decode_error

Reviewed-by: jnimeh

! src/java.base/share/classes/sun/security/ssl/AlpnExtension.java
! src/java.base/share/classes/sun/security/ssl/CertSignAlgsExtension.java
! src/java.base/share/classes/sun/security/ssl/CertStatusExtension.java
! src/java.base/share/classes/sun/security/ssl/CookieExtension.java
! src/java.base/share/classes/sun/security/ssl/ECPointFormatsExtension.java
! src/java.base/share/classes/sun/security/ssl/ExtendedMasterSecretExtension.java
! src/java.base/share/classes/sun/security/ssl/KeyShareExtension.java
! src/java.base/share/classes/sun/security/ssl/MaxFragExtension.java
! src/java.base/share/classes/sun/security/ssl/PreSharedKeyExtension.java
! src/java.base/share/classes/sun/security/ssl/PskKeyExchangeModesExtension.java
! src/java.base/share/classes/sun/security/ssl/RenegoInfoExtension.java
! src/java.base/share/classes/sun/security/ssl/SSLExtension.java
! src/java.base/share/classes/sun/security/ssl/SSLExtensions.java
! src/java.base/share/classes/sun/security/ssl/SSLStringizer.java
! src/java.base/share/classes/sun/security/ssl/ServerHello.java
! src/java.base/share/classes/sun/security/ssl/ServerNameExtension.java
! src/java.base/share/classes/sun/security/ssl/SessionTicketExtension.java
! src/java.base/share/classes/sun/security/ssl/SignatureAlgorithmsExtension.java
! src/java.base/share/classes/sun/security/ssl/SupportedGroupsExtension.java
! src/java.base/share/classes/sun/security/ssl/SupportedVersionsExtension.java
! src/java.base/share/classes/sun/security/ssl/TransportContext.java

Changeset: 618bacec
Author:    Pengfei Li 
Date:      2020-03-23 08:37:45 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/618bacec

8241091: AArch64: "bad AD file" with VM option "-XX:-UsePopCountInstruction"

Reviewed-by: aph

! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp

Changeset: e04080bd
Author:    Magnus Ihse Bursie 
Date:      2020-03-23 10:26:13 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/e04080bd

8241310: Fix warnings in jdk buildtools

Reviewed-by: erikj, forax

! make/CompileToolsJdk.gmk
! make/jdk/src/classes/build/tools/cldrconverter/Bundle.java
! make/jdk/src/classes/build/tools/cldrconverter/CLDRConverter.java
! make/jdk/src/classes/build/tools/cldrconverter/PluralsParseHandler.java
! make/jdk/src/classes/build/tools/dtdbuilder/DTDBuilder.java
! make/jdk/src/classes/build/tools/dtdbuilder/DTDInputStream.java
! make/jdk/src/classes/build/tools/generatebreakiteratordata/GenerateBreakIteratorData.java
! make/jdk/src/classes/build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java
! make/jdk/src/classes/build/tools/generatecharacter/CharacterName.java
! make/jdk/src/classes/build/tools/generatecharacter/CharacterScript.java
! make/jdk/src/classes/build/tools/generatecharacter/PrintCharacterRanges.java
! make/jdk/src/classes/build/tools/generatecurrencydata/GenerateCurrencyData.java
! make/jdk/src/classes/build/tools/jdwpgen/Parse.java
! make/jdk/src/classes/build/tools/tzdb/TzdbZoneRulesProvider.java
! make/jdk/src/classes/build/tools/x11wrappergen/WrapperGenerator.java

Changeset: 90102935
Author:    Magnus Ihse Bursie 
Date:      2020-03-23 10:29:04 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/90102935

8241271: Make hotspot build reproducible

Reviewed-by: erikj, stefank, jwilhelm

! make/autoconf/compare.sh.in
! make/autoconf/hotspot.m4
! make/autoconf/spec.gmk.in
! make/conf/jib-profiles.js
! make/hotspot/lib/CompileJvm.gmk
! make/scripts/compare_exceptions.sh.incl
! src/hotspot/share/runtime/abstract_vm_version.cpp

Changeset: ed28a274
Author:    Kelvin Nilsen 
Committer: Aleksey Shipilev 
Date:      2020-03-23 10:37:44 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/ed28a274

8241068: Shenandoah: improve ShenandoahTraversalGC constructor arguments

Reviewed-by: shade

! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp
! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.hpp

Changeset: b66c6808
Author:    Daniel Fuchs 
Date:      2020-03-23 14:22:18 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b66c6808

8241443: Problem list some java.net tests failing with NoRouteToHostException on macOS with special network configuration

Reviewed-by: alanb

! test/jdk/ProblemList.txt

Changeset: 75a8b7fa
Author:    Mandy Chung 
Date:      2020-03-23 09:05:39 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/75a8b7fa

8240975: Extend NativeLibraries to support explicit unloading

Reviewed-by: alanb, mcimadamore

! src/java.base/share/classes/java/lang/ClassLoader.java
! src/java.base/share/classes/jdk/internal/loader/BootLoader.java
! src/java.base/share/classes/jdk/internal/loader/NativeLibraries.java
! src/java.base/share/classes/jdk/internal/loader/NativeLibrary.java
! src/java.base/share/native/libjava/NativeLibraries.c
+ test/jdk/jdk/internal/loader/NativeLibraries/Main.java
+ test/jdk/jdk/internal/loader/NativeLibraries/java.base/jdk/internal/loader/NativeLibrariesTest.java
+ test/jdk/jdk/internal/loader/NativeLibraries/libnativeLibrariesTest.c
+ test/jdk/jdk/internal/loader/NativeLibraries/p/Test.java

Changeset: 398ce294
Author:    Sandhya Viswanathan 
Date:      2020-03-23 10:26:40 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/398ce294

8240248: Extend superword reduction optimizations for x86

Add support for and, or, xor reduction

Co-authored-by: Shravya Rukmannagari 
Reviewed-by: vlivanov, thartmann

! make/devkit/createJMHBundle.sh
! src/hotspot/cpu/x86/macroAssembler_x86.cpp
! src/hotspot/cpu/x86/macroAssembler_x86.hpp
! src/hotspot/cpu/x86/x86.ad
! src/hotspot/share/adlc/formssel.cpp
! src/hotspot/share/opto/classes.hpp
! src/hotspot/share/opto/compile.cpp
! src/hotspot/share/opto/vectornode.cpp
! src/hotspot/share/opto/vectornode.hpp
! src/hotspot/share/runtime/vmStructs.cpp
+ test/hotspot/jtreg/compiler/loopopts/superword/RedTest_int.java
+ test/hotspot/jtreg/compiler/loopopts/superword/RedTest_long.java
+ test/micro/org/openjdk/bench/vm/compiler/VectorReduction.java

Changeset: edb6783a
Author:    Poonam Bajaj 
Date:      2020-03-23 17:57:13 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/edb6783a

8231779: crash HeapWord*ParallelScavengeHeap::failed_mem_allocate

Reviewed-by: dlong, tschatzl, pliden

! src/hotspot/share/gc/shared/threadLocalAllocBuffer.cpp

Changeset: f37149b1
Author:    Aleksey Shipilev 
Date:      2020-03-23 19:14:01 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/f37149b1

8241351: Shenandoah: fragmentation metrics overhaul

Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp
! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.hpp
! src/hotspot/share/gc/shenandoah/shenandoahMetrics.cpp
! src/hotspot/share/gc/shenandoah/shenandoahMetrics.hpp

Changeset: fe533725
Author:    Aleksey Shipilev 
Date:      2020-03-23 19:14:01 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/fe533725

8241435: Shenandoah: avoid disabling pacing with "aggressive"

Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAggressiveHeuristics.cpp

Changeset: b6783320
Author:    Aleksey Shipilev 
Date:      2020-03-23 19:14:01 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b6783320

8241139: Shenandoah: distribute mark-compact work exactly to minimize fragmentation

Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp
! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.hpp

Changeset: f0ba0dc6
Author:    Jonathan Gibbons 
Date:      2020-03-23 12:48:35 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/f0ba0dc6

8241190: Fix name clash for constants-summary CSS class

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/IndexRedirectWriter.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/markup/HtmlStyle.java
! test/langtools/jdk/javadoc/doclet/JavascriptWinTitle/JavascriptWinTitle.java
! test/langtools/jdk/javadoc/doclet/testMetadata/TestMetadata.java

Changeset: 81353a56
Author:    Ioi Lam 
Date:      2020-03-23 13:27:22 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/81353a56

8241244: CDS dynamic dump asserts in ArchivePtrBitmapCleaner::do_bit

Reviewed-by: minqi, coleenp

! src/hotspot/share/classfile/systemDictionaryShared.cpp

Changeset: 7dc952ec
Author:    Jonathan Gibbons 
Date:      2020-03-23 14:11:52 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/7dc952ec

8241292: Interactive Search results are not highlighted as they used to be

Reviewed-by: prappo

! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/search.js
! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java

Changeset: 23d6a788
Author:    Claes Redestad 
Date:      2020-03-23 23:18:42 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/23d6a788

8241371: Refactor and consolidate package_from_name

Reviewed-by: iklam, lfoltan

! src/hotspot/share/classfile/classFileParser.cpp
! src/hotspot/share/classfile/classLoader.cpp
! src/hotspot/share/classfile/classLoader.hpp
! src/hotspot/share/classfile/klassFactory.cpp
! src/hotspot/share/classfile/systemDictionary.cpp
! src/hotspot/share/classfile/systemDictionaryShared.cpp
! src/hotspot/share/oops/instanceKlass.cpp
! src/hotspot/share/oops/instanceKlass.hpp
! src/hotspot/share/utilities/utf8.cpp
! src/hotspot/share/utilities/utf8.hpp
! test/hotspot/gtest/oops/test_instanceKlass.cpp
! test/hotspot/gtest/runtime/test_classLoader.cpp

Changeset: 32d49650
Author:    Aditya Mandaleeka 
Committer: Aditya Mandaleeka 
Date:      2020-03-24 06:13:39 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/32d49650

8241067: Shenandoah: improve ShenandoahNMethod::has_cset_oops arguments

Reviewed-by: shade

! src/hotspot/share/gc/shenandoah/shenandoahNMethod.cpp

Changeset: 5110de6c
Author:    Andrew Dinn 
Date:      2020-03-19 17:26:11 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/5110de6c

8241144: Javadoc is not generated for new module jdk.nio.mapmode

Jdk.nio.mapmode is not present in DOCS_MODULES defined by Modules.gmk

Reviewed-by: erikj, ihse

! make/common/Modules.gmk

Changeset: d01f6719
Author:    Vladimir Kozlov 
Date:      2020-03-24 09:34:39 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/d01f6719

8237497: vmStructs_jvmci.cpp does not check that the correct field type is specified

Add missed checks for declarations in vmStructs_jvmci.cpp

Reviewed-by: iklam, thartmann

! src/hotspot/share/jvmci/jvmci.cpp
! src/hotspot/share/jvmci/vmStructs_jvmci.cpp
! src/hotspot/share/jvmci/vmStructs_jvmci.hpp
! src/hotspot/share/runtime/init.cpp
! src/hotspot/share/runtime/vmStructs.cpp
! src/hotspot/share/runtime/vmStructs.hpp
! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/GraalHotSpotVMConfig.java

Changeset: ca855006
Author:    Tobias Hartmann 
Date:      2020-03-24 17:39:52 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/ca855006

8240905: assert(mem == (Node*)1 || mem == mem2) failed: multiple Memories being matched at once?

Stop recursion if there are multiple loads with different memory inputs in the tree.

Reviewed-by: kvn, vlivanov

! src/hotspot/share/opto/matcher.cpp
! src/hotspot/share/opto/matcher.hpp
+ test/hotspot/jtreg/compiler/codegen/TestMultiMemInstructionMatching.java

Changeset: b5897fe4
Author:    Daniel D. Daugherty 
Date:      2020-03-24 13:08:54 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b5897fe4

8241532: ProblemList tests from 8241530 on OSX

Reviewed-by: ctornqvi

! test/jdk/ProblemList.txt

Changeset: 40173c50
Author:    Thomas Stuefe 
Date:      2020-03-24 18:41:07 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/40173c50

8241395: Factor out platform independent code for os::xxx_memory_special()

Reviewed-by: mbaesken, mdoerr, lucy

! src/hotspot/os/aix/os_aix.cpp
! src/hotspot/os/bsd/os_bsd.cpp
! src/hotspot/os/linux/os_linux.cpp
! src/hotspot/os/solaris/os_solaris.cpp
! src/hotspot/os/windows/os_windows.cpp
! src/hotspot/share/runtime/os.cpp
! src/hotspot/share/runtime/os.hpp

Changeset: cb1632e8
Author:    Aleksey Shipilev 
Date:      2020-03-24 18:46:48 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/cb1632e8

8241520: Shenandoah: simplify region sequence numbers handling

Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.inline.hpp
! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp

Changeset: 643f5b53
Author:    Aleksey Shipilev 
Date:      2020-03-24 18:46:48 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/643f5b53

8241534: Shenandoah: region status should include update watermark

Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp

Changeset: 6694402d
Author:    Aleksey Shipilev 
Date:      2020-03-24 18:46:48 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/6694402d

8241462: StripNativeDebugSymbols jlink plugin allocates huge arrays

Reviewed-by: alanb, sgehwolf

! src/jdk.jlink/linux/classes/jdk/tools/jlink/internal/plugins/StripNativeDebugSymbolsPlugin.java

Changeset: 7afa57a3
Author:    Aleksey Shipilev 
Date:      2020-03-24 18:46:48 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/7afa57a3

8241445: Fix copyright in test/jdk/tools/launcher/ArgFileSyntax.java

Reviewed-by: psandoz

! src/java.base/share/native/libjli/args.c
! test/jdk/tools/launcher/ArgFileSyntax.java

Changeset: 3059f593
Author:    Aleksey Shipilev 
Date:      2020-03-24 20:18:45 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/3059f593

8241545: Shenandoah: purge root work overwrites counters after JDK-8228818

Reviewed-by: zgu

! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp

Changeset: d7435182
Author:    Tom Rodriguez 
Date:      2020-03-24 13:12:19 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/d7435182

8241458: [JVMCI] add mark value to expose CodeOffsets::Frame_Complete

Reviewed-by: kvn

! src/hotspot/share/jvmci/jvmciCodeInstaller.cpp
! src/hotspot/share/jvmci/jvmciCodeInstaller.hpp
! src/hotspot/share/jvmci/vmStructs_jvmci.cpp

Changeset: 77534229
Author:    Vladimir Ivanov 
Date:      2020-03-25 00:10:22 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/77534229

8241433: x86: Add VBMI CPU feature detection

Reviewed-by: kvn

! src/hotspot/cpu/x86/vmStructs_x86.hpp
! src/hotspot/cpu/x86/vm_version_x86.cpp
! src/hotspot/cpu/x86/vm_version_x86.hpp
! src/hotspot/share/jvmci/vmStructs_jvmci.cpp

Changeset: 27ef185b
Author:    Aleksey Shipilev 
Date:      2020-03-25 07:58:17 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/27ef185b

8241500: FieldLayout/OldLayoutCheck.java fails in 32-bit VMs

Reviewed-by: fparain, dholmes

! test/hotspot/jtreg/runtime/FieldLayout/OldLayoutCheck.java

Changeset: 9a6038fb
Author:    Claes Redestad 
Date:      2020-03-25 13:38:31 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/9a6038fb

8241584: Remove unused classLoader perf counters

Reviewed-by: hseigel

! src/hotspot/share/classfile/classLoader.cpp
! src/hotspot/share/classfile/classLoader.hpp

Changeset: c01e986c
Author:    Christian Hagedorn 
Date:      2020-03-25 14:41:52 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/c01e986c

8237859: C2: Crash when loads float above range check

Fix control edges of predicates to data nodes when creating pre/main/post loops.

Reviewed-by: neliasso, thartmann, roland

! src/hotspot/share/opto/loopPredicate.cpp
! src/hotspot/share/opto/loopTransform.cpp
! src/hotspot/share/opto/loopnode.hpp
+ test/hotspot/jtreg/compiler/loopopts/TestRangeCheckPredicatesControl.java

Changeset: d1b50659
Author:    Ivan Gerasimov 
Date:      2020-03-25 08:46:31 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/d1b50659

8237599: Greedy matching against supplementary chars fails to respect the region

Reviewed-by: rriggs

! src/java.base/share/classes/java/util/regex/Pattern.java
! test/jdk/java/util/regex/RegExTest.java

Changeset: 7fc31ead
Author:    Aleksey Shipilev 
Date:      2020-03-25 17:20:58 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/7fc31ead

8241583: Shenandoah: turn heap lock asserts into macros

Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp
! src/hotspot/share/gc/shenandoah/shenandoahAsserts.hpp
! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp
! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.inline.hpp
! src/hotspot/share/gc/shenandoah/shenandoahLock.hpp

Changeset: b8f2b326
Author:    Naoto Sato 
Date:      2020-03-25 09:21:46 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b8f2b326

8241311: Move some charset mapping tests from closed to open

Reviewed-by: iris, joehw, itakiguchi, amlu

! test/jdk/sun/nio/cs/TestCharsetMapping.java
+ test/jdk/sun/nio/cs/mapping/Big5.b2c
= test/jdk/sun/nio/cs/mapping/Big5.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Big5_HKSCS.b2c
+ test/jdk/sun/nio/cs/mapping/Big5_HKSCS.b2c-irreversible
= test/jdk/sun/nio/cs/mapping/Big5_HKSCS.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Big5_HKSCS_2001.b2c
+ test/jdk/sun/nio/cs/mapping/Big5_HKSCS_2001.c2b-irreversible
= test/jdk/sun/nio/cs/mapping/Big5_Solaris.b2c
+ test/jdk/sun/nio/cs/mapping/CoderTest.java
+ test/jdk/sun/nio/cs/mapping/ConverterTest.java
+ test/jdk/sun/nio/cs/mapping/Cp037.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1006.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1025.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1026.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1046.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1047.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1097.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1098.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1112.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1122.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1123.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1124.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1250.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1251.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1252.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1253.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1254.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1255.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1256.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1257.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1258.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1364.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1364.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp1381.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1381.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp1383.b2c
+ test/jdk/sun/nio/cs/mapping/Cp1383.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp273.b2c
+ test/jdk/sun/nio/cs/mapping/Cp277.b2c
+ test/jdk/sun/nio/cs/mapping/Cp278.b2c
+ test/jdk/sun/nio/cs/mapping/Cp280.b2c
+ test/jdk/sun/nio/cs/mapping/Cp284.b2c
+ test/jdk/sun/nio/cs/mapping/Cp285.b2c
+ test/jdk/sun/nio/cs/mapping/Cp290.b2c
+ test/jdk/sun/nio/cs/mapping/Cp290.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp297.b2c
+ test/jdk/sun/nio/cs/mapping/Cp300.b2c
= test/jdk/sun/nio/cs/mapping/Cp300.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp33722.b2c
+ test/jdk/sun/nio/cs/mapping/Cp420.b2c
+ test/jdk/sun/nio/cs/mapping/Cp420.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp420.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp424.b2c
+ test/jdk/sun/nio/cs/mapping/Cp437.b2c
+ test/jdk/sun/nio/cs/mapping/Cp500.b2c
+ test/jdk/sun/nio/cs/mapping/Cp737.b2c
+ test/jdk/sun/nio/cs/mapping/Cp775.b2c
+ test/jdk/sun/nio/cs/mapping/Cp833.b2c
+ test/jdk/sun/nio/cs/mapping/Cp833.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp834.b2c
+ test/jdk/sun/nio/cs/mapping/Cp834.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp838.b2c
+ test/jdk/sun/nio/cs/mapping/Cp850.b2c
+ test/jdk/sun/nio/cs/mapping/Cp852.b2c
+ test/jdk/sun/nio/cs/mapping/Cp855.b2c
+ test/jdk/sun/nio/cs/mapping/Cp856.b2c
+ test/jdk/sun/nio/cs/mapping/Cp857.b2c
+ test/jdk/sun/nio/cs/mapping/Cp860.b2c
+ test/jdk/sun/nio/cs/mapping/Cp861.b2c
+ test/jdk/sun/nio/cs/mapping/Cp862.b2c
+ test/jdk/sun/nio/cs/mapping/Cp863.b2c
+ test/jdk/sun/nio/cs/mapping/Cp864.b2c
+ test/jdk/sun/nio/cs/mapping/Cp865.b2c
+ test/jdk/sun/nio/cs/mapping/Cp866.b2c
+ test/jdk/sun/nio/cs/mapping/Cp868.b2c
+ test/jdk/sun/nio/cs/mapping/Cp869.b2c
+ test/jdk/sun/nio/cs/mapping/Cp870.b2c
+ test/jdk/sun/nio/cs/mapping/Cp871.b2c
+ test/jdk/sun/nio/cs/mapping/Cp874.b2c
+ test/jdk/sun/nio/cs/mapping/Cp874.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp875.b2c
+ test/jdk/sun/nio/cs/mapping/Cp918.b2c
+ test/jdk/sun/nio/cs/mapping/Cp921.b2c
+ test/jdk/sun/nio/cs/mapping/Cp922.b2c
+ test/jdk/sun/nio/cs/mapping/Cp930.b2c
+ test/jdk/sun/nio/cs/mapping/Cp933.b2c
+ test/jdk/sun/nio/cs/mapping/Cp935.b2c
+ test/jdk/sun/nio/cs/mapping/Cp937.b2c
+ test/jdk/sun/nio/cs/mapping/Cp937.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp939.b2c
+ test/jdk/sun/nio/cs/mapping/Cp942.b2c
+ test/jdk/sun/nio/cs/mapping/Cp943.b2c
+ test/jdk/sun/nio/cs/mapping/Cp948.b2c
+ test/jdk/sun/nio/cs/mapping/Cp948.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp948.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp949.b2c
+ test/jdk/sun/nio/cs/mapping/Cp950.b2c
+ test/jdk/sun/nio/cs/mapping/Cp950.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp950.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp964.b2c
+ test/jdk/sun/nio/cs/mapping/Cp964.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/Cp970.b2c
+ test/jdk/sun/nio/cs/mapping/Cp970.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/EUC_CN.b2c
+ test/jdk/sun/nio/cs/mapping/EUC_JP.b2c
+ test/jdk/sun/nio/cs/mapping/EUC_JP_LINUX.b2c
+ test/jdk/sun/nio/cs/mapping/EUC_JP_Solaris.b2c
+ test/jdk/sun/nio/cs/mapping/EUC_KR.b2c
+ test/jdk/sun/nio/cs/mapping/EUC_TW.b2c
+ test/jdk/sun/nio/cs/mapping/GB18030.b2c
+ test/jdk/sun/nio/cs/mapping/GBK.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_11.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_2.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_3.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_4.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_5.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_6.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_7.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_8.b2c
+ test/jdk/sun/nio/cs/mapping/ISO8859_9.b2c
+ test/jdk/sun/nio/cs/mapping/JIS0201.b2c.private
+ test/jdk/sun/nio/cs/mapping/JIS0208.b2c.private
+ test/jdk/sun/nio/cs/mapping/JIS0212.b2c.private
+ test/jdk/sun/nio/cs/mapping/Johab.b2c
+ test/jdk/sun/nio/cs/mapping/KOI8_R.b2c
+ test/jdk/sun/nio/cs/mapping/KOI8_U.b2c
+ test/jdk/sun/nio/cs/mapping/MS50221_0208.b2c
+ test/jdk/sun/nio/cs/mapping/MS50221_0212.b2c
+ test/jdk/sun/nio/cs/mapping/MS874.b2c
+ test/jdk/sun/nio/cs/mapping/MS932.b2c.private
+ test/jdk/sun/nio/cs/mapping/MS932DB.b2c.private
+ test/jdk/sun/nio/cs/mapping/MS932DB.c2b.private
+ test/jdk/sun/nio/cs/mapping/MS932_0208.b2c
+ test/jdk/sun/nio/cs/mapping/MS936.b2c
+ test/jdk/sun/nio/cs/mapping/MS949.b2c
+ test/jdk/sun/nio/cs/mapping/MS950.b2c
+ test/jdk/sun/nio/cs/mapping/MS950.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/MS950.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/MS950_HKSCS.b2c
+ test/jdk/sun/nio/cs/mapping/MS950_HKSCS.c2b-irreversible
+ test/jdk/sun/nio/cs/mapping/MS950_HKSCS_XP.b2c
+ test/jdk/sun/nio/cs/mapping/MSCP932.b2c.abigail
+ test/jdk/sun/nio/cs/mapping/MacArabic.b2c
+ test/jdk/sun/nio/cs/mapping/MacCentralEurope.b2c
+ test/jdk/sun/nio/cs/mapping/MacCroatian.b2c
+ test/jdk/sun/nio/cs/mapping/MacCyrillic.b2c
+ test/jdk/sun/nio/cs/mapping/MacDingbat.b2c
+ test/jdk/sun/nio/cs/mapping/MacGreek.b2c
+ test/jdk/sun/nio/cs/mapping/MacHebrew.b2c
+ test/jdk/sun/nio/cs/mapping/MacIceland.b2c
+ test/jdk/sun/nio/cs/mapping/MacRoman.b2c
+ test/jdk/sun/nio/cs/mapping/MacRomania.b2c
+ test/jdk/sun/nio/cs/mapping/MacSymbol.b2c
+ test/jdk/sun/nio/cs/mapping/MacThai.b2c
+ test/jdk/sun/nio/cs/mapping/MacTurkish.b2c
+ test/jdk/sun/nio/cs/mapping/MacUkraine.b2c
+ test/jdk/sun/nio/cs/mapping/PCK.b2c
+ test/jdk/sun/nio/cs/mapping/PCK.b2c-irreversible
+ test/jdk/sun/nio/cs/mapping/SJIS.b2c
+ test/jdk/sun/nio/cs/mapping/SJIS_0213.b2c
+ test/jdk/sun/nio/cs/mapping/TIS620.b2c
+ test/jdk/sun/nio/cs/mapping/TestConv.java
+ test/jdk/sun/nio/cs/mapping/TestFmwk.java
+ test/jdk/sun/nio/cs/mapping/untested/X11SunUnicode_0.b2c
+ test/jdk/sun/nio/cs/mapping/untested/gb18030_0.b2c
+ test/jdk/sun/nio/cs/mapping/untested/gb18030_1.b2c

Changeset: b0245c2b
Author:    Anthony Scarpino 
Date:      2020-03-25 12:41:14 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b0245c2b

8237219: Disable native SunEC implementation by default

Reviewed-by: weijun, mullan

! src/java.base/share/classes/module-info.java
! src/jdk.crypto.ec/share/classes/sun/security/ec/ECDHKeyAgreement.java
! src/jdk.crypto.ec/share/classes/sun/security/ec/ECDSASignature.java
! src/jdk.crypto.ec/share/classes/sun/security/ec/ECKeyPairGenerator.java
! src/jdk.crypto.ec/share/classes/sun/security/ec/SunEC.java
! test/jdk/java/security/KeyAgreement/KeyAgreementTest.java
! test/jdk/java/security/KeyAgreement/KeySizeTest.java
! test/jdk/jdk/security/jarsigner/Spec.java
! test/jdk/sun/security/ec/ECDSAJavaVerify.java
! test/jdk/sun/security/ec/InvalidCurve.java
! test/jdk/sun/security/ec/SignatureDigestTruncate.java
! test/jdk/sun/security/ec/TestEC.java
! test/jdk/sun/security/pkcs11/ec/ReadPKCS12.java
! test/jdk/sun/security/tools/keytool/GroupName.java
! test/jdk/sun/security/tools/keytool/KeyAlg.java
! test/jdk/sun/security/tools/keytool/fakegen/DefaultSignatureAlgorithm.java

Changeset: ffe5e846
Author:    Jonathan Gibbons 
Date:      2020-03-25 15:03:39 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/ffe5e846

8241544: update stylesheet for *-page CSS class rename and hyphenated naming

Reviewed-by: prappo, hannesw

! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css
! test/langtools/jdk/javadoc/doclet/testStylesheet/TestStylesheet.java

Changeset: 60fae779
Author:    John Jiang 
Date:      2020-03-26 07:09:36 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/60fae779

8237977: Further update javax/net/ssl/compatibility/Compatibility.java

Reviewed-by: rhalade

! test/jdk/javax/net/ssl/TLSCommon/CipherSuite.java
! test/jdk/javax/net/ssl/compatibility/Cert.java
! test/jdk/javax/net/ssl/compatibility/Compatibility.java
! test/jdk/javax/net/ssl/compatibility/JdkInfo.java
! test/jdk/javax/net/ssl/compatibility/JdkUtils.java
! test/jdk/javax/net/ssl/compatibility/Server.java
! test/jdk/javax/net/ssl/compatibility/TestCase.java
! test/jdk/javax/net/ssl/compatibility/UseCase.java
! test/jdk/javax/net/ssl/compatibility/Utils.java

Changeset: 0d22ad64
Author:    Claes Redestad 
Date:      2020-03-26 00:02:08 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/0d22ad64

8241427: Coarsen locking in Modules::add_module_exports

Reviewed-by: lfoltan, hseigel

! src/hotspot/share/classfile/modules.cpp
! src/hotspot/share/classfile/modules.hpp
! src/hotspot/share/classfile/packageEntry.cpp
! src/hotspot/share/classfile/systemDictionary.cpp
! test/hotspot/jtreg/runtime/modules/AccessCheckAllUnnamed.java
! test/hotspot/jtreg/runtime/modules/JVMAddModuleExportsToAll.java

Changeset: c659b637
Author:    Pengfei Li 
Date:      2020-03-26 10:10:37 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/c659b637

8241482: AArch64: Fix a potential issue after JDK-8239549

Reviewed-by: aph

! src/hotspot/cpu/aarch64/aarch64.ad

Changeset: 913a0ff0
Author:    Jie He 
Committer: Yang Zhang 
Date:      2020-03-26 14:46:50 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/913a0ff0

8241419: Remove unused InterfaceSupport::_number_of_calls

Reviewed-by: dholmes

! src/hotspot/share/runtime/interfaceSupport.cpp
! src/hotspot/share/runtime/interfaceSupport.inline.hpp

Changeset: c4f25e51
Author:    Matthias Baesken 
Date:      2020-03-24 15:26:10 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/c4f25e51

8241491: Problem list jdk/javax/swing/UIDefaults/8146330/UIDefaultKeySizeTest.java on aix

Reviewed-by: clanger

! test/jdk/ProblemList.txt

Changeset: eb003a73
Author:    Roland Westrelin 
Date:      2020-03-20 13:56:12 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/eb003a73

8240335: C2: assert(found_sfpt) failed: no node in loop that's not input to safepoint

Reviewed-by: kvn, thartmann

! src/hotspot/share/opto/cfgnode.cpp
! src/hotspot/share/opto/cfgnode.hpp
+ test/hotspot/jtreg/compiler/loopstripmining/TestCastIIAfterUnrollingInOuterLoop.java

Changeset: b8f8dea9
Author:    Roland Westrelin 
Date:      2020-03-20 13:58:05 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b8f8dea9

8241365: Define Unique_Node_List::contains() to prevent usage by mistake

Reviewed-by: kvn, thartmann

! src/hotspot/share/opto/node.hpp

Changeset: b35032dc
Author:    Sergei Tsypanov 
Committer: Claes Redestad 
Date:      2020-03-26 10:02:57 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/b35032dc

8241649: Optimize Character.toString

Reviewed-by: redestad, rriggs

! src/java.base/share/classes/java/lang/Character.java

Changeset: f930d466
Author:    Jesper Wilhelmsson 
Date:      2020-03-26 03:15:02 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/f930d466

Added tag jdk-15+16 for changeset 5c7ec21f5d13

! .hgtags

Changeset: d882d528
Author:    Julia Boes 
Date:      2020-03-26 11:52:15 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/d882d528

8235459: HttpRequest.BodyPublishers::ofFile assumes the default file system

Add support for non-default file systems to HttpRequest.BodyPublishers::ofFile

Reviewed-by: chegar, dfuchs, amlu

! src/java.net.http/share/classes/java/net/http/HttpRequest.java
! src/java.net.http/share/classes/jdk/internal/net/http/RequestPublishers.java
+ test/jdk/java/net/httpclient/FilePublisher/FilePublisherPermsTest.java
+ test/jdk/java/net/httpclient/FilePublisher/FilePublisherPermsTest1.policy
+ test/jdk/java/net/httpclient/FilePublisher/FilePublisherPermsTest2.policy
+ test/jdk/java/net/httpclient/FilePublisher/FilePublisherPermsTest3.policy
+ test/jdk/java/net/httpclient/FilePublisher/FilePublisherTest.java
+ test/jdk/java/net/httpclient/FilePublisher/FilePublisherTest.policy
+ test/jdk/java/net/httpclient/FilePublisher/SecureZipFSProvider.java

Changeset: 307b376a
Author:    Christian Hagedorn 
Date:      2020-03-26 13:43:51 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/307b376a

8241595: Fix missing debug_orig information in Ideal Graph Visualizer

Show missing debug_orig information for nodes in Ideal Graph Visualizer.

Reviewed-by: kvn, neliasso

! src/hotspot/share/opto/idealGraphPrinter.cpp
! src/hotspot/share/opto/node.cpp
! src/hotspot/share/opto/node.hpp

Changeset: d77c52b2
Author:    Coleen Phillimore 
Date:      2020-03-26 10:29:31 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/d77c52b2

8172485: [TESTBUG] RedefineLeak.java runs out of metaspace memory

Check for zero exit value.

Reviewed-by: lfoltan

! test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/RedefineLeak.java

Changeset: eb7c80a3
Author:    Julia Boes 
Date:      2020-03-26 14:58:53 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/eb7c80a3

8241674: Fix incorrect jtreg option in FilePublisherPermsTest

Replace jtreg option 'policy' with 'java.security.policy' to extend rather than replace policy

Reviewed-by: chegar, dfuchs

! test/jdk/java/net/httpclient/FilePublisher/FilePublisherPermsTest.java

Changeset: e11ab6a4
Author:    Per Lid?n 
Date:      2020-03-26 16:56:42 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/e11ab6a4

8241596: ZGC: Shorten runtime of gc/z/TestUncommit.java

Reviewed-by: tschatzl, sjohanss

! test/hotspot/jtreg/gc/z/TestUncommit.java

Changeset: 54e2c6fe
Author:    Daniil Titov 
Date:      2020-03-26 09:03:52 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/54e2c6fe

8196751: Add jhsdb option to specify debug server RMI connector port

Reviewed-by: sspitsyn, ysuenaga

! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/HotSpotAgent.java
! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/SALauncher.java
! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/remote/RemoteDebuggerServer.java
! test/hotspot/jtreg/serviceability/sa/sadebugd/SADebugDTest.java
! test/lib/jdk/test/lib/Utils.java

Changeset: 098b48b7
Author:    Mikhailo Seledtsov 
Date:      2020-03-26 10:03:35 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/098b48b7

8240634: event/runtime/TestMetaspaceAllocationFailure.java times out

Limit number of iterations

Reviewed-by: egahlin, stuefe

! test/jdk/jdk/jfr/event/runtime/TestMetaspaceAllocationFailure.java

Changeset: e509368f
Author:    Calvin Cheung 
Date:      2020-03-26 10:14:52 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/e509368f

8233093: Move CDS heap oopmaps into new MetaspaceShared::bm region

Moved the _closed_archive_heap_oopmaps and _open_archive_heap_oopmaps from the ro to the bm region.

Reviewed-by: iklam, minqi

! src/hotspot/share/memory/dynamicArchive.cpp
! src/hotspot/share/memory/filemap.cpp
! src/hotspot/share/memory/filemap.hpp
! src/hotspot/share/memory/metaspaceShared.cpp
! src/hotspot/share/memory/metaspaceShared.hpp

Changeset: 8c5531b6
Author:    Aleksey Shipilev 
Date:      2020-03-26 19:08:30 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/8c5531b6

8241668: Shenandoah: make ShenandoahHeapRegion not derive from ContiguousSpace

Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp
! src/hotspot/share/gc/shenandoah/vmStructs_shenandoah.hpp
! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shenandoah/ShenandoahHeapRegion.java

Changeset: 6be46f8e
Author:    Aleksey Shipilev 
Date:      2020-03-26 19:09:20 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/6be46f8e

8241673: Shenandoah: refactor anti-false-sharing padding

Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.hpp
! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.hpp
! src/hotspot/share/gc/shenandoah/shenandoahControlThread.hpp
! src/hotspot/share/gc/shenandoah/shenandoahEvacOOMHandler.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp
! src/hotspot/share/gc/shenandoah/shenandoahHeapRegionSet.hpp
! src/hotspot/share/gc/shenandoah/shenandoahLock.hpp
! src/hotspot/share/gc/shenandoah/shenandoahNMethod.hpp
! src/hotspot/share/gc/shenandoah/shenandoahPacer.hpp
+ src/hotspot/share/gc/shenandoah/shenandoahPadding.hpp
! src/hotspot/share/gc/shenandoah/shenandoahSharedVariables.hpp
! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.hpp

Changeset: ebdb70fe
Author:    Ekaterina Pavlova 
Date:      2020-03-26 14:24:53 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/ebdb70fe

8236975: compiler/graalunit tests fails with --illegal-access=deny

Reviewed-by: iignatyev, kvn, alanb

! test/hotspot/jtreg/compiler/graalunit/CoreTest.java
! test/hotspot/jtreg/compiler/graalunit/GraphTest.java
! test/hotspot/jtreg/compiler/graalunit/HotspotJdk9Test.java
! test/hotspot/jtreg/compiler/graalunit/HotspotSparcTest.java
! test/hotspot/jtreg/compiler/graalunit/ReplacementsTest.java
! test/hotspot/jtreg/compiler/graalunit/TestPackages.txt
! test/hotspot/jtreg/compiler/graalunit/common/GraalUnitTestLauncher.java
! test/hotspot/jtreg/compiler/graalunit/generateTests.sh

Changeset: 5f1636b2
Author:    Chris Plummer 
Date:      2020-03-26 15:13:21 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/5f1636b2

8241696: ProblemList gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java due to JDK-8241293

Reviewed-by: dcubed, ctornqvi

! test/hotspot/jtreg/ProblemList.txt

Changeset: 87805d92
Author:    Jonathan Gibbons 
Date:      2020-03-26 20:36:56 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/87805d92

8241470: HtmlStyle: group and document members: description, flex, signature

Reviewed-by: hannesw

! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.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/testIndentation/TestIndentation.java
! test/langtools/jdk/javadoc/doclet/testJavaFX/TestJavaFX.java
! test/langtools/jdk/javadoc/doclet/testMemberInheritance/TestMemberInheritance.java
! test/langtools/jdk/javadoc/doclet/testMethodSignature/TestMethodSignature.java
! test/langtools/jdk/javadoc/doclet/testNewLanguageFeatures/TestNewLanguageFeatures.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

Changeset: 2bc4308d
Author:    Vipin M V 
Committer: Vyom Tewari 
Date:      2020-03-27 11:34:45 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/2bc4308d

8129841: Update comment for Java_java_net_Inet6AddressImpl_getHostByAddr

Update comment for Java_java_net_Inet6AddressImpl_getHostByAddr

Reviewed-by: vtewari, alanb

! src/java.base/unix/native/libnet/Inet4AddressImpl.c
! src/java.base/unix/native/libnet/Inet6AddressImpl.c
! src/java.base/windows/native/libnet/Inet4AddressImpl.c
! src/java.base/windows/native/libnet/Inet6AddressImpl.c

Changeset: cc8715d8
Author:    Thomas Stuefe 
Date:      2020-03-27 07:16:22 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/cc8715d8

8241581: Add BitMap::count_one_bits variant for arbitrary lengths

Reviewed-by: redestad, kbarrett

! src/hotspot/share/utilities/bitMap.cpp
! src/hotspot/share/utilities/bitMap.hpp
+ test/hotspot/gtest/utilities/test_bitMap_popcnt.cpp

Changeset: 83f7ee14
Author:    Thomas Stuefe 
Date:      2020-03-27 08:45:59 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/83f7ee14

8241723: Build error after 8241581

Reviewed-by: kbarrett, clanger

- test/hotspot/gtest/utilities/test_bitMap_popcnt.cpp

Changeset: 67cf35ee
Author:    Yasumasa Suenaga 
Date:      2020-03-27 17:07:23 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/67cf35ee

8240956: SEGV in DwarfParser::process_dwarf after JDK-8234624

Reviewed-by: sspitsyn, kevinw

! src/jdk.hotspot.agent/linux/native/libsaproc/dwarf.cpp
! src/jdk.hotspot.agent/linux/native/libsaproc/libproc_impl.c
! src/jdk.hotspot.agent/linux/native/libsaproc/libproc_impl.h
! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64CFrame.java
! test/hotspot/jtreg/ProblemList.txt

Changeset: 7048684c
Author:    Thomas Schatzl 
Date:      2020-03-27 09:44:53 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/7048684c

8238855: Move G1ConcurrentMark flag sanity checks to g1Arguments

Reviewed-by: sjohanss, kbarrett

! src/hotspot/share/gc/g1/g1Arguments.cpp
! src/hotspot/share/gc/g1/g1Arguments.hpp
! 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/shared/gc_globals.hpp
! src/hotspot/share/gc/shared/jvmFlagConstraintsGC.cpp
+ test/hotspot/jtreg/gc/g1/TestMarkStackSizes.java

Changeset: 5ff2d7ba
Author:    Roland Westrelin 
Date:      2020-03-24 11:06:26 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/5ff2d7ba

8240676: Meet not symmetric failure when running lucene on jdk8

Reviewed-by: kvn, thartmann

! src/hotspot/share/opto/compile.cpp
! src/hotspot/share/opto/compile.hpp
! src/hotspot/share/opto/type.cpp
! src/hotspot/share/opto/type.hpp
+ test/hotspot/jtreg/compiler/types/TestArrayMeetNotSymmetrical.java

Changeset: 85d5048c
Author:    Roland Westrelin 
Date:      2020-03-24 10:31:37 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/85d5048c

8241675: Shenandoah: assert(n->outcnt() > 0) at shenandoahSupport.cpp:2858 with java/util/Collections/FindSubList.java

Reviewed-by: rkennke

! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp

Changeset: c9f5004b
Author:    Matthias Baesken 
Date:      2020-03-25 13:05:42 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/c9f5004b

8241586: compiler/cpuflags/TestAESIntrinsicsOnUnsupportedConfig.java fails on aarch64

Reviewed-by: clanger

! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp

Changeset: 1dd60a35
Author:    Roman Kennke 
Date:      2020-01-22 15:55:02 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/1dd60a35

8227269: Slow class loading when running with JDWP

Reviewed-by: sspitsyn, cjplummer

! src/jdk.jdwp.agent/share/native/libjdwp/classTrack.c
! src/jdk.jdwp.agent/share/native/libjdwp/classTrack.h
! src/jdk.jdwp.agent/share/native/libjdwp/eventHandler.c
! src/jdk.jdwp.agent/share/native/libjdwp/util.c
! src/jdk.jdwp.agent/share/native/libjdwp/util.h

Changeset: f53ee4ba
Author:    duke 
Date:      2020-03-27 11:01:38 +0000
URL:       https://git.openjdk.java.net/panama-foreign/commit/f53ee4ba

Automatic merge of jdk:master into master



From ach at activeviam.com  Fri Mar 27 14:26:28 2020
From: ach at activeviam.com (Antoine Chambille)
Date: Fri, 27 Mar 2020 15:26:28 +0100
Subject: Vector API performance variation with arrays,
 byte arrays or byte buffers
In-Reply-To: 
References: 
 
 
 <5294DC98-7AAB-40A1-8D9B-2BB0000C206A@oracle.com>
 
 
Message-ID: 

Hi Vladimir,

Those improvements look very promising indeed! Do you plan to commit them?

Cheers,
-Antoine



On Thu, Mar 12, 2020 at 2:41 PM Vladimir Ivanov <
vladimir.x.ivanov at oracle.com> wrote:

> I made an attempt [1] to disambiguate on-/off-heap cases and got some
> promising results:
>
> Before:
>    vectorArrayArray      4324400.963 ? 15860.271  ops/s
>    vectorDirectDirectBB  1466029.753 ? 20695.287  ops/s
>    vectorHeapHeapBB      1588239.882 ? 26866.547  ops/s
>    vectorMixedMixedBB    1562751.985 ?  4030.195  ops/s
>
> vs
>
> After:
>
>    vectorArrayArray      6142945.618 ? 29510.409  ops/s
>    vectorDirectDirectBB  9378799.915 ? 75314.175  ops/s
>    vectorHeapHeapBB      7470962.611 ? 88597.635  ops/s
>    vectorMixedMixedBB    1602557.365 ? 10859.592  ops/s
>
>
> But profile pollution is still a problem (at least, for on-heap case):
>
> -f 0:
>    vectorArrayArray      5700371.818 ?  35667.373  ops/s
>    vectorBufferBufferBB  9243089.668 ? 340918.224  ops/s
>    vectorHeapHeapBB      1155846.181 ?  12768.211  ops/s
>    vectorMixedMixedBB    1492740.924 ?  22736.938  ops/s
>
> Best regards,
> Vladimir Ivanov
>
> [1]
>
> diff --git a/src/java.base/share/classes/java/nio/X-Buffer.java.template
> b/src/java.base/share/classes/java/nio/X-Buffer.java.template
> --- a/src/java.base/share/classes/java/nio/X-Buffer.java.template
> +++ b/src/java.base/share/classes/java/nio/X-Buffer.java.template
> @@ -303,7 +303,7 @@
>
>       @Override
>       Object base() {
> -        return hb;
> +        return Objects.requireNonNull(hb);
>       }
>
>   #if[byte]
> diff --git a/src/java.base/share/classes/module-info.java
> b/src/java.base/share/classes/module-info.java
> --- a/src/java.base/share/classes/module-info.java
> +++ b/src/java.base/share/classes/module-info.java
> @@ -152,7 +152,8 @@
>           java.rmi,
>           jdk.jlink,
>           jdk.net,
> -        jdk.incubator.foreign;
> +        jdk.incubator.foreign,
> +        jdk.incubator.vector;
>       exports jdk.internal.access.foreign to
>           jdk.incubator.foreign;
>       exports jdk.internal.event to
> diff --git
> a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorIntrinsics.java
>
>
> b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorIntrinsics.java
> ---
>
> a/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorIntrinsics.java
> +++
>
> b/src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorIntrinsics.java
> @@ -1,6 +1,8 @@
>   package jdk.incubator.vector;
>
>   import jdk.internal.HotSpotIntrinsicCandidate;
> +import jdk.internal.access.JavaNioAccess;
> +import jdk.internal.access.SharedSecrets;
>   import jdk.internal.misc.Unsafe;
>   import jdk.internal.vm.annotation.ForceInline;
>
> @@ -570,16 +572,17 @@
>           return U.getMaxVectorSize(etype);
>       }
>
> +    private static final JavaNioAccess JNA =
> SharedSecrets.getJavaNioAccess();
>
>       /*package-private*/
>       @ForceInline
>       static Object bufferBase(ByteBuffer bb) {
> -        return U.getReference(bb, BYTE_BUFFER_HB);
> +        return JNA.getBufferBase(bb);
>       }
>
>       /*package-private*/
>       @ForceInline
>       static long bufferAddress(ByteBuffer bb, long offset) {
> -        return U.getLong(bb, BUFFER_ADDRESS) + offset;
> +        return JNA.getBufferAddress(bb) + offset;
>       }
>   }
>
> On 12.03.2020 11:52, Vladimir Ivanov wrote:
> >
> >>> Membars are the culprit, but once they are gone,
> >>
> >> Ah, yes! What -XX option dod you use to disable insertion of the
> barrier?
> >> How can we make those go away? IIRC some work was done in Panama to
> >> fix this?
> >
> > Unfortunately, no flags are available. Just a quick-n-dirty hack for now
> > [1].
> >
> > There was some work to avoid barriers around off-heap accesses [2], but
> > here the problem is with mixed accesses.
> >
> > For mixed access, there was additional profiling introduced [3] to
> > enable speculative disambiguation, but even if we enable something
> > similar for VectorIntrinsics.load/store it won't help: profile pollution
> > will defeat it pretty quickly.
> >
> > I haven't thought it through yet, but possible answer could be to
> > specialize the implementation for heap and direct buffers. Not sure
> > about the implementation details though, so more experiments are needed.
> >
> > Best regards,
> > Vladimir Ivanov
> >
> > [1]
> > diff --git a/src/hotspot/share/opto/library_call.cpp
> > b/src/hotspot/share/opto/library_call.cpp
> > --- a/src/hotspot/share/opto/library_call.cpp
> > +++ b/src/hotspot/share/opto/library_call.cpp
> > @@ -7432,6 +7432,8 @@
> >     const TypePtr *addr_type = gvn().type(addr)->isa_ptr();
> >     const TypeAryPtr* arr_type = addr_type->isa_aryptr();
> >
> > +  bool needs_cpu_membar = can_access_non_heap &&
> > (_gvn.type(base)->isa_ptr() != TypePtr::NULL_PTR);
> > +
> >     // Now handle special case where load/store happens from/to byte
> > array but element type is not byte.
> >     bool using_byte_array = arr_type != NULL &&
> > arr_type->elem()->array_element_basic_type() == T_BYTE && elem_bt !=
> > T_BYTE;
> >     // Handle loading masks.
> > @@ -7473,7 +7475,7 @@
> >
> >     const TypeInstPtr* vbox_type =
> > TypeInstPtr::make_exact(TypePtr::NotNull, vbox_klass);
> >
> > -  if (can_access_non_heap) {
> > +  if (needs_cpu_membar && !UseNewCode) {
> >       insert_mem_bar(Op_MemBarCPUOrder);
> >     }
> >
> > @@ -7517,7 +7519,7 @@
> >       set_vector_result(box);
> >     }
> >
> > -  if (can_access_non_heap) {
> > +  if (needs_cpu_membar && !UseNewCode) {
> >       insert_mem_bar(Op_MemBarCPUOrder);
> >     }
> >
> > diff --git a/src/hotspot/share/opto/loopTransform.cpp
> > b/src/hotspot/share/opto/loopTransform.cpp
> > --- a/src/hotspot/share/opto/loopTransform.cpp
> > +++ b/src/hotspot/share/opto/loopTransform.cpp
> > @@ -781,7 +781,7 @@
> >     }
> >
> >     // Check for initial stride being a small enough constant
> > -  if (abs(cl->stride_con()) > (1<<2)*future_unroll_cnt) return false;
> > +  if (!UseNewCode2 && abs(cl->stride_con()) > (1<<2)*future_unroll_cnt)
> > return false;
> >
> >     // Don't unroll if the next round of unrolling would push us
> >     // over the expected trip count of the loop.  One is subtracted
> >
> >
> > [2] https://bugs.openjdk.java.net/browse/JDK-8226411
> >
> > [3] https://bugs.openjdk.java.net/browse/JDK-8181211
> >
> >>> C2 unrolling heuristics need some tweaking as well: it doesn't unroll
> >>> loops with large strides (8*8 = 32).
> >>>
> >>> Once membars are gone and unrolling is fixed, the scores become in
> >>> favor of direct buffers (my guess is due to alignment):
> >>>
> >>> Before:
> >>>
> >>>  -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=2:
> >>>    vectorArrayArray      5738494.127 ? 52704.256  ops/s
> >>>    vectorBufferBuffer    1584747.638 ? 35644.433  ops/s
> >>>
> >>>  -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=0:
> >>>    vectorArrayArray      5705607.529 ?  118589.894  ops/s
> >>>    vectorBufferBuffer    2573858.340 ?   3322.248  ops/s
> >>>
> >>> vs
> >>>
> >>> After (no membars + unrolling):
> >>>
> >>>  -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=[0,2]:
> >>>    vectorArrayArray      7961232.893 ? 59427.218  ops/s
> >>>    vectorBufferBuffer    8600848.228 ? 84322.430  ops/s
> >>>
> >>> Best regards,
> >>> Vladimir Ivanov
> >>>
> >>>>> On Mar 10, 2020, at 7:51 AM, Antoine Chambille  >>>>> > wrote:
> >>>>>
> >>>>> Hi folks,
> >>>>>
> >>>>> First, the new Vector API is -awesome- and it makes Java the best
> >>>>> language
> >>>>> for writing data parallel algorithms, a remarkable turnaround. It
> >>>>> reminds
> >>>>> me of when Java 5 became the best language for concurrent
> programming.
> >>>>>
> >>>>> I'm benchmarking a use case where you aggregate element wise an
> >>>>> array of
> >>>>> doubles into another array of doubles ( ai += bi for each
> >>>>> coordinate ).
> >>>>> There are large performance variations depending on whether the
> >>>>> data is
> >>>>> held in arrays, byte arrays or byte buffers. Disabling bounds
> checking
> >>>>> removes some of the overhead but not all. I'm sharing the JMH
> >>>>> microbenchmark below if that can help.
> >>>>>
> >>>>>
> >>>>>
> >>>>> Here are the results of running the benchmark on my laptop with
> >>>>> Windows 10
> >>>>> and an Intel core i9-8950HK @2.90GHz
> >>>>>
> >>>>>
> >>>>> -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=2
> >>>>>
> >>>>> Benchmark                  Mode  Cnt        Score        Error  Units
> >>>>> standardArrayArray        thrpt    5  4657680.731 ?  22775.673  ops/s
> >>>>> standardArrayBuffer       thrpt    5  1074170.758 ?  28116.666  ops/s
> >>>>> standardBufferArray       thrpt    5  1066531.757 ?  39990.913  ops/s
> >>>>> standardBufferBuffer      thrpt    5   801500.523 ?  19984.247  ops/s
> >>>>> vectorArrayArray          thrpt    5  7107822.743 ? 454478.273  ops/s
> >>>>> vectorArrayBuffer         thrpt    5  1922263.407 ?  29921.036  ops/s
> >>>>> vectorBufferArray         thrpt    5  2732335.558 ?  81958.886  ops/s
> >>>>> vectorBufferBuffer        thrpt    5  1833276.409 ?  59682.441  ops/s
> >>>>> vectorByteArrayByteArray  thrpt    5  4618267.357 ? 127141.691  ops/s
> >>>>>
> >>>>>
> >>>>>
> >>>>> -Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=0
> >>>>>
> >>>>> Benchmark                  Mode  Cnt        Score        Error  Units
> >>>>> standardArrayArray        thrpt    5  4692286.894 ?  67785.058  ops/s
> >>>>> standardArrayBuffer       thrpt    5  1073420.025 ?  28216.922  ops/s
> >>>>> standardBufferArray       thrpt    5  1066385.323 ?  15700.653  ops/s
> >>>>> standardBufferBuffer      thrpt    5   797741.269 ?  15881.590  ops/s
> >>>>> vectorArrayArray          thrpt    5  8351594.873 ? 153608.251  ops/s
> >>>>> vectorArrayBuffer         thrpt    5  3107638.739 ? 223093.281  ops/s
> >>>>> vectorBufferArray         thrpt    5  3653867.093 ?  75307.265  ops/s
> >>>>> vectorBufferBuffer        thrpt    5  2224031.876 ?  49263.778  ops/s
> >>>>> vectorByteArrayByteArray  thrpt    5  4761018.920 ? 264243.227  ops/s
> >>>>>
> >>>>>
> >>>>>
> >>>>> cheers,
> >>>>> -Antoine
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>> package com.activeviam;
> >>>>>
> >>>>> import jdk.incubator.vector.DoubleVector;
> >>>>> import jdk.incubator.vector.VectorSpecies;
> >>>>> import org.openjdk.jmh.annotations.*;
> >>>>> import org.openjdk.jmh.runner.Runner;
> >>>>> import org.openjdk.jmh.runner.options.Options;
> >>>>> import org.openjdk.jmh.runner.options.OptionsBuilder;
> >>>>>
> >>>>> import java.nio.ByteBuffer;
> >>>>> import java.nio.ByteOrder;
> >>>>>
> >>>>> /**
> >>>>> * Benchmark the element wise aggregation of an array
> >>>>> * of doubles into another array of doubles, using
> >>>>> * combinations of  java arrays, byte buffers, standard java code
> >>>>> * and the new Vector API.
> >>>>> */
> >>>>> public class AggregationBenchmark {
> >>>>>
> >>>>>    /** Manually launch JMH */
> >>>>>    public static void main(String[] params) throws Exception {
> >>>>>        Options opt = new OptionsBuilder()
> >>>>>            .include(AggregationBenchmark.class.getSimpleName())
> >>>>>            .forks(1)
> >>>>>            .build();
> >>>>>
> >>>>>        new Runner(opt).run();
> >>>>>    }
> >>>>>
> >>>>>
> >>>>>    @State(Scope.Benchmark)
> >>>>>    public static class Data {
> >>>>>        final static int SIZE = 1024;
> >>>>>        final double[] inputArray;
> >>>>>        final double[] outputArray;
> >>>>>        final byte[] inputByteArray;
> >>>>>        final byte[] outputByteArray;
> >>>>>        final ByteBuffer inputBuffer;
> >>>>>        final ByteBuffer outputBuffer;
> >>>>>
> >>>>>        public Data() {
> >>>>>            this.inputArray = new double[SIZE];
> >>>>>            this.outputArray = new double[SIZE];
> >>>>>            this.inputByteArray = new byte[8 * SIZE];
> >>>>>            this.outputByteArray = new byte[8 * SIZE];
> >>>>>            this.inputBuffer = ByteBuffer.allocateDirect(8 * SIZE);
> >>>>>            this.outputBuffer = ByteBuffer.allocateDirect(8 * SIZE);
> >>>>>        }
> >>>>>    }
> >>>>>
> >>>>>    @Benchmark
> >>>>>    public void standardArrayArray(Data state) {
> >>>>>        final double[] input = state.inputArray;
> >>>>>        final double[] output = state.outputArray;
> >>>>>        for(int i = 0; i < input.length; i++) {
> >>>>>            output[i] += input[i];
> >>>>>        }
> >>>>>    }
> >>>>>
> >>>>>    @Benchmark
> >>>>>    public void standardArrayBuffer(Data state) {
> >>>>>        final double[] input = state.inputArray;
> >>>>>        final ByteBuffer output = state.outputBuffer;
> >>>>>        for(int i = 0; i < input.length; i++) {
> >>>>>            output.putDouble(i << 3, output.getDouble(i << 3) +
> >>>>> input[i]);
> >>>>>        }
> >>>>>    }
> >>>>>
> >>>>>    @Benchmark
> >>>>>    public void standardBufferArray(Data state) {
> >>>>>        final ByteBuffer input = state.inputBuffer;
> >>>>>        final double[] output = state.outputArray;
> >>>>>        for(int i = 0; i < input.capacity(); i+=8) {
> >>>>>            output[i >>> 3] += input.getDouble(i);
> >>>>>        }
> >>>>>    }
> >>>>>
> >>>>>    @Benchmark
> >>>>>    public void standardBufferBuffer(Data state) {
> >>>>>        final ByteBuffer input = state.inputBuffer;
> >>>>>        final ByteBuffer output = state.outputBuffer;
> >>>>>        for(int i = 0; i < input.capacity(); i+=8) {
> >>>>>            output.putDouble(i, output.getDouble(i) +
> >>>>> input.getDouble(i));
> >>>>>        }
> >>>>>    }
> >>>>>
> >>>>>
> >>>>>    final static VectorSpecies SPECIES =
> >>>>> DoubleVector.SPECIES_MAX;
> >>>>>
> >>>>>    @Benchmark
> >>>>>    public void vectorArrayArray(Data state) {
> >>>>>        final double[] input = state.inputArray;
> >>>>>        final double[] output = state.outputArray;
> >>>>>
> >>>>>        for (int i = 0; i < input.length; i+=SPECIES.length()) {
> >>>>>            DoubleVector a = DoubleVector.fromArray(SPECIES, input,
> i);
> >>>>>            DoubleVector b = DoubleVector.fromArray(SPECIES, output,
> >>>>> i);
> >>>>>            a = a.add(b);
> >>>>>            a.intoArray(output, i);
> >>>>>        }
> >>>>>    }
> >>>>>
> >>>>>    @Benchmark
> >>>>>    public void vectorByteArrayByteArray(Data state) {
> >>>>>        final byte[] input = state.inputByteArray;
> >>>>>        final byte[] output = state.outputByteArray;
> >>>>>
> >>>>>        for (int i = 0; i < input.length; i += 8 * SPECIES.length()) {
> >>>>>            DoubleVector a = DoubleVector.fromByteArray(SPECIES,
> >>>>> input, i);
> >>>>>            DoubleVector b = DoubleVector.fromByteArray(SPECIES,
> >>>>> output, i);
> >>>>>            a = a.add(b);
> >>>>>            a.intoByteArray(output, i);
> >>>>>        }
> >>>>>    }
> >>>>>
> >>>>>    @Benchmark
> >>>>>    public void vectorBufferBuffer(Data state) {
> >>>>>        final ByteBuffer input = state.inputBuffer;
> >>>>>        final ByteBuffer output = state.outputBuffer;
> >>>>>        for (int i = 0; i < input.capacity(); i += 8 *
> >>>>> SPECIES.length()) {
> >>>>>            DoubleVector a = DoubleVector.fromByteBuffer(SPECIES,
> >>>>> input, i,
> >>>>> ByteOrder.nativeOrder());
> >>>>>            DoubleVector b = DoubleVector.fromByteBuffer(SPECIES,
> >>>>> output,
> >>>>> i, ByteOrder.nativeOrder());
> >>>>>            a = a.add(b);
> >>>>>            a.intoByteBuffer(output, i, ByteOrder.nativeOrder());
> >>>>>        }
> >>>>>    }
> >>>>>
> >>>>>    @Benchmark
> >>>>>    public void vectorArrayBuffer(Data state) {
> >>>>>        final double[] input = state.inputArray;
> >>>>>        final ByteBuffer output = state.outputBuffer;
> >>>>>
> >>>>>        for (int i = 0; i < input.length; i+=SPECIES.length()) {
> >>>>>            DoubleVector a = DoubleVector.fromArray(SPECIES, input,
> i);
> >>>>>            DoubleVector b = DoubleVector.fromByteBuffer(SPECIES,
> >>>>> output, i
> >>>>> << 3, ByteOrder.nativeOrder());
> >>>>>            a = a.add(b);
> >>>>>            a.intoByteBuffer(output, i << 3, ByteOrder.nativeOrder());
> >>>>>        }
> >>>>>    }
> >>>>>
> >>>>>    @Benchmark
> >>>>>    public void vectorBufferArray(Data state) {
> >>>>>        final ByteBuffer input = state.inputBuffer;
> >>>>>        final double[] output = state.outputArray;
> >>>>>        for (int i = 0; i < input.capacity(); i += 8 *
> >>>>> SPECIES.length()) {
> >>>>>            DoubleVector a = DoubleVector.fromByteBuffer(SPECIES,
> >>>>> input, i,
> >>>>> ByteOrder.nativeOrder());
> >>>>>            DoubleVector b = DoubleVector.fromArray(SPECIES, output,
> >>>>> i >>>
> >>>>> 3);
> >>>>>            a = a.add(b);
> >>>>>            a.intoArray(output, i >>> 3);
> >>>>>        }
> >>>>>    }
> >>>>>
> >>>>> }
> >>
>

From sandhya.viswanathan at intel.com  Fri Mar 27 16:21:25 2020
From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya)
Date: Fri, 27 Mar 2020 16:21:25 +0000
Subject: [vectorIntrinsics] Variable shift (shift by vector) code gen
 cleanup for x86
In-Reply-To: <14d31834-8462-e4fb-6b9b-6949e37a1f57@oracle.com>
References: 
 <14d31834-8462-e4fb-6b9b-6949e37a1f57@oracle.com>
Message-ID: 

Thanks a lot Vladimir for the review.

Best Regards,
Sandhya

-----Original Message-----
From: Vladimir Ivanov  
Sent: Friday, March 27, 2020 2:05 AM
To: Viswanathan, Sandhya ; panama-dev ; Rukmannagari, Shravya 
Subject: Re: [vectorIntrinsics] Variable shift (shift by vector) code gen cleanup for x86


> http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/VariableShift/webrev.00/

Looks good.

Best regards,
Vladimir Ivanov

From sandhya.viswanathan at intel.com  Fri Mar 27 16:22:02 2020
From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya)
Date: Fri, 27 Mar 2020 16:22:02 +0000
Subject: [vectorIntrinsics] Variable shift (shift by vector) code gen
 cleanup for x86
In-Reply-To: 
References: 
 
Message-ID: 

Thanks a lot Shrayva for the review.



Best Regards,

Sandhya



From: Rukmannagari, Shravya 
Sent: Thursday, March 26, 2020 10:11 PM
To: Viswanathan, Sandhya ; panama-dev 
Subject: RE: [vectorIntrinsics] Variable shift (shift by vector) code gen cleanup for x86

Hi Sandhya,
The patch looks good to me.

Thanks,
Shravya.

From: Viswanathan, Sandhya 
Sent: Thursday, March 26, 2020 7:41 PM
To: panama-dev ; Rukmannagari, Shravya 
Subject: [vectorIntrinsics] Variable shift (shift by vector) code gen cleanup for x86

Please find below a webrev which cleans up variable shift code gen for x86:

http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/VariableShift/webrev.00/

Best Regards,
Sandhya


From sandhya.viswanathan at intel.com  Fri Mar 27 16:32:33 2020
From: sandhya.viswanathan at intel.com (sandhya.viswanathan at intel.com)
Date: Fri, 27 Mar 2020 16:32:33 +0000
Subject: hg: panama/dev: Summary: [vectorIntrinsics] Variable shift code gen
 cleanup for x86
Message-ID: <202003271632.02RGWYr1013155@aojmv0008.oracle.com>

Changeset: 4699b7c13a52
Author:    sviswanathan
Date:      2020-03-27 09:30 -0700
URL:       https://hg.openjdk.java.net/panama/dev/rev/4699b7c13a52

Summary: [vectorIntrinsics] Variable shift code gen cleanup for x86
Reviewed-by: vlivanov, srukmannagar

! src/hotspot/cpu/x86/macroAssembler_x86.cpp
! src/hotspot/cpu/x86/macroAssembler_x86.hpp
! src/hotspot/cpu/x86/stubRoutines_x86.hpp
! src/hotspot/cpu/x86/x86.ad


From mcimadamore at openjdk.java.net  Fri Mar 27 18:55:29 2020
From: mcimadamore at openjdk.java.net (Maurizio Cimadamore)
Date: Fri, 27 Mar 2020 18:55:29 GMT
Subject: [foreign-memaccess] RFR: JDK-8241772: MemorySegment should offer a
 spliterator
Message-ID: 

This patch rethinks how shared memory segment work; up to now, our story for sharing a segment across multiple threads
has been to support a ref-counting strategy (see MemorySegment::acquire). While this mechanism is very general, and can
be used to support different idioms, it also significantly increases the complexity surface of the memory access API;
also, the constrained nature of the acquire() mechanism is, in some occasions, still not general enough to support all
the use cases - the cases which cannot workaround the confinement guarantees.

Because of this, I believe it is a better course of action to restrict the memory segment sharing capabilities to those
use cases that are well-behaved enough: parallel processing of a segment via divide-and-conquer. This can be achieved
rather succintly by having a segment offering a spliterator, which can then be used to create e.g. a parallel stream
(see example in the test), or to create a fork/join recursive action (again, see test for some examples).

Of course we will need some kind of escape hatch for when a "true" shared segment is required - this could be provided
by either offering a way to register a segment against a Cleaner, and giving up the deterministic deallocation
guarantees in that case; the need for such GC-managed segment has already arisen when dealing with native interop use
cases (e.g. a binding might need to create long-lived constants which are basically never closed).

Alternatively, the escape hatch could be an unsafe segment which is not thread confined, and can be closed from any
thread (this is a solution that, I'm sure, some of the people I've chatted with will appreciate).

Either way, it is important to realize that the long-lived, shared segment is pretty far from the design center of the
memory access API - whose goal is, after all, to improve over some of the things that direct buffers aren't so great
at. If you are after a big, long-lived slab of shared memory, chances are that the ByteBuffer is already good enough at
handling those.

Where the pressure comes from, is, we believe, in those allocation-intensive scenarios, where the cleaner mechanism
(which is the only choice for direct buffers) is simply not enough to guarantee a reasonable throughput. These are also
the cases that are crucial to achieve an efficient native interop support.

So, let's focus on what this API does best - which is managing confined memory segments - and let's build on that to
cover the divide and conquer use cases (through the spliterator machinery).

Sidebar: for those of you worried that the lack of acquire() will make native interop harder, we are planning to
_remove_ confinement restrictions from addresses obtained from native libraries - meaning that if you get a
MemoryAddress from a native library, you will be able to share it with any thread you want, and such threads will be
able to dereference the address w/o any need to workaround the confinement guarantees.

Moving forward, there are other things we need to do after this patch is done - as mentioned, providing a GC-backed
escape hatch would probably be a good addition; but we also have to add more ways to share a segment with other threads
in serial-confinement mode (e.g. one thread at a time); the main operation we're looking at is an 'handoff' operation
which replaces the owner thread with a different one (useful in producer/consumer use cases) and, possibly, also a
detach/attach pair of operations which can be used to temporarily remove ownership from a segment, and then have it
picked up by a second thread - this is is effectively similar to handoff, but where the two threads don't know each
other.

In addition to that, I'm planning to add a bunch of helper methods to SequenceLayout to help with reshaping and
flattening sequence layouts; this operation is very useful when a client needs/want to define a splitearator which
works on multiple elements at a time (see the ParallelSum benchmark for an example). I'll be filing a PR for this
separately.

Cheers
Maurizio

-------------

Commit messages:
 - Fix white spaces
 - * Fix javadoc
 - More fixes
 - Remove comments on TestSpliterator
 - Fix threshold in ParallelSum benchmark
 - Fix ParallelSum benchmark to always use default FJP
 - Fix semantics of tryAdvance
 - Add MemorySegment::spliterator

Changes: https://git.openjdk.java.net/panama-foreign/pull/71/files
 Webrev: https://webrevs.openjdk.java.net/panama-foreign/71/webrev.00
  Issue: https://bugs.openjdk.java.net/browse/JDK-JDK-8241772
  Stats: 700 lines in 12 files changed: 618 ins; 29 del; 53 mod
  Patch: https://git.openjdk.java.net/panama-foreign/pull/71.diff
  Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/71/head:pull/71

PR: https://git.openjdk.java.net/panama-foreign/pull/71

From mcimadamore at openjdk.java.net  Fri Mar 27 18:55:29 2020
From: mcimadamore at openjdk.java.net (Maurizio Cimadamore)
Date: Fri, 27 Mar 2020 18:55:29 GMT
Subject: [foreign-memaccess] RFR: JDK-8241772: MemorySegment should offer
 a spliterator
In-Reply-To: 
References: 
Message-ID: 

On Fri, 27 Mar 2020 18:25:00 GMT, Maurizio Cimadamore  wrote:

> This patch rethinks how shared memory segment work; up to now, our story for sharing a segment across multiple threads
> has been to support a ref-counting strategy (see MemorySegment::acquire). While this mechanism is very general, and can
> be used to support different idioms, it also significantly increases the complexity surface of the memory access API;
> also, the constrained nature of the acquire() mechanism is, in some occasions, still not general enough to support all
> the use cases - the cases which cannot workaround the confinement guarantees.  Because of this, I believe it is a
> better course of action to restrict the memory segment sharing capabilities to those use cases that are well-behaved
> enough: parallel processing of a segment via divide-and-conquer. This can be achieved rather succintly by having a
> segment offering a spliterator, which can then be used to create e.g. a parallel stream (see example in the test), or
> to create a fork/join recursive action (again, see test for some examples).  Of course we will need some kind of escape
> hatch for when a "true" shared segment is required - this could be provided by either offering a way to register a
> segment against a Cleaner, and giving up the deterministic deallocation guarantees in that case; the need for such
> GC-managed segment has already arisen when dealing with native interop use cases (e.g. a binding might need to create
> long-lived constants which are basically never closed).  Alternatively, the escape hatch could be an unsafe segment
> which is not thread confined, and can be closed from any thread (this is a solution that, I'm sure, some of the people
> I've chatted with will appreciate).  Either way, it is important to realize that the long-lived, shared segment is
> pretty far from the design center of the memory access API - whose goal is, after all, to improve over some of the
> things that direct buffers aren't so great at. If you are after a big, long-lived slab of shared memory, chances are
> that the ByteBuffer is already good enough at handling those.  Where the pressure comes from, is, we believe, in those
> allocation-intensive scenarios, where the cleaner mechanism (which is the only choice for direct buffers) is simply not
> enough to guarantee a reasonable throughput. These are also the cases that are crucial to achieve an efficient native
> interop support.  So, let's focus on what this API does best - which is managing confined memory segments - and let's
> build on that to cover the divide and conquer use cases (through the spliterator machinery).  Sidebar: for those of you
> worried that the lack of acquire() will make native interop harder, we are planning to _remove_ confinement
> restrictions from addresses obtained from native libraries - meaning that if you get a MemoryAddress from a native
> library, you will be able to share it with any thread you want, and such threads will be able to dereference the
> address w/o any need to workaround the confinement guarantees.  Moving forward, there are other things we need to do
> after this patch is done - as mentioned, providing a GC-backed escape hatch would probably be a good addition; but we
> also have to add more ways to share a segment with other threads in serial-confinement mode (e.g. one thread at a
> time); the main operation we're looking at is an 'handoff' operation which replaces the owner thread with a different
> one (useful in producer/consumer use cases) and, possibly, also a detach/attach pair of operations which can be used to
> temporarily remove ownership from a segment, and then have it picked up by a second thread - this is is effectively
> similar to handoff, but where the two threads don't know each other.  In addition to that, I'm planning to add a bunch
> of helper methods to SequenceLayout to help with reshaping and flattening sequence layouts; this operation is very
> useful when a client needs/want to define a splitearator which works on multiple elements at a time (see the
> ParallelSum benchmark for an example). I'll be filing a PR for this separately.  Cheers Maurizio

Javadoc here
http://cr.openjdk.java.net/~mcimadamore/panama/8241772_javadoc/javadoc/jdk/incubator/foreign/package-summary.html

-------------

PR: https://git.openjdk.java.net/panama-foreign/pull/71

From psandoz at openjdk.java.net  Fri Mar 27 19:38:10 2020
From: psandoz at openjdk.java.net (Paul Sandoz)
Date: Fri, 27 Mar 2020 19:38:10 GMT
Subject: [foreign-memaccess] RFR: JDK-8241772: MemorySegment should offer
 a spliterator
In-Reply-To: 
References: 
Message-ID: 

On Fri, 27 Mar 2020 18:25:00 GMT, Maurizio Cimadamore  wrote:

> This patch rethinks how shared memory segment work; up to now, our story for sharing a segment across multiple threads
> has been to support a ref-counting strategy (see MemorySegment::acquire). While this mechanism is very general, and can
> be used to support different idioms, it also significantly increases the complexity surface of the memory access API;
> also, the constrained nature of the acquire() mechanism is, in some occasions, still not general enough to support all
> the use cases - the cases which cannot workaround the confinement guarantees.  Because of this, I believe it is a
> better course of action to restrict the memory segment sharing capabilities to those use cases that are well-behaved
> enough: parallel processing of a segment via divide-and-conquer. This can be achieved rather succintly by having a
> segment offering a spliterator, which can then be used to create e.g. a parallel stream (see example in the test), or
> to create a fork/join recursive action (again, see test for some examples).  Of course we will need some kind of escape
> hatch for when a "true" shared segment is required - this could be provided by either offering a way to register a
> segment against a Cleaner, and giving up the deterministic deallocation guarantees in that case; the need for such
> GC-managed segment has already arisen when dealing with native interop use cases (e.g. a binding might need to create
> long-lived constants which are basically never closed).  Alternatively, the escape hatch could be an unsafe segment
> which is not thread confined, and can be closed from any thread (this is a solution that, I'm sure, some of the people
> I've chatted with will appreciate).  Either way, it is important to realize that the long-lived, shared segment is
> pretty far from the design center of the memory access API - whose goal is, after all, to improve over some of the
> things that direct buffers aren't so great at. If you are after a big, long-lived slab of shared memory, chances are
> that the ByteBuffer is already good enough at handling those.  Where the pressure comes from, is, we believe, in those
> allocation-intensive scenarios, where the cleaner mechanism (which is the only choice for direct buffers) is simply not
> enough to guarantee a reasonable throughput. These are also the cases that are crucial to achieve an efficient native
> interop support.  So, let's focus on what this API does best - which is managing confined memory segments - and let's
> build on that to cover the divide and conquer use cases (through the spliterator machinery).  Sidebar: for those of you
> worried that the lack of acquire() will make native interop harder, we are planning to _remove_ confinement
> restrictions from addresses obtained from native libraries - meaning that if you get a MemoryAddress from a native
> library, you will be able to share it with any thread you want, and such threads will be able to dereference the
> address w/o any need to workaround the confinement guarantees.  Moving forward, there are other things we need to do
> after this patch is done - as mentioned, providing a GC-backed escape hatch would probably be a good addition; but we
> also have to add more ways to share a segment with other threads in serial-confinement mode (e.g. one thread at a
> time); the main operation we're looking at is an 'handoff' operation which replaces the owner thread with a different
> one (useful in producer/consumer use cases) and, possibly, also a detach/attach pair of operations which can be used to
> temporarily remove ownership from a segment, and then have it picked up by a second thread - this is is effectively
> similar to handoff, but where the two threads don't know each other.  In addition to that, I'm planning to add a bunch
> of helper methods to SequenceLayout to help with reshaping and flattening sequence layouts; this operation is very
> useful when a client needs/want to define a splitearator which works on multiple elements at a time (see the
> ParallelSum benchmark for an example). I'll be filing a PR for this separately.  Cheers Maurizio

src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java line 98:

> 97:  * In some cases, it might be useful for multiple threads to process the contents of the same memory segment
> concurrently 98:  * (e.g. in the case of parallel processing); while memory segments provide string confinement
> guarantees, it is possible 99:  * to obtain a {@link Spliterator} from a segment, which can be used to slice the
> segment and allow multiple thread to

s/string/strong

src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java line 160:

> 159:     /**
> 160:      * Returns a spliterator for this memory segment. The returned spliterator must feature the
> 161:      * {@link Spliterator#SIZED}, {@link Spliterator#SUBSIZED}, {@link Spliterator#IMMUTABLE} and {@link
> Spliterator#NONNULL}

Keeping with existing terminology:
"
The returned spliterator reports {@link Spliterator#SIZED}, {@link Spliterator#SUBSIZED}, {@link
Spliterator#IMMUTABLE}, and {@link Spliterator#NONNULL}. "

src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java line 164:

> 163:      * 

> 164: * The returned spliterator should split the segment according to the specified sequence layout; that is, > 165: * if the supplied layout is a sequence layout whose element count is {@code N}, then calling {@link > Spliterator#trySplit()} " The returned spliterator splits this segment ... " src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java line 172: > 171: * While closing the segment (see {@link #close()}) during pending concurrent execution will generally > 172: * fail with an exception, it is possible to close a segment when a spliterator has been obtained but not > thread 173: * is actively working on it using {@link Spliterator#tryAdvance(Consumer)}; in such cases, any > subsequent call "but no thread" src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java line 326: > 325: if (currentIndex == 0 && elemCount > 1) { > 326: MemorySegmentImpl old = segment; > 327: long rem = elemCount % 2; s/old/parent src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java line 332: > 331: segment = old.asSliceNoCheck(0, lobound); > 332: return new SegmentSplitter(elementSize, elemCount + rem, old.asSliceNoCheck(lobound, hibound)); > 333: } else { We should return the left hand side, so it's a strict prefix. We have an expected encounter order of the elements so we can also add ORDERED to the set of reported characteristics. src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java line 362: > 361: if (currentIndex < elemCount) { > 362: MemorySegmentImpl acquired = segment.acquire(); > 363: try { I would ensure the spliterator state is consumed before performing the bulk loop (take local copies before updating and then looping). Thereby if the consumer throws an exception it does not leave the spliterator in a partial state i.e. it is guaranteed to be fully traversed if subsequently operated on. In the current implementation i believe an NPE will be thrown. src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java line 392: > 391: public int characteristics() { > 392: return NONNULL | SUBSIZED | SIZED | IMMUTABLE; > 393: } Add ORDERED ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/71 From youngty1997 at gmail.com Fri Mar 27 20:13:40 2020 From: youngty1997 at gmail.com (Ty Young) Date: Fri, 27 Mar 2020 15:13:40 -0500 Subject: [foreign-memaccess] RFR: JDK-8241772: MemorySegment should offer a spliterator In-Reply-To: References: Message-ID: On 3/27/20 1:55 PM, Maurizio Cimadamore wrote: > This patch rethinks how shared memory segment work; up to now, our story for sharing a segment across multiple threads > has been to support a ref-counting strategy (see MemorySegment::acquire). While this mechanism is very general, and can > be used to support different idioms, it also significantly increases the complexity surface of the memory access API; > also, the constrained nature of the acquire() mechanism is, in some occasions, still not general enough to support all > the use cases - the cases which cannot workaround the confinement guarantees. > > Because of this, I believe it is a better course of action to restrict the memory segment sharing capabilities to those > use cases that are well-behaved enough: parallel processing of a segment via divide-and-conquer. This can be achieved > rather succintly by having a segment offering a spliterator, which can then be used to create e.g. a parallel stream > (see example in the test), or to create a fork/join recursive action (again, see test for some examples). > > Of course we will need some kind of escape hatch for when a "true" shared segment is required - this could be provided > by either offering a way to register a segment against a Cleaner, and giving up the deterministic deallocation > guarantees in that case; the need for such GC-managed segment has already arisen when dealing with native interop use > cases (e.g. a binding might need to create long-lived constants which are basically never closed). > > Alternatively, the escape hatch could be an unsafe segment which is not thread confined, and can be closed from any > thread (this is a solution that, I'm sure, some of the people I've chatted with will appreciate). Personally, yes it is. With the current way I pretty much just hacked around it with an abstract class: https://github.com/BlueGoliath/Crosspoint/blob/master/src/main/java/org/goliath/crosspoint/abstracts/ThreadSafeMemoryObject.java The actual closing part isn't implemented but I've been able to get my JavaFX application up and running, which is all I care about right now. It simply uses the main thread to populate and init everything and then a second thread to constantly update attribute values. Hardly something that requires an advanced threading, IMO. There are a few things that have come out of getting it running which I think I'll bring up later, since it's not super relevant here. > > Either way, it is important to realize that the long-lived, shared segment is pretty far from the design center of the > memory access API - whose goal is, after all, to improve over some of the things that direct buffers aren't so great > at. If you are after a big, long-lived slab of shared memory, chances are that the ByteBuffer is already good enough at > handling those. > > Where the pressure comes from, is, we believe, in those allocation-intensive scenarios, where the cleaner mechanism > (which is the only choice for direct buffers) is simply not enough to guarantee a reasonable throughput. These are also > the cases that are crucial to achieve an efficient native interop support. > > So, let's focus on what this API does best - which is managing confined memory segments - and let's build on that to > cover the divide and conquer use cases (through the spliterator machinery). > > Sidebar: for those of you worried that the lack of acquire() will make native interop harder, we are planning to > _remove_ confinement restrictions from addresses obtained from native libraries - meaning that if you get a > MemoryAddress from a native library, you will be able to share it with any thread you want, and such threads will be > able to dereference the address w/o any need to workaround the confinement guarantees. Is there going to be a way to tell if it's restricted? What about MemoryAddress(s) that just *happens* to be in memory but not returned by a function? They're basically the same in that they require ForeignUnsafe(formally) in order to be usable, so I guess they are the same? Going along with the theme of choice, it would be nice if this was an opt-in thing and not forced. There is a lot of variance being introduced with this and it might not be clear what's what, especially at larger scale. > > Moving forward, there are other things we need to do after this patch is done - as mentioned, providing a GC-backed > escape hatch would probably be a good addition; but we also have to add more ways to share a segment with other threads > in serial-confinement mode (e.g. one thread at a time); the main operation we're looking at is an 'handoff' operation > which replaces the owner thread with a different one (useful in producer/consumer use cases) and, possibly, also a > detach/attach pair of operations which can be used to temporarily remove ownership from a segment, and then have it > picked up by a second thread - this is is effectively similar to handoff, but where the two threads don't know each > other. > > In addition to that, I'm planning to add a bunch of helper methods to SequenceLayout to help with reshaping and > flattening sequence layouts; this operation is very useful when a client needs/want to define a splitearator which > works on multiple elements at a time (see the ParallelSum benchmark for an example). I'll be filing a PR for this > separately. Maybe it's just me, but it feels like Panama is taking on too much responsibility here. I feel like thread management should be solely the responsibility of the API user as there are just too many alternate paths when managing a MemorySegment. On the flip side, it's often frustrating when APIs don't provide hooks for these kind of things, which then require more (potentially buggy) code to get working... but even so, I don't know, just feels like a lot more "on the plate" for Panama's API, if you will, that might confuse API users who don't know the grainy details. It's probably safe to say that people probably don't read every last letter of documentation before they use things, only when they run into issues. At that point things could already be a confusing giant web of MemoryAddress(s) which may be hard to debug. > Cheers > Maurizio > > ------------- > > Commit messages: > - Fix white spaces > - * Fix javadoc > - More fixes > - Remove comments on TestSpliterator > - Fix threshold in ParallelSum benchmark > - Fix ParallelSum benchmark to always use default FJP > - Fix semantics of tryAdvance > - Add MemorySegment::spliterator > > Changes: https://git.openjdk.java.net/panama-foreign/pull/71/files > Webrev: https://webrevs.openjdk.java.net/panama-foreign/71/webrev.00 > Issue: https://bugs.openjdk.java.net/browse/JDK-JDK-8241772 > Stats: 700 lines in 12 files changed: 618 ins; 29 del; 53 mod > Patch: https://git.openjdk.java.net/panama-foreign/pull/71.diff > Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/71/head:pull/71 > > PR: https://git.openjdk.java.net/panama-foreign/pull/71 From maurizio.cimadamore at oracle.com Fri Mar 27 21:45:11 2020 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Fri, 27 Mar 2020 21:45:11 +0000 Subject: [foreign-memaccess] RFR: JDK-8241772: MemorySegment should offer a spliterator In-Reply-To: References: Message-ID: <8a1ccde4-5ec2-114c-e66c-cb883e7d6164@oracle.com> >> Sidebar: for those of you worried that the lack of acquire() will >> make native interop harder, we are planning to >> _remove_ confinement restrictions from addresses obtained from native >> libraries - meaning that if you get a >> MemoryAddress from a native library, you will be able to share it >> with any thread you want, and such threads will be >> able to dereference the address w/o any need to workaround the >> confinement guarantees. > > > Is there going to be a way to tell if it's restricted? What about > MemoryAddress(s) that just *happens* to be in memory but not returned > by a function? They're basically the same in that they require > ForeignUnsafe(formally) in order to be usable, so I guess they are the > same? The rules are going to be applied uniformly for addresses obtained from a foreign call as well as to addresses read from main memory (e.g. using a VarHandle). There will be a way to tell if an address is restricted or not; one way to do that would be to have a native address _not_ to have a corresponding segment (e.g. MemoryAddress::segment returns null). Another way would be to have some 'primordial' native segment you can check against. > > > Going along with the theme of choice, it would be nice if this was an > opt-in thing and not forced. There is a lot of variance being > introduced with this and it might not be clear what's what, especially > at larger scale. There will be ways to add back restrictions, if people want them (I forgot to mention that). So, if you happen to know the bound of an address, there will be an API to add those back. While it's theoretically possible to also add an owning thread, and all that, I don't think developers should try too hard to make up segments out of thin air. Memory segments are entities that arise from java code, where everything is known, so it makes sense to speak about spatial, temporal and confinement bounds. An address you read from memory, or that you get from a native library doesn't really have much info attached. The common case will be to attach some form of bound check to the address; I believe in other cases the user is probably trying to use the MemorySegment API for something more ad-hoc. For instance, it is theoretically possible to inject custom cleanup function into a segment so that, for instance, you could call a certain function to clean up the memory backing a certain address. But here we're walking a fine line - if you have an abstraction with complex state which requires cleanup, it is perhaps more advisable to write your abstraction, make it autocloseable and wrap a memory address, rather than trying to inject all relevant logic into a memory segment. > > >> >> Moving forward, there are other things we need to do after this patch >> is done - as mentioned, providing a GC-backed >> escape hatch would probably be a good addition; but we also have to >> add more ways to share a segment with other threads >> in serial-confinement mode (e.g. one thread at a time); the main >> operation we're looking at is an 'handoff' operation >> which replaces the owner thread with a different one (useful in >> producer/consumer use cases) and, possibly, also a >> detach/attach pair of operations which can be used to temporarily >> remove ownership from a segment, and then have it >> picked up by a second thread - this is is effectively similar to >> handoff, but where the two threads don't know each >> other. >> >> In addition to that, I'm planning to add a bunch of helper methods to >> SequenceLayout to help with reshaping and >> flattening sequence layouts; this operation is very useful when a >> client needs/want to define a splitearator which >> works on multiple elements at a time (see the ParallelSum benchmark >> for an example). I'll be filing a PR for this >> separately. > > > Maybe it's just me, but it feels like Panama is taking on too much > responsibility here. I feel like thread management should be solely > the responsibility of the API user as there are just too many > alternate paths when managing a MemorySegment. If we could have memory segment that can have both safety and mult-threading capabilities (e.g. so that any thread can use them) we would have done that long ago, and I'd be very happy not to do anything in that space and keep it minimal. But if we want the ability to release memory deterministically - and I think we do (direct buffers really don't work here), then we have to constraint the space a bit and introduce confinement restrictions. The alternative is not to have restrictions and to put heavy locks everywhere which will make segment code ~100x slower than byte buffers, at which point why even bother? So, as much as I'd like not to look at the confinement problem, I'm afraid we have to stare it in the face, and come up with ways to make confinement less... confining :-) Some of the moves I anticipated above go in that direction. > > On the flip side, it's often frustrating when APIs don't provide hooks > for these kind of things, which then require more (potentially buggy) > code to get working... but even so, I don't know, just feels like a > lot more "on the plate" for Panama's API, if you will, that might > confuse API users who don't know the grainy details. I think this is up to us to explain to users what this API is for and what the sweet spot is. It will never be as simple as an API as a byte[]. But I also think that a lot of people will be able to survive w/o knowing the gory details of how you can move a segment from one thread owner to another. These are, in a way, advanced operations that only few people will really need. But, for instance, "handoff" is not something that can easily be implemented outside, so it's a primitive we need to provide. > > > It's probably safe to say that people probably don't read every last > letter of documentation before they use things, only when they run > into issues. At that point things could already be a confusing giant > web of MemoryAddress(s) which may be hard to debug. > > >> Cheers >> Maurizio >> >> ------------- >> >> Commit messages: >> ? - Fix white spaces >> ? - * Fix javadoc >> ? - More fixes >> ? - Remove comments on TestSpliterator >> ? - Fix threshold in ParallelSum benchmark >> ? - Fix ParallelSum benchmark to always use default FJP >> ? - Fix semantics of tryAdvance >> ? - Add MemorySegment::spliterator >> >> Changes: https://git.openjdk.java.net/panama-foreign/pull/71/files >> ? Webrev: https://webrevs.openjdk.java.net/panama-foreign/71/webrev.00 >> ?? Issue: https://bugs.openjdk.java.net/browse/JDK-JDK-8241772 >> ?? Stats: 700 lines in 12 files changed: 618 ins; 29 del; 53 mod >> ?? Patch: https://git.openjdk.java.net/panama-foreign/pull/71.diff >> ?? Fetch: git fetch https://git.openjdk.java.net/panama-foreign >> pull/71/head:pull/71 >> >> PR: https://git.openjdk.java.net/panama-foreign/pull/71 From sandhya.viswanathan at intel.com Fri Mar 27 21:48:50 2020 From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya) Date: Fri, 27 Mar 2020 21:48:50 +0000 Subject: [vectorIntrinsics] Miscellaneous cleanup for x86 code gen Message-ID: Please find below a webrev which does miscellaneous cleanup for x86 code gen: http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/Misc/webrev.00/ Best Regards, Sandhya From mcimadamore at openjdk.java.net Fri Mar 27 22:13:33 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Fri, 27 Mar 2020 22:13:33 GMT Subject: [foreign-memaccess] [Rev 01] RFR: JDK-8241772: MemorySegment should offer a spliterator In-Reply-To: References: Message-ID: > This patch rethinks how shared memory segment work; up to now, our story for sharing a segment across multiple threads > has been to support a ref-counting strategy (see MemorySegment::acquire). While this mechanism is very general, and can > be used to support different idioms, it also significantly increases the complexity surface of the memory access API; > also, the constrained nature of the acquire() mechanism is, in some occasions, still not general enough to support all > the use cases - the cases which cannot workaround the confinement guarantees. Because of this, I believe it is a > better course of action to restrict the memory segment sharing capabilities to those use cases that are well-behaved > enough: parallel processing of a segment via divide-and-conquer. This can be achieved rather succintly by having a > segment offering a spliterator, which can then be used to create e.g. a parallel stream (see example in the test), or > to create a fork/join recursive action (again, see test for some examples). Of course we will need some kind of escape > hatch for when a "true" shared segment is required - this could be provided by either offering a way to register a > segment against a Cleaner, and giving up the deterministic deallocation guarantees in that case; the need for such > GC-managed segment has already arisen when dealing with native interop use cases (e.g. a binding might need to create > long-lived constants which are basically never closed). Alternatively, the escape hatch could be an unsafe segment > which is not thread confined, and can be closed from any thread (this is a solution that, I'm sure, some of the people > I've chatted with will appreciate). Either way, it is important to realize that the long-lived, shared segment is > pretty far from the design center of the memory access API - whose goal is, after all, to improve over some of the > things that direct buffers aren't so great at. If you are after a big, long-lived slab of shared memory, chances are > that the ByteBuffer is already good enough at handling those. Where the pressure comes from, is, we believe, in those > allocation-intensive scenarios, where the cleaner mechanism (which is the only choice for direct buffers) is simply not > enough to guarantee a reasonable throughput. These are also the cases that are crucial to achieve an efficient native > interop support. So, let's focus on what this API does best - which is managing confined memory segments - and let's > build on that to cover the divide and conquer use cases (through the spliterator machinery). Sidebar: for those of you > worried that the lack of acquire() will make native interop harder, we are planning to _remove_ confinement > restrictions from addresses obtained from native libraries - meaning that if you get a MemoryAddress from a native > library, you will be able to share it with any thread you want, and such threads will be able to dereference the > address w/o any need to workaround the confinement guarantees. Moving forward, there are other things we need to do > after this patch is done - as mentioned, providing a GC-backed escape hatch would probably be a good addition; but we > also have to add more ways to share a segment with other threads in serial-confinement mode (e.g. one thread at a > time); the main operation we're looking at is an 'handoff' operation which replaces the owner thread with a different > one (useful in producer/consumer use cases) and, possibly, also a detach/attach pair of operations which can be used to > temporarily remove ownership from a segment, and then have it picked up by a second thread - this is is effectively > similar to handoff, but where the two threads don't know each other. In addition to that, I'm planning to add a bunch > of helper methods to SequenceLayout to help with reshaping and flattening sequence layouts; this operation is very > useful when a client needs/want to define a splitearator which works on multiple elements at a time (see the > ParallelSum benchmark for an example). I'll be filing a PR for this separately. Cheers Maurizio Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: Addressed review comments ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/71/files - new: https://git.openjdk.java.net/panama-foreign/pull/71/files/cd5aecf3..bd431021 Webrevs: - full: https://webrevs.openjdk.java.net/panama-foreign/71/webrev.01 - incr: https://webrevs.openjdk.java.net/panama-foreign/71/webrev.00-01 Stats: 21 lines in 2 files changed: 2 ins; 3 del; 16 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/71.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/71/head:pull/71 PR: https://git.openjdk.java.net/panama-foreign/pull/71 From vladimir.x.ivanov at oracle.com Fri Mar 27 22:17:46 2020 From: vladimir.x.ivanov at oracle.com (Vladimir Ivanov) Date: Sat, 28 Mar 2020 01:17:46 +0300 Subject: [vectorIntrinsics] Miscellaneous cleanup for x86 code gen In-Reply-To: References: Message-ID: Considering supported vectors are at least 4 bytes in size, I'm curious why do we need 1-/2-byte vector memory operations? 1724 const int Matcher::vector_width_in_bytes(BasicType bt) { ... 1738 // Minimum 2 values in vector (or 4 for bytes). +instruct storeV1(memory mem, vec src, rRegI tmp) %{ + predicate(n->as_StoreVector()->memory_size() == 1); + match(Set mem (StoreVector mem src)); + ins_cost(145); + effect(TEMP tmp); + format %{ "movd $tmp,$src\n\t" + "movb $mem,$tmp\t! store vector (1 byte)" %} + ins_encode %{ + __ movdl($tmp$$Register, $src$$XMMRegister); + __ movb($mem$$Address, $tmp$$Register); + %} + ins_pipe( pipe_slow ); +%} + +instruct storeV2(memory mem, vec src, rRegI tmp) %{ + predicate(n->as_StoreVector()->memory_size() == 2); + match(Set mem (StoreVector mem src)); + ins_cost(145); + effect(TEMP tmp); + format %{ "movd $tmp,$src\n\t" + "movw $mem,$tmp\t! store vector (2 bytes)" %} + ins_encode %{ + __ movdl($tmp$$Register, $src$$XMMRegister); + __ movw($mem$$Address, $tmp$$Register); + %} + ins_pipe( pipe_slow ); +%} Best regards, Vladimir Ivanov On 28.03.2020 00:48, Viswanathan, Sandhya wrote: > Please find below a webrev which does miscellaneous cleanup for x86 code gen: > http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/Misc/webrev.00/ > > Best Regards, > Sandhya > > From mcimadamore at openjdk.java.net Fri Mar 27 22:19:58 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Fri, 27 Mar 2020 22:19:58 GMT Subject: [foreign-memaccess] [Rev 02] RFR: JDK-8241772: MemorySegment should offer a spliterator In-Reply-To: References: Message-ID: > This patch rethinks how shared memory segment work; up to now, our story for sharing a segment across multiple threads > has been to support a ref-counting strategy (see MemorySegment::acquire). While this mechanism is very general, and can > be used to support different idioms, it also significantly increases the complexity surface of the memory access API; > also, the constrained nature of the acquire() mechanism is, in some occasions, still not general enough to support all > the use cases - the cases which cannot workaround the confinement guarantees. Because of this, I believe it is a > better course of action to restrict the memory segment sharing capabilities to those use cases that are well-behaved > enough: parallel processing of a segment via divide-and-conquer. This can be achieved rather succintly by having a > segment offering a spliterator, which can then be used to create e.g. a parallel stream (see example in the test), or > to create a fork/join recursive action (again, see test for some examples). Of course we will need some kind of escape > hatch for when a "true" shared segment is required - this could be provided by either offering a way to register a > segment against a Cleaner, and giving up the deterministic deallocation guarantees in that case; the need for such > GC-managed segment has already arisen when dealing with native interop use cases (e.g. a binding might need to create > long-lived constants which are basically never closed). Alternatively, the escape hatch could be an unsafe segment > which is not thread confined, and can be closed from any thread (this is a solution that, I'm sure, some of the people > I've chatted with will appreciate). Either way, it is important to realize that the long-lived, shared segment is > pretty far from the design center of the memory access API - whose goal is, after all, to improve over some of the > things that direct buffers aren't so great at. If you are after a big, long-lived slab of shared memory, chances are > that the ByteBuffer is already good enough at handling those. Where the pressure comes from, is, we believe, in those > allocation-intensive scenarios, where the cleaner mechanism (which is the only choice for direct buffers) is simply not > enough to guarantee a reasonable throughput. These are also the cases that are crucial to achieve an efficient native > interop support. So, let's focus on what this API does best - which is managing confined memory segments - and let's > build on that to cover the divide and conquer use cases (through the spliterator machinery). Sidebar: for those of you > worried that the lack of acquire() will make native interop harder, we are planning to _remove_ confinement > restrictions from addresses obtained from native libraries - meaning that if you get a MemoryAddress from a native > library, you will be able to share it with any thread you want, and such threads will be able to dereference the > address w/o any need to workaround the confinement guarantees. Moving forward, there are other things we need to do > after this patch is done - as mentioned, providing a GC-backed escape hatch would probably be a good addition; but we > also have to add more ways to share a segment with other threads in serial-confinement mode (e.g. one thread at a > time); the main operation we're looking at is an 'handoff' operation which replaces the owner thread with a different > one (useful in producer/consumer use cases) and, possibly, also a detach/attach pair of operations which can be used to > temporarily remove ownership from a segment, and then have it picked up by a second thread - this is is effectively > similar to handoff, but where the two threads don't know each other. In addition to that, I'm planning to add a bunch > of helper methods to SequenceLayout to help with reshaping and flattening sequence layouts; this operation is very > useful when a client needs/want to define a splitearator which works on multiple elements at a time (see the > ParallelSum benchmark for an example). I'll be filing a PR for this separately. Cheers Maurizio Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: Missed a review comment ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/71/files - new: https://git.openjdk.java.net/panama-foreign/pull/71/files/bd431021..3f915d73 Webrevs: - full: https://webrevs.openjdk.java.net/panama-foreign/71/webrev.02 - incr: https://webrevs.openjdk.java.net/panama-foreign/71/webrev.01-02 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/71.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/71/head:pull/71 PR: https://git.openjdk.java.net/panama-foreign/pull/71 From psandoz at openjdk.java.net Fri Mar 27 22:43:04 2020 From: psandoz at openjdk.java.net (Paul Sandoz) Date: Fri, 27 Mar 2020 22:43:04 GMT Subject: [foreign-memaccess] [Rev 02] RFR: JDK-8241772: MemorySegment should offer a spliterator In-Reply-To: References: Message-ID: On Fri, 27 Mar 2020 22:19:58 GMT, Maurizio Cimadamore wrote: >> This patch rethinks how shared memory segment work; up to now, our story for sharing a segment across multiple threads >> has been to support a ref-counting strategy (see MemorySegment::acquire). While this mechanism is very general, and can >> be used to support different idioms, it also significantly increases the complexity surface of the memory access API; >> also, the constrained nature of the acquire() mechanism is, in some occasions, still not general enough to support all >> the use cases - the cases which cannot workaround the confinement guarantees. Because of this, I believe it is a >> better course of action to restrict the memory segment sharing capabilities to those use cases that are well-behaved >> enough: parallel processing of a segment via divide-and-conquer. This can be achieved rather succintly by having a >> segment offering a spliterator, which can then be used to create e.g. a parallel stream (see example in the test), or >> to create a fork/join recursive action (again, see test for some examples). Of course we will need some kind of escape >> hatch for when a "true" shared segment is required - this could be provided by either offering a way to register a >> segment against a Cleaner, and giving up the deterministic deallocation guarantees in that case; the need for such >> GC-managed segment has already arisen when dealing with native interop use cases (e.g. a binding might need to create >> long-lived constants which are basically never closed). Alternatively, the escape hatch could be an unsafe segment >> which is not thread confined, and can be closed from any thread (this is a solution that, I'm sure, some of the people >> I've chatted with will appreciate). Either way, it is important to realize that the long-lived, shared segment is >> pretty far from the design center of the memory access API - whose goal is, after all, to improve over some of the >> things that direct buffers aren't so great at. If you are after a big, long-lived slab of shared memory, chances are >> that the ByteBuffer is already good enough at handling those. Where the pressure comes from, is, we believe, in those >> allocation-intensive scenarios, where the cleaner mechanism (which is the only choice for direct buffers) is simply not >> enough to guarantee a reasonable throughput. These are also the cases that are crucial to achieve an efficient native >> interop support. So, let's focus on what this API does best - which is managing confined memory segments - and let's >> build on that to cover the divide and conquer use cases (through the spliterator machinery). Sidebar: for those of you >> worried that the lack of acquire() will make native interop harder, we are planning to _remove_ confinement >> restrictions from addresses obtained from native libraries - meaning that if you get a MemoryAddress from a native >> library, you will be able to share it with any thread you want, and such threads will be able to dereference the >> address w/o any need to workaround the confinement guarantees. Moving forward, there are other things we need to do >> after this patch is done - as mentioned, providing a GC-backed escape hatch would probably be a good addition; but we >> also have to add more ways to share a segment with other threads in serial-confinement mode (e.g. one thread at a >> time); the main operation we're looking at is an 'handoff' operation which replaces the owner thread with a different >> one (useful in producer/consumer use cases) and, possibly, also a detach/attach pair of operations which can be used to >> temporarily remove ownership from a segment, and then have it picked up by a second thread - this is is effectively >> similar to handoff, but where the two threads don't know each other. In addition to that, I'm planning to add a bunch >> of helper methods to SequenceLayout to help with reshaping and flattening sequence layouts; this operation is very >> useful when a client needs/want to define a splitearator which works on multiple elements at a time (see the >> ParallelSum benchmark for an example). I'll be filing a PR for this separately. Cheers Maurizio > > Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: > > Missed a review comment Marked as reviewed by psandoz (Committer). ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/71 From sandhya.viswanathan at intel.com Fri Mar 27 22:47:32 2020 From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya) Date: Fri, 27 Mar 2020 22:47:32 +0000 Subject: [vectorIntrinsics] Miscellaneous cleanup for x86 code gen In-Reply-To: References: Message-ID: Yes, it is most likely not needed. I think this was included as half an attempt to support 1 and 2 byte masks. I will remove these, test and verify that they are not being used. Best Regards, Sandhya -----Original Message----- From: Vladimir Ivanov Sent: Friday, March 27, 2020 3:18 PM To: Viswanathan, Sandhya ; panama-dev ; Rukmannagari, Shravya Subject: Re: [vectorIntrinsics] Miscellaneous cleanup for x86 code gen Considering supported vectors are at least 4 bytes in size, I'm curious why do we need 1-/2-byte vector memory operations? 1724 const int Matcher::vector_width_in_bytes(BasicType bt) { ... 1738 // Minimum 2 values in vector (or 4 for bytes). +instruct storeV1(memory mem, vec src, rRegI tmp) %{ + predicate(n->as_StoreVector()->memory_size() == 1); + match(Set mem (StoreVector mem src)); + ins_cost(145); + effect(TEMP tmp); + format %{ "movd $tmp,$src\n\t" + "movb $mem,$tmp\t! store vector (1 byte)" %} + ins_encode %{ + __ movdl($tmp$$Register, $src$$XMMRegister); + __ movb($mem$$Address, $tmp$$Register); + %} + ins_pipe( pipe_slow ); +%} + +instruct storeV2(memory mem, vec src, rRegI tmp) %{ + predicate(n->as_StoreVector()->memory_size() == 2); + match(Set mem (StoreVector mem src)); + ins_cost(145); + effect(TEMP tmp); + format %{ "movd $tmp,$src\n\t" + "movw $mem,$tmp\t! store vector (2 bytes)" %} + ins_encode %{ + __ movdl($tmp$$Register, $src$$XMMRegister); + __ movw($mem$$Address, $tmp$$Register); + %} + ins_pipe( pipe_slow ); +%} Best regards, Vladimir Ivanov On 28.03.2020 00:48, Viswanathan, Sandhya wrote: > Please find below a webrev which does miscellaneous cleanup for x86 code gen: > http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/Misc/webrev. > 00/ > > Best Regards, > Sandhya > > From vladimir.x.ivanov at oracle.com Fri Mar 27 23:07:09 2020 From: vladimir.x.ivanov at oracle.com (Vladimir Ivanov) Date: Sat, 28 Mar 2020 02:07:09 +0300 Subject: [vectorIntrinsics] Miscellaneous cleanup for x86 code gen In-Reply-To: References: Message-ID: A couple more notes: + case Op_ExtractB: + case Op_ExtractL: +#ifndef _LP64 + return false; +#endif ... + case Op_VectorTest: + return false; + break; I think you can safely drop the checks since it should be already covered by has_match_rule(opcode). + if(vlen == 1 || vlen == 2) { vlen == 1 is redundant. (Vectors have at least 2 elements.) Otherwise, looks good. Best regards, Vladimir Ivanov On 28.03.2020 01:47, Viswanathan, Sandhya wrote: > Yes, it is most likely not needed. I think this was included as half an attempt to support 1 and 2 byte masks. > I will remove these, test and verify that they are not being used. > > Best Regards, > Sandhya > > -----Original Message----- > From: Vladimir Ivanov > Sent: Friday, March 27, 2020 3:18 PM > To: Viswanathan, Sandhya ; panama-dev ; Rukmannagari, Shravya > Subject: Re: [vectorIntrinsics] Miscellaneous cleanup for x86 code gen > > Considering supported vectors are at least 4 bytes in size, I'm curious why do we need 1-/2-byte vector memory operations? > > 1724 const int Matcher::vector_width_in_bytes(BasicType bt) { ... > 1738 // Minimum 2 values in vector (or 4 for bytes). > > +instruct storeV1(memory mem, vec src, rRegI tmp) %{ > + predicate(n->as_StoreVector()->memory_size() == 1); > + match(Set mem (StoreVector mem src)); > + ins_cost(145); > + effect(TEMP tmp); > + format %{ "movd $tmp,$src\n\t" > + "movb $mem,$tmp\t! store vector (1 byte)" %} > + ins_encode %{ > + __ movdl($tmp$$Register, $src$$XMMRegister); > + __ movb($mem$$Address, $tmp$$Register); > + %} > + ins_pipe( pipe_slow ); > +%} > + > +instruct storeV2(memory mem, vec src, rRegI tmp) %{ > + predicate(n->as_StoreVector()->memory_size() == 2); > + match(Set mem (StoreVector mem src)); > + ins_cost(145); > + effect(TEMP tmp); > + format %{ "movd $tmp,$src\n\t" > + "movw $mem,$tmp\t! store vector (2 bytes)" %} > + ins_encode %{ > + __ movdl($tmp$$Register, $src$$XMMRegister); > + __ movw($mem$$Address, $tmp$$Register); > + %} > + ins_pipe( pipe_slow ); > +%} > > Best regards, > Vladimir Ivanov > > On 28.03.2020 00:48, Viswanathan, Sandhya wrote: >> Please find below a webrev which does miscellaneous cleanup for x86 code gen: >> http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/Misc/webrev. >> 00/ >> >> Best Regards, >> Sandhya >> >> From sandhya.viswanathan at intel.com Fri Mar 27 23:46:03 2020 From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya) Date: Fri, 27 Mar 2020 23:46:03 +0000 Subject: [vectorIntrinsics] Miscellaneous cleanup for x86 code gen In-Reply-To: References: Message-ID: Thanks a lot for the review. I will make those changes and push the patch. Best Regards, Sandhya -----Original Message----- From: Vladimir Ivanov Sent: Friday, March 27, 2020 4:07 PM To: Viswanathan, Sandhya ; panama-dev ; Rukmannagari, Shravya Subject: Re: [vectorIntrinsics] Miscellaneous cleanup for x86 code gen A couple more notes: + case Op_ExtractB: + case Op_ExtractL: +#ifndef _LP64 + return false; +#endif ... + case Op_VectorTest: + return false; + break; I think you can safely drop the checks since it should be already covered by has_match_rule(opcode). + if(vlen == 1 || vlen == 2) { vlen == 1 is redundant. (Vectors have at least 2 elements.) Otherwise, looks good. Best regards, Vladimir Ivanov On 28.03.2020 01:47, Viswanathan, Sandhya wrote: > Yes, it is most likely not needed. I think this was included as half an attempt to support 1 and 2 byte masks. > I will remove these, test and verify that they are not being used. > > Best Regards, > Sandhya > > -----Original Message----- > From: Vladimir Ivanov > Sent: Friday, March 27, 2020 3:18 PM > To: Viswanathan, Sandhya ; panama-dev > ; Rukmannagari, Shravya > > Subject: Re: [vectorIntrinsics] Miscellaneous cleanup for x86 code gen > > Considering supported vectors are at least 4 bytes in size, I'm curious why do we need 1-/2-byte vector memory operations? > > 1724 const int Matcher::vector_width_in_bytes(BasicType bt) { ... > 1738 // Minimum 2 values in vector (or 4 for bytes). > > +instruct storeV1(memory mem, vec src, rRegI tmp) %{ > + predicate(n->as_StoreVector()->memory_size() == 1); > + match(Set mem (StoreVector mem src)); > + ins_cost(145); > + effect(TEMP tmp); > + format %{ "movd $tmp,$src\n\t" > + "movb $mem,$tmp\t! store vector (1 byte)" %} > + ins_encode %{ > + __ movdl($tmp$$Register, $src$$XMMRegister); > + __ movb($mem$$Address, $tmp$$Register); > + %} > + ins_pipe( pipe_slow ); > +%} > + > +instruct storeV2(memory mem, vec src, rRegI tmp) %{ > + predicate(n->as_StoreVector()->memory_size() == 2); > + match(Set mem (StoreVector mem src)); > + ins_cost(145); > + effect(TEMP tmp); > + format %{ "movd $tmp,$src\n\t" > + "movw $mem,$tmp\t! store vector (2 bytes)" %} > + ins_encode %{ > + __ movdl($tmp$$Register, $src$$XMMRegister); > + __ movw($mem$$Address, $tmp$$Register); > + %} > + ins_pipe( pipe_slow ); > +%} > > Best regards, > Vladimir Ivanov > > On 28.03.2020 00:48, Viswanathan, Sandhya wrote: >> Please find below a webrev which does miscellaneous cleanup for x86 code gen: >> http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/Misc/webrev. >> 00/ >> >> Best Regards, >> Sandhya >> >> From sandhya.viswanathan at intel.com Sat Mar 28 00:15:31 2020 From: sandhya.viswanathan at intel.com (sandhya.viswanathan at intel.com) Date: Sat, 28 Mar 2020 00:15:31 +0000 Subject: hg: panama/dev: Summary: [vectorIntrinsics] Miscellaneous cleanup for x86 code gen Message-ID: <202003280015.02S0FWDM005072@aojmv0008.oracle.com> Changeset: 155f0d56a947 Author: sviswanathan Date: 2020-03-27 17:14 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/155f0d56a947 Summary: [vectorIntrinsics] Miscellaneous cleanup for x86 code gen Reviewed-by: vlivanov, srukmannagar ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/cpu/x86/vm_version_x86.hpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/cpu/x86/x86_64.ad From sandhya.viswanathan at intel.com Sat Mar 28 02:00:23 2020 From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya) Date: Sat, 28 Mar 2020 02:00:23 +0000 Subject: [vectorIntrinsics] FP MinMax reduction clean up for x86 Message-ID: Please find below a webrev which cleans up FP MinMax reduction code gen for x86: http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/FPMinMaxReduction/webrev.00/ Best Regards, Sandhya From sandhya.viswanathan at intel.com Sat Mar 28 18:08:24 2020 From: sandhya.viswanathan at intel.com (sandhya.viswanathan at intel.com) Date: Sat, 28 Mar 2020 18:08:24 +0000 Subject: hg: panama/dev: Summary: [vectorIntrinsics] FP MinMax reduction cleanup for x86 code gen Message-ID: <202003281808.02SI8PrK011890@aojmv0008.oracle.com> Changeset: e0076485149b Author: sviswanathan Date: 2020-03-28 11:07 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/e0076485149b Summary: [vectorIntrinsics] FP MinMax reduction cleanup for x86 code gen ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/x86.ad From shravya.rukmannagari at intel.com Sun Mar 29 04:20:30 2020 From: shravya.rukmannagari at intel.com (Rukmannagari, Shravya) Date: Sun, 29 Mar 2020 04:20:30 +0000 Subject: [vectorIntrinsics] FP MinMax reduction clean up for x86 In-Reply-To: References: Message-ID: The patch looks good to me. Thanks, Shravya. From: Viswanathan, Sandhya Sent: Friday, March 27, 2020 7:00 PM To: panama-dev ; Rukmannagari, Shravya Subject: [vectorIntrinsics] FP MinMax reduction clean up for x86 Please find below a webrev which cleans up FP MinMax reduction code gen for x86: http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/FPMinMaxReduction/webrev.00/ Best Regards, Sandhya From sandhya.viswanathan at intel.com Sun Mar 29 04:28:52 2020 From: sandhya.viswanathan at intel.com (sandhya.viswanathan at intel.com) Date: Sun, 29 Mar 2020 04:28:52 +0000 Subject: hg: panama/dev: manual merge with default Message-ID: <202003290428.02T4Sreq005310@aojmv0008.oracle.com> Changeset: 5514f9416a10 Author: sviswanathan Date: 2020-03-28 21:27 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/5514f9416a10 manual merge with default - make/CompileInterimRmic.gmk ! make/common/Modules.gmk - make/common/RMICompilation.gmk - make/rmic/Rmic-java.management.rmi.gmk - make/rmic/Rmic-java.rmi.gmk - make/rmic/Rmic-jdk.naming.rmi.gmk - make/rmic/RmicCommon.gmk - src/demo/share/jfc/Font2DTest/Font2DTestApplet.java - src/demo/share/jfc/SwingSet2/SwingSet2Applet.java ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp ! src/hotspot/cpu/arm/arm.ad ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/cpu/s390/s390.ad ! src/hotspot/cpu/sparc/sparc.ad ! 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/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/vmStructs_x86.hpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/cpu/x86/vm_version_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/adlc/formssel.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/jvmci/vmStructs_jvmci.cpp ! src/hotspot/share/opto/c2compiler.cpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/graphKit.hpp ! src/hotspot/share/opto/machnode.cpp ! src/hotspot/share/opto/machnode.hpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/matcher.hpp ! src/hotspot/share/opto/output.cpp ! src/hotspot/share/opto/parse2.cpp ! src/hotspot/share/opto/phase.hpp ! src/hotspot/share/opto/runtime.cpp ! src/hotspot/share/opto/type.hpp ! src/hotspot/share/opto/vectornode.cpp ! src/hotspot/share/opto/vectornode.hpp ! src/hotspot/share/prims/nativeLookup.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/hotspot/share/utilities/globalDefinitions.hpp - src/java.base/macosx/classes/java/lang/ClassLoaderHelper.java - src/java.base/share/classes/com/sun/security/cert/internal/x509/X509V1CertImpl.java ! src/java.base/share/classes/module-info.java - src/java.base/unix/classes/java/lang/ClassLoaderHelper.java - src/java.base/windows/classes/java/lang/ClassLoaderHelper.java - src/java.rmi/share/doc/stub/java/rmi/activation/ActivationGroup_Stub.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/UnsafeLoadSnippets.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryNode.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/MemoryProxy.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlTag.java - test/jdk/java/awt/TrayIcon/AddPopupAfterShowTest/AddPopupAfterShowTest.html - test/jdk/sun/management/jmxremote/bootstrap/Makefile - test/jdk/sun/management/jmxremote/bootstrap/launcher.c - test/jdk/sun/management/jmxremote/bootstrap/linux-amd64/launcher - test/jdk/sun/management/jmxremote/bootstrap/linux-i586/launcher - test/jdk/sun/management/jmxremote/bootstrap/solaris-amd64/launcher - test/jdk/sun/management/jmxremote/bootstrap/solaris-sparcv9/launcher From sandhya.viswanathan at intel.com Mon Mar 30 01:35:41 2020 From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya) Date: Mon, 30 Mar 2020 01:35:41 +0000 Subject: [vectorIntrinsics] Post merge cleanup for x86 code gen Message-ID: Please find below a webrev which does post merge cleanup for vectorIntrinsics: http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/MergeCleanUp/webrev.00/ The post merge clean-up mainly involves the following: - Extending the usage of emit_int16 and emit_int24 in the assembler to new instructions. - Removal of BasicType from reduction methods. Best Regards, Sandhya From sandhya.viswanathan at intel.com Mon Mar 30 01:55:55 2020 From: sandhya.viswanathan at intel.com (sandhya.viswanathan at intel.com) Date: Mon, 30 Mar 2020 01:55:55 +0000 Subject: hg: panama/dev: Summary: [vectorIntrinsics] Post merge cleanup for x86 code gen Message-ID: <202003300155.02U1tuOh018215@aojmv0008.oracle.com> Changeset: e43caa9b5d49 Author: sviswanathan Date: 2020-03-29 18:50 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/e43caa9b5d49 Summary: [vectorIntrinsics] Post merge cleanup for x86 code gen ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/x86.ad From sandhya.viswanathan at intel.com Mon Mar 30 02:46:34 2020 From: sandhya.viswanathan at intel.com (sandhya.viswanathan at intel.com) Date: Mon, 30 Mar 2020 02:46:34 +0000 Subject: hg: panama/dev: manual merge with vectorIntrinsics Message-ID: <202003300246.02U2kZ9l010863@aojmv0008.oracle.com> Changeset: 41a1d41ab2db Author: sviswanathan Date: 2020-03-29 19:45 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/41a1d41ab2db manual merge with vectorIntrinsics - make/CompileInterimRmic.gmk - make/common/RMICompilation.gmk - make/rmic/Rmic-java.management.rmi.gmk - make/rmic/Rmic-java.rmi.gmk - make/rmic/Rmic-jdk.naming.rmi.gmk - make/rmic/RmicCommon.gmk - src/demo/share/jfc/Font2DTest/Font2DTestApplet.java - src/demo/share/jfc/SwingSet2/SwingSet2Applet.java ! 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/c2compiler.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/machnode.hpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/matcher.hpp ! src/hotspot/share/opto/phase.cpp ! src/hotspot/share/opto/phase.hpp ! src/hotspot/share/opto/type.cpp ! src/hotspot/share/opto/type.hpp - src/java.base/macosx/classes/java/lang/ClassLoaderHelper.java - src/java.base/share/classes/com/sun/security/cert/internal/x509/X509V1CertImpl.java - src/java.base/unix/classes/java/lang/ClassLoaderHelper.java - src/java.base/windows/classes/java/lang/ClassLoaderHelper.java - src/java.rmi/share/doc/stub/java/rmi/activation/ActivationGroup_Stub.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/replacements/UnsafeLoadSnippets.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/MemoryNode.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/MemoryProxy.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlTag.java - test/jdk/java/awt/TrayIcon/AddPopupAfterShowTest/AddPopupAfterShowTest.html - test/jdk/sun/management/jmxremote/bootstrap/Makefile - test/jdk/sun/management/jmxremote/bootstrap/launcher.c - test/jdk/sun/management/jmxremote/bootstrap/linux-amd64/launcher - test/jdk/sun/management/jmxremote/bootstrap/linux-i586/launcher - test/jdk/sun/management/jmxremote/bootstrap/solaris-amd64/launcher - test/jdk/sun/management/jmxremote/bootstrap/solaris-sparcv9/launcher From ngasson at openjdk.java.net Mon Mar 30 08:15:02 2020 From: ngasson at openjdk.java.net (Nick Gasson) Date: Mon, 30 Mar 2020 08:15:02 GMT Subject: [foreign-abi] [Rev 01] RFR: 8241712: AArch64: TestDowncall fails with IllegalArgumentException: No ABI attribute present In-Reply-To: References: Message-ID: On Fri, 27 Mar 2020 10:55:25 GMT, Jorn Vernee wrote: >>> Looks good to me. Thanks for fixing! >> >> I wonder if we have same problem on Linux... > >> >> >> > Looks good to me. Thanks for fixing! >> >> I wonder if we have same problem on Linux... > > The tests are currently passing, and looking at the code there is one case where trying to look up the ABI type of > padding could cause an exception, but an exception would be thrown for padding any ways: > private static List classifyValueType(ValueLayout type) { > ArrayList classes = new ArrayList<>(); > ArgumentClassImpl clazz = SysVx64ABI.argumentClassFor(SystemABI.Type.fromLayout(type)); > if (clazz == null) { > //padding not allowed here > throw new IllegalStateException("Unexpected value layout: could not determine ABI class"); > } > ... > So, I think we're good. I realised there was a mistake with the data types in the callarranger test and it didn't trigger the bug. I just pushed an extra commit to fix that. Not sure if the PR needs to be approved again? ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/70 From ngasson at openjdk.java.net Mon Mar 30 08:15:02 2020 From: ngasson at openjdk.java.net (Nick Gasson) Date: Mon, 30 Mar 2020 08:15:02 GMT Subject: [foreign-abi] [Rev 01] RFR: 8241712: AArch64: TestDowncall fails with IllegalArgumentException: No ABI attribute present In-Reply-To: References: Message-ID: > Tests cases where the structure has an initial floating point element followed by padding fail with this exception. The > padding element doesn't have the NATIVE_TYPE attribute. > test TestDowncall.testDowncall("f0_V_S_FD", VOID, [STRUCT], [FLOAT, DOUBLE]): failure > java.lang.IllegalArgumentException: No ABI attribute present > at jdk.incubator.foreign/jdk.incubator.foreign.SystemABI$Type.lambda$fromLayout$0(SystemABI.java:195) > at java.base/java.util.Optional.orElseThrow(Optional.java:401) > at jdk.incubator.foreign/jdk.incubator.foreign.SystemABI$Type.fromLayout(SystemABI.java:195) > at > jdk.incubator.foreign/jdk.internal.foreign.abi.aarch64.CallArranger.isHomogeneousFloatAggregate(CallArranger.java:207) > at jdk.incubator.foreign/jdk.internal.foreign.abi.aarch64.CallArranger.classifyStructType(CallArranger.java:220) Nick Gasson has updated the pull request incrementally with one additional commit since the last revision: Fix data types in test struct Should be a struct of all floating point types to trigger the bug. Change-Id: I38659b3a674519109cf2049236715837d78a0d1d ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/70/files - new: https://git.openjdk.java.net/panama-foreign/pull/70/files/aee157e7..5db5e99b Webrevs: - full: https://webrevs.openjdk.java.net/panama-foreign/70/webrev.01 - incr: https://webrevs.openjdk.java.net/panama-foreign/70/webrev.00-01 Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/70.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/70/head:pull/70 PR: https://git.openjdk.java.net/panama-foreign/pull/70 From maurizio.cimadamore at oracle.com Mon Mar 30 09:51:24 2020 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Mon, 30 Mar 2020 10:51:24 +0100 Subject: [foreign-abi] [Rev 01] RFR: 8241712: AArch64: TestDowncall fails with IllegalArgumentException: No ABI attribute present In-Reply-To: References: Message-ID: Thanks, I've integrated it after your latest fix. Maurizio On 30/03/2020 09:15, Nick Gasson wrote: >> Tests cases where the structure has an initial floating point element followed by padding fail with this exception. The >> padding element doesn't have the NATIVE_TYPE attribute. >> test TestDowncall.testDowncall("f0_V_S_FD", VOID, [STRUCT], [FLOAT, DOUBLE]): failure >> java.lang.IllegalArgumentException: No ABI attribute present >> at jdk.incubator.foreign/jdk.incubator.foreign.SystemABI$Type.lambda$fromLayout$0(SystemABI.java:195) >> at java.base/java.util.Optional.orElseThrow(Optional.java:401) >> at jdk.incubator.foreign/jdk.incubator.foreign.SystemABI$Type.fromLayout(SystemABI.java:195) >> at >> jdk.incubator.foreign/jdk.internal.foreign.abi.aarch64.CallArranger.isHomogeneousFloatAggregate(CallArranger.java:207) >> at jdk.incubator.foreign/jdk.internal.foreign.abi.aarch64.CallArranger.classifyStructType(CallArranger.java:220) > Nick Gasson has updated the pull request incrementally with one additional commit since the last revision: > > Fix data types in test struct > > Should be a struct of all floating point types to trigger the bug. > > Change-Id: I38659b3a674519109cf2049236715837d78a0d1d > > ------------- > > Changes: > - all: https://git.openjdk.java.net/panama-foreign/pull/70/files > - new: https://git.openjdk.java.net/panama-foreign/pull/70/files/aee157e7..5db5e99b > > Webrevs: > - full: https://webrevs.openjdk.java.net/panama-foreign/70/webrev.01 > - incr: https://webrevs.openjdk.java.net/panama-foreign/70/webrev.00-01 > > Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod > Patch: https://git.openjdk.java.net/panama-foreign/pull/70.diff > Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/70/head:pull/70 > > PR: https://git.openjdk.java.net/panama-foreign/pull/70 From duke at openjdk.java.net Mon Mar 30 09:57:39 2020 From: duke at openjdk.java.net (duke) Date: Mon, 30 Mar 2020 09:57:39 GMT Subject: git: openjdk/panama-foreign: foreign-jextract: 2 new changesets Message-ID: <978df964-80b4-4a8a-b412-4315d9fa15c3@openjdk.org> Changeset: d793157a Author: Nick Gasson Committer: Maurizio Cimadamore Date: 2020-03-30 09:54:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d793157a 8241712: AArch64: TestDowncall fails with IllegalArgumentException: No ABI attribute present Reviewed-by: jvernee ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/aarch64/CallArranger.java ! test/jdk/java/foreign/callarranger/TestAarch64CallArranger.java Changeset: 4714bf14 Author: duke Date: 2020-03-30 09:57:08 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/4714bf14 Automatic merge of foreign-abi into foreign-jextract From mcimadamore at openjdk.java.net Mon Mar 30 09:56:42 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 30 Mar 2020 09:56:42 GMT Subject: [Integrated] [foreign-abi] RFR: 8241712: AArch64: TestDowncall fails with IllegalArgumentException: No ABI attribute present In-Reply-To: References: Message-ID: <3a2dec7e-7d19-4e73-94fc-f9a9923dd0c9@openjdk.org> Changeset: d793157a Author: Nick Gasson Committer: Maurizio Cimadamore Date: 2020-03-30 09:54:57 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d793157a 8241712: AArch64: TestDowncall fails with IllegalArgumentException: No ABI attribute present Reviewed-by: jvernee ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/abi/aarch64/CallArranger.java ! test/jdk/java/foreign/callarranger/TestAarch64CallArranger.java From sundar at openjdk.java.net Mon Mar 30 11:52:17 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Mon, 30 Mar 2020 11:52:17 GMT Subject: [foreign-abi] RFR: 8241816: foreign-abi and foreign-jextract panama branches fail to build and test Message-ID: Temporary workaround for native library handling in foreign-abi. ------------- Commit messages: - 8241816: foreign-abi and foreign-jextract panama branches fail to build and test Changes: https://git.openjdk.java.net/panama-foreign/pull/72/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/72/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8241816 Stats: 3 lines in 2 files changed: 1 ins; 0 del; 2 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/72.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/72/head:pull/72 PR: https://git.openjdk.java.net/panama-foreign/pull/72 From mcimadamore at openjdk.java.net Mon Mar 30 11:52:39 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 30 Mar 2020 11:52:39 GMT Subject: [foreign-abi] RFR: 8241816: foreign-abi and foreign-jextract panama branches fail to build and test In-Reply-To: References: Message-ID: On Mon, 30 Mar 2020 11:46:51 GMT, Athijegannathan Sundararajan wrote: > Temporary workaround for native library handling in foreign-abi. Looks good - we will be revising this later to have explicit library unloading and take full advantage of the upstream JDK changes. ------------- Marked as reviewed by mcimadamore (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/72 From sundar at openjdk.java.net Mon Mar 30 11:53:41 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Mon, 30 Mar 2020 11:53:41 GMT Subject: [Integrated] [foreign-abi] RFR: 8241816: foreign-abi and foreign-jextract panama branches fail to build and test In-Reply-To: References: Message-ID: <3f8dc145-6f24-46e3-b667-ad54f4b7b920@openjdk.org> Changeset: 9e835e3d Author: Athijegannathan Sundararajan Date: 2020-03-30 11:52:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9e835e3d 8241816: foreign-abi and foreign-jextract panama branches fail to build and test Reviewed-by: mcimadamore ! src/java.base/share/classes/jdk/internal/loader/NativeLibraries.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/LibrariesHelper.java From duke at openjdk.java.net Mon Mar 30 11:53:56 2020 From: duke at openjdk.java.net (duke) Date: Mon, 30 Mar 2020 11:53:56 GMT Subject: git: openjdk/panama-foreign: foreign-jextract: 2 new changesets Message-ID: <5b9dcd88-da38-40db-919d-7e61bf369bf4@openjdk.org> Changeset: 9e835e3d Author: Athijegannathan Sundararajan Date: 2020-03-30 11:52:39 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/9e835e3d 8241816: foreign-abi and foreign-jextract panama branches fail to build and test Reviewed-by: mcimadamore ! src/java.base/share/classes/jdk/internal/loader/NativeLibraries.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/LibrariesHelper.java Changeset: ddc3246b Author: duke Date: 2020-03-30 11:53:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ddc3246b Automatic merge of foreign-abi into foreign-jextract From mcimadamore at openjdk.java.net Mon Mar 30 11:55:44 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 30 Mar 2020 11:55:44 GMT Subject: [Integrated] [foreign-memaccess] RFR: JDK-8241772: MemorySegment should offer a spliterator In-Reply-To: References: Message-ID: Changeset: 86609afb Author: Maurizio Cimadamore Date: 2020-03-30 11:53:46 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/86609afb JDK-8241772: MemorySegment should offer a spliterator Reviewed-by: psandoz ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/package-info.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java ! test/jdk/java/foreign/TestSegments.java ! test/jdk/java/foreign/TestSharedAccess.java + test/jdk/java/foreign/TestSpliterator.java ! test/jdk/java/util/stream/boottest/TEST.properties ! test/jdk/java/util/stream/test/TEST.properties + test/jdk/java/util/stream/test/org/openjdk/tests/java/util/stream/SegmentTestDataProvider.java ! test/jdk/java/util/stream/test/org/openjdk/tests/java/util/stream/SpliteratorTest.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/ParallelSum.java From mcimadamore at openjdk.java.net Mon Mar 30 11:56:34 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 30 Mar 2020 11:56:34 GMT Subject: [foreign-memaccess] [Rev 03] RFR: JDK-8241154: Clarify the role of MemorySegments In-Reply-To: References: <8AnpPW3l2gc1cVUcRqpSgMp-0MxUDOmjTct0VAnhHRw=.a3b7f51f-ca12-472a-b337-860954c8743a@github.com> Message-ID: <80DRPc32pbwBrToogy078hgjWfcUqACqwDyhxbSiaDo=.485b655f-1077-4eec-9c6c-3d4512613748@github.com> On Tue, 24 Mar 2020 16:20:57 GMT, Paul Sandoz wrote: >> Just realized that for this to work properly I need to add reachabilty fences in all the var handle code (at least, >> possibly AB invokers need to do the same). Should I do it as part of this effort, or should I split and deal with >> registerCleaner later? > > Drat, those fences are a pain. Might be easier to separate out (esp. for review purposes, i am already loosing track of > what is going on!). Closing this for now - we'll bring some of this stuff back in upcoming patches. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/54 From duke at openjdk.java.net Mon Mar 30 11:56:47 2020 From: duke at openjdk.java.net (duke) Date: Mon, 30 Mar 2020 11:56:47 GMT Subject: git: openjdk/panama-foreign: foreign-abi: 2 new changesets Message-ID: <38be99db-4db0-49ae-9125-4585c4e99cca@openjdk.org> Changeset: 86609afb Author: Maurizio Cimadamore Date: 2020-03-30 11:53:46 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/86609afb JDK-8241772: MemorySegment should offer a spliterator Reviewed-by: psandoz ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/package-info.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java ! test/jdk/java/foreign/TestSegments.java ! test/jdk/java/foreign/TestSharedAccess.java + test/jdk/java/foreign/TestSpliterator.java ! test/jdk/java/util/stream/boottest/TEST.properties ! test/jdk/java/util/stream/test/TEST.properties + test/jdk/java/util/stream/test/org/openjdk/tests/java/util/stream/SegmentTestDataProvider.java ! test/jdk/java/util/stream/test/org/openjdk/tests/java/util/stream/SpliteratorTest.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/ParallelSum.java Changeset: 8c35a40d Author: duke Date: 2020-03-30 11:56:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8c35a40d Automatic merge of foreign-memaccess into foreign-abi ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java ! test/jdk/java/foreign/TestSegments.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java ! test/jdk/java/foreign/TestSegments.java From duke at openjdk.java.net Mon Mar 30 11:57:07 2020 From: duke at openjdk.java.net (duke) Date: Mon, 30 Mar 2020 11:57:07 GMT Subject: git: openjdk/panama-foreign: foreign-jextract: 3 new changesets Message-ID: <6389ef56-b416-48af-a5ba-d01a68b8bae7@openjdk.org> Changeset: 86609afb Author: Maurizio Cimadamore Date: 2020-03-30 11:53:46 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/86609afb JDK-8241772: MemorySegment should offer a spliterator Reviewed-by: psandoz ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/package-info.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java ! test/jdk/java/foreign/TestSegments.java ! test/jdk/java/foreign/TestSharedAccess.java + test/jdk/java/foreign/TestSpliterator.java ! test/jdk/java/util/stream/boottest/TEST.properties ! test/jdk/java/util/stream/test/TEST.properties + test/jdk/java/util/stream/test/org/openjdk/tests/java/util/stream/SegmentTestDataProvider.java ! test/jdk/java/util/stream/test/org/openjdk/tests/java/util/stream/SpliteratorTest.java ! test/micro/org/openjdk/bench/jdk/incubator/foreign/ParallelSum.java Changeset: 8c35a40d Author: duke Date: 2020-03-30 11:56:01 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/8c35a40d Automatic merge of foreign-memaccess into foreign-abi ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java ! test/jdk/java/foreign/TestSegments.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java ! test/jdk/java/foreign/TestSegments.java Changeset: 92f5f307 Author: duke Date: 2020-03-30 11:56:22 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/92f5f307 Automatic merge of foreign-abi into foreign-jextract From mcimadamore at openjdk.java.net Mon Mar 30 13:54:20 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 30 Mar 2020 13:54:20 GMT Subject: [foreign-memaccess] RFR: JDK-8241849: Add unsafe way to create unconfined memory segment view Message-ID: This patch adds an extra foreign unsafe static method to create an unconfined view of an existing segment. Following JDK-8241772, the acquire() entry point has been removed; while the common divide and conquer use cases are still supported (via spliterator), it might be the case that some of the clients want a truly unconfined (and unsafe) segment. This patch adds that. The new API is more powerful than just acquire() and more in sync with what existing clients might already doing in certain cases, by calling Unsafe::invokeCleaner when working with direct buffers. ------------- Commit messages: - Add unsafe helper to create unconfined view of a segment Changes: https://git.openjdk.java.net/panama-foreign/pull/73/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/73/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-JDK-8241849 Stats: 46 lines in 3 files changed: 45 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/73.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/73/head:pull/73 PR: https://git.openjdk.java.net/panama-foreign/pull/73 From sundar at openjdk.java.net Mon Mar 30 14:26:41 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Mon, 30 Mar 2020 14:26:41 GMT Subject: [foreign-memaccess] RFR: JDK-8241849: Add unsafe way to create unconfined memory segment view In-Reply-To: References: Message-ID: On Mon, 30 Mar 2020 13:48:06 GMT, Maurizio Cimadamore wrote: > This patch adds an extra foreign unsafe static method to create an unconfined view of an existing segment. Following > JDK-8241772, the acquire() entry point has been removed; while the common divide and conquer use cases are still > supported (via spliterator), it might be the case that some of the clients want a truly unconfined (and unsafe) > segment. This patch adds that. The new API is more powerful than just acquire() and more in sync with what existing > clients might already doing in certain cases, by calling Unsafe::invokeCleaner when working with direct buffers. Marked as reviewed by sundar (Committer). Marked as reviewed by sundar (Committer). ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/73 From mcimadamore at openjdk.java.net Mon Mar 30 14:51:41 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 30 Mar 2020 14:51:41 GMT Subject: [Integrated] [foreign-memaccess] RFR: JDK-8241849: Add unsafe way to create unconfined memory segment view In-Reply-To: References: Message-ID: <7c36e484-7951-48c3-9802-b05801f89730@openjdk.org> Changeset: d34b4444 Author: Maurizio Cimadamore Date: 2020-03-30 14:50:38 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d34b4444 JDK-8241849: Add unsafe way to create unconfined memory segment view Reviewed-by: sundar ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/unsafe/ForeignUnsafe.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java ! test/jdk/java/foreign/TestSharedAccess.java From duke at openjdk.java.net Mon Mar 30 14:59:32 2020 From: duke at openjdk.java.net (J.Duke) Date: Mon, 30 Mar 2020 14:59:32 GMT Subject: [foreign-abi] Cannot automatically merge foreign-memaccess to foreign-abi Message-ID: Hi all, this is an _automatically_ generated merge request to notify you that there is 1 commit from the branch `foreign-memaccess`that can **not** be merged into the branch `foreign-abi`: The following file contains merge conflicts: - src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/unsafe/ForeignUnsafe.java The following paragraphs will give an example on how to solve these merge conflicts and create a pull request to integrate them. If you are using a workflow different from the one below, feel free to use that instead. It is important that the title of the pull request you create is `Merge foreign-memaccess`, otherwise the bots will _not_ understand that the pull request you create is a "merge style" 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://git.openjdk.java.net/panama-foreign) repository. These commands will allow you to view and resolve the merge conflicts. Note that the name of the local branch in the commands, `merge-foreign-memaccess-into-foreign-abi-d34b4444`, is just an example, feel free to give the local branch any name you prefer. $ git checkout foreign-abi $ git pull https://git.openjdk.java.net/panama-foreign foreign-abi $ git checkout -b merge-foreign-memaccess-into-foreign-abi-d34b4444 $ git pull https://git.openjdk.java.net/panama-foreign foreign-memaccess When you have resolved the conflicts resulting from the `git pull` command above, run the following commands to create a merge commit: $ git add paths/to/files/with/conflicts $ git commit -m 'Merge foreign-memaccess' The commit message does not have to be `Merge foreign-memaccess`, but it is convenient for when you will create a pull request. Many tools will by default use the commit message of the most recent commit on a branch as the title for a pull request from that branch. This means that if you use the commit message `Merge foreign-memaccess` as the commit message then the title of the pull request will (depending to tools used to create the pull request) be of a format that the bots expect. Proceed to [publish the local branch](https://wiki.openjdk.java.net/display/SKARA/FAQ#FAQ-HowdoIpushalocalbranchtoaremoterepository?) and [create a pull request](https://wiki.openjdk.java.net/display/SKARA/FAQ#FAQ-HowdoIcreateapullrequest?) towards the `foreign-abi` branch in the [openjdk/panama-foreign](https://git.openjdk.java.net/panama-foreign) repository. The resulting pull request can then integrated as usual once it has passed all required pre-integration checks. Thanks, J. Duke ------------- Commit messages: - JDK-8241849: Add unsafe way to create unconfined memory segment view Changes: https://git.openjdk.java.net/panama-foreign/pull/74/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/74/webrev.00 Stats: 46 lines in 3 files changed: 45 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/74.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/74/head:pull/74 PR: https://git.openjdk.java.net/panama-foreign/pull/74 From vladimir.x.ivanov at oracle.com Mon Mar 30 16:59:30 2020 From: vladimir.x.ivanov at oracle.com (vladimir.x.ivanov at oracle.com) Date: Mon, 30 Mar 2020 16:59:30 +0000 Subject: hg: panama/dev: Remove SVML stubs and their support Message-ID: <202003301659.02UGxVTw003985@aojmv0008.oracle.com> Changeset: 1e0fef073cfb Author: vlivanov Date: 2020-03-30 18:56 +0300 URL: https://hg.openjdk.java.net/panama/dev/rev/1e0fef073cfb Remove SVML stubs and their support ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/arm/arm.ad ! src/hotspot/cpu/arm/sharedRuntime_arm.cpp ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp ! src/hotspot/cpu/s390/s390.ad ! src/hotspot/cpu/s390/sharedRuntime_s390.cpp ! src/hotspot/cpu/sparc/sharedRuntime_sparc.cpp ! src/hotspot/cpu/sparc/sparc.ad ! src/hotspot/cpu/x86/sharedRuntime_x86_32.cpp ! src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp ! src/hotspot/cpu/x86/stubGenerator_x86_64.cpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/cpu/x86/x86_32.ad ! src/hotspot/cpu/x86/x86_64.ad ! src/hotspot/cpu/zero/sharedRuntime_zero.cpp - src/hotspot/os_cpu/linux_x86/svml_d_acos_linux_x86.S - src/hotspot/os_cpu/linux_x86/svml_d_asin_linux_x86.S - src/hotspot/os_cpu/linux_x86/svml_d_atan2_linux_x86.S - src/hotspot/os_cpu/linux_x86/svml_d_atan_linux_x86.S - src/hotspot/os_cpu/linux_x86/svml_d_cbrt_linux_x86.S - src/hotspot/os_cpu/linux_x86/svml_d_cos_linux_x86.S - src/hotspot/os_cpu/linux_x86/svml_d_cosh_linux_x86.S - src/hotspot/os_cpu/linux_x86/svml_d_exp_linux_x86.S - src/hotspot/os_cpu/linux_x86/svml_d_expm1_linux_x86.S - src/hotspot/os_cpu/linux_x86/svml_d_hypot_linux_x86.S - src/hotspot/os_cpu/linux_x86/svml_d_log10_linux_x86.S - src/hotspot/os_cpu/linux_x86/svml_d_log1p_linux_x86.S - src/hotspot/os_cpu/linux_x86/svml_d_log_linux_x86.S - src/hotspot/os_cpu/linux_x86/svml_d_pow_linux_x86.S - src/hotspot/os_cpu/linux_x86/svml_d_sin_linux_x86.S - src/hotspot/os_cpu/linux_x86/svml_d_sinh_linux_x86.S - src/hotspot/os_cpu/linux_x86/svml_d_tan_linux_x86.S - src/hotspot/os_cpu/linux_x86/svml_d_tanh_linux_x86.S - src/hotspot/os_cpu/linux_x86/svml_s_acos_linux_x86.S - src/hotspot/os_cpu/linux_x86/svml_s_asin_linux_x86.S - src/hotspot/os_cpu/linux_x86/svml_s_atan2_linux_x86.S - src/hotspot/os_cpu/linux_x86/svml_s_atan_linux_x86.S - src/hotspot/os_cpu/linux_x86/svml_s_cbrt_linux_x86.S - src/hotspot/os_cpu/linux_x86/svml_s_cos_linux_x86.S - src/hotspot/os_cpu/linux_x86/svml_s_cosh_linux_x86.S - src/hotspot/os_cpu/linux_x86/svml_s_exp_linux_x86.S - src/hotspot/os_cpu/linux_x86/svml_s_expm1_linux_x86.S - src/hotspot/os_cpu/linux_x86/svml_s_hypot_linux_x86.S - src/hotspot/os_cpu/linux_x86/svml_s_log10_linux_x86.S - src/hotspot/os_cpu/linux_x86/svml_s_log1p_linux_x86.S - src/hotspot/os_cpu/linux_x86/svml_s_log_linux_x86.S - src/hotspot/os_cpu/linux_x86/svml_s_pow_linux_x86.S - src/hotspot/os_cpu/linux_x86/svml_s_sin_linux_x86.S - src/hotspot/os_cpu/linux_x86/svml_s_sinh_linux_x86.S - src/hotspot/os_cpu/linux_x86/svml_s_tan_linux_x86.S - src/hotspot/os_cpu/linux_x86/svml_s_tanh_linux_x86.S - src/hotspot/os_cpu/windows_x86/svml_d_acos_windows_x86.s - src/hotspot/os_cpu/windows_x86/svml_d_asin_windows_x86.s - src/hotspot/os_cpu/windows_x86/svml_d_atan2_windows_x86.s - src/hotspot/os_cpu/windows_x86/svml_d_atan_windows_x86.s - src/hotspot/os_cpu/windows_x86/svml_d_cbrt_windows_x86.s - src/hotspot/os_cpu/windows_x86/svml_d_cos_windows_x86.s - src/hotspot/os_cpu/windows_x86/svml_d_cosh_windows_x86.s - src/hotspot/os_cpu/windows_x86/svml_d_exp_windows_x86.s - src/hotspot/os_cpu/windows_x86/svml_d_expm1_windows_x86.s - src/hotspot/os_cpu/windows_x86/svml_d_hypot_windows_x86.s - src/hotspot/os_cpu/windows_x86/svml_d_log10_windows_x86.s - src/hotspot/os_cpu/windows_x86/svml_d_log1p_windows_x86.s - src/hotspot/os_cpu/windows_x86/svml_d_log_windows_x86.s - src/hotspot/os_cpu/windows_x86/svml_d_pow_windows_x86.s - src/hotspot/os_cpu/windows_x86/svml_d_sin_windows_x86.s - src/hotspot/os_cpu/windows_x86/svml_d_sinh_windows_x86.s - src/hotspot/os_cpu/windows_x86/svml_d_tan_windows_x86.s - src/hotspot/os_cpu/windows_x86/svml_d_tanh_windows_x86.s - src/hotspot/os_cpu/windows_x86/svml_s_acos_windows_x86.s - src/hotspot/os_cpu/windows_x86/svml_s_asin_windows_x86.s - src/hotspot/os_cpu/windows_x86/svml_s_atan2_windows_x86.s - src/hotspot/os_cpu/windows_x86/svml_s_atan_windows_x86.s - src/hotspot/os_cpu/windows_x86/svml_s_cbrt_windows_x86.s - src/hotspot/os_cpu/windows_x86/svml_s_cos_windows_x86.s - src/hotspot/os_cpu/windows_x86/svml_s_cosh_windows_x86.s - src/hotspot/os_cpu/windows_x86/svml_s_exp_windows_x86.s - src/hotspot/os_cpu/windows_x86/svml_s_expm1_windows_x86.s - src/hotspot/os_cpu/windows_x86/svml_s_hypot_windows_x86.s - src/hotspot/os_cpu/windows_x86/svml_s_log10_windows_x86.s - src/hotspot/os_cpu/windows_x86/svml_s_log1p_windows_x86.s - src/hotspot/os_cpu/windows_x86/svml_s_log_windows_x86.s - src/hotspot/os_cpu/windows_x86/svml_s_pow_windows_x86.s - src/hotspot/os_cpu/windows_x86/svml_s_sin_windows_x86.s - src/hotspot/os_cpu/windows_x86/svml_s_sinh_windows_x86.s - src/hotspot/os_cpu/windows_x86/svml_s_tan_windows_x86.s - src/hotspot/os_cpu/windows_x86/svml_s_tanh_windows_x86.s ! src/hotspot/share/adlc/formssel.cpp ! src/hotspot/share/opto/callnode.cpp ! src/hotspot/share/opto/callnode.hpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/escape.cpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/graphKit.hpp ! src/hotspot/share/opto/lcm.cpp ! src/hotspot/share/opto/library_call.hpp ! src/hotspot/share/opto/matcher.hpp ! src/hotspot/share/opto/vectorIntrinsics.cpp ! src/hotspot/share/prims/vectorSupport.cpp ! src/hotspot/share/prims/vectorSupport.hpp ! src/hotspot/share/runtime/sharedRuntime.hpp ! src/hotspot/share/runtime/stubRoutines.cpp ! src/hotspot/share/runtime/stubRoutines.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/java.base/share/classes/jdk/internal/vm/vector/VectorSupport.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorOperators.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-Vector.java.template From mcimadamore at openjdk.java.net Mon Mar 30 17:42:41 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 30 Mar 2020 17:42:41 GMT Subject: [foreign-memaccess] RFR: JDK-8241866:Add API to reshape sequence layouts Message-ID: https://docs.scipy.org/doc/numpy/reference/generated/numpy.reshape.html As in Python, clients can use _at most_ one `-1` dimension value, and that dimension value will be inferred by remaining dimensions. The changes also add the `flatten` method, which does the opposite - e.g. take a sequence layout, whose element layout could be other nested sequence layouts and flatten everything into an outermost sequence layout (where element count is adjusted as needed). These routines are fairly general and helpful and I found myself in need for something similar when writing code doing parallel processing of memory segments, but there are many other possible use cases. ------------- Commit messages: - Fix whitespaces - Forgot to add file - Add SequenceLayout::reshape/flatten Changes: https://git.openjdk.java.net/panama-foreign/pull/75/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/75/webrev.00 Stats: 305 lines in 3 files changed: 304 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/75.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/75/head:pull/75 PR: https://git.openjdk.java.net/panama-foreign/pull/75 From mcimadamore at openjdk.java.net Mon Mar 30 18:06:01 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 30 Mar 2020 18:06:01 GMT Subject: [foreign-abi] RFR: Merge foreign-memaccess Message-ID: Just move the newly added ForeignUnsafe::asUnconfined to the new Foreign class. ------------- Commit messages: - Merge foreign-memaccess - JDK-8241849: Add unsafe way to create unconfined memory segment view Changes: https://git.openjdk.java.net/panama-foreign/pull/76/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/76/webrev.00 The following webrevs contain only the adjustments done while merging with regards to each parent branch: - foreign-abi: https://webrevs.openjdk.java.net/panama-foreign/76/webrev.00.0 - foreign-memaccess: https://webrevs.openjdk.java.net/panama-foreign/76/webrev.00.1 Stats: 47 lines in 4 files changed: 46 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/76.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/76/head:pull/76 PR: https://git.openjdk.java.net/panama-foreign/pull/76 From mcimadamore at openjdk.java.net Mon Mar 30 18:12:10 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Mon, 30 Mar 2020 18:12:10 GMT Subject: [foreign-abi] [Rev 01] RFR: Merge foreign-memaccess In-Reply-To: References: Message-ID: > Just move the newly added ForeignUnsafe::asUnconfined to the new Foreign class. Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: Added standard disclaimer for restricted methods ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/76/files - new: https://git.openjdk.java.net/panama-foreign/pull/76/files/9bda39b0..3e3513a8 Webrevs: - full: https://webrevs.openjdk.java.net/panama-foreign/76/webrev.01 - incr: https://webrevs.openjdk.java.net/panama-foreign/76/webrev.00-01 Stats: 4 lines in 1 file changed: 4 ins; 0 del; 0 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/76.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/76/head:pull/76 PR: https://git.openjdk.java.net/panama-foreign/pull/76 From sandhya.viswanathan at intel.com Mon Mar 30 18:29:28 2020 From: sandhya.viswanathan at intel.com (sandhya.viswanathan at intel.com) Date: Mon, 30 Mar 2020 18:29:28 +0000 Subject: hg: panama/dev: 59 new changesets Message-ID: <202003301829.02UITVUx022965@aojmv0008.oracle.com> Changeset: b65352cf6754 Author: jjg Date: 2020-03-25 15:03 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/b65352cf6754 8241544: update stylesheet for *-page CSS class rename and hyphenated naming Reviewed-by: prappo, hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css ! test/langtools/jdk/javadoc/doclet/testStylesheet/TestStylesheet.java Changeset: 5c7ec21f5d13 Author: jjiang Date: 2020-03-26 07:09 +0800 URL: https://hg.openjdk.java.net/panama/dev/rev/5c7ec21f5d13 8237977: Further update javax/net/ssl/compatibility/Compatibility.java Reviewed-by: rhalade ! test/jdk/javax/net/ssl/TLSCommon/CipherSuite.java ! test/jdk/javax/net/ssl/compatibility/Cert.java ! test/jdk/javax/net/ssl/compatibility/Compatibility.java ! test/jdk/javax/net/ssl/compatibility/JdkInfo.java ! test/jdk/javax/net/ssl/compatibility/JdkUtils.java ! test/jdk/javax/net/ssl/compatibility/Server.java ! test/jdk/javax/net/ssl/compatibility/TestCase.java ! test/jdk/javax/net/ssl/compatibility/UseCase.java ! test/jdk/javax/net/ssl/compatibility/Utils.java Changeset: 7e710082a8aa Author: redestad Date: 2020-03-26 00:02 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/7e710082a8aa 8241427: Coarsen locking in Modules::add_module_exports Reviewed-by: lfoltan, hseigel ! src/hotspot/share/classfile/modules.cpp ! src/hotspot/share/classfile/modules.hpp ! src/hotspot/share/classfile/packageEntry.cpp ! src/hotspot/share/classfile/systemDictionary.cpp ! test/hotspot/jtreg/runtime/modules/AccessCheckAllUnnamed.java ! test/hotspot/jtreg/runtime/modules/JVMAddModuleExportsToAll.java Changeset: a57bcb71fdaa Author: pli Date: 2020-03-26 10:10 +0800 URL: https://hg.openjdk.java.net/panama/dev/rev/a57bcb71fdaa 8241482: AArch64: Fix a potential issue after JDK-8239549 Reviewed-by: aph ! src/hotspot/cpu/aarch64/aarch64.ad Changeset: ff19fd7429bd Author: yzhang Date: 2020-03-26 14:46 +0800 URL: https://hg.openjdk.java.net/panama/dev/rev/ff19fd7429bd 8241419: Remove unused InterfaceSupport::_number_of_calls Reviewed-by: dholmes Contributed-by: jie.he at arm.com ! src/hotspot/share/runtime/interfaceSupport.cpp ! src/hotspot/share/runtime/interfaceSupport.inline.hpp Changeset: 56b281f37868 Author: mbaesken Date: 2020-03-24 15:26 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/56b281f37868 8241491: Problem list jdk/javax/swing/UIDefaults/8146330/UIDefaultKeySizeTest.java on aix Reviewed-by: clanger ! test/jdk/ProblemList.txt Changeset: 28fa7b197532 Author: roland Date: 2020-03-20 13:56 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/28fa7b197532 8240335: C2: assert(found_sfpt) failed: no node in loop that's not input to safepoint Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/cfgnode.cpp ! src/hotspot/share/opto/cfgnode.hpp + test/hotspot/jtreg/compiler/loopstripmining/TestCastIIAfterUnrollingInOuterLoop.java Changeset: 7d71520ea148 Author: roland Date: 2020-03-20 13:58 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/7d71520ea148 8241365: Define Unique_Node_List::contains() to prevent usage by mistake Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/node.hpp Changeset: bd1f89367b9f Author: redestad Date: 2020-03-26 10:02 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/bd1f89367b9f 8241649: Optimize Character.toString Reviewed-by: redestad, rriggs Contributed-by: sergei.tsypanov at yandex.ru ! src/java.base/share/classes/java/lang/Character.java Changeset: 51acdbbcfea3 Author: jwilhelm Date: 2020-03-26 03:15 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/51acdbbcfea3 Added tag jdk-15+16 for changeset 5c7ec21f5d13 ! .hgtags Changeset: 12c874ae6810 Author: jboes Date: 2020-03-26 11:52 +0000 URL: https://hg.openjdk.java.net/panama/dev/rev/12c874ae6810 8235459: HttpRequest.BodyPublishers::ofFile assumes the default file system Summary: Add support for non-default file systems to HttpRequest.BodyPublishers::ofFile Reviewed-by: chegar, dfuchs, amlu ! src/java.net.http/share/classes/java/net/http/HttpRequest.java ! src/java.net.http/share/classes/jdk/internal/net/http/RequestPublishers.java + test/jdk/java/net/httpclient/FilePublisher/FilePublisherPermsTest.java + test/jdk/java/net/httpclient/FilePublisher/FilePublisherPermsTest1.policy + test/jdk/java/net/httpclient/FilePublisher/FilePublisherPermsTest2.policy + test/jdk/java/net/httpclient/FilePublisher/FilePublisherPermsTest3.policy + test/jdk/java/net/httpclient/FilePublisher/FilePublisherTest.java + test/jdk/java/net/httpclient/FilePublisher/FilePublisherTest.policy + test/jdk/java/net/httpclient/FilePublisher/SecureZipFSProvider.java Changeset: c69cdcdb8a88 Author: chagedorn Date: 2020-03-26 13:43 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/c69cdcdb8a88 8241595: Fix missing debug_orig information in Ideal Graph Visualizer Summary: Show missing debug_orig information for nodes in Ideal Graph Visualizer. Reviewed-by: kvn, neliasso ! src/hotspot/share/opto/idealGraphPrinter.cpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.hpp Changeset: 95b5ae26d526 Author: coleenp Date: 2020-03-26 10:29 -0400 URL: https://hg.openjdk.java.net/panama/dev/rev/95b5ae26d526 8172485: [TESTBUG] RedefineLeak.java runs out of metaspace memory Summary: Check for zero exit value. Reviewed-by: lfoltan ! test/hotspot/jtreg/serviceability/jvmti/RedefineClasses/RedefineLeak.java Changeset: 229c46cc80da Author: jboes Date: 2020-03-26 14:58 +0000 URL: https://hg.openjdk.java.net/panama/dev/rev/229c46cc80da 8241674: Fix incorrect jtreg option in FilePublisherPermsTest Summary: Replace jtreg option 'policy' with 'java.security.policy' to extend rather than replace policy Reviewed-by: chegar, dfuchs ! test/jdk/java/net/httpclient/FilePublisher/FilePublisherPermsTest.java Changeset: 04ac1d775349 Author: pliden Date: 2020-03-26 16:56 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/04ac1d775349 8241596: ZGC: Shorten runtime of gc/z/TestUncommit.java Reviewed-by: tschatzl, sjohanss ! test/hotspot/jtreg/gc/z/TestUncommit.java Changeset: e886b0d7ff87 Author: dtitov Date: 2020-03-26 09:03 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/e886b0d7ff87 8196751: Add jhsdb option to specify debug server RMI connector port Reviewed-by: sspitsyn, ysuenaga ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/HotSpotAgent.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/SALauncher.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/remote/RemoteDebuggerServer.java ! test/hotspot/jtreg/serviceability/sa/sadebugd/SADebugDTest.java ! test/lib/jdk/test/lib/Utils.java Changeset: 5ca905e0c514 Author: mseledtsov Date: 2020-03-26 10:03 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/5ca905e0c514 8240634: event/runtime/TestMetaspaceAllocationFailure.java times out Summary: Limit number of iterations Reviewed-by: egahlin, stuefe ! test/jdk/jdk/jfr/event/runtime/TestMetaspaceAllocationFailure.java Changeset: 5ac19bd3a1e2 Author: ccheung Date: 2020-03-26 10:14 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/5ac19bd3a1e2 8233093: Move CDS heap oopmaps into new MetaspaceShared::bm region Summary: Moved the _closed_archive_heap_oopmaps and _open_archive_heap_oopmaps from the ro to the bm region. Reviewed-by: iklam, minqi ! src/hotspot/share/memory/dynamicArchive.cpp ! src/hotspot/share/memory/filemap.cpp ! src/hotspot/share/memory/filemap.hpp ! src/hotspot/share/memory/metaspaceShared.cpp ! src/hotspot/share/memory/metaspaceShared.hpp Changeset: 731cdb89b27f Author: shade Date: 2020-03-26 19:08 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/731cdb89b27f 8241668: Shenandoah: make ShenandoahHeapRegion not derive from ContiguousSpace Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/vmStructs_shenandoah.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shenandoah/ShenandoahHeapRegion.java Changeset: b2651fabca58 Author: shade Date: 2020-03-26 19:09 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/b2651fabca58 8241673: Shenandoah: refactor anti-false-sharing padding Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.hpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.hpp ! src/hotspot/share/gc/shenandoah/shenandoahEvacOOMHandler.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegionSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahLock.hpp ! src/hotspot/share/gc/shenandoah/shenandoahNMethod.hpp ! src/hotspot/share/gc/shenandoah/shenandoahPacer.hpp + src/hotspot/share/gc/shenandoah/shenandoahPadding.hpp ! src/hotspot/share/gc/shenandoah/shenandoahSharedVariables.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTaskqueue.hpp Changeset: cdeced379c0c Author: epavlova Date: 2020-03-26 14:24 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/cdeced379c0c 8236975: compiler/graalunit tests fails with --illegal-access=deny Reviewed-by: iignatyev, kvn, alanb ! test/hotspot/jtreg/compiler/graalunit/CoreTest.java ! test/hotspot/jtreg/compiler/graalunit/GraphTest.java ! test/hotspot/jtreg/compiler/graalunit/HotspotJdk9Test.java ! test/hotspot/jtreg/compiler/graalunit/HotspotSparcTest.java ! test/hotspot/jtreg/compiler/graalunit/ReplacementsTest.java ! test/hotspot/jtreg/compiler/graalunit/TestPackages.txt ! test/hotspot/jtreg/compiler/graalunit/common/GraalUnitTestLauncher.java ! test/hotspot/jtreg/compiler/graalunit/generateTests.sh Changeset: 603baff55182 Author: cjplummer Date: 2020-03-26 15:13 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/603baff55182 8241696: ProblemList gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java due to JDK-8241293 Reviewed-by: dcubed, ctornqvi ! test/hotspot/jtreg/ProblemList.txt Changeset: f2458462c298 Author: jjg Date: 2020-03-26 20:36 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/f2458462c298 8241470: HtmlStyle: group and document members: description, flex, signature Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractMemberWriter.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/testIndentation/TestIndentation.java ! test/langtools/jdk/javadoc/doclet/testJavaFX/TestJavaFX.java ! test/langtools/jdk/javadoc/doclet/testMemberInheritance/TestMemberInheritance.java ! test/langtools/jdk/javadoc/doclet/testMethodSignature/TestMethodSignature.java ! test/langtools/jdk/javadoc/doclet/testNewLanguageFeatures/TestNewLanguageFeatures.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 Changeset: 439a44cd1ee8 Author: vtewari Date: 2020-03-27 11:34 +0530 URL: https://hg.openjdk.java.net/panama/dev/rev/439a44cd1ee8 8129841: Update comment for Java_java_net_Inet6AddressImpl_getHostByAddr Summary: Update comment for Java_java_net_Inet6AddressImpl_getHostByAddr Reviewed-by: vtewari, alanb Contributed-by: vipinmv1 at in.ibm.com ! src/java.base/unix/native/libnet/Inet4AddressImpl.c ! src/java.base/unix/native/libnet/Inet6AddressImpl.c ! src/java.base/windows/native/libnet/Inet4AddressImpl.c ! src/java.base/windows/native/libnet/Inet6AddressImpl.c Changeset: 55b8fc5c9052 Author: stuefe Date: 2020-03-27 07:16 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/55b8fc5c9052 8241581: Add BitMap::count_one_bits variant for arbitrary lengths Reviewed-by: redestad, kbarrett ! src/hotspot/share/utilities/bitMap.cpp ! src/hotspot/share/utilities/bitMap.hpp + test/hotspot/gtest/utilities/test_bitMap_popcnt.cpp Changeset: 2bf2f8eead7d Author: stuefe Date: 2020-03-27 08:45 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/2bf2f8eead7d 8241723: Build error after 8241581 Reviewed-by: kbarrett, clanger - test/hotspot/gtest/utilities/test_bitMap_popcnt.cpp Changeset: f26a8c129432 Author: ysuenaga Date: 2020-03-27 17:07 +0900 URL: https://hg.openjdk.java.net/panama/dev/rev/f26a8c129432 8240956: SEGV in DwarfParser::process_dwarf after JDK-8234624 Reviewed-by: sspitsyn, kevinw ! src/jdk.hotspot.agent/linux/native/libsaproc/dwarf.cpp ! src/jdk.hotspot.agent/linux/native/libsaproc/libproc_impl.c ! src/jdk.hotspot.agent/linux/native/libsaproc/libproc_impl.h ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64CFrame.java ! test/hotspot/jtreg/ProblemList.txt Changeset: b7933e5c5ce9 Author: tschatzl Date: 2020-03-27 09:44 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/b7933e5c5ce9 8238855: Move G1ConcurrentMark flag sanity checks to g1Arguments Reviewed-by: sjohanss, kbarrett ! src/hotspot/share/gc/g1/g1Arguments.cpp ! src/hotspot/share/gc/g1/g1Arguments.hpp ! 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/shared/gc_globals.hpp ! src/hotspot/share/gc/shared/jvmFlagConstraintsGC.cpp + test/hotspot/jtreg/gc/g1/TestMarkStackSizes.java Changeset: 6ccf082f50d4 Author: roland Date: 2020-03-24 11:06 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/6ccf082f50d4 8240676: Meet not symmetric failure when running lucene on jdk8 Reviewed-by: kvn, thartmann ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/type.cpp ! src/hotspot/share/opto/type.hpp + test/hotspot/jtreg/compiler/types/TestArrayMeetNotSymmetrical.java Changeset: 4327d2c64129 Author: roland Date: 2020-03-24 10:31 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/4327d2c64129 8241675: Shenandoah: assert(n->outcnt() > 0) at shenandoahSupport.cpp:2858 with java/util/Collections/FindSubList.java Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Changeset: ca116bb90caf Author: mbaesken Date: 2020-03-25 13:05 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/ca116bb90caf 8241586: compiler/cpuflags/TestAESIntrinsicsOnUnsupportedConfig.java fails on aarch64 Reviewed-by: clanger ! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp Changeset: 63a288f3f25a Author: rkennke Date: 2020-01-22 15:55 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/63a288f3f25a 8227269: Slow class loading when running with JDWP Reviewed-by: sspitsyn, cjplummer ! src/jdk.jdwp.agent/share/native/libjdwp/classTrack.c ! src/jdk.jdwp.agent/share/native/libjdwp/classTrack.h ! src/jdk.jdwp.agent/share/native/libjdwp/eventHandler.c ! src/jdk.jdwp.agent/share/native/libjdwp/util.c ! src/jdk.jdwp.agent/share/native/libjdwp/util.h Changeset: cac0de8abc0b Author: vlivanov Date: 2020-03-27 13:42 +0300 URL: https://hg.openjdk.java.net/panama/dev/rev/cac0de8abc0b 8241436: C2: Factor out C2-specific code from MacroAssembler Reviewed-by: mdoerr, kvn, adinn ! src/hotspot/cpu/aarch64/aarch64.ad + src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.cpp + src/hotspot/cpu/aarch64/c2_MacroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/arm/arm.ad + src/hotspot/cpu/arm/c2_MacroAssembler_arm.cpp + src/hotspot/cpu/arm/c2_MacroAssembler_arm.hpp ! src/hotspot/cpu/arm/macroAssembler_arm.cpp ! src/hotspot/cpu/arm/macroAssembler_arm.hpp + src/hotspot/cpu/ppc/c2_MacroAssembler_ppc.cpp + src/hotspot/cpu/ppc/c2_MacroAssembler_ppc.hpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.cpp ! src/hotspot/cpu/ppc/macroAssembler_ppc.hpp ! src/hotspot/cpu/ppc/ppc.ad + src/hotspot/cpu/s390/c2_MacroAssembler_s390.cpp + src/hotspot/cpu/s390/c2_MacroAssembler_s390.hpp ! src/hotspot/cpu/s390/macroAssembler_s390.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.hpp ! src/hotspot/cpu/s390/s390.ad + src/hotspot/cpu/sparc/c2_MacroAssembler_sparc.cpp + src/hotspot/cpu/sparc/c2_MacroAssembler_sparc.hpp ! src/hotspot/cpu/sparc/macroAssembler_sparc.cpp ! src/hotspot/cpu/sparc/macroAssembler_sparc.hpp ! src/hotspot/cpu/sparc/sparc.ad + src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp + src/hotspot/cpu/x86/c2_MacroAssembler_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/share/adlc/adlparse.cpp ! src/hotspot/share/adlc/main.cpp + src/hotspot/share/opto/c2_MacroAssembler.hpp Changeset: 30b59af4f10c Author: vlivanov Date: 2020-03-27 13:42 +0300 URL: https://hg.openjdk.java.net/panama/dev/rev/30b59af4f10c 8241434: x86: Fix Assembler::emit_operand asserts for XMM registers Reviewed-by: kvn, redestad ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp Changeset: 01a199887650 Author: vlivanov Date: 2020-03-27 13:42 +0300 URL: https://hg.openjdk.java.net/panama/dev/rev/01a199887650 8241597: x86: Remove MMX support Reviewed-by: kvn, redestad ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/register_definitions_x86.cpp ! src/hotspot/cpu/x86/register_x86.hpp ! src/hotspot/cpu/x86/stubGenerator_x86_32.cpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/cpu/x86/vm_version_x86.hpp Changeset: 8da313a83858 Author: rkennke Date: 2020-03-27 12:47 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/8da313a83858 8241700: Shenandoah: Fold ShenandoahKeepAliveBarrier flag into ShenandoahSATBBarrier Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAggressiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahStaticHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahNormalMode.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPassiveMode.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalMode.cpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp ! test/hotspot/jtreg/gc/shenandoah/options/TestSelectiveBarrierFlags.java ! test/hotspot/jtreg/gc/shenandoah/options/TestWrongBarrierDisable.java Changeset: a51f18f9b776 Author: dfuchs Date: 2020-03-27 12:42 +0000 URL: https://hg.openjdk.java.net/panama/dev/rev/a51f18f9b776 8241336: Some java.net tests failed with NoRouteToHostException on MacOS with special network configuration Summary: NetworkConfiguration updated to skip interfaces that have only IPv6 link local addresses. Reviewed-by: alanb, chegar ! test/jdk/ProblemList.txt ! test/jdk/java/net/MulticastSocket/Promiscuous.java ! test/jdk/java/net/MulticastSocket/SetOutgoingIf.java ! test/jdk/java/nio/channels/DatagramChannel/AdaptorMulticasting.java ! test/lib/jdk/test/lib/NetworkConfiguration.java Changeset: fbd67caf1c4d Author: mbaesken Date: 2020-03-26 10:38 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/fbd67caf1c4d 8241660: Add virtualization information output to hs_err file on macOS Reviewed-by: clanger, mdoerr ! src/hotspot/os/bsd/os_bsd.cpp Changeset: 2ebedcc9933d Author: shade Date: 2020-03-27 15:33 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/2ebedcc9933d 8241692: Shenandoah: remove ShenandoahHeapRegion::_reserved Reviewed-by: zgu, rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp Changeset: d172861d7559 Author: shade Date: 2020-03-27 15:33 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/d172861d7559 8241743: Shenandoah: refactor and inline ShenandoahHeap::heap() Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp ! src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMonitoringSupport.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp Changeset: 3524e8fc7701 Author: shade Date: 2020-03-27 15:33 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/3524e8fc7701 8241740: Shenandoah: remove ShenandoahHeapRegion::_heap Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.inline.hpp Changeset: fef47d126675 Author: shade Date: 2020-03-27 15:33 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/fef47d126675 8241748: Shenandoah: inline MarkingContext TAMS methods Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.inline.hpp Changeset: 6c01f2c60622 Author: herrick Date: 2020-03-27 11:43 -0400 URL: https://hg.openjdk.java.net/panama/dev/rev/6c01f2c60622 8241400: [macos] jpackageapplauncher/main.m built using CXXFLAGS_JDKEXE Reviewed-by: erikj ! make/lib/Lib-jdk.incubator.jpackage.gmk Changeset: a51657b8d389 Author: jcm Date: 2020-03-27 09:47 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/a51657b8d389 8193210: [JVMCI/Graal] add JFR compiler phase/inlining events Summary: C++ EventCompilerPhase/EventCompilerInlining definitions are extended for JVMCI use. Reviewed-by: dnsimon, egahlin, kvn, mgronlun, thartmann ! make/hotspot/lib/JvmFeatures.gmk ! src/hotspot/share/c1/c1_GraphBuilder.cpp ! src/hotspot/share/ci/ciEnv.cpp ! src/hotspot/share/compiler/compileBroker.cpp + src/hotspot/share/compiler/compilerEvent.cpp + src/hotspot/share/compiler/compilerEvent.hpp ! src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointManager.cpp ! src/hotspot/share/jfr/recorder/checkpoint/jfrCheckpointManager.hpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrType.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrType.hpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeManager.cpp ! src/hotspot/share/jfr/recorder/checkpoint/types/jfrTypeManager.hpp ! src/hotspot/share/jfr/recorder/service/jfrRecorderService.cpp ! src/hotspot/share/jvmci/jvmciCompilerToVM.cpp ! src/hotspot/share/opto/bytecodeInfo.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/utilities/macros.hpp ! src/hotspot/share/utilities/ticks.hpp ! 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/JFR.java ! test/jdk/jdk/jfr/event/compiler/TestDeoptimization.java ! test/jdk/jdk/jfr/jvm/TestJfrJavaBase.java Changeset: af6e51a97af5 Author: shade Date: 2020-03-27 19:05 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/af6e51a97af5 8241750: x86_32 build failure after JDK-8227269 Reviewed-by: rkennke, cjplummer ! src/jdk.jdwp.agent/share/native/libjdwp/classTrack.c Changeset: ab2101ab83e4 Author: bobv Date: 2020-02-27 11:36 -0500 URL: https://hg.openjdk.java.net/panama/dev/rev/ab2101ab83e4 8239563: Reduce public exports in dynamic libraries built from JDK static libraries Reviewed-by: dholmes, ihse ! make/autoconf/flags-cflags.m4 ! src/java.base/unix/native/include/jni_md.h ! src/java.base/windows/native/include/jni_md.h Changeset: 4d802f48b818 Author: jjg Date: 2020-03-27 11:24 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/4d802f48b818 8241631: PropertyGetterTaglet, PropertySetterTaglet may be removed Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/BasePropertyTaglet.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/PropertyGetterTaglet.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/PropertySetterTaglet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/TagletManager.java ! test/langtools/jdk/javadoc/doclet/testJavaFX/TestJavaFX.java ! test/langtools/jdk/javadoc/doclet/testJavaFX/pkg1/C.java ! test/langtools/jdk/javadoc/doclet/testSearch/pkgfx/C.java ! test/langtools/jdk/javadoc/doclet/testTaglets/TestTaglets.out ! test/langtools/jdk/javadoc/tool/sampleapi/lib/sampleapi/generator/DocCommentGenerator.java Changeset: f2a0b262efea Author: mikael Date: 2020-03-27 12:50 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/f2a0b262efea 8241721: Change to GCC 9.2 for building on Linux at Oracle Reviewed-by: erikj ! doc/building.html ! doc/building.md ! make/conf/jib-profiles.js ! make/devkit/Tools.gmk Changeset: c5d90e8d4a46 Author: zgu Date: 2020-03-28 11:00 -0400 URL: https://hg.openjdk.java.net/panama/dev/rev/c5d90e8d4a46 8241765: Shenandoah: AARCH64 need to save/restore call clobbered registers before calling keepalive barrier Reviewed-by: rkennke, smonteith, aph ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Changeset: 0d466dfb5653 Author: darcy Date: 2020-03-28 13:01 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/0d466dfb5653 8241789: Make citations of JLS and JVMS consistent in java.lang.Class Reviewed-by: jjg ! src/java.base/share/classes/java/lang/Class.java Changeset: c0e2d545768f Author: redestad Date: 2020-03-28 21:08 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/c0e2d545768f 8241771: Remove dead code in SparsePRT Reviewed-by: sjohanss, tschatzl ! src/hotspot/share/gc/g1/sparsePRT.cpp ! src/hotspot/share/gc/g1/sparsePRT.hpp Changeset: b6c4b1bada1c Author: tnakamura Date: 2020-03-28 16:47 -0400 URL: https://hg.openjdk.java.net/panama/dev/rev/b6c4b1bada1c 8232846: ProcessHandle.Info command with non-English shows question marks Reviewed-by: stuefe, ysuenaga, rriggs ! src/java.base/windows/native/libjava/ProcessHandleImpl_win.c Changeset: dd5198db2e5b Author: igerasim Date: 2020-03-28 21:07 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/dd5198db2e5b 8241727: Typos: empty lines in javadoc, inconsistent indents, etc. (core-libs only) Reviewed-by: prappo ! src/java.base/share/classes/java/io/FileInputStream.java ! src/java.base/share/classes/java/io/ObjectInputStream.java ! src/java.base/share/classes/java/io/PipedReader.java ! src/java.base/share/classes/java/io/RandomAccessFile.java ! src/java.base/share/classes/java/lang/Boolean.java ! src/java.base/share/classes/java/lang/Character.java ! src/java.base/share/classes/java/lang/ClassLoader.java ! src/java.base/share/classes/java/lang/Float.java ! src/java.base/share/classes/java/lang/Package.java ! src/java.base/share/classes/java/lang/ProcessBuilder.java ! src/java.base/share/classes/java/lang/ProcessHandleImpl.java ! src/java.base/share/classes/java/lang/RuntimePermission.java ! src/java.base/share/classes/java/lang/StrictMath.java ! src/java.base/share/classes/java/lang/String.java ! src/java.base/share/classes/java/lang/System.java ! src/java.base/share/classes/java/lang/Thread.java ! src/java.base/share/classes/java/lang/annotation/Annotation.java ! src/java.base/share/classes/java/lang/invoke/ConstantGroup.java ! src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java ! src/java.base/share/classes/java/lang/invoke/MethodHandle.java ! src/java.base/share/classes/java/lang/invoke/MethodType.java ! src/java.base/share/classes/java/lang/invoke/package-info.java ! src/java.base/share/classes/java/lang/module/package-info.java ! src/java.base/share/classes/java/lang/reflect/AnnotatedElement.java ! src/java.base/share/classes/java/lang/reflect/InvocationTargetException.java ! src/java.base/share/classes/java/math/BigDecimal.java ! src/java.base/share/classes/java/math/BigInteger.java ! src/java.base/share/classes/java/math/MutableBigInteger.java ! src/java.base/share/classes/java/math/SignedMutableBigInteger.java ! src/java.base/share/classes/java/text/DateFormat.java ! src/java.base/share/classes/java/text/DateFormatSymbols.java ! src/java.base/share/classes/java/text/MessageFormat.java ! src/java.base/share/classes/java/text/NumberFormat.java ! src/java.base/share/classes/java/text/RBCollationTables.java ! src/java.base/share/classes/java/text/RuleBasedCollator.java ! src/java.base/share/classes/java/util/BitSet.java ! src/java.base/share/classes/java/util/Calendar.java ! src/java.base/share/classes/java/util/Collections.java ! src/java.base/share/classes/java/util/Comparator.java ! src/java.base/share/classes/java/util/Currency.java ! src/java.base/share/classes/java/util/EnumMap.java ! src/java.base/share/classes/java/util/GregorianCalendar.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/regex/Matcher.java ! src/java.base/share/classes/java/util/spi/AbstractResourceBundleProvider.java ! src/java.base/share/classes/java/util/stream/DoubleStream.java ! src/java.base/share/classes/java/util/stream/package-info.java ! src/java.base/share/classes/jdk/internal/icu/impl/CharTrie.java ! src/java.base/share/classes/jdk/internal/icu/impl/ICUBinary.java ! src/java.base/share/classes/jdk/internal/icu/impl/StringPrepDataReader.java ! src/java.base/share/classes/jdk/internal/icu/impl/Trie.java ! src/java.base/share/classes/jdk/internal/icu/impl/Trie2.java ! src/java.base/share/classes/jdk/internal/icu/impl/UCharacterProperty.java ! src/java.base/share/classes/jdk/internal/icu/lang/UCharacterEnums.java ! src/java.base/share/classes/jdk/internal/icu/text/UCharacterIterator.java ! src/java.base/share/classes/jdk/internal/jimage/ImageReader.java ! src/java.base/share/classes/jdk/internal/logger/LoggerWrapper.java ! src/java.base/share/classes/jdk/internal/misc/Unsafe.java ! src/java.base/share/classes/jdk/internal/util/Preconditions.java ! src/java.base/share/classes/jdk/internal/util/xml/impl/Parser.java ! src/java.base/share/classes/sun/reflect/generics/reflectiveObjects/TypeVariableImpl.java ! src/java.base/share/classes/sun/reflect/generics/repository/ClassRepository.java ! src/java.base/share/classes/sun/reflect/generics/repository/ConstructorRepository.java ! src/java.base/share/classes/sun/reflect/generics/repository/FieldRepository.java ! src/java.base/share/classes/sun/reflect/generics/repository/GenericDeclRepository.java ! src/java.base/share/classes/sun/text/BreakDictionary.java ! src/java.base/share/classes/sun/text/CompactByteArray.java ! src/java.base/share/classes/sun/util/calendar/ZoneInfo.java Changeset: 53568400fec3 Author: adinn Date: 2020-03-26 15:26 +0000 URL: https://hg.openjdk.java.net/panama/dev/rev/53568400fec3 8241665: Configuring --with-jvm-features=-compiler2 fails to build on AArch64 Summary: Build config --with-jvm-features=-compiler2 fails on AArch64 because JVMCI path includes opto and ad headers Reviewed-by: kvn, aph ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp Changeset: 4c21f29c72fd Author: shade Date: 2020-03-30 19:37 +0200 URL: https://hg.openjdk.java.net/panama/dev/rev/4c21f29c72fd 8241838: Shenandoah: no need to trash cset during final mark Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp Changeset: 634bc0588258 Author: shade Date: 2020-03-30 19:37 +0200 URL: https://hg.openjdk.java.net/panama/dev/rev/634bc0588258 8241841: Shenandoah: ditch one of allocation type counters in ShenandoahHeapRegion Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.inline.hpp Changeset: 8ed417caf57f Author: shade Date: 2020-03-30 19:38 +0200 URL: https://hg.openjdk.java.net/panama/dev/rev/8ed417caf57f 8241842: Shenandoah: inline ShenandoahHeapRegion::region_number Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp Changeset: d10588dca67b Author: shade Date: 2020-03-30 19:38 +0200 URL: https://hg.openjdk.java.net/panama/dev/rev/d10588dca67b 8241844: Shenandoah: rename ShenandoahHeapRegion::region_number Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahAsserts.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahCollectionSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegionSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegionSet.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeapRegionSet.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahJfrSupport.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkingContext.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp ! src/hotspot/share/gc/shenandoah/vmStructs_shenandoah.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shenandoah/ShenandoahBitMap.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shenandoah/ShenandoahHeapRegion.java Changeset: 009b55b3219a Author: stefank Date: 2020-03-27 15:28 +0100 URL: https://hg.openjdk.java.net/panama/dev/rev/009b55b3219a 8241361: ZGC: Implement memory related JFR events Reviewed-by: pliden, eosterlund Contributed-by: stefan.karlsson at oracle.com, per.liden at oracle.com ! src/hotspot/share/gc/z/zPageAllocator.cpp ! src/hotspot/share/gc/z/zPageAllocator.hpp ! src/hotspot/share/gc/z/zRelocationSetSelector.cpp ! src/hotspot/share/gc/z/zRelocationSetSelector.hpp ! src/hotspot/share/gc/z/zRelocationSetSelector.inline.hpp ! src/hotspot/share/gc/z/zStat.cpp ! src/hotspot/share/gc/z/zTracer.cpp ! src/hotspot/share/gc/z/zTracer.hpp ! src/hotspot/share/gc/z/zTracer.inline.hpp ! src/hotspot/share/jfr/metadata/metadata.xml ! src/jdk.jfr/share/conf/jfr/default.jfc ! src/jdk.jfr/share/conf/jfr/profile.jfc From henryjen at openjdk.java.net Mon Mar 30 19:18:03 2020 From: henryjen at openjdk.java.net (Henry Jen) Date: Mon, 30 Mar 2020 19:18:03 GMT Subject: [foreign-memaccess] RFR: JDK-8241866:Add API to reshape sequence layouts In-Reply-To: References: Message-ID: On Mon, 30 Mar 2020 17:34:40 GMT, Maurizio Cimadamore wrote: > https://docs.scipy.org/doc/numpy/reference/generated/numpy.reshape.html > > As in Python, clients can use _at most_ one `-1` dimension value, and that dimension value will be inferred by > remaining dimensions. > The changes also add the `flatten` method, which does the opposite - e.g. take a sequence layout, whose element layout > could be other nested sequence layouts and flatten everything into an outermost sequence layout (where element count is > adjusted as needed). These routines are fairly general and helpful and I found myself in need for something similar > when writing code doing parallel processing of memory segments, but there are many other possible use cases. One minor nit, otherwise looks good to me src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SequenceLayout.java line 214: > 213: while (elemLayout instanceof SequenceLayout) { > 214: count = count * ((SequenceLayout)elemLayout).elementCount().getAsLong(); > 215: elemLayout = ((SequenceLayout)elemLayout).elementLayout(); Should we throw same UOE here if no elementCount() or just let the NoSuchElementException pass through? ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/75 From youngty1997 at gmail.com Mon Mar 30 20:35:27 2020 From: youngty1997 at gmail.com (Ty Young) Date: Mon, 30 Mar 2020 15:35:27 -0500 Subject: Panama feedback Message-ID: <36b7a9cb-efad-cdd6-7e3d-75615de3f326@gmail.com> Hi all, After doing abstraction layer, multiple hand-made bindings, and an entire API swap from old Pointer API to new foreign memory-access at the OO layer, my JavaFX application has been rebased on current Panama. There are a few things that have come out of it. For reference, the old project dependency hierarchy looked like: Pointer Bindings -> OO API -> JavaFX The new dependency hierarchy looks like: Foreign Memory Access API -> abstraction layer -> hand-made bindings -> OO API -> JavaFX The JavaFX application has a single background thread that updates the GPUs attribute information(like 50 of them) with a 1 second wait between updates. I'm also using a newer version(14) of JavaFX right now then I was then with the Pointer API. The first being that *there isn't, AFAIK, a way to find *native* memory leaks.* Most object references within the OO API are final, as there will always need to be, for example, an int pointer to read a GPUs temp for the life time of that GPU. However, hypothetically if there was a memory leak, I don't know how i'd go about finding it. A few bytes memory leak is hardly noticeable even after hours of use. If there isn't already, It would be nice if there was a way to profile native memory allocations via MemoryAccess. Going along with that, *there seems to be a significant increase in allocations.* I don't have a build of the old Pointer JDK so I can't compare, but at about 135MB min heap sizes according to Netbeans's profiler, it feels like there is a lot of needless allocations happening. It might just be JavaFX(which is known to have memory issues), I don't know, but according to Netbean's profiler *something* is allocating MB worth of HashMaps and HashNodes and heap allocations of those goes as high as 30 MB before dropping to 8 MB once a GC is finished. There doesn't seem to be any leaks per se, just a crazy amounts of allocations that are then thrown away. Without better memory profiler tools(jProfiler) I can't really see what's causing it. Moving away from memory issues, *I'd like to see a feature added to jextract to be able to just dump layout information*. I have no interest in using jextract for creating bindings as I have said before, but a tool for generating the correct struct layouts is still very useful. I'd rather it just dump the information to console rather than to on-disk too, if it's possible. *As a bonus, it would be nice if you didn't need to include every required header file that would normally be required to generate jextract bindings.***In other words, if a struct uses a type which is defined in another header that isn't included, a warning is thrown and it just spits out layouts for what it can figure out. As for major API gripes,*l**ooking at the new "Foreign" API, it feels to me like it's a bit too thin and there isn't enough there to justify it.* Taking out the string utility code leaves 3 methods, one of which is just a getter for SystemABI. Personally I'd like to see SystemABI reverted back and provide both platform specific and runtime layouts. An interface which defines a standard way of getting standard cross-platform types and the ABI name can be defined and implemented by "WindowsABI", "SysVABI", and "AArch64ABI" classes. SystemABI would then provide those classes via static constants(not the interface implementations, the actual class since platforms have their own specific layout types) and implement the interface so that it provides current ABI layouts. (Or just have a getABI() method. Probably the easiest.) I think at that point what remains of MemoryLayouts(Java, padding, etc) could then be merged into MemoryLayout. This would add a better divide, making things less blurry, I think. Runtime layouts are currently just thrown into MemoryLayouts right next to Java ones and it feels a bit off. A minor API gripes is that, *currently, there is no way to create zero length arrays.* I think this can be added by introducing "INVALID" constant SequenceLayout which, when passed to AllocateNative, results in AllocateNative returning MemoryAddress.NULL. Since the byte size of MemoryAddress.NULL is zero, I feel like this should be a safe thing to do. *There is also currently no explicit null input argument checks for things like unsafe operations methods.* Don't know if that's intentional or not, but if possible, I'd like to see explicit checks, especially on "unsafe" operations. I had a bit of a "WTF" moment when making stdlib bindings because I forgot to change FunctionDescriptor/MethodHandle to return something which resulted in a semi-unhelpful NullPointerException when I attempted to make a null unsafe MemoryAddress safe. (That new JDK 14 Helpful NullPointerExceptions feature is really nice, BTW!) Maybe i'm just blind but *there doesn't seem to be a way to do callbacks*. I'm guessing since you use downcall to get a function address that you do upcall, but I'm not sure how to go about using it. That pretty much covers it. I can't speak about performance or anything else since what I'm using Panama for doesn't require every last drop of performance. I can say that weird oddities like getting random numbers from a Pointer, for example, no longer happen which is nice. Getting a really large, seemingly random number when asking what the GPU's utilization(0-100%) was was a bit "WTF". I should also probably take the time here to say thanks to everyone who's working on this. I really appreciate the amount of time, thought, and overall effort that is being put into this. Panama is making native binding creation a breeze so far. Many thanks to everyone! From vladimir.x.ivanov at oracle.com Mon Mar 30 22:20:01 2020 From: vladimir.x.ivanov at oracle.com (vladimir.x.ivanov at oracle.com) Date: Mon, 30 Mar 2020 22:20:01 +0000 Subject: hg: panama/dev: Remove leftovers from SVML removal Message-ID: <202003302220.02UMK1IU018001@aojmv0008.oracle.com> Changeset: 6a96d7171f25 Author: vlivanov Date: 2020-03-31 01:20 +0300 URL: https://hg.openjdk.java.net/panama/dev/rev/6a96d7171f25 Remove leftovers from SVML removal - src/hotspot/os_cpu/linux_x86/globals_vectorApiSupport_linux.hpp - src/hotspot/os_cpu/windows_x86/globals_vectorApiSupport_windows.hpp From youngty1997 at gmail.com Mon Mar 30 22:59:46 2020 From: youngty1997 at gmail.com (Ty Young) Date: Mon, 30 Mar 2020 17:59:46 -0500 Subject: Panama feedback In-Reply-To: <36b7a9cb-efad-cdd6-7e3d-75615de3f326@gmail.com> References: <36b7a9cb-efad-cdd6-7e3d-75615de3f326@gmail.com> Message-ID: <44f263fc-cf10-5ddd-cf48-e7183034943e@gmail.com> Forgot an API addition suggestion: It would be nice if utility static methods were provided to check if a ValueLayout was, for example, padding bits or a Pointer. I already have a isPaddingBits() as part of my abstraction but I think this is something that can and should be provided via Panama. From sandhya.viswanathan at intel.com Mon Mar 30 23:22:32 2020 From: sandhya.viswanathan at intel.com (sandhya.viswanathan at intel.com) Date: Mon, 30 Mar 2020 23:22:32 +0000 Subject: hg: panama/dev: manual merge with default Message-ID: <202003302322.02UNMWkK020860@aojmv0008.oracle.com> Changeset: b16ebf6fd071 Author: sviswanathan Date: 2020-03-30 16:21 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/b16ebf6fd071 manual merge with default ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/aarch64/vm_version_aarch64.cpp ! src/hotspot/cpu/arm/arm.ad ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/cpu/s390/s390.ad ! src/hotspot/cpu/sparc/sparc.ad ! 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/macroAssembler_x86.cpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp ! src/hotspot/cpu/x86/stubGenerator_x86_32.cpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/cpu/x86/vm_version_x86.hpp ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/share/classfile/modules.cpp ! src/hotspot/share/opto/cfgnode.cpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/type.cpp ! src/hotspot/share/opto/type.hpp ! src/java.base/share/classes/java/lang/Class.java ! src/java.base/share/classes/jdk/internal/misc/Unsafe.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/BasePropertyTaglet.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/PropertyGetterTaglet.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/PropertySetterTaglet.java From maurizio.cimadamore at oracle.com Mon Mar 30 23:48:37 2020 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Tue, 31 Mar 2020 00:48:37 +0100 Subject: Panama feedback In-Reply-To: <36b7a9cb-efad-cdd6-7e3d-75615de3f326@gmail.com> References: <36b7a9cb-efad-cdd6-7e3d-75615de3f326@gmail.com> Message-ID: <237b2b6e-3aa7-3f4e-edab-0f16d68c8bb2@oracle.com> On 30/03/2020 21:35, Ty Young wrote: > Hi all, > > > After doing abstraction layer, multiple hand-made bindings, and an > entire API swap from old Pointer API to new foreign memory-access at > the OO layer, my JavaFX application has been rebased on current > Panama. There are a few things that have come out of it. > > > For reference, the old project dependency hierarchy looked like: > > > Pointer Bindings -> OO API -> JavaFX > > > The new dependency hierarchy looks like: > > > Foreign Memory Access API -> abstraction layer -> hand-made bindings > -> OO API -> JavaFX > > > The JavaFX application has a single background thread that updates the > GPUs attribute information(like 50 of them) with a 1 second wait > between updates. I'm also using a newer version(14) of JavaFX right > now then I was then with the Pointer API. Thanks for the perseverance and for trying out the new stuff! > > > The first being that *there isn't, AFAIK, a way to find *native* > memory leaks.* Most object references within the OO API are final, as > there will always need to be, for example, an int pointer to read a > GPUs temp for the life time of that GPU. > > However, hypothetically if there was a memory leak, I don't know how > i'd go about finding it. A few bytes memory leak is hardly noticeable > even after hours of use. If there isn't already, It would be nice if > there was a way to profile native memory allocations via MemoryAccess. I hear you - one of the reasons we might want an allocator other than malloc, beside performance, is precisely this: diagnosability (especially if such allocator would be used JDK-wide, even by native code). This of course doesn't fully protect from native memory allocated by the API, but it would cover all the one allocated via the memory segment API. Then there's the problem of forgetting to close() some segments; and I think Netty did some experiments in this area to run the code in a special, slower mode which reported error for every buffer which became unreacheable before its close method could be called. Something along those lines could be added. > > > Going along with that, *there seems to be a significant increase in > allocations.* I don't have a build of the old Pointer JDK so I can't > compare, but at about 135MB min heap sizes according to Netbeans's > profiler, it feels like there is a lot of needless allocations happening. > > It might just be JavaFX(which is known to have memory issues), I don't > know, but according to Netbean's profiler *something* is allocating MB > worth of HashMaps and HashNodes and heap allocations of those goes as > high as 30 MB before dropping to 8 MB once a GC is finished. There > doesn't seem to be any leaks per se, just a crazy amounts of > allocations that are then thrown away. Without better memory profiler > tools(jProfiler) I can't really see what's causing it. > While the native interop API is not in a state where we can say that we've optimized it for memory footprint, what you say sounds weird. The only widespread-enough use of maps that I can think of, is that for storing memory layouts attributes. So, when creating lots and lots of garbage layouts, I guess it's also possible to create lots and lots of garbage maps. As for profilers, in the past I found Eclipse Memory Analyzer quite useful and fast in processing even gigabytes of heap. Perhaps you could take a look at that. > > Moving away from memory issues, *I'd like to see a feature added to > jextract to be able to just dump layout information*. I have no > interest in using jextract for creating bindings as I have said > before, but a tool for generating the correct struct layouts is still > very useful. I'd rather it just dump the information to console rather > than to on-disk too, if it's possible. > > > *As a bonus, it would be nice if you didn't need to include every > required header file that would normally be required to generate > jextract bindings.***In other words, if a struct uses a type which is > defined in another header that isn't included, a warning is thrown and > it just spits out layouts for what it can figure out. These are all good suggestions and part of a bigger topic that at some point we'll need to revisit about how to filter bindings in the optimal way. Generating only layouts is another way to filter the binding output to only include types (for which we're thinking about adding a lot more helper functions than we do at the moment, we're doing some experiments there). There are many ways to skin the cat there: * command line options * user-defined plugins/visitors * side-files which contain list of desired symbols to be extracted As you say with filtering there's always a problem of defining what happens when you have a symbol S1 which is inside the filter which refers to a symbol S2 which is outside the filter; again, many possible behaviors: * error - stop * warning - try to figure out something that still makes some kind of sense * force-include what was left out While I don't have a specific solution to propose at this time, my feeling is that we should provide tools to help people to generate as small bindings as possible; and then perhaps have a 'I don't care mode' where the tool is allowed to pull in the entire world. But the former mode is gonna be crucial in context where you need to limit the amount of static footprint and classes being loaded. > > > As for major API gripes,*l**ooking at the new "Foreign" API, it feels > to me like it's a bit too thin and there isn't enough there to justify > it.* Taking out the string utility code leaves 3 methods, one of which > is just a getter for SystemABI. This is something for which we still have to find the right balance. The string utility might go soon, as part of the experiment I mentioned above - we don't exclude that, at some point, we might be able to take out Foreign and scatter unsafe API points around (with adequate disclaimers in the javadoc). This is something that will likely be decided near the end of the process when we know exactly how many unsafe interop API points we need. So let's not focus too much on what it looks like _now_. > > > Personally I'd like to see SystemABI reverted back and provide both > platform specific and runtime layouts. An interface which defines a > standard way of getting standard cross-platform types and the ABI name > can be defined and implemented by "WindowsABI", "SysVABI", and > "AArch64ABI" classes. SystemABI would then provide those classes via > static constants(not the interface implementations, the actual class > since platforms have their own specific layout types) and implement > the interface so that it provides current ABI layouts. Right now we're trying hard to leave SystemABI language agnostic (in fact, current SystemABI should be renamed C_ABI, or something like that) - the reasoning is that now, the underlying machinery is powerful enough that we can add more ABIs in the future as we see fit. > > > (Or just have a getABI() method. Probably the easiest.) > > > I think at that point what remains of MemoryLayouts(Java, padding, > etc) could then be merged into MemoryLayout. This would add a better > divide, making things less blurry, I think. Runtime layouts are > currently just thrown into MemoryLayouts right next to Java ones and > it feels a bit off. That's the plan, yes, and was also mentioned somewhere in the JEP 370 RFR. > > > A minor API gripes is that, *currently, there is no way to create zero > length arrays.* I think this can be added by introducing "INVALID" > constant SequenceLayout which, when passed to AllocateNative, results > in AllocateNative returning MemoryAddress.NULL. Since the byte size of > MemoryAddress.NULL is zero, I feel like this should be a safe thing to > do. Uhm - not sure; why would you want to create the layout of a zero-length array? To support VLA? E.g. struct Foo { ?? int nfoos; ?? int foos[0]; } If so, I'm not sure having a zero-length layout is going to help you much - you still have to tell the API how much memory to allocate for that struct, which is, essentially, a dynamic thing. When it comes to accessing the above struct, you can use sequences without a size: MemoryLayout.ofStruct( ??? MemoryLayouts.JAVA_INT.withName("nfoos"), MemoryLayout.ofSequence(MemoryLayouts.JAVA_INT)).withName("foos")) And this will allow you to dereference elements as you do in C (with the appropriate VarHandle). The only thing you can't do with this layout is to use it for allocation - but a zero-length sequence won't help much either there. > > > *There is also currently no explicit null input argument checks for > things like unsafe operations methods.* Don't know if that's > intentional or not, but if possible, I'd like to see explicit checks, > especially on "unsafe" operations. I had a bit of a "WTF" moment when > making stdlib bindings because I forgot to change > FunctionDescriptor/MethodHandle to return something which resulted in > a semi-unhelpful NullPointerException when I attempted to make a null > unsafe MemoryAddress safe. That's a bug - we should fix it. Unsafe operations are not meant to be that unpolished - but we have to work on that. Again, once we will have a better sense of exactly which set of operations we need to add, we'll make them more polished too, and they will check and throw all the right exceptions, which will be documented in the javadoc. Think of that as work in progress, for now. > > > (That new JDK 14 Helpful NullPointerExceptions feature is really nice, > BTW!) Yep - I like that too! > > > Maybe i'm just blind but *there doesn't seem to be a way to do > callbacks*. I'm guessing since you use downcall to get a function > address that you do upcall, but I'm not sure how to go about using it. You mean? Passing Java code as a function pointer to some native call? Sure there is a way to do that! If this is really what you are looking for I can give you pointer to some examples using that feature. > > > That pretty much covers it. I can't speak about performance or > anything else since what I'm using Panama for doesn't require every > last drop of performance. I can say that weird oddities like getting > random numbers from a Pointer, for example, no longer happen > which is nice. Getting a really large, seemingly random number when > asking what the GPU's utilization(0-100%) was was a bit "WTF". > > > I should also probably take the time here to say thanks to everyone > who's working on this. I really appreciate the amount of time, > thought, and overall effort that is being put into this. Panama is > making native binding creation a breeze so far. Many thanks to everyone! Thanks, this is very good feedback; not surprisingly most of the points you raise are related to aspects for which we know we have to do better - and we have some stuff in the pipeline which is meant to address some of these issues; I'd say at this point, we have to keep iterating until it "feels right", and this is something that only real experiments (like the one you did) can cover in full. As a side note, Sundar has been working like crazy lately to port most of the old panama/foreign examples to the new API and we're learning quite a bit from that exercise. It feels like we have all the bits we need, but of course it might take some time until we arrange the pieces of the puzzle in the lowest energy configuration ;-) One question for you - given some feedback you gave recently on some of the messages I posted on a pull request; after having tried this stuff some more, what is your feeling towards the choice of making native pointers non-de-referenceable by default? You seemed to be very skeptical at first on this one - but your message the other day gave me the impression that you might have a different opinion now; is my reading correct? E.g. is it something that, after getting used to, gets better, or that you don't bump into it too often, or is it just plain annoying - based your experiments? Cheers Maurizio > > From maurizio.cimadamore at oracle.com Mon Mar 30 23:50:23 2020 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Tue, 31 Mar 2020 00:50:23 +0100 Subject: Panama feedback In-Reply-To: <44f263fc-cf10-5ddd-cf48-e7183034943e@gmail.com> References: <36b7a9cb-efad-cdd6-7e3d-75615de3f326@gmail.com> <44f263fc-cf10-5ddd-cf48-e7183034943e@gmail.com> Message-ID: <32dbfc72-afc5-4aed-cb02-8124003d5323@oracle.com> On 30/03/2020 23:59, Ty Young wrote: > Forgot an API addition suggestion: > > > It would be nice if utility static methods were provided to check if a > ValueLayout was, for example, padding bits or a Pointer. I already > have a isPaddingBits() as part of my abstraction but I think this is > something that can and should be provided via Panama. > A padding layout is not a value layout? But yes, there is an impedance mismatch in the API right now in that padding layouts have no way to be tested - I think a predicate is in order here. Maurizio From sundar at openjdk.java.net Tue Mar 31 02:06:34 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Tue, 31 Mar 2020 02:06:34 GMT Subject: [foreign-abi] [Rev 01] RFR: Merge foreign-memaccess In-Reply-To: References: Message-ID: On Mon, 30 Mar 2020 18:12:10 GMT, Maurizio Cimadamore wrote: >> Just move the newly added ForeignUnsafe::asUnconfined to the new Foreign class. > > Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: > > Added standard disclaimer for restricted methods Marked as reviewed by sundar (Committer). ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/76 From sandhya.viswanathan at intel.com Tue Mar 31 03:53:38 2020 From: sandhya.viswanathan at intel.com (sandhya.viswanathan at intel.com) Date: Tue, 31 Mar 2020 03:53:38 +0000 Subject: hg: panama/dev: manual merge with vectorIntrinsics Message-ID: <202003310353.02V3rdBv003465@aojmv0008.oracle.com> Changeset: dd5cfa570c36 Author: sviswanathan Date: 2020-03-30 20:52 -0700 URL: https://hg.openjdk.java.net/panama/dev/rev/dd5cfa570c36 manual merge with vectorIntrinsics ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp ! src/hotspot/cpu/arm/arm.ad ! src/hotspot/cpu/ppc/ppc.ad ! src/hotspot/cpu/s390/s390.ad ! src/hotspot/cpu/sparc/sparc.ad ! src/hotspot/cpu/x86/x86.ad ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/compile.hpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/type.cpp ! src/hotspot/share/opto/type.hpp ! src/hotspot/share/runtime/stubRoutines.hpp - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/BasePropertyTaglet.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/PropertyGetterTaglet.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/PropertySetterTaglet.java From jvernee at openjdk.java.net Tue Mar 31 07:45:00 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Tue, 31 Mar 2020 07:45:00 GMT Subject: [foreign-abi] [Rev 01] RFR: Merge foreign-memaccess In-Reply-To: References: Message-ID: On Mon, 30 Mar 2020 18:12:10 GMT, Maurizio Cimadamore wrote: >> Just move the newly added ForeignUnsafe::asUnconfined to the new Foreign class. > > Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: > > Added standard disclaimer for restricted methods Marked as reviewed by jvernee (Committer). ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/76 From jvernee at openjdk.java.net Tue Mar 31 07:59:05 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Tue, 31 Mar 2020 07:59:05 GMT Subject: [foreign-memaccess] RFR: JDK-8241866:Add API to reshape sequence layouts In-Reply-To: References: Message-ID: On Mon, 30 Mar 2020 17:34:40 GMT, Maurizio Cimadamore wrote: > https://docs.scipy.org/doc/numpy/reference/generated/numpy.reshape.html > > As in Python, clients can use _at most_ one `-1` dimension value, and that dimension value will be inferred by > remaining dimensions. > The changes also add the `flatten` method, which does the opposite - e.g. take a sequence layout, whose element layout > could be other nested sequence layouts and flatten everything into an outermost sequence layout (where element count is > adjusted as needed). These routines are fairly general and helpful and I found myself in need for something similar > when writing code doing parallel processing of memory segments, but there are many other possible use cases. Looks good. One minor comment. test/jdk/java/foreign/TestReshape.java line 8: > 7: * published by the Free Software Foundation. Oracle designates this > 8: * particular file as subject to the "Classpath" exception as provided > 9: * by Oracle in the LICENSE file that accompanied this code. Wrong copyright header ------------- Marked as reviewed by jvernee (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/75 From ach at activeviam.com Tue Mar 31 08:06:10 2020 From: ach at activeviam.com (Antoine Chambille) Date: Tue, 31 Mar 2020 10:06:10 +0200 Subject: Accessing foreign memory that already exists Message-ID: Hi everyone, At ActiveViam we are watching the foreign memory project with eager anticipation. Thank you for the hard work, looking forward to it! One question related to our usage of off-heap memory: If some native memory already exists, what is the preferred way to expose it as a memory segment? Some details about our use case: we make an in-memory database that delivers interactive queries to many users on terabyte datasets. The database structures are allocated off-heap, but not with malloc which is a bottleneck. We developed a highly concurrent, NUMA-Aware SLAB allocator. This custom memory manager is written almost entirely in Java with just a few system calls (anonymous mmap, munmap, madvise). Cheers, -Antoine From mcimadamore at openjdk.java.net Tue Mar 31 10:02:47 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Tue, 31 Mar 2020 10:02:47 GMT Subject: [Integrated] [foreign-abi] RFR: Merge foreign-memaccess In-Reply-To: References: Message-ID: <16f6fa02-144c-41d2-bf20-c6802b4b4194@openjdk.org> Changeset: c7b7e488 Author: Maurizio Cimadamore Date: 2020-03-31 10:02:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c7b7e488 Merge Reviewed-by: sundar, jvernee ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/Foreign.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/InternalForeign.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java ! test/jdk/java/foreign/TestSharedAccess.java + src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/Foreign.java + src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/InternalForeign.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java ! test/jdk/java/foreign/TestSharedAccess.java From mcimadamore at openjdk.java.net Tue Mar 31 10:02:47 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Tue, 31 Mar 2020 10:02:47 GMT Subject: git: openjdk/panama-foreign: foreign-abi: JDK-8241849: Add unsafe way to create unconfined memory segment view Message-ID: Changeset: d34b4444 Author: Maurizio Cimadamore Date: 2020-03-30 14:50:38 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d34b4444 JDK-8241849: Add unsafe way to create unconfined memory segment view Reviewed-by: sundar ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/unsafe/ForeignUnsafe.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java ! test/jdk/java/foreign/TestSharedAccess.java From duke at openjdk.java.net Tue Mar 31 10:03:50 2020 From: duke at openjdk.java.net (duke) Date: Tue, 31 Mar 2020 10:03:50 GMT Subject: git: openjdk/panama-foreign: foreign-jextract: 3 new changesets Message-ID: <674f58fa-3bb0-47ce-bf5a-c8c9bd7456bf@openjdk.org> Changeset: d34b4444 Author: Maurizio Cimadamore Date: 2020-03-30 14:50:38 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/d34b4444 JDK-8241849: Add unsafe way to create unconfined memory segment view Reviewed-by: sundar ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/unsafe/ForeignUnsafe.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java ! test/jdk/java/foreign/TestSharedAccess.java Changeset: c7b7e488 Author: Maurizio Cimadamore Date: 2020-03-31 10:02:04 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/c7b7e488 Merge Reviewed-by: sundar, jvernee ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/Foreign.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/InternalForeign.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java ! test/jdk/java/foreign/TestSharedAccess.java + src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/Foreign.java + src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/InternalForeign.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java ! test/jdk/java/foreign/TestSharedAccess.java Changeset: cef1b7f7 Author: duke Date: 2020-03-31 10:02:33 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/cef1b7f7 Automatic merge of foreign-abi into foreign-jextract From maurizio.cimadamore at oracle.com Tue Mar 31 10:36:31 2020 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Tue, 31 Mar 2020 11:36:31 +0100 Subject: Accessing foreign memory that already exists In-Reply-To: References: Message-ID: <95ce920a-f72a-4271-bc20-0dafda1646c7@oracle.com> Hi Antoine, this is an interesting use case, and one I've been thinking quite a bit recently, as it comes up with native interop (see below). In general there are two categories of memory addresses: checked ones (the ones with a known segment attached to them) and unchecked ones (the ones with no segment attached to them, or the ones that have the special Nothing segment attached to them). Our policy is that addresses that are not backed by a segment _cannot_ be de-referenced. This is how we've been achieving safety for the basic foreign memory access use case that doesn't do native interop. (we're discussing as to whether that's the right default, based on some library porting activity we've been doing recently - but there doesn't seem clear evidence pointing one way or another). But there are cases where you might want to take an existing address, which is backed by no existing segment, and attach a segment to it - which will make it fully functional again - this operation is called 'rebasing an address': https://github.com/openjdk/panama-foreign/blob/foreign-abi/src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java#L83 So, with all this in mind, the goal to do what you want is to be able to (unsafely!) create a memory segment which has roughly the characteristics you need - e.g. given base address and given size. The native interop branch has a useful method for making these unchecked segments: https://github.com/openjdk/panama-foreign/blob/foreign-abi/src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/Foreign.java#L100 In other words, let's say you have a long address "addr" and that you want to create a segment around it: 1) create a memory address out of "addr" var base = MemoryAddress.ofLong(addr) 2) create an unchecked segment with right base address and size var segment = Foreign.ofNativeUnchecked(base, size) And voila, you now have a segment for your non-Java generated address. Few notes: * since the address has been generated by you, when you close this segment, the memory access API won't attempt to do anything fancy here (but it will make all the addresses based on that segment invalid); options we have discussed here is to add ways to attach custom 'cleanup' functions - I'm a bit skeptical of those, but I can be convinced given the right use cases * the segment will be confined on the calling thread - meaning that it can only be accessed and closed by that thread (as a regular segment) I think here we can do things to allow more flexibility - in principle there's some kind of 'unsafe native segment builder' lurking in here which lets you specify: * whether to confine to a thread or not * what the size of the segment is * what is the base address of the segment * whether the resulting segment is closeable (and, if so, if a custom close() action should be provided) My sense is that clients typically will _not_ need all this flexibility. For instance, in the native interop case there are only two cases which seem overwhelmingly common: * I have an unchecked address and I want to give it a size - but I don't want closeability, or confinement - just let me dereference it within some known bounds * I have an unchecked address which I know comes from some 'malloc' call, and I want to attach it a full blown segment, and I want the segment::close operation to call free() I guess time will tell whether we need N ad-hoc unsafe factories, or a more flexible builder-based solution. At this point I'd be very interested on what your requirements would be for the segment you create with this unsafe API. My educated guess would be that: * you'd like this segment to have a known size * you'd like this segment to be closeable, and, upon close() some well-known native function in your allocator should be invoked * you'd probably like this segment not to be confined Is my guess correct? Cheers Maurizio On 31/03/2020 09:06, Antoine Chambille wrote: > Hi everyone, > > At ActiveViam we are watching the foreign memory project with eager > anticipation. Thank you for the hard work, looking forward to it! > > One question related to our usage of off-heap memory: > > If some native memory already exists, what is the preferred way to expose > it as a memory segment? > > > Some details about our use case: we make an in-memory database that > delivers interactive queries to many users on terabyte datasets. The > database structures are allocated off-heap, but not with malloc which is a > bottleneck. We developed a highly concurrent, NUMA-Aware SLAB allocator. > This custom memory manager is written almost entirely in Java with just a > few system calls (anonymous mmap, munmap, madvise). > > Cheers, > -Antoine From youngty1997 at gmail.com Tue Mar 31 13:06:07 2020 From: youngty1997 at gmail.com (Ty Young) Date: Tue, 31 Mar 2020 08:06:07 -0500 Subject: Panama feedback In-Reply-To: <237b2b6e-3aa7-3f4e-edab-0f16d68c8bb2@oracle.com> References: <36b7a9cb-efad-cdd6-7e3d-75615de3f326@gmail.com> <237b2b6e-3aa7-3f4e-edab-0f16d68c8bb2@oracle.com> Message-ID: On 3/30/20 6:48 PM, Maurizio Cimadamore wrote: > I hear you - one of the reasons we might want an allocator other than > malloc, beside performance, is precisely this: diagnosability > (especially if such allocator would be used JDK-wide, even by native > code). This of course doesn't fully protect from native memory > allocated by the API, but it would cover all the one allocated via the > memory segment API. > > Then there's the problem of forgetting to close() some segments; and I > think Netty did some experiments in this area to run the code in a > special, slower mode which reported error for every buffer which > became unreacheable before its close method could be called. Something > along those lines could be added. IMO, just like with the "warn" option of jdk.incubator.foreign.Foreign system property, there needs to be more information than simply "WARNING: MemoryAddress reference handle has become unreachable!". There needs to be a robust, IDE hookable solution so that native memory allocated via Panama can be viewed just like normal on-heap JVM memory. Simply spamming doesn't provide enough useful information. > > While the native interop API is not in a state where we can say that > we've optimized it for memory footprint, what you say sounds weird. > The only widespread-enough use of maps that I can think of, is that > for storing memory layouts attributes. So, when creating lots and lots > of garbage layouts, I guess it's also possible to create lots and lots > of garbage maps. > > As for profilers, in the past I found Eclipse Memory Analyzer quite > useful and fast in processing even gigabytes of heap. Perhaps you > could take a look at that. Probably just JavaFX then. I'll have to look into it in-depth later. > > These are all good suggestions and part of a bigger topic that at some > point we'll need to revisit about how to filter bindings in the > optimal way. Generating only layouts is another way to filter the > binding output to only include types (for which we're thinking about > adding a lot more helper functions than we do at the moment, we're > doing some experiments there). > > There are many ways to skin the cat there: > > * command line options > * user-defined plugins/visitors > * side-files which contain list of desired symbols to be extracted > > As you say with filtering there's always a problem of defining what > happens when you have a symbol S1 which is inside the filter which > refers to a symbol S2 which is outside the filter; again, many > possible behaviors: > > * error - stop > * warning - try to figure out something that still makes some kind of > sense > * force-include what was left out > > While I don't have a specific solution to propose at this time, my > feeling is that we should provide tools to help people to generate as > small bindings as possible; and then perhaps have a 'I don't care > mode' where the tool is allowed to pull in the entire world. But the > former mode is gonna be crucial in context where you need to limit the > amount of static footprint and classes being loaded. Absolutely. I kind of prefer to do bindings by hand simply because of the small footprint where as with jextract I'd have to include X server headers simply because they were included. In the vast majority of instances, the custom types are just standard types anyway, but because of how jextract works, you have to pull in everything. FWIW, I think just skipping any struct that uses a not included type is the best option here. Attempting to make guesses as to what something is will probably end badly. >> >> A minor API gripes is that, *currently, there is no way to create >> zero length arrays.* I think this can be added by introducing >> "INVALID" constant SequenceLayout which, when passed to >> AllocateNative, results in AllocateNative returning >> MemoryAddress.NULL. Since the byte size of MemoryAddress.NULL is >> zero, I feel like this should be a safe thing to do. > > Uhm - not sure; why would you want to create the layout of a > zero-length array? Specifically for functions like this: https://docs.nvidia.com/deploy/nvml-api/group__nvmlDeviceQueries.html#group__nvmlDeviceQueries_1g7eacf7fa7ba4f4485d166736bf31195e In other words, arrays which depend on another pointer's value which may be 0. This can result in situations where code might run fine on one persons computer(or same computer, different config) but not on another, as with the function above. You can just do manual safeguard checks, yes, but someone might not know or forget them. > You mean? Passing Java code as a function pointer to some native call? > Sure there is a way to do that! If this is really what you are looking > for I can give you pointer to some examples using that feature. Yes, please! > One question for you - given some feedback you gave recently on some > of the messages I posted on a pull request; after having tried this > stuff some more, what is your feeling towards the choice of making > native pointers non-de-referenceable by default? You seemed to be very > skeptical at first on this one - but your message the other day gave > me the impression that you might have a different opinion now; is my > reading correct? E.g. is it something that, after getting used to, > gets better, or that you don't bump into it too often, or is it just > plain annoying - based your experiments? I don't think my views on anything specific within Panama's foreign memory access API has changed in any major way but rather how I view the API as a whole has. Coming from the old Pointer API I was expecting a power drill but what I found was a screwdriver. As someone who doesn't really care about the bindings himself, it wasn't(and still isn't) ideal. So I took that screwdriver and made a power drill(abstraction layer) with it, sort to speak. Now that I have my abstraction layer, my gripes with it aren't as big of a deal. In most cases the only difference between a "MemoryValue" abstraction that utilizes a "safe" MemoryAddress and a "unsafe", natively allocated MemoryAddress is which constructor is used: "safe" if the constructor only accepts a ValueLayout. "unsafe" if the constructor accepts a MemoryAddress AND a ValueLayout. Note that an otherwise safe, sliced MemoryAddress goes through here too. Otherwise they are basically the same. I've basically been using ValueLayout(s) not just as a reliable way of creating a MemoryAddress, but also an interpreted view of an existing MemoryAddress(which makes sense). There are things I still have gripes with such as the exceptions and the way unsafe access is granted(bindings can just change to permit anyway), but overall I'm happy with it. > > Cheers > Maurizio > From youngty1997 at gmail.com Tue Mar 31 13:11:10 2020 From: youngty1997 at gmail.com (Ty Young) Date: Tue, 31 Mar 2020 08:11:10 -0500 Subject: Panama feedback In-Reply-To: <32dbfc72-afc5-4aed-cb02-8124003d5323@oracle.com> References: <36b7a9cb-efad-cdd6-7e3d-75615de3f326@gmail.com> <44f263fc-cf10-5ddd-cf48-e7183034943e@gmail.com> <32dbfc72-afc5-4aed-cb02-8124003d5323@oracle.com> Message-ID: <7360cb8f-678f-2b38-95d5-a0d1afc23598@gmail.com> On 3/30/20 6:50 PM, Maurizio Cimadamore wrote: > > On 30/03/2020 23:59, Ty Young wrote: >> Forgot an API addition suggestion: >> >> >> It would be nice if utility static methods were provided to check if >> a ValueLayout was, for example, padding bits or a Pointer. I already >> have a isPaddingBits() as part of my abstraction but I think this is >> something that can and should be provided via Panama. >> > A padding layout is not a value layout? I meant MemoryLayout, sorry. Basically I'm asking for utility functions like this: public static boolean isPaddingBits(MemoryLayout layout) { ??????? if(layout.equals(MemoryLayouts.PAD_8)) ??????????? return true; ??????? else if(layout.equals(MemoryLayouts.PAD_16)) ??????????? return true; ??????? else if(layout.equals(MemoryLayouts.PAD_32)) ??????????? return true; ??????? else if(layout.equals(MemoryLayouts.PAD_64)) ??????????? return true; ??? ??? return false; } I have to do these utility functions for struct layouts because of padding and unions/struct within structs, otherwise code would get very long. > > But yes, there is an impedance mismatch in the API right now in that > padding layouts have no way to be tested - I think a predicate is in > order here. > > Maurizio > From maurizio.cimadamore at oracle.com Tue Mar 31 13:43:09 2020 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Tue, 31 Mar 2020 14:43:09 +0100 Subject: Panama feedback In-Reply-To: References: <36b7a9cb-efad-cdd6-7e3d-75615de3f326@gmail.com> <237b2b6e-3aa7-3f4e-edab-0f16d68c8bb2@oracle.com> Message-ID: On 31/03/2020 14:06, Ty Young wrote: > > On 3/30/20 6:48 PM, Maurizio Cimadamore wrote: >> I hear you - one of the reasons we might want an allocator other than >> malloc, beside performance, is precisely this: diagnosability >> (especially if such allocator would be used JDK-wide, even by native >> code). This of course doesn't fully protect from native memory >> allocated by the API, but it would cover all the one allocated via >> the memory segment API. >> >> Then there's the problem of forgetting to close() some segments; and >> I think Netty did some experiments in this area to run the code in a >> special, slower mode which reported error for every buffer which >> became unreacheable before its close method could be called. >> Something along those lines could be added. > > > IMO, just like with the "warn" option of jdk.incubator.foreign.Foreign > system property, there needs to be more information than simply > "WARNING: MemoryAddress reference handle has become unreachable!". > There needs to be a robust, IDE hookable solution so that native > memory allocated via Panama can be viewed just like normal on-heap JVM > memory. Simply spamming doesn't provide enough useful information. Long term I agree > > > > > FWIW, I think just skipping any struct that uses a not included type > is the best option here. Attempting to make guesses as to what > something is will probably end badly. I think here it would be nice to understand how to improve the current jextract API to make these kind of things more easily configurable. The main idea is that it should be possible for people to do this by just using a Java program (which you can then launch using the single source launcher) so the difference between tool and API client is fairly thin. Note that other languages, namely Rust have already gone down the API path pretty heavily: https://rust-lang.github.io/rust-bindgen/tutorial-3.html They also have a command-line tool which does some basic things (but I suspect, not _all_ of them). So, one thing we need to investigate here is what do we need to make the existing API more useful. I think the parsing part is ok - but we need to add few things: * a supported tree rewriter transformer (this is not trivial to get right, since some types depend back on declaration trees) * we should have a default code generator, so that developers can filter, transform all they want and then delegate back to standard generator - not everybody will be in the business of rolling out a custom generator If we do these things, my feeling is that it would be a breeze for you to just take the API, filter out everything that is not a struct type and just generate the bindings. (or make it more configurable, e.g. through a json file). > > >>> >>> A minor API gripes is that, *currently, there is no way to create >>> zero length arrays.* I think this can be added by introducing >>> "INVALID" constant SequenceLayout which, when passed to >>> AllocateNative, results in AllocateNative returning >>> MemoryAddress.NULL. Since the byte size of MemoryAddress.NULL is >>> zero, I feel like this should be a safe thing to do. >> >> Uhm - not sure; why would you want to create the layout of a >> zero-length array? > > > Specifically for functions like this: > > > https://docs.nvidia.com/deploy/nvml-api/group__nvmlDeviceQueries.html#group__nvmlDeviceQueries_1g7eacf7fa7ba4f4485d166736bf31195e > > > > In other words, arrays which depend on another pointer's value which > may be 0. This can result in situations where code might run fine on > one persons computer(or same computer, different config) but not on > another, as with the function above. > > > You can just do manual safeguard checks, yes, but someone might not > know or forget them. So, what you want is creating a segment that has zero length. This seems very ad-hoc, I don't think I like the idea of adding that ability to the API, since a zero-length segment cannot really be closed, etc. I think what you want is some API on top to create an array given an element layout and size and which returns a MemoryAddress e.g. MemoryAddress allocateArray(MemoryLayout elementLayout, long size) { ??? if (size == 0L) return MemoryAddress.NULL ??? else { ... create segment and return base address ... } } > > >> You mean? Passing Java code as a function pointer to some native >> call? Sure there is a way to do that! If this is really what you are >> looking for I can give you pointer to some examples using that feature. > > > Yes, please! This test: https://github.com/openjdk/panama-foreign/blob/63d3ee093a881e92dd57b1090c3fb7ebec1c4c15/test/jdk/java/foreign/StdLibTest.java#L310 is using an upcall for the qsort comparator. Should contain all the relevant bits. > > >> One question for you - given some feedback you gave recently on some >> of the messages I posted on a pull request; after having tried this >> stuff some more, what is your feeling towards the choice of making >> native pointers non-de-referenceable by default? You seemed to be >> very skeptical at first on this one - but your message the other day >> gave me the impression that you might have a different opinion now; >> is my reading correct? E.g. is it something that, after getting used >> to, gets better, or that you don't bump into it too often, or is it >> just plain annoying - based your experiments? > > > I don't think my views on anything specific within Panama's foreign > memory access API has changed in any major way but rather how I view > the API as a whole has. Coming from the old Pointer API I was > expecting a power drill but what I found was a screwdriver. As someone > who doesn't really care about the bindings himself, it wasn't(and > still isn't) ideal. That's a fair point, and also the main result of the course correction. While at some point in the future we might come back and look at the power drill, for now it is crucial to validate that the screwdriver we provide is flexible enough to build abstractions on top. And it seems that, while certain things might not be ideal (but we still have some ways to go, so that's normal), overall it seems like we can support (albeit at a lower level) the same use cases we were able to support before (at least this is the feeling we have from our internal experiments), but in a more general way, which does not preclude us to, eventually, add support for other foreign languages too. Thanks Maurizio From maurizio.cimadamore at oracle.com Tue Mar 31 13:47:17 2020 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Tue, 31 Mar 2020 14:47:17 +0100 Subject: Panama feedback In-Reply-To: <7360cb8f-678f-2b38-95d5-a0d1afc23598@gmail.com> References: <36b7a9cb-efad-cdd6-7e3d-75615de3f326@gmail.com> <44f263fc-cf10-5ddd-cf48-e7183034943e@gmail.com> <32dbfc72-afc5-4aed-cb02-8124003d5323@oracle.com> <7360cb8f-678f-2b38-95d5-a0d1afc23598@gmail.com> Message-ID: <9fa6986e-3d2b-c9ec-0e1e-e55641eacb32@oracle.com> On 31/03/2020 14:11, Ty Young wrote: > > On 3/30/20 6:50 PM, Maurizio Cimadamore wrote: >> >> On 30/03/2020 23:59, Ty Young wrote: >>> Forgot an API addition suggestion: >>> >>> >>> It would be nice if utility static methods were provided to check if >>> a ValueLayout was, for example, padding bits or a Pointer. I already >>> have a isPaddingBits() as part of my abstraction but I think this is >>> something that can and should be provided via Panama. >>> >> A padding layout is not a value layout? > > > I meant MemoryLayout, sorry. Basically I'm asking for utility > functions like this: > > > public static boolean isPaddingBits(MemoryLayout layout) > { > ??????? if(layout.equals(MemoryLayouts.PAD_8)) > ??????????? return true; > ??????? else if(layout.equals(MemoryLayouts.PAD_16)) > ??????????? return true; > ??????? else if(layout.equals(MemoryLayouts.PAD_32)) > ??????????? return true; > ??????? else if(layout.equals(MemoryLayouts.PAD_64)) > ??????????? return true; > > ??? ??? return false; > } > > > I have to do these utility functions for struct layouts because of > padding and unions/struct within structs, otherwise code would get > very long. yeah - but we can add a more general one which will work for any size :-) Maurizio > > >> >> But yes, there is an impedance mismatch in the API right now in that >> padding layouts have no way to be tested - I think a predicate is in >> order here. >> >> Maurizio >> From jvernee at openjdk.java.net Tue Mar 31 14:03:20 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Tue, 31 Mar 2020 14:03:20 GMT Subject: [foreign-memaccess] RFR: Backport misc changes from foreign-abi Message-ID: Hi, This patch backports several changes that went into the foreign-abi branch, but which are in retrospect useful to have on the memaccess branch, and as part of the memory access API as well. These changes include: - Replacing ForeignUnsafe with Foreign - Adding the `ofNativeUnchecked` method to create unchecked MemorySegments, MemoryAddress::ofLong to forge MemoryAddresses from longs, as well as the Nothing segment and rebase support. Mainly to support going from a `long` to `MemoryAddress`, and also to `MemorySegment` (MA -> long is already covered) The memory layout attributes exposed in the public API (could be interesting to investigate attaching carrier types directly to layouts). The MemoryAddress carrier support for VarHandles is left out for now, since the current thinking is that it will be dropped and replaced with VarHandle combinators to convert between long and MA instead. Thanks, Jorn ------------- Commit messages: - Backport misc changes from foreign-abi Changes: https://git.openjdk.java.net/panama-foreign/pull/77/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/77/webrev.00 Stats: 826 lines in 21 files changed: 655 ins; 96 del; 75 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/77.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/77/head:pull/77 PR: https://git.openjdk.java.net/panama-foreign/pull/77 From mcimadamore at openjdk.java.net Tue Mar 31 14:24:48 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Tue, 31 Mar 2020 14:24:48 GMT Subject: [foreign-memaccess] [Rev 01] RFR: JDK-8241866:Add API to reshape sequence layouts In-Reply-To: References: Message-ID: > https://docs.scipy.org/doc/numpy/reference/generated/numpy.reshape.html > > As in Python, clients can use _at most_ one `-1` dimension value, and that dimension value will be inferred by > remaining dimensions. > The changes also add the `flatten` method, which does the opposite - e.g. take a sequence layout, whose element layout > could be other nested sequence layouts and flatten everything into an outermost sequence layout (where element count is > adjusted as needed). These routines are fairly general and helpful and I found myself in need for something similar > when writing code doing parallel processing of memory segments, but there are many other possible use cases. Maurizio Cimadamore has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits since the last revision: - Addressed review comments - Fix whitespaces - Forgot to add file - Add SequenceLayout::reshape/flatten ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/75/files - new: https://git.openjdk.java.net/panama-foreign/pull/75/files/12f351f6..494bdd4e Webrevs: - full: https://webrevs.openjdk.java.net/panama-foreign/75/webrev.01 - incr: https://webrevs.openjdk.java.net/panama-foreign/75/webrev.00-01 Stats: 65 lines in 5 files changed: 57 ins; 2 del; 6 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/75.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/75/head:pull/75 PR: https://git.openjdk.java.net/panama-foreign/pull/75 From mcimadamore at openjdk.java.net Tue Mar 31 14:33:55 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Tue, 31 Mar 2020 14:33:55 GMT Subject: [foreign-memaccess] RFR: Backport misc changes from foreign-abi In-Reply-To: References: Message-ID: On Tue, 31 Mar 2020 13:57:31 GMT, Jorn Vernee wrote: > Hi, > > This patch backports several changes that went into the foreign-abi branch, but which are in retrospect useful to have > on the memaccess branch, and as part of the memory access API as well. > These changes include: > - Replacing ForeignUnsafe with Foreign > - Adding the `ofNativeUnchecked` method to create unchecked MemorySegments, MemoryAddress::ofLong to forge > MemoryAddresses from longs, as well as the Nothing segment and rebase support. Mainly to support going from a `long` to > `MemoryAddress`, and also to `MemorySegment` (MA -> long is already covered) The memory layout attributes exposed in > the public API (could be interesting to investigate attaching carrier types directly to layouts). > > The MemoryAddress carrier support for VarHandles is left out for now, since the current thinking is that it will be > dropped and replaced with VarHandle combinators to convert between long and MA instead. > Thanks, > Jorn Looks good - few minor nits noted src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java line 133: > 132: */ > 133: MemoryAddress NULL = MemorySegmentImpl.NOTHING.baseAddress(); > 134: I'd leave this out for now? This seems very C oriented. src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemoryAddressImpl.java line 142: > 141: > 142: public static MemoryAddress ofLongUnchecked(long value) { > 143: return ofLongUnchecked(value, Long.MAX_VALUE); I believe these two are probably unused? ------------- Marked as reviewed by mcimadamore (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/77 From jvernee at openjdk.java.net Tue Mar 31 14:37:47 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Tue, 31 Mar 2020 14:37:47 GMT Subject: [foreign-memaccess] RFR: Backport misc changes from foreign-abi In-Reply-To: References: Message-ID: On Tue, 31 Mar 2020 14:30:44 GMT, Maurizio Cimadamore wrote: >> Hi, >> >> This patch backports several changes that went into the foreign-abi branch, but which are in retrospect useful to have >> on the memaccess branch, and as part of the memory access API as well. >> These changes include: >> - Replacing ForeignUnsafe with Foreign >> - Adding the `ofNativeUnchecked` method to create unchecked MemorySegments, MemoryAddress::ofLong to forge >> MemoryAddresses from longs, as well as the Nothing segment and rebase support. Mainly to support going from a `long` to >> `MemoryAddress`, and also to `MemorySegment` (MA -> long is already covered) The memory layout attributes exposed in >> the public API (could be interesting to investigate attaching carrier types directly to layouts). >> >> The MemoryAddress carrier support for VarHandles is left out for now, since the current thinking is that it will be >> dropped and replaced with VarHandle combinators to convert between long and MA instead. >> Thanks, >> Jorn > > src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemoryAddressImpl.java line 142: > >> 141: >> 142: public static MemoryAddress ofLongUnchecked(long value) { >> 143: return ofLongUnchecked(value, Long.MAX_VALUE); > > I believe these two are probably unused? You're right, thanks for catching! ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/77 From sundar at openjdk.java.net Tue Mar 31 15:38:26 2020 From: sundar at openjdk.java.net (Athijegannathan Sundararajan) Date: Tue, 31 Mar 2020 15:38:26 GMT Subject: [foreign-jextract] RFR: 8241925: jextract should generate simple allocation, access API for C primitive types Message-ID: added static method helper classes to handle allocation, access ot C primitive types and C strings. ------------- Commit messages: - 8241925: jextract should generate simple allocation, access API for C primitive types Changes: https://git.openjdk.java.net/panama-foreign/pull/78/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/78/webrev.00 Issue: https://bugs.openjdk.java.net/browse/JDK-8241925 Stats: 627 lines in 11 files changed: 598 ins; 21 del; 8 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/78.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/78/head:pull/78 PR: https://git.openjdk.java.net/panama-foreign/pull/78 From psandoz at openjdk.java.net Tue Mar 31 15:39:35 2020 From: psandoz at openjdk.java.net (Paul Sandoz) Date: Tue, 31 Mar 2020 15:39:35 GMT Subject: [foreign-memaccess] [Rev 01] RFR: JDK-8241866:Add API to reshape sequence layouts In-Reply-To: References: Message-ID: On Tue, 31 Mar 2020 14:24:48 GMT, Maurizio Cimadamore wrote: >> https://docs.scipy.org/doc/numpy/reference/generated/numpy.reshape.html >> >> As in Python, clients can use _at most_ one `-1` dimension value, and that dimension value will be inferred by >> remaining dimensions. >> The changes also add the `flatten` method, which does the opposite - e.g. take a sequence layout, whose element layout >> could be other nested sequence layouts and flatten everything into an outermost sequence layout (where element count is >> adjusted as needed). These routines are fairly general and helpful and I found myself in need for something similar >> when writing code doing parallel processing of memory segments, but there are many other possible use cases. > > Maurizio Cimadamore has updated the pull request with a new target base due to a merge or a rebase. The incremental > webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits > since the last revision: > - Addressed review comments > - Fix whitespaces > - Forgot to add file > - Add SequenceLayout::reshape/flatten Marked as reviewed by psandoz (Committer). src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SequenceLayout.java line 136: > 135: * @param elementCounts an array of element counts, of which at most one can be {@code -1}. > 136: * @return a new sequence layout where element element layouts in the flattened projection of this > 137: * sequence layout (see {@link #flatten()}) are re-arranged into one or more nested sequence layouts. s/element element/element ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/75 From psandoz at openjdk.java.net Tue Mar 31 15:44:59 2020 From: psandoz at openjdk.java.net (Paul Sandoz) Date: Tue, 31 Mar 2020 15:44:59 GMT Subject: [foreign-memaccess] RFR: Backport misc changes from foreign-abi In-Reply-To: References: Message-ID: On Tue, 31 Mar 2020 13:57:31 GMT, Jorn Vernee wrote: > Hi, > > This patch backports several changes that went into the foreign-abi branch, but which are in retrospect useful to have > on the memaccess branch, and as part of the memory access API as well. > These changes include: > - Replacing ForeignUnsafe with Foreign > - Adding the `ofNativeUnchecked` method to create unchecked MemorySegments, MemoryAddress::ofLong to forge > MemoryAddresses from longs, as well as the Nothing segment and rebase support. Mainly to support going from a `long` to > `MemoryAddress`, and also to `MemorySegment` (MA -> long is already covered) The memory layout attributes exposed in > the public API (could be interesting to investigate attaching carrier types directly to layouts). > > The MemoryAddress carrier support for VarHandles is left out for now, since the current thinking is that it will be > dropped and replaced with VarHandle combinators to convert between long and MA instead. > Thanks, > Jorn Marked as reviewed by psandoz (Committer). ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/77 From henryjen at openjdk.java.net Tue Mar 31 16:08:04 2020 From: henryjen at openjdk.java.net (Henry Jen) Date: Tue, 31 Mar 2020 16:08:04 GMT Subject: [foreign-jextract] RFR: 8241925: jextract should generate simple allocation, access API for C primitive types In-Reply-To: References: Message-ID: <8EkX2WsIG8QWokLT_OsgpmFFq67T3EATjgYJb1NbFvo=.474e62dc-fbeb-4a40-af8f-1f1279441054@github.com> On Tue, 31 Mar 2020 15:32:22 GMT, Athijegannathan Sundararajan wrote: > added static method helper classes to handle allocation, access ot C primitive types and C strings. src/jdk.incubator.jextract/share/classes/jdk/incubator/jextract/tool/resources/Cstring.java.template line 30: > 29: byteArrHandle.set(addr, (long)bytes.length, (byte)0); > 30: } > 31: I wonder, why using VarHandle in a loop instead of just MS::copy? Is there an optimization benefit? AFAIK, byte has no issue like endianness conversion like integral type. src/jdk.incubator.jextract/share/classes/jdk/incubator/jextract/tool/resources/Cstring.java.template line 59: > 58: > 59: public String toString(MemoryAddress addr) { > 60: StringBuilder buf = new StringBuilder(); static? ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/78 From mcimadamore at openjdk.java.net Tue Mar 31 16:08:03 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Tue, 31 Mar 2020 16:08:03 GMT Subject: [foreign-jextract] RFR: 8241925: jextract should generate simple allocation, access API for C primitive types In-Reply-To: References: Message-ID: On Tue, 31 Mar 2020 15:32:22 GMT, Athijegannathan Sundararajan wrote: > added static method helper classes to handle allocation, access ot C primitive types and C strings. Some examples still use Foreign.toCString - I think we should remove those helpers from Foreign to avoid confusion. src/jdk.incubator.jextract/share/classes/jdk/incubator/jextract/tool/resources/Cstring.java.template line 25: > 24: > 25: private static void copyString(MemoryAddress addr, byte[] bytes) { > 26: for (int i = 0 ; i < bytes.length; i++) { This should use a bulk copy var heapSegment = MemorySegment.of(bytes); MemoryAddress.copy(heapSegment, addr, bytes.length) src/jdk.incubator.jextract/share/classes/jdk/incubator/jextract/tool/resources/Cstring.java.template line 59: > 58: > 59: public String toString(MemoryAddress addr) { > 60: StringBuilder buf = new StringBuilder(); This should be static doc/panama_jextract.md line 329: > 328: try (AllocationScope scope = AllocationScope.unboundedNativeScope()) { > 329: var aPtr = Cdouble.allocateArray(a, scope); > 330: var xPtr = Cdouble.allocateArray(x, scope); Should we allocate arrays directly off heap and avoid the copy? To do that we might need another helper to create 'empty' arrays. test/jdk/tools/jextract/test8241925/LibTest8241925Test.java line 44: > 43: public void test() { > 44: try (var scope = AllocationScope.unboundedNativeScope()) { > 45: var addr = Cint.allocate(12, scope); This looks really neat! src/jdk.incubator.jextract/share/classes/jdk/incubator/jextract/tool/resources/C-X.java.template line 73: > 72: private static void copy(MemoryAddress addr, ${CARRIER}[] arr) { > 73: for (int i = 0 ; i < arr.length; i++) { > 74: arrayHandle.set(addr, (long)i, arr[i]); This should use bulk copy (see my suggestion on CString::copy) ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/78 From mcimadamore at openjdk.java.net Tue Mar 31 16:11:08 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Tue, 31 Mar 2020 16:11:08 GMT Subject: [foreign-jextract] RFR: 8241925: jextract should generate simple allocation, access API for C primitive types In-Reply-To: References: Message-ID: On Tue, 31 Mar 2020 16:05:42 GMT, Maurizio Cimadamore wrote: >> added static method helper classes to handle allocation, access ot C primitive types and C strings. > > Some examples still use Foreign.toCString - I think we should remove those helpers from Foreign to avoid confusion. General comment and context; the idea is that, moving forward, jextract will emit a lot of those helper interfaces - this patch covers primitives, but we'll add support for typedeffed types as well as structs. This will make interacting with native code a lot easier, and remove a lot of the guessing around "which carrier should I use when I see a `size_t`". The generated helpers are still pretty lean, just static methods in them - this allows the client code to be type-safe w/o compromising performances and/or adding extra layers of indirection/boxing. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/78 From mcimadamore at openjdk.java.net Tue Mar 31 16:25:51 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Tue, 31 Mar 2020 16:25:51 GMT Subject: [foreign-memaccess] [Rev 02] RFR: JDK-8241866:Add API to reshape sequence layouts In-Reply-To: References: Message-ID: > https://docs.scipy.org/doc/numpy/reference/generated/numpy.reshape.html > > As in Python, clients can use _at most_ one `-1` dimension value, and that dimension value will be inferred by > remaining dimensions. > The changes also add the `flatten` method, which does the opposite - e.g. take a sequence layout, whose element layout > could be other nested sequence layouts and flatten everything into an outermost sequence layout (where element count is > adjusted as needed). These routines are fairly general and helpful and I found myself in need for something similar > when writing code doing parallel processing of memory segments, but there are many other possible use cases. Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision: Fix typo in javadoc ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/75/files - new: https://git.openjdk.java.net/panama-foreign/pull/75/files/494bdd4e..f03c3dc8 Webrevs: - full: https://webrevs.openjdk.java.net/panama-foreign/75/webrev.02 - incr: https://webrevs.openjdk.java.net/panama-foreign/75/webrev.01-02 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/75.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/75/head:pull/75 PR: https://git.openjdk.java.net/panama-foreign/pull/75 From jvernee at openjdk.java.net Tue Mar 31 16:54:39 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Tue, 31 Mar 2020 16:54:39 GMT Subject: [foreign-memaccess] RFR: Backport misc changes from foreign-abi In-Reply-To: References: Message-ID: On Tue, 31 Mar 2020 14:29:09 GMT, Maurizio Cimadamore wrote: >> Hi, >> >> This patch backports several changes that went into the foreign-abi branch, but which are in retrospect useful to have >> on the memaccess branch, and as part of the memory access API as well. >> These changes include: >> - Replacing ForeignUnsafe with Foreign >> - Adding the `ofNativeUnchecked` method to create unchecked MemorySegments, MemoryAddress::ofLong to forge >> MemoryAddresses from longs, as well as the Nothing segment and rebase support. Mainly to support going from a `long` to >> `MemoryAddress`, and also to `MemorySegment` (MA -> long is already covered) The memory layout attributes exposed in >> the public API (could be interesting to investigate attaching carrier types directly to layouts). >> >> The MemoryAddress carrier support for VarHandles is left out for now, since the current thinking is that it will be >> dropped and replaced with VarHandle combinators to convert between long and MA instead. >> Thanks, >> Jorn > > src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java line 133: > >> 132: */ >> 133: MemoryAddress NULL = MemorySegmentImpl.NOTHING.baseAddress(); >> 134: > > I'd leave this out for now? This seems very C oriented. OK - My initial thought was that NULL is pretty universal, and that having a singleton NULL might be handy. But I guess there's no real need to use such a value. ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/77 From jvernee at openjdk.java.net Tue Mar 31 17:07:16 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Tue, 31 Mar 2020 17:07:16 GMT Subject: [foreign-memaccess] [Rev 01] RFR: Backport misc changes from foreign-abi In-Reply-To: References: Message-ID: > Hi, > > This patch backports several changes that went into the foreign-abi branch, but which are in retrospect useful to have > on the memaccess branch, and as part of the memory access API as well. > These changes include: > - Replacing ForeignUnsafe with Foreign > - Adding the `ofNativeUnchecked` method to create unchecked MemorySegments, MemoryAddress::ofLong to forge > MemoryAddresses from longs, as well as the Nothing segment and rebase support. Mainly to support going from a `long` to > `MemoryAddress`, and also to `MemorySegment` (MA -> long is already covered) The memory layout attributes exposed in > the public API (could be interesting to investigate attaching carrier types directly to layouts). > > The MemoryAddress carrier support for VarHandles is left out for now, since the current thinking is that it will be > dropped and replaced with VarHandle combinators to convert between long and MA instead. > Thanks, > Jorn Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision: Addressing review comments: - removed MemoryAddressImpl::ofLongUnchecked methods - removed MemoryAddress::NULL ------------- Changes: - all: https://git.openjdk.java.net/panama-foreign/pull/77/files - new: https://git.openjdk.java.net/panama-foreign/pull/77/files/c6e25088..02f2d49f Webrevs: - full: https://webrevs.openjdk.java.net/panama-foreign/77/webrev.01 - incr: https://webrevs.openjdk.java.net/panama-foreign/77/webrev.00-01 Stats: 18 lines in 2 files changed: 0 ins; 16 del; 2 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/77.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/77/head:pull/77 PR: https://git.openjdk.java.net/panama-foreign/pull/77 From mcimadamore at openjdk.java.net Tue Mar 31 17:22:53 2020 From: mcimadamore at openjdk.java.net (Maurizio Cimadamore) Date: Tue, 31 Mar 2020 17:22:53 GMT Subject: [foreign-memaccess] [Rev 01] RFR: Backport misc changes from foreign-abi In-Reply-To: References: Message-ID: On Tue, 31 Mar 2020 17:07:16 GMT, Jorn Vernee wrote: >> Hi, >> >> This patch backports several changes that went into the foreign-abi branch, but which are in retrospect useful to have >> on the memaccess branch, and as part of the memory access API as well. >> These changes include: >> - Replacing ForeignUnsafe with Foreign >> - Adding the `ofNativeUnchecked` method to create unchecked MemorySegments, MemoryAddress::ofLong to forge >> MemoryAddresses from longs, as well as the Nothing segment and rebase support. Mainly to support going from a `long` to >> `MemoryAddress`, and also to `MemorySegment` (MA -> long is already covered) The memory layout attributes exposed in >> the public API (could be interesting to investigate attaching carrier types directly to layouts). >> >> The MemoryAddress carrier support for VarHandles is left out for now, since the current thinking is that it will be >> dropped and replaced with VarHandle combinators to convert between long and MA instead. >> Thanks, >> Jorn > > Jorn Vernee has updated the pull request incrementally with one additional commit since the last revision: > > Addressing review comments: > - removed MemoryAddressImpl::ofLongUnchecked methods > - removed MemoryAddress::NULL Looks good! ------------- Marked as reviewed by mcimadamore (Committer). PR: https://git.openjdk.java.net/panama-foreign/pull/77 From jvernee at openjdk.java.net Tue Mar 31 17:42:36 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Tue, 31 Mar 2020 17:42:36 GMT Subject: [Integrated] [foreign-memaccess] RFR: Backport misc changes from foreign-abi In-Reply-To: References: Message-ID: <5fac8150-845c-4668-83e2-433149fc77a4@openjdk.org> Changeset: b126f277 Author: Jorn Vernee Date: 2020-03-31 17:41:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b126f277 Backport misc changes from foreign-abi Reviewed-by: mcimadamore, psandoz ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/AbstractLayout.java + src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/Foreign.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/GroupLayout.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryLayout.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/PaddingLayout.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SequenceLayout.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/ValueLayout.java - src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/unsafe/ForeignUnsafe.java + src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/InternalForeign.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/LayoutPath.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemoryAddressImpl.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemoryScope.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/Utils.java + test/jdk/java/foreign/TestLayoutAttributes.java ! test/jdk/java/foreign/TestLayoutConstants.java ! test/jdk/java/foreign/TestNative.java + test/jdk/java/foreign/TestRebase.java ! test/jdk/java/foreign/TestSegments.java ! test/jdk/java/foreign/TestSharedAccess.java From duke at openjdk.java.net Tue Mar 31 17:50:57 2020 From: duke at openjdk.java.net (J.Duke) Date: Tue, 31 Mar 2020 17:50:57 GMT Subject: [foreign-abi] Cannot automatically merge foreign-memaccess to foreign-abi Message-ID: Hi all, this is an _automatically_ generated merge request to notify you that there is 1 commit from the branch `foreign-memaccess`that can **not** be merged into the branch `foreign-abi`: The following files contains merge conflicts: - src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/AbstractLayout.java - src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/Foreign.java - src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java - src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/InternalForeign.java - src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemoryAddressImpl.java - test/jdk/java/foreign/TestNative.java - test/jdk/java/foreign/TestRebase.java - test/jdk/java/foreign/TestSegments.java - test/jdk/java/foreign/TestSharedAccess.java The following paragraphs will give an example on how to solve these merge conflicts and create a pull request to integrate them. If you are using a workflow different from the one below, feel free to use that instead. It is important that the title of the pull request you create is `Merge foreign-memaccess`, otherwise the bots will _not_ understand that the pull request you create is a "merge style" 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://git.openjdk.java.net/panama-foreign) repository. These commands will allow you to view and resolve the merge conflicts. Note that the name of the local branch in the commands, `merge-foreign-memaccess-into-foreign-abi-b126f277`, is just an example, feel free to give the local branch any name you prefer. $ git checkout foreign-abi $ git pull https://git.openjdk.java.net/panama-foreign foreign-abi $ git checkout -b merge-foreign-memaccess-into-foreign-abi-b126f277 $ git pull https://git.openjdk.java.net/panama-foreign foreign-memaccess When you have resolved the conflicts resulting from the `git pull` command above, run the following commands to create a merge commit: $ git add paths/to/files/with/conflicts $ git commit -m 'Merge foreign-memaccess' The commit message does not have to be `Merge foreign-memaccess`, but it is convenient for when you will create a pull request. Many tools will by default use the commit message of the most recent commit on a branch as the title for a pull request from that branch. This means that if you use the commit message `Merge foreign-memaccess` as the commit message then the title of the pull request will (depending to tools used to create the pull request) be of a format that the bots expect. Proceed to [publish the local branch](https://wiki.openjdk.java.net/display/SKARA/FAQ#FAQ-HowdoIpushalocalbranchtoaremoterepository?) and [create a pull request](https://wiki.openjdk.java.net/display/SKARA/FAQ#FAQ-HowdoIcreateapullrequest?) towards the `foreign-abi` branch in the [openjdk/panama-foreign](https://git.openjdk.java.net/panama-foreign) repository. The resulting pull request can then integrated as usual once it has passed all required pre-integration checks. Thanks, J. Duke ------------- Commit messages: - Backport misc changes from foreign-abi Changes: https://git.openjdk.java.net/panama-foreign/pull/79/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/79/webrev.00 Stats: 810 lines in 21 files changed: 639 ins; 96 del; 75 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/79.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/79/head:pull/79 PR: https://git.openjdk.java.net/panama-foreign/pull/79 From jvernee at openjdk.java.net Tue Mar 31 18:11:58 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Tue, 31 Mar 2020 18:11:58 GMT Subject: [foreign-abi] PR-Base-Hash: d34b4444ce5de3ec887a445c5287168947c1ea42: Cannot automatically merge foreign-memaccess to foreign-abi In-Reply-To: References: Message-ID: <3TNSTgylBKzP6i7FvIWW04v_f0syGqsHtpNY3clQE6k=.3c7d84f8-8ced-4a0b-a25a-50891974f5ef@github.com> On Tue, 31 Mar 2020 17:44:20 GMT, J. Duke wrote: > Hi all, > > this is an _automatically_ generated merge request to notify you that there is 1 commit from the branch > `foreign-memaccess`that can **not** be merged into the branch `foreign-abi`: > The following files contains merge conflicts: > > - src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/AbstractLayout.java > - src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/Foreign.java > - src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java > - src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/InternalForeign.java > - src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemoryAddressImpl.java > - test/jdk/java/foreign/TestNative.java > - test/jdk/java/foreign/TestRebase.java > - test/jdk/java/foreign/TestSegments.java > - test/jdk/java/foreign/TestSharedAccess.java > > The following paragraphs will give an example on how to solve these merge conflicts and create a pull request to > integrate them. If you are using a workflow different from the one below, feel free to use that instead. It is > important that the title of the pull request you create is `Merge foreign-memaccess`, otherwise the bots will _not_ > understand that the pull request you create is a "merge style" 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://git.openjdk.java.net/panama-foreign) repository. These commands will allow you to view > and resolve the merge conflicts. Note that the name of the local branch in the commands, > `merge-foreign-memaccess-into-foreign-abi-b126f277`, is just an example, feel free to give the local branch any name > you prefer. $ git checkout foreign-abi $ git pull https://git.openjdk.java.net/panama-foreign foreign-abi $ git > checkout -b merge-foreign-memaccess-into-foreign-abi-b126f277 $ git pull https://git.openjdk.java.net/panama-foreign > foreign-memaccess When you have resolved the conflicts resulting from the `git pull` command above, run the following > commands to create a merge commit: $ git add paths/to/files/with/conflicts > $ git commit -m 'Merge foreign-memaccess' > > The commit message does not have to be `Merge foreign-memaccess`, but it is convenient for when you will create a pull > request. Many tools will by default use the commit message of the most recent commit on a branch as the title for a > pull request from that branch. This means that if you use the commit message `Merge foreign-memaccess` as the commit > message then the title of the pull request will (depending to tools used to create the pull request) be of a format > that the bots expect. Proceed to [publish the local > branch](https://wiki.openjdk.java.net/display/SKARA/FAQ#FAQ-HowdoIpushalocalbranchtoaremoterepository?) and [create a > pull request](https://wiki.openjdk.java.net/display/SKARA/FAQ#FAQ-HowdoIcreateapullrequest?) towards the `foreign-abi` > branch in the [openjdk/panama-foreign](https://git.openjdk.java.net/panama-foreign) repository. The resulting pull > request can then integrated as usual once it has passed all required pre-integration checks. Thanks, J. Duke I'm currently looking at this ------------- PR: https://git.openjdk.java.net/panama-foreign/pull/79 From duke at openjdk.java.net Tue Mar 31 18:52:09 2020 From: duke at openjdk.java.net (duke) Date: Tue, 31 Mar 2020 18:52:09 GMT Subject: git: openjdk/panama-foreign: foreign-jextract: 3 new changesets Message-ID: Changeset: b126f277 Author: Jorn Vernee Date: 2020-03-31 17:41:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b126f277 Backport misc changes from foreign-abi Reviewed-by: mcimadamore, psandoz ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/AbstractLayout.java + src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/Foreign.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/GroupLayout.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryLayout.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/PaddingLayout.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SequenceLayout.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/ValueLayout.java - src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/unsafe/ForeignUnsafe.java + src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/InternalForeign.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/LayoutPath.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemoryAddressImpl.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemoryScope.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/Utils.java + test/jdk/java/foreign/TestLayoutAttributes.java ! test/jdk/java/foreign/TestLayoutConstants.java ! test/jdk/java/foreign/TestNative.java + test/jdk/java/foreign/TestRebase.java ! test/jdk/java/foreign/TestSegments.java ! test/jdk/java/foreign/TestSharedAccess.java Changeset: 98cec1f9 Author: Jorn Vernee Date: 2020-03-31 18:50:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/98cec1f9 Merge ! test/jdk/java/foreign/TestRebase.java ! test/jdk/java/foreign/TestRebase.java Changeset: ba706b92 Author: duke Date: 2020-03-31 18:51:09 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/ba706b92 Automatic merge of foreign-abi into foreign-jextract From jvernee at openjdk.java.net Tue Mar 31 18:51:53 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Tue, 31 Mar 2020 18:51:53 GMT Subject: git: openjdk/panama-foreign: foreign-abi: 2 new changesets Message-ID: Changeset: b126f277 Author: Jorn Vernee Date: 2020-03-31 17:41:55 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/b126f277 Backport misc changes from foreign-abi Reviewed-by: mcimadamore, psandoz ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/AbstractLayout.java + src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/Foreign.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/GroupLayout.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryLayout.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/PaddingLayout.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SequenceLayout.java ! src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/ValueLayout.java - src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/unsafe/ForeignUnsafe.java + src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/InternalForeign.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/LayoutPath.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemoryAddressImpl.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemoryScope.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/MemorySegmentImpl.java ! src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/Utils.java + test/jdk/java/foreign/TestLayoutAttributes.java ! test/jdk/java/foreign/TestLayoutConstants.java ! test/jdk/java/foreign/TestNative.java + test/jdk/java/foreign/TestRebase.java ! test/jdk/java/foreign/TestSegments.java ! test/jdk/java/foreign/TestSharedAccess.java Changeset: 98cec1f9 Author: Jorn Vernee Date: 2020-03-31 18:50:35 +0000 URL: https://git.openjdk.java.net/panama-foreign/commit/98cec1f9 Merge ! test/jdk/java/foreign/TestRebase.java ! test/jdk/java/foreign/TestRebase.java From jvernee at openjdk.java.net Tue Mar 31 19:01:05 2020 From: jvernee at openjdk.java.net (Jorn Vernee) Date: Tue, 31 Mar 2020 19:01:05 GMT Subject: [foreign-abi] FYI: Merge foreign-memaccess Message-ID: Fixes the pending merge conflict: https://github.com/openjdk/panama-foreign/pull/79 Jorn ------------- Commit messages: - Merge foreign-memaccess - Merge - Automatic merge of foreign-memaccess into foreign-abi - 8241816: foreign-abi and foreign-jextract panama branches fail to build and test - 8241712: AArch64: TestDowncall fails with IllegalArgumentException: No ABI attribute present - Automatic merge of foreign-memaccess into foreign-abi - 8241504: Expose MemoryLayout annotations/attributes in the public API - Backport 8237573 to foreign-abi - Automatic merge of foreign-memaccess into foreign-abi - Miscellaneous cleanups - 8241309: foreign-abi branch has javadoc errors - 8237585: Dismantle ForeignUnsafe - 8241148: need a way to create MemorySegment with contents from java String and a way to read a C char* as java String - 8241017: Enhance AllocationScope to support "unbounded" mode - Automatic merge of foreign-memaccess into foreign-abi - Merge - 8240874: Add finer-grained access control for memory segments (#47) - Automatic merge of foreign-memaccess into foreign-abi - Automatic merge of foreign-memaccess into foreign-abi - 8240173: Confusing overflow error when trying to dereference a nothing segment - 8239784: Circular initialization causes C_XXX constants to be null - Automatic merge of foreign-memaccess into foreign-abi - 8239345: need an enum for standard C types and a way to get a memory layout for those C types - Automatic merge of foreign-memaccess into foreign-abi - Automatic merge of foreign-memaccess into foreign-abi - 8238192: Reimplement MemoryAddress memory access handles on top of var handle combinators - 8238226: Revisit FunctionDescriptor - Merge - 8238837: AArch64: TestUpcall failures after JDK-8237358 - 8237359: Clean up Binding - Automatic merge of foreign-memaccess into foreign-abi - Automatic merge of foreign-memaccess into foreign-abi - 8237360: Add tests that test binding recipe generation directly - Merge remote-tracking branch 'remotes/origin/foreign-memaccess' into foreign-abi - Manual merge with foreign-memaccess - 8238217: panama fails to build because of use of x87 instructions in 64 bit mode - Automatic merge with foreign-memaccess - Automatic merge with foreign-memaccess - 8237357: Add verification code for binding recipes - Automatic merge with foreign-memaccess - 8237358: Split the DEREFERENCE binding operator into a load/store + move - 8237899: Add support for scoped allocation - 8237899: Add support for scoped allocation - 8237356: Refactor shared code in CallArranger - 8237762: Add platform dependent MemoryLayout constants - 8237761: Add way to determine the current ABI - Manual merge with foreign-memaccess - Automatic merge with foreign-memaccess - 8237351: Add method to SystemABI for explicitly freeing upcall stubs - Manual merge with foreign-memaccess - Automatic merge with foreign-memaccess - Automatic merge with foreign-memaccess - Automatic merge with foreign-memaccess - Manual merge with foreign-memaccess - Manual merge with foreign-memaccess - Automatic merge with foreign-memaccess - 8236453: Test for wrong memory address value - 8236454: Use MethodHandle.linkToStatic to call MemoryAddress.ofLong - Automatic merge with foreign-memaccess - Automatic merge with foreign-memaccess - Automatic merge with foreign-memaccess - 8236004: Memory access var handles should support MemoryAddress carrier - Automatic merge with foreign-memaccess - Manual merge with foreign-memaccess - 8235258: Add support for empty segments and rebased addresses - Manual merge with foreign-memaccess - Manual merge with foreign-memaccess - Manual merge with foreign-memaccess - Manual merge with foreign-memacess - Automatic merge with foreign-memaccess - Automatic merge with foreign-memaccess - Manual merge with foreign-memaccess - 8233317: Add the ProgrammableInvoker - 8232907: NPE in FunctionDescriptor::hashCode for function without return type (void) - 8232628: foreign-abi usability issues - Manual merge with foreign-memaccess - Automatic merge with foreign-memaccess - Automatic merge with foreign-memaccess - Manual merge with foreign-memaccess - Automatic merge with foreign-memaccess - Automatic merge with foreign-memaccess - Automatic merge with foreign-memaccess - 8230806: Use libTestUpcall in TestUpcall - Automatic merge with foreign-memaccess - 8229918: Fix clash between recent CallingSequenceTest patch and Windows varargs support patch - Automatic merge with foreign-memaccess - Automatic merge with foreign-memaccess - [foreign-abi] 8228762: import CallingSequenceBuilder unit tests - 8228509: Add support for binding varargs functions on Windows - Automatic merge with foreign-memaccess - Automatic merge with foreign-memaccess - 8228486: Add ABI-specific layout constants - Manual merge with foreign-memaccess - Manual merge with foreign-memaccess - 8227718: Add support for SystemABI - Automatic merge with foreign-memaccess - Automatic merge with foreign-memaccess - Add dependency file for branch foreign-abi - Create foreign-abi branch Changes: https://git.openjdk.java.net/panama-foreign/pull/80/files Webrev: https://webrevs.openjdk.java.net/panama-foreign/80/webrev.00 The following webrevs contain only the adjustments done while merging with regards to each parent branch: - foreign-abi: https://webrevs.openjdk.java.net/panama-foreign/80/webrev.00.0 - foreign-memaccess: https://webrevs.openjdk.java.net/panama-foreign/80/webrev.00.1 Stats: 59928 lines in 112 files changed: 59829 ins; 49 del; 50 mod Patch: https://git.openjdk.java.net/panama-foreign/pull/80.diff Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/80/head:pull/80 PR: https://git.openjdk.java.net/panama-foreign/pull/80 From shravya.rukmannagari at intel.com Tue Mar 31 19:40:43 2020 From: shravya.rukmannagari at intel.com (Rukmannagari, Shravya) Date: Tue, 31 Mar 2020 19:40:43 +0000 Subject: Extract/Insert Java API Modifications for VectorAPI Message-ID: Hi All, Please find the webrev below which modifies the definition of extract and insert. These are currently intrinsified on x86 platforms for a constant value idx, whereas the API provides a runtime variable to the function call. http://cr.openjdk.java.net/~srukmannagar/VectorAPI_vectorExtractInsert/webrev.01/ Thanks, Shravya. From paul.sandoz at oracle.com Tue Mar 31 20:03:39 2020 From: paul.sandoz at oracle.com (Paul Sandoz) Date: Tue, 31 Mar 2020 13:03:39 -0700 Subject: Extract/Insert Java API Modifications for VectorAPI In-Reply-To: References: Message-ID: <9D397A8F-EEA9-4731-AA59-2760298302A1@oracle.com> Hi, Will the Java implementation fail for *MaxVector for lanes > 8? Reducing the horizontal line-length would help for review purposes. Perhaps place the lambda argument at the end on a new line. Paul. > On Mar 31, 2020, at 12:40 PM, Rukmannagari, Shravya wrote: > > Hi All, > Please find the webrev below which modifies the definition of extract and insert. These are currently intrinsified on x86 platforms for a constant value idx, whereas the API provides a runtime variable to the function call. > http://cr.openjdk.java.net/~srukmannagar/VectorAPI_vectorExtractInsert/webrev.01/ > > Thanks, > Shravya. > From ach at activeviam.com Tue Mar 31 20:58:55 2020 From: ach at activeviam.com (Antoine Chambille) Date: Tue, 31 Mar 2020 22:58:55 +0200 Subject: Accessing foreign memory that already exists In-Reply-To: <95ce920a-f72a-4271-bc20-0dafda1646c7@oracle.com> References: <95ce920a-f72a-4271-bc20-0dafda1646c7@oracle.com> Message-ID: Hi Maurizio, Thank you for the explanations and for your interest. In short, for the use case of an in-memory analytical database you need a specialized memory allocator to manage tables and indexes, and direct read/write access to the data, in pure Java, from many concurrent threads. It's ok if the memory segments are just fa?ades to the memory and don't actually manage it. To answer you questions directly: * you'd like this segment to have a known size -> that would be handy, the segment could be used directly without the need of a parent structure to hold the size. * you'd like this segment to be closeable, and, upon close() some well-known native function in your allocator should be invoked -> indeed that would be the right place to have a "cleaner". not mandatory though, it can be done externally. * you'd probably like this segment not to be confined -> absolutely! we need massively parallel data access for data loading (mount large datasets on demand in the cloud for short lived sessions) and for aggregations (interactive query times even on terabytes). In a bit more detail: Modern analytical databases are based on column stores, including the one we develop at ActiveViam that is called ActivePivot. The data is stored in binary columns, with a few indexing structures derived from hash tables and bitmap indexes. Those data structures are essentially made of big, long-lived arrays. To support very large datasets we allocate them off-heap, and we use the Java heap for aggregations and calculations. Currently in ActivePivot the off-heap memory is managed by a SLAB allocator, based on mmap, that supports highly concurrent allocations and deallocations. It's also NUMA aware, so that during aggregations Java threads process the data partitions on the same NUMA node. Java threads read and write the data using sun.misc.Unsafe. The data access performance is good and predictable, there are no boundary checks. But optimizations such as loop unrolling and vectorization that work on java arrays are lost with Unsafe. And in many cases (column scans, joins, aggregations) we could use the panama Vector API that we also anticipate eagerly, and that would not work with Unsafe. For those reasons, we would like to return to the ranks and rebase our data access code on memory segments. Thanks, -Antoine On Tue, Mar 31, 2020 at 12:36 PM Maurizio Cimadamore < maurizio.cimadamore at oracle.com> wrote: > Hi Antoine, > this is an interesting use case, and one I've been thinking quite a bit > recently, as it comes up with native interop (see below). > > In general there are two categories of memory addresses: checked ones > (the ones with a known segment attached to them) and unchecked ones (the > ones with no segment attached to them, or the ones that have the special > Nothing segment attached to them). > > Our policy is that addresses that are not backed by a segment _cannot_ > be de-referenced. This is how we've been achieving safety for the basic > foreign memory access use case that doesn't do native interop. (we're > discussing as to whether that's the right default, based on some library > porting activity we've been doing recently - but there doesn't seem > clear evidence pointing one way or another). > > But there are cases where you might want to take an existing address, > which is backed by no existing segment, and attach a segment to it - > which will make it fully functional again - this operation is called > 'rebasing an address': > > > https://github.com/openjdk/panama-foreign/blob/foreign-abi/src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java#L83 > > So, with all this in mind, the goal to do what you want is to be able to > (unsafely!) create a memory segment which has roughly the > characteristics you need - e.g. given base address and given size. The > native interop branch has a useful method for making these unchecked > segments: > > > https://github.com/openjdk/panama-foreign/blob/foreign-abi/src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/Foreign.java#L100 > > In other words, let's say you have a long address "addr" and that you > want to create a segment around it: > > 1) create a memory address out of "addr" > > var base = MemoryAddress.ofLong(addr) > > 2) create an unchecked segment with right base address and size > > var segment = Foreign.ofNativeUnchecked(base, size) > > And voila, you now have a segment for your non-Java generated address. > > Few notes: > > * since the address has been generated by you, when you close this > segment, the memory access API won't attempt to do anything fancy here > (but it will make all the addresses based on that segment invalid); > options we have discussed here is to add ways to attach custom 'cleanup' > functions - I'm a bit skeptical of those, but I can be convinced given > the right use cases > > * the segment will be confined on the calling thread - meaning that it > can only be accessed and closed by that thread (as a regular segment) > > I think here we can do things to allow more flexibility - in principle > there's some kind of 'unsafe native segment builder' lurking in here > which lets you specify: > > * whether to confine to a thread or not > * what the size of the segment is > * what is the base address of the segment > * whether the resulting segment is closeable (and, if so, if a custom > close() action should be provided) > > My sense is that clients typically will _not_ need all this flexibility. > For instance, in the native interop case there are only two cases which > seem overwhelmingly common: > > * I have an unchecked address and I want to give it a size - but I don't > want closeability, or confinement - just let me dereference it within > some known bounds > * I have an unchecked address which I know comes from some 'malloc' > call, and I want to attach it a full blown segment, and I want the > segment::close operation to call free() > > I guess time will tell whether we need N ad-hoc unsafe factories, or a > more flexible builder-based solution. > > At this point I'd be very interested on what your requirements would be > for the segment you create with this unsafe API. My educated guess would > be that: > > * you'd like this segment to have a known size > * you'd like this segment to be closeable, and, upon close() some > well-known native function in your allocator should be invoked > * you'd probably like this segment not to be confined > > Is my guess correct? > > Cheers > Maurizio > > On 31/03/2020 09:06, Antoine Chambille wrote: > > Hi everyone, > > > > At ActiveViam we are watching the foreign memory project with eager > > anticipation. Thank you for the hard work, looking forward to it! > > > > One question related to our usage of off-heap memory: > > > > If some native memory already exists, what is the preferred way to expose > > it as a memory segment? > > > > > > Some details about our use case: we make an in-memory database that > > delivers interactive queries to many users on terabyte datasets. The > > database structures are allocated off-heap, but not with malloc which is > a > > bottleneck. We developed a highly concurrent, NUMA-Aware SLAB allocator. > > This custom memory manager is written almost entirely in Java with just a > > few system calls (anonymous mmap, munmap, madvise). > > > > Cheers, > > -Antoine > From shravya.rukmannagari at intel.com Tue Mar 31 21:06:36 2020 From: shravya.rukmannagari at intel.com (Rukmannagari, Shravya) Date: Tue, 31 Mar 2020 21:06:36 +0000 Subject: Extract/Insert Java API Modifications for VectorAPI In-Reply-To: <9D397A8F-EEA9-4731-AA59-2760298302A1@oracle.com> References: <9D397A8F-EEA9-4731-AA59-2760298302A1@oracle.com> Message-ID: Hi Paul, Thanks a lot for the review. There seems to be no easy solution to handle MaxVector with the current patch. We can drop this for now and handle it in the future updates. Thanks, Shravya. -----Original Message----- From: Paul Sandoz Sent: Tuesday, March 31, 2020 1:04 PM To: Rukmannagari, Shravya Cc: panama-dev Subject: Re: Extract/Insert Java API Modifications for VectorAPI Hi, Will the Java implementation fail for *MaxVector for lanes > 8? Reducing the horizontal line-length would help for review purposes. Perhaps place the lambda argument at the end on a new line. Paul. > On Mar 31, 2020, at 12:40 PM, Rukmannagari, Shravya wrote: > > Hi All, > Please find the webrev below which modifies the definition of extract and insert. These are currently intrinsified on x86 platforms for a constant value idx, whereas the API provides a runtime variable to the function call. > http://cr.openjdk.java.net/~srukmannagar/VectorAPI_vectorExtractInsert/webrev.01/ > > Thanks, > Shravya. > From sandhya.viswanathan at intel.com Tue Mar 31 21:24:16 2020 From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya) Date: Tue, 31 Mar 2020 21:24:16 +0000 Subject: [vector-unstable] Getting webrev ready for community review Message-ID: Hi Yang, We are all getting the various webrevs ready for community review of vector api. Please create a webrev for aarch64 backend changes and place link to the latest webrev in the description of https://bugs.openjdk.java.net/browse/JDK-8223347. The following script may be helpful towards that: hg diff -r default > all.patch grep "diff -r" all.patch | grep -e "src/hotspot/cpu/aarch64" | awk '{ print $4}' > aarch64_list ksh ./webrev.ksh -r default -o aarch64_webrev aarch64_list Best Regards, Sandhya From maurizio.cimadamore at oracle.com Tue Mar 31 21:28:28 2020 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Tue, 31 Mar 2020 22:28:28 +0100 Subject: Accessing foreign memory that already exists In-Reply-To: References: <95ce920a-f72a-4271-bc20-0dafda1646c7@oracle.com> Message-ID: <0a265c0f-2faa-36d3-05f8-9c551c43a96f@oracle.com> Thanks for the quick feedback. While memory segments are, internally, quite configurable, and we are trying to decide which bits of configuration to expose. We will surely expose an unsafe way to make unconfined segment - that's actually already in: https://github.com/openjdk/panama-foreign/blob/cef1b7f746df24dea1c57470ed51403647ebb893/src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/Foreign.java#L114 We also plan to have some primitive to take an address that has no segment and give it a bounded segment (I have a patch for that in the works). If possible, I'd like to stop there - from what you say, it seems like the two ingredients above should be enough for your need - as you only really need the memory access API to replace Unsafe access, not to manage the lifecycle of the memory you allocate (I suppose you have your own abstractions for that). Is my understanding correct? P.S. note that even confined segments implement the Spliterator interface as per recent changes, so they are amenable to parallel processing (e.g. ForkJoin task). Maurizio On 31/03/2020 21:58, Antoine Chambille wrote: > Hi Maurizio, > > Thank you for the explanations and for your interest. > > In short, for the use case of an in-memory analytical database you > need a specialized memory allocator to manage tables and indexes, and > direct read/write access to the data, in pure Java, from many > concurrent threads. It's ok if the memory segments are just fa?ades to > the memory and don't actually manage it. > > To answer you questions directly: > * you'd like this segment to have a known size > ? -> that would be handy, the segment could be used directly without > the need of a parent structure to hold the size. > * you'd like this segment to be closeable, and, upon close() some > well-known native function in your allocator should be invoked > ? -> indeed that would be the right place to have a "cleaner". not > mandatory though, it can be done externally. > * you'd probably like this segment not to be confined > ? -> absolutely! we need massively parallel data access for data > loading (mount large datasets on demand in the cloud for short lived > sessions) and for aggregations (interactive query times even on > terabytes). > > > > In a bit more detail: > Modern analytical databases are based on column stores, including the > one we develop at ActiveViam that is called ActivePivot. The data is > stored in binary columns, with a few indexing structures derived from > hash tables and bitmap indexes. Those data structures are essentially > made of big, long-lived arrays. To support very large datasets we > allocate them off-heap, and we use the Java heap for aggregations and > calculations. > > Currently in ActivePivot the off-heap memory is managed by a SLAB > allocator, based on mmap, that supports highly concurrent allocations > and deallocations. It's also NUMA aware, so that during aggregations > Java threads process the data partitions on the same NUMA node. Java > threads read and write the data using sun.misc.Unsafe. The data access > performance is good and predictable, there are no boundary checks. But > optimizations such as loop unrolling and vectorization that work on > java arrays are lost with Unsafe. And in many cases (column scans, > joins, aggregations) we could use the panama Vector API that we also > anticipate eagerly, and that would not work with Unsafe. For those > reasons, we would like to return to the ranks and rebase our data > access code on memory segments. > > Thanks, > -Antoine > > > > > > On Tue, Mar 31, 2020 at 12:36 PM Maurizio Cimadamore > > wrote: > > Hi Antoine, > this is an interesting use case, and one I've been thinking quite > a bit > recently, as it comes up with native interop (see below). > > In general there are two categories of memory addresses: checked ones > (the ones with a known segment attached to them) and unchecked > ones (the > ones with no segment attached to them, or the ones that have the > special > Nothing segment attached to them). > > Our policy is that addresses that are not backed by a segment > _cannot_ > be de-referenced. This is how we've been achieving safety for the > basic > foreign memory access use case that doesn't do native interop. (we're > discussing as to whether that's the right default, based on some > library > porting activity we've been doing recently - but there doesn't seem > clear evidence pointing one way or another). > > But there are cases where you might want to take an existing address, > which is backed by no existing segment, and attach a segment to it - > which will make it fully functional again - this operation is called > 'rebasing an address': > > https://github.com/openjdk/panama-foreign/blob/foreign-abi/src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java#L83 > > So, with all this in mind, the goal to do what you want is to be > able to > (unsafely!) create a memory segment which has roughly the > characteristics you need - e.g. given base address and given size. > The > native interop branch has a useful method for making these unchecked > segments: > > https://github.com/openjdk/panama-foreign/blob/foreign-abi/src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/Foreign.java#L100 > > In other words, let's say you have a long address "addr" and that you > want to create a segment around it: > > 1) create a memory address out of "addr" > > var base = MemoryAddress.ofLong(addr) > > 2) create an unchecked segment with right base address and size > > var segment = Foreign.ofNativeUnchecked(base, size) > > And voila, you now have a segment for your non-Java generated address. > > Few notes: > > * since the address has been generated by you, when you close this > segment, the memory access API won't attempt to do anything fancy > here > (but it will make all the addresses based on that segment invalid); > options we have discussed here is to add ways to attach custom > 'cleanup' > functions - I'm a bit skeptical of those, but I can be convinced > given > the right use cases > > * the segment will be confined on the calling thread - meaning > that it > can only be accessed and closed by that thread (as a regular segment) > > I think here we can do things to allow more flexibility - in > principle > there's some kind of 'unsafe native segment builder' lurking in here > which lets you specify: > > * whether to confine to a thread or not > * what the size of the segment is > * what is the base address of the segment > * whether the resulting segment is closeable (and, if so, if a custom > close() action should be provided) > > My sense is that clients typically will _not_ need all this > flexibility. > For instance, in the native interop case there are only two cases > which > seem overwhelmingly common: > > * I have an unchecked address and I want to give it a size - but I > don't > want closeability, or confinement - just let me dereference it within > some known bounds > * I have an unchecked address which I know comes from some 'malloc' > call, and I want to attach it a full blown segment, and I want the > segment::close operation to call free() > > I guess time will tell whether we need N ad-hoc unsafe factories, > or a > more flexible builder-based solution. > > At this point I'd be very interested on what your requirements > would be > for the segment you create with this unsafe API. My educated guess > would > be that: > > * you'd like this segment to have a known size > * you'd like this segment to be closeable, and, upon close() some > well-known native function in your allocator should be invoked > * you'd probably like this segment not to be confined > > Is my guess correct? > > Cheers > Maurizio > > On 31/03/2020 09:06, Antoine Chambille wrote: > > Hi everyone, > > > > At ActiveViam we are watching the foreign memory project with eager > > anticipation. Thank you for the hard work, looking forward to it! > > > > One question related to our usage of off-heap memory: > > > > If some native memory already exists, what is the preferred way > to expose > > it as a memory segment? > > > > > > Some details about our use case: we make an in-memory database that > > delivers interactive queries to many users on terabyte datasets. The > > database structures are allocated off-heap, but not with malloc > which is a > > bottleneck. We developed a highly concurrent, NUMA-Aware SLAB > allocator. > > This custom memory manager is written almost entirely in Java > with just a > > few system calls (anonymous mmap, munmap, madvise). > > > > Cheers, > > -Antoine > > From paul.sandoz at oracle.com Tue Mar 31 21:48:00 2020 From: paul.sandoz at oracle.com (Paul Sandoz) Date: Tue, 31 Mar 2020 14:48:00 -0700 Subject: Extract/Insert Java API Modifications for VectorAPI In-Reply-To: References: <9D397A8F-EEA9-4731-AA59-2760298302A1@oracle.com> Message-ID: Can we leave the existing code in place for *MaxVector? Paul. > On Mar 31, 2020, at 2:06 PM, Rukmannagari, Shravya wrote: > > Hi Paul, > Thanks a lot for the review. There seems to be no easy solution to handle MaxVector with the current patch. We can drop this for now and handle it in the future updates. > > Thanks, > Shravya. > > -----Original Message----- > From: Paul Sandoz > Sent: Tuesday, March 31, 2020 1:04 PM > To: Rukmannagari, Shravya > Cc: panama-dev > Subject: Re: Extract/Insert Java API Modifications for VectorAPI > > Hi, > > Will the Java implementation fail for *MaxVector for lanes > 8? > > Reducing the horizontal line-length would help for review purposes. Perhaps place the lambda argument at the end on a new line. > > Paul. > >> On Mar 31, 2020, at 12:40 PM, Rukmannagari, Shravya wrote: >> >> Hi All, >> Please find the webrev below which modifies the definition of extract and insert. These are currently intrinsified on x86 platforms for a constant value idx, whereas the API provides a runtime variable to the function call. >> http://cr.openjdk.java.net/~srukmannagar/VectorAPI_vectorExtractInsert/webrev.01/ >> >> Thanks, >> Shravya. >> > From youngty1997 at gmail.com Tue Mar 31 22:30:38 2020 From: youngty1997 at gmail.com (Ty Young) Date: Tue, 31 Mar 2020 17:30:38 -0500 Subject: Panama feedback In-Reply-To: References: <36b7a9cb-efad-cdd6-7e3d-75615de3f326@gmail.com> <237b2b6e-3aa7-3f4e-edab-0f16d68c8bb2@oracle.com> Message-ID: <85fe3b38-f413-efd8-0ee9-2332ded9dfaf@gmail.com> On 3/31/20 8:43 AM, Maurizio Cimadamore wrote: > > I think here it would be nice to understand how to improve the current > jextract API to make these kind of things more easily configurable. > The main idea is that it should be possible for people to do this by > just using a Java program (which you can then launch using the single > source launcher) so the difference between tool and API client is > fairly thin. > I don't have too much interest in the jextract API, to be honest. Making bindings is already so easy(at least for the basic stuff I'm using it for) and my abstraction layer makes contextual, opinionated bindings choices like interpreting a char pointer as an MemoryArray. I don't know if a one-size-fits-all API can be done since everyone is going to disagree on things like above: should a char pointer just be a char pointer in Java or an array of bytes? (That said, I wouldn't mind giving it a spin if some basic tutorial or template code was provided.) My understanding is that it works by generating plain-text class files which is something I've never done before nor have the slightest clue on how to make reliable. If there was a JDK API that could generate classes reliably and with the least amount of boilerplate I might do it. > > So, what you want is creating a segment that has zero length. This > seems very ad-hoc, I don't think I like the idea of adding that > ability to the API, since a zero-length segment cannot really be > closed, etc. > > I think what you want is some API on top to create an array given an > element layout and size and which returns a MemoryAddress > > e.g. > > MemoryAddress allocateArray(MemoryLayout elementLayout, long size) { > ??? if (size == 0L) return MemoryAddress.NULL > ??? else { ... create segment and return base address ... } > } > I'd like a variant that accepts a SequenceLayout too, but otherwise yes! > This test: > > https://github.com/openjdk/panama-foreign/blob/63d3ee093a881e92dd57b1090c3fb7ebec1c4c15/test/jdk/java/foreign/StdLibTest.java#L310 > > > is using an upcall for the qsort comparator. Should contain all the > relevant bits. Thanks! > > > Thanks > Maurizio > From youngty1997 at gmail.com Tue Mar 31 22:39:37 2020 From: youngty1997 at gmail.com (Ty Young) Date: Tue, 31 Mar 2020 17:39:37 -0500 Subject: Panama feedback In-Reply-To: <9fa6986e-3d2b-c9ec-0e1e-e55641eacb32@oracle.com> References: <36b7a9cb-efad-cdd6-7e3d-75615de3f326@gmail.com> <44f263fc-cf10-5ddd-cf48-e7183034943e@gmail.com> <32dbfc72-afc5-4aed-cb02-8124003d5323@oracle.com> <7360cb8f-678f-2b38-95d5-a0d1afc23598@gmail.com> <9fa6986e-3d2b-c9ec-0e1e-e55641eacb32@oracle.com> Message-ID: <90d6a4d1-99fc-b61a-609e-8c99ba997d7b@gmail.com> On 3/31/20 8:47 AM, Maurizio Cimadamore wrote: > yeah - but we can add a more general one which will work for any size :-) I'm guessing by a unique padding constable attribute, right? I don't know if it's on your giant TODO list already but could all the constant MemoryValue(s) be given some too? For example, Windows.C_INT could have a constable attribute "TYPE" with a value of "INT" and a "PLATFORM" with a value "WINDOWS". Standard attributes would be useful! > > Maurizio From ach at activeviam.com Tue Mar 31 22:57:34 2020 From: ach at activeviam.com (Antoine Chambille) Date: Wed, 1 Apr 2020 00:57:34 +0200 Subject: Accessing foreign memory that already exists In-Reply-To: <0a265c0f-2faa-36d3-05f8-9c551c43a96f@oracle.com> References: <95ce920a-f72a-4271-bc20-0dafda1646c7@oracle.com> <0a265c0f-2faa-36d3-05f8-9c551c43a96f@oracle.com> Message-ID: Yes exactly. We can handle the in-memory database use case well with a public API that creates "unsafe", unconfined memory segments. That jdk.incubator.foreign.Foreign interface would work very well, I hope it makes it to the final version! Thanks -Antoine On Tue, Mar 31, 2020 at 11:28 PM Maurizio Cimadamore < maurizio.cimadamore at oracle.com> wrote: > Thanks for the quick feedback. > > While memory segments are, internally, quite configurable, and we are > trying to decide which bits of configuration to expose. > > We will surely expose an unsafe way to make unconfined segment - that's > actually already in: > > > https://github.com/openjdk/panama-foreign/blob/cef1b7f746df24dea1c57470ed51403647ebb893/src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/Foreign.java#L114 > > We also plan to have some primitive to take an address that has no segment > and give it a bounded segment (I have a patch for that in the works). > > If possible, I'd like to stop there - from what you say, it seems like the > two ingredients above should be enough for your need - as you only really > need the memory access API to replace Unsafe access, not to manage the > lifecycle of the memory you allocate (I suppose you have your own > abstractions for that). > > Is my understanding correct? > > P.S. note that even confined segments implement the Spliterator interface > as per recent changes, so they are amenable to parallel processing (e.g. > ForkJoin task). > > Maurizio > > On 31/03/2020 21:58, Antoine Chambille wrote: > > Hi Maurizio, > > Thank you for the explanations and for your interest. > > In short, for the use case of an in-memory analytical database you need a > specialized memory allocator to manage tables and indexes, and direct > read/write access to the data, in pure Java, from many concurrent threads. > It's ok if the memory segments are just fa?ades to the memory and don't > actually manage it. > > To answer you questions directly: > * you'd like this segment to have a known size > -> that would be handy, the segment could be used directly without the > need of a parent structure to hold the size. > * you'd like this segment to be closeable, and, upon close() some > well-known native function in your allocator should be invoked > -> indeed that would be the right place to have a "cleaner". not > mandatory though, it can be done externally. > * you'd probably like this segment not to be confined > -> absolutely! we need massively parallel data access for data loading > (mount large datasets on demand in the cloud for short lived sessions) and > for aggregations (interactive query times even on terabytes). > > > > In a bit more detail: > Modern analytical databases are based on column stores, including the one > we develop at ActiveViam that is called ActivePivot. The data is stored in > binary columns, with a few indexing structures derived from hash tables and > bitmap indexes. Those data structures are essentially made of big, > long-lived arrays. To support very large datasets we allocate them > off-heap, and we use the Java heap for aggregations and calculations. > > Currently in ActivePivot the off-heap memory is managed by a SLAB > allocator, based on mmap, that supports highly concurrent allocations and > deallocations. It's also NUMA aware, so that during aggregations Java > threads process the data partitions on the same NUMA node. Java threads > read and write the data using sun.misc.Unsafe. The data access performance > is good and predictable, there are no boundary checks. But optimizations > such as loop unrolling and vectorization that work on java arrays are lost > with Unsafe. And in many cases (column scans, joins, aggregations) we could > use the panama Vector API that we also anticipate eagerly, and that would > not work with Unsafe. For those reasons, we would like to return to the > ranks and rebase our data access code on memory segments. > > Thanks, > -Antoine > > > > > > On Tue, Mar 31, 2020 at 12:36 PM Maurizio Cimadamore < > maurizio.cimadamore at oracle.com> wrote: > >> Hi Antoine, >> this is an interesting use case, and one I've been thinking quite a bit >> recently, as it comes up with native interop (see below). >> >> In general there are two categories of memory addresses: checked ones >> (the ones with a known segment attached to them) and unchecked ones (the >> ones with no segment attached to them, or the ones that have the special >> Nothing segment attached to them). >> >> Our policy is that addresses that are not backed by a segment _cannot_ >> be de-referenced. This is how we've been achieving safety for the basic >> foreign memory access use case that doesn't do native interop. (we're >> discussing as to whether that's the right default, based on some library >> porting activity we've been doing recently - but there doesn't seem >> clear evidence pointing one way or another). >> >> But there are cases where you might want to take an existing address, >> which is backed by no existing segment, and attach a segment to it - >> which will make it fully functional again - this operation is called >> 'rebasing an address': >> >> >> https://github.com/openjdk/panama-foreign/blob/foreign-abi/src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java#L83 >> >> So, with all this in mind, the goal to do what you want is to be able to >> (unsafely!) create a memory segment which has roughly the >> characteristics you need - e.g. given base address and given size. The >> native interop branch has a useful method for making these unchecked >> segments: >> >> >> https://github.com/openjdk/panama-foreign/blob/foreign-abi/src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/Foreign.java#L100 >> >> In other words, let's say you have a long address "addr" and that you >> want to create a segment around it: >> >> 1) create a memory address out of "addr" >> >> var base = MemoryAddress.ofLong(addr) >> >> 2) create an unchecked segment with right base address and size >> >> var segment = Foreign.ofNativeUnchecked(base, size) >> >> And voila, you now have a segment for your non-Java generated address. >> >> Few notes: >> >> * since the address has been generated by you, when you close this >> segment, the memory access API won't attempt to do anything fancy here >> (but it will make all the addresses based on that segment invalid); >> options we have discussed here is to add ways to attach custom 'cleanup' >> functions - I'm a bit skeptical of those, but I can be convinced given >> the right use cases >> >> * the segment will be confined on the calling thread - meaning that it >> can only be accessed and closed by that thread (as a regular segment) >> >> I think here we can do things to allow more flexibility - in principle >> there's some kind of 'unsafe native segment builder' lurking in here >> which lets you specify: >> >> * whether to confine to a thread or not >> * what the size of the segment is >> * what is the base address of the segment >> * whether the resulting segment is closeable (and, if so, if a custom >> close() action should be provided) >> >> My sense is that clients typically will _not_ need all this flexibility. >> For instance, in the native interop case there are only two cases which >> seem overwhelmingly common: >> >> * I have an unchecked address and I want to give it a size - but I don't >> want closeability, or confinement - just let me dereference it within >> some known bounds >> * I have an unchecked address which I know comes from some 'malloc' >> call, and I want to attach it a full blown segment, and I want the >> segment::close operation to call free() >> >> I guess time will tell whether we need N ad-hoc unsafe factories, or a >> more flexible builder-based solution. >> >> At this point I'd be very interested on what your requirements would be >> for the segment you create with this unsafe API. My educated guess would >> be that: >> >> * you'd like this segment to have a known size >> * you'd like this segment to be closeable, and, upon close() some >> well-known native function in your allocator should be invoked >> * you'd probably like this segment not to be confined >> >> Is my guess correct? >> >> Cheers >> Maurizio >> >> On 31/03/2020 09:06, Antoine Chambille wrote: >> > Hi everyone, >> > >> > At ActiveViam we are watching the foreign memory project with eager >> > anticipation. Thank you for the hard work, looking forward to it! >> > >> > One question related to our usage of off-heap memory: >> > >> > If some native memory already exists, what is the preferred way to >> expose >> > it as a memory segment? >> > >> > >> > Some details about our use case: we make an in-memory database that >> > delivers interactive queries to many users on terabyte datasets. The >> > database structures are allocated off-heap, but not with malloc which >> is a >> > bottleneck. We developed a highly concurrent, NUMA-Aware SLAB allocator. >> > This custom memory manager is written almost entirely in Java with just >> a >> > few system calls (anonymous mmap, munmap, madvise). >> > >> > Cheers, >> > -Antoine >> > > -- [image: ActiveViam] [image: LinkedIn] Antoine Chambille *Global Head of Research & Development * [image: Office] +33 (0)1 40 13 91 00 [image: YouTube] [image: Blog] [image: Twitter] [image: location] 46 rue de l'Arbre Sec, 75001 Paris [image: url] visit our website From maurizio.cimadamore at oracle.com Tue Mar 31 23:29:33 2020 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Wed, 1 Apr 2020 00:29:33 +0100 Subject: Panama feedback In-Reply-To: <90d6a4d1-99fc-b61a-609e-8c99ba997d7b@gmail.com> References: <36b7a9cb-efad-cdd6-7e3d-75615de3f326@gmail.com> <44f263fc-cf10-5ddd-cf48-e7183034943e@gmail.com> <32dbfc72-afc5-4aed-cb02-8124003d5323@oracle.com> <7360cb8f-678f-2b38-95d5-a0d1afc23598@gmail.com> <9fa6986e-3d2b-c9ec-0e1e-e55641eacb32@oracle.com> <90d6a4d1-99fc-b61a-609e-8c99ba997d7b@gmail.com> Message-ID: On 31/03/2020 23:39, Ty Young wrote: > > On 3/31/20 8:47 AM, Maurizio Cimadamore wrote: > > > > >> yeah - but we can add a more general one which will work for any size >> :-) > > > I'm guessing by a unique padding constable attribute, right? Not really - easier. PaddingLayouts are a special class (not exposed because it's package private) - we can just do an instanceof :-) > > > I don't know if it's on your giant TODO list already but could all the > constant MemoryValue(s) be given some too? For example, Windows.C_INT > could have a constable attribute "TYPE" with a value of "INT" and a > "PLATFORM" with a value "WINDOWS". > > > Standard attributes would be useful! Yeah - some would be useful; the one that I find the most interesting would be to attach a 'preferred carrier' to a layout (e.g int.class) so that we can infer carriers from layouts. Others are possible too - note that native layouts should already have a standard ABI type attached to them. Perhaps attaching the ABI name could make sense too Maurizio > > >> >> Maurizio From maurizio.cimadamore at oracle.com Tue Mar 31 23:42:27 2020 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Wed, 1 Apr 2020 00:42:27 +0100 Subject: Accessing foreign memory that already exists In-Reply-To: References: <95ce920a-f72a-4271-bc20-0dafda1646c7@oracle.com> <0a265c0f-2faa-36d3-05f8-9c551c43a96f@oracle.com> Message-ID: <916b4cf6-7c60-ea6a-a063-0b38a19646f8@oracle.com> On 31/03/2020 23:57, Antoine Chambille wrote: > Yes exactly. We can handle the in-memory database use case well with a > public API that creates "unsafe", unconfined memory segments. That > jdk.incubator.foreign.Foreign?interface would work very well,?I hope > it makes it to the final version! I think it should make it to the final version, if not in this form, in some similar form, with either more methods, or less. The idea is to separate the 'safe' parts of the API from the 'unsafe' ones which are required for non-standard use cases. Also note that, while all methods in Foreign are part of the foreign API, code that wants to call them needs to 'opt in' for restricted foreign access. At this point in time, this is done by setting a runtime property (-Djdk.incubator.foreign.Foreign=permit) - in the future this could become a more integrated option which gives special privileges to selected modules in the module path. Maurizio > > Thanks > -Antoine > > > > On Tue, Mar 31, 2020 at 11:28 PM Maurizio Cimadamore > > wrote: > > Thanks for the quick feedback. > > While memory segments are, internally, quite configurable, and we > are trying to decide which bits of configuration to expose. > > We will surely expose an unsafe way to make unconfined segment - > that's actually already in: > > https://github.com/openjdk/panama-foreign/blob/cef1b7f746df24dea1c57470ed51403647ebb893/src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/Foreign.java#L114 > > We also plan to have some primitive to take an address that has no > segment and give it a bounded segment (I have a patch for that in > the works). > > If possible, I'd like to stop there - from what you say, it seems > like the two ingredients above should be enough for your need - as > you only really need the memory access API to replace Unsafe > access, not to manage the lifecycle of the memory you allocate (I > suppose you have your own abstractions for that). > > Is my understanding correct? > > P.S. note that even confined segments implement the Spliterator > interface as per recent changes, so they are amenable to parallel > processing (e.g. ForkJoin task). > > Maurizio > > On 31/03/2020 21:58, Antoine Chambille wrote: > >> Hi Maurizio, >> >> Thank you for the explanations and for your interest. >> >> In short, for the use case of an in-memory analytical database >> you need a specialized memory allocator to manage tables and >> indexes, and direct read/write access to the data, in pure Java, >> from many concurrent threads. It's ok if the memory segments are >> just fa?ades to the memory and don't actually manage it. >> >> To answer you questions directly: >> * you'd like this segment to have a known size >> ? -> that would be handy, the segment could be used directly >> without the need of a parent structure to hold the size. >> * you'd like this segment to be closeable, and, upon close() some >> well-known native function in your allocator should be invoked >> ? -> indeed that would be the right place to have a "cleaner". >> not mandatory though, it can be done externally. >> * you'd probably like this segment not to be confined >> ? -> absolutely! we need massively parallel data access for data >> loading (mount large datasets on demand in the cloud for short >> lived sessions) and for aggregations (interactive query times >> even on terabytes). >> >> >> >> In a bit more detail: >> Modern analytical databases are based on column stores, including >> the one we develop at ActiveViam that is called ActivePivot. The >> data is stored in binary columns, with a few indexing structures >> derived from hash tables and bitmap indexes. Those data >> structures are essentially made of big, long-lived arrays. To >> support very large datasets we allocate them off-heap, and we use >> the Java heap for aggregations and calculations. >> >> Currently in ActivePivot the off-heap memory is managed by a SLAB >> allocator, based on mmap, that supports highly concurrent >> allocations and deallocations. It's also NUMA aware, so that >> during aggregations Java threads process the data partitions on >> the same NUMA node. Java threads read and write the data using >> sun.misc.Unsafe. The data access performance is good and >> predictable, there are no boundary checks. But optimizations such >> as loop unrolling and vectorization that work on java arrays are >> lost with Unsafe. And in many cases (column scans, joins, >> aggregations) we could use the panama Vector API that we also >> anticipate eagerly, and that would not work with Unsafe. For >> those reasons, we would like to return to the ranks and rebase >> our data access code on memory segments. >> >> Thanks, >> -Antoine >> >> >> >> >> >> On Tue, Mar 31, 2020 at 12:36 PM Maurizio Cimadamore >> > > wrote: >> >> Hi Antoine, >> this is an interesting use case, and one I've been thinking >> quite a bit >> recently, as it comes up with native interop (see below). >> >> In general there are two categories of memory addresses: >> checked ones >> (the ones with a known segment attached to them) and >> unchecked ones (the >> ones with no segment attached to them, or the ones that have >> the special >> Nothing segment attached to them). >> >> Our policy is that addresses that are not backed by a segment >> _cannot_ >> be de-referenced. This is how we've been achieving safety for >> the basic >> foreign memory access use case that doesn't do native >> interop. (we're >> discussing as to whether that's the right default, based on >> some library >> porting activity we've been doing recently - but there >> doesn't seem >> clear evidence pointing one way or another). >> >> But there are cases where you might want to take an existing >> address, >> which is backed by no existing segment, and attach a segment >> to it - >> which will make it fully functional again - this operation is >> called >> 'rebasing an address': >> >> https://github.com/openjdk/panama-foreign/blob/foreign-abi/src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java#L83 >> >> So, with all this in mind, the goal to do what you want is to >> be able to >> (unsafely!) create a memory segment which has roughly the >> characteristics you need - e.g. given base address and given >> size. The >> native interop branch has a useful method for making these >> unchecked >> segments: >> >> https://github.com/openjdk/panama-foreign/blob/foreign-abi/src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/Foreign.java#L100 >> >> In other words, let's say you have a long address "addr" and >> that you >> want to create a segment around it: >> >> 1) create a memory address out of "addr" >> >> var base = MemoryAddress.ofLong(addr) >> >> 2) create an unchecked segment with right base address and size >> >> var segment = Foreign.ofNativeUnchecked(base, size) >> >> And voila, you now have a segment for your non-Java generated >> address. >> >> Few notes: >> >> * since the address has been generated by you, when you close >> this >> segment, the memory access API won't attempt to do anything >> fancy here >> (but it will make all the addresses based on that segment >> invalid); >> options we have discussed here is to add ways to attach >> custom 'cleanup' >> functions - I'm a bit skeptical of those, but I can be >> convinced given >> the right use cases >> >> * the segment will be confined on the calling thread - >> meaning that it >> can only be accessed and closed by that thread (as a regular >> segment) >> >> I think here we can do things to allow more flexibility - in >> principle >> there's some kind of 'unsafe native segment builder' lurking >> in here >> which lets you specify: >> >> * whether to confine to a thread or not >> * what the size of the segment is >> * what is the base address of the segment >> * whether the resulting segment is closeable (and, if so, if >> a custom >> close() action should be provided) >> >> My sense is that clients typically will _not_ need all this >> flexibility. >> For instance, in the native interop case there are only two >> cases which >> seem overwhelmingly common: >> >> * I have an unchecked address and I want to give it a size - >> but I don't >> want closeability, or confinement - just let me dereference >> it within >> some known bounds >> * I have an unchecked address which I know comes from some >> 'malloc' >> call, and I want to attach it a full blown segment, and I >> want the >> segment::close operation to call free() >> >> I guess time will tell whether we need N ad-hoc unsafe >> factories, or a >> more flexible builder-based solution. >> >> At this point I'd be very interested on what your >> requirements would be >> for the segment you create with this unsafe API. My educated >> guess would >> be that: >> >> * you'd like this segment to have a known size >> * you'd like this segment to be closeable, and, upon close() >> some >> well-known native function in your allocator should be invoked >> * you'd probably like this segment not to be confined >> >> Is my guess correct? >> >> Cheers >> Maurizio >> >> On 31/03/2020 09:06, Antoine Chambille wrote: >> > Hi everyone, >> > >> > At ActiveViam we are watching the foreign memory project >> with eager >> > anticipation. Thank you for the hard work, looking forward >> to it! >> > >> > One question related to our usage of off-heap memory: >> > >> > If some native memory already exists, what is the preferred >> way to expose >> > it as a memory segment? >> > >> > >> > Some details about our use case: we make an in-memory >> database that >> > delivers interactive queries to many users on terabyte >> datasets. The >> > database structures are allocated off-heap, but not with >> malloc which is a >> > bottleneck. We developed a highly concurrent, NUMA-Aware >> SLAB allocator. >> > This custom memory manager is written almost entirely in >> Java with just a >> > few system calls (anonymous mmap, munmap, madvise). >> > >> > Cheers, >> > -Antoine >> >> > > > -- > ActiveViam LinkedIn > > > Antoine Chambille > *Global Head of Research & Development * > > > Office +33 (0)1 40 13 91 00 > > YouTube > Blog > Twitter > location > ??46 > rue de l'Arbre Sec, 75001 Paris url > ??visit our website > From shravya.rukmannagari at intel.com Tue Mar 31 23:45:07 2020 From: shravya.rukmannagari at intel.com (Rukmannagari, Shravya) Date: Tue, 31 Mar 2020 23:45:07 +0000 Subject: Extract/Insert Java API Modifications for VectorAPI In-Reply-To: References: <9D397A8F-EEA9-4731-AA59-2760298302A1@oracle.com> Message-ID: Hi Paul, Please find the webrev below which leaves the existing definition of extract/insert for *MaxVector as is. http://cr.openjdk.java.net/~srukmannagar/VectorAPI_vectorExtractInsert/webrev.02/ Thanks, Shravya. -----Original Message----- From: Paul Sandoz Sent: Tuesday, March 31, 2020 2:48 PM To: Rukmannagari, Shravya Cc: panama-dev Subject: Re: Extract/Insert Java API Modifications for VectorAPI Can we leave the existing code in place for *MaxVector? Paul. > On Mar 31, 2020, at 2:06 PM, Rukmannagari, Shravya wrote: > > Hi Paul, > Thanks a lot for the review. There seems to be no easy solution to handle MaxVector with the current patch. We can drop this for now and handle it in the future updates. > > Thanks, > Shravya. > > -----Original Message----- > From: Paul Sandoz > Sent: Tuesday, March 31, 2020 1:04 PM > To: Rukmannagari, Shravya > Cc: panama-dev > Subject: Re: Extract/Insert Java API Modifications for VectorAPI > > Hi, > > Will the Java implementation fail for *MaxVector for lanes > 8? > > Reducing the horizontal line-length would help for review purposes. Perhaps place the lambda argument at the end on a new line. > > Paul. > >> On Mar 31, 2020, at 12:40 PM, Rukmannagari, Shravya wrote: >> >> Hi All, >> Please find the webrev below which modifies the definition of extract and insert. These are currently intrinsified on x86 platforms for a constant value idx, whereas the API provides a runtime variable to the function call. >> http://cr.openjdk.java.net/~srukmannagar/VectorAPI_vectorExtractInsert/webrev.01/ >> >> Thanks, >> Shravya. >> > From maurizio.cimadamore at oracle.com Tue Mar 31 23:58:54 2020 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Wed, 1 Apr 2020 00:58:54 +0100 Subject: Panama feedback In-Reply-To: <85fe3b38-f413-efd8-0ee9-2332ded9dfaf@gmail.com> References: <36b7a9cb-efad-cdd6-7e3d-75615de3f326@gmail.com> <237b2b6e-3aa7-3f4e-edab-0f16d68c8bb2@oracle.com> <85fe3b38-f413-efd8-0ee9-2332ded9dfaf@gmail.com> Message-ID: <61ed19f7-254b-7b74-ed53-eaadf54ab838@oracle.com> On 31/03/2020 23:30, Ty Young wrote: > > On 3/31/20 8:43 AM, Maurizio Cimadamore wrote: > > > > > >> >> I think here it would be nice to understand how to improve the >> current jextract API to make these kind of things more easily >> configurable. The main idea is that it should be possible for people >> to do this by just using a Java program (which you can then launch >> using the single source launcher) so the difference between tool and >> API client is fairly thin. >> > > I don't have too much interest in the jextract API, to be honest. > Making bindings is already so easy(at least for the basic stuff I'm > using it for) and my abstraction layer makes contextual, opinionated > bindings choices like interpreting a char pointer as an > MemoryArray. I don't know if a one-size-fits-all API can be done > since everyone is going to disagree on things like above: should a > char pointer just be a char pointer in Java or an array of bytes? > > > (That said, I wouldn't mind giving it a spin if some basic tutorial or > template code was provided.) > > > My understanding is that it works by generating plain-text class files > which is something I've never done before nor have the slightest clue > on how to make reliable. If there was a JDK API that could generate > classes reliably and with the least amount of boilerplate I might do it. What I was saying was that, if we exposed the visitor that takes care of the code generation, then you don't even need to bother generating sources or classes. You get a tree of declaration (as parsed from clang - but wrapped in a nicer API) and you can transform the tree, by pruning the parts you don't want, to form a new (smaller) tree. Then you can just call the code generator visitor, and the bits which "survived" the filtering will be generated. > > > > > >> >> So, what you want is creating a segment that has zero length. This >> seems very ad-hoc, I don't think I like the idea of adding that >> ability to the API, since a zero-length segment cannot really be >> closed, etc. >> >> I think what you want is some API on top to create an array given an >> element layout and size and which returns a MemoryAddress >> >> e.g. >> >> MemoryAddress allocateArray(MemoryLayout elementLayout, long size) { >> ??? if (size == 0L) return MemoryAddress.NULL >> ??? else { ... create segment and return base address ... } >> } >> > > I'd like a variant that accepts a SequenceLayout too, but otherwise yes! I'll think about this use case. To me, the "right" way to support this would be: 1) allow sequence layouts with zero elements, for completeness 2) when calling MemorySegment::allocateNative, if allocated size is zero, return the Nothing segment I'm not sure how high priority this use case is, but this is something we can keep in the back of our mind in case we encounter a similar problem again. Maurizio > > >> This test: >> >> https://github.com/openjdk/panama-foreign/blob/63d3ee093a881e92dd57b1090c3fb7ebec1c4c15/test/jdk/java/foreign/StdLibTest.java#L310 >> >> >> is using an upcall for the qsort comparator. Should contain all the >> relevant bits. > > > Thanks! > > >> >> >> Thanks >> Maurizio >>