From Yang.Zhang at arm.com Tue Apr 2 10:37:09 2019 From: Yang.Zhang at arm.com (Yang Zhang (Arm Technology China)) Date: Tue, 2 Apr 2019 10:37:09 +0000 Subject: [vector] RFR : Removed subAll() and few javadoc changes In-Reply-To: References: Message-ID: Hi Kishor Sorry I missed your latest patch. I find that there is a jmh build failure which results from the change of removing VectorHelper classes. I have created a JBS https://bugs.openjdk.java.net/browse/JDK-8221808. I think these VectorHelper classes are useful when someone wants to use some operations that are not intrinsification candidates for now. To make the api completeness, where should those helper functions go? Do you have other motivations to remove them? Regards, Yang -----Original Message----- From: Kharbas, Kishor Sent: Tuesday, March 19, 2019 9:14 AM To: Ningsheng Jian (Arm Technology China) ; Yang Zhang (Arm Technology China) ; panama-dev at openjdk.java.net Cc: nd ; Kharbas, Kishor Subject: RE: [vector] RFR : Removed subAll() and few javadoc changes Hi, I have a follow on patch making corrections to and adding missing Javadoc. This patch includes the changes in the earlier patch (below). Summary of changes - 1. Made Javadoc corrections to fix all doclint errors. 2. Remove VectorHelper classes. 3. Remove suball() Link: http://cr.openjdk.java.net/~kkharbas/vector-api/webrev.javadoc.00 Requesting a review. Regards, Kishor > -----Original Message----- > From: Ningsheng Jian (Arm Technology China) > [mailto:Ningsheng.Jian at arm.com] > Sent: Tuesday, February 26, 2019 2:38 AM > To: Kharbas, Kishor ; Yang Zhang (Arm > Technology China) ; panama-dev at openjdk.java.net > Cc: nd > Subject: Re: [vector] RFR : Removed subAll() and few javadoc changes > > Hi Kishor, > > On 02/26/2019 03:31 AM, Kharbas, Kishor wrote: > > Hi Yang, > > > >> -----Original Message----- > >> From: Yang Zhang (Arm Technology China) [mailto:Yang.Zhang at arm.com] > >> Sent: Monday, February 25, 2019 12:44 AM > >> To: Kharbas, Kishor ; panama- > >> dev at openjdk.java.net > >> Subject: RE: [vector] RFR : Removed subAll() and few javadoc > >> changes > >> > >> Hi Kishor > >> > >> Currently I'm implementing subAll() for AArch64. > >> Could you please help to explain: > >> 1. What's the motivation of removing subAll() ? > > > > As part of API review, we found that subAll() does not have a clear > semantic meaning. So it was decided to remove it. > > > > OK, thanks! I assume the "API review" work is public, and then we will > try not to miss any specific API change reviews. We all don't want any > API to be biased to any particular architecture. :-) > > >> 2. If subAll() should be removed, why not remove the middle-end > >> and the > >> x86 backend about subAll() ? > > > > Yes, the implementation of it should be removed too. I focused on > > api > changes so did not remove the other parts. > > > I think it's OK to do that in a separate patch. > > Thanks, > Ningsheng From vladimir.x.ivanov at oracle.com Tue Apr 2 18:13:19 2019 From: vladimir.x.ivanov at oracle.com (vladimir.x.ivanov at oracle.com) Date: Tue, 02 Apr 2019 18:13:19 +0000 Subject: hg: panama/dev: 8221634: CheckCastPP hinders vector box elimination Message-ID: <201904021813.x32IDKLP013851@aojmv0008.oracle.com> Changeset: 1bdca2cf660e Author: vlivanov Date: 2019-04-02 11:13 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/1bdca2cf660e 8221634: CheckCastPP hinders vector box elimination ! src/hotspot/share/opto/castnode.cpp From sundararajan.athijegannathan at oracle.com Wed Apr 3 03:36:48 2019 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Wed, 03 Apr 2019 09:06:48 +0530 Subject: [foreign] RFR 8221838: jextract generates non-existent type reference for typedef on typedef Message-ID: <5CA42A50.8080303@oracle.com> Please review. Bug: https://bugs.openjdk.java.net/browse/JDK-8221838 Webrev: https://cr.openjdk.java.net/~sundar/8221838/webrev.00/ Thanks, -Sundar From Joshua.Zhu at arm.com Wed Apr 3 10:03:08 2019 From: Joshua.Zhu at arm.com (Joshua Zhu (Arm Technology China)) Date: Wed, 3 Apr 2019 10:03:08 +0000 Subject: [vector] RFR 8221816: IndexOutOfBoundsException for fromArray/intoArray with unset mask lanes - was: RE: IndexOutOfBoundsException with unset mask lanes Message-ID: Hi, JBS: https://bugs.openjdk.java.net/browse/JDK-8221816 Webrev: http://cr.openjdk.java.net/~jzhu/vectorapi/8221816.OOB/webrev.00/ (This is a rebase of original webrev [1].) I have a patch to fix IndexOutOfBoundsException for fromArray/intoArray/gather/scatter API with unset mask lanes. To align with API doc, IndexOutOfBoundsException should only be thrown for any illegal vector lane index where the mask at lane is set. Also I write a template to generate test cases to cover this kind of exception testing. This patch has been verified by testing. [1] http://mail.openjdk.java.net/pipermail/panama-dev/2019-March/004812.html Best Regards, Joshua Zhu From Joshua.Zhu at arm.com Wed Apr 3 10:03:44 2019 From: Joshua.Zhu at arm.com (Joshua Zhu (Arm Technology China)) Date: Wed, 3 Apr 2019 10:03:44 +0000 Subject: [vector] RFR 8221817: No suitable species for indexMap of Gather/Scatter VectorAPI Message-ID: Hi, JBS: https://bugs.openjdk.java.net/browse/JDK-8221817 webrev: http://cr.openjdk.java.net/~jzhu/vectorapi/8221817.indexMask/webrev.00/ I have a patch that introduces indexMask to fix no suitable species for indexMap vectorization of Gather/Scatter VectorAPI in Long/DoubleMaxVector. Please see JBS for details. Besides indexMask, I also changed Long/DoubleMaxVector's gather/scatter test codes to avoid failure caused by IndexOutOfBoundsException for unset mask lanes [1]. This patch has been verified by testing. [1] https://bugs.openjdk.java.net/browse/JDK-8221816 Best Regards, Joshua From maurizio.cimadamore at oracle.com Wed Apr 3 10:16:31 2019 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Wed, 3 Apr 2019 11:16:31 +0100 Subject: [foreign] RFR 8221838: jextract generates non-existent type reference for typedef on typedef In-Reply-To: <5CA42A50.8080303@oracle.com> References: <5CA42A50.8080303@oracle.com> Message-ID: <88179e36-0f0e-d077-b138-70368f7235b5@oracle.com> Looks good! Maurizio On 03/04/2019 04:36, Sundararajan Athijegannathan wrote: > Please review. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8221838 > Webrev: https://cr.openjdk.java.net/~sundar/8221838/webrev.00/ > > Thanks, > -Sundar From maurizio.cimadamore at oracle.com Wed Apr 3 10:34:18 2019 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 03 Apr 2019 10:34:18 +0000 Subject: hg: panama/dev: Automatic merge with foreign Message-ID: <201904031034.x33AYJq7018252@aojmv0008.oracle.com> Changeset: 39cc1b0e0f2d Author: mcimadamore Date: 2019-04-03 12:34 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/39cc1b0e0f2d Automatic merge with foreign From sundararajan.athijegannathan at oracle.com Wed Apr 3 10:31:10 2019 From: sundararajan.athijegannathan at oracle.com (sundararajan.athijegannathan at oracle.com) Date: Wed, 03 Apr 2019 10:31:10 +0000 Subject: hg: panama/dev: 8221838: jextract generates non-existent type reference for typedef on typedef Message-ID: <201904031031.x33AVAj5017209@aojmv0008.oracle.com> Changeset: c988fcd00fc0 Author: sundar Date: 2019-04-03 16:06 +0530 URL: http://hg.openjdk.java.net/panama/dev/rev/c988fcd00fc0 8221838: jextract generates non-existent type reference for typedef on typedef Reviewed-by: mcimadamore ! src/jdk.jextract/share/classes/com/sun/tools/jextract/TypedefHandler.java + test/jdk/com/sun/tools/jextract/test8221838/StructTypedefsTest.java + test/jdk/com/sun/tools/jextract/test8221838/libStructtypedefs.c + test/jdk/com/sun/tools/jextract/test8221838/structtypedefs.h From maurizio.cimadamore at oracle.com Wed Apr 3 10:34:42 2019 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 03 Apr 2019 10:34:42 +0000 Subject: hg: panama/dev: Automatic merge with foreign Message-ID: <201904031034.x33AYhgH018616@aojmv0008.oracle.com> Changeset: 9dce1cda7e5a Author: mcimadamore Date: 2019-04-03 12:34 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/9dce1cda7e5a Automatic merge with foreign From sundararajan.athijegannathan at oracle.com Wed Apr 3 13:43:05 2019 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Wed, 03 Apr 2019 19:13:05 +0530 Subject: [foreign] RFR 8221911: jextract source generator misses NativeLocation annotation for struct interfaces Message-ID: <5CA4B869.7030607@oracle.com> Please review. Bug: https://bugs.openjdk.java.net/browse/JDK-8221911 Webrev: https://cr.openjdk.java.net/~sundar/8221911/webrev.00/index.html Thanks, -Sundar From maurizio.cimadamore at oracle.com Wed Apr 3 14:24:11 2019 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Wed, 3 Apr 2019 15:24:11 +0100 Subject: [foreign] RFR 8221911: jextract source generator misses NativeLocation annotation for struct interfaces In-Reply-To: <5CA4B869.7030607@oracle.com> References: <5CA4B869.7030607@oracle.com> Message-ID: <9d1d0176-72ce-69d9-7910-a64a5679b3cd@oracle.com> The nativeLocation change looks ok, but TypedefHandler seems to repeat the same changes as in your earlier patch? Maurizio On 03/04/2019 14:43, Sundararajan Athijegannathan wrote: > Please review. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8221911 > Webrev: https://cr.openjdk.java.net/~sundar/8221911/webrev.00/index.html > > Thanks, > -Sundar From sundararajan.athijegannathan at oracle.com Wed Apr 3 15:12:58 2019 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Wed, 03 Apr 2019 20:42:58 +0530 Subject: [foreign] RFR 8221911: jextract source generator misses NativeLocation annotation for struct interfaces In-Reply-To: <9d1d0176-72ce-69d9-7910-a64a5679b3cd@oracle.com> References: <5CA4B869.7030607@oracle.com> <9d1d0176-72ce-69d9-7910-a64a5679b3cd@oracle.com> Message-ID: <5CA4CD7A.7090601@oracle.com> Forgot to mention that. I refactored TypedefHandler code to use "flatMap" in first part (instead of forEach in earlier patch) and use comuteIfAbsent in the second part (to avoid containsKey check and if..else). -Sundar On 03/04/19, 7:54 PM, Maurizio Cimadamore wrote: > The nativeLocation change looks ok, but TypedefHandler seems to repeat > the same changes as in your earlier patch? > > Maurizio > > On 03/04/2019 14:43, Sundararajan Athijegannathan wrote: >> Please review. >> >> Bug: https://bugs.openjdk.java.net/browse/JDK-8221911 >> Webrev: https://cr.openjdk.java.net/~sundar/8221911/webrev.00/index.html >> >> Thanks, >> -Sundar From maurizio.cimadamore at oracle.com Wed Apr 3 15:38:53 2019 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Wed, 3 Apr 2019 16:38:53 +0100 Subject: [foreign] RFR 8221911: jextract source generator misses NativeLocation annotation for struct interfaces In-Reply-To: <5CA4CD7A.7090601@oracle.com> References: <5CA4B869.7030607@oracle.com> <9d1d0176-72ce-69d9-7910-a64a5679b3cd@oracle.com> <5CA4CD7A.7090601@oracle.com> Message-ID: <00520af5-596d-477e-1343-bac778fe6db9@oracle.com> Ah ok :-) That looks good. Maurizio On 03/04/2019 16:12, Sundararajan Athijegannathan wrote: > Forgot to mention that. I refactored TypedefHandler code to use > "flatMap" in first part (instead of forEach in earlier patch) and use > comuteIfAbsent in the second part (to avoid containsKey check and > if..else). > > -Sundar > > On 03/04/19, 7:54 PM, Maurizio Cimadamore wrote: >> The nativeLocation change looks ok, but TypedefHandler seems to >> repeat the same changes as in your earlier patch? >> >> Maurizio >> >> On 03/04/2019 14:43, Sundararajan Athijegannathan wrote: >>> Please review. >>> >>> Bug: https://bugs.openjdk.java.net/browse/JDK-8221911 >>> Webrev: >>> https://cr.openjdk.java.net/~sundar/8221911/webrev.00/index.html >>> >>> Thanks, >>> -Sundar From sundararajan.athijegannathan at oracle.com Wed Apr 3 15:53:12 2019 From: sundararajan.athijegannathan at oracle.com (sundararajan.athijegannathan at oracle.com) Date: Wed, 03 Apr 2019 15:53:12 +0000 Subject: hg: panama/dev: 8221911: jextract source generator misses NativeLocation annotation for struct interfaces Message-ID: <201904031553.x33FrCbx015765@aojmv0008.oracle.com> Changeset: 598c7de32482 Author: sundar Date: 2019-04-03 21:28 +0530 URL: http://hg.openjdk.java.net/panama/dev/rev/598c7de32482 8221911: jextract source generator misses NativeLocation annotation for struct interfaces Reviewed-by: mcimadamore ! src/jdk.jextract/share/classes/com/sun/tools/jextract/JavaSourceFactory.java ! src/jdk.jextract/share/classes/com/sun/tools/jextract/TypedefHandler.java ! test/jdk/com/sun/tools/jextract/test8221154/SrcGenTest.java From maurizio.cimadamore at oracle.com Wed Apr 3 15:59:09 2019 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 03 Apr 2019 15:59:09 +0000 Subject: hg: panama/dev: Automatic merge with foreign Message-ID: <201904031559.x33FxA7X021671@aojmv0008.oracle.com> Changeset: 8542aa31b848 Author: mcimadamore Date: 2019-04-03 17:58 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/8542aa31b848 Automatic merge with foreign From maurizio.cimadamore at oracle.com Wed Apr 3 15:59:32 2019 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 03 Apr 2019 15:59:32 +0000 Subject: hg: panama/dev: Automatic merge with foreign Message-ID: <201904031559.x33FxWKR022097@aojmv0008.oracle.com> Changeset: ccfafe96478e Author: mcimadamore Date: 2019-04-03 17:59 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/ccfafe96478e Automatic merge with foreign From sandhya.viswanathan at intel.com Wed Apr 3 17:42:17 2019 From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya) Date: Wed, 3 Apr 2019 17:42:17 +0000 Subject: [vector] RFR : Removed subAll() and few javadoc changes In-Reply-To: References: Message-ID: <02FCFB8477C4EF43A2AD8E0C60F3DA2BB1A983EF@FMSMSX126.amr.corp.intel.com> Hi Yang, Thanks for pointing out the jmh build failure issue. The helper class were removed as part of preparing for formal API review. Best Regards, Sandhya -----Original Message----- From: panama-dev [mailto:panama-dev-bounces at openjdk.java.net] On Behalf Of Yang Zhang (Arm Technology China) Sent: Tuesday, April 02, 2019 3:37 AM To: Kharbas, Kishor ; Ningsheng Jian (Arm Technology China) ; panama-dev at openjdk.java.net Cc: nd Subject: RE: [vector] RFR : Removed subAll() and few javadoc changes Hi Kishor Sorry I missed your latest patch. I find that there is a jmh build failure which results from the change of removing VectorHelper classes. I have created a JBS https://bugs.openjdk.java.net/browse/JDK-8221808. I think these VectorHelper classes are useful when someone wants to use some operations that are not intrinsification candidates for now. To make the api completeness, where should those helper functions go? Do you have other motivations to remove them? Regards, Yang -----Original Message----- From: Kharbas, Kishor Sent: Tuesday, March 19, 2019 9:14 AM To: Ningsheng Jian (Arm Technology China) ; Yang Zhang (Arm Technology China) ; panama-dev at openjdk.java.net Cc: nd ; Kharbas, Kishor Subject: RE: [vector] RFR : Removed subAll() and few javadoc changes Hi, I have a follow on patch making corrections to and adding missing Javadoc. This patch includes the changes in the earlier patch (below). Summary of changes - 1. Made Javadoc corrections to fix all doclint errors. 2. Remove VectorHelper classes. 3. Remove suball() Link: http://cr.openjdk.java.net/~kkharbas/vector-api/webrev.javadoc.00 Requesting a review. Regards, Kishor > -----Original Message----- > From: Ningsheng Jian (Arm Technology China) > [mailto:Ningsheng.Jian at arm.com] > Sent: Tuesday, February 26, 2019 2:38 AM > To: Kharbas, Kishor ; Yang Zhang (Arm > Technology China) ; panama-dev at openjdk.java.net > Cc: nd > Subject: Re: [vector] RFR : Removed subAll() and few javadoc changes > > Hi Kishor, > > On 02/26/2019 03:31 AM, Kharbas, Kishor wrote: > > Hi Yang, > > > >> -----Original Message----- > >> From: Yang Zhang (Arm Technology China) [mailto:Yang.Zhang at arm.com] > >> Sent: Monday, February 25, 2019 12:44 AM > >> To: Kharbas, Kishor ; panama- > >> dev at openjdk.java.net > >> Subject: RE: [vector] RFR : Removed subAll() and few javadoc > >> changes > >> > >> Hi Kishor > >> > >> Currently I'm implementing subAll() for AArch64. > >> Could you please help to explain: > >> 1. What's the motivation of removing subAll() ? > > > > As part of API review, we found that subAll() does not have a clear > semantic meaning. So it was decided to remove it. > > > > OK, thanks! I assume the "API review" work is public, and then we will > try not to miss any specific API change reviews. We all don't want any > API to be biased to any particular architecture. :-) > > >> 2. If subAll() should be removed, why not remove the middle-end > >> and the > >> x86 backend about subAll() ? > > > > Yes, the implementation of it should be removed too. I focused on > > api > changes so did not remove the other parts. > > > I think it's OK to do that in a separate patch. > > Thanks, > Ningsheng From vladimir.x.ivanov at oracle.com Wed Apr 3 19:25:36 2019 From: vladimir.x.ivanov at oracle.com (Vladimir Ivanov) Date: Wed, 3 Apr 2019 12:25:36 -0700 Subject: [vector] RFR 8221816: IndexOutOfBoundsException for fromArray/intoArray with unset mask lanes - was: RE: IndexOutOfBoundsException with unset mask lanes In-Reply-To: References: Message-ID: Hi Joshua, What kind of performance testing have you done on it? Having a conditional branch with forEach() call on slow path will cause problems to C2 if it can't prove access is always in-bounds and prune the slow path. Overall, I don't see an acceptable way to fix it purely on JDK side. I like how you optimize for common case with a stricter bounds check, but more work is needed to reliably turn slow path into an uncommon trap. + if (ax + LENGTH <= a.length) { VectorIntrinsics.checkIndex() has a more optimal implementation: it uses Objects.checkIndex() which internally relies on VM intrinsic. It looks promising to introduce a variant of VectorIntrinsics.checkIndex() which is used to guard a fast path and is annotated with a JIT-compiler hint (akin to java.lang.invoke.MethodHandleImpl.profileBoolean() [1], but without profiling logic) to override bytecode profiling info, so JIT always puts an uncommon trap on the false branch. Best regards, Vladimir Ivanov [1] http://hg.openjdk.java.net/panama/dev/file/ccfafe96478e/src/java.base/share/classes/java/lang/invoke/MethodHandleImpl.java#l695 On 03/04/2019 03:03, Joshua Zhu (Arm Technology China) wrote: > Hi, > > JBS: https://bugs.openjdk.java.net/browse/JDK-8221816 > Webrev: http://cr.openjdk.java.net/~jzhu/vectorapi/8221816.OOB/webrev.00/ > > (This is a rebase of original webrev [1].) > > I have a patch to fix IndexOutOfBoundsException for > fromArray/intoArray/gather/scatter API with unset mask lanes. > To align with API doc, IndexOutOfBoundsException should only be thrown for > any illegal vector lane index where the mask at lane is set. > > Also I write a template to generate test cases to cover this kind of exception testing. > > This patch has been verified by testing. > > [1] http://mail.openjdk.java.net/pipermail/panama-dev/2019-March/004812.html > > Best Regards, > Joshua Zhu > From sandhya.viswanathan at intel.com Wed Apr 3 20:14:19 2019 From: sandhya.viswanathan at intel.com (sandhya.viswanathan at intel.com) Date: Wed, 03 Apr 2019 20:14:19 +0000 Subject: hg: panama/dev: JDK-8221932: [vector] Add x86 optimized implementation for float/double Min/Max reduction Message-ID: <201904032014.x33KEKRS014118@aojmv0008.oracle.com> Changeset: 7869415891c8 Author: sviswanathan Date: 2019-04-03 13:12 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/7869415891c8 JDK-8221932: [vector] Add x86 optimized implementation for float/double Min/Max reduction Summary: Code gen support for x86 and corrected initial value in API implementation Reviewed-by: sviswanathan Contributed-by: jatin.bhateja at intel.com ! 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 ! src/hotspot/share/opto/vectornode.cpp ! 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/X-VectorBits.java.template ! test/jdk/jdk/incubator/vector/Double128VectorTests.java ! test/jdk/jdk/incubator/vector/Double256VectorTests.java ! test/jdk/jdk/incubator/vector/Double512VectorTests.java ! test/jdk/jdk/incubator/vector/Double64VectorTests.java ! test/jdk/jdk/incubator/vector/DoubleMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Float128VectorTests.java ! test/jdk/jdk/incubator/vector/Float256VectorTests.java ! test/jdk/jdk/incubator/vector/Float512VectorTests.java ! test/jdk/jdk/incubator/vector/Float64VectorTests.java ! test/jdk/jdk/incubator/vector/FloatMaxVectorTests.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Double128Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Double256Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Double512Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Double64Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/DoubleMaxVector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/DoubleScalar.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Float128Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Float256Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Float512Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Float64Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/FloatMaxVector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/FloatScalar.java ! test/jdk/jdk/incubator/vector/gen-template.sh ! test/jdk/jdk/incubator/vector/gen-tests.sh From Yang.Zhang at arm.com Thu Apr 4 02:23:43 2019 From: Yang.Zhang at arm.com (Yang Zhang (Arm Technology China)) Date: Thu, 4 Apr 2019 02:23:43 +0000 Subject: [vector] RFR : Removed subAll() and few javadoc changes In-Reply-To: <02FCFB8477C4EF43A2AD8E0C60F3DA2BB1A983EF@FMSMSX126.amr.corp.intel.com> References: <02FCFB8477C4EF43A2AD8E0C60F3DA2BB1A983EF@FMSMSX126.amr.corp.intel.com> Message-ID: Hi Sandhya OK, thanks for the clarification. But I think this doesn't answer my question why removing them clearly. >From my point of view, those helper functions are important to make the API completeness, right? Or are you going to move them (e.g. div, mod, map) into corresponding Vector classes? Regards, Yang -----Original Message----- From: Viswanathan, Sandhya Sent: Thursday, April 4, 2019 1:42 AM To: Yang Zhang (Arm Technology China) ; Kharbas, Kishor ; Ningsheng Jian (Arm Technology China) ; panama-dev at openjdk.java.net Cc: nd Subject: RE: [vector] RFR : Removed subAll() and few javadoc changes Hi Yang, Thanks for pointing out the jmh build failure issue. The helper class were removed as part of preparing for formal API review. Best Regards, Sandhya -----Original Message----- From: panama-dev [mailto:panama-dev-bounces at openjdk.java.net] On Behalf Of Yang Zhang (Arm Technology China) Sent: Tuesday, April 02, 2019 3:37 AM To: Kharbas, Kishor ; Ningsheng Jian (Arm Technology China) ; panama-dev at openjdk.java.net Cc: nd Subject: RE: [vector] RFR : Removed subAll() and few javadoc changes Hi Kishor Sorry I missed your latest patch. I find that there is a jmh build failure which results from the change of removing VectorHelper classes. I have created a JBS https://bugs.openjdk.java.net/browse/JDK-8221808. I think these VectorHelper classes are useful when someone wants to use some operations that are not intrinsification candidates for now. To make the api completeness, where should those helper functions go? Do you have other motivations to remove them? Regards, Yang -----Original Message----- From: Kharbas, Kishor Sent: Tuesday, March 19, 2019 9:14 AM To: Ningsheng Jian (Arm Technology China) ; Yang Zhang (Arm Technology China) ; panama-dev at openjdk.java.net Cc: nd ; Kharbas, Kishor Subject: RE: [vector] RFR : Removed subAll() and few javadoc changes Hi, I have a follow on patch making corrections to and adding missing Javadoc. This patch includes the changes in the earlier patch (below). Summary of changes - 1. Made Javadoc corrections to fix all doclint errors. 2. Remove VectorHelper classes. 3. Remove suball() Link: http://cr.openjdk.java.net/~kkharbas/vector-api/webrev.javadoc.00 Requesting a review. Regards, Kishor > -----Original Message----- > From: Ningsheng Jian (Arm Technology China) > [mailto:Ningsheng.Jian at arm.com] > Sent: Tuesday, February 26, 2019 2:38 AM > To: Kharbas, Kishor ; Yang Zhang (Arm > Technology China) ; panama-dev at openjdk.java.net > Cc: nd > Subject: Re: [vector] RFR : Removed subAll() and few javadoc changes > > Hi Kishor, > > On 02/26/2019 03:31 AM, Kharbas, Kishor wrote: > > Hi Yang, > > > >> -----Original Message----- > >> From: Yang Zhang (Arm Technology China) [mailto:Yang.Zhang at arm.com] > >> Sent: Monday, February 25, 2019 12:44 AM > >> To: Kharbas, Kishor ; panama- > >> dev at openjdk.java.net > >> Subject: RE: [vector] RFR : Removed subAll() and few javadoc > >> changes > >> > >> Hi Kishor > >> > >> Currently I'm implementing subAll() for AArch64. > >> Could you please help to explain: > >> 1. What's the motivation of removing subAll() ? > > > > As part of API review, we found that subAll() does not have a clear > semantic meaning. So it was decided to remove it. > > > > OK, thanks! I assume the "API review" work is public, and then we will > try not to miss any specific API change reviews. We all don't want any > API to be biased to any particular architecture. :-) > > >> 2. If subAll() should be removed, why not remove the middle-end > >> and the > >> x86 backend about subAll() ? > > > > Yes, the implementation of it should be removed too. I focused on > > api > changes so did not remove the other parts. > > > I think it's OK to do that in a separate patch. > > Thanks, > Ningsheng From sandhya.viswanathan at intel.com Thu Apr 4 03:16:20 2019 From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya) Date: Thu, 4 Apr 2019 03:16:20 +0000 Subject: [vector] RFR : Removed subAll() and few javadoc changes In-Reply-To: References: <02FCFB8477C4EF43A2AD8E0C60F3DA2BB1A983EF@FMSMSX126.amr.corp.intel.com> Message-ID: <02FCFB8477C4EF43A2AD8E0C60F3DA2BB1A988C5@FMSMSX126.amr.corp.intel.com> Hi Yang, The helper class methods were for future revision consideration and not targeted for the first revision. We are currently preparing to take the API for community review towards the first revision release and are working to get the API in a clean shape and create a formal Javadoc. At some point in near future we hope to create a separate branch for the first revision. After which we can bring the methods in the helper class back in for future revisions. Please bear with us in the meantime. Best Regards, Sandhya -----Original Message----- From: Yang Zhang (Arm Technology China) [mailto:Yang.Zhang at arm.com] Sent: Wednesday, April 03, 2019 7:24 PM To: Viswanathan, Sandhya ; Kharbas, Kishor ; Ningsheng Jian (Arm Technology China) ; panama-dev at openjdk.java.net Cc: nd Subject: RE: [vector] RFR : Removed subAll() and few javadoc changes Hi Sandhya OK, thanks for the clarification. But I think this doesn't answer my question why removing them clearly. >From my point of view, those helper functions are important to make the API completeness, right? Or are you going to move them (e.g. div, mod, map) into corresponding Vector classes? Regards, Yang -----Original Message----- From: Viswanathan, Sandhya Sent: Thursday, April 4, 2019 1:42 AM To: Yang Zhang (Arm Technology China) ; Kharbas, Kishor ; Ningsheng Jian (Arm Technology China) ; panama-dev at openjdk.java.net Cc: nd Subject: RE: [vector] RFR : Removed subAll() and few javadoc changes Hi Yang, Thanks for pointing out the jmh build failure issue. The helper class were removed as part of preparing for formal API review. Best Regards, Sandhya -----Original Message----- From: panama-dev [mailto:panama-dev-bounces at openjdk.java.net] On Behalf Of Yang Zhang (Arm Technology China) Sent: Tuesday, April 02, 2019 3:37 AM To: Kharbas, Kishor ; Ningsheng Jian (Arm Technology China) ; panama-dev at openjdk.java.net Cc: nd Subject: RE: [vector] RFR : Removed subAll() and few javadoc changes Hi Kishor Sorry I missed your latest patch. I find that there is a jmh build failure which results from the change of removing VectorHelper classes. I have created a JBS https://bugs.openjdk.java.net/browse/JDK-8221808. I think these VectorHelper classes are useful when someone wants to use some operations that are not intrinsification candidates for now. To make the api completeness, where should those helper functions go? Do you have other motivations to remove them? Regards, Yang -----Original Message----- From: Kharbas, Kishor Sent: Tuesday, March 19, 2019 9:14 AM To: Ningsheng Jian (Arm Technology China) ; Yang Zhang (Arm Technology China) ; panama-dev at openjdk.java.net Cc: nd ; Kharbas, Kishor Subject: RE: [vector] RFR : Removed subAll() and few javadoc changes Hi, I have a follow on patch making corrections to and adding missing Javadoc. This patch includes the changes in the earlier patch (below). Summary of changes - 1. Made Javadoc corrections to fix all doclint errors. 2. Remove VectorHelper classes. 3. Remove suball() Link: http://cr.openjdk.java.net/~kkharbas/vector-api/webrev.javadoc.00 Requesting a review. Regards, Kishor > -----Original Message----- > From: Ningsheng Jian (Arm Technology China) > [mailto:Ningsheng.Jian at arm.com] > Sent: Tuesday, February 26, 2019 2:38 AM > To: Kharbas, Kishor ; Yang Zhang (Arm > Technology China) ; panama-dev at openjdk.java.net > Cc: nd > Subject: Re: [vector] RFR : Removed subAll() and few javadoc changes > > Hi Kishor, > > On 02/26/2019 03:31 AM, Kharbas, Kishor wrote: > > Hi Yang, > > > >> -----Original Message----- > >> From: Yang Zhang (Arm Technology China) [mailto:Yang.Zhang at arm.com] > >> Sent: Monday, February 25, 2019 12:44 AM > >> To: Kharbas, Kishor ; panama- > >> dev at openjdk.java.net > >> Subject: RE: [vector] RFR : Removed subAll() and few javadoc > >> changes > >> > >> Hi Kishor > >> > >> Currently I'm implementing subAll() for AArch64. > >> Could you please help to explain: > >> 1. What's the motivation of removing subAll() ? > > > > As part of API review, we found that subAll() does not have a clear > semantic meaning. So it was decided to remove it. > > > > OK, thanks! I assume the "API review" work is public, and then we will > try not to miss any specific API change reviews. We all don't want any > API to be biased to any particular architecture. :-) > > >> 2. If subAll() should be removed, why not remove the middle-end > >> and the > >> x86 backend about subAll() ? > > > > Yes, the implementation of it should be removed too. I focused on > > api > changes so did not remove the other parts. > > > I think it's OK to do that in a separate patch. > > Thanks, > Ningsheng From sundararajan.athijegannathan at oracle.com Fri Apr 5 10:49:04 2019 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Fri, 05 Apr 2019 16:19:04 +0530 Subject: [foreign] RFR 8222025: jextract generates reference to underfined type for va_list Message-ID: <5CA732A0.6070905@oracle.com> Please review. Bug: https://bugs.openjdk.java.net/browse/JDK-8222025 Webrev: https://cr.openjdk.java.net/~sundar/8222025/webrev.00/ "builtin" type is detected by source file location having "null" path. For each builtin record type, we generate fake Trees and add to the list of declarations. A builtin header file ("builtin$.h") is used as a target header for such declarations. This ensures that we only generate one copy of builitin mappings & all builtin type references resolve to those. Thanks, -Sundar From maurizio.cimadamore at oracle.com Fri Apr 5 20:19:40 2019 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Fri, 5 Apr 2019 21:19:40 +0100 Subject: [foreign] RFR 8222025: jextract generates reference to underfined type for va_list In-Reply-To: <5CA732A0.6070905@oracle.com> References: <5CA732A0.6070905@oracle.com> Message-ID: Looks a very nice fix! This is also related to the issue that Jorn was trying to fix while ago re. incomplete array types, so maybe after this is pushed, we can revisit that topic. One question: this patch attempts to fix missing builtins only in case they appear in typedefs, right? That is ok for the va_list case, but I guess it doesn't address the more general problem where builtins are used directly (I assume not all of them will be typedef'ed) ? What would be the plan there? Maurizio On 05/04/2019 11:49, Sundararajan Athijegannathan wrote: > Please review. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8222025 > Webrev: https://cr.openjdk.java.net/~sundar/8222025/webrev.00/ > > "builtin" type is detected by source file location having "null" path. > For each builtin record type, we generate fake Trees and add to the > list of declarations. A builtin header file ("builtin$.h") is used as > a target header for such declarations. This ensures that we only > generate one copy of builitin mappings & all builtin type references > resolve to those. > > Thanks, > -Sundar From maurizio.cimadamore at oracle.com Fri Apr 5 20:21:07 2019 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Fri, 5 Apr 2019 21:21:07 +0100 Subject: [foreign] RFR 8222025: jextract generates reference to underfined type for va_list In-Reply-To: References: <5CA732A0.6070905@oracle.com> Message-ID: Also, forgot to add, maybe add a test where we show that using the builtin type will lead to an exception? Maurizio On 05/04/2019 21:19, Maurizio Cimadamore wrote: > Looks a very nice fix! This is also related to the issue that Jorn was > trying to fix while ago re. incomplete array types, so maybe after > this is pushed, we can revisit that topic. > > One question: this patch attempts to fix missing builtins only in case > they appear in typedefs, right? That is ok for the va_list case, but I > guess it doesn't address the more general problem where builtins are > used directly (I assume not all of them will be typedef'ed) ? What > would be the plan there? > > Maurizio > > > On 05/04/2019 11:49, Sundararajan Athijegannathan wrote: >> Please review. >> >> Bug: https://bugs.openjdk.java.net/browse/JDK-8222025 >> Webrev: https://cr.openjdk.java.net/~sundar/8222025/webrev.00/ >> >> "builtin" type is detected by source file location having "null" >> path. For each builtin record type, we generate fake Trees and add to >> the list of declarations. A builtin header file ("builtin$.h") is >> used as a target header for such declarations. This ensures that we >> only generate one copy of builitin mappings & all builtin type >> references resolve to those. >> >> Thanks, >> -Sundar From vladimir.x.ivanov at oracle.com Fri Apr 5 21:59:34 2019 From: vladimir.x.ivanov at oracle.com (Vladimir Ivanov) Date: Fri, 5 Apr 2019 14:59:34 -0700 Subject: CFV: New panama Committer: Jatin Bhateja In-Reply-To: References: Message-ID: <1b5267d2-8e5a-73c8-0b56-9c47dcf5c719@oracle.com> Vote: yes Best regards, Vladimir Ivanov On 05/04/2019 14:59, Vladimir Ivanov wrote: > I hereby nominate Jatin Bhateja (email: jatin.bhateja at intel.com) to > Committer role in Project Panama. From vladimir.x.ivanov at oracle.com Fri Apr 5 21:59:09 2019 From: vladimir.x.ivanov at oracle.com (Vladimir Ivanov) Date: Fri, 5 Apr 2019 14:59:09 -0700 Subject: CFV: New panama Committer: Jatin Bhateja Message-ID: I hereby nominate Jatin Bhateja (email: jatin.bhateja at intel.com) to Committer role in Project Panama. Jatin works on Vector API and x86 support for it at Intel (list of contributions [3]). Votes are due by April, 12, 2019. Only current panama Committers [1] are eligible to vote on this nomination. Votes must be cast in the open by replying to this mailing list. For Lazy Consensus voting instructions, see [2]. Best regards, Vladimir Ivanov [1] http://openjdk.java.net/census#panama [2] http://openjdk.java.net/projects#committer-vote [3] http://hg.openjdk.java.net/panama/dev/rev/7869415891c8 http://hg.openjdk.java.net/panama/dev/rev/d2995967041f From vladimir.x.ivanov at oracle.com Fri Apr 5 22:01:31 2019 From: vladimir.x.ivanov at oracle.com (Vladimir Ivanov) Date: Fri, 5 Apr 2019 15:01:31 -0700 Subject: Results: New panama Committer: Kishor Kharbas Message-ID: Voting for Kishor Kharbas (openjdk id: kkharbas) [1] is now closed. Yes: 3 Veto: 0 Abstain: 0 According to the Bylaws definition of Lazy Consensus, this is sufficient to approve the nomination. Best regards, Vladimir Ivanov [1] http://mail.openjdk.java.net/pipermail/panama-dev/2019-March/004990.html From sandhya.viswanathan at intel.com Fri Apr 5 22:30:57 2019 From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya) Date: Fri, 5 Apr 2019 22:30:57 +0000 Subject: CFV: New panama Committer: Jatin Bhateja In-Reply-To: <1b5267d2-8e5a-73c8-0b56-9c47dcf5c719@oracle.com> References: <1b5267d2-8e5a-73c8-0b56-9c47dcf5c719@oracle.com> Message-ID: <02FCFB8477C4EF43A2AD8E0C60F3DA2BB1A99739@FMSMSX126.amr.corp.intel.com> Vote: yes Best Regards, Sandhya -----Original Message----- From: panama-dev [mailto:panama-dev-bounces at openjdk.java.net] On Behalf Of Vladimir Ivanov Sent: Friday, April 05, 2019 3:00 PM To: 'panama-dev at openjdk.java.net' Subject: Re: CFV: New panama Committer: Jatin Bhateja Vote: yes Best regards, Vladimir Ivanov On 05/04/2019 14:59, Vladimir Ivanov wrote: > I hereby nominate Jatin Bhateja (email: jatin.bhateja at intel.com) to > Committer role in Project Panama. From maurizio.cimadamore at oracle.com Sat Apr 6 00:04:07 2019 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Sat, 6 Apr 2019 01:04:07 +0100 Subject: CFV: New panama Committer: Jatin Bhateja In-Reply-To: References: Message-ID: <841a55e2-641a-aa9c-c7c0-36313cc44a39@oracle.com> Vote: yes Maurizio On 05/04/2019 22:59, Vladimir Ivanov wrote: > I hereby nominate Jatin Bhateja (email: jatin.bhateja at intel.com) to > Committer role in Project Panama. > > Jatin works on Vector API and x86 support for it at Intel (list of > contributions [3]). > > Votes are due by April, 12, 2019. > > Only current panama Committers [1] are eligible to vote on this > nomination. Votes must be cast in the open by replying to this mailing > list. > > For Lazy Consensus voting instructions, see [2]. > > Best regards, > Vladimir Ivanov > > [1] http://openjdk.java.net/census#panama > [2] http://openjdk.java.net/projects#committer-vote > [3] http://hg.openjdk.java.net/panama/dev/rev/7869415891c8 > ??? http://hg.openjdk.java.net/panama/dev/rev/d2995967041f From sundararajan.athijegannathan at oracle.com Sat Apr 6 03:12:51 2019 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Sat, 06 Apr 2019 08:42:51 +0530 Subject: [foreign] RFR 8222025: jextract generates reference to underfined type for va_list In-Reply-To: References: <5CA732A0.6070905@oracle.com> Message-ID: <5CA81933.5010101@oracle.com> You're right. This fix addresses only typedefs that too that only builtin struct/union types only (for now). This seems to cover issues faced with compilation of generated sources. We could walk through every type usage in all Trees. Should we/I do that? Thanks, -Sundar On 06/04/19, 1:49 AM, Maurizio Cimadamore wrote: > Looks a very nice fix! This is also related to the issue that Jorn was > trying to fix while ago re. incomplete array types, so maybe after > this is pushed, we can revisit that topic. > > One question: this patch attempts to fix missing builtins only in case > they appear in typedefs, right? That is ok for the va_list case, but I > guess it doesn't address the more general problem where builtins are > used directly (I assume not all of them will be typedef'ed) ? What > would be the plan there? > > Maurizio > > > On 05/04/2019 11:49, Sundararajan Athijegannathan wrote: >> Please review. >> >> Bug: https://bugs.openjdk.java.net/browse/JDK-8222025 >> Webrev: https://cr.openjdk.java.net/~sundar/8222025/webrev.00/ >> >> "builtin" type is detected by source file location having "null" >> path. For each builtin record type, we generate fake Trees and add to >> the list of declarations. A builtin header file ("builtin$.h") is >> used as a target header for such declarations. This ensures that we >> only generate one copy of builitin mappings & all builtin type >> references resolve to those. >> >> Thanks, >> -Sundar From sundararajan.athijegannathan at oracle.com Sat Apr 6 03:17:14 2019 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Sat, 06 Apr 2019 08:47:14 +0530 Subject: [foreign] RFR 8222025: jextract generates reference to underfined type for va_list In-Reply-To: References: <5CA732A0.6070905@oracle.com> Message-ID: <5CA81A3A.2090803@oracle.com> No, in this case, I get the actual definition of the builtin record types -- and generate proper interfaces (as nested interfaces of clang_support.builtin$ class). To use resulting the __va_list_tag struct, user would have to fill gp_offset, fp_offset, reg_save_area etc. which is not possible (because caller frame would be java). In other words, we add fake Trees with the real clang Cursors with actual defs (only path is missing for which we use path of builtin$.h file) -Sundar On 06/04/19, 1:51 AM, Maurizio Cimadamore wrote: > Also, forgot to add, maybe add a test where we show that using the > builtin type will lead to an exception? > > Maurizio > > On 05/04/2019 21:19, Maurizio Cimadamore wrote: >> Looks a very nice fix! This is also related to the issue that Jorn >> was trying to fix while ago re. incomplete array types, so maybe >> after this is pushed, we can revisit that topic. >> >> One question: this patch attempts to fix missing builtins only in >> case they appear in typedefs, right? That is ok for the va_list case, >> but I guess it doesn't address the more general problem where >> builtins are used directly (I assume not all of them will be >> typedef'ed) ? What would be the plan there? >> >> Maurizio >> >> >> On 05/04/2019 11:49, Sundararajan Athijegannathan wrote: >>> Please review. >>> >>> Bug: https://bugs.openjdk.java.net/browse/JDK-8222025 >>> Webrev: https://cr.openjdk.java.net/~sundar/8222025/webrev.00/ >>> >>> "builtin" type is detected by source file location having "null" >>> path. For each builtin record type, we generate fake Trees and add >>> to the list of declarations. A builtin header file ("builtin$.h") is >>> used as a target header for such declarations. This ensures that we >>> only generate one copy of builitin mappings & all builtin type >>> references resolve to those. >>> >>> Thanks, >>> -Sundar From maurizio.cimadamore at oracle.com Mon Apr 8 09:42:19 2019 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Mon, 8 Apr 2019 10:42:19 +0100 Subject: [foreign] RFR 8222025: jextract generates reference to underfined type for va_list In-Reply-To: <5CA81933.5010101@oracle.com> References: <5CA732A0.6070905@oracle.com> <5CA81933.5010101@oracle.com> Message-ID: <3e2454bc-9665-7921-d5b1-d2a370cf6b57@oracle.com> On 06/04/2019 04:12, Sundararajan Athijegannathan wrote: > You're right. This fix addresses only typedefs that too that only > builtin struct/union types only (for now).? This seems to cover issues > faced with compilation of generated sources. We could walk through > every type usage in all Trees. Should we/I do that? Maybe as a followup change. The fix is good as is, but let's also try to fix the more general problem of a jextract run referring to symbols that aren't there. Maurizio > > Thanks, > -Sundar > > On 06/04/19, 1:49 AM, Maurizio Cimadamore wrote: >> Looks a very nice fix! This is also related to the issue that Jorn >> was trying to fix while ago re. incomplete array types, so maybe >> after this is pushed, we can revisit that topic. >> >> One question: this patch attempts to fix missing builtins only in >> case they appear in typedefs, right? That is ok for the va_list case, >> but I guess it doesn't address the more general problem where >> builtins are used directly (I assume not all of them will be >> typedef'ed) ? What would be the plan there? >> >> Maurizio >> >> >> On 05/04/2019 11:49, Sundararajan Athijegannathan wrote: >>> Please review. >>> >>> Bug: https://bugs.openjdk.java.net/browse/JDK-8222025 >>> Webrev: https://cr.openjdk.java.net/~sundar/8222025/webrev.00/ >>> >>> "builtin" type is detected by source file location having "null" >>> path. For each builtin record type, we generate fake Trees and add >>> to the list of declarations. A builtin header file ("builtin$.h") is >>> used as a target header for such declarations. This ensures that we >>> only generate one copy of builitin mappings & all builtin type >>> references resolve to those. >>> >>> Thanks, >>> -Sundar From sundararajan.athijegannathan at oracle.com Mon Apr 8 12:33:03 2019 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Mon, 08 Apr 2019 18:03:03 +0530 Subject: [foreign] RFR 8222025: jextract generates reference to underfined type for va_list In-Reply-To: <3e2454bc-9665-7921-d5b1-d2a370cf6b57@oracle.com> References: <5CA732A0.6070905@oracle.com> <5CA81933.5010101@oracle.com> <3e2454bc-9665-7921-d5b1-d2a370cf6b57@oracle.com> Message-ID: <5CAB3F7F.5090101@oracle.com> Updated: https://cr.openjdk.java.net/~sundar/8222025/webrev.01/ * Separate tree phase for builtin types handler * TypeDictionary was missing path null check and builtin header file * canonicalType() call was missing in Utils.java (for element type of an array) -Sundar On 08/04/19, 3:12 PM, Maurizio Cimadamore wrote: > > On 06/04/2019 04:12, Sundararajan Athijegannathan wrote: >> You're right. This fix addresses only typedefs that too that only >> builtin struct/union types only (for now). This seems to cover >> issues faced with compilation of generated sources. We could walk >> through every type usage in all Trees. Should we/I do that? > > Maybe as a followup change. The fix is good as is, but let's also try > to fix the more general problem of a jextract run referring to symbols > that aren't there. > > Maurizio > >> >> Thanks, >> -Sundar >> >> On 06/04/19, 1:49 AM, Maurizio Cimadamore wrote: >>> Looks a very nice fix! This is also related to the issue that Jorn >>> was trying to fix while ago re. incomplete array types, so maybe >>> after this is pushed, we can revisit that topic. >>> >>> One question: this patch attempts to fix missing builtins only in >>> case they appear in typedefs, right? That is ok for the va_list >>> case, but I guess it doesn't address the more general problem where >>> builtins are used directly (I assume not all of them will be >>> typedef'ed) ? What would be the plan there? >>> >>> Maurizio >>> >>> >>> On 05/04/2019 11:49, Sundararajan Athijegannathan wrote: >>>> Please review. >>>> >>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8222025 >>>> Webrev: https://cr.openjdk.java.net/~sundar/8222025/webrev.00/ >>>> >>>> "builtin" type is detected by source file location having "null" >>>> path. For each builtin record type, we generate fake Trees and add >>>> to the list of declarations. A builtin header file ("builtin$.h") >>>> is used as a target header for such declarations. This ensures that >>>> we only generate one copy of builitin mappings & all builtin type >>>> references resolve to those. >>>> >>>> Thanks, >>>> -Sundar From maurizio.cimadamore at oracle.com Mon Apr 8 12:31:39 2019 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Mon, 8 Apr 2019 13:31:39 +0100 Subject: [foreign] RFR 8222025: jextract generates reference to underfined type for va_list In-Reply-To: <5CAB3F7F.5090101@oracle.com> References: <5CA732A0.6070905@oracle.com> <5CA81933.5010101@oracle.com> <3e2454bc-9665-7921-d5b1-d2a370cf6b57@oracle.com> <5CAB3F7F.5090101@oracle.com> Message-ID: Looks good - what about calling canonicalType on function args/return type also? Maurizio On 08/04/2019 13:33, Sundararajan Athijegannathan wrote: > Updated: https://cr.openjdk.java.net/~sundar/8222025/webrev.01/ > > * Separate tree phase for builtin types handler > * TypeDictionary was missing path null check and builtin header file > * canonicalType() call was missing in Utils.java (for element type of > an array) > > -Sundar > > On 08/04/19, 3:12 PM, Maurizio Cimadamore wrote: >> >> On 06/04/2019 04:12, Sundararajan Athijegannathan wrote: >>> You're right. This fix addresses only typedefs that too that only >>> builtin struct/union types only (for now).? This seems to cover >>> issues faced with compilation of generated sources. We could walk >>> through every type usage in all Trees. Should we/I do that? >> >> Maybe as a followup change. The fix is good as is, but let's also try >> to fix the more general problem of a jextract run referring to >> symbols that aren't there. >> >> Maurizio >> >>> >>> Thanks, >>> -Sundar >>> >>> On 06/04/19, 1:49 AM, Maurizio Cimadamore wrote: >>>> Looks a very nice fix! This is also related to the issue that Jorn >>>> was trying to fix while ago re. incomplete array types, so maybe >>>> after this is pushed, we can revisit that topic. >>>> >>>> One question: this patch attempts to fix missing builtins only in >>>> case they appear in typedefs, right? That is ok for the va_list >>>> case, but I guess it doesn't address the more general problem where >>>> builtins are used directly (I assume not all of them will be >>>> typedef'ed) ? What would be the plan there? >>>> >>>> Maurizio >>>> >>>> >>>> On 05/04/2019 11:49, Sundararajan Athijegannathan wrote: >>>>> Please review. >>>>> >>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8222025 >>>>> Webrev: https://cr.openjdk.java.net/~sundar/8222025/webrev.00/ >>>>> >>>>> "builtin" type is detected by source file location having "null" >>>>> path. For each builtin record type, we generate fake Trees and add >>>>> to the list of declarations. A builtin header file ("builtin$.h") >>>>> is used as a target header for such declarations. This ensures >>>>> that we only generate one copy of builitin mappings & all builtin >>>>> type references resolve to those. >>>>> >>>>> Thanks, >>>>> -Sundar From sundararajan.athijegannathan at oracle.com Mon Apr 8 13:17:08 2019 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Mon, 08 Apr 2019 18:47:08 +0530 Subject: [foreign] RFR 8222025: jextract generates reference to underfined type for va_list In-Reply-To: References: <5CA732A0.6070905@oracle.com> <5CA81933.5010101@oracle.com> <3e2454bc-9665-7921-d5b1-d2a370cf6b57@oracle.com> <5CAB3F7F.5090101@oracle.com> Message-ID: <5CAB49D4.9080909@oracle.com> Thanks. Updated: https://cr.openjdk.java.net/~sundar/8222025/webrev.02/ Calling canonicalType() on argument now - should cover all cases. -Sundar On 08/04/19, 6:01 PM, Maurizio Cimadamore wrote: > Looks good - what about calling canonicalType on function args/return > type also? > > Maurizio > > On 08/04/2019 13:33, Sundararajan Athijegannathan wrote: >> Updated: https://cr.openjdk.java.net/~sundar/8222025/webrev.01/ >> >> * Separate tree phase for builtin types handler >> * TypeDictionary was missing path null check and builtin header file >> * canonicalType() call was missing in Utils.java (for element type of >> an array) >> >> -Sundar >> >> On 08/04/19, 3:12 PM, Maurizio Cimadamore wrote: >>> >>> On 06/04/2019 04:12, Sundararajan Athijegannathan wrote: >>>> You're right. This fix addresses only typedefs that too that only >>>> builtin struct/union types only (for now). This seems to cover >>>> issues faced with compilation of generated sources. We could walk >>>> through every type usage in all Trees. Should we/I do that? >>> >>> Maybe as a followup change. The fix is good as is, but let's also >>> try to fix the more general problem of a jextract run referring to >>> symbols that aren't there. >>> >>> Maurizio >>> >>>> >>>> Thanks, >>>> -Sundar >>>> >>>> On 06/04/19, 1:49 AM, Maurizio Cimadamore wrote: >>>>> Looks a very nice fix! This is also related to the issue that Jorn >>>>> was trying to fix while ago re. incomplete array types, so maybe >>>>> after this is pushed, we can revisit that topic. >>>>> >>>>> One question: this patch attempts to fix missing builtins only in >>>>> case they appear in typedefs, right? That is ok for the va_list >>>>> case, but I guess it doesn't address the more general problem >>>>> where builtins are used directly (I assume not all of them will be >>>>> typedef'ed) ? What would be the plan there? >>>>> >>>>> Maurizio >>>>> >>>>> >>>>> On 05/04/2019 11:49, Sundararajan Athijegannathan wrote: >>>>>> Please review. >>>>>> >>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8222025 >>>>>> Webrev: https://cr.openjdk.java.net/~sundar/8222025/webrev.00/ >>>>>> >>>>>> "builtin" type is detected by source file location having "null" >>>>>> path. For each builtin record type, we generate fake Trees and >>>>>> add to the list of declarations. A builtin header file >>>>>> ("builtin$.h") is used as a target header for such declarations. >>>>>> This ensures that we only generate one copy of builitin mappings >>>>>> & all builtin type references resolve to those. >>>>>> >>>>>> Thanks, >>>>>> -Sundar From maurizio.cimadamore at oracle.com Mon Apr 8 13:22:42 2019 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Mon, 8 Apr 2019 14:22:42 +0100 Subject: [foreign] RFR 8222025: jextract generates reference to underfined type for va_list In-Reply-To: <5CAB49D4.9080909@oracle.com> References: <5CA732A0.6070905@oracle.com> <5CA81933.5010101@oracle.com> <3e2454bc-9665-7921-d5b1-d2a370cf6b57@oracle.com> <5CAB3F7F.5090101@oracle.com> <5CAB49D4.9080909@oracle.com> Message-ID: This seems more robust. Thanks! Maurizio On 08/04/2019 14:17, Sundararajan Athijegannathan wrote: > Thanks. Updated: https://cr.openjdk.java.net/~sundar/8222025/webrev.02/ > > Calling canonicalType() on argument now - should cover all cases. > > -Sundar > > On 08/04/19, 6:01 PM, Maurizio Cimadamore wrote: >> Looks good - what about calling canonicalType on function args/return >> type also? >> >> Maurizio >> >> On 08/04/2019 13:33, Sundararajan Athijegannathan wrote: >>> Updated: https://cr.openjdk.java.net/~sundar/8222025/webrev.01/ >>> >>> * Separate tree phase for builtin types handler >>> * TypeDictionary was missing path null check and builtin header file >>> * canonicalType() call was missing in Utils.java (for element type >>> of an array) >>> >>> -Sundar >>> >>> On 08/04/19, 3:12 PM, Maurizio Cimadamore wrote: >>>> >>>> On 06/04/2019 04:12, Sundararajan Athijegannathan wrote: >>>>> You're right. This fix addresses only typedefs that too that only >>>>> builtin struct/union types only (for now).? This seems to cover >>>>> issues faced with compilation of generated sources. We could walk >>>>> through every type usage in all Trees. Should we/I do that? >>>> >>>> Maybe as a followup change. The fix is good as is, but let's also >>>> try to fix the more general problem of a jextract run referring to >>>> symbols that aren't there. >>>> >>>> Maurizio >>>> >>>>> >>>>> Thanks, >>>>> -Sundar >>>>> >>>>> On 06/04/19, 1:49 AM, Maurizio Cimadamore wrote: >>>>>> Looks a very nice fix! This is also related to the issue that >>>>>> Jorn was trying to fix while ago re. incomplete array types, so >>>>>> maybe after this is pushed, we can revisit that topic. >>>>>> >>>>>> One question: this patch attempts to fix missing builtins only in >>>>>> case they appear in typedefs, right? That is ok for the va_list >>>>>> case, but I guess it doesn't address the more general problem >>>>>> where builtins are used directly (I assume not all of them will >>>>>> be typedef'ed) ? What would be the plan there? >>>>>> >>>>>> Maurizio >>>>>> >>>>>> >>>>>> On 05/04/2019 11:49, Sundararajan Athijegannathan wrote: >>>>>>> Please review. >>>>>>> >>>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8222025 >>>>>>> Webrev: https://cr.openjdk.java.net/~sundar/8222025/webrev.00/ >>>>>>> >>>>>>> "builtin" type is detected by source file location having "null" >>>>>>> path. For each builtin record type, we generate fake Trees and >>>>>>> add to the list of declarations. A builtin header file >>>>>>> ("builtin$.h") is used as a target header for such declarations. >>>>>>> This ensures that we only generate one copy of builitin mappings >>>>>>> & all builtin type references resolve to those. >>>>>>> >>>>>>> Thanks, >>>>>>> -Sundar From Joshua.Zhu at arm.com Mon Apr 8 13:53:33 2019 From: Joshua.Zhu at arm.com (Joshua Zhu (Arm Technology China)) Date: Mon, 8 Apr 2019 13:53:33 +0000 Subject: [vector] RFR 8221816: IndexOutOfBoundsException for fromArray/intoArray with unset mask lanes - was: RE: IndexOutOfBoundsException with unset mask lanes In-Reply-To: References: Message-ID: Hi Vladimir, Sorry for late reply. I just came back from vacation. Your feedback is helpful for me. I will continue to improve this patch. Best Regards, Joshua > -----Original Message----- > From: Vladimir Ivanov > Sent: Thursday, April 4, 2019 3:26 AM > To: Joshua Zhu (Arm Technology China) ; panama- > dev at openjdk.java.net > Cc: nd > Subject: Re: [vector] RFR 8221816: IndexOutOfBoundsException for > fromArray/intoArray with unset mask lanes - was: RE: > IndexOutOfBoundsException with unset mask lanes > > Hi Joshua, > > What kind of performance testing have you done on it? > > Having a conditional branch with forEach() call on slow path will cause > problems to C2 if it can't prove access is always in-bounds and prune the > slow path. > > Overall, I don't see an acceptable way to fix it purely on JDK side. > I like how you optimize for common case with a stricter bounds check, but > more work is needed to reliably turn slow path into an uncommon trap. > > + if (ax + LENGTH <= a.length) { > > VectorIntrinsics.checkIndex() has a more optimal implementation: it uses > Objects.checkIndex() which internally relies on VM intrinsic. > > It looks promising to introduce a variant of > VectorIntrinsics.checkIndex() which is used to guard a fast path and is > annotated with a JIT-compiler hint (akin to > java.lang.invoke.MethodHandleImpl.profileBoolean() [1], but without > profiling logic) to override bytecode profiling info, so JIT always puts an > uncommon trap on the false branch. > > Best regards, > Vladimir Ivanov > > [1] > http://hg.openjdk.java.net/panama/dev/file/ccfafe96478e/src/java.base/sh > are/classes/java/lang/invoke/MethodHandleImpl.java#l695 > > On 03/04/2019 03:03, Joshua Zhu (Arm Technology China) wrote: > > Hi, > > > > JBS: https://bugs.openjdk.java.net/browse/JDK-8221816 > > Webrev: > > http://cr.openjdk.java.net/~jzhu/vectorapi/8221816.OOB/webrev.00/ > > > > (This is a rebase of original webrev [1].) > > > > I have a patch to fix IndexOutOfBoundsException for > > fromArray/intoArray/gather/scatter API with unset mask lanes. > > To align with API doc, IndexOutOfBoundsException should only be thrown > > for any illegal vector lane index where the mask at lane is set. > > > > Also I write a template to generate test cases to cover this kind of exception > testing. > > > > This patch has been verified by testing. > > > > [1] > > http://mail.openjdk.java.net/pipermail/panama-dev/2019- > March/004812.ht > > ml > > > > Best Regards, > > Joshua Zhu > > From sundararajan.athijegannathan at oracle.com Mon Apr 8 14:40:44 2019 From: sundararajan.athijegannathan at oracle.com (sundararajan.athijegannathan at oracle.com) Date: Mon, 08 Apr 2019 14:40:44 +0000 Subject: hg: panama/dev: 8222025: jextract generates reference to underfined type for va_list Message-ID: <201904081440.x38EejQH008443@aojmv0008.oracle.com> Changeset: d6f2bf38b95b Author: sundar Date: 2019-04-08 20:15 +0530 URL: http://hg.openjdk.java.net/panama/dev/rev/d6f2bf38b95b 8222025: jextract generates reference to underfined type for va_list Reviewed-by: mcimadamore ! make/copy/Copy-jdk.jextract.gmk ! src/jdk.jextract/share/classes/com/sun/tools/jextract/AsmCodeFactory.java + src/jdk.jextract/share/classes/com/sun/tools/jextract/BuiltinTypesHandler.java ! src/jdk.jextract/share/classes/com/sun/tools/jextract/Context.java ! src/jdk.jextract/share/classes/com/sun/tools/jextract/HeaderResolver.java ! src/jdk.jextract/share/classes/com/sun/tools/jextract/JavaSourceFactory.java ! src/jdk.jextract/share/classes/com/sun/tools/jextract/JextractTool.java ! src/jdk.jextract/share/classes/com/sun/tools/jextract/TypeDictionary.java ! src/jdk.jextract/share/classes/com/sun/tools/jextract/Utils.java + test/jdk/com/sun/tools/jextract/test8222025/ValistUseTest.java + test/jdk/com/sun/tools/jextract/test8222025/va_list_use.h From maurizio.cimadamore at oracle.com Mon Apr 8 14:46:12 2019 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 08 Apr 2019 14:46:12 +0000 Subject: hg: panama/dev: Automatic merge with foreign Message-ID: <201904081446.x38EkDuQ012785@aojmv0008.oracle.com> Changeset: 85aacaac9b3b Author: mcimadamore Date: 2019-04-08 16:46 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/85aacaac9b3b Automatic merge with foreign From maurizio.cimadamore at oracle.com Mon Apr 8 14:46:37 2019 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 08 Apr 2019 14:46:37 +0000 Subject: hg: panama/dev: Automatic merge with foreign Message-ID: <201904081446.x38Ekbhx013233@aojmv0008.oracle.com> Changeset: ff8363d4969e Author: mcimadamore Date: 2019-04-08 16:46 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/ff8363d4969e Automatic merge with foreign From sundararajan.athijegannathan at oracle.com Tue Apr 9 15:55:42 2019 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Tue, 09 Apr 2019 21:25:42 +0530 Subject: [foreign] RFR 8221471: jextract source genarator generates non-compilable classes with naming clashes Message-ID: <5CACC07E.2050205@oracle.com> Please review. Bug: https://bugs.openjdk.java.net/browse/JDK-8221471 Webrev: https://cr.openjdk.java.net/~sundar/8221471/webrev.02/index.html Current naming scheme: Header interfaces are named as "foo". Static forwarder class is named as "foo_h" New naming scheme: Header interfaces are named as "foo_h". Static forwarder class is named as "foo_lib" Thanks, -Sundar From maurizio.cimadamore at oracle.com Tue Apr 9 16:20:04 2019 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Tue, 9 Apr 2019 17:20:04 +0100 Subject: [foreign] RFR 8221471: jextract source genarator generates non-compilable classes with naming clashes In-Reply-To: <5CACC07E.2050205@oracle.com> References: <5CACC07E.2050205@oracle.com> Message-ID: <828aa73d-1e17-bec3-7306-770a33f1af9b@oracle.com> Looks good! A multi-platform test run is probably better here :-) Maurizio On 09/04/2019 16:55, Sundararajan Athijegannathan wrote: > Please review. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8221471 > Webrev: https://cr.openjdk.java.net/~sundar/8221471/webrev.02/index.html > > Current naming scheme: Header interfaces are named as "foo". Static > forwarder class is named as "foo_h" > New naming scheme: Header interfaces are named as "foo_h". Static > forwarder class is named as "foo_lib" > > Thanks, > -Sundar From jbvernee at xs4all.nl Tue Apr 9 17:37:04 2019 From: jbvernee at xs4all.nl (Jorn Vernee) Date: Tue, 09 Apr 2019 19:37:04 +0200 Subject: [foreign] RFR 8221471: jextract source genarator generates non-compilable classes with naming clashes In-Reply-To: <828aa73d-1e17-bec3-7306-770a33f1af9b@oracle.com> References: <5CACC07E.2050205@oracle.com> <828aa73d-1e17-bec3-7306-770a33f1af9b@oracle.com> Message-ID: <19adeb57e86a2fa6d2a0fea0c75679a1@xs4all.nl> Windows has some failures, seemingly from to va_list patch. 1.) small typo in IncompleArrayTest (for the Windows-only case): - assertNotNull(loader.loadClass(headerInterfaceName("incompleteArray3i.h"))); + assertNotNull(loader.loadClass(headerInterfaceName("incompleteArray3.h"))); 2.) ValistUseTest itself fails. It looks like the builtin$.h header is missing from src/jdk.jextract/share/conf for some reason [1], I guess it got dropped from the push by accident? But, after I added that the test still failed. I manually ran jextract on the test header, which works. The generated method uses Pointer for the va_list, so it looks like the backing impl is different on Windows, and there's no need for jextract to generate the __va_list_tag struct in clang_support.builtin$_h that the test is checking for, so the test fails. Could go with adding `@requires os.family != "windows"` to ValistUseTest for that. After those 2 fixes the tests are all green on my machine :) Cheers, Jorn [1] : http://hg.openjdk.java.net/panama/dev/file/d6f2bf38b95b/src/jdk.jextract/share Maurizio Cimadamore schreef op 2019-04-09 18:20: > Looks good! > > A multi-platform test run is probably better here :-) > > Maurizio > > On 09/04/2019 16:55, Sundararajan Athijegannathan wrote: >> Please review. >> >> Bug: https://bugs.openjdk.java.net/browse/JDK-8221471 >> Webrev: >> https://cr.openjdk.java.net/~sundar/8221471/webrev.02/index.html >> >> Current naming scheme: Header interfaces are named as "foo". Static >> forwarder class is named as "foo_h" >> New naming scheme: Header interfaces are named as "foo_h". Static >> forwarder class is named as "foo_lib" >> >> Thanks, >> -Sundar From kishor.kharbas at intel.com Tue Apr 9 20:40:51 2019 From: kishor.kharbas at intel.com (Kharbas, Kishor) Date: Tue, 9 Apr 2019 20:40:51 +0000 Subject: [vector] Vector API -- alignment with value types In-Reply-To: <02FCFB8477C4EF43A2AD8E0C60F3DA2BB1A781D5@FMSMSX126.amr.corp.intel.com> References: <5745a703-c239-8487-6835-7c1aadd54d0f@oracle.com> <02FCFB8477C4EF43A2AD8E0C60F3DA2BB1A58BF0@FMSMSX126.amr.corp.intel.com> <88bea748-2ae8-15f7-7308-e36fcd020f4f@oracle.com> <08F0B03C-2194-4A75-B9CC-D4F7F3982848@oracle.com> <53aab533-b532-0fbf-1da1-4df24e2c0455@oracle.com> <5BE7C5FA-D5D7-4C01-9DB5-F1234A9E560E@oracle.com> <5555f171-83fb-536e-3fc0-323ec73d0567@oracle.com> <02FCFB8477C4EF43A2AD8E0C60F3DA2BB1A71A32@FMSMSX126.amr.corp.intel.com> <02FCFB8477C4EF43A2AD8E0C60F3DA2BB1A781D5@FMSMSX126.amr.corp.intel.com> Message-ID: Hi, Brian and I have made further changes to Sandhya's patch towards making the api amenable to value types and also simplify the api. Summary of changes are, 1. Change the species hierarchy, essentially making it flatter. We removed definition of XxxNnnSpecies classes (e.g. Float256Species). 2. Removed the only remaining public method in XxxSpecies after Sandhya's patch (zero()). XxxVector already defines zero() which can be used. 3. Since XxxSpecies does not have any more public methods, it is made package private. User accessible Species class is Vector.Species. Static constants in XxxVector are now of type Species and can be accessed directly by users. The api methods which took XxxSpecies as input have been changed to take Species. 4. Modified jtreg tests and performance benchmarks to work with the changes. Tests continue to pass and made sure intrinification continues to happen. (Added @Stable annotation to static final fields (example, AbstractSpecies.boxType) which replaced constants return by say Float256Species.boxType()) Webrev : http://cr.openjdk.java.net/~kkharbas/vector-api/species_refactoring-phase2/webrev-phase2.01/ Java-doc : http://cr.openjdk.java.net/~kkharbas/vector-api/species_refactoring-phase2/webrev_phase-2.JavaDoc.01/jdk.incubator.vector/module-summary.html Please let me know whether the changes look ok to be pushed. Thanks, Kishor > -----Original Message----- > From: panama-dev [mailto:panama-dev-bounces at openjdk.java.net] On > Behalf Of Viswanathan, Sandhya > Sent: Wednesday, March 6, 2019 11:37 AM > To: Brian Goetz > Cc: panama-dev at openjdk.java.net > Subject: RE: [vector] Vector API -- alignment with value types > > > I have enclosed below the webrev which moves the rest of the identified > methods away from Species, namely (broadcast, random, scalars, single, > cast(Mask), cast(shuffle)): > http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/Brian/zero_phas > e2/ > > All the tests continue to pass with these changes. > > Please let me know if this looks ok and if I can go ahead and push these > changes. > > Also looking for advice on next steps to get ready for API review. > > Best Regards, > Sandhya > > > -----Original Message----- > From: Brian Goetz [mailto:brian.goetz at oracle.com] > Sent: Friday, February 22, 2019 8:39 AM > To: Viswanathan, Sandhya > Cc: Vladimir Ivanov ; John Rose > ; panama-dev at openjdk.java.net > Subject: Re: [vector] Vector API -- alignment with value types > > This is looking good! > > Assuming we still like this direction (I do), the next step is to do the same > trick with Species.cast(Mask) and Species.cast(Shuffle), which will leave > Species with just the most basic methods: > > - data accessors > - zero (which eventually becomes a data accessor for a cached vector value) > - static factories for species > > And then, do the same with the hand-specialized methods in the specialized > Species, such as the following in ShortVector: > > - broadcast(short) > - single(short) > - random() > - scalars() > > (which is just more of the same trick). Then, we?re in a position to do the big > collapsing of Species we want to get to, where we turn Species into an > interface, and {Int,Long,Short,Float,Double}Species into enums. > > At this point, Species is now more ?data? than ?behavior?. To complete the > task of making species nearly invisible, we can add overloads of the static > methods we migrated from Species to XxxVector that do _not_ take a > leading species argument, and which default to the preferred species for > that type. Then most species-agnostic code can just do things like > > IntVector.zero() > IntVector.fromArray(?) > > and just operate on those. > > At that point, I think this transform is complete, and the Species objects are > ready to become values when we have values. > > Then we can talk about how Vector objects become values too! > > > > > On Feb 18, 2019, at 11:53 AM, Viswanathan, Sandhya > wrote: > > > > > > Please find below the updated webrev where the fromArray methods are > moved from Species to XxxVector: > > http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/Brian/zero/w > > ebrev.01/ > > > > The tests and benchmark directories are also updated accordingly. All the > tests continue to pass with this webrev. > > > > In this webrev, I have also made the change suggested by Vladimir > regarding XxxVector.zero() method. > > > > Your review and feedback is welcome. > > > > After this the following public methods remain on Species and > $Type$Species: > > public abstract Class elementType(); > > public abstract int elementSize(); > > public abstract Shape shape(); > > public int length(); > > public int bitSize(); > > public static Vector.Species of(Class c, Shape s); > > public static Vector.Species ofPreferred(Class c); > > public abstract Vector zero(); > > > > public abstract Mask cast(Mask m); > > public abstract Shuffle cast(Shuffle s); > > > > public abstract $abstractvectortype$ broadcast($type$ e); > > public final $abstractvectortype$ single($type$ e); > > public $abstractvectortype$ random(); > > public abstract $abstractvectortype$ scalars($type$... es); The > > last four could be a candidate to move to XxxVector. Please let me know > your thoughts. > > > > Best Regards, > > Sandhya > > > > > > > > -----Original Message----- > > From: Vladimir Ivanov [mailto:vladimir.x.ivanov at oracle.com] > > Sent: Tuesday, February 12, 2019 10:23 AM > > To: Brian Goetz > > Cc: Viswanathan, Sandhya ; > > panama-dev at openjdk.java.net; John Rose > > Subject: Re: [vector] Vector API -- alignment with value types > > > > > >> Sure, for now. When vectors are values, we probably won?t need such > inspection? > > > > In general, I don't think it changes much with value types: special > > support on JIT-compiler side is still needed to strength-reduce vector > > construction operation. Otherwise, a memory load (even from a > > flattened > > representation) is needed to materialize a value unless JIT knows what > > the value is. > > > > But for particular case of Vector.zero() default value can be used > > (instead of caching). > > > > Best regards, > > Vladimir Ivanov > > > >>> On Feb 11, 2019, at 8:12 PM, Vladimir Ivanov > wrote: > >>> > >>> > >>>> I thought this might be the case; zeros are so common that we may > >>>> well want to just instantiate a zero vector as a species field, > >>>> which can be shared. Then we just expose ?species.zero()? as a > >>>> method (which ByteVector.zero() can delegate to.) > >>> > >>> FTR zero() is not cached, but backed by an intrinsic, because it's easier to > optimize: it doesn't require JIT-compiler to inspect the boxed value to be > able to use faster idiom when constructing vector value at runtime (e.g., xor > vs load). > >>> > >>> Best regards, > >>> Vladimir Ivanov > >>> > >>>> I didn?t want to do this in my first patch because I was mostly intent on > providing that we will get the same inlining with a more value-friendly API, > but this makes sense to me. > >>> > >>>>> On Feb 8, 2019, at 7:23 PM, Vladimir Ivanov > wrote: > >>>>> > >>>>> > >>>>>> http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/Brian/z > >>>>>> ero/webrev.00/ > >>>>> > >>>>> I have one comment on implementation: > >>>>> > >>>>> > src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteVector.jav > a: > >>>>> > >>>>> + public static ByteVector zero(ByteSpecies species) { > >>>>> + return VectorIntrinsics.broadcastCoerced((Class) > species.boxType(), byte.class, species.length(), > >>>>> + 0, > >>>>> + (z -> species.zero())); > >>>>> + } > >>>>> > >>>>> There's a slight change in behavior compared to "species.zero()" call > and that's because not all arguments to VectorIntrinsics.broadcastCoerced() > are guaranteed to be constant. > >>>>> > >>>>> If JIT can't devirtualize & inline "species.boxType()", intrinsification > fails and falls back to default implementation. > >>>>> > >>>>> In case of species.zero(), a failure to inline callee leads to a virtual call, > but callee contains intrinsified operation. > >>>>> > >>>>> Overall, I believe it shouldn't matter from performance perspective > right now, because a call breaks vector box elimination anyway, but in a > longer term it may become important. > >>>>> > >>>>> But I'd still prefer to see calls to VectorIntrinsics be fully specialized. In > the particular case I referred to, IMO it's better to just call species.zero(). > >>>>> > >>>>> Best regards, > >>>>> Vladimir Ivanov > >> From vladimir.x.ivanov at oracle.com Tue Apr 9 22:07:02 2019 From: vladimir.x.ivanov at oracle.com (Vladimir Ivanov) Date: Tue, 9 Apr 2019 15:07:02 -0700 Subject: [vector] Vector API -- alignment with value types In-Reply-To: References: <5745a703-c239-8487-6835-7c1aadd54d0f@oracle.com> <02FCFB8477C4EF43A2AD8E0C60F3DA2BB1A58BF0@FMSMSX126.amr.corp.intel.com> <88bea748-2ae8-15f7-7308-e36fcd020f4f@oracle.com> <08F0B03C-2194-4A75-B9CC-D4F7F3982848@oracle.com> <53aab533-b532-0fbf-1da1-4df24e2c0455@oracle.com> <5BE7C5FA-D5D7-4C01-9DB5-F1234A9E560E@oracle.com> <5555f171-83fb-536e-3fc0-323ec73d0567@oracle.com> <02FCFB8477C4EF43A2AD8E0C60F3DA2BB1A71A32@FMSMSX126.amr.corp.intel.com> <02FCFB8477C4EF43A2AD8E0C60F3DA2BB1A781D5@FMSMSX126.amr.corp.intel.com> Message-ID: Looks good! Best regards, Vladimir Ivanov On 09/04/2019 13:40, Kharbas, Kishor wrote: > Hi, > > Brian and I have made further changes to Sandhya's patch towards making the api amenable to value types and also simplify the api. Summary of changes are, > 1. Change the species hierarchy, essentially making it flatter. We removed definition of XxxNnnSpecies classes (e.g. Float256Species). > 2. Removed the only remaining public method in XxxSpecies after Sandhya's patch (zero()). XxxVector already defines zero() which can be used. > 3. Since XxxSpecies does not have any more public methods, it is made package private. User accessible Species class is Vector.Species. Static constants in XxxVector are now of type Species and can be accessed directly by users. The api methods which took XxxSpecies as input have been changed to take Species. > 4. Modified jtreg tests and performance benchmarks to work with the changes. Tests continue to pass and made sure intrinification continues to happen. (Added @Stable annotation to static final fields (example, AbstractSpecies.boxType) which replaced constants return by say Float256Species.boxType()) > > Webrev : http://cr.openjdk.java.net/~kkharbas/vector-api/species_refactoring-phase2/webrev-phase2.01/ > Java-doc : http://cr.openjdk.java.net/~kkharbas/vector-api/species_refactoring-phase2/webrev_phase-2.JavaDoc.01/jdk.incubator.vector/module-summary.html > > Please let me know whether the changes look ok to be pushed. > > Thanks, > Kishor > >> -----Original Message----- >> From: panama-dev [mailto:panama-dev-bounces at openjdk.java.net] On >> Behalf Of Viswanathan, Sandhya >> Sent: Wednesday, March 6, 2019 11:37 AM >> To: Brian Goetz >> Cc: panama-dev at openjdk.java.net >> Subject: RE: [vector] Vector API -- alignment with value types >> >> >> I have enclosed below the webrev which moves the rest of the identified >> methods away from Species, namely (broadcast, random, scalars, single, >> cast(Mask), cast(shuffle)): >> http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/Brian/zero_phas >> e2/ >> >> All the tests continue to pass with these changes. >> >> Please let me know if this looks ok and if I can go ahead and push these >> changes. >> >> Also looking for advice on next steps to get ready for API review. >> >> Best Regards, >> Sandhya >> >> >> -----Original Message----- >> From: Brian Goetz [mailto:brian.goetz at oracle.com] >> Sent: Friday, February 22, 2019 8:39 AM >> To: Viswanathan, Sandhya >> Cc: Vladimir Ivanov ; John Rose >> ; panama-dev at openjdk.java.net >> Subject: Re: [vector] Vector API -- alignment with value types >> >> This is looking good! >> >> Assuming we still like this direction (I do), the next step is to do the same >> trick with Species.cast(Mask) and Species.cast(Shuffle), which will leave >> Species with just the most basic methods: >> >> - data accessors >> - zero (which eventually becomes a data accessor for a cached vector value) >> - static factories for species >> >> And then, do the same with the hand-specialized methods in the specialized >> Species, such as the following in ShortVector: >> >> - broadcast(short) >> - single(short) >> - random() >> - scalars() >> >> (which is just more of the same trick). Then, we?re in a position to do the big >> collapsing of Species we want to get to, where we turn Species into an >> interface, and {Int,Long,Short,Float,Double}Species into enums. >> >> At this point, Species is now more ?data? than ?behavior?. To complete the >> task of making species nearly invisible, we can add overloads of the static >> methods we migrated from Species to XxxVector that do _not_ take a >> leading species argument, and which default to the preferred species for >> that type. Then most species-agnostic code can just do things like >> >> IntVector.zero() >> IntVector.fromArray(?) >> >> and just operate on those. >> >> At that point, I think this transform is complete, and the Species objects are >> ready to become values when we have values. >> >> Then we can talk about how Vector objects become values too! >> >> >> >>> On Feb 18, 2019, at 11:53 AM, Viswanathan, Sandhya >> wrote: >>> >>> >>> Please find below the updated webrev where the fromArray methods are >> moved from Species to XxxVector: >>> http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/Brian/zero/w >>> ebrev.01/ >>> >>> The tests and benchmark directories are also updated accordingly. All the >> tests continue to pass with this webrev. >>> >>> In this webrev, I have also made the change suggested by Vladimir >> regarding XxxVector.zero() method. >>> >>> Your review and feedback is welcome. >>> >>> After this the following public methods remain on Species and >> $Type$Species: >>> public abstract Class elementType(); >>> public abstract int elementSize(); >>> public abstract Shape shape(); >>> public int length(); >>> public int bitSize(); >>> public static Vector.Species of(Class c, Shape s); >>> public static Vector.Species ofPreferred(Class c); >>> public abstract Vector zero(); >>> >>> public abstract Mask cast(Mask m); >>> public abstract Shuffle cast(Shuffle s); >>> >>> public abstract $abstractvectortype$ broadcast($type$ e); >>> public final $abstractvectortype$ single($type$ e); >>> public $abstractvectortype$ random(); >>> public abstract $abstractvectortype$ scalars($type$... es); The >>> last four could be a candidate to move to XxxVector. Please let me know >> your thoughts. >>> >>> Best Regards, >>> Sandhya >>> >>> >>> >>> -----Original Message----- >>> From: Vladimir Ivanov [mailto:vladimir.x.ivanov at oracle.com] >>> Sent: Tuesday, February 12, 2019 10:23 AM >>> To: Brian Goetz >>> Cc: Viswanathan, Sandhya ; >>> panama-dev at openjdk.java.net; John Rose >>> Subject: Re: [vector] Vector API -- alignment with value types >>> >>> >>>> Sure, for now. When vectors are values, we probably won?t need such >> inspection? >>> >>> In general, I don't think it changes much with value types: special >>> support on JIT-compiler side is still needed to strength-reduce vector >>> construction operation. Otherwise, a memory load (even from a >>> flattened >>> representation) is needed to materialize a value unless JIT knows what >>> the value is. >>> >>> But for particular case of Vector.zero() default value can be used >>> (instead of caching). >>> >>> Best regards, >>> Vladimir Ivanov >>> >>>>> On Feb 11, 2019, at 8:12 PM, Vladimir Ivanov >> wrote: >>>>> >>>>> >>>>>> I thought this might be the case; zeros are so common that we may >>>>>> well want to just instantiate a zero vector as a species field, >>>>>> which can be shared. Then we just expose ?species.zero()? as a >>>>>> method (which ByteVector.zero() can delegate to.) >>>>> >>>>> FTR zero() is not cached, but backed by an intrinsic, because it's easier to >> optimize: it doesn't require JIT-compiler to inspect the boxed value to be >> able to use faster idiom when constructing vector value at runtime (e.g., xor >> vs load). >>>>> >>>>> Best regards, >>>>> Vladimir Ivanov >>>>> >>>>>> I didn?t want to do this in my first patch because I was mostly intent on >> providing that we will get the same inlining with a more value-friendly API, >> but this makes sense to me. >>>>> >>>>>>> On Feb 8, 2019, at 7:23 PM, Vladimir Ivanov >> wrote: >>>>>>> >>>>>>> >>>>>>>> http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/Brian/z >>>>>>>> ero/webrev.00/ >>>>>>> >>>>>>> I have one comment on implementation: >>>>>>> >>>>>>> >> src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteVector.jav >> a: >>>>>>> >>>>>>> + public static ByteVector zero(ByteSpecies species) { >>>>>>> + return VectorIntrinsics.broadcastCoerced((Class) >> species.boxType(), byte.class, species.length(), >>>>>>> + 0, >>>>>>> + (z -> species.zero())); >>>>>>> + } >>>>>>> >>>>>>> There's a slight change in behavior compared to "species.zero()" call >> and that's because not all arguments to VectorIntrinsics.broadcastCoerced() >> are guaranteed to be constant. >>>>>>> >>>>>>> If JIT can't devirtualize & inline "species.boxType()", intrinsification >> fails and falls back to default implementation. >>>>>>> >>>>>>> In case of species.zero(), a failure to inline callee leads to a virtual call, >> but callee contains intrinsified operation. >>>>>>> >>>>>>> Overall, I believe it shouldn't matter from performance perspective >> right now, because a call breaks vector box elimination anyway, but in a >> longer term it may become important. >>>>>>> >>>>>>> But I'd still prefer to see calls to VectorIntrinsics be fully specialized. In >> the particular case I referred to, IMO it's better to just call species.zero(). >>>>>>> >>>>>>> Best regards, >>>>>>> Vladimir Ivanov >>>> > From sundararajan.athijegannathan at oracle.com Wed Apr 10 03:01:43 2019 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Wed, 10 Apr 2019 08:31:43 +0530 Subject: [foreign] RFR 8221471: jextract source genarator generates non-compilable classes with naming clashes In-Reply-To: <19adeb57e86a2fa6d2a0fea0c75679a1@xs4all.nl> References: <5CACC07E.2050205@oracle.com> <828aa73d-1e17-bec3-7306-770a33f1af9b@oracle.com> <19adeb57e86a2fa6d2a0fea0c75679a1@xs4all.nl> Message-ID: <5CAD5C97.1020202@oracle.com> Thanks for catching these... Updated webrev: https://cr.openjdk.java.net/~sundar/8221471/webrev.03/index.html Responses to your review comments/test observations below.. On 09/04/19, 11:07 PM, Jorn Vernee wrote: > Windows has some failures, seemingly from to va_list patch. > > 1.) small typo in IncompleArrayTest (for the Windows-only case): > > - > assertNotNull(loader.loadClass(headerInterfaceName("incompleteArray3i.h"))); > + > assertNotNull(loader.loadClass(headerInterfaceName("incompleteArray3.h"))); The va_list patch does not seem to have touched this file. https://mail.openjdk.java.net/pipermail/panama-dev/2019-April/005125.html Damage has been done by even earlier patch! https://mail.openjdk.java.net/pipermail/panama-dev/2019-March/005076.html My mistake! I should have all "all platforms" tests. Thanks for catching this. > > 2.) ValistUseTest itself fails. It looks like the builtin$.h header is > missing from src/jdk.jextract/share/conf for some reason [1], I guess > it got dropped from the push by accident? But, after I added that the > test still failed. I missed pushing builtin$.h as part of the va_list patch :( Added it in the updated webrev above. > > I manually ran jextract on the test header, which works. The generated > method uses Pointer for the va_list, so it looks like the > backing impl is different on Windows, and there's no need for jextract > to generate the __va_list_tag struct in clang_support.builtin$_h that > the test is checking for, so the test fails. > > Could go with adding `@requires os.family != "windows"` to > ValistUseTest for that. As suggested, I made this test platform specific - va_list handling is indeed platform specific. > > After those 2 fixes the tests are all green on my machine :) > Thanks for testing on Windows! [and welcome back! :) ] My mach5 "all platforms testing" with updated patch is successful as well. Thanks, -Sundar > Cheers, > Jorn > > [1] : > http://hg.openjdk.java.net/panama/dev/file/d6f2bf38b95b/src/jdk.jextract/share > > Maurizio Cimadamore schreef op 2019-04-09 18:20: >> Looks good! >> >> A multi-platform test run is probably better here :-) >> >> Maurizio >> >> On 09/04/2019 16:55, Sundararajan Athijegannathan wrote: >>> Please review. >>> >>> Bug: https://bugs.openjdk.java.net/browse/JDK-8221471 >>> Webrev: >>> https://cr.openjdk.java.net/~sundar/8221471/webrev.02/index.html >>> >>> Current naming scheme: Header interfaces are named as "foo". Static >>> forwarder class is named as "foo_h" >>> New naming scheme: Header interfaces are named as "foo_h". Static >>> forwarder class is named as "foo_lib" >>> >>> Thanks, >>> -Sundar From maurizio.cimadamore at oracle.com Wed Apr 10 09:30:20 2019 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Wed, 10 Apr 2019 10:30:20 +0100 Subject: [foreign] RFR 8221471: jextract source genarator generates non-compilable classes with naming clashes In-Reply-To: <5CAD5C97.1020202@oracle.com> References: <5CACC07E.2050205@oracle.com> <828aa73d-1e17-bec3-7306-770a33f1af9b@oracle.com> <19adeb57e86a2fa6d2a0fea0c75679a1@xs4all.nl> <5CAD5C97.1020202@oracle.com> Message-ID: Looks good Maurizio On 10/04/2019 04:01, Sundararajan Athijegannathan wrote: > Thanks for catching these... > > Updated webrev: > https://cr.openjdk.java.net/~sundar/8221471/webrev.03/index.html > > Responses to your review comments/test observations below.. > > > On 09/04/19, 11:07 PM, Jorn Vernee wrote: >> Windows has some failures, seemingly from to va_list patch. >> >> 1.) small typo in IncompleArrayTest (for the Windows-only case): >> >> - >> assertNotNull(loader.loadClass(headerInterfaceName("incompleteArray3i.h"))); >> + >> assertNotNull(loader.loadClass(headerInterfaceName("incompleteArray3.h"))); > > > The va_list patch does not seem to have touched this file. > > https://mail.openjdk.java.net/pipermail/panama-dev/2019-April/005125.html > > Damage has been done by even earlier patch! > > https://mail.openjdk.java.net/pipermail/panama-dev/2019-March/005076.html > > My mistake! I should have all "all platforms" tests. Thanks for > catching this. > >> >> 2.) ValistUseTest itself fails. It looks like the builtin$.h header >> is missing from src/jdk.jextract/share/conf for some reason [1], I >> guess it got dropped from the push by accident? But, after I added >> that the test still failed. > > I missed pushing builtin$.h as part of the va_list patch :( Added it > in the updated webrev above. > >> >> I manually ran jextract on the test header, which works. The >> generated method uses Pointer for the va_list, so it looks like >> the backing impl is different on Windows, and there's no need for >> jextract to generate the __va_list_tag struct in >> clang_support.builtin$_h that the test is checking for, so the test >> fails. >> >> Could go with adding `@requires os.family != "windows"` to >> ValistUseTest for that. > > As suggested, I made this test platform specific - va_list handling is > indeed platform specific. > >> >> After those 2 fixes the tests are all green on my machine :) >> > Thanks for testing on Windows! [and welcome back! :) ] > > My mach5 "all platforms testing" with updated patch is successful as > well. > > Thanks, > -Sundar > >> Cheers, >> Jorn >> >> [1] : >> http://hg.openjdk.java.net/panama/dev/file/d6f2bf38b95b/src/jdk.jextract/share >> >> Maurizio Cimadamore schreef op 2019-04-09 18:20: >>> Looks good! >>> >>> A multi-platform test run is probably better here :-) >>> >>> Maurizio >>> >>> On 09/04/2019 16:55, Sundararajan Athijegannathan wrote: >>>> Please review. >>>> >>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8221471 >>>> Webrev: >>>> https://cr.openjdk.java.net/~sundar/8221471/webrev.02/index.html >>>> >>>> Current naming scheme: Header interfaces are named as "foo". Static >>>> forwarder class is named as "foo_h" >>>> New naming scheme: Header interfaces are named as "foo_h". Static >>>> forwarder class is named as "foo_lib" >>>> >>>> Thanks, >>>> -Sundar From sundararajan.athijegannathan at oracle.com Wed Apr 10 12:11:34 2019 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Wed, 10 Apr 2019 17:41:34 +0530 Subject: [foreign] RFR 8221471: jextract source genarator generates non-compilable classes with naming clashes In-Reply-To: References: <5CACC07E.2050205@oracle.com> <828aa73d-1e17-bec3-7306-770a33f1af9b@oracle.com> <19adeb57e86a2fa6d2a0fea0c75679a1@xs4all.nl> <5CAD5C97.1020202@oracle.com> Message-ID: <5CADDD76.1090604@oracle.com> Updated again for the Linux test failure (private email): https://cr.openjdk.java.net/~sundar/8221471/webrev.04/ Only incremental change is in https://cr.openjdk.java.net/~sundar/8221471/webrev.04/test/jdk/com/sun/tools/jextract/test8221838/StructTypedefsTest.java.sdiff.html Library name changed to "Structtypedefs" Please review. -Sundar On 10/04/19, 3:00 PM, Maurizio Cimadamore wrote: > Looks good > > Maurizio > > On 10/04/2019 04:01, Sundararajan Athijegannathan wrote: >> Thanks for catching these... >> >> Updated webrev: >> https://cr.openjdk.java.net/~sundar/8221471/webrev.03/index.html >> >> Responses to your review comments/test observations below.. >> >> >> On 09/04/19, 11:07 PM, Jorn Vernee wrote: >>> Windows has some failures, seemingly from to va_list patch. >>> >>> 1.) small typo in IncompleArrayTest (for the Windows-only case): >>> >>> - >>> assertNotNull(loader.loadClass(headerInterfaceName("incompleteArray3i.h"))); >>> + >>> assertNotNull(loader.loadClass(headerInterfaceName("incompleteArray3.h"))); >> >> >> The va_list patch does not seem to have touched this file. >> >> https://mail.openjdk.java.net/pipermail/panama-dev/2019-April/005125.html >> >> >> Damage has been done by even earlier patch! >> >> https://mail.openjdk.java.net/pipermail/panama-dev/2019-March/005076.html >> >> >> My mistake! I should have all "all platforms" tests. Thanks for >> catching this. >> >>> >>> 2.) ValistUseTest itself fails. It looks like the builtin$.h header >>> is missing from src/jdk.jextract/share/conf for some reason [1], I >>> guess it got dropped from the push by accident? But, after I added >>> that the test still failed. >> >> I missed pushing builtin$.h as part of the va_list patch :( Added it >> in the updated webrev above. >> >>> >>> I manually ran jextract on the test header, which works. The >>> generated method uses Pointer for the va_list, so it looks >>> like the backing impl is different on Windows, and there's no need >>> for jextract to generate the __va_list_tag struct in >>> clang_support.builtin$_h that the test is checking for, so the test >>> fails. >>> >>> Could go with adding `@requires os.family != "windows"` to >>> ValistUseTest for that. >> >> As suggested, I made this test platform specific - va_list handling >> is indeed platform specific. >> >>> >>> After those 2 fixes the tests are all green on my machine :) >>> >> Thanks for testing on Windows! [and welcome back! :) ] >> >> My mach5 "all platforms testing" with updated patch is successful as >> well. >> >> Thanks, >> -Sundar >> >>> Cheers, >>> Jorn >>> >>> [1] : >>> http://hg.openjdk.java.net/panama/dev/file/d6f2bf38b95b/src/jdk.jextract/share >>> >>> Maurizio Cimadamore schreef op 2019-04-09 18:20: >>>> Looks good! >>>> >>>> A multi-platform test run is probably better here :-) >>>> >>>> Maurizio >>>> >>>> On 09/04/2019 16:55, Sundararajan Athijegannathan wrote: >>>>> Please review. >>>>> >>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8221471 >>>>> Webrev: >>>>> https://cr.openjdk.java.net/~sundar/8221471/webrev.02/index.html >>>>> >>>>> Current naming scheme: Header interfaces are named as "foo". >>>>> Static forwarder class is named as "foo_h" >>>>> New naming scheme: Header interfaces are named as "foo_h". Static >>>>> forwarder class is named as "foo_lib" >>>>> >>>>> Thanks, >>>>> -Sundar From jbvernee at xs4all.nl Wed Apr 10 12:48:52 2019 From: jbvernee at xs4all.nl (Jorn Vernee) Date: Wed, 10 Apr 2019 14:48:52 +0200 Subject: [foreign] RFR 8221471: jextract source genarator generates non-compilable classes with naming clashes In-Reply-To: <5CADDD76.1090604@oracle.com> References: <5CACC07E.2050205@oracle.com> <828aa73d-1e17-bec3-7306-770a33f1af9b@oracle.com> <19adeb57e86a2fa6d2a0fea0c75679a1@xs4all.nl> <5CAD5C97.1020202@oracle.com> <5CADDD76.1090604@oracle.com> Message-ID: <51c50255e50f99c82b85705ed397d8e9@xs4all.nl> All good! Jorn Sundararajan Athijegannathan schreef op 2019-04-10 14:11: > Updated again for the Linux test failure (private email): > https://cr.openjdk.java.net/~sundar/8221471/webrev.04/ > > Only incremental change is in > > https://cr.openjdk.java.net/~sundar/8221471/webrev.04/test/jdk/com/sun/tools/jextract/test8221838/StructTypedefsTest.java.sdiff.html > > Library name changed to "Structtypedefs" > > Please review. > > -Sundar > > On 10/04/19, 3:00 PM, Maurizio Cimadamore wrote: >> Looks good >> >> Maurizio >> >> On 10/04/2019 04:01, Sundararajan Athijegannathan wrote: >>> Thanks for catching these... >>> >>> Updated webrev: >>> https://cr.openjdk.java.net/~sundar/8221471/webrev.03/index.html >>> >>> Responses to your review comments/test observations below.. >>> >>> >>> On 09/04/19, 11:07 PM, Jorn Vernee wrote: >>>> Windows has some failures, seemingly from to va_list patch. >>>> >>>> 1.) small typo in IncompleArrayTest (for the Windows-only case): >>>> >>>> - >>>> assertNotNull(loader.loadClass(headerInterfaceName("incompleteArray3i.h"))); >>>> + >>>> assertNotNull(loader.loadClass(headerInterfaceName("incompleteArray3.h"))); >>> >>> >>> The va_list patch does not seem to have touched this file. >>> >>> https://mail.openjdk.java.net/pipermail/panama-dev/2019-April/005125.html >>> Damage has been done by even earlier patch! >>> >>> https://mail.openjdk.java.net/pipermail/panama-dev/2019-March/005076.html >>> My mistake! I should have all "all platforms" tests. Thanks for >>> catching this. >>> >>>> >>>> 2.) ValistUseTest itself fails. It looks like the builtin$.h header >>>> is missing from src/jdk.jextract/share/conf for some reason [1], I >>>> guess it got dropped from the push by accident? But, after I added >>>> that the test still failed. >>> >>> I missed pushing builtin$.h as part of the va_list patch :( Added it >>> in the updated webrev above. >>> >>>> >>>> I manually ran jextract on the test header, which works. The >>>> generated method uses Pointer for the va_list, so it looks >>>> like the backing impl is different on Windows, and there's no need >>>> for jextract to generate the __va_list_tag struct in >>>> clang_support.builtin$_h that the test is checking for, so the test >>>> fails. >>>> >>>> Could go with adding `@requires os.family != "windows"` to >>>> ValistUseTest for that. >>> >>> As suggested, I made this test platform specific - va_list handling >>> is indeed platform specific. >>> >>>> >>>> After those 2 fixes the tests are all green on my machine :) >>>> >>> Thanks for testing on Windows! [and welcome back! :) ] >>> >>> My mach5 "all platforms testing" with updated patch is successful as >>> well. >>> >>> Thanks, >>> -Sundar >>> >>>> Cheers, >>>> Jorn >>>> >>>> [1] : >>>> http://hg.openjdk.java.net/panama/dev/file/d6f2bf38b95b/src/jdk.jextract/share >>>> >>>> Maurizio Cimadamore schreef op 2019-04-09 18:20: >>>>> Looks good! >>>>> >>>>> A multi-platform test run is probably better here :-) >>>>> >>>>> Maurizio >>>>> >>>>> On 09/04/2019 16:55, Sundararajan Athijegannathan wrote: >>>>>> Please review. >>>>>> >>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8221471 >>>>>> Webrev: >>>>>> https://cr.openjdk.java.net/~sundar/8221471/webrev.02/index.html >>>>>> >>>>>> Current naming scheme: Header interfaces are named as "foo". >>>>>> Static forwarder class is named as "foo_h" >>>>>> New naming scheme: Header interfaces are named as "foo_h". Static >>>>>> forwarder class is named as "foo_lib" >>>>>> >>>>>> Thanks, >>>>>> -Sundar From maurizio.cimadamore at oracle.com Wed Apr 10 12:51:43 2019 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Wed, 10 Apr 2019 13:51:43 +0100 Subject: [foreign] RFR 8221471: jextract source genarator generates non-compilable classes with naming clashes In-Reply-To: <51c50255e50f99c82b85705ed397d8e9@xs4all.nl> References: <5CACC07E.2050205@oracle.com> <828aa73d-1e17-bec3-7306-770a33f1af9b@oracle.com> <19adeb57e86a2fa6d2a0fea0c75679a1@xs4all.nl> <5CAD5C97.1020202@oracle.com> <5CADDD76.1090604@oracle.com> <51c50255e50f99c82b85705ed397d8e9@xs4all.nl> Message-ID: <23fc5f5c-ac01-9c29-ce38-1f9ff9f47bca@oracle.com> +1 Maurizio On 10/04/2019 13:48, Jorn Vernee wrote: > All good! > > Jorn > > Sundararajan Athijegannathan schreef op 2019-04-10 14:11: >> Updated again for the Linux test failure (private email): >> https://cr.openjdk.java.net/~sundar/8221471/webrev.04/ >> >> Only incremental change is in >> >> https://cr.openjdk.java.net/~sundar/8221471/webrev.04/test/jdk/com/sun/tools/jextract/test8221838/StructTypedefsTest.java.sdiff.html >> >> >> Library name changed to "Structtypedefs" >> >> Please review. >> >> -Sundar >> >> On 10/04/19, 3:00 PM, Maurizio Cimadamore wrote: >>> Looks good >>> >>> Maurizio >>> >>> On 10/04/2019 04:01, Sundararajan Athijegannathan wrote: >>>> Thanks for catching these... >>>> >>>> Updated webrev: >>>> https://cr.openjdk.java.net/~sundar/8221471/webrev.03/index.html >>>> >>>> Responses to your review comments/test observations below.. >>>> >>>> >>>> On 09/04/19, 11:07 PM, Jorn Vernee wrote: >>>>> Windows has some failures, seemingly from to va_list patch. >>>>> >>>>> 1.) small typo in IncompleArrayTest (for the Windows-only case): >>>>> >>>>> - >>>>> assertNotNull(loader.loadClass(headerInterfaceName("incompleteArray3i.h"))); >>>>> + >>>>> assertNotNull(loader.loadClass(headerInterfaceName("incompleteArray3.h"))); >>>> >>>> >>>> The va_list patch does not seem to have touched this file. >>>> >>>> https://mail.openjdk.java.net/pipermail/panama-dev/2019-April/005125.html >>>> Damage has been done by even earlier patch! >>>> >>>> https://mail.openjdk.java.net/pipermail/panama-dev/2019-March/005076.html >>>> My mistake! I should have all "all platforms" tests. Thanks for >>>> catching this. >>>> >>>>> >>>>> 2.) ValistUseTest itself fails. It looks like the builtin$.h >>>>> header is missing from src/jdk.jextract/share/conf for some reason >>>>> [1], I guess it got dropped from the push by accident? But, after >>>>> I added that the test still failed. >>>> >>>> I missed pushing builtin$.h as part of the va_list patch :( Added >>>> it in the updated webrev above. >>>> >>>>> >>>>> I manually ran jextract on the test header, which works. The >>>>> generated method uses Pointer for the va_list, so it looks >>>>> like the backing impl is different on Windows, and there's no need >>>>> for jextract to generate the __va_list_tag struct in >>>>> clang_support.builtin$_h that the test is checking for, so the >>>>> test fails. >>>>> >>>>> Could go with adding `@requires os.family != "windows"` to >>>>> ValistUseTest for that. >>>> >>>> As suggested, I made this test platform specific - va_list handling >>>> is indeed platform specific. >>>> >>>>> >>>>> After those 2 fixes the tests are all green on my machine :) >>>>> >>>> Thanks for testing on Windows! [and welcome back! :) ] >>>> >>>> My mach5 "all platforms testing" with updated patch is successful >>>> as well. >>>> >>>> Thanks, >>>> -Sundar >>>> >>>>> Cheers, >>>>> Jorn >>>>> >>>>> [1] : >>>>> http://hg.openjdk.java.net/panama/dev/file/d6f2bf38b95b/src/jdk.jextract/share >>>>> >>>>> Maurizio Cimadamore schreef op 2019-04-09 18:20: >>>>>> Looks good! >>>>>> >>>>>> A multi-platform test run is probably better here :-) >>>>>> >>>>>> Maurizio >>>>>> >>>>>> On 09/04/2019 16:55, Sundararajan Athijegannathan wrote: >>>>>>> Please review. >>>>>>> >>>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8221471 >>>>>>> Webrev: >>>>>>> https://cr.openjdk.java.net/~sundar/8221471/webrev.02/index.html >>>>>>> >>>>>>> Current naming scheme: Header interfaces are named as "foo". >>>>>>> Static forwarder class is named as "foo_h" >>>>>>> New naming scheme: Header interfaces are named as "foo_h". >>>>>>> Static forwarder class is named as "foo_lib" >>>>>>> >>>>>>> Thanks, >>>>>>> -Sundar From sundararajan.athijegannathan at oracle.com Wed Apr 10 12:54:22 2019 From: sundararajan.athijegannathan at oracle.com (sundararajan.athijegannathan at oracle.com) Date: Wed, 10 Apr 2019 12:54:22 +0000 Subject: hg: panama/dev: 8221471: jextract source genarator generates non-compilable classes with naming clashes Message-ID: <201904101254.x3ACsMAE005724@aojmv0008.oracle.com> Changeset: fd46cd549dd6 Author: sundar Date: 2019-04-10 18:29 +0530 URL: http://hg.openjdk.java.net/panama/dev/rev/fd46cd549dd6 8221471: jextract source genarator generates non-compilable classes with naming clashes Reviewed-by: mcimadamore ! doc/panama_foreign.md ! src/jdk.jextract/share/classes/com/sun/tools/jextract/HeaderResolver.java + src/jdk.jextract/share/conf/builtin$.h ! test/jdk/com/sun/tools/jextract/JextractToolRunner.java ! test/jdk/com/sun/tools/jextract/Runner.java - test/jdk/com/sun/tools/jextract/compare/TypedefAnonStruct.java + test/jdk/com/sun/tools/jextract/compare/TypedefAnonStruct_h.java - test/jdk/com/sun/tools/jextract/compare/bitfields.java + test/jdk/com/sun/tools/jextract/compare/bitfields_h.java - test/jdk/com/sun/tools/jextract/compare/globalFuncPointer.java + test/jdk/com/sun/tools/jextract/compare/globalFuncPointer_h.java - test/jdk/com/sun/tools/jextract/compare/pad.java + test/jdk/com/sun/tools/jextract/compare/pad_h.java - test/jdk/com/sun/tools/jextract/compare/recursive.java + test/jdk/com/sun/tools/jextract/compare/recursive_h.java - test/jdk/com/sun/tools/jextract/compare/simple.java + test/jdk/com/sun/tools/jextract/compare/simple_h.java - test/jdk/com/sun/tools/jextract/compare/windows/bitfields.java + test/jdk/com/sun/tools/jextract/compare/windows/bitfields_h.java - test/jdk/com/sun/tools/jextract/compare/windows/simple.java + test/jdk/com/sun/tools/jextract/compare/windows/simple_h.java ! test/jdk/com/sun/tools/jextract/complex/ComplexTest.java ! test/jdk/com/sun/tools/jextract/incompleteArrays/IncompleteArrayTest.java ! test/jdk/com/sun/tools/jextract/jclang-ffi/src/jdk/internal/clang/Cursor.java ! test/jdk/com/sun/tools/jextract/jclang-ffi/src/jdk/internal/clang/Index.java ! test/jdk/com/sun/tools/jextract/jclang-ffi/src/jdk/internal/clang/LibClang.java ! test/jdk/com/sun/tools/jextract/jclang-ffi/src/jdk/internal/clang/SourceLocation.java ! test/jdk/com/sun/tools/jextract/jclang-ffi/src/jdk/internal/clang/SourceRange.java ! test/jdk/com/sun/tools/jextract/jclang-ffi/src/jdk/internal/clang/TranslationUnit.java ! test/jdk/com/sun/tools/jextract/jclang-ffi/src/jdk/internal/clang/Type.java ! test/jdk/com/sun/tools/jextract/missing/MissingSymbolTest.java ! test/jdk/com/sun/tools/jextract/staticForwarder/StaticForwarderTest.java ! test/jdk/com/sun/tools/jextract/test8218679/StrGlobalsTest.java ! test/jdk/com/sun/tools/jextract/test8219194/VoidCastTest.java ! test/jdk/com/sun/tools/jextract/test8221838/StructTypedefsTest.java ! test/jdk/com/sun/tools/jextract/test8222025/ValistUseTest.java ! test/jdk/com/sun/tools/jextract/testArrayFuncParam/FuncArrayParamTest.java ! test/jdk/com/sun/tools/jextract/testEnum/LibEnumsTest.java ! test/jdk/com/sun/tools/jextract/testStruct/LibStructTest.java ! test/jdk/com/sun/tools/jextract/unresolved/TestResolve.java ! test/jdk/com/sun/tools/jextract/unresolved/TestResolveCrossHeader.java From maurizio.cimadamore at oracle.com Wed Apr 10 13:00:00 2019 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 10 Apr 2019 13:00:00 +0000 Subject: hg: panama/dev: Automatic merge with foreign Message-ID: <201904101300.x3AD01HM010851@aojmv0008.oracle.com> Changeset: 35218d8b9881 Author: mcimadamore Date: 2019-04-10 14:59 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/35218d8b9881 Automatic merge with foreign - test/jdk/com/sun/tools/jextract/compare/TypedefAnonStruct.java - test/jdk/com/sun/tools/jextract/compare/bitfields.java - test/jdk/com/sun/tools/jextract/compare/globalFuncPointer.java - test/jdk/com/sun/tools/jextract/compare/pad.java - test/jdk/com/sun/tools/jextract/compare/recursive.java - test/jdk/com/sun/tools/jextract/compare/simple.java - test/jdk/com/sun/tools/jextract/compare/windows/bitfields.java - test/jdk/com/sun/tools/jextract/compare/windows/simple.java From maurizio.cimadamore at oracle.com Wed Apr 10 12:59:37 2019 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 10 Apr 2019 12:59:37 +0000 Subject: hg: panama/dev: Automatic merge with foreign Message-ID: <201904101259.x3ACxbjh010356@aojmv0008.oracle.com> Changeset: 2e5f0a3492bc Author: mcimadamore Date: 2019-04-10 14:59 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/2e5f0a3492bc Automatic merge with foreign - test/jdk/com/sun/tools/jextract/compare/TypedefAnonStruct.java - test/jdk/com/sun/tools/jextract/compare/bitfields.java - test/jdk/com/sun/tools/jextract/compare/globalFuncPointer.java - test/jdk/com/sun/tools/jextract/compare/pad.java - test/jdk/com/sun/tools/jextract/compare/recursive.java - test/jdk/com/sun/tools/jextract/compare/simple.java - test/jdk/com/sun/tools/jextract/compare/windows/bitfields.java - test/jdk/com/sun/tools/jextract/compare/windows/simple.java From sundararajan.athijegannathan at oracle.com Wed Apr 10 14:18:28 2019 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Wed, 10 Apr 2019 19:48:28 +0530 Subject: [foreign] 8222274: jextract generated source for stdbool.h does not compile Message-ID: <5CADFB34.2050001@oracle.com> Please review. Bug: https://bugs.openjdk.java.net/browse/JDK-8222274 Webrev: https://cr.openjdk.java.net/~sundar/8222274/webrev.00/ Thanks, -Sundar From maurizio.cimadamore at oracle.com Wed Apr 10 14:17:19 2019 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Wed, 10 Apr 2019 15:17:19 +0100 Subject: [foreign] 8222274: jextract generated source for stdbool.h does not compile In-Reply-To: <5CADFB34.2050001@oracle.com> References: <5CADFB34.2050001@oracle.com> Message-ID: <448746d4-4b2f-c201-b214-c1095b7f2b0d@oracle.com> Looks good Maurizio On 10/04/2019 15:18, Sundararajan Athijegannathan wrote: > Please review. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8222274 > Webrev: https://cr.openjdk.java.net/~sundar/8222274/webrev.00/ > > Thanks, > -Sundar From sundararajan.athijegannathan at oracle.com Wed Apr 10 14:34:17 2019 From: sundararajan.athijegannathan at oracle.com (sundararajan.athijegannathan at oracle.com) Date: Wed, 10 Apr 2019 14:34:17 +0000 Subject: hg: panama/dev: 8222274: jextract generated source for stdbool.h does not compile Message-ID: <201904101434.x3AEYIU9005625@aojmv0008.oracle.com> Changeset: f09783d2b640 Author: sundar Date: 2019-04-10 20:09 +0530 URL: http://hg.openjdk.java.net/panama/dev/rev/f09783d2b640 8222274: jextract generated source for stdbool.h does not compile Reviewed-by: mcimadamore ! src/jdk.jextract/share/classes/com/sun/tools/jextract/AsmCodeFactory.java ! src/jdk.jextract/share/classes/com/sun/tools/jextract/AsmCodeFactoryExt.java ! src/jdk.jextract/share/classes/com/sun/tools/jextract/JavaSourceFactory.java ! src/jdk.jextract/share/classes/com/sun/tools/jextract/JavaSourceFactoryExt.java ! src/jdk.jextract/share/classes/com/sun/tools/jextract/Utils.java ! test/jdk/com/sun/tools/jextract/test8221154/SrcGenTest.java ! test/jdk/com/sun/tools/jextract/test8221154/srcgentest.h From maurizio.cimadamore at oracle.com Wed Apr 10 14:39:08 2019 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 10 Apr 2019 14:39:08 +0000 Subject: hg: panama/dev: Automatic merge with foreign Message-ID: <201904101439.x3AEd8fA008488@aojmv0008.oracle.com> Changeset: 243b72b2ab38 Author: mcimadamore Date: 2019-04-10 16:38 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/243b72b2ab38 Automatic merge with foreign From maurizio.cimadamore at oracle.com Wed Apr 10 14:39:33 2019 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 10 Apr 2019 14:39:33 +0000 Subject: hg: panama/dev: Automatic merge with foreign Message-ID: <201904101439.x3AEdXZH009020@aojmv0008.oracle.com> Changeset: fa2e9c39d939 Author: mcimadamore Date: 2019-04-10 16:39 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/fa2e9c39d939 Automatic merge with foreign From sundararajan.athijegannathan at oracle.com Wed Apr 10 17:02:20 2019 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Wed, 10 Apr 2019 22:32:20 +0530 Subject: [foreign] RFR 8222288: jextract generates unescaped String literals for macros Message-ID: <5CAE219C.6070208@oracle.com> Please review. Bug: https://bugs.openjdk.java.net/browse/JDK-8222288 Webrev: https://cr.openjdk.java.net/~sundar/8222288/webrev.00/ PS. Thanks to Maurizio for suggestion on javac source for 'source safe' String escape! Thanks, -Sundar From maurizio.cimadamore at oracle.com Wed Apr 10 17:05:26 2019 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Wed, 10 Apr 2019 18:05:26 +0100 Subject: [foreign] RFR 8222288: jextract generates unescaped String literals for macros In-Reply-To: <5CAE219C.6070208@oracle.com> References: <5CAE219C.6070208@oracle.com> Message-ID: <86770717-6391-6567-38e9-5395dbf7e2ca@oracle.com> Looks good... and familiar :-) Maurizio On 10/04/2019 18:02, Sundararajan Athijegannathan wrote: > Please review. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8222288 > Webrev: https://cr.openjdk.java.net/~sundar/8222288/webrev.00/ > > PS. Thanks to Maurizio for suggestion on javac source for 'source > safe' String escape! > > Thanks, > -Sundar From jbvernee at xs4all.nl Wed Apr 10 17:40:41 2019 From: jbvernee at xs4all.nl (Jorn Vernee) Date: Wed, 10 Apr 2019 19:40:41 +0200 Subject: [foreign] RFR 8222288: jextract generates unescaped String literals for macros In-Reply-To: <5CAE219C.6070208@oracle.com> References: <5CAE219C.6070208@oracle.com> Message-ID: This patch also makes my earlier fix for paths on Windows redundant [1], since now the problem is taken care of when emitting the string instead. You could remove the old changes to JavaSourceFactory.java at this point. I've already tested that this works as well: diff -r a4510fd757fc src/jdk.jextract/share/classes/com/sun/tools/jextract/JavaSourceFactory.java --- a/src/jdk.jextract/share/classes/com/sun/tools/jextract/JavaSourceFactory.java Wed Apr 10 19:22:59 2019 +0200 +++ b/src/jdk.jextract/share/classes/com/sun/tools/jextract/JavaSourceFactory.java Wed Apr 10 19:34:04 2019 +0200 @@ -99,7 +99,7 @@ global_jsb.addPackagePrefix(headerFile.pkgName); Map header = new HashMap<>(); - header.put("path", headerFile.path.toAbsolutePath().toString().replace("\\", "\\\\")); + header.put("path", headerFile.path.toAbsolutePath().toString()); if (!libraryNames.isEmpty()) { header.put("libraries", libraryNames.toArray(new String[0])); if (libraryPaths != null && !libraryPaths.isEmpty()) { @@ -168,7 +168,7 @@ SourceLocation.Location loc = src.getFileLocation(); Path p = loc.path(); Map fields = new HashMap<>(); - fields.put("file", p == null ? "" : p.toAbsolutePath().toString().replace("\\", "\\\\")); + fields.put("file", p == null ? "" : p.toAbsolutePath().toString()); fields.put("line", loc.line()); fields.put("column", loc.column()); jsb.addAnnotation(align, NATIVE_LOCATION, fields); Cheers, Jorn [1] : http://hg.openjdk.java.net/panama/dev/rev/1daf5d6e017c Sundararajan Athijegannathan schreef op 2019-04-10 19:02: > Please review. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8222288 > Webrev: https://cr.openjdk.java.net/~sundar/8222288/webrev.00/ > > PS. Thanks to Maurizio for suggestion on javac source for 'source > safe' String escape! > > Thanks, > -Sundar From sandhya.viswanathan at intel.com Wed Apr 10 19:08:14 2019 From: sandhya.viswanathan at intel.com (sandhya.viswanathan at intel.com) Date: Wed, 10 Apr 2019 19:08:14 +0000 Subject: hg: panama/dev: JDK-8222290: [vector] Implement Species flattening Message-ID: <201904101908.x3AJ8FAB015497@aojmv0008.oracle.com> Changeset: 21f94abc4b32 Author: kkharbas Date: 2019-04-10 12:05 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/21f94abc4b32 JDK-8222290: [vector] Implement Species flattening Summary: Change the species hierarchy to make it flatter, remove XxxNnnSpecie and provide Species Reviewed-by: vlivanov Contributed-by: briangoetz, kkharbas, sviswanathan ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorIntrinsics.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 ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/package-info.java ! test/jdk/jdk/incubator/vector/AddTest.java ! test/jdk/jdk/incubator/vector/Byte128VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Byte128VectorTests.java ! test/jdk/jdk/incubator/vector/Byte256VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Byte256VectorTests.java ! test/jdk/jdk/incubator/vector/Byte512VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Byte512VectorTests.java ! test/jdk/jdk/incubator/vector/Byte64VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Byte64VectorTests.java ! test/jdk/jdk/incubator/vector/ByteMaxVectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/ByteMaxVectorTests.java ! test/jdk/jdk/incubator/vector/CovarOverrideTest.java ! test/jdk/jdk/incubator/vector/Double128VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Double128VectorTests.java ! test/jdk/jdk/incubator/vector/Double256VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Double256VectorTests.java ! test/jdk/jdk/incubator/vector/Double512VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Double512VectorTests.java ! test/jdk/jdk/incubator/vector/Double64VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Double64VectorTests.java ! test/jdk/jdk/incubator/vector/DoubleMaxVectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/DoubleMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Float128VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Float128VectorTests.java ! test/jdk/jdk/incubator/vector/Float256VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Float256VectorTests.java ! test/jdk/jdk/incubator/vector/Float512VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Float512VectorTests.java ! test/jdk/jdk/incubator/vector/Float64VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Float64VectorTests.java ! test/jdk/jdk/incubator/vector/FloatMaxVectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/FloatMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Int128VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Int128VectorTests.java ! test/jdk/jdk/incubator/vector/Int256VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Int256VectorTests.java ! test/jdk/jdk/incubator/vector/Int512VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Int512VectorTests.java ! test/jdk/jdk/incubator/vector/Int64VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Int64VectorTests.java ! test/jdk/jdk/incubator/vector/IntMaxVectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/IntMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Long128VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Long128VectorTests.java ! test/jdk/jdk/incubator/vector/Long256VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Long256VectorTests.java ! test/jdk/jdk/incubator/vector/Long512VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Long512VectorTests.java ! test/jdk/jdk/incubator/vector/Long64VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Long64VectorTests.java ! test/jdk/jdk/incubator/vector/LongMaxVectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/LongMaxVectorTests.java ! test/jdk/jdk/incubator/vector/MethodOverideTest.java ! test/jdk/jdk/incubator/vector/PreferredSpeciesTest.java ! test/jdk/jdk/incubator/vector/Short128VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Short128VectorTests.java ! test/jdk/jdk/incubator/vector/Short256VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Short256VectorTests.java ! test/jdk/jdk/incubator/vector/Short512VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Short512VectorTests.java ! test/jdk/jdk/incubator/vector/Short64VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Short64VectorTests.java ! test/jdk/jdk/incubator/vector/ShortMaxVectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/ShortMaxVectorTests.java ! test/jdk/jdk/incubator/vector/VectorArrays.java ! test/jdk/jdk/incubator/vector/VectorHash.java ! test/jdk/jdk/incubator/vector/VectorReshapeTests.java ! test/jdk/jdk/incubator/vector/VectorRuns.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/crypto/ChaChaBench.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/crypto/Poly1305Bench.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/AbstractVectorBenchmark.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Byte128Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Byte256Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Byte512Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Byte64Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/ByteMaxVector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Double128Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Double256Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Double512Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Double64Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/DoubleMaxVector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Float128Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Float256Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Float512Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Float64Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/FloatMaxVector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Int128Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Int256Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Int512Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Int64Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/IntMaxVector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Long128Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Long256Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Long512Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Long64Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/LongMaxVector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Merge.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/PopulationCount.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Short128Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Short256Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Short512Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Short64Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/ShortMaxVector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/SortVector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/SumOfUnsignedBytes.java ! test/jdk/jdk/incubator/vector/templates/Perf-header.template ! test/jdk/jdk/incubator/vector/templates/Unit-header.template ! test/jdk/jdk/incubator/vector/templates/X-LoadStoreTest.java.template From sandhya.viswanathan at intel.com Wed Apr 10 19:09:06 2019 From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya) Date: Wed, 10 Apr 2019 19:09:06 +0000 Subject: [vector] Vector API -- alignment with value types In-Reply-To: References: <5745a703-c239-8487-6835-7c1aadd54d0f@oracle.com> <02FCFB8477C4EF43A2AD8E0C60F3DA2BB1A58BF0@FMSMSX126.amr.corp.intel.com> <88bea748-2ae8-15f7-7308-e36fcd020f4f@oracle.com> <08F0B03C-2194-4A75-B9CC-D4F7F3982848@oracle.com> <53aab533-b532-0fbf-1da1-4df24e2c0455@oracle.com> <5BE7C5FA-D5D7-4C01-9DB5-F1234A9E560E@oracle.com> <5555f171-83fb-536e-3fc0-323ec73d0567@oracle.com> <02FCFB8477C4EF43A2AD8E0C60F3DA2BB1A71A32@FMSMSX126.amr.corp.intel.com> <02FCFB8477C4EF43A2AD8E0C60F3DA2BB1A781D5@FMSMSX126.amr.corp.intel.com> Message-ID: <02FCFB8477C4EF43A2AD8E0C60F3DA2BB1AABED6@FMSMSX126.amr.corp.intel.com> Thanks, pushed the patch. Best Regards, Sandhya -----Original Message----- From: panama-dev [mailto:panama-dev-bounces at openjdk.java.net] On Behalf Of Vladimir Ivanov Sent: Tuesday, April 09, 2019 3:07 PM To: Kharbas, Kishor Cc: panama-dev at openjdk.java.net Subject: Re: [vector] Vector API -- alignment with value types Looks good! Best regards, Vladimir Ivanov On 09/04/2019 13:40, Kharbas, Kishor wrote: > Hi, > > Brian and I have made further changes to Sandhya's patch towards making the api amenable to value types and also simplify the api. Summary of changes are, > 1. Change the species hierarchy, essentially making it flatter. We removed definition of XxxNnnSpecies classes (e.g. Float256Species). > 2. Removed the only remaining public method in XxxSpecies after Sandhya's patch (zero()). XxxVector already defines zero() which can be used. > 3. Since XxxSpecies does not have any more public methods, it is made package private. User accessible Species class is Vector.Species. Static constants in XxxVector are now of type Species and can be accessed directly by users. The api methods which took XxxSpecies as input have been changed to take Species. > 4. Modified jtreg tests and performance benchmarks to work with the changes. Tests continue to pass and made sure intrinification continues to happen. (Added @Stable annotation to static final fields (example, AbstractSpecies.boxType) which replaced constants return by say Float256Species.boxType()) > > Webrev : http://cr.openjdk.java.net/~kkharbas/vector-api/species_refactoring-phase2/webrev-phase2.01/ > Java-doc : http://cr.openjdk.java.net/~kkharbas/vector-api/species_refactoring-phase2/webrev_phase-2.JavaDoc.01/jdk.incubator.vector/module-summary.html > > Please let me know whether the changes look ok to be pushed. > > Thanks, > Kishor > >> -----Original Message----- >> From: panama-dev [mailto:panama-dev-bounces at openjdk.java.net] On >> Behalf Of Viswanathan, Sandhya >> Sent: Wednesday, March 6, 2019 11:37 AM >> To: Brian Goetz >> Cc: panama-dev at openjdk.java.net >> Subject: RE: [vector] Vector API -- alignment with value types >> >> >> I have enclosed below the webrev which moves the rest of the identified >> methods away from Species, namely (broadcast, random, scalars, single, >> cast(Mask), cast(shuffle)): >> http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/Brian/zero_phas >> e2/ >> >> All the tests continue to pass with these changes. >> >> Please let me know if this looks ok and if I can go ahead and push these >> changes. >> >> Also looking for advice on next steps to get ready for API review. >> >> Best Regards, >> Sandhya >> >> >> -----Original Message----- >> From: Brian Goetz [mailto:brian.goetz at oracle.com] >> Sent: Friday, February 22, 2019 8:39 AM >> To: Viswanathan, Sandhya >> Cc: Vladimir Ivanov ; John Rose >> ; panama-dev at openjdk.java.net >> Subject: Re: [vector] Vector API -- alignment with value types >> >> This is looking good! >> >> Assuming we still like this direction (I do), the next step is to do the same >> trick with Species.cast(Mask) and Species.cast(Shuffle), which will leave >> Species with just the most basic methods: >> >> - data accessors >> - zero (which eventually becomes a data accessor for a cached vector value) >> - static factories for species >> >> And then, do the same with the hand-specialized methods in the specialized >> Species, such as the following in ShortVector: >> >> - broadcast(short) >> - single(short) >> - random() >> - scalars() >> >> (which is just more of the same trick). Then, we?re in a position to do the big >> collapsing of Species we want to get to, where we turn Species into an >> interface, and {Int,Long,Short,Float,Double}Species into enums. >> >> At this point, Species is now more ?data? than ?behavior?. To complete the >> task of making species nearly invisible, we can add overloads of the static >> methods we migrated from Species to XxxVector that do _not_ take a >> leading species argument, and which default to the preferred species for >> that type. Then most species-agnostic code can just do things like >> >> IntVector.zero() >> IntVector.fromArray(?) >> >> and just operate on those. >> >> At that point, I think this transform is complete, and the Species objects are >> ready to become values when we have values. >> >> Then we can talk about how Vector objects become values too! >> >> >> >>> On Feb 18, 2019, at 11:53 AM, Viswanathan, Sandhya >> wrote: >>> >>> >>> Please find below the updated webrev where the fromArray methods are >> moved from Species to XxxVector: >>> http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/Brian/zero/w >>> ebrev.01/ >>> >>> The tests and benchmark directories are also updated accordingly. All the >> tests continue to pass with this webrev. >>> >>> In this webrev, I have also made the change suggested by Vladimir >> regarding XxxVector.zero() method. >>> >>> Your review and feedback is welcome. >>> >>> After this the following public methods remain on Species and >> $Type$Species: >>> public abstract Class elementType(); >>> public abstract int elementSize(); >>> public abstract Shape shape(); >>> public int length(); >>> public int bitSize(); >>> public static Vector.Species of(Class c, Shape s); >>> public static Vector.Species ofPreferred(Class c); >>> public abstract Vector zero(); >>> >>> public abstract Mask cast(Mask m); >>> public abstract Shuffle cast(Shuffle s); >>> >>> public abstract $abstractvectortype$ broadcast($type$ e); >>> public final $abstractvectortype$ single($type$ e); >>> public $abstractvectortype$ random(); >>> public abstract $abstractvectortype$ scalars($type$... es); The >>> last four could be a candidate to move to XxxVector. Please let me know >> your thoughts. >>> >>> Best Regards, >>> Sandhya >>> >>> >>> >>> -----Original Message----- >>> From: Vladimir Ivanov [mailto:vladimir.x.ivanov at oracle.com] >>> Sent: Tuesday, February 12, 2019 10:23 AM >>> To: Brian Goetz >>> Cc: Viswanathan, Sandhya ; >>> panama-dev at openjdk.java.net; John Rose >>> Subject: Re: [vector] Vector API -- alignment with value types >>> >>> >>>> Sure, for now. When vectors are values, we probably won?t need such >> inspection? >>> >>> In general, I don't think it changes much with value types: special >>> support on JIT-compiler side is still needed to strength-reduce vector >>> construction operation. Otherwise, a memory load (even from a >>> flattened >>> representation) is needed to materialize a value unless JIT knows what >>> the value is. >>> >>> But for particular case of Vector.zero() default value can be used >>> (instead of caching). >>> >>> Best regards, >>> Vladimir Ivanov >>> >>>>> On Feb 11, 2019, at 8:12 PM, Vladimir Ivanov >> wrote: >>>>> >>>>> >>>>>> I thought this might be the case; zeros are so common that we may >>>>>> well want to just instantiate a zero vector as a species field, >>>>>> which can be shared. Then we just expose ?species.zero()? as a >>>>>> method (which ByteVector.zero() can delegate to.) >>>>> >>>>> FTR zero() is not cached, but backed by an intrinsic, because it's easier to >> optimize: it doesn't require JIT-compiler to inspect the boxed value to be >> able to use faster idiom when constructing vector value at runtime (e.g., xor >> vs load). >>>>> >>>>> Best regards, >>>>> Vladimir Ivanov >>>>> >>>>>> I didn?t want to do this in my first patch because I was mostly intent on >> providing that we will get the same inlining with a more value-friendly API, >> but this makes sense to me. >>>>> >>>>>>> On Feb 8, 2019, at 7:23 PM, Vladimir Ivanov >> wrote: >>>>>>> >>>>>>> >>>>>>>> http://cr.openjdk.java.net/~sviswanathan/vectorIntrinsics/Brian/z >>>>>>>> ero/webrev.00/ >>>>>>> >>>>>>> I have one comment on implementation: >>>>>>> >>>>>>> >> src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteVector.jav >> a: >>>>>>> >>>>>>> + public static ByteVector zero(ByteSpecies species) { >>>>>>> + return VectorIntrinsics.broadcastCoerced((Class) >> species.boxType(), byte.class, species.length(), >>>>>>> + 0, >>>>>>> + (z -> species.zero())); >>>>>>> + } >>>>>>> >>>>>>> There's a slight change in behavior compared to "species.zero()" call >> and that's because not all arguments to VectorIntrinsics.broadcastCoerced() >> are guaranteed to be constant. >>>>>>> >>>>>>> If JIT can't devirtualize & inline "species.boxType()", intrinsification >> fails and falls back to default implementation. >>>>>>> >>>>>>> In case of species.zero(), a failure to inline callee leads to a virtual call, >> but callee contains intrinsified operation. >>>>>>> >>>>>>> Overall, I believe it shouldn't matter from performance perspective >> right now, because a call breaks vector box elimination anyway, but in a >> longer term it may become important. >>>>>>> >>>>>>> But I'd still prefer to see calls to VectorIntrinsics be fully specialized. In >> the particular case I referred to, IMO it's better to just call species.zero(). >>>>>>> >>>>>>> Best regards, >>>>>>> Vladimir Ivanov >>>> > From sundararajan.athijegannathan at oracle.com Thu Apr 11 05:53:43 2019 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Thu, 11 Apr 2019 11:23:43 +0530 Subject: [foreign] RFR 8222288: jextract generates unescaped String literals for macros In-Reply-To: References: <5CAE219C.6070208@oracle.com> Message-ID: <5CAED667.7000700@oracle.com> Good catch! Updated: http://cr.openjdk.java.net/~sundar/8222288/webrev.01/index.html PS. * Build/tests fine on all platform (via mach5). * I guess my earlier patch also passed on Windows. It seems that repeated backslash (\\) in the path name (while redundant) is accepted. Thanks, -Sundar On 10/04/19, 11:10 PM, Jorn Vernee wrote: > This patch also makes my earlier fix for paths on Windows redundant > [1], since now the problem is taken care of when emitting the string > instead. > > You could remove the old changes to JavaSourceFactory.java at this > point. I've already tested that this works as well: > > diff -r a4510fd757fc > src/jdk.jextract/share/classes/com/sun/tools/jextract/JavaSourceFactory.java > --- > a/src/jdk.jextract/share/classes/com/sun/tools/jextract/JavaSourceFactory.java > Wed Apr 10 19:22:59 2019 +0200 > +++ > b/src/jdk.jextract/share/classes/com/sun/tools/jextract/JavaSourceFactory.java > Wed Apr 10 19:34:04 2019 +0200 > @@ -99,7 +99,7 @@ > global_jsb.addPackagePrefix(headerFile.pkgName); > > Map header = new HashMap<>(); > - header.put("path", > headerFile.path.toAbsolutePath().toString().replace("\\", "\\\\")); > + header.put("path", headerFile.path.toAbsolutePath().toString()); > if (!libraryNames.isEmpty()) { > header.put("libraries", libraryNames.toArray(new > String[0])); > if (libraryPaths != null && !libraryPaths.isEmpty()) { > @@ -168,7 +168,7 @@ > SourceLocation.Location loc = src.getFileLocation(); > Path p = loc.path(); > Map fields = new HashMap<>(); > - fields.put("file", p == null ? "" : > p.toAbsolutePath().toString().replace("\\", "\\\\")); > + fields.put("file", p == null ? "" : > p.toAbsolutePath().toString()); > fields.put("line", loc.line()); > fields.put("column", loc.column()); > jsb.addAnnotation(align, NATIVE_LOCATION, fields); > > Cheers, > Jorn > > [1] : http://hg.openjdk.java.net/panama/dev/rev/1daf5d6e017c > > Sundararajan Athijegannathan schreef op 2019-04-10 19:02: >> Please review. >> >> Bug: https://bugs.openjdk.java.net/browse/JDK-8222288 >> Webrev: https://cr.openjdk.java.net/~sundar/8222288/webrev.00/ >> >> PS. Thanks to Maurizio for suggestion on javac source for 'source >> safe' String escape! >> >> Thanks, >> -Sundar From Yang.Zhang at arm.com Thu Apr 11 08:33:02 2019 From: Yang.Zhang at arm.com (Yang Zhang (Arm Technology China)) Date: Thu, 11 Apr 2019 08:33:02 +0000 Subject: [vector] RFR 8221808: Fix jmh build failure about SumOfUnsignedBytes.java Message-ID: Hi Could you please help to review this patch? JBS: https://bugs.openjdk.java.net/browse/JDK-8221808 Webrev: http://cr.openjdk.java.net/~yzhang/vectorapi/8221808/webrev.00/ SumOfUnsignedBytes.java uses some old APIs which have been removed. These APIs are removed in commit http://hg.openjdk.java.net/panama/dev/rev/3b869865b8ed. Updated the test case to use alternative Vector APIs. Regards, Yang From maurizio.cimadamore at oracle.com Thu Apr 11 09:58:36 2019 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Thu, 11 Apr 2019 10:58:36 +0100 Subject: [foreign] RFR 8222288: jextract generates unescaped String literals for macros In-Reply-To: <5CAED667.7000700@oracle.com> References: <5CAE219C.6070208@oracle.com> <5CAED667.7000700@oracle.com> Message-ID: <54d90996-b4a7-6a64-1b8d-b4374532138f@oracle.com> Looks good Maurizio On 11/04/2019 06:53, Sundararajan Athijegannathan wrote: > Good catch! Updated: > http://cr.openjdk.java.net/~sundar/8222288/webrev.01/index.html > > PS. > > * Build/tests fine on all platform (via mach5). > * I guess my earlier patch also passed on Windows. It seems that > repeated backslash (\\) in the path name (while redundant) is accepted. > > Thanks, > -Sundar > > On 10/04/19, 11:10 PM, Jorn Vernee wrote: >> This patch also makes my earlier fix for paths on Windows redundant >> [1], since now the problem is taken care of when emitting the string >> instead. >> >> You could remove the old changes to JavaSourceFactory.java at this >> point. I've already tested that this works as well: >> >> diff -r a4510fd757fc >> src/jdk.jextract/share/classes/com/sun/tools/jextract/JavaSourceFactory.java >> --- >> a/src/jdk.jextract/share/classes/com/sun/tools/jextract/JavaSourceFactory.java >> ???? Wed Apr 10 19:22:59 2019 +0200 >> +++ >> b/src/jdk.jextract/share/classes/com/sun/tools/jextract/JavaSourceFactory.java >> ???? Wed Apr 10 19:34:04 2019 +0200 >> @@ -99,7 +99,7 @@ >> ???????? global_jsb.addPackagePrefix(headerFile.pkgName); >> >> ???????? Map header = new HashMap<>(); >> -??????? header.put("path", >> headerFile.path.toAbsolutePath().toString().replace("\\", "\\\\")); >> +??????? header.put("path", >> headerFile.path.toAbsolutePath().toString()); >> ???????? if (!libraryNames.isEmpty()) { >> ???????????? header.put("libraries", libraryNames.toArray(new >> String[0])); >> ???????????? if (libraryPaths != null && !libraryPaths.isEmpty()) { >> @@ -168,7 +168,7 @@ >> ???????????? SourceLocation.Location loc = src.getFileLocation(); >> ???????????? Path p = loc.path(); >> ???????????? Map fields = new HashMap<>(); >> -??????????? fields.put("file", p == null ? "" : >> p.toAbsolutePath().toString().replace("\\", "\\\\")); >> +??????????? fields.put("file", p == null ? "" : >> p.toAbsolutePath().toString()); >> ???????????? fields.put("line", loc.line()); >> ???????????? fields.put("column", loc.column()); >> ???????????? jsb.addAnnotation(align, NATIVE_LOCATION, fields); >> >> Cheers, >> Jorn >> >> [1] : http://hg.openjdk.java.net/panama/dev/rev/1daf5d6e017c >> >> Sundararajan Athijegannathan schreef op 2019-04-10 19:02: >>> Please review. >>> >>> Bug: https://bugs.openjdk.java.net/browse/JDK-8222288 >>> Webrev: https://cr.openjdk.java.net/~sundar/8222288/webrev.00/ >>> >>> PS. Thanks to Maurizio for suggestion on javac source for 'source >>> safe' String escape! >>> >>> Thanks, >>> -Sundar From sundararajan.athijegannathan at oracle.com Thu Apr 11 10:06:40 2019 From: sundararajan.athijegannathan at oracle.com (sundararajan.athijegannathan at oracle.com) Date: Thu, 11 Apr 2019 10:06:40 +0000 Subject: hg: panama/dev: 8222288: jextract generates unescaped String literals for macros Message-ID: <201904111006.x3BA6exw019352@aojmv0008.oracle.com> Changeset: 2dc0507dfb5d Author: sundar Date: 2019-04-11 15:41 +0530 URL: http://hg.openjdk.java.net/panama/dev/rev/2dc0507dfb5d 8222288: jextract generates unescaped String literals for macros Reviewed-by: mcimadamore ! src/jdk.jextract/share/classes/com/sun/tools/jextract/JavaSourceBuilder.java ! src/jdk.jextract/share/classes/com/sun/tools/jextract/JavaSourceFactory.java ! src/jdk.jextract/share/classes/com/sun/tools/jextract/Utils.java ! test/jdk/com/sun/tools/jextract/test8221154/SrcGenTest.java ! test/jdk/com/sun/tools/jextract/test8221154/srcgentest.h From maurizio.cimadamore at oracle.com Thu Apr 11 10:09:24 2019 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 11 Apr 2019 10:09:24 +0000 Subject: hg: panama/dev: Automatic merge with foreign Message-ID: <201904111009.x3BA9PPS021604@aojmv0008.oracle.com> Changeset: 0340300d3f88 Author: mcimadamore Date: 2019-04-11 12:09 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/0340300d3f88 Automatic merge with foreign From maurizio.cimadamore at oracle.com Thu Apr 11 10:09:49 2019 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 11 Apr 2019 10:09:49 +0000 Subject: hg: panama/dev: Automatic merge with foreign Message-ID: <201904111009.x3BA9ouf022629@aojmv0008.oracle.com> Changeset: 619a2c6f3d02 Author: mcimadamore Date: 2019-04-11 12:09 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/619a2c6f3d02 Automatic merge with foreign From maurizio.cimadamore at oracle.com Thu Apr 11 10:21:03 2019 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 11 Apr 2019 10:21:03 +0000 Subject: hg: panama/dev: manual merge with default Message-ID: <201904111021.x3BAL3h0029984@aojmv0008.oracle.com> Changeset: 7c4ad1091dcd Author: mcimadamore Date: 2019-04-11 11:14 +0100 URL: http://hg.openjdk.java.net/panama/dev/rev/7c4ad1091dcd manual merge with default ! make/CompileJavaModules.gmk ! make/conf/jib-profiles.js - src/hotspot/os_cpu/linux_x86/gc/z/zLargePages_linux_x86.cpp - src/hotspot/os_cpu/linux_x86/gc/z/zNUMA_linux_x86.cpp - src/hotspot/os_cpu/linux_x86/gc/z/zVirtualMemory_linux_x86.cpp - src/hotspot/share/gc/z/zForwardingTableEntry.hpp - src/hotspot/share/gc/z/zNMethodAllocator.cpp - src/hotspot/share/gc/z/zNMethodAllocator.hpp - src/hotspot/share/gc/z/zPageTableEntry.hpp ! src/hotspot/share/runtime/init.cpp ! src/java.base/share/classes/java/lang/ClassLoader.java ! src/java.base/share/classes/java/nio/Buffer.java - src/java.base/unix/native/libnio/ch/ServerSocketChannelImpl.c - src/java.base/unix/native/libnio/ch/UnixAsynchronousServerSocketChannelImpl.c - src/java.base/windows/native/libnio/ch/ServerSocketChannelImpl.c - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-atomic-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-blob-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-buffer-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-face-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-font-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-map-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-mutex-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-object-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-open-file-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-open-type-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-common-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-gsubgpos-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-map-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-arabic-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-indic-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-khmer-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-myanmar-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-tibetan.cc - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-use-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-fallback-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-normalize-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-tag.h - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-set-digest-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-set-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-shape-plan-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-shaper-impl-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-shaper-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-subset-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-unicode-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-utf-private.hh - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/doc-files/CompilationBailoutActionHelp.txt - src/jdk.sctp/unix/native/libsctp/SctpServerChannelImpl.c - test/hotspot/gtest/gc/z/test_zForwardingTable.cpp - test/hotspot/jtreg/runtime/RedefineObject/Agent.java - test/hotspot/jtreg/runtime/RedefineObject/TestRedefineObject.java - test/hotspot/jtreg/runtime/RedefineObject/WalkThroughInvoke.java - test/hotspot/jtreg/runtime/RedefineTests/ModifyAnonymous.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineAddLambdaExpression.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineAnnotations.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineDeleteJmethod.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineDoubleDelete.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineFinalizer.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineInterfaceCall.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineInterfaceMethods.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineLeak.java - test/hotspot/jtreg/runtime/RedefineTests/RedefinePreviousVersions.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineRunningMethods.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineRunningMethodsWithBacktrace.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineRunningMethodsWithResolutionErrors.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineSubtractLambdaExpression.java - test/hotspot/jtreg/runtime/RedefineTests/TestMultipleClasses.java - test/hotspot/jtreg/runtime/RedefineTests/libRedefineDeleteJmethod.c - test/hotspot/jtreg/runtime/RedefineTests/libRedefineDoubleDelete.c - test/hotspot/jtreg/runtime/containers/docker/Dockerfile-BasicTest - test/hotspot/jtreg/runtime/containers/docker/Dockerfile-BasicTest-aarch64 - test/hotspot/jtreg/runtime/containers/docker/Dockerfile-BasicTest-ppc64le - test/hotspot/jtreg/runtime/containers/docker/Dockerfile-BasicTest-s390x - test/hotspot/jtreg/runtime/handshake/HandshakeWalkSuspendExitTest.java - test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/libHeapMonitorTest.c - test/hotspot/jtreg/serviceability/jvmti/RetransformClassesZeroLength.java - test/hotspot/jtreg/serviceability/jvmti/TestLambdaFormRetransformation.java - test/hotspot/jtreg/serviceability/jvmti/TestRedefineWithUnresolvedClass.java - test/hotspot/jtreg/serviceability/jvmti/UnresolvedClassAgent.java - test/hotspot/jtreg/serviceability/jvmti/UnresolvedClassAgent.mf ! test/jdk/TEST.groups - test/jdk/java/awt/Choice/PopdownGeneratesMouseEvents/PopdownGeneratesMouseEvents.html - test/jdk/java/awt/Choice/PopupPosTest/PopupPosTest.html - test/jdk/java/awt/Clipboard/HTMLTransferTest/HTMLTransferTest.html - test/jdk/java/awt/Component/F10TopToplevel/F10TopToplevel.html - test/jdk/java/awt/EventDispatchThread/LoopRobustness/LoopRobustness.html - test/jdk/java/awt/FileDialog/FilenameFilterTest/FilenameFilterTest.html - test/jdk/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest.html - test/jdk/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.html - test/jdk/java/awt/Focus/ChildWindowFocusTest/ChildWindowFocusTest.html - test/jdk/java/awt/Focus/DeiconifiedFrameLoosesFocus/DeiconifiedFrameLoosesFocus.html - test/jdk/java/awt/Focus/FocusSubRequestTest/FocusSubRequestTest.html - test/jdk/java/awt/Focus/ModalBlockedStealsFocusTest/ModalBlockedStealsFocusTest.html - test/jdk/java/awt/Focus/ModalDialogInitialFocusTest/ModalDialogInitialFocusTest.html - test/jdk/java/awt/Focus/ModalExcludedWindowClickTest/ModalExcludedWindowClickTest.html - test/jdk/java/awt/Focus/NonFocusableBlockedOwnerTest/NonFocusableBlockedOwnerTest.html - test/jdk/java/awt/Focus/ToFrontFocusTest/ToFrontFocus.html - test/jdk/java/awt/Focus/WindowInitialFocusTest/WindowInitialFocusTest.html - test/jdk/java/awt/Focus/WindowUpdateFocusabilityTest/WindowUpdateFocusabilityTest.html - test/jdk/java/awt/FontClass/CreateFont/bigfont.html - test/jdk/java/awt/Frame/DisposeStressTest/DisposeStressTest.html - test/jdk/java/awt/Frame/NonEDT_GUI_DeadlockTest/NonEDT_GUI_Deadlock.html - test/jdk/java/awt/GridBagLayout/GridBagLayoutIpadXYTest/GridBagLayoutIpadXYTest.html - test/jdk/java/awt/KeyboardFocusmanager/ConsumeNextMnemonicKeyTypedTest/ConsumeForModalDialogTest/ConsumeForModalDialogTest.html - test/jdk/java/awt/KeyboardFocusmanager/ConsumeNextMnemonicKeyTypedTest/ConsumeNextMnemonicKeyTypedTest.html - test/jdk/java/awt/KeyboardFocusmanager/TypeAhead/ButtonActionKeyTest/ButtonActionKeyTest.html - test/jdk/java/awt/KeyboardFocusmanager/TypeAhead/MenuItemActivatedTest/MenuItemActivatedTest.html - test/jdk/java/awt/KeyboardFocusmanager/TypeAhead/TestDialogTypeAhead.html - test/jdk/java/awt/List/FirstItemRemoveTest/FirstItemRemoveTest.html - test/jdk/java/awt/List/FocusEmptyListTest/FocusEmptyListTest.html - test/jdk/java/awt/List/KeyEventsTest/KeyEventsTest.html - test/jdk/java/awt/Mouse/ExtraMouseClick/ExtraMouseClick.html - test/jdk/java/awt/Mouse/TitleBarDoubleClick/TitleBarDoubleClick.html - test/jdk/java/awt/Multiscreen/WindowGCChangeTest/WindowGCChangeTest.html - test/jdk/java/awt/Window/HandleWindowDestroyTest/HandleWindowDestroyTest.html - test/jdk/java/awt/datatransfer/DragUnicodeBetweenJVMTest/DragUnicodeBetweenJVMTest.html - test/jdk/java/awt/datatransfer/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.html - test/jdk/java/awt/dnd/DragInterceptorAppletTest/DragInterceptorAppletTest.html - test/jdk/java/awt/dnd/FileListBetweenJVMsTest/FileListBetweenJVMsTest.html - test/jdk/java/awt/dnd/ImageDecoratedDnDInOut/ImageDecoratedDnDInOut.html - test/jdk/java/awt/dnd/ImageDecoratedDnDNegative/ImageDecoratedDnDNegative.html - test/jdk/java/awt/dnd/InterJVMGetDropSuccessTest/InterJVMGetDropSuccessTest.html - test/jdk/java/awt/dnd/NoFormatsCrashTest/NoFormatsCrashTest.html - test/jdk/java/awt/dnd/URIListBetweenJVMsTest/URIListBetweenJVMsTest.html - test/jdk/java/awt/dnd/URIListToFileListBetweenJVMsTest/URIListToFileListBetweenJVMsTest.html - test/jdk/java/awt/event/ComponentEvent/MovedResizedTardyEventTest/MovedResizedTardyEventTest.html - test/jdk/java/awt/event/KeyEvent/KeyTyped/CtrlASCII.html - test/jdk/java/awt/event/MouseEvent/FrameMouseEventAbsoluteCoordsTest/FrameMouseEventAbsoluteCoordsTest.html - test/jdk/java/awt/event/MouseEvent/MenuDragMouseEventAbsoluteCoordsTest/MenuDragMouseEventAbsoluteCoordsTest.html - test/jdk/java/awt/event/MouseEvent/MouseClickTest/MouseClickTest.html - test/jdk/java/awt/event/MouseEvent/MouseWheelEventAbsoluteCoordsTest/MouseWheelEventAbsoluteCoordsTest.html - test/jdk/java/awt/event/MouseEvent/RobotLWTest/RobotLWTest.html - test/jdk/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_2.html - test/jdk/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_3.html - test/jdk/javax/imageio/AppletResourceTest.html - test/jdk/javax/swing/JFrame/4962534/bug4962534.html - test/jdk/javax/swing/JPopupMenu/4634626/bug4634626.html - test/jdk/javax/swing/MultiUIDefaults/4300666/bug4300666.html - test/jdk/javax/swing/text/StyledEditorKit/4506788/bug4506788.html - test/jdk/jdk/internal/platform/docker/Dockerfile-BasicTest - test/jdk/jdk/internal/platform/docker/Dockerfile-BasicTest-aarch64 - test/jdk/jdk/internal/platform/docker/Dockerfile-BasicTest-ppc64le - test/jdk/jdk/internal/platform/docker/Dockerfile-BasicTest-s390x - test/jdk/sanity/client/TEST.ROOT.template - test/jdk/sun/java2d/cmm/ColorConvertOp/ConstructorsNullTest/ConstructorsNullTest.html - test/jdk/vm/JniInvocationTest.java - test/jdk/vm/exeJniInvocationTest.c - test/jdk/vm/gc/ArraySize.java - test/jdk/vm/gc/InfiniteList.java - test/jdk/vm/jit/BadLogicCode.java - test/jdk/vm/jit/ExceptionInInit.java - test/jdk/vm/jit/JITClassInit.java - test/jdk/vm/runtime/ExplicitArithmeticCheck.java - test/jdk/vm/runtime/MonitorCacheMaybeExpand_DeadLock.java - test/jdk/vm/runtime/ReflectStackOverflow.java - test/jdk/vm/runtime/ShiftTest.java - test/jdk/vm/runtime/WideStrictInline.java - test/jdk/vm/verifier/TestStaticIF.java - test/jdk/vm/verifier/VerifyProtectedConstructor.java - test/jdk/vm/verifier/VerifyStackForExceptionHandlers.java - test/jdk/vm/verifier/defaultMethods/DefaultMethodRegressionTests.java - test/jdk/vm/verifier/defaultMethods/DefaultMethodRegressionTestsRun.java - test/langtools/jdk/javadoc/tool/doclint/ImplicitHeadersTest.java - test/langtools/tools/javac/doclint/ImplicitHeadersTest.java From maurizio.cimadamore at oracle.com Thu Apr 11 10:43:33 2019 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 11 Apr 2019 10:43:33 +0000 Subject: hg: panama/dev: merge with default Message-ID: <201904111043.x3BAhYwr015592@aojmv0008.oracle.com> Changeset: 78569953cc6f Author: mcimadamore Date: 2019-04-11 11:31 +0100 URL: http://hg.openjdk.java.net/panama/dev/rev/78569953cc6f merge with default ! make/CompileJavaModules.gmk - src/hotspot/os_cpu/linux_x86/gc/z/zLargePages_linux_x86.cpp - src/hotspot/os_cpu/linux_x86/gc/z/zNUMA_linux_x86.cpp - src/hotspot/os_cpu/linux_x86/gc/z/zVirtualMemory_linux_x86.cpp ! src/hotspot/share/ci/ciEnv.hpp ! src/hotspot/share/ci/ciObject.hpp ! src/hotspot/share/ci/ciObjectFactory.cpp ! src/hotspot/share/code/codeCache.hpp - src/hotspot/share/gc/z/zForwardingTableEntry.hpp - src/hotspot/share/gc/z/zNMethodAllocator.cpp - src/hotspot/share/gc/z/zNMethodAllocator.hpp - src/hotspot/share/gc/z/zPageTableEntry.hpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/type.cpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/java.base/share/classes/java/lang/invoke/MethodHandle.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java - src/java.base/unix/native/libnio/ch/ServerSocketChannelImpl.c - src/java.base/unix/native/libnio/ch/UnixAsynchronousServerSocketChannelImpl.c - src/java.base/windows/native/libnio/ch/ServerSocketChannelImpl.c - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-atomic-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-blob-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-buffer-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-face-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-font-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-map-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-mutex-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-object-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-open-file-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-open-type-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-common-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-gsubgpos-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-map-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-arabic-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-indic-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-khmer-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-myanmar-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-tibetan.cc - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-use-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-fallback-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-normalize-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-tag.h - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-set-digest-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-set-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-shape-plan-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-shaper-impl-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-shaper-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-subset-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-unicode-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-utf-private.hh - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/doc-files/CompilationBailoutActionHelp.txt - src/jdk.sctp/unix/native/libsctp/SctpServerChannelImpl.c - test/hotspot/gtest/gc/z/test_zForwardingTable.cpp - test/hotspot/jtreg/runtime/RedefineObject/Agent.java - test/hotspot/jtreg/runtime/RedefineObject/TestRedefineObject.java - test/hotspot/jtreg/runtime/RedefineObject/WalkThroughInvoke.java - test/hotspot/jtreg/runtime/RedefineTests/ModifyAnonymous.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineAddLambdaExpression.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineAnnotations.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineDeleteJmethod.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineDoubleDelete.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineFinalizer.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineInterfaceCall.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineInterfaceMethods.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineLeak.java - test/hotspot/jtreg/runtime/RedefineTests/RedefinePreviousVersions.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineRunningMethods.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineRunningMethodsWithBacktrace.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineRunningMethodsWithResolutionErrors.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineSubtractLambdaExpression.java - test/hotspot/jtreg/runtime/RedefineTests/TestMultipleClasses.java - test/hotspot/jtreg/runtime/RedefineTests/libRedefineDeleteJmethod.c - test/hotspot/jtreg/runtime/RedefineTests/libRedefineDoubleDelete.c - test/hotspot/jtreg/runtime/containers/docker/Dockerfile-BasicTest - test/hotspot/jtreg/runtime/containers/docker/Dockerfile-BasicTest-aarch64 - test/hotspot/jtreg/runtime/containers/docker/Dockerfile-BasicTest-ppc64le - test/hotspot/jtreg/runtime/containers/docker/Dockerfile-BasicTest-s390x - test/hotspot/jtreg/runtime/handshake/HandshakeWalkSuspendExitTest.java - test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/libHeapMonitorTest.c - test/hotspot/jtreg/serviceability/jvmti/RetransformClassesZeroLength.java - test/hotspot/jtreg/serviceability/jvmti/TestLambdaFormRetransformation.java - test/hotspot/jtreg/serviceability/jvmti/TestRedefineWithUnresolvedClass.java - test/hotspot/jtreg/serviceability/jvmti/UnresolvedClassAgent.java - test/hotspot/jtreg/serviceability/jvmti/UnresolvedClassAgent.mf - test/jdk/java/awt/Choice/PopdownGeneratesMouseEvents/PopdownGeneratesMouseEvents.html - test/jdk/java/awt/Choice/PopupPosTest/PopupPosTest.html - test/jdk/java/awt/Clipboard/HTMLTransferTest/HTMLTransferTest.html - test/jdk/java/awt/Component/F10TopToplevel/F10TopToplevel.html - test/jdk/java/awt/EventDispatchThread/LoopRobustness/LoopRobustness.html - test/jdk/java/awt/FileDialog/FilenameFilterTest/FilenameFilterTest.html - test/jdk/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest.html - test/jdk/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.html - test/jdk/java/awt/Focus/ChildWindowFocusTest/ChildWindowFocusTest.html - test/jdk/java/awt/Focus/DeiconifiedFrameLoosesFocus/DeiconifiedFrameLoosesFocus.html - test/jdk/java/awt/Focus/FocusSubRequestTest/FocusSubRequestTest.html - test/jdk/java/awt/Focus/ModalBlockedStealsFocusTest/ModalBlockedStealsFocusTest.html - test/jdk/java/awt/Focus/ModalDialogInitialFocusTest/ModalDialogInitialFocusTest.html - test/jdk/java/awt/Focus/ModalExcludedWindowClickTest/ModalExcludedWindowClickTest.html - test/jdk/java/awt/Focus/NonFocusableBlockedOwnerTest/NonFocusableBlockedOwnerTest.html - test/jdk/java/awt/Focus/ToFrontFocusTest/ToFrontFocus.html - test/jdk/java/awt/Focus/WindowInitialFocusTest/WindowInitialFocusTest.html - test/jdk/java/awt/Focus/WindowUpdateFocusabilityTest/WindowUpdateFocusabilityTest.html - test/jdk/java/awt/FontClass/CreateFont/bigfont.html - test/jdk/java/awt/Frame/DisposeStressTest/DisposeStressTest.html - test/jdk/java/awt/Frame/NonEDT_GUI_DeadlockTest/NonEDT_GUI_Deadlock.html - test/jdk/java/awt/GridBagLayout/GridBagLayoutIpadXYTest/GridBagLayoutIpadXYTest.html - test/jdk/java/awt/KeyboardFocusmanager/ConsumeNextMnemonicKeyTypedTest/ConsumeForModalDialogTest/ConsumeForModalDialogTest.html - test/jdk/java/awt/KeyboardFocusmanager/ConsumeNextMnemonicKeyTypedTest/ConsumeNextMnemonicKeyTypedTest.html - test/jdk/java/awt/KeyboardFocusmanager/TypeAhead/ButtonActionKeyTest/ButtonActionKeyTest.html - test/jdk/java/awt/KeyboardFocusmanager/TypeAhead/MenuItemActivatedTest/MenuItemActivatedTest.html - test/jdk/java/awt/KeyboardFocusmanager/TypeAhead/TestDialogTypeAhead.html - test/jdk/java/awt/List/FirstItemRemoveTest/FirstItemRemoveTest.html - test/jdk/java/awt/List/FocusEmptyListTest/FocusEmptyListTest.html - test/jdk/java/awt/List/KeyEventsTest/KeyEventsTest.html - test/jdk/java/awt/Mouse/ExtraMouseClick/ExtraMouseClick.html - test/jdk/java/awt/Mouse/TitleBarDoubleClick/TitleBarDoubleClick.html - test/jdk/java/awt/Multiscreen/WindowGCChangeTest/WindowGCChangeTest.html - test/jdk/java/awt/Window/HandleWindowDestroyTest/HandleWindowDestroyTest.html - test/jdk/java/awt/datatransfer/DragUnicodeBetweenJVMTest/DragUnicodeBetweenJVMTest.html - test/jdk/java/awt/datatransfer/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.html - test/jdk/java/awt/dnd/DragInterceptorAppletTest/DragInterceptorAppletTest.html - test/jdk/java/awt/dnd/FileListBetweenJVMsTest/FileListBetweenJVMsTest.html - test/jdk/java/awt/dnd/ImageDecoratedDnDInOut/ImageDecoratedDnDInOut.html - test/jdk/java/awt/dnd/ImageDecoratedDnDNegative/ImageDecoratedDnDNegative.html - test/jdk/java/awt/dnd/InterJVMGetDropSuccessTest/InterJVMGetDropSuccessTest.html - test/jdk/java/awt/dnd/NoFormatsCrashTest/NoFormatsCrashTest.html - test/jdk/java/awt/dnd/URIListBetweenJVMsTest/URIListBetweenJVMsTest.html - test/jdk/java/awt/dnd/URIListToFileListBetweenJVMsTest/URIListToFileListBetweenJVMsTest.html - test/jdk/java/awt/event/ComponentEvent/MovedResizedTardyEventTest/MovedResizedTardyEventTest.html - test/jdk/java/awt/event/KeyEvent/KeyTyped/CtrlASCII.html - test/jdk/java/awt/event/MouseEvent/FrameMouseEventAbsoluteCoordsTest/FrameMouseEventAbsoluteCoordsTest.html - test/jdk/java/awt/event/MouseEvent/MenuDragMouseEventAbsoluteCoordsTest/MenuDragMouseEventAbsoluteCoordsTest.html - test/jdk/java/awt/event/MouseEvent/MouseClickTest/MouseClickTest.html - test/jdk/java/awt/event/MouseEvent/MouseWheelEventAbsoluteCoordsTest/MouseWheelEventAbsoluteCoordsTest.html - test/jdk/java/awt/event/MouseEvent/RobotLWTest/RobotLWTest.html - test/jdk/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_2.html - test/jdk/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_3.html - test/jdk/javax/imageio/AppletResourceTest.html - test/jdk/javax/swing/JFrame/4962534/bug4962534.html - test/jdk/javax/swing/JPopupMenu/4634626/bug4634626.html - test/jdk/javax/swing/MultiUIDefaults/4300666/bug4300666.html - test/jdk/javax/swing/text/StyledEditorKit/4506788/bug4506788.html - test/jdk/jdk/internal/platform/docker/Dockerfile-BasicTest - test/jdk/jdk/internal/platform/docker/Dockerfile-BasicTest-aarch64 - test/jdk/jdk/internal/platform/docker/Dockerfile-BasicTest-ppc64le - test/jdk/jdk/internal/platform/docker/Dockerfile-BasicTest-s390x - test/jdk/sanity/client/TEST.ROOT.template - test/jdk/sun/java2d/cmm/ColorConvertOp/ConstructorsNullTest/ConstructorsNullTest.html - test/jdk/vm/JniInvocationTest.java - test/jdk/vm/exeJniInvocationTest.c - test/jdk/vm/gc/ArraySize.java - test/jdk/vm/gc/InfiniteList.java - test/jdk/vm/jit/BadLogicCode.java - test/jdk/vm/jit/ExceptionInInit.java - test/jdk/vm/jit/JITClassInit.java - test/jdk/vm/runtime/ExplicitArithmeticCheck.java - test/jdk/vm/runtime/MonitorCacheMaybeExpand_DeadLock.java - test/jdk/vm/runtime/ReflectStackOverflow.java - test/jdk/vm/runtime/ShiftTest.java - test/jdk/vm/runtime/WideStrictInline.java - test/jdk/vm/verifier/TestStaticIF.java - test/jdk/vm/verifier/VerifyProtectedConstructor.java - test/jdk/vm/verifier/VerifyStackForExceptionHandlers.java - test/jdk/vm/verifier/defaultMethods/DefaultMethodRegressionTests.java - test/jdk/vm/verifier/defaultMethods/DefaultMethodRegressionTestsRun.java - test/langtools/jdk/javadoc/tool/doclint/ImplicitHeadersTest.java - test/langtools/tools/javac/doclint/ImplicitHeadersTest.java From maurizio.cimadamore at oracle.com Thu Apr 11 10:57:21 2019 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 11 Apr 2019 10:57:21 +0000 Subject: hg: panama/dev: manual merge with foreign Message-ID: <201904111057.x3BAvM17028712@aojmv0008.oracle.com> Changeset: dd3ede6a2383 Author: mcimadamore Date: 2019-04-11 11:53 +0100 URL: http://hg.openjdk.java.net/panama/dev/rev/dd3ede6a2383 manual merge with foreign ! make/CompileJavaModules.gmk - src/hotspot/os_cpu/linux_x86/gc/z/zLargePages_linux_x86.cpp - src/hotspot/os_cpu/linux_x86/gc/z/zNUMA_linux_x86.cpp - src/hotspot/os_cpu/linux_x86/gc/z/zVirtualMemory_linux_x86.cpp ! src/hotspot/share/ci/ciEnv.hpp ! src/hotspot/share/ci/ciObject.hpp ! src/hotspot/share/ci/ciObjectFactory.cpp ! src/hotspot/share/code/codeCache.hpp ! src/hotspot/share/code/compiledMethod.cpp - src/hotspot/share/gc/z/zForwardingTableEntry.hpp - src/hotspot/share/gc/z/zNMethodAllocator.cpp - src/hotspot/share/gc/z/zNMethodAllocator.hpp - src/hotspot/share/gc/z/zPageTableEntry.hpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/type.cpp ! src/hotspot/share/runtime/frame.hpp ! src/hotspot/share/runtime/thread.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/java.base/share/classes/java/lang/invoke/MethodHandle.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java - src/java.base/unix/native/libnio/ch/ServerSocketChannelImpl.c - src/java.base/unix/native/libnio/ch/UnixAsynchronousServerSocketChannelImpl.c - src/java.base/windows/native/libnio/ch/ServerSocketChannelImpl.c - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-atomic-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-blob-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-buffer-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-face-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-font-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-map-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-mutex-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-object-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-open-file-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-open-type-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-common-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-gsubgpos-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-map-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-arabic-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-indic-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-khmer-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-myanmar-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-tibetan.cc - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-use-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-fallback-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-normalize-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-tag.h - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-set-digest-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-set-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-shape-plan-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-shaper-impl-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-shaper-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-subset-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-unicode-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-utf-private.hh - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/doc-files/CompilationBailoutActionHelp.txt - src/jdk.sctp/unix/native/libsctp/SctpServerChannelImpl.c - test/hotspot/gtest/gc/z/test_zForwardingTable.cpp - test/hotspot/jtreg/runtime/RedefineObject/Agent.java - test/hotspot/jtreg/runtime/RedefineObject/TestRedefineObject.java - test/hotspot/jtreg/runtime/RedefineObject/WalkThroughInvoke.java - test/hotspot/jtreg/runtime/RedefineTests/ModifyAnonymous.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineAddLambdaExpression.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineAnnotations.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineDeleteJmethod.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineDoubleDelete.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineFinalizer.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineInterfaceCall.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineInterfaceMethods.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineLeak.java - test/hotspot/jtreg/runtime/RedefineTests/RedefinePreviousVersions.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineRunningMethods.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineRunningMethodsWithBacktrace.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineRunningMethodsWithResolutionErrors.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineSubtractLambdaExpression.java - test/hotspot/jtreg/runtime/RedefineTests/TestMultipleClasses.java - test/hotspot/jtreg/runtime/RedefineTests/libRedefineDeleteJmethod.c - test/hotspot/jtreg/runtime/RedefineTests/libRedefineDoubleDelete.c - test/hotspot/jtreg/runtime/containers/docker/Dockerfile-BasicTest - test/hotspot/jtreg/runtime/containers/docker/Dockerfile-BasicTest-aarch64 - test/hotspot/jtreg/runtime/containers/docker/Dockerfile-BasicTest-ppc64le - test/hotspot/jtreg/runtime/containers/docker/Dockerfile-BasicTest-s390x - test/hotspot/jtreg/runtime/handshake/HandshakeWalkSuspendExitTest.java - test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/libHeapMonitorTest.c - test/hotspot/jtreg/serviceability/jvmti/RetransformClassesZeroLength.java - test/hotspot/jtreg/serviceability/jvmti/TestLambdaFormRetransformation.java - test/hotspot/jtreg/serviceability/jvmti/TestRedefineWithUnresolvedClass.java - test/hotspot/jtreg/serviceability/jvmti/UnresolvedClassAgent.java - test/hotspot/jtreg/serviceability/jvmti/UnresolvedClassAgent.mf - test/jdk/java/awt/Choice/PopdownGeneratesMouseEvents/PopdownGeneratesMouseEvents.html - test/jdk/java/awt/Choice/PopupPosTest/PopupPosTest.html - test/jdk/java/awt/Clipboard/HTMLTransferTest/HTMLTransferTest.html - test/jdk/java/awt/Component/F10TopToplevel/F10TopToplevel.html - test/jdk/java/awt/EventDispatchThread/LoopRobustness/LoopRobustness.html - test/jdk/java/awt/FileDialog/FilenameFilterTest/FilenameFilterTest.html - test/jdk/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest.html - test/jdk/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.html - test/jdk/java/awt/Focus/ChildWindowFocusTest/ChildWindowFocusTest.html - test/jdk/java/awt/Focus/DeiconifiedFrameLoosesFocus/DeiconifiedFrameLoosesFocus.html - test/jdk/java/awt/Focus/FocusSubRequestTest/FocusSubRequestTest.html - test/jdk/java/awt/Focus/ModalBlockedStealsFocusTest/ModalBlockedStealsFocusTest.html - test/jdk/java/awt/Focus/ModalDialogInitialFocusTest/ModalDialogInitialFocusTest.html - test/jdk/java/awt/Focus/ModalExcludedWindowClickTest/ModalExcludedWindowClickTest.html - test/jdk/java/awt/Focus/NonFocusableBlockedOwnerTest/NonFocusableBlockedOwnerTest.html - test/jdk/java/awt/Focus/ToFrontFocusTest/ToFrontFocus.html - test/jdk/java/awt/Focus/WindowInitialFocusTest/WindowInitialFocusTest.html - test/jdk/java/awt/Focus/WindowUpdateFocusabilityTest/WindowUpdateFocusabilityTest.html - test/jdk/java/awt/FontClass/CreateFont/bigfont.html - test/jdk/java/awt/Frame/DisposeStressTest/DisposeStressTest.html - test/jdk/java/awt/Frame/NonEDT_GUI_DeadlockTest/NonEDT_GUI_Deadlock.html - test/jdk/java/awt/GridBagLayout/GridBagLayoutIpadXYTest/GridBagLayoutIpadXYTest.html - test/jdk/java/awt/KeyboardFocusmanager/ConsumeNextMnemonicKeyTypedTest/ConsumeForModalDialogTest/ConsumeForModalDialogTest.html - test/jdk/java/awt/KeyboardFocusmanager/ConsumeNextMnemonicKeyTypedTest/ConsumeNextMnemonicKeyTypedTest.html - test/jdk/java/awt/KeyboardFocusmanager/TypeAhead/ButtonActionKeyTest/ButtonActionKeyTest.html - test/jdk/java/awt/KeyboardFocusmanager/TypeAhead/MenuItemActivatedTest/MenuItemActivatedTest.html - test/jdk/java/awt/KeyboardFocusmanager/TypeAhead/TestDialogTypeAhead.html - test/jdk/java/awt/List/FirstItemRemoveTest/FirstItemRemoveTest.html - test/jdk/java/awt/List/FocusEmptyListTest/FocusEmptyListTest.html - test/jdk/java/awt/List/KeyEventsTest/KeyEventsTest.html - test/jdk/java/awt/Mouse/ExtraMouseClick/ExtraMouseClick.html - test/jdk/java/awt/Mouse/TitleBarDoubleClick/TitleBarDoubleClick.html - test/jdk/java/awt/Multiscreen/WindowGCChangeTest/WindowGCChangeTest.html - test/jdk/java/awt/Window/HandleWindowDestroyTest/HandleWindowDestroyTest.html - test/jdk/java/awt/datatransfer/DragUnicodeBetweenJVMTest/DragUnicodeBetweenJVMTest.html - test/jdk/java/awt/datatransfer/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.html - test/jdk/java/awt/dnd/DragInterceptorAppletTest/DragInterceptorAppletTest.html - test/jdk/java/awt/dnd/FileListBetweenJVMsTest/FileListBetweenJVMsTest.html - test/jdk/java/awt/dnd/ImageDecoratedDnDInOut/ImageDecoratedDnDInOut.html - test/jdk/java/awt/dnd/ImageDecoratedDnDNegative/ImageDecoratedDnDNegative.html - test/jdk/java/awt/dnd/InterJVMGetDropSuccessTest/InterJVMGetDropSuccessTest.html - test/jdk/java/awt/dnd/NoFormatsCrashTest/NoFormatsCrashTest.html - test/jdk/java/awt/dnd/URIListBetweenJVMsTest/URIListBetweenJVMsTest.html - test/jdk/java/awt/dnd/URIListToFileListBetweenJVMsTest/URIListToFileListBetweenJVMsTest.html - test/jdk/java/awt/event/ComponentEvent/MovedResizedTardyEventTest/MovedResizedTardyEventTest.html - test/jdk/java/awt/event/KeyEvent/KeyTyped/CtrlASCII.html - test/jdk/java/awt/event/MouseEvent/FrameMouseEventAbsoluteCoordsTest/FrameMouseEventAbsoluteCoordsTest.html - test/jdk/java/awt/event/MouseEvent/MenuDragMouseEventAbsoluteCoordsTest/MenuDragMouseEventAbsoluteCoordsTest.html - test/jdk/java/awt/event/MouseEvent/MouseClickTest/MouseClickTest.html - test/jdk/java/awt/event/MouseEvent/MouseWheelEventAbsoluteCoordsTest/MouseWheelEventAbsoluteCoordsTest.html - test/jdk/java/awt/event/MouseEvent/RobotLWTest/RobotLWTest.html - test/jdk/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_2.html - test/jdk/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_3.html - test/jdk/javax/imageio/AppletResourceTest.html - test/jdk/javax/swing/JFrame/4962534/bug4962534.html - test/jdk/javax/swing/JPopupMenu/4634626/bug4634626.html - test/jdk/javax/swing/MultiUIDefaults/4300666/bug4300666.html - test/jdk/javax/swing/text/StyledEditorKit/4506788/bug4506788.html - test/jdk/jdk/internal/platform/docker/Dockerfile-BasicTest - test/jdk/jdk/internal/platform/docker/Dockerfile-BasicTest-aarch64 - test/jdk/jdk/internal/platform/docker/Dockerfile-BasicTest-ppc64le - test/jdk/jdk/internal/platform/docker/Dockerfile-BasicTest-s390x - test/jdk/sanity/client/TEST.ROOT.template - test/jdk/sun/java2d/cmm/ColorConvertOp/ConstructorsNullTest/ConstructorsNullTest.html - test/jdk/vm/JniInvocationTest.java - test/jdk/vm/exeJniInvocationTest.c - test/jdk/vm/gc/ArraySize.java - test/jdk/vm/gc/InfiniteList.java - test/jdk/vm/jit/BadLogicCode.java - test/jdk/vm/jit/ExceptionInInit.java - test/jdk/vm/jit/JITClassInit.java - test/jdk/vm/runtime/ExplicitArithmeticCheck.java - test/jdk/vm/runtime/MonitorCacheMaybeExpand_DeadLock.java - test/jdk/vm/runtime/ReflectStackOverflow.java - test/jdk/vm/runtime/ShiftTest.java - test/jdk/vm/runtime/WideStrictInline.java - test/jdk/vm/verifier/TestStaticIF.java - test/jdk/vm/verifier/VerifyProtectedConstructor.java - test/jdk/vm/verifier/VerifyStackForExceptionHandlers.java - test/jdk/vm/verifier/defaultMethods/DefaultMethodRegressionTests.java - test/jdk/vm/verifier/defaultMethods/DefaultMethodRegressionTestsRun.java - test/langtools/jdk/javadoc/tool/doclint/ImplicitHeadersTest.java - test/langtools/tools/javac/doclint/ImplicitHeadersTest.java From maurizio.cimadamore at oracle.com Thu Apr 11 11:00:14 2019 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 11 Apr 2019 11:00:14 +0000 Subject: hg: panama/dev: Automatic merge with linkToNative Message-ID: <201904111100.x3BB0Fol000324@aojmv0008.oracle.com> Changeset: e1dcc43f74cd Author: mcimadamore Date: 2019-04-11 13:00 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/e1dcc43f74cd Automatic merge with linkToNative ! make/CompileJavaModules.gmk ! src/hotspot/share/opto/graphKit.cpp ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java From maurizio.cimadamore at oracle.com Thu Apr 11 10:58:19 2019 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 11 Apr 2019 10:58:19 +0000 Subject: hg: panama/dev: manual merge with default Message-ID: <201904111058.x3BAwJaj029197@aojmv0008.oracle.com> Changeset: fd85fb147f79 Author: mcimadamore Date: 2019-04-11 11:58 +0100 URL: http://hg.openjdk.java.net/panama/dev/rev/fd85fb147f79 manual merge with default ! make/CompileJavaModules.gmk - src/hotspot/os_cpu/linux_x86/gc/z/zLargePages_linux_x86.cpp - src/hotspot/os_cpu/linux_x86/gc/z/zNUMA_linux_x86.cpp - src/hotspot/os_cpu/linux_x86/gc/z/zVirtualMemory_linux_x86.cpp - src/hotspot/share/gc/z/zForwardingTableEntry.hpp - src/hotspot/share/gc/z/zNMethodAllocator.cpp - src/hotspot/share/gc/z/zNMethodAllocator.hpp - src/hotspot/share/gc/z/zPageTableEntry.hpp - src/java.base/unix/native/libnio/ch/ServerSocketChannelImpl.c - src/java.base/unix/native/libnio/ch/UnixAsynchronousServerSocketChannelImpl.c - src/java.base/windows/native/libnio/ch/ServerSocketChannelImpl.c - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-atomic-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-blob-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-buffer-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-face-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-font-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-map-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-mutex-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-object-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-open-file-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-open-type-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-common-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-gsubgpos-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-map-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-arabic-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-indic-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-khmer-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-myanmar-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-tibetan.cc - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-use-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-fallback-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-normalize-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-tag.h - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-set-digest-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-set-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-shape-plan-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-shaper-impl-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-shaper-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-subset-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-unicode-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-utf-private.hh - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/doc-files/CompilationBailoutActionHelp.txt - src/jdk.sctp/unix/native/libsctp/SctpServerChannelImpl.c - test/hotspot/gtest/gc/z/test_zForwardingTable.cpp - test/hotspot/jtreg/runtime/RedefineObject/Agent.java - test/hotspot/jtreg/runtime/RedefineObject/TestRedefineObject.java - test/hotspot/jtreg/runtime/RedefineObject/WalkThroughInvoke.java - test/hotspot/jtreg/runtime/RedefineTests/ModifyAnonymous.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineAddLambdaExpression.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineAnnotations.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineDeleteJmethod.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineDoubleDelete.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineFinalizer.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineInterfaceCall.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineInterfaceMethods.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineLeak.java - test/hotspot/jtreg/runtime/RedefineTests/RedefinePreviousVersions.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineRunningMethods.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineRunningMethodsWithBacktrace.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineRunningMethodsWithResolutionErrors.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineSubtractLambdaExpression.java - test/hotspot/jtreg/runtime/RedefineTests/TestMultipleClasses.java - test/hotspot/jtreg/runtime/RedefineTests/libRedefineDeleteJmethod.c - test/hotspot/jtreg/runtime/RedefineTests/libRedefineDoubleDelete.c - test/hotspot/jtreg/runtime/containers/docker/Dockerfile-BasicTest - test/hotspot/jtreg/runtime/containers/docker/Dockerfile-BasicTest-aarch64 - test/hotspot/jtreg/runtime/containers/docker/Dockerfile-BasicTest-ppc64le - test/hotspot/jtreg/runtime/containers/docker/Dockerfile-BasicTest-s390x - test/hotspot/jtreg/runtime/handshake/HandshakeWalkSuspendExitTest.java - test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/libHeapMonitorTest.c - test/hotspot/jtreg/serviceability/jvmti/RetransformClassesZeroLength.java - test/hotspot/jtreg/serviceability/jvmti/TestLambdaFormRetransformation.java - test/hotspot/jtreg/serviceability/jvmti/TestRedefineWithUnresolvedClass.java - test/hotspot/jtreg/serviceability/jvmti/UnresolvedClassAgent.java - test/hotspot/jtreg/serviceability/jvmti/UnresolvedClassAgent.mf - test/jdk/java/awt/Choice/PopdownGeneratesMouseEvents/PopdownGeneratesMouseEvents.html - test/jdk/java/awt/Choice/PopupPosTest/PopupPosTest.html - test/jdk/java/awt/Clipboard/HTMLTransferTest/HTMLTransferTest.html - test/jdk/java/awt/Component/F10TopToplevel/F10TopToplevel.html - test/jdk/java/awt/EventDispatchThread/LoopRobustness/LoopRobustness.html - test/jdk/java/awt/FileDialog/FilenameFilterTest/FilenameFilterTest.html - test/jdk/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest.html - test/jdk/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.html - test/jdk/java/awt/Focus/ChildWindowFocusTest/ChildWindowFocusTest.html - test/jdk/java/awt/Focus/DeiconifiedFrameLoosesFocus/DeiconifiedFrameLoosesFocus.html - test/jdk/java/awt/Focus/FocusSubRequestTest/FocusSubRequestTest.html - test/jdk/java/awt/Focus/ModalBlockedStealsFocusTest/ModalBlockedStealsFocusTest.html - test/jdk/java/awt/Focus/ModalDialogInitialFocusTest/ModalDialogInitialFocusTest.html - test/jdk/java/awt/Focus/ModalExcludedWindowClickTest/ModalExcludedWindowClickTest.html - test/jdk/java/awt/Focus/NonFocusableBlockedOwnerTest/NonFocusableBlockedOwnerTest.html - test/jdk/java/awt/Focus/ToFrontFocusTest/ToFrontFocus.html - test/jdk/java/awt/Focus/WindowInitialFocusTest/WindowInitialFocusTest.html - test/jdk/java/awt/Focus/WindowUpdateFocusabilityTest/WindowUpdateFocusabilityTest.html - test/jdk/java/awt/FontClass/CreateFont/bigfont.html - test/jdk/java/awt/Frame/DisposeStressTest/DisposeStressTest.html - test/jdk/java/awt/Frame/NonEDT_GUI_DeadlockTest/NonEDT_GUI_Deadlock.html - test/jdk/java/awt/GridBagLayout/GridBagLayoutIpadXYTest/GridBagLayoutIpadXYTest.html - test/jdk/java/awt/KeyboardFocusmanager/ConsumeNextMnemonicKeyTypedTest/ConsumeForModalDialogTest/ConsumeForModalDialogTest.html - test/jdk/java/awt/KeyboardFocusmanager/ConsumeNextMnemonicKeyTypedTest/ConsumeNextMnemonicKeyTypedTest.html - test/jdk/java/awt/KeyboardFocusmanager/TypeAhead/ButtonActionKeyTest/ButtonActionKeyTest.html - test/jdk/java/awt/KeyboardFocusmanager/TypeAhead/MenuItemActivatedTest/MenuItemActivatedTest.html - test/jdk/java/awt/KeyboardFocusmanager/TypeAhead/TestDialogTypeAhead.html - test/jdk/java/awt/List/FirstItemRemoveTest/FirstItemRemoveTest.html - test/jdk/java/awt/List/FocusEmptyListTest/FocusEmptyListTest.html - test/jdk/java/awt/List/KeyEventsTest/KeyEventsTest.html - test/jdk/java/awt/Mouse/ExtraMouseClick/ExtraMouseClick.html - test/jdk/java/awt/Mouse/TitleBarDoubleClick/TitleBarDoubleClick.html - test/jdk/java/awt/Multiscreen/WindowGCChangeTest/WindowGCChangeTest.html - test/jdk/java/awt/Window/HandleWindowDestroyTest/HandleWindowDestroyTest.html - test/jdk/java/awt/datatransfer/DragUnicodeBetweenJVMTest/DragUnicodeBetweenJVMTest.html - test/jdk/java/awt/datatransfer/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.html - test/jdk/java/awt/dnd/DragInterceptorAppletTest/DragInterceptorAppletTest.html - test/jdk/java/awt/dnd/FileListBetweenJVMsTest/FileListBetweenJVMsTest.html - test/jdk/java/awt/dnd/ImageDecoratedDnDInOut/ImageDecoratedDnDInOut.html - test/jdk/java/awt/dnd/ImageDecoratedDnDNegative/ImageDecoratedDnDNegative.html - test/jdk/java/awt/dnd/InterJVMGetDropSuccessTest/InterJVMGetDropSuccessTest.html - test/jdk/java/awt/dnd/NoFormatsCrashTest/NoFormatsCrashTest.html - test/jdk/java/awt/dnd/URIListBetweenJVMsTest/URIListBetweenJVMsTest.html - test/jdk/java/awt/dnd/URIListToFileListBetweenJVMsTest/URIListToFileListBetweenJVMsTest.html - test/jdk/java/awt/event/ComponentEvent/MovedResizedTardyEventTest/MovedResizedTardyEventTest.html - test/jdk/java/awt/event/KeyEvent/KeyTyped/CtrlASCII.html - test/jdk/java/awt/event/MouseEvent/FrameMouseEventAbsoluteCoordsTest/FrameMouseEventAbsoluteCoordsTest.html - test/jdk/java/awt/event/MouseEvent/MenuDragMouseEventAbsoluteCoordsTest/MenuDragMouseEventAbsoluteCoordsTest.html - test/jdk/java/awt/event/MouseEvent/MouseClickTest/MouseClickTest.html - test/jdk/java/awt/event/MouseEvent/MouseWheelEventAbsoluteCoordsTest/MouseWheelEventAbsoluteCoordsTest.html - test/jdk/java/awt/event/MouseEvent/RobotLWTest/RobotLWTest.html - test/jdk/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_2.html - test/jdk/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_3.html - test/jdk/javax/imageio/AppletResourceTest.html - test/jdk/javax/swing/JFrame/4962534/bug4962534.html - test/jdk/javax/swing/JPopupMenu/4634626/bug4634626.html - test/jdk/javax/swing/MultiUIDefaults/4300666/bug4300666.html - test/jdk/javax/swing/text/StyledEditorKit/4506788/bug4506788.html - test/jdk/jdk/internal/platform/docker/Dockerfile-BasicTest - test/jdk/jdk/internal/platform/docker/Dockerfile-BasicTest-aarch64 - test/jdk/jdk/internal/platform/docker/Dockerfile-BasicTest-ppc64le - test/jdk/jdk/internal/platform/docker/Dockerfile-BasicTest-s390x - test/jdk/sanity/client/TEST.ROOT.template - test/jdk/sun/java2d/cmm/ColorConvertOp/ConstructorsNullTest/ConstructorsNullTest.html - test/jdk/vm/JniInvocationTest.java - test/jdk/vm/exeJniInvocationTest.c - test/jdk/vm/gc/ArraySize.java - test/jdk/vm/gc/InfiniteList.java - test/jdk/vm/jit/BadLogicCode.java - test/jdk/vm/jit/ExceptionInInit.java - test/jdk/vm/jit/JITClassInit.java - test/jdk/vm/runtime/ExplicitArithmeticCheck.java - test/jdk/vm/runtime/MonitorCacheMaybeExpand_DeadLock.java - test/jdk/vm/runtime/ReflectStackOverflow.java - test/jdk/vm/runtime/ShiftTest.java - test/jdk/vm/runtime/WideStrictInline.java - test/jdk/vm/verifier/TestStaticIF.java - test/jdk/vm/verifier/VerifyProtectedConstructor.java - test/jdk/vm/verifier/VerifyStackForExceptionHandlers.java - test/jdk/vm/verifier/defaultMethods/DefaultMethodRegressionTests.java - test/jdk/vm/verifier/defaultMethods/DefaultMethodRegressionTestsRun.java - test/langtools/jdk/javadoc/tool/doclint/ImplicitHeadersTest.java - test/langtools/tools/javac/doclint/ImplicitHeadersTest.java From maurizio.cimadamore at oracle.com Thu Apr 11 11:13:04 2019 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 11 Apr 2019 11:13:04 +0000 Subject: hg: panama/dev: manual merge with default Message-ID: <201904111113.x3BBD50e009325@aojmv0008.oracle.com> Changeset: f2725ee582ee Author: mcimadamore Date: 2019-04-11 12:02 +0100 URL: http://hg.openjdk.java.net/panama/dev/rev/f2725ee582ee manual merge with default ! make/CompileJavaModules.gmk ! src/hotspot/cpu/x86/x86_64.ad - src/hotspot/os_cpu/linux_x86/gc/z/zLargePages_linux_x86.cpp - src/hotspot/os_cpu/linux_x86/gc/z/zNUMA_linux_x86.cpp - src/hotspot/os_cpu/linux_x86/gc/z/zVirtualMemory_linux_x86.cpp ! src/hotspot/share/ci/ciEnv.hpp ! src/hotspot/share/ci/ciObject.hpp ! src/hotspot/share/ci/ciObjectFactory.cpp ! src/hotspot/share/code/codeCache.hpp - src/hotspot/share/gc/z/zForwardingTableEntry.hpp - src/hotspot/share/gc/z/zNMethodAllocator.cpp - src/hotspot/share/gc/z/zNMethodAllocator.hpp - src/hotspot/share/gc/z/zPageTableEntry.hpp ! src/hotspot/share/opto/graphKit.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/matcher.cpp ! src/hotspot/share/opto/type.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp ! src/hotspot/share/runtime/vmStructs.cpp ! src/java.base/share/classes/java/lang/invoke/MethodHandle.java ! src/java.base/share/classes/java/lang/invoke/MethodHandles.java - src/java.base/unix/native/libnio/ch/ServerSocketChannelImpl.c - src/java.base/unix/native/libnio/ch/UnixAsynchronousServerSocketChannelImpl.c - src/java.base/windows/native/libnio/ch/ServerSocketChannelImpl.c - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-atomic-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-blob-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-buffer-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-face-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-font-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-map-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-mutex-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-object-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-open-file-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-open-type-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-common-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-gsubgpos-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-map-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-arabic-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-indic-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-khmer-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-myanmar-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-tibetan.cc - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-use-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-fallback-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-normalize-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-tag.h - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-set-digest-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-set-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-shape-plan-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-shaper-impl-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-shaper-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-subset-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-unicode-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-utf-private.hh - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/doc-files/CompilationBailoutActionHelp.txt - src/jdk.sctp/unix/native/libsctp/SctpServerChannelImpl.c - test/hotspot/gtest/gc/z/test_zForwardingTable.cpp - test/hotspot/jtreg/runtime/RedefineObject/Agent.java - test/hotspot/jtreg/runtime/RedefineObject/TestRedefineObject.java - test/hotspot/jtreg/runtime/RedefineObject/WalkThroughInvoke.java - test/hotspot/jtreg/runtime/RedefineTests/ModifyAnonymous.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineAddLambdaExpression.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineAnnotations.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineDeleteJmethod.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineDoubleDelete.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineFinalizer.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineInterfaceCall.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineInterfaceMethods.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineLeak.java - test/hotspot/jtreg/runtime/RedefineTests/RedefinePreviousVersions.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineRunningMethods.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineRunningMethodsWithBacktrace.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineRunningMethodsWithResolutionErrors.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineSubtractLambdaExpression.java - test/hotspot/jtreg/runtime/RedefineTests/TestMultipleClasses.java - test/hotspot/jtreg/runtime/RedefineTests/libRedefineDeleteJmethod.c - test/hotspot/jtreg/runtime/RedefineTests/libRedefineDoubleDelete.c - test/hotspot/jtreg/runtime/containers/docker/Dockerfile-BasicTest - test/hotspot/jtreg/runtime/containers/docker/Dockerfile-BasicTest-aarch64 - test/hotspot/jtreg/runtime/containers/docker/Dockerfile-BasicTest-ppc64le - test/hotspot/jtreg/runtime/containers/docker/Dockerfile-BasicTest-s390x - test/hotspot/jtreg/runtime/handshake/HandshakeWalkSuspendExitTest.java - test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/libHeapMonitorTest.c - test/hotspot/jtreg/serviceability/jvmti/RetransformClassesZeroLength.java - test/hotspot/jtreg/serviceability/jvmti/TestLambdaFormRetransformation.java - test/hotspot/jtreg/serviceability/jvmti/TestRedefineWithUnresolvedClass.java - test/hotspot/jtreg/serviceability/jvmti/UnresolvedClassAgent.java - test/hotspot/jtreg/serviceability/jvmti/UnresolvedClassAgent.mf - test/jdk/java/awt/Choice/PopdownGeneratesMouseEvents/PopdownGeneratesMouseEvents.html - test/jdk/java/awt/Choice/PopupPosTest/PopupPosTest.html - test/jdk/java/awt/Clipboard/HTMLTransferTest/HTMLTransferTest.html - test/jdk/java/awt/Component/F10TopToplevel/F10TopToplevel.html - test/jdk/java/awt/EventDispatchThread/LoopRobustness/LoopRobustness.html - test/jdk/java/awt/FileDialog/FilenameFilterTest/FilenameFilterTest.html - test/jdk/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest.html - test/jdk/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.html - test/jdk/java/awt/Focus/ChildWindowFocusTest/ChildWindowFocusTest.html - test/jdk/java/awt/Focus/DeiconifiedFrameLoosesFocus/DeiconifiedFrameLoosesFocus.html - test/jdk/java/awt/Focus/FocusSubRequestTest/FocusSubRequestTest.html - test/jdk/java/awt/Focus/ModalBlockedStealsFocusTest/ModalBlockedStealsFocusTest.html - test/jdk/java/awt/Focus/ModalDialogInitialFocusTest/ModalDialogInitialFocusTest.html - test/jdk/java/awt/Focus/ModalExcludedWindowClickTest/ModalExcludedWindowClickTest.html - test/jdk/java/awt/Focus/NonFocusableBlockedOwnerTest/NonFocusableBlockedOwnerTest.html - test/jdk/java/awt/Focus/ToFrontFocusTest/ToFrontFocus.html - test/jdk/java/awt/Focus/WindowInitialFocusTest/WindowInitialFocusTest.html - test/jdk/java/awt/Focus/WindowUpdateFocusabilityTest/WindowUpdateFocusabilityTest.html - test/jdk/java/awt/FontClass/CreateFont/bigfont.html - test/jdk/java/awt/Frame/DisposeStressTest/DisposeStressTest.html - test/jdk/java/awt/Frame/NonEDT_GUI_DeadlockTest/NonEDT_GUI_Deadlock.html - test/jdk/java/awt/GridBagLayout/GridBagLayoutIpadXYTest/GridBagLayoutIpadXYTest.html - test/jdk/java/awt/KeyboardFocusmanager/ConsumeNextMnemonicKeyTypedTest/ConsumeForModalDialogTest/ConsumeForModalDialogTest.html - test/jdk/java/awt/KeyboardFocusmanager/ConsumeNextMnemonicKeyTypedTest/ConsumeNextMnemonicKeyTypedTest.html - test/jdk/java/awt/KeyboardFocusmanager/TypeAhead/ButtonActionKeyTest/ButtonActionKeyTest.html - test/jdk/java/awt/KeyboardFocusmanager/TypeAhead/MenuItemActivatedTest/MenuItemActivatedTest.html - test/jdk/java/awt/KeyboardFocusmanager/TypeAhead/TestDialogTypeAhead.html - test/jdk/java/awt/List/FirstItemRemoveTest/FirstItemRemoveTest.html - test/jdk/java/awt/List/FocusEmptyListTest/FocusEmptyListTest.html - test/jdk/java/awt/List/KeyEventsTest/KeyEventsTest.html - test/jdk/java/awt/Mouse/ExtraMouseClick/ExtraMouseClick.html - test/jdk/java/awt/Mouse/TitleBarDoubleClick/TitleBarDoubleClick.html - test/jdk/java/awt/Multiscreen/WindowGCChangeTest/WindowGCChangeTest.html - test/jdk/java/awt/Window/HandleWindowDestroyTest/HandleWindowDestroyTest.html - test/jdk/java/awt/datatransfer/DragUnicodeBetweenJVMTest/DragUnicodeBetweenJVMTest.html - test/jdk/java/awt/datatransfer/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.html - test/jdk/java/awt/dnd/DragInterceptorAppletTest/DragInterceptorAppletTest.html - test/jdk/java/awt/dnd/FileListBetweenJVMsTest/FileListBetweenJVMsTest.html - test/jdk/java/awt/dnd/ImageDecoratedDnDInOut/ImageDecoratedDnDInOut.html - test/jdk/java/awt/dnd/ImageDecoratedDnDNegative/ImageDecoratedDnDNegative.html - test/jdk/java/awt/dnd/InterJVMGetDropSuccessTest/InterJVMGetDropSuccessTest.html - test/jdk/java/awt/dnd/NoFormatsCrashTest/NoFormatsCrashTest.html - test/jdk/java/awt/dnd/URIListBetweenJVMsTest/URIListBetweenJVMsTest.html - test/jdk/java/awt/dnd/URIListToFileListBetweenJVMsTest/URIListToFileListBetweenJVMsTest.html - test/jdk/java/awt/event/ComponentEvent/MovedResizedTardyEventTest/MovedResizedTardyEventTest.html - test/jdk/java/awt/event/KeyEvent/KeyTyped/CtrlASCII.html - test/jdk/java/awt/event/MouseEvent/FrameMouseEventAbsoluteCoordsTest/FrameMouseEventAbsoluteCoordsTest.html - test/jdk/java/awt/event/MouseEvent/MenuDragMouseEventAbsoluteCoordsTest/MenuDragMouseEventAbsoluteCoordsTest.html - test/jdk/java/awt/event/MouseEvent/MouseClickTest/MouseClickTest.html - test/jdk/java/awt/event/MouseEvent/MouseWheelEventAbsoluteCoordsTest/MouseWheelEventAbsoluteCoordsTest.html - test/jdk/java/awt/event/MouseEvent/RobotLWTest/RobotLWTest.html - test/jdk/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_2.html - test/jdk/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_3.html - test/jdk/javax/imageio/AppletResourceTest.html - test/jdk/javax/swing/JFrame/4962534/bug4962534.html - test/jdk/javax/swing/JPopupMenu/4634626/bug4634626.html - test/jdk/javax/swing/MultiUIDefaults/4300666/bug4300666.html - test/jdk/javax/swing/text/StyledEditorKit/4506788/bug4506788.html - test/jdk/jdk/internal/platform/docker/Dockerfile-BasicTest - test/jdk/jdk/internal/platform/docker/Dockerfile-BasicTest-aarch64 - test/jdk/jdk/internal/platform/docker/Dockerfile-BasicTest-ppc64le - test/jdk/jdk/internal/platform/docker/Dockerfile-BasicTest-s390x - test/jdk/sanity/client/TEST.ROOT.template - test/jdk/sun/java2d/cmm/ColorConvertOp/ConstructorsNullTest/ConstructorsNullTest.html - test/jdk/vm/JniInvocationTest.java - test/jdk/vm/exeJniInvocationTest.c - test/jdk/vm/gc/ArraySize.java - test/jdk/vm/gc/InfiniteList.java - test/jdk/vm/jit/BadLogicCode.java - test/jdk/vm/jit/ExceptionInInit.java - test/jdk/vm/jit/JITClassInit.java - test/jdk/vm/runtime/ExplicitArithmeticCheck.java - test/jdk/vm/runtime/MonitorCacheMaybeExpand_DeadLock.java - test/jdk/vm/runtime/ReflectStackOverflow.java - test/jdk/vm/runtime/ShiftTest.java - test/jdk/vm/runtime/WideStrictInline.java - test/jdk/vm/verifier/TestStaticIF.java - test/jdk/vm/verifier/VerifyProtectedConstructor.java - test/jdk/vm/verifier/VerifyStackForExceptionHandlers.java - test/jdk/vm/verifier/defaultMethods/DefaultMethodRegressionTests.java - test/jdk/vm/verifier/defaultMethods/DefaultMethodRegressionTestsRun.java - test/langtools/jdk/javadoc/tool/doclint/ImplicitHeadersTest.java - test/langtools/tools/javac/doclint/ImplicitHeadersTest.java From maurizio.cimadamore at oracle.com Thu Apr 11 11:27:45 2019 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 11 Apr 2019 11:27:45 +0000 Subject: hg: panama/dev: manual merge with vectorInstrinsics Message-ID: <201904111127.x3BBRjbx019702@aojmv0008.oracle.com> Changeset: c94042f0aff8 Author: mcimadamore Date: 2019-04-11 12:27 +0100 URL: http://hg.openjdk.java.net/panama/dev/rev/c94042f0aff8 manual merge with vectorInstrinsics ! make/CompileJavaModules.gmk ! make/conf/jib-profiles.js ! src/hotspot/cpu/x86/assembler_x86.hpp ! src/hotspot/cpu/x86/macroAssembler_x86.hpp - src/hotspot/os_cpu/linux_x86/gc/z/zLargePages_linux_x86.cpp - src/hotspot/os_cpu/linux_x86/gc/z/zNUMA_linux_x86.cpp - src/hotspot/os_cpu/linux_x86/gc/z/zVirtualMemory_linux_x86.cpp - src/hotspot/share/gc/z/zForwardingTableEntry.hpp - src/hotspot/share/gc/z/zNMethodAllocator.cpp - src/hotspot/share/gc/z/zNMethodAllocator.hpp - src/hotspot/share/gc/z/zPageTableEntry.hpp ! src/hotspot/share/runtime/init.cpp ! src/java.base/share/classes/java/lang/ClassLoader.java ! src/java.base/share/classes/java/nio/Buffer.java - src/java.base/unix/native/libnio/ch/ServerSocketChannelImpl.c - src/java.base/unix/native/libnio/ch/UnixAsynchronousServerSocketChannelImpl.c - src/java.base/windows/native/libnio/ch/ServerSocketChannelImpl.c - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-atomic-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-blob-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-buffer-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-face-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-font-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-map-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-mutex-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-object-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-open-file-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-open-type-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-common-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-gsubgpos-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-map-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-arabic-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-indic-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-khmer-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-myanmar-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-tibetan.cc - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-use-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-fallback-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-normalize-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-tag.h - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-set-digest-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-set-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-shape-plan-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-shaper-impl-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-shaper-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-subset-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-unicode-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-utf-private.hh ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/gen-src.sh - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/doc-files/CompilationBailoutActionHelp.txt - src/jdk.sctp/unix/native/libsctp/SctpServerChannelImpl.c - test/hotspot/gtest/gc/z/test_zForwardingTable.cpp - test/hotspot/jtreg/runtime/RedefineObject/Agent.java - test/hotspot/jtreg/runtime/RedefineObject/TestRedefineObject.java - test/hotspot/jtreg/runtime/RedefineObject/WalkThroughInvoke.java - test/hotspot/jtreg/runtime/RedefineTests/ModifyAnonymous.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineAddLambdaExpression.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineAnnotations.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineDeleteJmethod.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineDoubleDelete.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineFinalizer.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineInterfaceCall.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineInterfaceMethods.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineLeak.java - test/hotspot/jtreg/runtime/RedefineTests/RedefinePreviousVersions.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineRunningMethods.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineRunningMethodsWithBacktrace.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineRunningMethodsWithResolutionErrors.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineSubtractLambdaExpression.java - test/hotspot/jtreg/runtime/RedefineTests/TestMultipleClasses.java - test/hotspot/jtreg/runtime/RedefineTests/libRedefineDeleteJmethod.c - test/hotspot/jtreg/runtime/RedefineTests/libRedefineDoubleDelete.c - test/hotspot/jtreg/runtime/containers/docker/Dockerfile-BasicTest - test/hotspot/jtreg/runtime/containers/docker/Dockerfile-BasicTest-aarch64 - test/hotspot/jtreg/runtime/containers/docker/Dockerfile-BasicTest-ppc64le - test/hotspot/jtreg/runtime/containers/docker/Dockerfile-BasicTest-s390x - test/hotspot/jtreg/runtime/handshake/HandshakeWalkSuspendExitTest.java - test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/libHeapMonitorTest.c - test/hotspot/jtreg/serviceability/jvmti/RetransformClassesZeroLength.java - test/hotspot/jtreg/serviceability/jvmti/TestLambdaFormRetransformation.java - test/hotspot/jtreg/serviceability/jvmti/TestRedefineWithUnresolvedClass.java - test/hotspot/jtreg/serviceability/jvmti/UnresolvedClassAgent.java - test/hotspot/jtreg/serviceability/jvmti/UnresolvedClassAgent.mf ! test/jdk/TEST.groups - test/jdk/java/awt/Choice/PopdownGeneratesMouseEvents/PopdownGeneratesMouseEvents.html - test/jdk/java/awt/Choice/PopupPosTest/PopupPosTest.html - test/jdk/java/awt/Clipboard/HTMLTransferTest/HTMLTransferTest.html - test/jdk/java/awt/Component/F10TopToplevel/F10TopToplevel.html - test/jdk/java/awt/EventDispatchThread/LoopRobustness/LoopRobustness.html - test/jdk/java/awt/FileDialog/FilenameFilterTest/FilenameFilterTest.html - test/jdk/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest.html - test/jdk/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.html - test/jdk/java/awt/Focus/ChildWindowFocusTest/ChildWindowFocusTest.html - test/jdk/java/awt/Focus/DeiconifiedFrameLoosesFocus/DeiconifiedFrameLoosesFocus.html - test/jdk/java/awt/Focus/FocusSubRequestTest/FocusSubRequestTest.html - test/jdk/java/awt/Focus/ModalBlockedStealsFocusTest/ModalBlockedStealsFocusTest.html - test/jdk/java/awt/Focus/ModalDialogInitialFocusTest/ModalDialogInitialFocusTest.html - test/jdk/java/awt/Focus/ModalExcludedWindowClickTest/ModalExcludedWindowClickTest.html - test/jdk/java/awt/Focus/NonFocusableBlockedOwnerTest/NonFocusableBlockedOwnerTest.html - test/jdk/java/awt/Focus/ToFrontFocusTest/ToFrontFocus.html - test/jdk/java/awt/Focus/WindowInitialFocusTest/WindowInitialFocusTest.html - test/jdk/java/awt/Focus/WindowUpdateFocusabilityTest/WindowUpdateFocusabilityTest.html - test/jdk/java/awt/FontClass/CreateFont/bigfont.html - test/jdk/java/awt/Frame/DisposeStressTest/DisposeStressTest.html - test/jdk/java/awt/Frame/NonEDT_GUI_DeadlockTest/NonEDT_GUI_Deadlock.html - test/jdk/java/awt/GridBagLayout/GridBagLayoutIpadXYTest/GridBagLayoutIpadXYTest.html - test/jdk/java/awt/KeyboardFocusmanager/ConsumeNextMnemonicKeyTypedTest/ConsumeForModalDialogTest/ConsumeForModalDialogTest.html - test/jdk/java/awt/KeyboardFocusmanager/ConsumeNextMnemonicKeyTypedTest/ConsumeNextMnemonicKeyTypedTest.html - test/jdk/java/awt/KeyboardFocusmanager/TypeAhead/ButtonActionKeyTest/ButtonActionKeyTest.html - test/jdk/java/awt/KeyboardFocusmanager/TypeAhead/MenuItemActivatedTest/MenuItemActivatedTest.html - test/jdk/java/awt/KeyboardFocusmanager/TypeAhead/TestDialogTypeAhead.html - test/jdk/java/awt/List/FirstItemRemoveTest/FirstItemRemoveTest.html - test/jdk/java/awt/List/FocusEmptyListTest/FocusEmptyListTest.html - test/jdk/java/awt/List/KeyEventsTest/KeyEventsTest.html - test/jdk/java/awt/Mouse/ExtraMouseClick/ExtraMouseClick.html - test/jdk/java/awt/Mouse/TitleBarDoubleClick/TitleBarDoubleClick.html - test/jdk/java/awt/Multiscreen/WindowGCChangeTest/WindowGCChangeTest.html - test/jdk/java/awt/Window/HandleWindowDestroyTest/HandleWindowDestroyTest.html - test/jdk/java/awt/datatransfer/DragUnicodeBetweenJVMTest/DragUnicodeBetweenJVMTest.html - test/jdk/java/awt/datatransfer/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.html - test/jdk/java/awt/dnd/DragInterceptorAppletTest/DragInterceptorAppletTest.html - test/jdk/java/awt/dnd/FileListBetweenJVMsTest/FileListBetweenJVMsTest.html - test/jdk/java/awt/dnd/ImageDecoratedDnDInOut/ImageDecoratedDnDInOut.html - test/jdk/java/awt/dnd/ImageDecoratedDnDNegative/ImageDecoratedDnDNegative.html - test/jdk/java/awt/dnd/InterJVMGetDropSuccessTest/InterJVMGetDropSuccessTest.html - test/jdk/java/awt/dnd/NoFormatsCrashTest/NoFormatsCrashTest.html - test/jdk/java/awt/dnd/URIListBetweenJVMsTest/URIListBetweenJVMsTest.html - test/jdk/java/awt/dnd/URIListToFileListBetweenJVMsTest/URIListToFileListBetweenJVMsTest.html - test/jdk/java/awt/event/ComponentEvent/MovedResizedTardyEventTest/MovedResizedTardyEventTest.html - test/jdk/java/awt/event/KeyEvent/KeyTyped/CtrlASCII.html - test/jdk/java/awt/event/MouseEvent/FrameMouseEventAbsoluteCoordsTest/FrameMouseEventAbsoluteCoordsTest.html - test/jdk/java/awt/event/MouseEvent/MenuDragMouseEventAbsoluteCoordsTest/MenuDragMouseEventAbsoluteCoordsTest.html - test/jdk/java/awt/event/MouseEvent/MouseClickTest/MouseClickTest.html - test/jdk/java/awt/event/MouseEvent/MouseWheelEventAbsoluteCoordsTest/MouseWheelEventAbsoluteCoordsTest.html - test/jdk/java/awt/event/MouseEvent/RobotLWTest/RobotLWTest.html - test/jdk/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_2.html - test/jdk/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_3.html - test/jdk/javax/imageio/AppletResourceTest.html - test/jdk/javax/swing/JFrame/4962534/bug4962534.html - test/jdk/javax/swing/JPopupMenu/4634626/bug4634626.html - test/jdk/javax/swing/MultiUIDefaults/4300666/bug4300666.html - test/jdk/javax/swing/text/StyledEditorKit/4506788/bug4506788.html ! test/jdk/jdk/incubator/vector/gen-tests.sh - test/jdk/jdk/internal/platform/docker/Dockerfile-BasicTest - test/jdk/jdk/internal/platform/docker/Dockerfile-BasicTest-aarch64 - test/jdk/jdk/internal/platform/docker/Dockerfile-BasicTest-ppc64le - test/jdk/jdk/internal/platform/docker/Dockerfile-BasicTest-s390x - test/jdk/sanity/client/TEST.ROOT.template - test/jdk/sun/java2d/cmm/ColorConvertOp/ConstructorsNullTest/ConstructorsNullTest.html - test/jdk/vm/JniInvocationTest.java - test/jdk/vm/exeJniInvocationTest.c - test/jdk/vm/gc/ArraySize.java - test/jdk/vm/gc/InfiniteList.java - test/jdk/vm/jit/BadLogicCode.java - test/jdk/vm/jit/ExceptionInInit.java - test/jdk/vm/jit/JITClassInit.java - test/jdk/vm/runtime/ExplicitArithmeticCheck.java - test/jdk/vm/runtime/MonitorCacheMaybeExpand_DeadLock.java - test/jdk/vm/runtime/ReflectStackOverflow.java - test/jdk/vm/runtime/ShiftTest.java - test/jdk/vm/runtime/WideStrictInline.java - test/jdk/vm/verifier/TestStaticIF.java - test/jdk/vm/verifier/VerifyProtectedConstructor.java - test/jdk/vm/verifier/VerifyStackForExceptionHandlers.java - test/jdk/vm/verifier/defaultMethods/DefaultMethodRegressionTests.java - test/jdk/vm/verifier/defaultMethods/DefaultMethodRegressionTestsRun.java - test/langtools/jdk/javadoc/tool/doclint/ImplicitHeadersTest.java - test/langtools/tools/javac/doclint/ImplicitHeadersTest.java From maurizio.cimadamore at oracle.com Thu Apr 11 11:31:07 2019 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 11 Apr 2019 11:31:07 +0000 Subject: hg: panama/dev: Automatic merge with foreign Message-ID: <201904111131.x3BBV7Wp021564@aojmv0008.oracle.com> Changeset: d6ad571a093e Author: mcimadamore Date: 2019-04-11 13:30 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/d6ad571a093e Automatic merge with foreign From maurizio.cimadamore at oracle.com Thu Apr 11 13:10:27 2019 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Thu, 11 Apr 2019 14:10:27 +0100 Subject: [foreign] RFR 8222337: Binder use of MethodHandles.publicLookup is bogus Message-ID: Hi, since JDK 9, the behavior of MethodHandles::lookup vs MethodHandles::publicLookup has changed slightly: 1) MethodHandles::lookup() does access check using full module graph (e.g. including checks whether the module of the lookup class 'reads' the module in which the accessed member is defined) 2) MethodHandles::publicLookup() does a more relaxed check - as long as the accessed member is in some public type defined in an _unconditionally_ exported package, access is granted. Module reads are _not_ taken into account. The lack of checks for module reads is what made use of MethodHandle::publicLookup appealing for Panama: after all, the binder lives in java.base and java.base does NOT read user-defined modules. That said, publicLookup() has issues - in that it only works if the package in which the member is defined is unconditionally exported. So, any modular use of the binder will quickly run into issues. The best option is to use a regular lookup, rather than a public one. But then we have problem with module reads; to address these we have two options: * add the required module reads dynamically * call setAccessible on the reflective member we want to obtain a MH for Given the simplicity of the latter approach, I decided to go down that route. I also added a test which checks that we can create callbacks for interfaces which sit at various level of package 'exported-ness'. Webrev: http://cr.openjdk.java.net/~mcimadamore/panama/8222337/ Cheers Maurizio From sundararajan.athijegannathan at oracle.com Thu Apr 11 13:56:46 2019 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Thu, 11 Apr 2019 19:26:46 +0530 Subject: [foreign] RFR 8222337: Binder use of MethodHandles.publicLookup is bogus In-Reply-To: References: Message-ID: <5CAF479E.6040802@oracle.com> Looks good! Minor comments: * Util.getCallbackMH may have a comment explaining why we're doing this. i.e., to support binding of callbacks which may be in implementation detail of a module (and hence may be in non-exported package of the module that uses panama) * The test could avoid java.desktop. Could use java.base or some such. That way, we can have minimal dependency from panama tests (just in case panama is targeted to educed JDK :) ) -Sundar On 11/04/19, 6:40 PM, Maurizio Cimadamore wrote: > Hi, > since JDK 9, the behavior of MethodHandles::lookup vs > MethodHandles::publicLookup has changed slightly: > > 1) MethodHandles::lookup() does access check using full module graph > (e.g. including checks whether the module of the lookup class 'reads' > the module in which the accessed member is defined) > > 2) MethodHandles::publicLookup() does a more relaxed check - as long > as the accessed member is in some public type defined in an > _unconditionally_ exported package, access is granted. Module reads > are _not_ taken into account. > > The lack of checks for module reads is what made use of > MethodHandle::publicLookup appealing for Panama: after all, the binder > lives in java.base and java.base does NOT read user-defined modules. > > That said, publicLookup() has issues - in that it only works if the > package in which the member is defined is unconditionally exported. > So, any modular use of the binder will quickly run into issues. > > The best option is to use a regular lookup, rather than a public one. > But then we have problem with module reads; to address these we have > two options: > > * add the required module reads dynamically > * call setAccessible on the reflective member we want to obtain a MH for > > Given the simplicity of the latter approach, I decided to go down that > route. I also added a test which checks that we can create callbacks > for interfaces which sit at various level of package 'exported-ness'. > > Webrev: > http://cr.openjdk.java.net/~mcimadamore/panama/8222337/ > > Cheers > Maurizio > From maurizio.cimadamore at oracle.com Thu Apr 11 14:59:52 2019 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 11 Apr 2019 14:59:52 +0000 Subject: hg: panama/dev: 8222337: Binder use of MethodHandles.publicLookup is bogus Message-ID: <201904111459.x3BExrox001921@aojmv0008.oracle.com> Changeset: dd18157bf557 Author: mcimadamore Date: 2019-04-11 15:59 +0100 URL: http://hg.openjdk.java.net/panama/dev/rev/dd18157bf557 8222337: Binder use of MethodHandles.publicLookup is bogus Reviewed-by: sundar ! src/java.base/share/classes/jdk/internal/foreign/Util.java + test/jdk/java/foreign/api/lookup/TestLookup.java + test/jdk/java/foreign/api/lookup/mod/jdk/test/Test.java + test/jdk/java/foreign/api/lookup/mod/jdk/test/exported_all/FI.java + test/jdk/java/foreign/api/lookup/mod/jdk/test/exported_desktop/FI.java + test/jdk/java/foreign/api/lookup/mod/jdk/test/not_exported/FI.java + test/jdk/java/foreign/api/lookup/mod/module-info.java From maurizio.cimadamore at oracle.com Thu Apr 11 15:00:08 2019 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Thu, 11 Apr 2019 16:00:08 +0100 Subject: [foreign] RFR 8222337: Binder use of MethodHandles.publicLookup is bogus In-Reply-To: <5CAF479E.6040802@oracle.com> References: <5CAF479E.6040802@oracle.com> Message-ID: <57def55a-d5a9-e1a0-c9b3-9262622f7354@oracle.com> Fixed and pushed Thanks! Maurizio On 11/04/2019 14:56, Sundararajan Athijegannathan wrote: > Looks good! > > Minor comments: > > * Util.getCallbackMH may have a comment explaining why we're doing > this. i.e., to support binding of callbacks which may be in > implementation detail of a module (and hence may be in non-exported > package of the module that uses panama) > > * The test could avoid java.desktop. Could use java.base or some such. > That way, we can have minimal dependency from panama tests (just in > case panama is targeted to educed JDK :) ) > > -Sundar > > On 11/04/19, 6:40 PM, Maurizio Cimadamore wrote: >> Hi, >> since JDK 9, the behavior of MethodHandles::lookup vs >> MethodHandles::publicLookup has changed slightly: >> >> 1) MethodHandles::lookup() does access check using full module graph >> (e.g. including checks whether the module of the lookup class 'reads' >> the module in which the accessed member is defined) >> >> 2) MethodHandles::publicLookup() does a more relaxed check - as long >> as the accessed member is in some public type defined in an >> _unconditionally_ exported package, access is granted. Module reads >> are _not_ taken into account. >> >> The lack of checks for module reads is what made use of >> MethodHandle::publicLookup appealing for Panama: after all, the >> binder lives in java.base and java.base does NOT read user-defined >> modules. >> >> That said, publicLookup() has issues - in that it only works if the >> package in which the member is defined is unconditionally exported. >> So, any modular use of the binder will quickly run into issues. >> >> The best option is to use a regular lookup, rather than a public one. >> But then we have problem with module reads; to address these we have >> two options: >> >> * add the required module reads dynamically >> * call setAccessible on the reflective member we want to obtain a MH for >> >> Given the simplicity of the latter approach, I decided to go down >> that route. I also added a test which checks that we can create >> callbacks for interfaces which sit at various level of package >> 'exported-ness'. >> >> Webrev: >> http://cr.openjdk.java.net/~mcimadamore/panama/8222337/ >> >> Cheers >> Maurizio >> From maurizio.cimadamore at oracle.com Thu Apr 11 15:04:37 2019 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 11 Apr 2019 15:04:37 +0000 Subject: hg: panama/dev: Automatic merge with foreign Message-ID: <201904111504.x3BF4bGq004512@aojmv0008.oracle.com> Changeset: 167098a269d5 Author: mcimadamore Date: 2019-04-11 17:04 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/167098a269d5 Automatic merge with foreign From maurizio.cimadamore at oracle.com Thu Apr 11 15:04:13 2019 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 11 Apr 2019 15:04:13 +0000 Subject: hg: panama/dev: Automatic merge with foreign Message-ID: <201904111504.x3BF4DZK004050@aojmv0008.oracle.com> Changeset: dd07ef270b59 Author: mcimadamore Date: 2019-04-11 17:04 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/dd07ef270b59 Automatic merge with foreign From vladimir.x.ivanov at oracle.com Thu Apr 11 21:37:53 2019 From: vladimir.x.ivanov at oracle.com (Vladimir Ivanov) Date: Thu, 11 Apr 2019 14:37:53 -0700 Subject: [vector] RFR 8221808: Fix jmh build failure about SumOfUnsignedBytes.java In-Reply-To: References: Message-ID: Looks good. Thanks for taking care of it. Best regards, Vladimir Ivanov On 11/04/2019 01:33, Yang Zhang (Arm Technology China) wrote: > Hi > > > Could you please help to review this patch? > > > JBS: https://bugs.openjdk.java.net/browse/JDK-8221808 > > Webrev: http://cr.openjdk.java.net/~yzhang/vectorapi/8221808/webrev.00/ > > > SumOfUnsignedBytes.java uses some old APIs which have been removed. These APIs are removed in commit http://hg.openjdk.java.net/panama/dev/rev/3b869865b8ed. Updated the test case to use alternative Vector APIs. > > > Regards, > > Yang > From kishor.kharbas at intel.com Fri Apr 12 00:07:02 2019 From: kishor.kharbas at intel.com (Kharbas, Kishor) Date: Fri, 12 Apr 2019 00:07:02 +0000 Subject: [vector] refactoring api for mask, shuffle creation Message-ID: Hi, I am experimenting with few changes to improve the API. Specifically, 1. mask and shuffle creation methods (example, maskFromArray()) right now are defined in XxxVector. From user's perspective it seems more intuitive for Mask/Shuffle to define these methods. This patch moves them out of XxxVector to their respective classes. 2. Moved classes - Species, Shape, Shuffle and Mask, at the top-level instead of being nested inside vector. Please help me evaluate the changes. Apart from moving methods around and changing signatures, there are changes in Species class -- addition of factory methods to create masks and shuffles. I am in the process of testing the patch. Webrev : http://cr.openjdk.java.net/~kkharbas/vector-api/species_refactoring-phase2/webrev-phase2.02/ Javadoc : http://cr.openjdk.java.net/~kkharbas/vector-api/species_refactoring-phase2/webrev_phase-2.JavaDoc.02/jdk.incubator.vector/jdk/incubator/vector/package-summary.html Thanks Kishor From yang.zhang at arm.com Fri Apr 12 02:53:11 2019 From: yang.zhang at arm.com (yang.zhang at arm.com) Date: Fri, 12 Apr 2019 02:53:11 +0000 Subject: hg: panama/dev: 8221808: Fix jmh build failure about SumOfUnsignedBytes.java Message-ID: <201904120253.x3C2rBw9021149@aojmv0008.oracle.com> Changeset: d7b52a030a56 Author: yzhang Date: 2019-04-11 16:17 +0800 URL: http://hg.openjdk.java.net/panama/dev/rev/d7b52a030a56 8221808: Fix jmh build failure about SumOfUnsignedBytes.java Reviewed-by: vlivanov ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/SumOfUnsignedBytes.java From maurizio.cimadamore at oracle.com Fri Apr 12 02:59:33 2019 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 12 Apr 2019 02:59:33 +0000 Subject: hg: panama/dev: Automatic merge with vectorIntrinsics Message-ID: <201904120259.x3C2xYEj027529@aojmv0008.oracle.com> Changeset: 3c473783c152 Author: mcimadamore Date: 2019-04-12 04:59 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/3c473783c152 Automatic merge with vectorIntrinsics From Yang.Zhang at arm.com Fri Apr 12 03:08:28 2019 From: Yang.Zhang at arm.com (Yang Zhang (Arm Technology China)) Date: Fri, 12 Apr 2019 03:08:28 +0000 Subject: [vector] RFR 8221808: Fix jmh build failure about SumOfUnsignedBytes.java In-Reply-To: References: , Message-ID: Thanks for your review. Pushed. Regards, Yang ________________________________ From: Vladimir Ivanov Sent: Friday, April 12, 2019 5:37 AM To: Yang Zhang (Arm Technology China); panama-dev at openjdk.java.net Subject: Re: [vector] RFR 8221808: Fix jmh build failure about SumOfUnsignedBytes.java Looks good. Thanks for taking care of it. Best regards, Vladimir Ivanov On 11/04/2019 01:33, Yang Zhang (Arm Technology China) wrote: > Hi > > > Could you please help to review this patch? > > > JBS: https://bugs.openjdk.java.net/browse/JDK-8221808 > > Webrev: http://cr.openjdk.java.net/~yzhang/vectorapi/8221808/webrev.00/ > > > SumOfUnsignedBytes.java uses some old APIs which have been removed. These APIs are removed in commit http://hg.openjdk.java.net/panama/dev/rev/3b869865b8ed. Updated the test case to use alternative Vector APIs. > > > Regards, > > Yang > From Yang.Zhang at arm.com Fri Apr 12 03:09:08 2019 From: Yang.Zhang at arm.com (Yang Zhang (Arm Technology China)) Date: Fri, 12 Apr 2019 03:09:08 +0000 Subject: [vector] RFR 8221812: Fine-tune jmh test for vector api Message-ID: Hi Could you please help to review this patch? JBS: https://bugs.openjdk.java.net/browse/JDK-8221812 Webrev: http://cr.openjdk.java.net/~yzhang/vectorapi/8221812/webrev.00/ Currently, scalar reduction operation test cases only calculate final result of an array. But vector api reduction operation test cases calculate both intermediate and final result. To compare performance of scalar and vector api, vector api test cases are modified to keep alignment with the *Scalar benchmarks for comparison. Regards, Yang From Yang.Zhang at arm.com Fri Apr 12 03:23:01 2019 From: Yang.Zhang at arm.com (Yang Zhang (Arm Technology China)) Date: Fri, 12 Apr 2019 03:23:01 +0000 Subject: [vector] RFR 8221812: Fine-tune jmh test for vector api In-Reply-To: References: Message-ID: Sorry for the wrong links. Please check new links as follows: JBS: https://bugs.openjdk.java.net/browse/JDK-8221812 Webrev: http://cr.openjdk.java.net/~yzhang/vectorapi/8221812/webrev.00/ Regards, Yang -----Original Message----- From: panama-dev On Behalf Of Yang Zhang (Arm Technology China) Sent: Friday, April 12, 2019 11:09 AM To: panama-dev at openjdk.java.net Subject: [vector] RFR 8221812: Fine-tune jmh test for vector api Hi Could you please help to review this patch? JBS: https://bugs.openjdk.java.net/browse/JDK-8221812 Webrev: http://cr.openjdk.java.net/~yzhang/vectorapi/8221812/webrev.00/ Currently, scalar reduction operation test cases only calculate final result of an array. But vector api reduction operation test cases calculate both intermediate and final result. To compare performance of scalar and vector api, vector api test cases are modified to keep alignment with the *Scalar benchmarks for comparison. Regards, Yang From brian.goetz at oracle.com Fri Apr 12 17:17:46 2019 From: brian.goetz at oracle.com (Brian Goetz) Date: Fri, 12 Apr 2019 13:17:46 -0400 Subject: [vector] refactoring api for mask, shuffle creation In-Reply-To: References: Message-ID: <2beea67b-1a25-ff92-b838-b4454f9dd90a@oracle.com> Moving the classes to top-level is a slam-dunk.? There's no need for nesting in this API.? We might ask ourselves later if we should rename some of these (Shape -> VectorShape) but that's easy if we decide to do so. I like the idea of moving the mask/shuffle creation methods to Mask/Shuffle, since they will be easier for developers to find (and secondarily it reduces the surface area of the API.)? Now, the Mask and Shuffle abstractions effectively stand on their own; they are their own top-level entity, and they take control of their own creation.? This results in a simpler API. I hope that the generated code remains good with this shift. On 4/11/2019 8:07 PM, Kharbas, Kishor wrote: > > Hi, > > I am experimenting with few changes to improve the API. Specifically, > > 1.mask and shuffle creation methods (example, maskFromArray()) right > now are defined in XxxVector. From user?s perspective it seems more > intuitive for Mask/Shuffle to define these methods. This patch moves > them out of XxxVector to their respective classes. > > 2.Moved classes ? Species, Shape, Shuffle and Mask, at the top-level > instead of being nested inside vector. > > Please help me evaluate the changes. Apart from moving methods around > and changing signatures, there are changes in Species class -- > addition of factory methods to create masks and shuffles. > > I am in the process of testing the patch. > > Webrev : > http://cr.openjdk.java.net/~kkharbas/vector-api/species_refactoring-phase2/webrev-phase2.02/ > > Javadoc : > http://cr.openjdk.java.net/~kkharbas/vector-api/species_refactoring-phase2/webrev_phase-2.JavaDoc.02/jdk.incubator.vector/jdk/incubator/vector/package-summary.html > > Thanks > > Kishor > From kishor.kharbas at intel.com Fri Apr 12 17:52:03 2019 From: kishor.kharbas at intel.com (Kharbas, Kishor) Date: Fri, 12 Apr 2019 17:52:03 +0000 Subject: [vector] refactoring api for mask, shuffle creation In-Reply-To: <2beea67b-1a25-ff92-b838-b4454f9dd90a@oracle.com> References: <2beea67b-1a25-ff92-b838-b4454f9dd90a@oracle.com> Message-ID: Thanks Brian for the feedback. I also like the idea of renaming Shape, Species, etc. Code generation is not affected as per my testing so far, I will follow up with more testing. Just wanted to make sure changes to Species class (copied below) do not undo the efforts been put to make it value friendly. * @param the boxed element type of this species */ public static abstract class Species { - Species() {} + + @FunctionalInterface + interface fShuffleFromArray { + Shuffle apply(int[] reorder, int idx); + } + + final Function> maskFactory; + final Function> shuffleFromOpFactory; + final fShuffleFromArray shuffleFromArrayFactory; + + Species(Function> maskFactory, + Function> shuffleFromOpFactory, + fShuffleFromArray shuffleFromArrayFactory) { + this.maskFactory = maskFactory; + this.shuffleFromOpFactory = shuffleFromOpFactory; + this.shuffleFromArrayFactory = shuffleFromArrayFactory; + } /** * Returns the primitive element type of vectors produced by this @@ -1100,6 +1120,18 @@ Shape s = Shape.forBitSize(vectorBitSize); return Species.of(c, s); } + + interface FOpm { + boolean apply(int i); + } + + Vector.Mask opm(Vector.Species.FOpm f) { + boolean[] res = new boolean[length()]; + for (int i = 0; i < length(); i++) { + res[i] = f.apply(i); + } + return maskFactory.apply(res); + } } Thanks Kishor From: Brian Goetz [mailto:brian.goetz at oracle.com] Sent: Friday, April 12, 2019 10:18 AM To: Kharbas, Kishor ; panama-dev at openjdk.java.net Cc: John Rose ; Vladimir Ivanov ; Viswanathan, Sandhya Subject: Re: [vector] refactoring api for mask, shuffle creation Moving the classes to top-level is a slam-dunk. There's no need for nesting in this API. We might ask ourselves later if we should rename some of these (Shape -> VectorShape) but that's easy if we decide to do so. I like the idea of moving the mask/shuffle creation methods to Mask/Shuffle, since they will be easier for developers to find (and secondarily it reduces the surface area of the API.) Now, the Mask and Shuffle abstractions effectively stand on their own; they are their own top-level entity, and they take control of their own creation. This results in a simpler API. I hope that the generated code remains good with this shift. On 4/11/2019 8:07 PM, Kharbas, Kishor wrote: Hi, I am experimenting with few changes to improve the API. Specifically, 1. mask and shuffle creation methods (example, maskFromArray()) right now are defined in XxxVector. From user's perspective it seems more intuitive for Mask/Shuffle to define these methods. This patch moves them out of XxxVector to their respective classes. 2. Moved classes - Species, Shape, Shuffle and Mask, at the top-level instead of being nested inside vector. Please help me evaluate the changes. Apart from moving methods around and changing signatures, there are changes in Species class -- addition of factory methods to create masks and shuffles. I am in the process of testing the patch. Webrev : http://cr.openjdk.java.net/~kkharbas/vector-api/species_refactoring-phase2/webrev-phase2.02/ Javadoc : http://cr.openjdk.java.net/~kkharbas/vector-api/species_refactoring-phase2/webrev_phase-2.JavaDoc.02/jdk.incubator.vector/jdk/incubator/vector/package-summary.html Thanks Kishor From vladimir.x.ivanov at oracle.com Fri Apr 12 21:13:41 2019 From: vladimir.x.ivanov at oracle.com (Vladimir Ivanov) Date: Fri, 12 Apr 2019 14:13:41 -0700 Subject: [vector] RFR 8221812: Fine-tune jmh test for vector api In-Reply-To: References: Message-ID: <66d41c9b-e743-570b-3e84-5c714c4eeaf2@oracle.com> Looks good. Best regards, Vladimir Ivanov On 11/04/2019 20:23, Yang Zhang (Arm Technology China) wrote: > > Sorry for the wrong links. Please check new links as follows: > > JBS: https://bugs.openjdk.java.net/browse/JDK-8221812 > Webrev: http://cr.openjdk.java.net/~yzhang/vectorapi/8221812/webrev.00/ > > Regards, > Yang > > -----Original Message----- > From: panama-dev On Behalf Of Yang Zhang (Arm Technology China) > Sent: Friday, April 12, 2019 11:09 AM > To: panama-dev at openjdk.java.net > Subject: [vector] RFR 8221812: Fine-tune jmh test for vector api > > Hi > > > Could you please help to review this patch? > > > JBS: https://bugs.openjdk.java.net/browse/JDK-8221812 > Webrev: http://cr.openjdk.java.net/~yzhang/vectorapi/8221812/webrev.00/ > > > Currently, scalar reduction operation test cases only calculate final result of an array. But vector api reduction operation test cases calculate both intermediate and final result. To compare performance of scalar and vector api, vector api test cases are modified to keep alignment with the *Scalar benchmarks for comparison. > > > Regards, > > Yang > From yang.zhang at arm.com Mon Apr 15 01:48:07 2019 From: yang.zhang at arm.com (yang.zhang at arm.com) Date: Mon, 15 Apr 2019 01:48:07 +0000 Subject: hg: panama/dev: 8221812: Fine-tune jmh test for vector api Message-ID: <201904150148.x3F1m8VY010851@aojmv0008.oracle.com> Changeset: bbc198e97943 Author: yzhang Date: 2019-04-11 17:36 +0800 URL: http://hg.openjdk.java.net/panama/dev/rev/bbc198e97943 8221812: Fine-tune jmh test for vector api Summary: To compare performance of vector api and auto vectorization, vector api and scalar test cases are updated to keep aligned. Reviewed-by: vlivanov ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Byte128Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Byte256Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Byte512Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Byte64Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/ByteMaxVector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/ByteScalar.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Double128Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Double256Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Double512Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Double64Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/DoubleMaxVector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/DoubleScalar.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Float128Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Float256Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Float512Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Float64Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/FloatMaxVector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/FloatScalar.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Int128Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Int256Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Int512Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Int64Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/IntMaxVector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/IntScalar.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Long128Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Long256Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Long512Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Long64Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/LongMaxVector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/LongScalar.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Short128Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Short256Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Short512Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Short64Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/ShortMaxVector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/ShortScalar.java ! test/jdk/jdk/incubator/vector/templates/Perf-Reduction-Max-op.template ! test/jdk/jdk/incubator/vector/templates/Perf-Reduction-Min-op.template ! test/jdk/jdk/incubator/vector/templates/Perf-Reduction-op.template ! test/jdk/jdk/incubator/vector/templates/Perf-Scalar-Binary-Masked-op.template ! test/jdk/jdk/incubator/vector/templates/Perf-Scalar-Binary-op-math.template ! test/jdk/jdk/incubator/vector/templates/Perf-Scalar-Binary-op.template ! test/jdk/jdk/incubator/vector/templates/Perf-Scalar-Blend-op.template ! test/jdk/jdk/incubator/vector/templates/Perf-Scalar-BoolReduction-op.template ! test/jdk/jdk/incubator/vector/templates/Perf-Scalar-Compare.template ! test/jdk/jdk/incubator/vector/templates/Perf-Scalar-Gather-op.template ! test/jdk/jdk/incubator/vector/templates/Perf-Scalar-Rearrange.template ! test/jdk/jdk/incubator/vector/templates/Perf-Scalar-Reduction-Max-op.template ! test/jdk/jdk/incubator/vector/templates/Perf-Scalar-Reduction-Min-op.template ! test/jdk/jdk/incubator/vector/templates/Perf-Scalar-Reduction-op.template ! test/jdk/jdk/incubator/vector/templates/Perf-Scalar-Scatter-op.template ! test/jdk/jdk/incubator/vector/templates/Perf-Scalar-Shift-Masked-op.template ! test/jdk/jdk/incubator/vector/templates/Perf-Scalar-Shift-op.template ! test/jdk/jdk/incubator/vector/templates/Perf-Scalar-Ternary-Masked-op.template ! test/jdk/jdk/incubator/vector/templates/Perf-Scalar-Ternary-op.template ! test/jdk/jdk/incubator/vector/templates/Perf-Scalar-Unary-Masked-op.template ! test/jdk/jdk/incubator/vector/templates/Perf-Scalar-Unary-math.template ! test/jdk/jdk/incubator/vector/templates/Perf-Scalar-Unary-op-math.template ! test/jdk/jdk/incubator/vector/templates/Perf-Scalar-Unary-op.template ! test/jdk/jdk/incubator/vector/templates/Perf-Scalar-header.template ! test/jdk/jdk/incubator/vector/templates/Perf-header.template From maurizio.cimadamore at oracle.com Mon Apr 15 01:54:36 2019 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 15 Apr 2019 01:54:36 +0000 Subject: hg: panama/dev: Automatic merge with vectorIntrinsics Message-ID: <201904150154.x3F1sbLo015117@aojmv0008.oracle.com> Changeset: 6988fa083a2e Author: mcimadamore Date: 2019-04-15 03:54 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/6988fa083a2e Automatic merge with vectorIntrinsics From kishor.kharbas at intel.com Mon Apr 15 07:48:57 2019 From: kishor.kharbas at intel.com (Kharbas, Kishor) Date: Mon, 15 Apr 2019 07:48:57 +0000 Subject: [vector] refactoring api for mask, shuffle creation In-Reply-To: References: <2beea67b-1a25-ff92-b838-b4454f9dd90a@oracle.com> Message-ID: Hi, Requesting review of this formal patch to refactor mask and shuffle creation api. Summary of changes are, 1. mask and shuffle creation methods (example, maskFromArray()) right now are defined in XxxVector. From user's perspective it seems more intuitive for Mask/Shuffle to define these methods. This patch moves them out of XxxVector to their respective classes. 2. Moved classes - Species, Shape, Shuffle and Mask, at the top-level instead of being nested inside vector and prefixed "Vector" to the class names (example, VectorSpecies). 3. Changed jtreg tests. Tests are successful and intrinsification continues to take place. Webrev : http://cr.openjdk.java.net/~kkharbas/vector-api/species_refactoring-phase2/webrev-phase2.03/webrev/ If everything looks ok, I will push this patch. Thanks, Kishor From: Kharbas, Kishor Sent: Friday, April 12, 2019 10:52 AM To: Brian Goetz ; panama-dev at openjdk.java.net Cc: John Rose ; Vladimir Ivanov ; Viswanathan, Sandhya ; Kharbas, Kishor Subject: RE: [vector] refactoring api for mask, shuffle creation Thanks Brian for the feedback. I also like the idea of renaming Shape, Species, etc. Code generation is not affected as per my testing so far, I will follow up with more testing. Just wanted to make sure changes to Species class (copied below) do not undo the efforts been put to make it value friendly. * @param the boxed element type of this species */ public static abstract class Species { - Species() {} + + @FunctionalInterface + interface fShuffleFromArray { + Shuffle apply(int[] reorder, int idx); + } + + final Function> maskFactory; + final Function> shuffleFromOpFactory; + final fShuffleFromArray shuffleFromArrayFactory; + + Species(Function> maskFactory, + Function> shuffleFromOpFactory, + fShuffleFromArray shuffleFromArrayFactory) { + this.maskFactory = maskFactory; + this.shuffleFromOpFactory = shuffleFromOpFactory; + this.shuffleFromArrayFactory = shuffleFromArrayFactory; + } /** * Returns the primitive element type of vectors produced by this @@ -1100,6 +1120,18 @@ Shape s = Shape.forBitSize(vectorBitSize); return Species.of(c, s); } + + interface FOpm { + boolean apply(int i); + } + + Vector.Mask opm(Vector.Species.FOpm f) { + boolean[] res = new boolean[length()]; + for (int i = 0; i < length(); i++) { + res[i] = f.apply(i); + } + return maskFactory.apply(res); + } } Thanks Kishor From: Brian Goetz [mailto:brian.goetz at oracle.com] Sent: Friday, April 12, 2019 10:18 AM To: Kharbas, Kishor >; panama-dev at openjdk.java.net Cc: John Rose >; Vladimir Ivanov >; Viswanathan, Sandhya > Subject: Re: [vector] refactoring api for mask, shuffle creation Moving the classes to top-level is a slam-dunk. There's no need for nesting in this API. We might ask ourselves later if we should rename some of these (Shape -> VectorShape) but that's easy if we decide to do so. I like the idea of moving the mask/shuffle creation methods to Mask/Shuffle, since they will be easier for developers to find (and secondarily it reduces the surface area of the API.) Now, the Mask and Shuffle abstractions effectively stand on their own; they are their own top-level entity, and they take control of their own creation. This results in a simpler API. I hope that the generated code remains good with this shift. On 4/11/2019 8:07 PM, Kharbas, Kishor wrote: Hi, I am experimenting with few changes to improve the API. Specifically, 1. mask and shuffle creation methods (example, maskFromArray()) right now are defined in XxxVector. From user's perspective it seems more intuitive for Mask/Shuffle to define these methods. This patch moves them out of XxxVector to their respective classes. 2. Moved classes - Species, Shape, Shuffle and Mask, at the top-level instead of being nested inside vector. Please help me evaluate the changes. Apart from moving methods around and changing signatures, there are changes in Species class -- addition of factory methods to create masks and shuffles. I am in the process of testing the patch. Webrev : http://cr.openjdk.java.net/~kkharbas/vector-api/species_refactoring-phase2/webrev-phase2.02/ Javadoc : http://cr.openjdk.java.net/~kkharbas/vector-api/species_refactoring-phase2/webrev_phase-2.JavaDoc.02/jdk.incubator.vector/jdk/incubator/vector/package-summary.html Thanks Kishor From brian.goetz at oracle.com Mon Apr 15 17:45:35 2019 From: brian.goetz at oracle.com (Brian Goetz) Date: Mon, 15 Apr 2019 13:45:35 -0400 Subject: [vector] refactoring api for mask, shuffle creation In-Reply-To: References: <2beea67b-1a25-ff92-b838-b4454f9dd90a@oracle.com> Message-ID: <5737CF9B-4EF8-4E64-A5A4-C9AFC48646F2@oracle.com> This would also be a good time to see if the generated code is perturbed by switching Species to an interface. Since all the actual Species instances are typed more sharply (e.g., IntSpecies), I think we might be able to get away with this? If we can do so now, that?s a win, as its one less thing we will be tempted to change later. In any case, the behavior you are adding here (the fields, and the constructor) should be live in AbstractSpecies, where the rest of the state is. We definitely don?t want to be splitting this across two classes. > Thanks Brian for the feedback. I also like the idea of renaming Shape, Species, etc. Code generation is not affected as per my testing so far, I will follow up with more testing. > Just wanted to make sure changes to Species class (copied below) do not undo the efforts been put to make it value friendly. > > * @param the boxed element type of this species > */ > public static abstract class Species { > - Species() {} > + > + @FunctionalInterface > + interface fShuffleFromArray { > + Shuffle apply(int[] reorder, int idx); > + } > + > + final Function> maskFactory; > + final Function> shuffleFromOpFactory; > + final fShuffleFromArray shuffleFromArrayFactory; > + > + Species(Function> maskFactory, > + Function> shuffleFromOpFactory, > + fShuffleFromArray shuffleFromArrayFactory) { > + this.maskFactory = maskFactory; > + this.shuffleFromOpFactory = shuffleFromOpFactory; > + this.shuffleFromArrayFactory = shuffleFromArrayFactory; > + } > /** > * Returns the primitive element type of vectors produced by this > @@ -1100,6 +1120,18 @@ > Shape s = Shape.forBitSize(vectorBitSize); > return Species.of(c, s); > } > + > + interface FOpm { > + boolean apply(int i); > + } > + > + Vector.Mask opm(Vector.Species.FOpm f) { > + boolean[] res = new boolean[length()]; > + for (int i = 0; i < length(); i++) { > + res[i] = f.apply(i); > + } > + return maskFactory.apply(res); > + } > } > > Thanks > Kishor > > From: Brian Goetz [mailto:brian.goetz at oracle.com] > Sent: Friday, April 12, 2019 10:18 AM > To: Kharbas, Kishor ; panama-dev at openjdk.java.net > Cc: John Rose ; Vladimir Ivanov ; Viswanathan, Sandhya > Subject: Re: [vector] refactoring api for mask, shuffle creation > > Moving the classes to top-level is a slam-dunk. There's no need for nesting in this API. We might ask ourselves later if we should rename some of these (Shape -> VectorShape) but that's easy if we decide to do so. > > I like the idea of moving the mask/shuffle creation methods to Mask/Shuffle, since they will be easier for developers to find (and secondarily it reduces the surface area of the API.) Now, the Mask and Shuffle abstractions effectively stand on their own; they are their own top-level entity, and they take control of their own creation. This results in a simpler API. > > I hope that the generated code remains good with this shift. > > > On 4/11/2019 8:07 PM, Kharbas, Kishor wrote: > Hi, > I am experimenting with few changes to improve the API. Specifically, > 1. mask and shuffle creation methods (example, maskFromArray()) right now are defined in XxxVector. From user?s perspective it seems more intuitive for Mask/Shuffle to define these methods. This patch moves them out of XxxVector to their respective classes. > 2. Moved classes ? Species, Shape, Shuffle and Mask, at the top-level instead of being nested inside vector. > > Please help me evaluate the changes. Apart from moving methods around and changing signatures, there are changes in Species class -- addition of factory methods to create masks and shuffles. > I am in the process of testing the patch. > > Webrev : http://cr.openjdk.java.net/~kkharbas/vector-api/species_refactoring-phase2/webrev-phase2.02/ > Javadoc : http://cr.openjdk.java.net/~kkharbas/vector-api/species_refactoring-phase2/webrev_phase-2.JavaDoc.02/jdk.incubator.vector/jdk/incubator/vector/package-summary.html > > Thanks > Kishor > From kishor.kharbas at intel.com Wed Apr 17 00:22:45 2019 From: kishor.kharbas at intel.com (Kharbas, Kishor) Date: Wed, 17 Apr 2019 00:22:45 +0000 Subject: [vector] refactoring api for mask, shuffle creation In-Reply-To: <5737CF9B-4EF8-4E64-A5A4-C9AFC48646F2@oracle.com> References: <2beea67b-1a25-ff92-b838-b4454f9dd90a@oracle.com> <5737CF9B-4EF8-4E64-A5A4-C9AFC48646F2@oracle.com> Message-ID: Hi Brian, Switching class Species to an interface does not perturb code generation. In the updated patch I have made this change along with moving the new fields to AbstractSpecies. New bug created : https://bugs.openjdk.java.net/browse/JDK-8222584 webrev : http://cr.openjdk.java.net/~kkharbas/vector-api/8222584/webrev.01/ If the patch looks good, I will go ahead and push this. Thanks, Kishor From: Brian Goetz [mailto:brian.goetz at oracle.com] Sent: Monday, April 15, 2019 10:46 AM To: Kharbas, Kishor Cc: panama-dev at openjdk.java.net; John Rose ; Vladimir Ivanov ; Viswanathan, Sandhya Subject: Re: [vector] refactoring api for mask, shuffle creation This would also be a good time to see if the generated code is perturbed by switching Species to an interface. Since all the actual Species instances are typed more sharply (e.g., IntSpecies), I think we might be able to get away with this? If we can do so now, that?s a win, as its one less thing we will be tempted to change later. In any case, the behavior you are adding here (the fields, and the constructor) should be live in AbstractSpecies, where the rest of the state is. We definitely don?t want to be splitting this across two classes. Thanks Brian for the feedback. I also like the idea of renaming Shape, Species, etc. Code generation is not affected as per my testing so far, I will follow up with more testing. Just wanted to make sure changes to Species class (copied below) do not undo the efforts been put to make it value friendly. * @param the boxed element type of this species */ public static abstract class Species { - Species() {} + + @FunctionalInterface + interface fShuffleFromArray { + Shuffle apply(int[] reorder, int idx); + } + + final Function> maskFactory; + final Function> shuffleFromOpFactory; + final fShuffleFromArray shuffleFromArrayFactory; + + Species(Function> maskFactory, + Function> shuffleFromOpFactory, + fShuffleFromArray shuffleFromArrayFactory) { + this.maskFactory = maskFactory; + this.shuffleFromOpFactory = shuffleFromOpFactory; + this.shuffleFromArrayFactory = shuffleFromArrayFactory; + } /** * Returns the primitive element type of vectors produced by this @@ -1100,6 +1120,18 @@ Shape s = Shape.forBitSize(vectorBitSize); return Species.of(c, s); } + + interface FOpm { + boolean apply(int i); + } + + Vector.Mask opm(Vector.Species.FOpm f) { + boolean[] res = new boolean[length()]; + for (int i = 0; i < length(); i++) { + res[i] = f.apply(i); + } + return maskFactory.apply(res); + } } Thanks Kishor From: Brian Goetz [mailto:brian.goetz at oracle.com] Sent: Friday, April 12, 2019 10:18 AM To: Kharbas, Kishor >; panama-dev at openjdk.java.net Cc: John Rose >; Vladimir Ivanov >; Viswanathan, Sandhya > Subject: Re: [vector] refactoring api for mask, shuffle creation Moving the classes to top-level is a slam-dunk. There's no need for nesting in this API. We might ask ourselves later if we should rename some of these (Shape -> VectorShape) but that's easy if we decide to do so. I like the idea of moving the mask/shuffle creation methods to Mask/Shuffle, since they will be easier for developers to find (and secondarily it reduces the surface area of the API.) Now, the Mask and Shuffle abstractions effectively stand on their own; they are their own top-level entity, and they take control of their own creation. This results in a simpler API. I hope that the generated code remains good with this shift. On 4/11/2019 8:07 PM, Kharbas, Kishor wrote: Hi, I am experimenting with few changes to improve the API. Specifically, 1. mask and shuffle creation methods (example, maskFromArray()) right now are defined in XxxVector. From user?s perspective it seems more intuitive for Mask/Shuffle to define these methods. This patch moves them out of XxxVector to their respective classes. 2. Moved classes ? Species, Shape, Shuffle and Mask, at the top-level instead of being nested inside vector. Please help me evaluate the changes. Apart from moving methods around and changing signatures, there are changes in Species class -- addition of factory methods to create masks and shuffles. I am in the process of testing the patch. Webrev : http://cr.openjdk.java.net/~kkharbas/vector-api/species_refactoring-phase2/webrev-phase2.02/ Javadoc : http://cr.openjdk.java.net/~kkharbas/vector-api/species_refactoring-phase2/webrev_phase-2.JavaDoc.02/jdk.incubator.vector/jdk/incubator/vector/package-summary.html Thanks Kishor From maurizio.cimadamore at oracle.com Wed Apr 17 17:11:28 2019 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Wed, 17 Apr 2019 18:11:28 +0100 Subject: [foreign] RFR - abi cleanup Message-ID: <6ffd054d-135d-d61a-59c8-3669175eb494@oracle.com> (Apologies for the lack of jbs issue, jbs seems to be down at the moment) In the past few days I've been looking hard at ways to simplify the ABI code. This was something we needed to look at, after the Windows integration, which introduced a lot of duplicated code (and that was a deliberate choice, in order to minimize complexity). I think time has come to look at the impl again. I've consolidated the following areas: * CallingSequence/CallingSequenceBuilder - now CallingSequenceBuilder is a proper abstract class, which is ABI agnostic, and can be used by a client to put together a calling sequence, given a 'Function'. This is perhaps the part of the code that has changed the most. Note that I've removed the split between Argument (ABI-independent) and ArgumentInfo (ABI-dependent); now ArgumentInfo *is a* Argument, which simplifies the builder flow significantly. * Another area that has changed a lot is the logic for putting together ShuffleRecipe - there's now a new (and much simpler) builder. Again, the code removes many indirection, and it also fixes some of the issues in the old code, where, essentially, the recipe builder depended on physical details such as vector register size. One part that has changed a lot here is that I realized that many aspects of building a recipe were being done in different places - for instance, CallingSequenceBuilder added explicit 'skip' bindings to support shuffle recipe (but same skips were not generated for other argument classes). ShuffleRecipeCollector also added its own steps (through the addPulls method), and so did the logic that computed the final recipe array (which added a lot of 'STOP' steps). Now the steps are all computed before hand in? ShuffleRecipe::make, passed onto the builder which then puts together the array. * CalingSequence has been simplified and all the logic for computing offsets have been moved to ShuffleRecipe, since this is where it really belongs (after all, you need this offset info only if you want to play with UniversalInvoker). * UniversalNativeInvokerImpl and UniversalUpcallHandlerImpl are gone. Instead there's an helper interface called UniversalAdapter which defines how arguments are boxed/unboxed. The specific ABI will provide concrete implementation for these. * VarargsInvoker has also changed - we used to intercept a vararg call, specialize everything then call ABI again to obtain another MH and then use that. The new code gives up on all that; whenever there's a variadic call, we infer layouts and carriers, create a new calling sequence and then just dispatch the call through a fresh UniversalInvoker instead. Some benchmarks I did with snprintf shows a speedup up to 3x with the new approach (also thanks to the streamlining of the logic surrounding the calling sequence creation). This new technique allowed me to also ditch the various 'impl' classes for VarargsInvoker. * I removed the unused ShuffleRecipeFieldHelper, too * I added a new test for 'unaligned' structs being passed as arguments. That is, I realized we never stressed the code path which took into account a mismatch between the alignment of an argument passed on the stack; the shuffle recipe should add one or more SKIP steps if extra padding is needed. Now, since layouts generated by jextract are really derived from clang, clang already inserts all the right amount of padding, so that, basically, the size of a layout is always a multiple of the layout natural alignment. To exercise this path I had to resort to manual layout annotations, use a `long double` (which unfortunately makes the test SysV dependent) to have an alignment of 16 and then omitted padding at the end, so that the ABI would run into troubles. The end result of the cleanup is pleasing - to implement a new ABI, only two classes need to be tinkered with: 1) you need to implement the SystemABI interface (of course!) 2) you need to provide an implementation for CallingSequenceBuilder Everything else should work (at least using the universal adapters). Webrev: http://cr.openjdk.java.net/~mcimadamore/panama/abi-cleanup/ I tested on all platforms and results are all green. Cheers Maurizio From henry.jen at oracle.com Wed Apr 17 20:02:09 2019 From: henry.jen at oracle.com (Henry Jen) Date: Wed, 17 Apr 2019 13:02:09 -0700 Subject: [foreign] RFR - abi cleanup In-Reply-To: <6ffd054d-135d-d61a-59c8-3669175eb494@oracle.com> References: <6ffd054d-135d-d61a-59c8-3669175eb494@oracle.com> Message-ID: <613A8D34-C791-491E-9630-7871CE01CF9D@oracle.com> Overall looks good, I think it?s a good improvement. I am less keen for the rename of StandardCall to CallingSequenceBuilderImpl. Each implementation of CallingSequenceBuilder is a calling convention, thus I prefer to have named after specific calling convention rather than a generic name. Although we don?t support other calling conventions and not seeing much evidence of the needs yet. Cheers, Henry > On Apr 17, 2019, at 10:11 AM, Maurizio Cimadamore wrote: > > (Apologies for the lack of jbs issue, jbs seems to be down at the moment) > > In the past few days I've been looking hard at ways to simplify the ABI code. This was something we needed to look at, after the Windows integration, which introduced a lot of duplicated code (and that was a deliberate choice, in order to minimize complexity). I think time has come to look at the impl again. I've consolidated the following areas: > > * CallingSequence/CallingSequenceBuilder - now CallingSequenceBuilder is a proper abstract class, which is ABI agnostic, and can be used by a client to put together a calling sequence, given a 'Function'. This is perhaps the part of the code that has changed the most. Note that I've removed the split between Argument (ABI-independent) and ArgumentInfo (ABI-dependent); now ArgumentInfo *is a* Argument, which simplifies the builder flow significantly. > > * Another area that has changed a lot is the logic for putting together ShuffleRecipe - there's now a new (and much simpler) builder. Again, the code removes many indirection, and it also fixes some of the issues in the old code, where, essentially, the recipe builder depended on physical details such as vector register size. One part that has changed a lot here is that I realized that many aspects of building a recipe were being done in different places - for instance, CallingSequenceBuilder added explicit 'skip' bindings to support shuffle recipe (but same skips were not generated for other argument classes). ShuffleRecipeCollector also added its own steps (through the addPulls method), and so did the logic that computed the final recipe array (which added a lot of 'STOP' steps). Now the steps are all computed before hand in ShuffleRecipe::make, passed onto the builder which then puts together the array. > > * CalingSequence has been simplified and all the logic for computing offsets have been moved to ShuffleRecipe, since this is where it really belongs (after all, you need this offset info only if you want to play with UniversalInvoker). > > * UniversalNativeInvokerImpl and UniversalUpcallHandlerImpl are gone. Instead there's an helper interface called UniversalAdapter which defines how arguments are boxed/unboxed. The specific ABI will provide concrete implementation for these. > > * VarargsInvoker has also changed - we used to intercept a vararg call, specialize everything then call ABI again to obtain another MH and then use that. The new code gives up on all that; whenever there's a variadic call, we infer layouts and carriers, create a new calling sequence and then just dispatch the call through a fresh UniversalInvoker instead. Some benchmarks I did with snprintf shows a speedup up to 3x with the new approach (also thanks to the streamlining of the logic surrounding the calling sequence creation). This new technique allowed me to also ditch the various 'impl' classes for VarargsInvoker. > > * I removed the unused ShuffleRecipeFieldHelper, too > > * I added a new test for 'unaligned' structs being passed as arguments. That is, I realized we never stressed the code path which took into account a mismatch between the alignment of an argument passed on the stack; the shuffle recipe should add one or more SKIP steps if extra padding is needed. Now, since layouts generated by jextract are really derived from clang, clang already inserts all the right amount of padding, so that, basically, the size of a layout is always a multiple of the layout natural alignment. To exercise this path I had to resort to manual layout annotations, use a `long double` (which unfortunately makes the test SysV dependent) to have an alignment of 16 and then omitted padding at the end, so that the ABI would run into troubles. > > > The end result of the cleanup is pleasing - to implement a new ABI, only two classes need to be tinkered with: > > 1) you need to implement the SystemABI interface (of course!) > 2) you need to provide an implementation for CallingSequenceBuilder > > Everything else should work (at least using the universal adapters). > > > Webrev: > > http://cr.openjdk.java.net/~mcimadamore/panama/abi-cleanup/ > > I tested on all platforms and results are all green. > > Cheers > Maurizio > From maurizio.cimadamore at oracle.com Wed Apr 17 20:05:32 2019 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 17 Apr 2019 20:05:32 +0000 Subject: hg: panama/dev: 255 new changesets Message-ID: <201904172005.x3HK5kH6009234@aojmv0008.oracle.com> Changeset: 7d5a4a48e876 Author: joehw Date: 2019-03-27 14:40 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/7d5a4a48e876 8221533: Incorrect copyright header in DurationDayTimeImpl.java, DurationYearMonthImpl.java and XMLStreamException.java Reviewed-by: bpb, lancea ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/jaxp/datatype/DurationDayTimeImpl.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/jaxp/datatype/DurationYearMonthImpl.java ! src/java.xml/share/classes/javax/xml/stream/XMLStreamException.java Changeset: f714e4cebceb Author: bpb Date: 2019-03-27 16:35 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/f714e4cebceb 8221568: DataOutputStream/WriteUTF.java fails due to "OutOfMemoryError: Java heap space" Reviewed-by: shade ! test/jdk/java/io/DataOutputStream/WriteUTF.java Changeset: 5b5bd291ca32 Author: jwilhelm Date: 2019-03-28 01:43 +0100 URL: http://hg.openjdk.java.net/panama/dev/rev/5b5bd291ca32 Added tag jdk-13+14 for changeset 46cf212cdcca ! .hgtags Changeset: c0037e86ec02 Author: dtitov Date: 2019-03-28 04:26 +0000 URL: http://hg.openjdk.java.net/panama/dev/rev/c0037e86ec02 8218727: vmTestbase/nsk/jvmti/scenarios/events/EM04/em04t001/TestDescription.java crash in native library Reviewed-by: sspitsyn, gadams ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM04/em04t001/em04t001.cpp ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/events/EM07/em07t002/em07t002.cpp Changeset: 55025f677f68 Author: dtitov Date: 2019-03-28 04:30 +0000 URL: http://hg.openjdk.java.net/panama/dev/rev/55025f677f68 8221532: Incorrect copyright header in FileSystemSupport_md.c Reviewed-by: cjplummer, gadams ! src/java.instrument/unix/native/libinstrument/FileSystemSupport_md.c ! src/java.instrument/windows/native/libinstrument/FileSystemSupport_md.c Changeset: e9618b37f0a5 Author: goetz Date: 2019-03-28 09:15 +0100 URL: http://hg.openjdk.java.net/panama/dev/rev/e9618b37f0a5 8221398: Move test NoClassDefFoundMsg.java to subdir exceptionMsgs/ Reviewed-by: coleenp + test/hotspot/jtreg/runtime/exceptionMsgs/NoClassDefFoundError/NoClassDefFoundErrorTest.java + test/hotspot/jtreg/runtime/exceptionMsgs/NoClassDefFoundError/libNoClassDefFoundErrorTest.c - test/hotspot/jtreg/runtime/noClassDefFoundMsg/NoClassDefFoundMsg.java - test/hotspot/jtreg/runtime/noClassDefFoundMsg/libNoClassDefFoundMsg.c Changeset: c9a492ad1aed Author: jlahoda Date: 2019-03-28 10:32 +0100 URL: http://hg.openjdk.java.net/panama/dev/rev/c9a492ad1aed 8221413: javac does not recognize variable assigned in switch expression as DA Summary: Fixing definite assignment in presence of implicit throws clause in switch expressions over enums. Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java ! test/langtools/tools/javac/switchexpr/DefiniteAssignment1.java Changeset: cf75ea6af695 Author: stuefe Date: 2019-03-25 09:35 +0100 URL: http://hg.openjdk.java.net/panama/dev/rev/cf75ea6af695 8220786: Create new switch to redirect error reporting output to stdout or stderr Reviewed-by: dholmes, goetz ! src/hotspot/share/runtime/arguments.cpp ! src/hotspot/share/runtime/globals.hpp ! src/hotspot/share/utilities/vmError.cpp + test/hotspot/jtreg/runtime/ErrorHandling/ErrorFileRedirectTest.java Changeset: 846bc643f4ef Author: rehn Date: 2019-03-28 11:08 +0100 URL: http://hg.openjdk.java.net/panama/dev/rev/846bc643f4ef 8220351: Cross-modifying code Reviewed-by: rrich, mdoerr, dholmes, eosterlund ! src/hotspot/os_cpu/aix_ppc/orderAccess_aix_ppc.hpp ! src/hotspot/os_cpu/bsd_x86/orderAccess_bsd_x86.hpp ! src/hotspot/os_cpu/bsd_zero/orderAccess_bsd_zero.hpp ! src/hotspot/os_cpu/linux_aarch64/orderAccess_linux_aarch64.hpp ! src/hotspot/os_cpu/linux_arm/orderAccess_linux_arm.hpp ! src/hotspot/os_cpu/linux_ppc/orderAccess_linux_ppc.hpp ! src/hotspot/os_cpu/linux_s390/orderAccess_linux_s390.hpp ! src/hotspot/os_cpu/linux_sparc/orderAccess_linux_sparc.hpp ! src/hotspot/os_cpu/linux_x86/orderAccess_linux_x86.hpp ! src/hotspot/os_cpu/linux_zero/orderAccess_linux_zero.hpp ! src/hotspot/os_cpu/solaris_sparc/orderAccess_solaris_sparc.hpp ! src/hotspot/os_cpu/solaris_x86/orderAccess_solaris_x86.hpp ! src/hotspot/os_cpu/windows_x86/orderAccess_windows_x86.hpp ! src/hotspot/share/runtime/handshake.cpp ! src/hotspot/share/runtime/interfaceSupport.inline.hpp ! src/hotspot/share/runtime/orderAccess.hpp ! src/hotspot/share/runtime/safepoint.cpp ! src/hotspot/share/runtime/safepointMechanism.cpp ! src/hotspot/share/runtime/safepointMechanism.hpp ! src/hotspot/share/runtime/safepointMechanism.inline.hpp ! src/hotspot/share/runtime/thread.cpp Changeset: 9d5c84b0a598 Author: dfuchs Date: 2019-03-28 12:16 +0000 URL: http://hg.openjdk.java.net/panama/dev/rev/9d5c84b0a598 8221395: HttpClient leaving connections in CLOSE_WAIT state until Java process ends Summary: When a non WebSocket connection is not returned to the pool, it needs to be closed even if HttpConnection::isOpen yields false. Reviewed-by: chegar, michaelm ! src/java.net.http/share/classes/jdk/internal/net/http/HttpConnection.java ! test/jdk/java/net/httpclient/whitebox/ConnectionPoolTestDriver.java ! test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/ConnectionPoolTest.java Changeset: 04f1a0f925db Author: erikj Date: 2019-03-28 08:37 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/04f1a0f925db 8220530: Build compare script does not compare the contents of the test image Reviewed-by: tbell ! make/conf/jib-profiles.js ! make/scripts/compare.sh ! make/scripts/compare_exceptions.sh.incl Changeset: eb7f2c367f73 Author: erikj Date: 2019-03-28 10:04 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/eb7f2c367f73 8205934: Define jdk -source/-target version in version-numbers file Reviewed-by: tbell ! make/autoconf/jdk-version.m4 ! make/autoconf/spec.gmk.in ! make/autoconf/version-numbers ! make/common/SetupJavaCompilers.gmk Changeset: a4d19817609c Author: jcbeyler Date: 2019-03-28 11:06 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/a4d19817609c 8157372: C2: Node::cmp() should return bool Summary: The method Node::cmp() should return a boolean Reviewed-by: vlivanov, kvn Contributed-by: dthomson at google.com ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.cpp ! src/hotspot/share/gc/z/c2/zBarrierSetC2.hpp ! src/hotspot/share/opto/callnode.cpp ! src/hotspot/share/opto/callnode.hpp ! src/hotspot/share/opto/castnode.cpp ! src/hotspot/share/opto/castnode.hpp ! src/hotspot/share/opto/cfgnode.cpp ! src/hotspot/share/opto/cfgnode.hpp ! src/hotspot/share/opto/locknode.cpp ! src/hotspot/share/opto/locknode.hpp ! src/hotspot/share/opto/machnode.cpp ! src/hotspot/share/opto/machnode.hpp ! src/hotspot/share/opto/memnode.cpp ! src/hotspot/share/opto/memnode.hpp ! src/hotspot/share/opto/multnode.cpp ! src/hotspot/share/opto/multnode.hpp ! src/hotspot/share/opto/node.cpp ! src/hotspot/share/opto/node.hpp ! src/hotspot/share/opto/opaquenode.cpp ! src/hotspot/share/opto/opaquenode.hpp ! src/hotspot/share/opto/subnode.cpp ! src/hotspot/share/opto/subnode.hpp Changeset: 37648a9c4a6a Author: jwilhelm Date: 2019-03-28 19:39 +0100 URL: http://hg.openjdk.java.net/panama/dev/rev/37648a9c4a6a 8221341: Update Graal Reviewed-by: kvn ! src/jdk.aot/share/classes/jdk.tools.jaotc/src/jdk/tools/jaotc/DataPatchProcessor.java ! src/jdk.internal.vm.ci/share/classes/module-info.java ! src/jdk.internal.vm.compiler.management/share/classes/org.graalvm.compiler.hotspot.management/src/org/graalvm/compiler/hotspot/management/HotSpotGraalRuntimeMBean.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.aarch64/src/org/graalvm/compiler/asm/aarch64/AArch64Assembler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.aarch64/src/org/graalvm/compiler/asm/aarch64/AArch64MacroAssembler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm/src/org/graalvm/compiler/asm/Assembler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64/src/org/graalvm/compiler/core/aarch64/AArch64ArithmeticLIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.aarch64/src/org/graalvm/compiler/core/aarch64/AArch64LIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64.test/src/org/graalvm/compiler/core/amd64/test/AMD64MatchRuleTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64/src/org/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator.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.common/src/org/graalvm/compiler/core/common/FieldsScanner.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/GraalOptions.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/UnsafeAccess.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/util/UnsafeAccess.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/util/UnsafeArrayTypeReader.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/util/UnsafeArrayTypeWriter.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.match.processor/src/org/graalvm/compiler/core/match/processor/MatchProcessor.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/FinalizableSubclassTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/NewInstanceTest.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/SwitchTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/UnbalancedMonitorsTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/VerifyBailoutUsage.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/VerifyCallerSensitiveMethods.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/VerifyDebugUsage.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/VerifyFoldableMethods.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/VerifyGetOptionsUsage.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/VerifyGraphAddUsage.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/VerifyInstanceOfUsage.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/VerifySystemPropertyUsage.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/VerifyUnsafeAccess.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/VerifyUpdateUsages.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/VerifyUsageWithEquals.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/VerifyVirtualizableUsage.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/ea/EATestBase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/tutorial/StaticAnalysis.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.test/src/org/graalvm/compiler/core/test/tutorial/StaticAnalysisTests.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.core/src/org/graalvm/compiler/core/gen/NodeMatchRules.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/match/MatchContext.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/match/MatchPattern.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/match/MatchStatement.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/match/MatchableNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/DebugContext.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/LogStream.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/MemUseTrackerKey.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.debug/src/org/graalvm/compiler/debug/Versions.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/Edges.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.graph/src/org/graalvm/compiler/graph/NodeSourcePosition.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/UnsafeAccess.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/AArch64HotSpotLIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.aarch64/src/org/graalvm/compiler/hotspot/aarch64/AArch64IndirectCallOp.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64ArrayCompareToStub.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64ArrayEqualsStub.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotForeignCallsProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotLIRGenerator.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotNodeLIRBuilder.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.test/src/org/graalvm/compiler/hotspot/test/StringInternConstantTest.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/BootstrapWatchDog.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/CompilationStatistics.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/CompilationTask.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/CompilationWatchDog.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/GraalHotSpotVMConfig.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/GraalHotSpotVMConfigBase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotGraalCompiler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotGraalCompilerFactory.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotGraalRuntime.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotTTYStreamProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/IsGraalPredicate.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/IsGraalPredicateBase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/JVMCIVersionCheck.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/NodeCostDumpUtil.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/debug/BenchmarkCounters.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotNodePlugin.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotObjdumpDisassemblerProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/meta/HotSpotSuitesProvider.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/phases/AheadOfTimeVerificationPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/BytecodeParser.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/FrameStateBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/GraphBuilderPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64ArithmeticLIRGeneratorTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64Call.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64Compare.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64ControlFlow.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64MathIntrinsicBinaryOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.aarch64/src/org/graalvm/compiler/lir/aarch64/AArch64Move.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64ArrayIndexOfOp.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64Binary.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64BinaryConsumer.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.lir/src/org/graalvm/compiler/lir/hashing/HashFunction.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/hashing/Hasher.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/SimplifyingGraphDecoder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/extended/JavaWriteNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderTool.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/graphbuilderconf/NodePlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/memory/AbstractWriteNode.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/CoreProviders.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/CoreProvidersImpl.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/spi/LoweringTool.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/OptionsParser.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.common/src/org/graalvm/compiler/phases/common/ProfileCompiledMethodsPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/inlining/walker/InliningData.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/VerifyPhase.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/tiers/PhaseContext.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases/src/org/graalvm/compiler/phases/util/Providers.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.printer/src/org/graalvm/compiler/printer/CFGPrinterObserver.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.printer/src/org/graalvm/compiler/printer/GraphPrinterDumpHandler.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.aarch64/src/org/graalvm/compiler/replacements/aarch64/AArch64GraphBuilderPlugins.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/CachingPEGraphDecoder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/ConstantStringIndexOfSnippets.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/GraphKit.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/InlineDuringParsingPlugin.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/IntrinsicGraphBuilder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/PEGraphDecoder.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/ReplacementsImpl.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/SnippetCounterNode.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/StandardGraphBuilderPlugins.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/UnsafeAccess.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/classfile/ClassfileBytecodeProvider.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/MacroNode.java + src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.serviceprovider/src/org/graalvm/compiler/serviceprovider/GraalUnsafeAccess.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.serviceprovider/src/org/graalvm/compiler/serviceprovider/JavaVersionUtil.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/EffectsClosure.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.word/src/org/graalvm/compiler/word/UnsafeAccess.java ! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.word/src/org/graalvm/compiler/word/Word.java Changeset: ddd60ad787d4 Author: pliden Date: 2019-03-28 19:43 +0100 URL: http://hg.openjdk.java.net/panama/dev/rev/ddd60ad787d4 8221394: Clean up ConcurrentGCThread Reviewed-by: kbarrett, eosterlund ! src/hotspot/share/gc/shared/concurrentGCThread.cpp ! src/hotspot/share/gc/shared/concurrentGCThread.hpp ! src/hotspot/share/runtime/thread.cpp Changeset: 69e80a82db9a Author: pliden Date: 2019-03-28 19:43 +0100 URL: http://hg.openjdk.java.net/panama/dev/rev/69e80a82db9a 8221540: ZGC: Reduce width of zForwardingEntry::from_index field Reviewed-by: stefank, eosterlund ! src/hotspot/share/gc/z/zForwarding.cpp ! src/hotspot/share/gc/z/zForwarding.inline.hpp ! src/hotspot/share/gc/z/zForwardingEntry.hpp ! src/hotspot/share/gc/z/zRelocate.cpp ! test/hotspot/gtest/gc/z/test_zForwarding.cpp Changeset: f0fec71d2fff Author: pliden Date: 2019-03-28 19:43 +0100 URL: http://hg.openjdk.java.net/panama/dev/rev/f0fec71d2fff 8221153: ZGC: Heap iteration and verification pollutes GC statistics Reviewed-by: stefank, eosterlund ! src/hotspot/share/gc/z/zHeap.cpp ! src/hotspot/share/gc/z/zHeapIterator.cpp ! src/hotspot/share/gc/z/zStat.cpp ! src/hotspot/share/gc/z/zStat.hpp Changeset: 9a8fe0bc38c3 Author: cushon Date: 2019-03-26 16:09 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/9a8fe0bc38c3 8220632: Suggest recompiling with a larger value of -Xmaxerrs/-Xmaxwarns if diagnostics were suppressed Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Log.java + test/langtools/tools/javac/diags/examples/CountErrorRecompile.java + test/langtools/tools/javac/diags/examples/CountWarnRecompile.java + test/langtools/tools/javac/warnings/MaxDiagsRecompile.all.out + test/langtools/tools/javac/warnings/MaxDiagsRecompile.java + test/langtools/tools/javac/warnings/MaxDiagsRecompile.max1.out + test/langtools/tools/javac/warnings/MaxWarnsRecompile.all.out + test/langtools/tools/javac/warnings/MaxWarnsRecompile.java + test/langtools/tools/javac/warnings/MaxWarnsRecompile.max1.out Changeset: 2a29e62446bd Author: valeriep Date: 2019-03-29 00:39 +0000 URL: http://hg.openjdk.java.net/panama/dev/rev/2a29e62446bd 8220016: Clean up redundant RSA services in the SunJSSE provider Summary: Removed duplicated RSA signature/KF/KPG support in SunJSSE Reviewed-by: xuelei ! src/java.base/share/classes/sun/security/ssl/SunJSSE.java ! test/jdk/java/security/Signature/Offsets.java ! test/jdk/java/security/SignedObject/Chain.java ! test/jdk/sun/security/pkcs11/KeyStore/Basic.java + test/jdk/sun/security/rsa/BrokenRSAPrivateCrtKey.java - test/jdk/sun/security/ssl/rsa/BrokenRSAPrivateCrtKey.java + test/jdk/sun/security/ssl/rsa/CheckProviderEntries.java ! test/jdk/sun/security/ssl/rsa/SignatureOffsets.java ! test/jdk/sun/security/ssl/rsa/SignedObjectChain.java Changeset: f1548abd4ae0 Author: iklam Date: 2019-03-28 20:45 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/f1548abd4ae0 8221621: FindTests.gmk cannot handle "=" in TEST.groups comments Reviewed-by: erikj, dholmes ! make/common/FindTests.gmk Changeset: d9f6d16299b1 Author: stuefe Date: 2019-03-29 08:36 +0100 URL: http://hg.openjdk.java.net/panama/dev/rev/d9f6d16299b1 8221408: Windows 32bit build build errors/warnings in hotspot Reviewed-by: kbarrett, dholmes ! src/hotspot/os_cpu/windows_x86/os_windows_x86.cpp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/oops/markOop.hpp Changeset: a335a4ddc631 Author: zgu Date: 2019-03-29 10:21 -0400 URL: http://hg.openjdk.java.net/panama/dev/rev/a335a4ddc631 8221688: Quarantine Shenandoah string dedup tests Reviewed-by: rkennke ! test/hotspot/jtreg/ProblemList.txt Changeset: 5a9d780eb9dd Author: redestad Date: 2019-03-29 15:59 +0100 URL: http://hg.openjdk.java.net/panama/dev/rev/5a9d780eb9dd 8221687: Deprecated j.u.jar.Attributes.Name attributes accidentally set to null Reviewed-by: alanb ! src/java.base/share/classes/java/util/jar/Attributes.java Changeset: 7a34a3270270 Author: zgu Date: 2019-03-26 12:12 -0400 URL: http://hg.openjdk.java.net/panama/dev/rev/7a34a3270270 8221435: Shenandoah should not mark through weak roots Reviewed-by: rkennke, shade ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp ! src/hotspot/share/gc/shenandoah/shenandoahStringDedup.cpp ! src/hotspot/share/gc/shenandoah/shenandoahStringDedup.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Changeset: f69a2f675f19 Author: ronsh Date: 2019-03-29 07:38 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/f69a2f675f19 8221118: Avoid eagerly creating JCDiagnostic for CompletionFailures Reviewed-by: jjg, mcimadamore, forax ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/ClassFinder.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/main/JavaCompiler.java ! test/langtools/tools/javac/defaultMethods/BadClassfile.java Changeset: 2221f042556d Author: iklam Date: 2019-03-29 08:42 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/2221f042556d 8221351: Crash in KlassFactory::check_shared_class_file_load_hook Reviewed-by: dholmes, ccheung ! src/hotspot/share/classfile/classLoader.cpp ! src/hotspot/share/classfile/classLoader.hpp ! src/hotspot/share/classfile/klassFactory.cpp ! src/hotspot/share/memory/filemap.cpp ! src/hotspot/share/memory/filemap.hpp ! test/hotspot/jtreg/TEST.groups ! test/hotspot/jtreg/runtime/appcds/TestCommon.java ! test/hotspot/jtreg/runtime/appcds/customLoader/HelloCustom.java + test/hotspot/jtreg/runtime/appcds/customLoader/HelloCustom_JFR.java ! test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/ModulePathAndCP.java + test/hotspot/jtreg/runtime/appcds/jigsaw/modulepath/ModulePathAndCP_JFR.java ! test/hotspot/jtreg/runtime/appcds/jvmti/ClassFileLoadHook.java ! test/hotspot/jtreg/runtime/appcds/jvmti/ClassFileLoadHookTest.java Changeset: 0b47455de59b Author: stuefe Date: 2019-03-26 16:26 +0100 URL: http://hg.openjdk.java.net/panama/dev/rev/0b47455de59b 8221480: jcmd VM.metaspace shall print limits in basic mode Reviewed-by: adinn, rehn ! src/hotspot/share/memory/metaspace.cpp ! test/hotspot/jtreg/runtime/Metaspace/PrintMetaspaceDcmd.java Changeset: 07212a29787a Author: joehw Date: 2019-03-29 18:00 +0000 URL: http://hg.openjdk.java.net/panama/dev/rev/07212a29787a 8220254: fix headings in java.xml Reviewed-by: lancea ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xpath/regex/RegularExpression.java ! src/java.xml/share/classes/javax/xml/catalog/CatalogFeatures.java ! src/java.xml/share/classes/javax/xml/catalog/CatalogResolver.java ! src/java.xml/share/classes/javax/xml/datatype/DatatypeFactory.java ! src/java.xml/share/classes/javax/xml/parsers/DocumentBuilderFactory.java ! src/java.xml/share/classes/javax/xml/parsers/SAXParserFactory.java ! src/java.xml/share/classes/javax/xml/transform/TransformerFactory.java ! src/java.xml/share/classes/javax/xml/validation/SchemaFactory.java ! src/java.xml/share/classes/javax/xml/xpath/XPathFactory.java Changeset: 6a1406c718ec Author: zgu Date: 2019-03-29 14:17 -0400 URL: http://hg.openjdk.java.net/panama/dev/rev/6a1406c718ec 8221643: Tighten up assert(_keep_alive >= 0) in CLD::inc_keep_alive Reviewed-by: coleenp ! src/hotspot/share/classfile/classLoaderData.cpp Changeset: 8cd2af66ac7c Author: zgu Date: 2019-03-28 13:53 -0400 URL: http://hg.openjdk.java.net/panama/dev/rev/8cd2af66ac7c 8221629: Shenandoah: Cleanup class unloading logic Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp + src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Changeset: 1042cac8bc2a Author: mseledtsov Date: 2019-03-29 18:25 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/1042cac8bc2a 8221596: test/hotspot/jtreg/runtime/containers/docker/TestCPUSets.java failed with FileAlreadyExistsException Summary: Using StandardCopyOption.REPLACE_EXISTING to copy whitebox.jar Reviewed-by: dholmes, mseledtsov Contributed-by: jiefu ! test/lib/jdk/test/lib/containers/docker/Common.java Changeset: b7ebff3e4e69 Author: weijun Date: 2019-03-30 16:32 +0800 URL: http://hg.openjdk.java.net/panama/dev/rev/b7ebff3e4e69 8221257: Improve serial number generation mechanism for keytool -gencert Reviewed-by: xuelei, mullan ! src/java.base/share/classes/sun/security/tools/keytool/CertAndKeyGen.java ! src/java.base/share/classes/sun/security/tools/keytool/Main.java ! src/java.base/share/classes/sun/security/x509/CertificateSerialNumber.java + test/jdk/sun/security/tools/keytool/Serial64.java Changeset: 235883996bc7 Author: iklam Date: 2019-03-30 08:26 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/235883996bc7 8221698: Remove redundant includes from popular header files Summary: Removed histogram.hpp classLoader.hpp utf8.hpp moduleEntry.hpp packageEntry.hpp Reviewed-by: coleenp, stuefe ! src/hotspot/share/ci/ciReplay.cpp ! src/hotspot/share/classfile/classFileParser.cpp ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/moduleEntry.cpp ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/classfile/symbolTable.cpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/systemDictionaryShared.hpp ! src/hotspot/share/classfile/verifier.cpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/memory/oopFactory.cpp ! src/hotspot/share/oops/arrayKlass.cpp ! src/hotspot/share/oops/instanceKlass.cpp ! src/hotspot/share/oops/instanceKlass.hpp ! src/hotspot/share/oops/klass.cpp ! src/hotspot/share/oops/symbol.cpp ! src/hotspot/share/oops/symbol.hpp ! src/hotspot/share/prims/jvmtiEnv.cpp ! src/hotspot/share/prims/jvmtiEnvBase.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/prims/nativeLookup.cpp ! src/hotspot/share/prims/unsafe.cpp ! src/hotspot/share/runtime/frame.cpp ! src/hotspot/share/runtime/interfaceSupport.inline.hpp ! src/hotspot/share/runtime/mutex.hpp ! src/hotspot/share/services/management.cpp Changeset: f062188117ad Author: clanger Date: 2019-03-30 21:29 +0100 URL: http://hg.openjdk.java.net/panama/dev/rev/f062188117ad 8221610: Resurrect (legacy) JRE bundle target Reviewed-by: erikj, azeller ! make/Bundles.gmk ! make/Main.gmk ! make/autoconf/spec.gmk.in Changeset: 492af1f4b6d5 Author: ngasson Date: 2019-03-29 09:31 +0000 URL: http://hg.openjdk.java.net/panama/dev/rev/492af1f4b6d5 8220707: [TESTBUG] serviceability/sa/TestHeapDumpForLargeArray.java fails with jtreg -vmoption:-Xmx < 8g Reviewed-by: clanger, sballal, jcbeyler ! test/hotspot/jtreg/serviceability/sa/TestHeapDumpForLargeArray.java Changeset: 4f9772f4403d Author: pmuthuswamy Date: 2019-04-01 12:44 +0530 URL: http://hg.openjdk.java.net/panama/dev/rev/4f9772f4403d 8215599: Remove support for javadoc "frames" mode Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractModuleIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractPackageIndexWriter.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllClassesFrameWriter.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/FrameOutputWriter.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/HtmlConfiguration.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDoclet.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/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/ModuleFrameWriter.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleIndexFrameWriter.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/ModulePackageIndexFrameWriter.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/PackageFrameWriter.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageIndexFrameWriter.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/TreeWriter.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/resources/standard.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/script.js ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/DocPaths.java - test/langtools/jdk/javadoc/doclet/AccessFrameTitle/AccessFrameTitle.java - test/langtools/jdk/javadoc/doclet/AccessFrameTitle/p1/C1.java - test/langtools/jdk/javadoc/doclet/AccessFrameTitle/p2/C2.java ! test/langtools/jdk/javadoc/doclet/AccessH1/AccessH1.java ! test/langtools/jdk/javadoc/doclet/AccessSummary/AccessSummary.java ! test/langtools/jdk/javadoc/doclet/DocRootSlash/DocRootSlash.java ! test/langtools/jdk/javadoc/doclet/JavascriptWinTitle/JavascriptWinTitle.java ! test/langtools/jdk/javadoc/doclet/MetaTag/MetaTag.java - test/langtools/jdk/javadoc/doclet/PackagesHeader/PackagesHeader.java - test/langtools/jdk/javadoc/doclet/PackagesHeader/p1/C1.java - test/langtools/jdk/javadoc/doclet/PackagesHeader/p2/C2.java ! test/langtools/jdk/javadoc/doclet/ValidHtml/ValidHtml.java ! test/langtools/jdk/javadoc/doclet/WindowTitles/WindowTitles.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/TestClassDocCatalog.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg1/EmptyAnnotation.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg1/EmptyClass.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg1/EmptyEnum.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg1/EmptyError.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg1/EmptyException.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg1/EmptyInterface.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg2/EmptyAnnotation.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg2/EmptyClass.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg2/EmptyEnum.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg2/EmptyError.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg2/EmptyException.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg2/EmptyInterface.java - test/langtools/jdk/javadoc/doclet/testFramesNoFrames/TestFramesNoFrames.java ! test/langtools/jdk/javadoc/doclet/testGeneratedBy/TestGeneratedBy.java ! test/langtools/jdk/javadoc/doclet/testGroupName/TestGroupName.java ! test/langtools/jdk/javadoc/doclet/testGroupOption/TestGroupOption.java ! test/langtools/jdk/javadoc/doclet/testHeadings/TestHeadings.java ! test/langtools/jdk/javadoc/doclet/testHiddenTag/TestHiddenTag.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/testHtmlVersion/TestHtmlVersion.java ! test/langtools/jdk/javadoc/doclet/testIndex/TestIndex.java ! test/langtools/jdk/javadoc/doclet/testIndexWithModules/TestIndexWithModules.java ! test/langtools/jdk/javadoc/doclet/testJavascript/TestJavascript.java ! test/langtools/jdk/javadoc/doclet/testMetadata/TestMetadata.java ! test/langtools/jdk/javadoc/doclet/testModuleDirs/TestModuleDirs.java ! test/langtools/jdk/javadoc/doclet/testModules/TestModules.java ! test/langtools/jdk/javadoc/doclet/testNavigation/TestModuleNavigation.java ! test/langtools/jdk/javadoc/doclet/testNavigation/TestNavigation.java ! test/langtools/jdk/javadoc/doclet/testNewLanguageFeatures/TestNewLanguageFeatures.java + test/langtools/jdk/javadoc/doclet/testNoFrames/TestNoFrames.java ! test/langtools/jdk/javadoc/doclet/testOrdering/TestOrdering.java ! test/langtools/jdk/javadoc/doclet/testOverview/TestOverview.java ! test/langtools/jdk/javadoc/doclet/testPackageDeprecation/TestPackageDeprecation.java ! test/langtools/jdk/javadoc/doclet/testRecurseSubPackages/TestRecurseSubPackages.java ! test/langtools/jdk/javadoc/doclet/testRelativeLinks/TestRelativeLinks.java ! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java ! test/langtools/jdk/javadoc/doclet/testSummaryTag/TestSummaryTag.java ! test/langtools/jdk/javadoc/doclet/testTopOption/TestTopOption.java ! test/langtools/jdk/javadoc/doclet/testUseOption/TestUseOption.java - test/langtools/jdk/javadoc/doclet/testWindowTitle/TestWindowTitle.java - test/langtools/jdk/javadoc/doclet/testWindowTitle/p1/C1.java - test/langtools/jdk/javadoc/doclet/testWindowTitle/p2/C2.java ! test/langtools/jdk/javadoc/tool/TestScriptInComment.java Changeset: 964186594f5f Author: shade Date: 2019-04-01 10:02 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/964186594f5f 8221725: AArch64 build failures after JDK-8221408 (Windows 32bit build build errors/warnings in hotspot) Reviewed-by: dholmes, stuefe ! src/hotspot/cpu/aarch64/aarch64.ad Changeset: e0603b4537c3 Author: shade Date: 2019-04-01 10:04 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/e0603b4537c3 8221726: Multiple build failures after JDK-8221698 (Remove redundant includes from popular header files) Reviewed-by: dholmes, stuefe, iklam ! src/hotspot/cpu/ppc/gc/shared/barrierSetAssembler_ppc.cpp ! src/hotspot/share/classfile/systemDictionary.hpp Changeset: dfaa9daab43c Author: shade Date: 2019-04-01 13:33 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/dfaa9daab43c 8221735: Shenandoah fails ctw/modules/jdk_management_agent.java with Traversal Reviewed-by: rkennke, roland ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Changeset: 80830caaac6e Author: gadams Date: 2019-04-01 07:34 -0400 URL: http://hg.openjdk.java.net/panama/dev/rev/80830caaac6e 8221694: jstatLineCounts1 needs to be NaN resilient Reviewed-by: cjplummer, jcbeyler ! test/jdk/sun/tools/jstat/lineCounts1.awk ! test/jdk/sun/tools/jstat/lineCounts2.awk Changeset: f226ab0b7f21 Author: coleenp Date: 2019-04-01 09:53 -0400 URL: http://hg.openjdk.java.net/panama/dev/rev/f226ab0b7f21 8221183: Avoid code cache walk in MetadataOnStackMark Summary: Note nmethods with "old" Methods in them in table to walk instead. Reviewed-by: eosterlund, sspitsyn ! src/hotspot/share/aot/aotCompiledMethod.hpp ! src/hotspot/share/classfile/classLoaderDataGraph.cpp ! src/hotspot/share/classfile/metadataOnStackMark.cpp ! src/hotspot/share/classfile/metadataOnStackMark.hpp ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/code/codeCache.hpp ! src/hotspot/share/code/compiledMethod.hpp ! src/hotspot/share/code/nmethod.cpp ! src/hotspot/share/code/nmethod.hpp ! src/hotspot/share/prims/jvmtiRedefineClasses.cpp Changeset: 62e87f00e420 Author: rkennke Date: 2019-04-01 16:30 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/62e87f00e420 8221750: Shenandoah: Enable ThreadLocalHandshake by default Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp Changeset: a8564226f446 Author: hannesw Date: 2019-04-01 16:49 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/a8564226f446 8219733: Restore javadoc header styles Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/stylesheet.css Changeset: 72b637d53318 Author: hannesw Date: 2019-04-01 16:51 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/72b637d53318 8221366: Search box tries to search for "Search" Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/search.js ! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java Changeset: 3d8934bf505a Author: naoto Date: 2019-04-01 08:19 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/3d8934bf505a 8205432: Replace the placeholder Japanese era name Reviewed-by: rriggs, chegar ! make/data/cldr/common/main/ja.xml ! make/data/cldr/common/main/root.xml ! make/data/unicodedata/UnicodeData.txt ! src/java.base/share/classes/java/time/chrono/JapaneseEra.java ! src/java.base/share/classes/java/util/JapaneseImperialCalendar.java ! src/java.base/share/classes/sun/text/resources/FormatData.java ! src/java.base/share/classes/sun/text/resources/JavaTimeSupplementary.java ! src/java.base/share/classes/sun/util/calendar/Era.java ! src/java.base/share/classes/sun/util/calendar/LocalGregorianCalendar.java ! src/java.base/share/classes/sun/util/locale/provider/CalendarNameProviderImpl.java ! src/jdk.localedata/share/classes/sun/text/resources/ext/FormatData_ja.java ! src/jdk.localedata/share/classes/sun/text/resources/ext/JavaTimeSupplementary_ja.java ! test/jdk/java/lang/Character/UnicodeData.txt ! test/jdk/java/text/Format/DateFormat/WeekDateTest.java ! test/jdk/java/time/tck/java/time/chrono/TCKJapaneseChronology.java ! test/jdk/java/time/tck/java/time/chrono/TCKJapaneseEra.java ! test/jdk/java/time/test/java/time/chrono/TestJapaneseChronology.java ! test/jdk/java/time/test/java/time/chrono/TestUmmAlQuraChronology.java ! test/jdk/java/time/test/java/time/format/TestNonIsoFormatter.java ! test/jdk/java/util/Calendar/CalendarTestScripts/CalendarAdapter.java ! test/jdk/java/util/Calendar/CalendarTestScripts/Symbol.java ! test/jdk/java/util/Calendar/CalendarTestScripts/japanese/japanese.cts ! test/jdk/java/util/Calendar/CalendarTestScripts/japanese/japanese_add.cts ! test/jdk/java/util/Calendar/CalendarTestScripts/japanese/japanese_minmax.cts ! test/jdk/java/util/Calendar/CalendarTestScripts/japanese/japanese_roll.cts ! test/jdk/java/util/Calendar/JapaneseEraNameTest.java ! test/jdk/java/util/Calendar/JapaneseLenientEraTest.java ! test/jdk/java/util/Calendar/NarrowNamesTest.java ! test/jdk/java/util/Calendar/ZoneOffsets.java Changeset: 6a4abdb6749c Author: naoto Date: 2019-04-01 08:21 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/6a4abdb6749c 8174268: Declare a public field in JapaneseEra for the era starting May 2019 Reviewed-by: rriggs, chegar ! src/java.base/share/classes/java/time/chrono/JapaneseChronology.java ! src/java.base/share/classes/java/time/chrono/JapaneseEra.java ! src/java.base/share/classes/java/util/spi/CalendarNameProvider.java ! test/jdk/java/time/tck/java/time/chrono/TCKJapaneseChronology.java ! test/jdk/java/time/tck/java/time/chrono/TCKJapaneseEra.java ! test/jdk/java/time/test/java/time/chrono/TestEraDisplayName.java ! test/jdk/java/time/test/java/time/chrono/TestJapaneseChronology.java Changeset: 879051d3772a Author: stefank Date: 2019-04-01 18:34 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/879051d3772a 8220610: Make CollectedHeap nmethod functions pure virtual Reviewed-by: shade ! src/hotspot/share/gc/epsilon/epsilonHeap.hpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp Changeset: 313e034d0bcb Author: stefank Date: 2019-04-01 18:34 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/313e034d0bcb 8221146: ZGC: Reports too much relocated Reviewed-by: pliden, eosterlund ! src/hotspot/share/gc/z/zRelocationSetSelector.cpp Changeset: f60c52198a42 Author: stefank Date: 2019-04-01 18:36 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/f60c52198a42 8221149: os::malloc checks MallocCatchPtr outside of ifdef ASSERT block Reviewed-by: stuefe, dholmes ! src/hotspot/share/runtime/os.cpp Changeset: baf213e62aeb Author: stefank Date: 2019-04-01 18:36 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/baf213e62aeb 8221558: Remove obsolete uses of OopStorage::ParState<'false, false> _par_state Reviewed-by: pliden, tschatzl ! src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.cpp ! src/hotspot/share/gc/cms/parNewGeneration.cpp ! src/hotspot/share/gc/cms/parNewGeneration.hpp ! src/hotspot/share/gc/g1/g1RootProcessor.cpp ! src/hotspot/share/gc/g1/g1RootProcessor.hpp Changeset: dd5c64326027 Author: erikj Date: 2019-04-01 11:02 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/dd5c64326027 8221703: Rmic build for java.management.api has bad incremental behavior Reviewed-by: tbell ! make/common/RMICompilation.gmk ! make/rmic/Rmic-java.management.rmi.gmk Changeset: 2b48cedce327 Author: kbarrett Date: 2019-04-01 17:11 -0400 URL: http://hg.openjdk.java.net/panama/dev/rev/2b48cedce327 8220671: Initialization race for non-JavaThread PtrQueues Summary: Include on_thread_(attach|detach) under NJTList_lock. Reviewed-by: pliden, rkennke ! src/hotspot/share/gc/g1/g1BarrierSet.cpp ! src/hotspot/share/gc/shared/barrierSet.hpp ! src/hotspot/share/gc/shared/satbMarkQueue.cpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp ! src/hotspot/share/runtime/thread.cpp Changeset: e2c096943ba2 Author: ctornqvi Date: 2019-04-01 14:34 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/e2c096943ba2 8212627: [TESTBUG] runtime/CreateMirror/ArraysNewInstanceBug.java timed out Reviewed-by: coleenp, dcubed, hseigel ! test/hotspot/jtreg/runtime/CreateMirror/ArraysNewInstanceBug.java Changeset: f15b5d110fbc Author: sangheki Date: 2019-04-01 14:54 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/f15b5d110fbc 8221517: G1: Reserved page size for heap can be wrong Reviewed-by: tschatzl, kbarrett ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp + test/hotspot/jtreg/gc/g1/TestLargePageUseForHeap.java Changeset: 66185e52b979 Author: bpb Date: 2019-04-01 15:59 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/66185e52b979 8218418: (fs) Files.createSymbolicLink should use SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE (win) Reviewed-by: alanb ! src/java.base/windows/native/libnio/fs/WindowsNativeDispatcher.c Changeset: e057e45b49af Author: xuelei Date: 2019-04-01 16:50 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/e057e45b49af 8168261: Use server cipher suites preference by default Reviewed-by: mullan ! src/java.base/share/classes/javax/net/ssl/SSLContextSpi.java ! src/java.base/share/classes/sun/security/ssl/SSLConfiguration.java + test/jdk/sun/security/ssl/SSLContextImpl/DefaultCipherSuitePreference.java Changeset: 72e44c1e7dc6 Author: aoqi Date: 2019-04-02 00:23 +0800 URL: http://hg.openjdk.java.net/panama/dev/rev/72e44c1e7dc6 8221763: Build fails when using --with-jvm-features=-g1gc,-jfr,-shenandoahgc Summary: Add missing #include of softRefPolicy.hpp Reviewed-by: kbarrett ! src/hotspot/share/memory/metaspaceShared.cpp Changeset: 9ac5d41abf68 Author: weijun Date: 2019-04-02 10:17 +0800 URL: http://hg.openjdk.java.net/panama/dev/rev/9ac5d41abf68 8157404: Unable to read certain PKCS12 keystores from SequenceInputStream Reviewed-by: xuelei ! src/java.base/share/classes/sun/security/util/DerIndefLenConverter.java ! src/java.base/share/classes/sun/security/util/DerInputStream.java ! src/java.base/share/classes/sun/security/util/DerValue.java Changeset: 13935056b05e Author: weijun Date: 2019-04-02 11:05 +0800 URL: http://hg.openjdk.java.net/panama/dev/rev/13935056b05e 8221801: Update src/java.base/share/legal/public_suffix.md Reviewed-by: xuelei ! src/java.base/share/legal/public_suffix.md + test/jdk/sun/security/util/RegisteredDomain/Versions.java Changeset: 22eb1f7416f1 Author: mbaesken Date: 2019-03-27 10:25 +0100 URL: http://hg.openjdk.java.net/panama/dev/rev/22eb1f7416f1 8221541: clean up functions in CompilerOracle Reviewed-by: mdoerr, kvn ! src/hotspot/share/compiler/compilerOracle.cpp ! src/hotspot/share/compiler/compilerOracle.hpp Changeset: a5ce9300462f Author: pliden Date: 2019-04-02 10:04 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/a5ce9300462f 8221648: Remove CollectedHeap::is_in_closed_subset() Reviewed-by: kbarrett, tschatzl ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1FullGCOopClosures.cpp ! src/hotspot/share/gc/g1/heapRegion.cpp ! src/hotspot/share/gc/serial/serialHeap.hpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/shared/genCollectedHeap.hpp ! src/hotspot/share/gc/z/zCollectedHeap.cpp ! src/hotspot/share/gc/z/zCollectedHeap.hpp ! src/hotspot/share/jvmci/jvmciRuntime.cpp ! src/hotspot/share/memory/iterator.inline.hpp Changeset: 2a2fab6fb3a5 Author: pliden Date: 2019-04-02 10:04 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/2a2fab6fb3a5 8221732: Introduce CollectedHeap::hash_oop() Reviewed-by: kbarrett, tschatzl, stefank ! src/hotspot/share/gc/shared/collectedHeap.cpp ! src/hotspot/share/gc/shared/collectedHeap.hpp ! src/hotspot/share/gc/z/zCollectedHeap.cpp ! src/hotspot/share/gc/z/zCollectedHeap.hpp ! src/hotspot/share/gc/z/zHeap.hpp ! src/hotspot/share/gc/z/zHeap.inline.hpp ! src/hotspot/share/prims/jvmtiTagMap.cpp Changeset: 35794e8db61b Author: pliden Date: 2019-04-02 10:04 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/35794e8db61b 8221748: Remove unused oopDesc::is_unlocked_oop() Reviewed-by: kbarrett ! src/hotspot/share/oops/oop.cpp ! src/hotspot/share/oops/oop.hpp Changeset: 7c576e4d0afa Author: redestad Date: 2019-04-02 11:24 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/7c576e4d0afa 8221723: Avoid storing zero to String.hash Reviewed-by: shade, prappo, jiangli ! src/java.base/share/classes/java/lang/String.java ! test/micro/org/openjdk/bench/java/lang/StringHashCode.java Changeset: 40a7e2fc9beb Author: redestad Date: 2019-04-02 11:37 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/40a7e2fc9beb 8221724: Enable archiving of Strings with hash 0 Reviewed-by: jiangli, iklam ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/oops/constantPool.cpp ! test/hotspot/jtreg/runtime/appcds/sharedStrings/HelloStringPlus.java ! test/hotspot/jtreg/runtime/appcds/sharedStrings/LockStringTest.java Changeset: e297c7bb6469 Author: erikj Date: 2017-10-24 10:41 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/e297c7bb6469 8189861: Refactor CacheFind Reviewed-by: tbell ! make/Bundles.gmk ! make/CompileDemos.gmk ! make/CompileJavaModules.gmk ! make/CopyImportModules.gmk ! make/CreateBuildJdkCopy.gmk ! make/CreateJmods.gmk ! make/Docs.gmk ! make/Images.gmk ! make/MacBundles.gmk ! make/ZipSource.gmk ! make/common/JarArchive.gmk ! make/common/JavaCompilation.gmk ! make/common/MakeBase.gmk ! make/common/NativeCompilation.gmk ! make/common/TestFilesCompilation.gmk ! make/common/TextFileProcessing.gmk ! make/common/Utils.gmk ! make/common/ZipArchive.gmk ! make/copy/CopyCommon.gmk ! make/gensrc/Gensrc-jdk.internal.vm.compiler.gmk ! make/gensrc/Gensrc-jdk.internal.vm.compiler.management.gmk ! make/gensrc/GensrcCommonLangtools.gmk ! make/gensrc/GensrcLocaleData.gmk ! make/gensrc/GensrcProperties.gmk ! make/hotspot/lib/CompileJvm.gmk ! make/hotspot/lib/JvmOverrideFiles.gmk ! make/lib/Lib-java.base.gmk ! make/lib/Lib-java.desktop.gmk ! test/make/TestCopyFiles.gmk ! test/make/TestMakeBase.gmk ! test/make/UtilsForTests.gmk Changeset: c47660e8f5b6 Author: shade Date: 2019-04-02 17:10 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/c47660e8f5b6 8221824: Build failure with MSVS 2013 after JDK-8218418 Reviewed-by: stuefe, alanb ! src/java.base/windows/native/libnio/fs/WindowsNativeDispatcher.c Changeset: 61616f509ef8 Author: erikj Date: 2019-04-02 08:19 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/61616f509ef8 8221762: Improve Main.gmk/FindTests.gmk bootstrap time Reviewed-by: tbell ! make/InitSupport.gmk ! make/RunTestsPrebuilt.gmk ! make/common/FindTests.gmk Changeset: cdc3bb0983a6 Author: rkennke Date: 2019-04-02 18:13 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/cdc3bb0983a6 8221751: Shenandoah: Improve SATB enqueueing Reviewed-by: shade ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.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/shenandoahRuntime.cpp Changeset: cd3b7ad53265 Author: kvn Date: 2019-04-02 09:45 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/cd3b7ad53265 8221782: [Graal] Module jdk.internal.vm.compiler.management has not been granted accessClassInPackage.jdk.vm.ci.services Reviewed-by: dlong, alanb, mullan ! src/java.base/share/lib/security/default.policy Changeset: 9559ba212c18 Author: kbarrett Date: 2019-04-02 13:08 -0400 URL: http://hg.openjdk.java.net/panama/dev/rev/9559ba212c18 8221102: Allow GC threads to participate in threads claiming protocol Summary: Expand claim counter from 1bit to uintx, with rare overflow handling. Reviewed-by: tschatzl, rkennke ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/shared/genCollectedHeap.cpp ! src/hotspot/share/gc/shared/strongRootsScope.cpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp ! src/hotspot/share/gc/z/zRootsIterator.cpp ! src/hotspot/share/runtime/sweeper.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp + test/hotspot/gtest/runtime/test_threads.cpp Changeset: 00fc7ba000b4 Author: iignatyev Date: 2019-04-02 13:39 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/00fc7ba000b4 8221870: use driver to run CtwRunner in applications/ctw tests Reviewed-by: shade, epavlova ! test/hotspot/jtreg/applications/ctw/modules/generate.bash ! test/hotspot/jtreg/applications/ctw/modules/java_base.java ! test/hotspot/jtreg/applications/ctw/modules/java_base_2.java ! test/hotspot/jtreg/applications/ctw/modules/java_compiler.java ! test/hotspot/jtreg/applications/ctw/modules/java_datatransfer.java ! test/hotspot/jtreg/applications/ctw/modules/java_desktop.java ! test/hotspot/jtreg/applications/ctw/modules/java_desktop_2.java ! test/hotspot/jtreg/applications/ctw/modules/java_instrument.java ! test/hotspot/jtreg/applications/ctw/modules/java_logging.java ! test/hotspot/jtreg/applications/ctw/modules/java_management.java ! test/hotspot/jtreg/applications/ctw/modules/java_management_rmi.java ! test/hotspot/jtreg/applications/ctw/modules/java_naming.java + test/hotspot/jtreg/applications/ctw/modules/java_net_http.java ! test/hotspot/jtreg/applications/ctw/modules/java_prefs.java ! test/hotspot/jtreg/applications/ctw/modules/java_rmi.java ! test/hotspot/jtreg/applications/ctw/modules/java_scripting.java ! test/hotspot/jtreg/applications/ctw/modules/java_security_jgss.java ! test/hotspot/jtreg/applications/ctw/modules/java_security_sasl.java ! test/hotspot/jtreg/applications/ctw/modules/java_smartcardio.java ! test/hotspot/jtreg/applications/ctw/modules/java_sql.java ! test/hotspot/jtreg/applications/ctw/modules/java_sql_rowset.java + test/hotspot/jtreg/applications/ctw/modules/java_transaction_xa.java ! test/hotspot/jtreg/applications/ctw/modules/java_xml.java ! test/hotspot/jtreg/applications/ctw/modules/java_xml_crypto.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_accessibility.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_aot.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_attach.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_charsets.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_compiler.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_crypto_cryptoki.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_crypto_ec.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_crypto_mscapi.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_crypto_ucrypto.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_dynalink.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_editpad.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_hotspot_agent.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_httpserver.java - test/hotspot/jtreg/applications/ctw/modules/jdk_incubator_httpclient.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_internal_ed.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_internal_jvmstat.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_internal_le.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_internal_opt.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_internal_vm_ci.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_internal_vm_compiler.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_internal_vm_compiler_management.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_jartool.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_javadoc.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_jcmd.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_jconsole.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_jdeps.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_jdi.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_jfr.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_jlink.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_jshell.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_jsobject.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_jstatd.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_localedata.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_management.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_management_agent.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_management_jfr.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_naming_dns.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_naming_rmi.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_net.java - test/hotspot/jtreg/applications/ctw/modules/jdk_packager.java - test/hotspot/jtreg/applications/ctw/modules/jdk_packager_services.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_rmic.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_scripting_nashorn.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_scripting_nashorn_shell.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_sctp.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_security_auth.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_security_jgss.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_unsupported.java + test/hotspot/jtreg/applications/ctw/modules/jdk_unsupported_desktop.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_xml_dom.java ! test/hotspot/jtreg/applications/ctw/modules/jdk_zipfs.java Changeset: cbde3b803d93 Author: zgu Date: 2019-04-02 16:36 -0400 URL: http://hg.openjdk.java.net/panama/dev/rev/cbde3b803d93 8221875: Unquarantine Shenandoah string dedup tests Reviewed-by: rkennke ! test/hotspot/jtreg/ProblemList.txt Changeset: a1acc800c87a Author: zgu Date: 2019-03-14 09:53 -0400 URL: http://hg.openjdk.java.net/panama/dev/rev/a1acc800c87a 8220602: Shenandoah-SA: Enable best-effort implementation of heap walk Reviewed-by: rkennke, cjplummer ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/vmStructs_shenandoah.hpp ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shared/CollectedHeap.java + src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shenandoah/ShenandoahBitMap.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shenandoah/ShenandoahHeap.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/shenandoah/ShenandoahHeapRegion.java ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java ! test/hotspot/jtreg/serviceability/sa/ClhsdbJhisto.java ! test/hotspot/jtreg/serviceability/sa/TestHeapDumpForLargeArray.java Changeset: 772f62a13376 Author: lmesnik Date: 2019-04-02 17:11 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/772f62a13376 8221437: assert(java_lang_invoke_ResolvedMethodName::vmtarget(resolved_method()) == m()) failed: Should not change after link resolution Reviewed-by: coleenp, sspitsyn ! src/hotspot/share/prims/methodHandles.cpp Changeset: 3326be37cd9a Author: ronsh Date: 2019-04-02 17:27 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/3326be37cd9a 8220792: Performance bottleneck in JavacFileManager.list() Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/file/BaseFileManager.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/file/JavacFileManager.java Changeset: f9feec76a481 Author: amlu Date: 2019-04-03 13:24 +0800 URL: http://hg.openjdk.java.net/panama/dev/rev/f9feec76a481 8178335: fake pass: jdk/internal/ref/Cleaner/ExitOnThrow.java Reviewed-by: mchung ! test/jdk/jdk/internal/ref/Cleaner/ExitOnThrow.java Changeset: 33ef346b1478 Author: prr Date: 2019-03-21 21:37 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/33ef346b1478 8221304: Problem list java/awt/FontMetrics/MaxAdvanceIsMax.java Reviewed-by: serb ! test/jdk/ProblemList.txt Changeset: 7de72c87766a Author: psadhukhan Date: 2019-03-22 14:39 +0530 URL: http://hg.openjdk.java.net/panama/dev/rev/7de72c87766a Merge - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/doc-files/CompilationBailoutActionHelp.txt ! test/jdk/ProblemList.txt Changeset: a26c1f6f9ad5 Author: serb Date: 2019-03-22 12:44 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/a26c1f6f9ad5 8177960: Deprecate the Swing Motif Look and Feel and document it as unsupported on macOS Reviewed-by: psadhukhan, prr ! src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/MotifLookAndFeel.java ! src/java.desktop/unix/classes/sun/awt/X11/XAWTLookAndFeel.java Changeset: 24d072f23933 Author: stuefe Date: 2019-03-26 16:53 +0100 URL: http://hg.openjdk.java.net/panama/dev/rev/24d072f23933 8221405: Fix Windows 32bit awt build Reviewed-by: clanger, aivanov ! src/java.desktop/share/native/common/awt/debug/debug_trace.c ! src/java.desktop/share/native/common/awt/debug/debug_trace.h Changeset: 6526e0a7dd99 Author: mhalder Date: 2019-03-27 12:24 +0530 URL: http://hg.openjdk.java.net/panama/dev/rev/6526e0a7dd99 8216971: [macosx swing] For JCheckBoxMenuItem actionPerformed() is called twice, when apple.laf.useScreenMenuBar=true and modifier is InputEvent.META_DOWN_MASK Reviewed-by: psadhukhan, kaddepalli ! src/java.desktop/macosx/native/libawt_lwawt/awt/CMenuItem.m + test/jdk/javax/swing/JMenuItem/8216971/DoubleActionTest.java Changeset: 65030bbf5ac1 Author: psadhukhan Date: 2019-03-27 12:27 +0530 URL: http://hg.openjdk.java.net/panama/dev/rev/65030bbf5ac1 8220250: fix headings in java.desktop Reviewed-by: aivanov, jjg, serb ! src/java.desktop/share/classes/java/awt/AlphaComposite.java ! src/java.desktop/share/classes/java/awt/Component.java ! src/java.desktop/share/classes/java/awt/Font.java ! src/java.desktop/share/classes/java/awt/font/TextAttribute.java ! src/java.desktop/share/classes/java/awt/geom/AffineTransform.java ! src/java.desktop/share/classes/javax/accessibility/package-info.java ! src/java.desktop/share/classes/javax/print/DocFlavor.java ! src/java.desktop/share/classes/javax/print/attribute/package-info.java ! src/java.desktop/share/classes/javax/print/attribute/standard/package-info.java ! src/java.desktop/share/classes/javax/print/package-info.java ! src/java.desktop/share/classes/javax/swing/Action.java ! src/java.desktop/share/classes/javax/swing/GroupLayout.java ! src/java.desktop/share/classes/javax/swing/JTable.java ! src/java.desktop/share/classes/javax/swing/SizeSequence.java ! src/java.desktop/share/classes/javax/swing/SpringLayout.java ! src/java.desktop/share/classes/javax/swing/UIManager.java ! src/java.desktop/share/classes/javax/swing/plaf/metal/DefaultMetalTheme.java Changeset: 62171da145f9 Author: psadhukhan Date: 2019-03-28 13:47 +0530 URL: http://hg.openjdk.java.net/panama/dev/rev/62171da145f9 8217735: awt_image_GifImageDecoder_parseImage() "interlace" param has the wrong type Reviewed-by: psadhukhan, jdv Contributed-by: andrew_m_leonard at uk.ibm.com ! src/java.desktop/share/native/libawt/awt/image/gif/gifdecoder.c Changeset: b10e1f4f8b69 Author: psadhukhan Date: 2019-03-28 13:49 +0530 URL: http://hg.openjdk.java.net/panama/dev/rev/b10e1f4f8b69 8221411: NullPointerException in RasterPrinterJob without PrinterResolution Reviewed-by: prr ! src/java.desktop/share/classes/sun/print/RasterPrinterJob.java Changeset: 31c35004f300 Author: aivanov Date: 2019-03-28 14:52 +0000 URL: http://hg.openjdk.java.net/panama/dev/rev/31c35004f300 8221412: lookupPrintServices() does not always update the list of Windows remote printers Reviewed-by: prr, serb ! src/java.desktop/windows/classes/sun/print/PrintServiceLookupProvider.java ! src/java.desktop/windows/native/libawt/windows/WPrinterJob.cpp Changeset: 3a217bbdd3a2 Author: aivanov Date: 2019-03-28 18:51 +0000 URL: http://hg.openjdk.java.net/panama/dev/rev/3a217bbdd3a2 8217707: JNICALL declaration breaks Splash screen functions Reviewed-by: prr, stuefe ! src/java.desktop/share/native/libsplashscreen/splashscreen_impl.c ! src/java.desktop/share/native/libsplashscreen/splashscreen_impl.h ! src/java.desktop/unix/native/libsplashscreen/splashscreen_sys.c ! src/java.desktop/windows/native/libsplashscreen/splashscreen_sys.c Changeset: 35975113d5d8 Author: psadhukhan Date: 2019-03-29 10:11 +0530 URL: http://hg.openjdk.java.net/panama/dev/rev/35975113d5d8 8212904: JTextArea line wrapping incorrect when using UI scale Reviewed-by: serb, prr ! src/java.desktop/share/classes/javax/swing/text/Utilities.java ! src/java.desktop/share/classes/javax/swing/text/WrappedPlainView.java + test/jdk/javax/swing/JTextArea/JTextAreaWordWrapTest.java Changeset: d5b11b78ed62 Author: dcherepanov Date: 2019-03-27 13:14 +0300 URL: http://hg.openjdk.java.net/panama/dev/rev/d5b11b78ed62 8221244: Unexpected behavior of PropertyDescription.getReadMethod for boolean properties Reviewed-by: serb ! src/java.desktop/share/classes/com/sun/beans/introspect/PropertyInfo.java + test/jdk/java/beans/Introspector/Test8221244.java Changeset: 9727e63dff13 Author: serb Date: 2019-03-29 16:09 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/9727e63dff13 8215105: java/awt/Robot/HiDPIScreenCapture/ScreenCaptureTest.java: Wrong Pixel Color Reviewed-by: prr ! src/java.desktop/macosx/native/libawt_lwawt/awt/CRobot.m + test/jdk/java/awt/Robot/CheckCommonColors/CheckCommonColors.java Changeset: 93b37d7435e8 Author: serb Date: 2019-03-29 17:46 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/93b37d7435e8 8220320: Remove unused old code in GraphicsEnvironment on unix Reviewed-by: prr ! src/java.desktop/unix/classes/sun/awt/X11GraphicsDevice.java ! src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c Changeset: 080937e6e85c Author: serb Date: 2019-03-29 23:14 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/080937e6e85c 8221436: Incorrect check of package in Line.Info.toString() Reviewed-by: prr ! src/java.desktop/share/classes/javax/sound/sampled/Line.java + test/jdk/javax/sound/sampled/Lines/ToString.java Changeset: 901ff5aba330 Author: serb Date: 2019-03-31 16:57 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/901ff5aba330 8220495: Update GIFlib library to the 5.1.8 Reviewed-by: prr ! src/java.desktop/share/legal/giflib.md ! src/java.desktop/share/native/libsplashscreen/giflib/dgif_lib.c ! src/java.desktop/share/native/libsplashscreen/giflib/gif_hash.h ! src/java.desktop/share/native/libsplashscreen/giflib/gif_lib.h ! src/java.desktop/share/native/libsplashscreen/giflib/gif_lib_private.h ! src/java.desktop/share/native/libsplashscreen/giflib/gifalloc.c ! src/java.desktop/share/native/libsplashscreen/giflib/openbsd-reallocarray.c Changeset: 8fe16bf92ebd Author: psadhukhan Date: 2019-04-02 10:55 +0530 URL: http://hg.openjdk.java.net/panama/dev/rev/8fe16bf92ebd 8221731: Fix doclint handling of accessibility heading in java.desktop Reviewed-by: erikj ! make/CompileJavaModules.gmk Changeset: 94986cf5e969 Author: psadhukhan Date: 2019-04-02 10:57 +0530 URL: http://hg.openjdk.java.net/panama/dev/rev/94986cf5e969 Merge ! src/java.desktop/unix/native/libawt_xawt/awt/awt_GraphicsEnv.c - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/UnsafeAccess.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/util/UnsafeAccess.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/UnsafeAccess.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/NodeCostDumpUtil.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/UnsafeAccess.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.word/src/org/graalvm/compiler/word/UnsafeAccess.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllClassesFrameWriter.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/FrameOutputWriter.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleFrameWriter.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleIndexFrameWriter.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModulePackageIndexFrameWriter.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageFrameWriter.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageIndexFrameWriter.java - test/hotspot/jtreg/runtime/containers/docker/Dockerfile-BasicTest - test/hotspot/jtreg/runtime/containers/docker/Dockerfile-BasicTest-aarch64 - test/hotspot/jtreg/runtime/containers/docker/Dockerfile-BasicTest-ppc64le - test/hotspot/jtreg/runtime/containers/docker/Dockerfile-BasicTest-s390x - test/hotspot/jtreg/runtime/handshake/HandshakeWalkSuspendExitTest.java - test/hotspot/jtreg/runtime/noClassDefFoundMsg/NoClassDefFoundMsg.java - test/hotspot/jtreg/runtime/noClassDefFoundMsg/libNoClassDefFoundMsg.c - test/jdk/jdk/internal/platform/docker/Dockerfile-BasicTest - test/jdk/jdk/internal/platform/docker/Dockerfile-BasicTest-aarch64 - test/jdk/jdk/internal/platform/docker/Dockerfile-BasicTest-ppc64le - test/jdk/jdk/internal/platform/docker/Dockerfile-BasicTest-s390x - test/jdk/sun/security/ssl/rsa/BrokenRSAPrivateCrtKey.java - test/langtools/jdk/javadoc/doclet/AccessFrameTitle/AccessFrameTitle.java - test/langtools/jdk/javadoc/doclet/AccessFrameTitle/p1/C1.java - test/langtools/jdk/javadoc/doclet/AccessFrameTitle/p2/C2.java - test/langtools/jdk/javadoc/doclet/PackagesHeader/PackagesHeader.java - test/langtools/jdk/javadoc/doclet/PackagesHeader/p1/C1.java - test/langtools/jdk/javadoc/doclet/PackagesHeader/p2/C2.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/TestClassDocCatalog.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg1/EmptyAnnotation.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg1/EmptyClass.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg1/EmptyEnum.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg1/EmptyError.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg1/EmptyException.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg1/EmptyInterface.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg2/EmptyAnnotation.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg2/EmptyClass.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg2/EmptyEnum.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg2/EmptyError.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg2/EmptyException.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg2/EmptyInterface.java - test/langtools/jdk/javadoc/doclet/testFramesNoFrames/TestFramesNoFrames.java - test/langtools/jdk/javadoc/doclet/testWindowTitle/TestWindowTitle.java - test/langtools/jdk/javadoc/doclet/testWindowTitle/p1/C1.java - test/langtools/jdk/javadoc/doclet/testWindowTitle/p2/C2.java Changeset: 7feb5e303c83 Author: psadhukhan Date: 2019-04-03 13:30 +0530 URL: http://hg.openjdk.java.net/panama/dev/rev/7feb5e303c83 Merge ! make/CompileJavaModules.gmk - test/hotspot/jtreg/applications/ctw/modules/jdk_incubator_httpclient.java - test/hotspot/jtreg/applications/ctw/modules/jdk_packager.java - test/hotspot/jtreg/applications/ctw/modules/jdk_packager_services.java Changeset: 1ad7f5bcc670 Author: lucy Date: 2019-04-03 16:55 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/1ad7f5bcc670 8221482: Initialize VMRegImpl::regName[] earlier to prevent assert during PrintStubCode Reviewed-by: kvn ! src/hotspot/share/runtime/init.cpp Changeset: 41356f083e93 Author: redestad Date: 2019-04-03 17:06 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/41356f083e93 8221701: Archive constant BaseLocales Reviewed-by: naoto ! src/hotspot/share/memory/heapShared.cpp ! src/java.base/share/classes/java/util/Locale.java ! src/java.base/share/classes/sun/util/locale/BaseLocale.java ! src/java.base/share/classes/sun/util/locale/LocaleUtils.java ! src/java.base/share/classes/sun/util/locale/provider/JRELocaleProviderAdapter.java ! src/java.base/share/classes/sun/util/locale/provider/LocaleResources.java Changeset: 30067047ed88 Author: lancea Date: 2019-04-03 11:30 -0400 URL: http://hg.openjdk.java.net/panama/dev/rev/30067047ed88 8216539: tools/jar/modularJar/Basic.java times out Reviewed-by: mchung, alanb, bchristi, bpb ! test/jdk/tools/jar/modularJar/Basic.java Changeset: f855ec13aa25 Author: rkennke Date: 2019-03-27 22:25 +0100 URL: http://hg.openjdk.java.net/panama/dev/rev/f855ec13aa25 8220664: Simplify ShenandoahUpdateHeapRefsClosure Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahOopClosures.hpp ! src/hotspot/share/gc/shenandoah/shenandoahOopClosures.inline.hpp Changeset: 00fda51e28cf Author: erikj Date: 2019-04-03 12:52 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/00fda51e28cf 8221764: Reduce make Init.gmk logging overhead Reviewed-by: tbell ! make/Init.gmk ! make/InitSupport.gmk Changeset: b788c494aa46 Author: dholmes Date: 2019-04-03 22:03 +0000 URL: http://hg.openjdk.java.net/panama/dev/rev/b788c494aa46 8218483: Crash in "assert(_daemon_threads_count->get_value() > daemon_count) failed: thread count mismatch 5 : 5" Reviewed-by: dcubed, stuefe ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp ! test/hotspot/gtest/threadHelper.inline.hpp Changeset: f87041131515 Author: xuelei Date: 2019-04-03 16:23 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/f87041131515 8217610: TLSv1.3 fail with ClassException when EC keys are stored in PKCS11 Reviewed-by: valeriep ! src/java.base/share/classes/sun/security/ssl/CertificateVerify.java ! src/java.base/share/classes/sun/security/ssl/DHServerKeyExchange.java ! src/java.base/share/classes/sun/security/ssl/ECDHClientKeyExchange.java ! src/java.base/share/classes/sun/security/ssl/ECDHKeyExchange.java ! src/java.base/share/classes/sun/security/ssl/ECDHServerKeyExchange.java ! src/java.base/share/classes/sun/security/ssl/SignatureScheme.java ! src/java.base/share/classes/sun/security/ssl/X509Authentication.java Changeset: e998c9effb37 Author: jwilhelm Date: 2019-04-04 01:46 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/e998c9effb37 Added tag jdk-13+15 for changeset f855ec13aa25 ! .hgtags Changeset: 5c7418757bad Author: coleenp Date: 2019-04-03 20:39 -0400 URL: http://hg.openjdk.java.net/panama/dev/rev/5c7418757bad 8221872: Remove uses of ClassLoaderWeakHandle typedef in protection domain table Summary: Make consistent with StringTable and ResolvedMethodTable Reviewed-by: dholmes ! src/hotspot/share/classfile/protectionDomainCache.cpp ! src/hotspot/share/classfile/protectionDomainCache.hpp ! src/hotspot/share/utilities/hashtable.cpp Changeset: 724b9e361cb6 Author: rschmelter Date: 2019-03-26 01:46 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/724b9e361cb6 8221325: Add information about swap space to print_memory_info() on MacOS Reviewed-by: stuefe, dholmes ! src/hotspot/os/bsd/os_bsd.cpp Changeset: a7df0de0835a Author: weijun Date: 2019-04-04 20:22 +0800 URL: http://hg.openjdk.java.net/panama/dev/rev/a7df0de0835a 8219861: Add new keytool -showinfo -tls command for displaying TLS configuration information Reviewed-by: mullan ! src/java.base/share/classes/sun/security/tools/keytool/Main.java ! src/java.base/share/classes/sun/security/tools/keytool/Resources.java + src/java.base/share/classes/sun/security/tools/keytool/ShowInfo.java Changeset: f562f8318ebd Author: erikj Date: 2019-04-04 07:43 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/f562f8318ebd 8217728: Speed up incremental rerun of "make hotspot" Reviewed-by: tbell ! make/Main.gmk ! make/common/NativeCompilation.gmk Changeset: 6c0ab8bd8da5 Author: rkennke Date: 2019-04-02 23:00 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/6c0ab8bd8da5 8221766: Load-reference barriers for Shenandoah Reviewed-by: kvn, erikj, aph, shade ! make/hotspot/lib/JvmFeatures.gmk ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetC1_aarch64.cpp ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoah_aarch64.ad ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.hpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetC1_x86.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoah_x86_64.ad ! src/hotspot/share/adlc/formssel.cpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.cpp ! src/hotspot/share/gc/shenandoah/c1/shenandoahBarrierSetC1.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahBarrierSetC2.hpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.hpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAggressiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahPassiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahStaticHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahTraversalHeuristics.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/shenandoahCodeRoots.cpp ! 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/shenandoahMarkCompact.cpp ! src/hotspot/share/gc/shenandoah/shenandoahOopClosures.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRuntime.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRuntime.hpp ! src/hotspot/share/gc/shenandoah/shenandoah_globals.hpp ! src/hotspot/share/opto/classes.hpp ! src/hotspot/share/opto/compile.cpp ! src/hotspot/share/opto/lcm.cpp ! src/hotspot/share/opto/library_call.cpp ! src/hotspot/share/opto/loopPredicate.cpp ! src/hotspot/share/opto/loopnode.cpp ! src/hotspot/share/opto/loopnode.hpp ! src/hotspot/share/opto/loopopts.cpp ! src/hotspot/share/opto/node.hpp ! test/hotspot/jtreg/gc/shenandoah/options/TestSelectiveBarrierFlags.java ! test/hotspot/jtreg/gc/shenandoah/options/TestWrongBarrierDisable.java Changeset: b354ffb03ae4 Author: mseledtsov Date: 2019-04-04 12:29 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/b354ffb03ae4 8221710: [TESTBUG] more configurable parameters for docker testing Summary: Introduced docker test config properties Reviewed-by: lmesnik, iignatyev, egahlin ! test/hotspot/jtreg/runtime/containers/docker/DockerBasicTest.java ! test/lib/jdk/test/lib/containers/docker/DockerTestUtils.java Changeset: 13c02cc7a6e5 Author: rkennke Date: 2019-04-04 21:29 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/13c02cc7a6e5 8221848: Shenandoah: ArrayCopy post-barrier improvements Reviewed-by: zgu ! src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp ! src/hotspot/cpu/x86/gc/shenandoah/shenandoahBarrierSetAssembler_x86.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/shenandoahHeap.cpp Changeset: 2da3b1a3942f Author: erikj Date: 2019-04-04 13:56 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/2da3b1a3942f 8221996: Bootcycle build broken Reviewed-by: tbell ! make/Main.gmk Changeset: 6aa05983e9d3 Author: redestad Date: 2019-04-04 23:19 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/6aa05983e9d3 8221980: Simplify Optional implementation Reviewed-by: smarks, clanger ! src/java.base/share/classes/java/util/Optional.java Changeset: 6aedb80a6fd4 Author: redestad Date: 2019-04-04 23:21 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/6aedb80a6fd4 8221981: Simplify Map/List/Set.of() implementation Reviewed-by: smarks ! src/java.base/share/classes/java/util/ImmutableCollections.java ! src/java.base/share/classes/java/util/List.java ! src/java.base/share/classes/java/util/Map.java ! src/java.base/share/classes/java/util/Set.java Changeset: 82f41fb55b63 Author: redestad Date: 2019-04-04 23:21 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/82f41fb55b63 8221921: Implement size() / isEmpty() in immutable collections Reviewed-by: smarks ! src/java.base/share/classes/java/util/ImmutableCollections.java Changeset: fb25cd198a10 Author: xuelei Date: 2019-04-04 14:19 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/fb25cd198a10 8163326: Update the default enabled cipher suites preference Reviewed-by: mullan ! src/java.base/share/classes/sun/security/ssl/CipherSuite.java ! test/jdk/javax/net/ssl/sanity/ciphersuites/CheckCipherSuites.java Changeset: ad9fa99fa48e Author: coleenp Date: 2019-04-04 17:23 -0400 URL: http://hg.openjdk.java.net/panama/dev/rev/ad9fa99fa48e 8221992: Fix old method replacement in ResolvedMethodTable Summary: Use method get_new_method() which is used in other call sites. Reviewed-by: sspitsyn ! src/hotspot/share/prims/resolvedMethodTable.cpp Changeset: 532e88de77eb Author: goetz Date: 2019-04-04 09:39 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/532e88de77eb 8221470: Print methods in exception messages in java-like Syntax. Reviewed-by: dholmes, mdoerr, coleenp ! src/hotspot/share/classfile/verifier.cpp ! src/hotspot/share/interpreter/linkResolver.cpp ! src/hotspot/share/interpreter/linkResolver.hpp ! src/hotspot/share/oops/constantPool.cpp ! src/hotspot/share/oops/klassVtable.cpp ! src/hotspot/share/oops/method.cpp ! src/hotspot/share/oops/method.hpp ! src/hotspot/share/oops/symbol.cpp ! src/hotspot/share/oops/symbol.hpp ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/prims/nativeLookup.cpp ! src/hotspot/share/prims/stackwalk.cpp ! src/hotspot/share/runtime/reflection.cpp ! test/hotspot/jtreg/runtime/LoaderConstraints/itableLdrConstraint/Test.java ! test/hotspot/jtreg/runtime/LoaderConstraints/vtableLdrConstraint/Test.java ! test/hotspot/jtreg/runtime/Nestmates/membership/TestNestmateMembership.java ! test/hotspot/jtreg/runtime/Nestmates/privateConstructors/TestConstructorHierarchy.java ! test/hotspot/jtreg/runtime/exceptionMsgs/AbstractMethodError/AbstractMethodErrorTest.java ! test/hotspot/jtreg/runtime/exceptionMsgs/IllegalAccessError/IllegalAccessErrorTest.java + test/hotspot/jtreg/runtime/exceptionMsgs/methodPrinting/TeMe3_C.jasm + test/hotspot/jtreg/runtime/exceptionMsgs/methodPrinting/TestPrintingMethods.java ! test/hotspot/jtreg/runtime/modules/AccessCheck/ExpQualToM1PrivateMethodIAE.java Changeset: b34bcfbcc2fd Author: goetz Date: 2019-04-05 07:59 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/b34bcfbcc2fd 8219918: ProblemList hotspot tests failing in SAP testing. Reviewed-by: dholmes ! test/hotspot/jtreg/ProblemList.txt Changeset: dad2c80ae0b2 Author: mbaesken Date: 2019-04-02 13:54 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/dad2c80ae0b2 8218547: Simplify JLI_Open on Windows in native code (libjli) Reviewed-by: alanb, clanger ! src/java.base/windows/native/libjli/java_md.c ! test/jdk/tools/launcher/Arrrghs.java Changeset: 776b261dff84 Author: shade Date: 2019-04-05 09:06 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/776b261dff84 8221918: runtime/SharedArchiveFile/serviceability/ReplaceCriticalClasses.java fails: Shared archive not found Reviewed-by: jiangli, dholmes ! test/hotspot/jtreg/runtime/SharedArchiveFile/serviceability/ReplaceCriticalClasses.java Changeset: d5fb27646df4 Author: mdoerr Date: 2019-04-05 09:18 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/d5fb27646df4 8221833: Readability check in Symbol::is_valid not performed for some addresses Reviewed-by: zgu, coleenp ! src/hotspot/share/runtime/os.cpp Changeset: 2ae93028bef3 Author: stuefe Date: 2019-03-27 14:13 +0100 URL: http://hg.openjdk.java.net/panama/dev/rev/2ae93028bef3 8221539: [metaspace] Improve MetaspaceObj::is_metaspace_obj() and friends Reviewed-by: adinn, coleenp, mdoerr ! src/hotspot/cpu/aarch64/frame_aarch64.cpp ! src/hotspot/cpu/arm/frame_arm.cpp ! src/hotspot/cpu/sparc/frame_sparc.cpp ! src/hotspot/cpu/x86/frame_x86.cpp ! src/hotspot/os_cpu/linux_ppc/thread_linux_ppc.cpp ! src/hotspot/os_cpu/linux_s390/thread_linux_s390.cpp ! src/hotspot/share/memory/allocation.cpp ! src/hotspot/share/memory/allocation.hpp ! src/hotspot/share/memory/metaspace/virtualSpaceList.cpp ! src/hotspot/share/memory/metaspace/virtualSpaceList.hpp ! src/hotspot/share/memory/metaspace/virtualSpaceNode.hpp ! src/hotspot/share/oops/instanceKlass.cpp + test/hotspot/gtest/memory/test_is_metaspace_obj.cpp Changeset: f2c23221bbd5 Author: gadams Date: 2019-04-05 07:10 -0400 URL: http://hg.openjdk.java.net/panama/dev/rev/f2c23221bbd5 8203364: Some serviceability/sa/ tests intermittently fail with java.io.IOException: LingeredApp terminated with non-zero exit code 3 Reviewed-by: cjplummer, jcbeyler ! test/lib/jdk/test/lib/apps/LingeredApp.java Changeset: d9b46b7de028 Author: adinn Date: 2019-04-05 10:01 +0100 URL: http://hg.openjdk.java.net/panama/dev/rev/d9b46b7de028 8221477: Inject os/cpu-specific constants into Unsafe from JVM Summary: Initialize Unsafe os/cpu-specific constants using injection instead of native callouts Reviewed-by: stuefe, coleenp, dholmes, plevart ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/systemDictionary.hpp ! src/hotspot/share/classfile/vmSymbols.hpp ! src/hotspot/share/prims/unsafe.cpp ! src/hotspot/share/runtime/thread.cpp ! src/java.base/share/classes/jdk/internal/misc/Unsafe.java + src/java.base/share/classes/jdk/internal/misc/UnsafeConstants.java ! test/jdk/java/lang/reflect/AccessibleObject/CanAccessTest.java Changeset: 23a04fe2aca2 Author: aph Date: 2019-04-05 09:53 -0400 URL: http://hg.openjdk.java.net/panama/dev/rev/23a04fe2aca2 8219993: AArch64: Compiled CI stubs are unsafely modified Reviewed-by: adinn ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/compiledIC_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp ! src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp ! src/hotspot/cpu/aarch64/nativeInst_aarch64.cpp Changeset: 03ea2b6428f0 Author: bpb Date: 2019-04-05 08:37 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/03ea2b6428f0 8221597: A typo in the Java API doc for File.getUsableSpace() Reviewed-by: lancea, darcy ! src/java.base/share/classes/java/io/File.java Changeset: 172f929786ea Author: jjg Date: 2019-04-05 11:17 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/172f929786ea 8221997: fix headings in jdk.javadoc Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/doclet/package-info.java Changeset: dfba4e321ab3 Author: xuelei Date: 2019-04-05 11:28 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/dfba4e321ab3 8221882: Use fiber-friendly java.util.concurrent.locks in JSSE Reviewed-by: alanb, dfuchs ! src/java.base/share/classes/javax/net/ssl/SSLContext.java ! src/java.base/share/classes/javax/net/ssl/SSLServerSocketFactory.java ! src/java.base/share/classes/javax/net/ssl/SSLSocketFactory.java ! src/java.base/share/classes/sun/net/www/protocol/https/HttpsURLConnectionImpl.java ! src/java.base/share/classes/sun/security/ssl/BaseSSLSocketImpl.java ! src/java.base/share/classes/sun/security/ssl/DTLSInputRecord.java ! src/java.base/share/classes/sun/security/ssl/DTLSOutputRecord.java ! src/java.base/share/classes/sun/security/ssl/EphemeralKeyManager.java ! src/java.base/share/classes/sun/security/ssl/HelloCookieManager.java ! src/java.base/share/classes/sun/security/ssl/InputRecord.java ! src/java.base/share/classes/sun/security/ssl/OutputRecord.java ! src/java.base/share/classes/sun/security/ssl/SSLContextImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLEngineImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLEngineOutputRecord.java ! src/java.base/share/classes/sun/security/ssl/SSLServerSocketImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLSessionImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLSocketImpl.java ! src/java.base/share/classes/sun/security/ssl/SSLSocketOutputRecord.java ! src/java.base/share/classes/sun/security/ssl/SunX509KeyManagerImpl.java ! src/java.base/share/classes/sun/security/ssl/TransportContext.java ! src/java.base/share/classes/sun/security/ssl/TrustStoreManager.java ! src/java.base/share/classes/sun/security/ssl/X509TrustManagerImpl.java Changeset: 259b40b4d473 Author: jjg Date: 2019-04-05 15:57 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/259b40b4d473 8221871: javadoc should not set role=region on
elements Reviewed-by: hannesw ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlTree.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/testUseOption/TestUseOption.java Changeset: a5da0277d9bb Author: mchung Date: 2019-04-06 21:05 +0800 URL: http://hg.openjdk.java.net/panama/dev/rev/a5da0277d9bb 8220282: Add MethodHandle tests on accessing final fields Reviewed-by: lancea ! test/jdk/java/lang/invoke/MethodHandlesGeneralTest.java ! test/jdk/java/lang/invoke/MethodHandlesTest.java Changeset: b16e8a886fc3 Author: mchung Date: 2019-04-06 21:16 +0800 URL: http://hg.openjdk.java.net/panama/dev/rev/b16e8a886fc3 8221530: Caller sensitive methods not handling caller = null when invoked by JNI code with no java frames on stack Reviewed-by: alanb, dholmes, sundar ! make/test/JtregNativeJdk.gmk ! src/java.base/share/classes/java/lang/reflect/AccessibleObject.java ! src/java.base/share/classes/jdk/internal/reflect/Reflection.java + test/jdk/java/lang/reflect/exeCallerAccessTest/CallerAccessTest.java + test/jdk/java/lang/reflect/exeCallerAccessTest/exeCallerAccessTest.c Changeset: cfe96d1d0715 Author: mchung Date: 2019-04-07 03:00 +0000 URL: http://hg.openjdk.java.net/panama/dev/rev/cfe96d1d0715 8222078: test/jdk/java/lang/reflect/exeCallerAccessTest/exeCallerAccessTest.c build fails after 8221530 Reviewed-by: lancea, dholmes ! test/jdk/java/lang/reflect/exeCallerAccessTest/exeCallerAccessTest.c Changeset: cd2879e0c165 Author: mchung Date: 2019-04-07 18:09 +0800 URL: http://hg.openjdk.java.net/panama/dev/rev/cd2879e0c165 8222082: Build of test/jdk/java/lang/reflect/exeCallerAccessTest/exeCallerAccessTest.c still failing on Windows Reviewed-by: alanb, dholmes ! make/test/JtregNativeJdk.gmk Changeset: ac4b327623f6 Author: shade Date: 2019-04-07 13:28 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/ac4b327623f6 8221917: serviceability/sa/TestPrintMdo.java fails on 32-bit platforms Reviewed-by: cjplummer, dholmes ! src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/DataLayout.java Changeset: 8d51a40fbd23 Author: shade Date: 2019-04-07 13:28 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/8d51a40fbd23 8222032: x86_32 fails with "wrong size of mach node" on AVX-512 machine Reviewed-by: kvn, vlivanov ! src/hotspot/cpu/x86/x86_32.ad Changeset: 40658cb7f47a Author: ngasson Date: 2019-04-08 09:31 +0800 URL: http://hg.openjdk.java.net/panama/dev/rev/40658cb7f47a 8221529: [TESTBUG] Docker tests use old/deprecated image on AArch64 Reviewed-by: aph, sgehwolf, mseledtsov ! test/lib/jdk/test/lib/containers/docker/DockerfileConfig.java Changeset: 0d7fb7f07134 Author: clanger Date: 2019-04-08 06:56 +0100 URL: http://hg.openjdk.java.net/panama/dev/rev/0d7fb7f07134 8221880: Better customization for Windows RC properties FileDescription and ProductName Reviewed-by: erikj ! make/autoconf/flags-other.m4 ! make/autoconf/jdk-version.m4 ! make/autoconf/spec.gmk.in Changeset: 7b5e2bc79e68 Author: dpochepk Date: 2019-04-08 15:54 +0300 URL: http://hg.openjdk.java.net/panama/dev/rev/7b5e2bc79e68 8221995: AARCH64: problems with CAS instructions encoding Reviewed-by: aph ! src/hotspot/cpu/aarch64/assembler_aarch64.hpp Changeset: 22ee881e6a74 Author: shade Date: 2019-04-08 15:25 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/22ee881e6a74 8222111: exeCallerAccessTest.c fails to build: control reaches end of non-void function Reviewed-by: alanb, dholmes ! test/jdk/java/lang/reflect/exeCallerAccessTest/exeCallerAccessTest.c Changeset: 542735f2a53e Author: erikj Date: 2019-04-05 06:48 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/542735f2a53e 8221907: make reconfigure breaks when configured with relative paths Reviewed-by: dholmes ! make/Init.gmk ! make/autoconf/basics.m4 ! make/autoconf/basics_windows.m4 ! make/autoconf/spec.gmk.in ! make/autoconf/toolchain_windows.m4 Changeset: a8db7fd22fd1 Author: mullan Date: 2019-04-08 12:19 -0400 URL: http://hg.openjdk.java.net/panama/dev/rev/a8db7fd22fd1 8222089: [TESTBUG] sun/security/lib/cacerts/VerifyCACerts.java fails due to cert within 90-day expiry window Reviewed-by: xuelei ! test/jdk/sun/security/lib/cacerts/VerifyCACerts.java Changeset: 40dc805f4709 Author: rkennke Date: 2019-04-08 18:42 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/40dc805f4709 8222125: Shenandoah: Crash when running with ShenandoahParallelSafepointThreads=1 Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp + test/hotspot/jtreg/gc/shenandoah/options/TestSafepointWorkers.java Changeset: 0608ef3a7740 Author: rkennke Date: 2019-04-08 18:42 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/0608ef3a7740 8222129: Shenandoah: Missing CompareAndSwapP/N case in get_barrier_strength() Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp Changeset: e5713cefcf41 Author: sgroeger Date: 2019-04-08 15:01 +0100 URL: http://hg.openjdk.java.net/panama/dev/rev/e5713cefcf41 8222027: java/util/logging/LogManager/TestLoggerNames.java generates intermittent ClassCastException Summary: Make a strong reference to TestLogger and dont fetch it from LogManager Reviewed-by: dfuchs ! test/jdk/java/util/logging/LogManager/TestLoggerNames.java Changeset: 6733a9176cce Author: dtitov Date: 2019-04-08 17:09 +0000 URL: http://hg.openjdk.java.net/panama/dev/rev/6733a9176cce 8221730: jcmd process name matching broken Reviewed-by: jcbeyler, dholmes, cjplummer ! src/jdk.jcmd/linux/classes/sun/tools/ProcessHelper.java ! test/hotspot/jtreg/serviceability/dcmd/framework/HelpTest.java ! test/hotspot/jtreg/serviceability/dcmd/framework/InvalidCommandTest.java - test/hotspot/jtreg/serviceability/dcmd/framework/TestJavaProcess.java + test/hotspot/jtreg/serviceability/dcmd/framework/TestProcessJarLauncher.java ! test/hotspot/jtreg/serviceability/dcmd/framework/TestProcessLauncher.java + test/hotspot/jtreg/serviceability/dcmd/framework/TestProcessModuleLauncher.java ! test/hotspot/jtreg/serviceability/dcmd/framework/VMVersionTest.java + test/hotspot/jtreg/serviceability/dcmd/framework/process/TestJavaProcess.java ! test/jdk/sun/tools/jcmd/TestProcessHelper.java Changeset: ba0d64652b86 Author: zgu Date: 2019-04-08 13:22 -0400 URL: http://hg.openjdk.java.net/panama/dev/rev/ba0d64652b86 8222086: CodeCache::UnloadingScope needs to preserve and restore previous IsUnloadingBehavior Reviewed-by: eosterlund ! src/hotspot/share/code/codeCache.cpp ! src/hotspot/share/code/codeCache.hpp Changeset: 2020eaa9ca9f Author: mullan Date: 2019-04-08 13:33 -0400 URL: http://hg.openjdk.java.net/panama/dev/rev/2020eaa9ca9f 8222133: Add temporary exceptions for root certs that are due to expire soon Reviewed-by: xuelei ! test/jdk/sun/security/lib/cacerts/VerifyCACerts.java Changeset: b9c461c02f7c Author: shade Date: 2019-04-08 19:43 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/b9c461c02f7c 8222130: Shenandoah should verify roots after pre-evacuation Reviewed-by: rkennke, zgu ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.cpp ! src/hotspot/share/gc/shenandoah/shenandoahVerifier.hpp Changeset: 1f8938ce8564 Author: epavlova Date: 2019-04-08 11:11 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/1f8938ce8564 8216551: GraalUnitTestLauncher should be executed as '@run driver' Reviewed-by: dlong, kvn ! test/hotspot/jtreg/ProblemList-graal.txt ! test/hotspot/jtreg/compiler/graalunit/ApiDirectivesTest.java ! test/hotspot/jtreg/compiler/graalunit/ApiTest.java ! test/hotspot/jtreg/compiler/graalunit/AsmAarch64Test.java ! test/hotspot/jtreg/compiler/graalunit/AsmAmd64Test.java ! test/hotspot/jtreg/compiler/graalunit/AsmSparcTest.java ! test/hotspot/jtreg/compiler/graalunit/CollectionsTest.java ! test/hotspot/jtreg/compiler/graalunit/CoreAmd64Test.java ! test/hotspot/jtreg/compiler/graalunit/CoreTest.java ! test/hotspot/jtreg/compiler/graalunit/DebugTest.java ! test/hotspot/jtreg/compiler/graalunit/EA9Test.java ! test/hotspot/jtreg/compiler/graalunit/EATest.java ! test/hotspot/jtreg/compiler/graalunit/GraphTest.java ! test/hotspot/jtreg/compiler/graalunit/HotspotAmd64Test.java ! test/hotspot/jtreg/compiler/graalunit/HotspotJdk9Test.java ! test/hotspot/jtreg/compiler/graalunit/HotspotLirTest.java ! test/hotspot/jtreg/compiler/graalunit/HotspotSparcTest.java ! test/hotspot/jtreg/compiler/graalunit/HotspotTest.java ! test/hotspot/jtreg/compiler/graalunit/Jtt.MicroTest.java ! test/hotspot/jtreg/compiler/graalunit/JttBackendTest.java ! test/hotspot/jtreg/compiler/graalunit/JttBytecodeTest.java ! test/hotspot/jtreg/compiler/graalunit/JttExceptTest.java ! test/hotspot/jtreg/compiler/graalunit/JttHotpathTest.java ! test/hotspot/jtreg/compiler/graalunit/JttHotspotTest.java ! test/hotspot/jtreg/compiler/graalunit/JttJdkTest.java ! test/hotspot/jtreg/compiler/graalunit/JttLangALTest.java ! test/hotspot/jtreg/compiler/graalunit/JttLangMathALTest.java ! test/hotspot/jtreg/compiler/graalunit/JttLangMathMZTest.java ! test/hotspot/jtreg/compiler/graalunit/JttLangNZTest.java ! test/hotspot/jtreg/compiler/graalunit/JttLoopTest.java ! test/hotspot/jtreg/compiler/graalunit/JttOptimizeTest.java ! test/hotspot/jtreg/compiler/graalunit/JttReflectAETest.java ! test/hotspot/jtreg/compiler/graalunit/JttReflectFieldGetTest.java ! test/hotspot/jtreg/compiler/graalunit/JttReflectFieldSetTest.java ! test/hotspot/jtreg/compiler/graalunit/JttReflectGZTest.java ! test/hotspot/jtreg/compiler/graalunit/JttThreadsTest.java ! test/hotspot/jtreg/compiler/graalunit/LirJttTest.java ! test/hotspot/jtreg/compiler/graalunit/LirTest.java ! test/hotspot/jtreg/compiler/graalunit/LoopTest.java ! test/hotspot/jtreg/compiler/graalunit/NodesTest.java ! test/hotspot/jtreg/compiler/graalunit/OptionsTest.java ! test/hotspot/jtreg/compiler/graalunit/PhasesCommonTest.java ! test/hotspot/jtreg/compiler/graalunit/Replacements12Test.java ! test/hotspot/jtreg/compiler/graalunit/Replacements9Test.java ! test/hotspot/jtreg/compiler/graalunit/ReplacementsTest.java ! test/hotspot/jtreg/compiler/graalunit/TestPackages.txt ! test/hotspot/jtreg/compiler/graalunit/UtilTest.java ! test/hotspot/jtreg/compiler/graalunit/generateTests.sh ! test/jdk/ProblemList-graal.txt Changeset: c4f16445675a Author: tschatzl Date: 2019-04-08 20:37 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/c4f16445675a 8218668: Clean up evacuation of optional collection set Summary: Better integrate optional collection set evacuation into the existing evacuation scheme, fixing a few minor issues with the initial implementation. Reviewed-by: kbarrett, sangheki ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1CollectionSet.cpp ! src/hotspot/share/gc/g1/g1CollectionSet.hpp ! src/hotspot/share/gc/g1/g1CollectionSetCandidates.cpp ! src/hotspot/share/gc/g1/g1CollectionSetCandidates.hpp ! src/hotspot/share/gc/g1/g1ConcurrentMark.cpp ! src/hotspot/share/gc/g1/g1EvacFailure.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.cpp ! src/hotspot/share/gc/g1/g1GCPhaseTimes.hpp ! src/hotspot/share/gc/g1/g1HeapVerifier.cpp ! src/hotspot/share/gc/g1/g1OopStarChunkedList.cpp ! src/hotspot/share/gc/g1/g1OopStarChunkedList.hpp ! src/hotspot/share/gc/g1/g1OopStarChunkedList.inline.hpp ! src/hotspot/share/gc/g1/g1ParScanThreadState.cpp ! src/hotspot/share/gc/g1/g1Policy.cpp ! src/hotspot/share/gc/g1/g1Policy.hpp ! src/hotspot/share/gc/g1/g1RemSet.cpp ! src/hotspot/share/gc/g1/g1RemSet.hpp ! src/hotspot/share/gc/g1/heapRegion.cpp ! src/hotspot/share/gc/g1/heapRegion.hpp ! src/hotspot/share/gc/shared/workerDataArray.hpp ! src/hotspot/share/gc/shared/workerDataArray.inline.hpp Changeset: 58751415d5f8 Author: tschatzl Date: 2019-04-08 21:01 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/58751415d5f8 8222105: Add "use_" prefix to G1Policy::adaptive_young_list_length Summary: Improve naming of G1Policy::adaptive_young_list_length to improve readability. Reviewed-by: kbarrett ! src/hotspot/share/gc/g1/g1ConcurrentMarkThread.cpp ! src/hotspot/share/gc/g1/g1Policy.cpp ! src/hotspot/share/gc/g1/g1Policy.hpp ! src/hotspot/share/gc/g1/g1YoungGenSizer.cpp ! src/hotspot/share/gc/g1/g1YoungGenSizer.hpp ! src/hotspot/share/gc/g1/g1YoungRemSetSamplingThread.cpp Changeset: 0c5d713cf43f Author: sangheki Date: 2019-04-08 12:15 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/0c5d713cf43f 8218049: Survivor MemoryMXBean used() size granularity is region based Reviewed-by: tschatzl, kbarrett ! src/hotspot/share/gc/g1/g1CollectedHeap.cpp ! src/hotspot/share/gc/g1/g1CollectedHeap.hpp ! src/hotspot/share/gc/g1/g1EdenRegions.hpp ! src/hotspot/share/gc/g1/g1MonitoringSupport.cpp ! src/hotspot/share/gc/g1/g1MonitoringSupport.hpp ! src/hotspot/share/gc/g1/g1SurvivorRegions.cpp ! src/hotspot/share/gc/g1/g1SurvivorRegions.hpp ! src/hotspot/share/gc/g1/vmStructs_g1.hpp ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/gc/survivorAlignment/TestAllocationInEden.java ! test/hotspot/jtreg/gc/survivorAlignment/TestPromotionFromEdenToTenured.java ! test/hotspot/jtreg/gc/survivorAlignment/TestPromotionFromSurvivorToTenuredAfterFullGC.java ! test/hotspot/jtreg/gc/survivorAlignment/TestPromotionFromSurvivorToTenuredAfterMinorGC.java ! test/hotspot/jtreg/gc/survivorAlignment/TestPromotionLABLargeSurvivorAlignment.java ! test/hotspot/jtreg/gc/survivorAlignment/TestPromotionToSurvivor.java Changeset: b02d1d829b09 Author: dholmes Date: 2019-04-08 17:30 -0400 URL: http://hg.openjdk.java.net/panama/dev/rev/b02d1d829b09 8218458: [TESTBUG] runtime/NMT/CheckForProperDetailStackTrace.java fails with Expected stack trace missing from output Reviewed-by: cjplummer, zgu ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/runtime/NMT/CheckForProperDetailStackTrace.java Changeset: 8592226f5cd3 Author: dholmes Date: 2019-04-08 21:39 +0000 URL: http://hg.openjdk.java.net/panama/dev/rev/8592226f5cd3 8221584: SIGSEGV in os::PlatformEvent::unpark() in JvmtiRawMonitor::raw_exit while posting method exit event Reviewed-by: dholmes, dcubed Contributed-by: robbin.ehn at oracle.com, stefan.karlsson at oracle.com ! src/hotspot/share/prims/jvmtiRawMonitor.cpp Changeset: 14986fb09d9a Author: mbaesken Date: 2019-04-08 14:36 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/14986fb09d9a 8221535: add steal tick related information to hs_error file [linux] Reviewed-by: dholmes, goetz ! src/hotspot/os/aix/os_perf_aix.cpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/linux/os_linux.hpp ! src/hotspot/os/linux/os_perf_linux.cpp Changeset: f22759e92191 Author: redestad Date: 2019-04-09 11:40 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/f22759e92191 8222144: BuiltinClassLoader should create the CodeSource for jrt URLs lazily Reviewed-by: alanb ! src/java.base/share/classes/jdk/internal/loader/BuiltinClassLoader.java Changeset: 89295131e353 Author: mullan Date: 2019-04-09 08:56 -0400 URL: http://hg.openjdk.java.net/panama/dev/rev/89295131e353 8020637: Permissions.readObject doesn't enforce proper Class to PermissionCollection mappings Reviewed-by: weijun ! src/java.base/share/classes/java/security/Permissions.java + test/jdk/java/security/Permissions/DeserializeInvalidPermissions.java Changeset: e437ad5643d6 Author: jiefu Date: 2019-04-09 06:11 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/e437ad5643d6 8221894: Add comments for docker tests in the test doc Reviewed-by: erikj, dholmes ! doc/testing.html ! doc/testing.md Changeset: 0fa2903fb272 Author: fyang Date: 2019-04-08 14:40 +0800 URL: http://hg.openjdk.java.net/panama/dev/rev/0fa2903fb272 8221658: aarch64: add necessary predicate for ubfx patterns Reviewed-by: aph ! src/hotspot/cpu/aarch64/aarch64.ad ! src/hotspot/cpu/aarch64/aarch64_ad.m4 Changeset: 805584336738 Author: smarks Date: 2019-04-09 09:49 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/805584336738 8221924: get(null) on single-entry unmodifiable Map returns null instead of throwing NPE Reviewed-by: redestad, lancea ! src/java.base/share/classes/java/util/ImmutableCollections.java ! test/jdk/java/util/Map/MapFactories.java Changeset: 20f7bbfc61d3 Author: bpb Date: 2019-04-09 12:17 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/20f7bbfc61d3 8221852: SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE should be selected at runtime, not build time Reviewed-by: alanb, shade ! src/java.base/windows/classes/sun/nio/fs/WindowsConstants.java ! src/java.base/windows/classes/sun/nio/fs/WindowsNativeDispatcher.java ! src/java.base/windows/native/libnio/fs/WindowsNativeDispatcher.c Changeset: 511be32f3863 Author: shade Date: 2019-04-09 21:20 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/511be32f3863 8222185: Shenandoah should report "committed" as capacity Reviewed-by: zgu, rkennke ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahCompactHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahPassiveHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahStaticHeuristics.cpp ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahTraversalHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahMonitoringSupport.cpp ! src/hotspot/share/gc/shenandoah/shenandoahPacer.cpp Changeset: cdc54443fee5 Author: shade Date: 2019-04-09 21:20 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/cdc54443fee5 8222186: Shenandoah should not uncommit below minimum heap size Reviewed-by: zgu, rkennke ! src/hotspot/share/gc/shenandoah/shenandoahArguments.cpp ! src/hotspot/share/gc/shenandoah/shenandoahControlThread.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! test/hotspot/jtreg/gc/shenandoah/mxbeans/TestMemoryMXBeans.java Changeset: 6ad0281a654e Author: rkennke Date: 2019-04-09 23:36 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/6ad0281a654e 8222227: Shenandoah: Fix Traversal GC weak roots handling in final-traversal pause Reviewed-by: shade, zgu ! src/hotspot/share/gc/shenandoah/heuristics/shenandoahTraversalHeuristics.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Changeset: 625f49b603f0 Author: dcubed Date: 2019-04-09 18:26 -0400 URL: http://hg.openjdk.java.net/panama/dev/rev/625f49b603f0 8222229: ProblemList compiler/jsr292/InvokerSignatureMismatch.java Reviewed-by: iignatyev ! test/hotspot/jtreg/ProblemList-graal.txt Changeset: f847a42ddc01 Author: igerasim Date: 2019-04-09 16:32 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/f847a42ddc01 8221430: StringBuffer(CharSequence) constructor truncates when -XX:-CompactStrings specified Reviewed-by: igerasim, rriggs Contributed-by: Andrew Leonard , Ivan Gerasimov ! src/java.base/share/classes/java/lang/AbstractStringBuilder.java ! src/java.base/share/classes/java/lang/StringBuffer.java ! src/java.base/share/classes/java/lang/StringBuilder.java ! test/jdk/java/lang/StringBuffer/CompactStringBuffer.java ! test/micro/org/openjdk/bench/java/lang/StringBuilders.java Changeset: c914170817d4 Author: jcbeyler Date: 2019-04-09 19:34 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/c914170817d4 8221853: Data race in compile broker (set_last_compile) Summary: Remove the debug code provoking it Reviewed-by: kvn, thartmann ! src/hotspot/share/compiler/compileBroker.cpp ! src/hotspot/share/compiler/compileBroker.hpp Changeset: ac20c3bdc55d Author: valeriep Date: 2019-04-10 02:35 +0000 URL: http://hg.openjdk.java.net/panama/dev/rev/ac20c3bdc55d 8216039: TLS with BC and RSASSA-PSS breaks ECDHServerKeyExchange Summary: Add internal Signature init methods to select provider based on both key and parameter Reviewed-by: xuelei ! src/java.base/share/classes/java/security/Signature.java ! src/java.base/share/classes/java/security/SignatureSpi.java ! src/java.base/share/classes/java/security/cert/X509CRL.java ! src/java.base/share/classes/java/security/cert/X509Certificate.java + src/java.base/share/classes/jdk/internal/access/JavaSecuritySignatureAccess.java ! src/java.base/share/classes/jdk/internal/access/SharedSecrets.java ! src/java.base/share/classes/sun/security/pkcs/SignerInfo.java ! src/java.base/share/classes/sun/security/pkcs10/PKCS10.java ! src/java.base/share/classes/sun/security/ssl/SignatureScheme.java ! src/java.base/share/classes/sun/security/tools/keytool/Main.java ! src/java.base/share/classes/sun/security/util/SignatureUtil.java ! src/java.base/share/classes/sun/security/x509/X509CRLImpl.java ! src/java.base/share/classes/sun/security/x509/X509CertImpl.java + test/jdk/java/security/Signature/SignatureGetInstance.java ! test/jdk/sun/security/util/misc/SetNullSigParams.java Changeset: 72f05350b4b3 Author: valeriep Date: 2019-04-10 02:41 +0000 URL: http://hg.openjdk.java.net/panama/dev/rev/72f05350b4b3 Merge Changeset: ddc19ea5059c Author: mbaesken Date: 2019-04-10 08:51 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/ddc19ea5059c 8219241: Provide basic virtualization related info in the hs_error file on linux/windows x86_64 Reviewed-by: dholmes, mdoerr ! src/hotspot/cpu/ppc/vm_version_ppc.cpp ! src/hotspot/cpu/ppc/vm_version_ppc.hpp ! src/hotspot/cpu/s390/vm_version_s390.cpp ! src/hotspot/cpu/s390/vm_version_s390.hpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/cpu/x86/vm_version_x86.hpp ! src/hotspot/os/linux/os_linux.cpp ! src/hotspot/os/linux/os_linux.hpp ! src/hotspot/os/windows/os_windows.cpp ! src/hotspot/share/runtime/vm_version.cpp ! src/hotspot/share/runtime/vm_version.hpp Changeset: 7fd299216e97 Author: redestad Date: 2019-04-10 12:05 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/7fd299216e97 8221836: Avoid recalculating String.hash when zero Reviewed-by: jrose, adinn Contributed-by: peter.levart at gmail.com, claes.redestad at oracle.com ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/javaClasses.inline.hpp ! src/hotspot/share/classfile/stringTable.cpp ! src/hotspot/share/gc/shared/stringdedup/stringDedupTable.cpp ! src/java.base/share/classes/java/lang/String.java Changeset: 4fa1fd8bc21e Author: smonteith Date: 2019-04-09 12:47 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/4fa1fd8bc21e 8222180: ZGC: ZForwarding::verify() failing when checking for duplicates Reviewed-by: pliden, eosterlund ! src/hotspot/share/gc/z/zForwarding.cpp Changeset: 25199b48f34f Author: pliden Date: 2019-04-10 12:45 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/25199b48f34f 8221984: ZGC: Clean up ZOop Reviewed-by: stefank, eosterlund ! src/hotspot/share/gc/z/zBarrier.cpp ! src/hotspot/share/gc/z/zBarrier.inline.hpp ! src/hotspot/share/gc/z/zHeap.inline.hpp ! src/hotspot/share/gc/z/zLiveMap.inline.hpp ! src/hotspot/share/gc/z/zMark.cpp ! src/hotspot/share/gc/z/zOop.hpp ! src/hotspot/share/gc/z/zOop.inline.hpp ! src/hotspot/share/gc/z/zOopClosures.cpp ! src/hotspot/share/gc/z/zUtils.inline.hpp Changeset: a84fefde0543 Author: rkennke Date: 2019-04-10 13:21 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/a84fefde0543 8222259: Shenandoah: Pre-evacuate string-dedup roots in Traversal GC Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Changeset: bf07e140c49c Author: erikj Date: 2019-04-10 07:04 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/bf07e140c49c 8221851: Use of THIS_FILE in hotspot invalidates precompiled header on Linux/GCC Reviewed-by: tbell, ysuenaga ! make/autoconf/basics.m4 ! make/autoconf/flags-cflags.m4 ! make/autoconf/spec.gmk.in ! make/common/NativeCompilation.gmk ! make/hotspot/gensrc/GensrcAdlc.gmk ! make/hotspot/gensrc/GensrcDtrace.gmk ! make/hotspot/lib/CompileDtraceLibraries.gmk ! make/hotspot/lib/CompileGtest.gmk ! make/hotspot/lib/CompileJvm.gmk ! src/hotspot/share/utilities/exceptions.hpp Changeset: a805bf992bf1 Author: rschmelter Date: 2019-04-10 05:15 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/a805bf992bf1 8222264: Windows incremental build is broken with JDK-8217728 Reviewed-by: erikj, clanger ! make/common/NativeCompilation.gmk Changeset: 9d0ae9508d53 Author: redestad Date: 2019-04-10 20:03 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/9d0ae9508d53 8222029: Optimize Math.floorMod Reviewed-by: aph, darcy ! src/java.base/share/classes/java/lang/Math.java ! test/jdk/java/lang/Math/DivModTests.java + test/micro/org/openjdk/bench/java/lang/MathBench.java Changeset: 17b1c2c467ad Author: vromero Date: 2019-04-10 17:15 -0400 URL: http://hg.openjdk.java.net/panama/dev/rev/17b1c2c467ad 8222035: minimal inference context optimization is forcing resolution with incomplete constraints Reviewed-by: mcimadamore, cushon ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/InferenceContext.java + test/langtools/tools/javac/T8222035/MinContextOpTest.java + test/langtools/tools/javac/T8222035/MinContextOpTest.out Changeset: 1bbce3048d20 Author: dtitov Date: 2019-04-10 21:21 +0000 URL: http://hg.openjdk.java.net/panama/dev/rev/1bbce3048d20 8222224: vmTestbase/nsk/jvmti/SingleStep/singlestep001/TestDescription.java fails Reviewed-by: sspitsyn, jcbeyler, amenkov ! test/hotspot/jtreg/vmTestbase/nsk/jvmti/SingleStep/singlestep001/singlestep001.cpp Changeset: 941db9c0b5b5 Author: coleenp Date: 2019-04-10 17:31 -0400 URL: http://hg.openjdk.java.net/panama/dev/rev/941db9c0b5b5 8222231: Clean up interfaceSupport.inline.hpp duplicated code Reviewed-by: dholmes, pchilanomate ! src/hotspot/share/prims/jni.cpp ! src/hotspot/share/runtime/interfaceSupport.inline.hpp ! src/hotspot/share/runtime/mutex.cpp ! src/hotspot/share/runtime/safepoint.cpp ! src/hotspot/share/runtime/thread.cpp ! src/hotspot/share/runtime/thread.hpp ! src/hotspot/share/runtime/thread.inline.hpp Changeset: 30aca1e755bf Author: jwilhelm Date: 2019-04-11 01:21 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/30aca1e755bf Added tag jdk-13+16 for changeset 9d0ae9508d53 ! .hgtags Changeset: 96230a5ef2ec Author: sspitsyn Date: 2019-04-10 17:29 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/96230a5ef2ec 8222072: JVMTI GenerateEvents() sends CompiledMethodLoad events to wrong jvmtiEnv Summary: Fix GenerateEvents() to send CompiledMethodLoad events to requesting agent only Reviewed-by: jcbeyler, amenkov ! src/hotspot/share/prims/jvmtiCodeBlobEvents.cpp ! src/hotspot/share/prims/jvmtiExport.cpp ! src/hotspot/share/prims/jvmtiExport.hpp + test/hotspot/jtreg/serviceability/jvmti/GenerateEvents/MyPackage/GenerateEventsTest.java + test/hotspot/jtreg/serviceability/jvmti/GenerateEvents/libGenerateEvents1.cpp + test/hotspot/jtreg/serviceability/jvmti/GenerateEvents/libGenerateEvents2.cpp Changeset: 4eefc9f3313c Author: aoqi Date: 2019-04-10 22:41 -0400 URL: http://hg.openjdk.java.net/panama/dev/rev/4eefc9f3313c 8222300: Zero build broken after JDK-8222231 Reviewed-by: dholmes ! src/hotspot/cpu/zero/cppInterpreter_zero.cpp Changeset: 3ea8b5858874 Author: mbaesken Date: 2019-04-10 09:33 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/3ea8b5858874 8221915: cleanup ticks related coding in os_perf_aix.cpp [aix] Reviewed-by: mdoerr ! src/hotspot/os/aix/os_perf_aix.cpp Changeset: 71ef6db01d8e Author: pmuthuswamy Date: 2019-04-11 12:49 +0530 URL: http://hg.openjdk.java.net/panama/dev/rev/71ef6db01d8e 8217013: javadoc generates references to missing file overview-frame.html Reviewed-by: hannesw ! test/langtools/jdk/javadoc/doclet/testHtmlLandmarkRegions/TestHtmlLandmarkRegions.java ! test/langtools/jdk/javadoc/doclet/testIndexWithModules/TestIndexWithModules.java Changeset: d79e50159c0e Author: psadhukhan Date: 2019-04-03 14:21 +0530 URL: http://hg.openjdk.java.net/panama/dev/rev/d79e50159c0e 8221661: javax.swing.text.View.getPreferredSpan(int axis) Reviewed-by: serb ! src/java.desktop/share/classes/javax/swing/text/View.java Changeset: d95d9d034034 Author: serb Date: 2019-04-03 15:56 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/d95d9d034034 6684386: ElementIterator javadoc bug Reviewed-by: psadhukhan ! src/java.desktop/share/classes/javax/swing/text/ElementIterator.java Changeset: e64a8477cd71 Author: pbansal Date: 2019-04-04 12:14 +0530 URL: http://hg.openjdk.java.net/panama/dev/rev/e64a8477cd71 8220349: The fix done for JDK-8214253 have caused issues in JTree behaviour Reviewed-by: serb, prr ! src/java.desktop/unix/native/libawt_xawt/awt/gtk3_interface.c Changeset: 55b0469425e1 Author: serb Date: 2019-04-08 14:48 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/55b0469425e1 8221885: Add intermittent test in the JavaSound to the ProblemList Reviewed-by: prr ! test/jdk/ProblemList.txt Changeset: 7f53d59593e2 Author: aivanov Date: 2019-04-09 08:50 +0100 URL: http://hg.openjdk.java.net/panama/dev/rev/7f53d59593e2 8221263: [TEST_BUG] RemotePrinterStatusRefresh test is hard to use Reviewed-by: serb, prr ! test/jdk/java/awt/print/RemotePrinterStatusRefresh/RemotePrinterStatusRefresh.java Changeset: 8b3b89320d03 Author: serb Date: 2019-04-09 13:57 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/8b3b89320d03 8221445: FastSysexMessage constructor crashes MIDI receiption thread Reviewed-by: prr ! src/java.desktop/share/classes/com/sun/media/sound/FastSysexMessage.java ! src/java.desktop/share/classes/com/sun/media/sound/MidiUtils.java ! src/java.desktop/share/classes/javax/sound/midi/SysexMessage.java + test/jdk/javax/sound/midi/SysexMessage/Basic.java + test/jdk/javax/sound/midi/SysexMessage/Exceptions.java Changeset: a67b9214cfab Author: psadhukhan Date: 2019-04-10 10:32 +0530 URL: http://hg.openjdk.java.net/panama/dev/rev/a67b9214cfab 8222097: ProblemList tests that are failing recurringly and intermittently in PIT Reviewed-by: prr, kaddepalli ! test/jdk/ProblemList.txt Changeset: 85d7f6e725a8 Author: psadhukhan Date: 2019-04-10 10:46 +0530 URL: http://hg.openjdk.java.net/panama/dev/rev/85d7f6e725a8 Merge - test/hotspot/jtreg/serviceability/dcmd/framework/TestJavaProcess.java Changeset: 6c291f12969f Author: psadhukhan Date: 2019-04-11 14:20 +0530 URL: http://hg.openjdk.java.net/panama/dev/rev/6c291f12969f Merge Changeset: c97a91097f9f Author: stefank Date: 2019-04-10 15:41 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/c97a91097f9f 8221913: Add GC.selected() jtreg-ext function Reviewed-by: kbarrett, pliden ! test/lib/sun/hotspot/gc/GC.java Changeset: fbfcebad8e66 Author: stefank Date: 2019-04-10 15:41 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/fbfcebad8e66 8221393: ResolvedMethodTable too small for StackWalking applications Reviewed-by: coleenp, rehn ! src/hotspot/share/classfile/javaClasses.cpp ! src/hotspot/share/classfile/javaClasses.hpp ! src/hotspot/share/classfile/systemDictionary.cpp ! src/hotspot/share/gc/shared/weakProcessor.cpp ! src/hotspot/share/gc/shared/weakProcessor.inline.hpp ! src/hotspot/share/gc/shared/weakProcessorPhases.cpp ! src/hotspot/share/gc/shared/weakProcessorPhases.hpp ! src/hotspot/share/gc/z/zRootsIterator.cpp ! src/hotspot/share/gc/z/zRootsIterator.hpp ! src/hotspot/share/oops/weakHandle.cpp ! src/hotspot/share/oops/weakHandle.hpp ! src/hotspot/share/prims/resolvedMethodTable.cpp ! src/hotspot/share/prims/resolvedMethodTable.hpp ! src/hotspot/share/prims/whitebox.cpp ! src/hotspot/share/runtime/mutexLocker.cpp ! src/hotspot/share/runtime/mutexLocker.hpp ! src/hotspot/share/runtime/serviceThread.cpp ! test/hotspot/jtreg/runtime/MemberName/MemberNameLeak.java + test/hotspot/jtreg/runtime/testlibrary/ClassWithManyMethodsClassLoader.java ! test/lib/sun/hotspot/WhiteBox.java Changeset: a84c46287f28 Author: jlahoda Date: 2019-04-11 14:49 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/a84c46287f28 8215407: javac should reject class files with bad EnclosingMethod attributes Summary: Reject classfiles with broken EnclosingMethod attribute. Reviewed-by: jjg ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java + test/langtools/tools/javac/classreader/8215407/BrokenEnclosingClass.java + test/langtools/tools/javac/classreader/8215407/Enclosing$1.jcod + test/langtools/tools/javac/classreader/8215407/UnrelatedClass.jcod Changeset: 2fd0422ac495 Author: clanger Date: 2019-04-11 15:36 +0100 URL: http://hg.openjdk.java.net/panama/dev/rev/2fd0422ac495 8221979: Cleanups for building Windows resources Reviewed-by: erikj ! make/autoconf/flags-other.m4 ! make/launcher/Launcher-jdk.accessibility.gmk ! src/hotspot/os/windows/version.rc ! src/java.base/windows/native/common/version.rc ! src/java.desktop/windows/native/libawt/windows/awt.rc - src/jdk.accessibility/windows/native/common/AccessBridgeStatusWindow.RC + src/jdk.accessibility/windows/native/common/AccessBridgeStatusWindow.rc ! src/jdk.accessibility/windows/native/common/resource.h ! src/jdk.accessibility/windows/native/jaccessinspector/jaccessinspectorWindow.rc ! src/jdk.accessibility/windows/native/jaccesswalker/jaccesswalkerWindow.rc Changeset: b0651dcc8d98 Author: jlahoda Date: 2019-04-11 17:55 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/b0651dcc8d98 8217047: Provide a way to inject missing parameter names Summary: Adding a way to provide parameter names that are missing in the classfiles. Reviewed-by: darcy, jjg ! src/jdk.compiler/share/classes/com/sun/source/util/JavacTask.java + src/jdk.compiler/share/classes/com/sun/source/util/ParameterNameProvider.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/api/BasicJavacTask.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Flags.java + src/jdk.compiler/share/classes/com/sun/tools/javac/code/MissingInfoHandler.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symtab.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java + test/langtools/tools/javac/api/lazy/LoadParameterNamesLazily.java Changeset: 138f47e9d8c4 Author: shade Date: 2019-04-11 19:09 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/138f47e9d8c4 8222333: fastdebug build broken after JDK-8221393 (phase_mapping[] doesn't match enum Phase in WeakProcessorPhases) Reviewed-by: zgu, shade Contributed-by: Ao Qi ! src/hotspot/share/gc/shenandoah/shenandoahPhaseTimings.hpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp Changeset: 5b1ad4cbe59e Author: shurailine Date: 2019-04-11 03:05 -0800 URL: http://hg.openjdk.java.net/panama/dev/rev/5b1ad4cbe59e 8221857: Collect code coverage for a subset of code Reviewed-by: erikj ! make/Coverage.gmk ! make/RunTests.gmk ! make/autoconf/jdk-options.m4 ! make/autoconf/spec.gmk.in Changeset: c201ca660afd Author: dcubed Date: 2019-04-11 14:14 -0400 URL: http://hg.openjdk.java.net/panama/dev/rev/c201ca660afd 8222034: Thread-SMR functions should be updated to remove work around Reviewed-by: mdoerr, eosterlund ! src/hotspot/share/runtime/threadSMR.cpp Changeset: 50b34791a1d2 Author: smarks Date: 2019-04-11 12:06 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/50b34791a1d2 8217405: rmic should reject class files with preview features enabled Reviewed-by: lancea, alanb ! src/jdk.rmic/share/classes/sun/tools/java/BinaryClass.java ! src/jdk.rmic/share/classes/sun/tools/java/RuntimeConstants.java ! src/jdk.rmic/share/classes/sun/tools/javac/resources/javac.properties Changeset: a2795025f417 Author: dholmes Date: 2019-04-11 19:36 -0400 URL: http://hg.openjdk.java.net/panama/dev/rev/a2795025f417 8222090: Add Hygon Dhyana processor support Reviewed-by: kvn, dholmes, coleenp, rwestberg Contributed-by: Jinke Fan ! src/hotspot/cpu/x86/assembler_x86.cpp ! src/hotspot/cpu/x86/vm_version_ext_x86.cpp ! src/hotspot/cpu/x86/vm_version_x86.cpp ! src/hotspot/cpu/x86/vm_version_x86.hpp Changeset: f48312257bc6 Author: vromero Date: 2019-04-11 22:56 -0400 URL: http://hg.openjdk.java.net/panama/dev/rev/f48312257bc6 8222151: refactoring: enhancements to java.lang.Class::methodToString and java.lang.Class::getTypeName Reviewed-by: darcy Contributed-by: sergei.tsypanov at yandex.ru ! src/java.base/share/classes/java/lang/Class.java Changeset: 8de62c4af8c7 Author: weijun Date: 2019-04-12 13:35 +0800 URL: http://hg.openjdk.java.net/panama/dev/rev/8de62c4af8c7 8180573: Refactor sun/security/tools shell tests to plain java tests Reviewed-by: rhalade, valeriep + test/jdk/sun/security/tools/jarsigner/AlgOptions.java - test/jdk/sun/security/tools/jarsigner/AlgOptions.sh + test/jdk/sun/security/tools/jarsigner/CertPolicy.java + test/jdk/sun/security/tools/jarsigner/CheckUsage.java + test/jdk/sun/security/tools/jarsigner/Collator.java + test/jdk/sun/security/tools/jarsigner/ConciseJarsigner.java + test/jdk/sun/security/tools/jarsigner/Crl.java + test/jdk/sun/security/tools/jarsigner/DefaultOptions.java + test/jdk/sun/security/tools/jarsigner/DiffEnd.java + test/jdk/sun/security/tools/jarsigner/EC.java + test/jdk/sun/security/tools/jarsigner/EmptyManifest.java ! test/jdk/sun/security/tools/jarsigner/EntriesOrder.java + test/jdk/sun/security/tools/jarsigner/JvIndex.java + test/jdk/sun/security/tools/jarsigner/NameClash.java + test/jdk/sun/security/tools/jarsigner/NewSize7.java + test/jdk/sun/security/tools/jarsigner/OldSig.java + test/jdk/sun/security/tools/jarsigner/OnlyManifest.java ! test/jdk/sun/security/tools/jarsigner/Options.java + test/jdk/sun/security/tools/jarsigner/PassType.java + test/jdk/sun/security/tools/jarsigner/PercentSign.java - test/jdk/sun/security/tools/jarsigner/PercentSign.sh + test/jdk/sun/security/tools/jarsigner/SameName.java + test/jdk/sun/security/tools/jarsigner/WeakSize.java - test/jdk/sun/security/tools/jarsigner/certpolicy.sh - test/jdk/sun/security/tools/jarsigner/checkusage.sh - test/jdk/sun/security/tools/jarsigner/collator.sh - test/jdk/sun/security/tools/jarsigner/concise_jarsigner.sh - test/jdk/sun/security/tools/jarsigner/crl.sh - test/jdk/sun/security/tools/jarsigner/default_options.sh - test/jdk/sun/security/tools/jarsigner/diffend.sh - test/jdk/sun/security/tools/jarsigner/ec.sh - test/jdk/sun/security/tools/jarsigner/emptymanifest.sh - test/jdk/sun/security/tools/jarsigner/jvindex.sh - test/jdk/sun/security/tools/jarsigner/nameclash.sh - test/jdk/sun/security/tools/jarsigner/newsize7.sh - test/jdk/sun/security/tools/jarsigner/oldsig.sh - test/jdk/sun/security/tools/jarsigner/onlymanifest.sh - test/jdk/sun/security/tools/jarsigner/passtype.sh - test/jdk/sun/security/tools/jarsigner/samename.sh - test/jdk/sun/security/tools/jarsigner/weaksize.sh + test/jdk/sun/security/tools/keytool/CloneKeyAskPassword.java - test/jdk/sun/security/tools/keytool/CloneKeyAskPassword.sh + test/jdk/sun/security/tools/keytool/DefaultOptions.java + test/jdk/sun/security/tools/keytool/EmptySubject.java + test/jdk/sun/security/tools/keytool/FileInHelp.java + test/jdk/sun/security/tools/keytool/ImportReadAll.java + test/jdk/sun/security/tools/keytool/KeyAlg.java + test/jdk/sun/security/tools/keytool/NewHelp.java + test/jdk/sun/security/tools/keytool/NoExtNPE.java - test/jdk/sun/security/tools/keytool/NoExtNPE.sh + test/jdk/sun/security/tools/keytool/Resource.java + test/jdk/sun/security/tools/keytool/SecretKeyKS.java - test/jdk/sun/security/tools/keytool/SecretKeyKS.sh + test/jdk/sun/security/tools/keytool/SecurityToolsTest.java + test/jdk/sun/security/tools/keytool/SelfIssued.java + test/jdk/sun/security/tools/keytool/StandardAlgName.java - test/jdk/sun/security/tools/keytool/StandardAlgName.sh ! test/jdk/sun/security/tools/keytool/StorePasswords.java - test/jdk/sun/security/tools/keytool/StorePasswordsByShell.sh + test/jdk/sun/security/tools/keytool/TryStore.java - test/jdk/sun/security/tools/keytool/default_options.sh - test/jdk/sun/security/tools/keytool/emptysubject.sh - test/jdk/sun/security/tools/keytool/file-in-help.sh ! test/jdk/sun/security/tools/keytool/i18n.html ! test/jdk/sun/security/tools/keytool/i18n.java - test/jdk/sun/security/tools/keytool/i18n.sh - test/jdk/sun/security/tools/keytool/importreadall.sh - test/jdk/sun/security/tools/keytool/keyalg.sh - test/jdk/sun/security/tools/keytool/newhelp.sh - test/jdk/sun/security/tools/keytool/resource.sh - test/jdk/sun/security/tools/keytool/selfissued.sh - test/jdk/sun/security/tools/keytool/trystore.sh ! test/lib/jdk/test/lib/SecurityTools.java Changeset: 60bc754b9744 Author: zgu Date: 2019-04-12 07:51 -0400 URL: http://hg.openjdk.java.net/panama/dev/rev/60bc754b9744 8222188: Shenandoah: Adjust Shenandoah work gang types Reviewed-by: shade, rkennke ! src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTimingTracker.cpp ! src/hotspot/share/gc/shenandoah/shenandoahUtils.cpp Changeset: 5df03f58d25b Author: coleenp Date: 2019-04-12 09:30 -0400 URL: http://hg.openjdk.java.net/panama/dev/rev/5df03f58d25b 8222297: IRT_ENTRY/IRT_LEAF etc are the same as JRT Summary: Replace IRT entry points with JRT. Reviewed-by: lfoltan, dcubed ! src/hotspot/cpu/aarch64/interpreterRT_aarch64.cpp ! src/hotspot/cpu/arm/interpreterRT_arm.cpp ! src/hotspot/cpu/ppc/interpreterRT_ppc.cpp ! src/hotspot/cpu/s390/interpreterRT_s390.cpp ! src/hotspot/cpu/sparc/interpreterRT_sparc.cpp ! src/hotspot/cpu/x86/interpreterRT_x86_32.cpp ! src/hotspot/cpu/x86/interpreterRT_x86_64.cpp ! src/hotspot/cpu/zero/cppInterpreter_zero.cpp ! src/hotspot/cpu/zero/interpreterRT_zero.cpp ! src/hotspot/share/interpreter/interpreterRuntime.cpp ! src/hotspot/share/runtime/interfaceSupport.inline.hpp ! src/hotspot/share/runtime/sharedRuntime.cpp Changeset: 33fda525ad41 Author: zgu Date: 2019-04-12 09:55 -0400 URL: http://hg.openjdk.java.net/panama/dev/rev/33fda525ad41 8222403: Shenandoah: Remove ShenandoahAlwaysTrueClosure, use AlwaysTrueClosure instead Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp ! src/hotspot/share/gc/shenandoah/shenandoahStringDedup.cpp Changeset: 5ae4d3f46537 Author: mseledtsov Date: 2019-04-12 12:26 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/5ae4d3f46537 8222299: [TESTBUG] move hotspot container tests to hotspot/containers Summary: Moved the tests, updated relevant files Reviewed-by: dholmes, iignatyev ! doc/testing.html ! doc/testing.md ! test/hotspot/jtreg/ProblemList.txt ! test/hotspot/jtreg/TEST.groups + test/hotspot/jtreg/containers/cgroup/PlainRead.java + test/hotspot/jtreg/containers/docker/AttemptOOM.java + test/hotspot/jtreg/containers/docker/CheckContainerized.java + test/hotspot/jtreg/containers/docker/DockerBasicTest.java + test/hotspot/jtreg/containers/docker/HelloDocker.java + test/hotspot/jtreg/containers/docker/JfrReporter.java + test/hotspot/jtreg/containers/docker/PrintContainerInfo.java + test/hotspot/jtreg/containers/docker/TEST.properties + test/hotspot/jtreg/containers/docker/TestCPUAwareness.java + test/hotspot/jtreg/containers/docker/TestCPUSets.java + test/hotspot/jtreg/containers/docker/TestJFREvents.java + test/hotspot/jtreg/containers/docker/TestMemoryAwareness.java + test/hotspot/jtreg/containers/docker/TestMisc.java - test/hotspot/jtreg/runtime/containers/cgroup/PlainRead.java - test/hotspot/jtreg/runtime/containers/docker/AttemptOOM.java - test/hotspot/jtreg/runtime/containers/docker/CheckContainerized.java - test/hotspot/jtreg/runtime/containers/docker/DockerBasicTest.java - test/hotspot/jtreg/runtime/containers/docker/HelloDocker.java - test/hotspot/jtreg/runtime/containers/docker/JfrReporter.java - test/hotspot/jtreg/runtime/containers/docker/PrintContainerInfo.java - test/hotspot/jtreg/runtime/containers/docker/TEST.properties - test/hotspot/jtreg/runtime/containers/docker/TestCPUAwareness.java - test/hotspot/jtreg/runtime/containers/docker/TestCPUSets.java - test/hotspot/jtreg/runtime/containers/docker/TestJFREvents.java - test/hotspot/jtreg/runtime/containers/docker/TestMemoryAwareness.java - test/hotspot/jtreg/runtime/containers/docker/TestMisc.java ! test/lib/jdk/test/lib/containers/docker/DockerTestUtils.java Changeset: 94148bed13c4 Author: zgu Date: 2019-04-12 16:30 -0400 URL: http://hg.openjdk.java.net/panama/dev/rev/94148bed13c4 8222419: Shenandoah: Remove unused _par_state_string in ShenandoahRootProcessor Reviewed-by: rkennke ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp Changeset: 96d290a7e94f Author: epavlova Date: 2019-04-12 14:13 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/96d290a7e94f 8208066: compiler/graalunit/JttThreadsTest.java failed with org.junit.runners.model.TestTimedOutException: test timed out after 20 seconds Reviewed-by: iignatyev ! test/hotspot/jtreg/ProblemList-graal.txt ! test/hotspot/jtreg/compiler/graalunit/common/GraalUnitTestLauncher.java Changeset: ac56154f0b9e Author: weijun Date: 2019-04-14 10:22 +0800 URL: http://hg.openjdk.java.net/panama/dev/rev/ac56154f0b9e 8222275: sun/security/tools/keytool/Serial64.java: assertTrue: expected true, was false Reviewed-by: xuelei ! test/jdk/sun/security/tools/keytool/Serial64.java Changeset: d2c2622995e2 Author: dholmes Date: 2019-04-14 21:40 +0000 URL: http://hg.openjdk.java.net/panama/dev/rev/d2c2622995e2 8222387: Out-of-bounds access to CPU _family_id_xxx array Reviewed-by: dholmes, kvn Contributed-by: Jinke Fan ! src/hotspot/cpu/x86/vm_version_ext_x86.cpp ! src/hotspot/cpu/x86/vm_version_ext_x86.hpp Changeset: 00c0906bf4d1 Author: mdoerr Date: 2019-04-15 10:16 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/00c0906bf4d1 8220625: tools/javac/classreader/8171132/BadConstantValue.java failed with "did not see expected error" Reviewed-by: clanger ! test/langtools/tools/javac/classreader/8171132/BadConstantValue.java Changeset: edf1b4c6b936 Author: hannesw Date: 2019-04-15 15:38 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/edf1b4c6b936 8221644: jquery directory should be renamed Reviewed-by: jjg - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/external/jquery/jquery.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-bg_glass_65_dadada_1x400.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-bg_glass_75_dadada_1x400.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-bg_glass_95_fef1ec_1x400.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-icons_222222_256x240.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-icons_2e83ff_256x240.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-icons_454545_256x240.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-icons_888888_256x240.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-icons_cd0a0a_256x240.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-3.3.1.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-migrate-3.0.1.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-ui.css - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-ui.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-ui.min.css - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-ui.min.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-ui.structure.css - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-ui.structure.min.css - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jszip-utils/dist/jszip-utils-ie.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jszip-utils/dist/jszip-utils-ie.min.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jszip-utils/dist/jszip-utils.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jszip-utils/dist/jszip-utils.min.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jszip/dist/jszip.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jszip/dist/jszip.min.js + 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/images/ui-bg_glass_55_fbf9ee_1x400.png + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/images/ui-bg_glass_65_dadada_1x400.png + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/images/ui-bg_glass_75_dadada_1x400.png + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/images/ui-bg_glass_75_e6e6e6_1x400.png + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/images/ui-bg_glass_95_fef1ec_1x400.png + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/images/ui-bg_highlight-soft_75_cccccc_1x100.png + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/images/ui-icons_222222_256x240.png + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/images/ui-icons_2e83ff_256x240.png + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/images/ui-icons_454545_256x240.png + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/images/ui-icons_888888_256x240.png + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/images/ui-icons_cd0a0a_256x240.png + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jquery-3.3.1.js + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jquery-migrate-3.0.1.js + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jquery-ui.css + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jquery-ui.js + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jquery-ui.min.css + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jquery-ui.min.js + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jquery-ui.structure.css + src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/script-dir/jquery-ui.structure.min.css + 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/doclets/toolkit/util/DocPaths.java ! test/langtools/jdk/javadoc/doclet/testOptions/help.html ! test/langtools/jdk/javadoc/doclet/testSearch/TestSearch.java ! test/langtools/jdk/javadoc/tool/api/basic/APITest.java Changeset: e9c62d960d64 Author: adinn Date: 2019-04-09 16:21 +0100 URL: http://hg.openjdk.java.net/panama/dev/rev/e9c62d960d64 8221397: Support implementation-defined Map Modes Summary: Allow implementation-defined extensions to FileChannel MapMode enum Reviewed-by: alanb ! src/java.base/share/classes/java/nio/channels/FileChannel.java ! src/java.base/share/classes/sun/nio/ch/FileChannelImpl.java Changeset: 9219624244a6 Author: shade Date: 2019-04-15 18:22 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/9219624244a6 8222410: java/nio/file/attribute/BasicFileAttributeView/UnixSocketFile hangs when "nc" does not accept "-U" Reviewed-by: alanb ! test/jdk/java/nio/file/attribute/BasicFileAttributeView/UnixSocketFile.java Changeset: 66f5241da404 Author: shade Date: 2019-04-15 18:22 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/66f5241da404 8222397: x86_32 tests with UseSHA1Intrinsics SEGV due to garbled registers Reviewed-by: kvn, dsamersoff ! src/hotspot/cpu/x86/stubGenerator_x86_32.cpp Changeset: 377dcf569920 Author: zgu Date: 2019-04-15 12:54 -0400 URL: http://hg.openjdk.java.net/panama/dev/rev/377dcf569920 8222490: Shenandoah: Remove unused _par_state_string in ShenandoahRootEvacuator Reviewed-by: shade ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.hpp Changeset: fb53a1c25903 Author: zgu Date: 2019-04-15 13:07 -0400 URL: http://hg.openjdk.java.net/panama/dev/rev/fb53a1c25903 8222425: Shenandoah: Move commonly used closures to separate files Reviewed-by: shade + src/hotspot/share/gc/shenandoah/shenandoahClosures.hpp + src/hotspot/share/gc/shenandoah/shenandoahClosures.inline.hpp ! src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.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/shenandoahRootProcessor.cpp ! src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp Changeset: 9d3117203dd3 Author: mseledtsov Date: 2019-04-15 11:44 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/9d3117203dd3 8221711: [TESTBUG] create more tests for JFR in container environment Summary: Added test cases for environment and network events Reviewed-by: egahlin + test/hotspot/jtreg/containers/docker/JfrNetwork.java ! test/hotspot/jtreg/containers/docker/JfrReporter.java ! test/hotspot/jtreg/containers/docker/TestJFREvents.java + test/hotspot/jtreg/containers/docker/TestJFRNetworkEvents.java ! test/jtreg-ext/requires/VMProps.java Changeset: ef331769d4ab Author: mseledtsov Date: 2019-04-15 12:35 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/ef331769d4ab 8222501: [TESTBUG] Docker support is always set to true in jtreg-ext/requires/VMProps.java Summary: Restored prior code Reviewed-by: dcubed ! test/jtreg-ext/requires/VMProps.java Changeset: bdbfa0115fc6 Author: darcy Date: 2019-04-15 15:44 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/bdbfa0115fc6 8222378: Provide mechanism to query preview feature status for annotation processors Reviewed-by: jjg ! src/java.compiler/share/classes/javax/annotation/processing/ProcessingEnvironment.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java + test/langtools/tools/javac/processing/environment/TestPreviewEnabled.java Changeset: 4de70bc80f24 Author: darcy Date: 2019-04-15 16:05 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/4de70bc80f24 8222430: Add tests for ElementKind predicates Reviewed-by: jjg + test/langtools/tools/javac/processing/model/element/TestElementKindPredicates.java Changeset: 9ff8d175035d Author: qpzhang Date: 2019-04-09 18:46 +0800 URL: http://hg.openjdk.java.net/panama/dev/rev/9ff8d175035d 8163363: AArch64: Stack size in tools/launcher/Settings.java needs to be adjusted Summary: Specify a proper min stack size input to -Xss for aarch64 Reviewed-by: aph ! test/jdk/tools/launcher/Settings.java Changeset: 0a4214c90a55 Author: rrich Date: 2019-04-16 08:51 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/0a4214c90a55 8222271: [s390] optimize register usage in C2 instruction forms for clearing arrays Reviewed-by: mdoerr, lucy ! src/hotspot/cpu/s390/macroAssembler_s390.cpp ! src/hotspot/cpu/s390/macroAssembler_s390.hpp ! src/hotspot/cpu/s390/s390.ad Changeset: 4fc566b7a9c0 Author: qpzhang Date: 2019-04-16 11:00 +0000 URL: http://hg.openjdk.java.net/panama/dev/rev/4fc566b7a9c0 8222334: java -Xss0 triggers StackOverflowError Summary: Launcher to use the stack size decided by hotpot or system if -Xss is 0 Reviewed-by: dholmes, alanb ! src/java.base/share/native/libjli/java.c ! test/hotspot/jtreg/runtime/Thread/TooSmallStackSize.java ! test/jdk/tools/launcher/TooSmallStackSize.java Changeset: 97a4b8f46a49 Author: pmuthuswamy Date: 2019-04-16 17:56 +0530 URL: http://hg.openjdk.java.net/panama/dev/rev/97a4b8f46a49 8222395: Refactor the abstract classes of package and module index writer Reviewed-by: hannesw - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractModuleIndexWriter.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/AbstractPackageIndexWriter.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/PackageIndexWriter.java ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets.properties Changeset: 3362898da451 Author: coleenp Date: 2019-04-16 10:01 -0400 URL: http://hg.openjdk.java.net/panama/dev/rev/3362898da451 8220743: [TESTBUG] Review Runtime tests recently migrated from JDK subdirs Summary: removed tests that will not find bugs in current code base. Reviewed-by: lfoltan, hseigel - test/hotspot/jtreg/runtime/ErrorHandling/ExplicitArithmeticCheck.java - test/hotspot/jtreg/runtime/Thread/MonitorCacheMaybeExpand_DeadLock.java - test/hotspot/jtreg/runtime/interpreter/WideStrictInline.java Changeset: 460996cd27f9 Author: clanger Date: 2019-04-16 17:15 +0100 URL: http://hg.openjdk.java.net/panama/dev/rev/460996cd27f9 8222522: Add configure options for Mac Bundle creation Reviewed-by: erikj ! make/autoconf/jdk-version.m4 Changeset: 53aecb049e0a Author: hannesw Date: 2019-04-16 18:22 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/53aecb049e0a 8222528: Fix javadoc headers in Nashorn sources Reviewed-by: sundar ! src/jdk.dynalink/share/classes/jdk/dynalink/NamespaceOperation.java ! src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/NameCodec.java ! src/jdk.scripting.nashorn/share/classes/module-info.java Changeset: b057e09eef80 Author: manc Date: 2019-04-15 18:37 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/b057e09eef80 8222510: Small cleanup for JDK launcher's make file Reviewed-by: clanger, erikj ! make/launcher/Launcher-java.base.gmk ! make/launcher/LauncherCommon.gmk Changeset: 02ef86858896 Author: joehw Date: 2019-04-16 21:29 +0000 URL: http://hg.openjdk.java.net/panama/dev/rev/02ef86858896 8222415: Xerces 2.12.0: Parsing Configuration Reviewed-by: lancea ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java ! test/jaxp/javax/xml/jaxp/unittest/parsers/BaseParsingTest.java Changeset: 5fa7fbddfe9d Author: redestad Date: 2019-04-17 00:06 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/5fa7fbddfe9d 8222484: Specialize generation of simple String concatenation expressions Reviewed-by: jrose, jlaskey ! make/jdk/src/classes/build/tools/classlist/HelloClasslist.java ! src/java.base/share/classes/java/lang/String.java ! src/java.base/share/classes/java/lang/StringConcatHelper.java ! src/java.base/share/classes/java/lang/invoke/StringConcatFactory.java ! test/micro/org/openjdk/bench/java/lang/StringConcat.java Changeset: 6f8a7671afef Author: xuelei Date: 2019-04-16 16:59 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/6f8a7671afef 8216326: SSLSocket stream close() does not close the associated socket Reviewed-by: jnimeh ! src/java.base/share/classes/sun/security/ssl/SSLSocketImpl.java + test/jdk/javax/net/ssl/SSLSocket/InputStreamClosure.java + test/jdk/javax/net/ssl/SSLSocket/OutputStreamClosure.java Changeset: c09bdb9043f1 Author: ccheung Date: 2018-12-12 11:57 -0800 URL: http://hg.openjdk.java.net/panama/dev/rev/c09bdb9043f1 8214809: CDS storage improvements Reviewed-by: acorn, iklam, ahgross, rhalade ! src/hotspot/share/classfile/classFileParser.cpp ! test/hotspot/jtreg/runtime/appcds/OldClassTest.java Changeset: 62771002a1cb Author: henryjen Date: 2019-01-22 14:14 -0800 URL: http://hg.openjdk.java.net/panama/dev/rev/62771002a1cb Merge ! src/hotspot/share/classfile/classFileParser.cpp - src/hotspot/share/gc/g1/evacuationInfo.hpp - src/hotspot/share/runtime/arguments_ext.hpp - src/hotspot/share/services/diagnosticCommand_ext.hpp - src/java.desktop/share/classes/sun/awt/Graphics2Delegate.java - src/java.desktop/share/classes/sun/awt/TracedEventQueue.java - src/java.desktop/share/classes/sun/awt/image/BadDepthException.java - src/utils/LogCompilation/src/test/resources/hotspot_pid23756.log - src/utils/LogCompilation/src/test/resources/hotspot_pid25109.log - src/utils/LogCompilation/src/test/resources/no_tiered_short.log - src/utils/LogCompilation/src/test/resources/tiered_short.log - test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorEventsForTwoThreadsTest.java - test/jdk/java/lang/String/AlignIndent.java - test/jdk/java/net/MulticastSocket/PromiscuousIPv6.java - test/jdk/java/nio/channels/DatagramChannel/PromiscuousIPv6.java - test/jdk/javax/net/ssl/compatibility/Parameter.java - test/jdk/sun/security/util/Resources/NewNamesFormat.java - test/jdk/sun/security/util/Resources/NewResourcesNames.java - test/langtools/jdk/javadoc/doclet/lib/JavadocTester.java - test/langtools/jdk/javadoc/doclet/testHtmlLandmarkRegions/TestHtmlLankmarkRegions.java - test/langtools/tools/javac/RawStringLiteralLang.java - test/langtools/tools/javac/RawStringLiteralLangAPI.java - test/langtools/tools/javac/diags/examples/RawStringLiteral.java Changeset: c171aa9e5d3e Author: henryjen Date: 2019-03-26 10:55 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/c171aa9e5d3e Merge - make/devkit/createMacosxDevkit6.sh - make/devkit/createMacosxDevkit9.sh - make/devkit/createWindowsDevkit2013.sh - make/devkit/createWindowsDevkit2015.sh - make/gensrc/GensrcCLDR.gmk - src/hotspot/os_cpu/linux_aarch64/linux_aarch64.ad - src/hotspot/os_cpu/linux_sparc/linux_sparc.ad - src/hotspot/os_cpu/linux_x86/gc/z/zLargePages_linux_x86.cpp - src/hotspot/os_cpu/linux_x86/gc/z/zNUMA_linux_x86.cpp - src/hotspot/os_cpu/linux_x86/gc/z/zVirtualMemory_linux_x86.cpp ! src/hotspot/share/classfile/classFileParser.cpp - src/hotspot/share/classfile/dictionary.inline.hpp - src/hotspot/share/code/relocInfo_ext.cpp - src/hotspot/share/code/relocInfo_ext.hpp - src/hotspot/share/gc/g1/collectionSetChooser.cpp - src/hotspot/share/gc/g1/collectionSetChooser.hpp - src/hotspot/share/gc/g1/dirtyCardQueue.cpp - src/hotspot/share/gc/g1/dirtyCardQueue.hpp - src/hotspot/share/gc/z/zAddressRangeMap.hpp - src/hotspot/share/gc/z/zAddressRangeMap.inline.hpp - src/hotspot/share/gc/z/zForwardingTableEntry.hpp - src/hotspot/share/gc/z/zPageTableEntry.hpp - src/hotspot/share/gc/z/zStatTLAB.cpp - src/hotspot/share/gc/z/zStatTLAB.hpp - src/hotspot/share/oops/array.inline.hpp - src/hotspot/share/prims/evmCompat.cpp - src/hotspot/share/utilities/intHisto.cpp - src/hotspot/share/utilities/intHisto.hpp - src/java.base/share/classes/com/sun/net/ssl/HostnameVerifier.java - src/java.base/share/classes/com/sun/net/ssl/HttpsURLConnection.java - src/java.base/share/classes/com/sun/net/ssl/KeyManager.java - src/java.base/share/classes/com/sun/net/ssl/KeyManagerFactory.java - src/java.base/share/classes/com/sun/net/ssl/KeyManagerFactorySpi.java - src/java.base/share/classes/com/sun/net/ssl/SSLContext.java - src/java.base/share/classes/com/sun/net/ssl/SSLContextSpi.java - src/java.base/share/classes/com/sun/net/ssl/SSLPermission.java - src/java.base/share/classes/com/sun/net/ssl/SSLSecurity.java - src/java.base/share/classes/com/sun/net/ssl/TrustManager.java - src/java.base/share/classes/com/sun/net/ssl/TrustManagerFactory.java - src/java.base/share/classes/com/sun/net/ssl/TrustManagerFactorySpi.java - src/java.base/share/classes/com/sun/net/ssl/X509KeyManager.java - src/java.base/share/classes/com/sun/net/ssl/X509TrustManager.java - src/java.base/share/classes/com/sun/net/ssl/internal/ssl/Provider.java - src/java.base/share/classes/com/sun/net/ssl/internal/ssl/X509ExtendedTrustManager.java - src/java.base/share/classes/com/sun/net/ssl/internal/www/protocol/https/DelegateHttpsURLConnection.java - src/java.base/share/classes/com/sun/net/ssl/internal/www/protocol/https/Handler.java - src/java.base/share/classes/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnectionOldImpl.java - src/java.base/share/classes/com/sun/net/ssl/package-info.java - src/java.base/unix/native/libnio/ch/ServerSocketChannelImpl.c - src/java.base/unix/native/libnio/ch/SocketChannelImpl.c ! src/java.base/unix/native/libnio/ch/SocketDispatcher.c - src/java.base/unix/native/libnio/ch/UnixAsynchronousServerSocketChannelImpl.c - src/java.base/windows/native/libnio/ch/ServerSocketChannelImpl.c - src/java.base/windows/native/libnio/ch/SocketChannelImpl.c - src/java.desktop/share/classes/sun/awt/AWTSecurityManager.java - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-atomic-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-blob-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-buffer-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-face-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-font-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-map-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-mutex-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-object-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-open-file-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-open-type-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-common-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-gsubgpos-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-layout-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-map-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-arabic-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-indic-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-khmer-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-myanmar-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-tibetan.cc - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-complex-use-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-fallback-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-normalize-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-shape-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-ot-tag.h - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-set-digest-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-set-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-shape-plan-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-shaper-impl-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-shaper-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-subset-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-unicode-private.hh - src/java.desktop/share/native/libfontmanager/harfbuzz/hb-utf-private.hh - src/java.desktop/windows/native/libawt/windows/awt_Robot.h - src/java.smartcardio/unix/native/libj2pcsc/MUSCLE/COPYING - src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/BaseStructure.java - src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/Marshaller.java - src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/XmlWriter.java - src/java.xml.crypto/share/classes/org/jcp/xml/dsig/internal/dom/XmlWriterToTree.java - src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/output_html.properties - src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/output_text.properties - src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/output_unknown.properties - src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/output_xml.properties - src/java.xml/share/classes/com/sun/org/apache/xpath/internal/SourceTreeManager.java - src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZAddressRangeMapForPageTable.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/doc-files/CompilationBailoutActionHelp.txt - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotMaths.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/ArrayRangeWriteBarrier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/G1ArrayRangePostWriteBarrier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/G1ArrayRangePreWriteBarrier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/G1PostWriteBarrier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/G1PreWriteBarrier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/G1ReferentFieldReadBarrier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/ObjectWriteBarrier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/SerialArrayRangeWriteBarrier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/nodes/SerialWriteBarrier.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.java/src/org/graalvm/compiler/java/IntegerExactOpSpeculation.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/ConvertDeoptimizeToGuardPhase.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements.amd64/src/org/graalvm/compiler/replacements/amd64/AMD64MathSubstitutions.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/arithmetic/IntegerMulHighNode.java - src/jdk.javadoc/share/classes/com/sun/javadoc/AnnotatedType.java - src/jdk.javadoc/share/classes/com/sun/javadoc/AnnotationDesc.java - src/jdk.javadoc/share/classes/com/sun/javadoc/AnnotationTypeDoc.java - src/jdk.javadoc/share/classes/com/sun/javadoc/AnnotationTypeElementDoc.java - src/jdk.javadoc/share/classes/com/sun/javadoc/AnnotationValue.java - src/jdk.javadoc/share/classes/com/sun/javadoc/ClassDoc.java - src/jdk.javadoc/share/classes/com/sun/javadoc/ConstructorDoc.java - src/jdk.javadoc/share/classes/com/sun/javadoc/Doc.java - src/jdk.javadoc/share/classes/com/sun/javadoc/DocErrorReporter.java - src/jdk.javadoc/share/classes/com/sun/javadoc/Doclet.java - src/jdk.javadoc/share/classes/com/sun/javadoc/ExecutableMemberDoc.java - src/jdk.javadoc/share/classes/com/sun/javadoc/FieldDoc.java - src/jdk.javadoc/share/classes/com/sun/javadoc/LanguageVersion.java - src/jdk.javadoc/share/classes/com/sun/javadoc/MemberDoc.java - src/jdk.javadoc/share/classes/com/sun/javadoc/MethodDoc.java - src/jdk.javadoc/share/classes/com/sun/javadoc/PackageDoc.java - src/jdk.javadoc/share/classes/com/sun/javadoc/ParamTag.java - src/jdk.javadoc/share/classes/com/sun/javadoc/Parameter.java - src/jdk.javadoc/share/classes/com/sun/javadoc/ParameterizedType.java - src/jdk.javadoc/share/classes/com/sun/javadoc/ProgramElementDoc.java - src/jdk.javadoc/share/classes/com/sun/javadoc/RootDoc.java - src/jdk.javadoc/share/classes/com/sun/javadoc/SeeTag.java - src/jdk.javadoc/share/classes/com/sun/javadoc/SerialFieldTag.java - src/jdk.javadoc/share/classes/com/sun/javadoc/SourcePosition.java - src/jdk.javadoc/share/classes/com/sun/javadoc/Tag.java - src/jdk.javadoc/share/classes/com/sun/javadoc/ThrowsTag.java - src/jdk.javadoc/share/classes/com/sun/javadoc/Type.java - src/jdk.javadoc/share/classes/com/sun/javadoc/TypeVariable.java - src/jdk.javadoc/share/classes/com/sun/javadoc/WildcardType.java - src/jdk.javadoc/share/classes/com/sun/javadoc/package-info.java - src/jdk.javadoc/share/classes/com/sun/tools/doclets/standard/Standard.java - src/jdk.javadoc/share/classes/com/sun/tools/doclets/standard/package-info.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/Main.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/AbstractTypeImpl.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/AnnotatedTypeImpl.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/AnnotationDescImpl.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/AnnotationTypeDocImpl.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/AnnotationTypeElementDocImpl.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/AnnotationValueImpl.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/ClassDocImpl.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/Comment.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/ConstructorDocImpl.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/DocEnv.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/DocImpl.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/DocLocale.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/DocletInvoker.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/ExecutableMemberDocImpl.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/FieldDocImpl.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/JavaScriptScanner.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/JavadocClassFinder.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/JavadocEnter.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/JavadocMemberEnter.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/JavadocTodo.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/JavadocTool.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/MemberDocImpl.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/Messager.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/MethodDocImpl.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/ModifierFilter.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/PackageDocImpl.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/ParamTagImpl.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/ParameterImpl.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/ParameterizedTypeImpl.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/PrimitiveType.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/ProgramElementDocImpl.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/RootDocImpl.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/SeeTagImpl.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/SerialFieldTagImpl.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/SerializedForm.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/SourcePositionImpl.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/Start.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/TagImpl.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/ThrowsTagImpl.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/ToolOption.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/TypeMaker.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/TypeVariableImpl.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/main/WildcardTypeImpl.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/package-info.java - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/resources/javadoc.properties - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/resources/javadoc_ja.properties - src/jdk.javadoc/share/classes/com/sun/tools/javadoc/resources/javadoc_zh_CN.properties - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlConstants.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/HtmlVersion.java - src/jdk.jlink/share/classes/jdk/tools/jlink/internal/plugins/StripDebugPlugin.java - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/bcp47/timezone.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/dtd/ldml.dtd - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/dtd/ldmlBCP47.dtd - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/dtd/ldmlSupplemental.dtd - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/af.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/af_NA.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/af_ZA.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/agq.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/agq_CM.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ak.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ak_GH.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/am.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/am_ET.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_001.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_AE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_BH.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_DJ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_DZ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_EG.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_EH.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_ER.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_IL.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_IQ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_JO.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_KM.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_KW.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_LB.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_LY.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_MA.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_MR.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_OM.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_PS.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_QA.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_SA.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_SD.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_SO.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_SS.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_SY.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_TD.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_TN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ar_YE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/as.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/as_IN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/asa.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/asa_TZ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ast.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ast_ES.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/az.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/az_Cyrl.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/az_Cyrl_AZ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/az_Latn.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/az_Latn_AZ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bas.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bas_CM.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/be.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/be_BY.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bem.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bem_ZM.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bez.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bez_TZ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bg.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bg_BG.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bm.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bm_ML.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bn.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bn_BD.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bn_IN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bo.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bo_CN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bo_IN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/br.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/br_FR.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/brx.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/brx_IN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bs.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bs_Cyrl.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bs_Cyrl_BA.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bs_Latn.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/bs_Latn_BA.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ca.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ca_AD.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ca_ES.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ca_ES_VALENCIA.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ca_FR.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ca_IT.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ccp.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ccp_BD.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ccp_IN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ce.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ce_RU.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/cgg.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/cgg_UG.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/chr.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/chr_US.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ckb.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ckb_IQ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ckb_IR.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/cs.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/cs_CZ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/cu.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/cu_RU.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/cy.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/cy_GB.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/da.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/da_DK.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/da_GL.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/dav.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/dav_KE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/de.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/de_AT.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/de_BE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/de_CH.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/de_DE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/de_IT.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/de_LI.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/de_LU.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/dje.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/dje_NE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/dsb.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/dsb_DE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/dua.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/dua_CM.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/dyo.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/dyo_SN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/dz.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/dz_BT.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ebu.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ebu_KE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ee.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ee_GH.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ee_TG.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/el.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/el_CY.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/el_GR.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_001.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_150.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_AG.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_AI.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_AS.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_AT.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_AU.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_BB.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_BE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_BI.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_BM.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_BS.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_BW.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_BZ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_CA.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_CC.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_CH.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_CK.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_CM.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_CX.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_CY.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_DE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_DG.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_DK.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_DM.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_ER.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_FI.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_FJ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_FK.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_FM.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_GB.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_GD.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_GG.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_GH.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_GI.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_GM.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_GU.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_GY.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_HK.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_IE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_IL.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_IM.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_IN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_IO.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_JE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_JM.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_KE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_KI.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_KN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_KY.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_LC.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_LR.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_LS.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_MG.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_MH.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_MO.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_MP.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_MS.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_MT.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_MU.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_MW.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_MY.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_NA.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_NF.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_NG.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_NL.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_NR.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_NU.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_NZ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_PG.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_PH.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_PK.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_PN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_PR.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_PW.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_RW.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_SB.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_SC.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_SD.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_SE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_SG.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_SH.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_SI.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_SL.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_SS.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_SX.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_SZ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_TC.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_TK.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_TO.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_TT.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_TV.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_TZ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_UG.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_UM.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_US.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_US_POSIX.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_VC.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_VG.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_VI.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_VU.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_WS.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_ZA.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_ZM.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/en_ZW.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/eo.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/eo_001.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_419.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_AR.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_BO.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_BR.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_BZ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_CL.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_CO.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_CR.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_CU.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_DO.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_EA.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_EC.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_ES.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_GQ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_GT.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_HN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_IC.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_MX.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_NI.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_PA.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_PE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_PH.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_PR.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_PY.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_SV.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_US.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_UY.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/es_VE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/et.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/et_EE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/eu.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/eu_ES.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ewo.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ewo_CM.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fa.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fa_AF.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fa_IR.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ff.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ff_CM.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ff_GN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ff_MR.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ff_SN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fi.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fi_FI.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fil.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fil_PH.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fo.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fo_DK.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fo_FO.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_BE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_BF.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_BI.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_BJ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_BL.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_CA.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_CD.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_CF.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_CG.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_CH.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_CI.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_CM.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_DJ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_DZ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_FR.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_GA.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_GF.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_GN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_GP.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_GQ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_HT.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_KM.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_LU.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_MA.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_MC.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_MF.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_MG.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_ML.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_MQ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_MR.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_MU.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_NC.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_NE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_PF.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_PM.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_RE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_RW.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_SC.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_SN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_SY.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_TD.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_TG.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_TN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_VU.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_WF.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fr_YT.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fur.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fur_IT.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fy.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/fy_NL.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ga.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ga_IE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/gd.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/gd_GB.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/gl.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/gl_ES.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/gsw.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/gsw_CH.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/gsw_FR.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/gsw_LI.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/gu.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/gu_IN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/guz.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/guz_KE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/gv.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/gv_IM.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ha.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ha_GH.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ha_NE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ha_NG.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/haw.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/haw_US.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/he.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/he_IL.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/hi.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/hi_IN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/hr.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/hr_BA.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/hr_HR.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/hsb.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/hsb_DE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/hu.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/hu_HU.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/hy.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/hy_AM.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/id.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/id_ID.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ig.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ig_NG.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ii.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ii_CN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/is.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/is_IS.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/it.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/it_CH.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/it_IT.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/it_SM.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/it_VA.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ja.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ja_JP.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/jgo.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/jgo_CM.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/jmc.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/jmc_TZ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ka.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ka_GE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kab.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kab_DZ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kam.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kam_KE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kde.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kde_TZ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kea.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kea_CV.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/khq.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/khq_ML.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ki.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ki_KE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kk.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kk_KZ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kkj.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kkj_CM.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kl.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kl_GL.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kln.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kln_KE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/km.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/km_KH.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kn.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kn_IN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ko.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ko_KP.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ko_KR.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kok.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kok_IN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ks.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ks_IN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ksb.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ksb_TZ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ksf.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ksf_CM.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ksh.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ksh_DE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kw.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/kw_GB.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ky.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ky_KG.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lag.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lag_TZ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lb.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lb_LU.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lg.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lg_UG.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lkt.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lkt_US.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ln.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ln_AO.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ln_CD.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ln_CF.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ln_CG.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lo.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lo_LA.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lrc.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lrc_IQ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lrc_IR.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lt.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lt_LT.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lu.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lu_CD.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/luo.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/luo_KE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/luy.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/luy_KE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lv.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/lv_LV.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mas.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mas_KE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mas_TZ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mer.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mer_KE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mfe.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mfe_MU.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mg.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mg_MG.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mgh.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mgh_MZ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mgo.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mgo_CM.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mk.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mk_MK.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ml.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ml_IN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mn.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mn_MN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mr.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mr_IN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ms.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ms_BN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ms_MY.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ms_SG.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mt.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mt_MT.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mua.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mua_CM.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/my.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/my_MM.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mzn.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/mzn_IR.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/naq.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/naq_NA.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nb.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nb_NO.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nb_SJ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nd.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nd_ZW.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nds.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nds_DE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nds_NL.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ne.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ne_IN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ne_NP.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nl.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nl_AW.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nl_BE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nl_BQ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nl_CW.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nl_NL.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nl_SR.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nl_SX.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nmg.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nmg_CM.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nn.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nn_NO.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nnh.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nnh_CM.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nus.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nus_SS.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nyn.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/nyn_UG.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/om.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/om_ET.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/om_KE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/or.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/or_IN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/os.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/os_GE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/os_RU.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pa.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pa_Arab.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pa_Arab_PK.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pa_Guru.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pa_Guru_IN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pl.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pl_PL.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/prg.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/prg_001.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ps.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ps_AF.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pt.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pt_AO.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pt_BR.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pt_CH.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pt_CV.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pt_GQ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pt_GW.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pt_LU.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pt_MO.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pt_MZ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pt_PT.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pt_ST.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/pt_TL.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/qu.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/qu_BO.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/qu_EC.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/qu_PE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/rm.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/rm_CH.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/rn.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/rn_BI.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ro.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ro_MD.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ro_RO.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/rof.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/rof_TZ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/root.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ru.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ru_BY.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ru_KG.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ru_KZ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ru_MD.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ru_RU.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ru_UA.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/rw.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/rw_RW.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/rwk.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/rwk_TZ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sah.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sah_RU.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/saq.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/saq_KE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sbp.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sbp_TZ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sd.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sd_PK.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/se.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/se_FI.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/se_NO.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/se_SE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/seh.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/seh_MZ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ses.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ses_ML.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sg.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sg_CF.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/shi.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/shi_Latn.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/shi_Latn_MA.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/shi_Tfng.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/shi_Tfng_MA.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/si.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/si_LK.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sk.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sk_SK.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sl.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sl_SI.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/smn.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/smn_FI.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sn.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sn_ZW.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/so.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/so_DJ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/so_ET.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/so_KE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/so_SO.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sq.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sq_AL.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sq_MK.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sq_XK.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sr.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sr_Cyrl.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sr_Cyrl_BA.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sr_Cyrl_ME.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sr_Cyrl_RS.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sr_Cyrl_XK.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sr_Latn.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sr_Latn_BA.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sr_Latn_ME.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sr_Latn_RS.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sr_Latn_XK.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sv.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sv_AX.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sv_FI.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sv_SE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sw.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sw_CD.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sw_KE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sw_TZ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/sw_UG.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ta.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ta_IN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ta_LK.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ta_MY.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ta_SG.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/te.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/te_IN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/teo.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/teo_KE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/teo_UG.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/tg.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/tg_TJ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/th.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/th_TH.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ti.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ti_ER.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ti_ET.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/tk.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/tk_TM.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/to.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/to_TO.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/tr.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/tr_CY.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/tr_TR.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/tt.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/tt_RU.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/twq.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/twq_NE.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/tzm.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/tzm_MA.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ug.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ug_CN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/uk.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/uk_UA.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ur.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ur_IN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/ur_PK.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/uz.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/uz_Arab.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/uz_Arab_AF.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/uz_Cyrl.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/uz_Cyrl_UZ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/uz_Latn.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/uz_Latn_UZ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/vai.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/vai_Latn.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/vai_Latn_LR.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/vai_Vaii.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/vai_Vaii_LR.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/vi.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/vi_VN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/vo.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/vo_001.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/vun.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/vun_TZ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/wae.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/wae_CH.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/wo.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/wo_SN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/xog.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/xog_UG.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/yav.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/yav_CM.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/yi.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/yi_001.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/yo.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/yo_BJ.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/yo_NG.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/yue.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/yue_HK.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/yue_Hans.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/yue_Hans_CN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/yue_Hant.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/yue_Hant_HK.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/zgh.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/zgh_MA.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/zh.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/zh_Hans.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/zh_Hans_CN.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/zh_Hans_HK.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/zh_Hans_MO.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/zh_Hans_SG.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/zh_Hant.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/zh_Hant_HK.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/zh_Hant_MO.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/zh_Hant_TW.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/zu.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/main/zu_ZA.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/supplemental/attributeValueValidity.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/supplemental/characters.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/supplemental/coverageLevels.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/supplemental/dayPeriods.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/supplemental/genderList.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/supplemental/languageInfo.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/supplemental/likelySubtags.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/supplemental/metaZones.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/supplemental/numberingSystems.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/supplemental/ordinals.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/supplemental/pluralRanges.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/supplemental/plurals.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/supplemental/rgScope.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/supplemental/subdivisions.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/supplemental/supplementalData.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/supplemental/supplementalMetadata.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/supplemental/telephoneCodeData.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/common/supplemental/windowsZones.xml - src/jdk.localedata/share/classes/sun/util/cldr/resources/unicode-license.txt - src/jdk.sctp/unix/native/libsctp/SctpServerChannelImpl.c - test/Makefile - test/TestCommon.gmk - test/hotspot/gtest/gc/z/test_zForwardingTable.cpp - test/hotspot/gtest/memory/test_virtualSpaceNode.cpp - test/hotspot/jtreg/Makefile - test/hotspot/jtreg/gc/g1/TestStringTableStats.java - test/hotspot/jtreg/runtime/RedefineObject/Agent.java - test/hotspot/jtreg/runtime/RedefineObject/TestRedefineObject.java - test/hotspot/jtreg/runtime/RedefineObject/WalkThroughInvoke.java - test/hotspot/jtreg/runtime/RedefineTests/ModifyAnonymous.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineAddLambdaExpression.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineAnnotations.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineDoubleDelete.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineFinalizer.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineInterfaceCall.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineInterfaceMethods.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineLeak.java - test/hotspot/jtreg/runtime/RedefineTests/RedefinePreviousVersions.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineRunningMethods.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineRunningMethodsWithBacktrace.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineRunningMethodsWithResolutionErrors.java - test/hotspot/jtreg/runtime/RedefineTests/RedefineSubtractLambdaExpression.java - test/hotspot/jtreg/runtime/RedefineTests/libRedefineDoubleDelete.c - test/hotspot/jtreg/serviceability/dcmd/framework/TEST.properties - test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/libHeapMonitorTest.c - test/hotspot/jtreg/serviceability/jvmti/RetransformClassesZeroLength.java - test/hotspot/jtreg/serviceability/jvmti/TestLambdaFormRetransformation.java - test/hotspot/jtreg/serviceability/jvmti/TestRedefineWithUnresolvedClass.java - test/hotspot/jtreg/serviceability/jvmti/UnresolvedClassAgent.java - test/hotspot/jtreg/serviceability/jvmti/UnresolvedClassAgent.mf - test/jaxp/Makefile - test/jdk/Makefile - test/jdk/com/sun/net/ssl/SSLSecurity/ComKeyManagerFactoryImpl.java - test/jdk/com/sun/net/ssl/SSLSecurity/ComSSLContextImpl.java - test/jdk/com/sun/net/ssl/SSLSecurity/ComTrustManagerFactoryImpl.java - test/jdk/com/sun/net/ssl/SSLSecurity/JavaxKeyManagerFactoryImpl.java - test/jdk/com/sun/net/ssl/SSLSecurity/JavaxSSLContextImpl.java - test/jdk/com/sun/net/ssl/SSLSecurity/JavaxTrustManagerFactoryImpl.java - test/jdk/com/sun/net/ssl/SSLSecurity/ProviderTest.java - test/jdk/com/sun/net/ssl/SSLSecurity/TruncateArray.java - test/jdk/java/awt/Choice/PopdownGeneratesMouseEvents/PopdownGeneratesMouseEvents.html - test/jdk/java/awt/Choice/PopupPosTest/PopupPosTest.html - test/jdk/java/awt/Clipboard/HTMLTransferTest/HTMLTransferTest.html - test/jdk/java/awt/Component/F10TopToplevel/F10TopToplevel.html - test/jdk/java/awt/EventDispatchThread/LoopRobustness/LoopRobustness.html - test/jdk/java/awt/FileDialog/FilenameFilterTest/FilenameFilterTest.html - test/jdk/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest.html - test/jdk/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.html - test/jdk/java/awt/Focus/ChildWindowFocusTest/ChildWindowFocusTest.html - test/jdk/java/awt/Focus/DeiconifiedFrameLoosesFocus/DeiconifiedFrameLoosesFocus.html - test/jdk/java/awt/Focus/FocusSubRequestTest/FocusSubRequestTest.html - test/jdk/java/awt/Focus/ModalBlockedStealsFocusTest/ModalBlockedStealsFocusTest.html - test/jdk/java/awt/Focus/ModalDialogInitialFocusTest/ModalDialogInitialFocusTest.html - test/jdk/java/awt/Focus/ModalExcludedWindowClickTest/ModalExcludedWindowClickTest.html - test/jdk/java/awt/Focus/NonFocusableBlockedOwnerTest/NonFocusableBlockedOwnerTest.html - test/jdk/java/awt/Focus/ToFrontFocusTest/ToFrontFocus.html - test/jdk/java/awt/Focus/WindowInitialFocusTest/WindowInitialFocusTest.html - test/jdk/java/awt/Focus/WindowUpdateFocusabilityTest/WindowUpdateFocusabilityTest.html - test/jdk/java/awt/FontClass/CreateFont/bigfont.html - test/jdk/java/awt/Frame/DisposeStressTest/DisposeStressTest.html - test/jdk/java/awt/Frame/NonEDT_GUI_DeadlockTest/NonEDT_GUI_Deadlock.html - test/jdk/java/awt/GridBagLayout/GridBagLayoutIpadXYTest/GridBagLayoutIpadXYTest.html - test/jdk/java/awt/KeyboardFocusmanager/ConsumeNextMnemonicKeyTypedTest/ConsumeForModalDialogTest/ConsumeForModalDialogTest.html - test/jdk/java/awt/KeyboardFocusmanager/ConsumeNextMnemonicKeyTypedTest/ConsumeNextMnemonicKeyTypedTest.html - test/jdk/java/awt/KeyboardFocusmanager/TypeAhead/ButtonActionKeyTest/ButtonActionKeyTest.html - test/jdk/java/awt/KeyboardFocusmanager/TypeAhead/MenuItemActivatedTest/MenuItemActivatedTest.html - test/jdk/java/awt/KeyboardFocusmanager/TypeAhead/TestDialogTypeAhead.html - test/jdk/java/awt/List/FirstItemRemoveTest/FirstItemRemoveTest.html - test/jdk/java/awt/List/FocusEmptyListTest/FocusEmptyListTest.html - test/jdk/java/awt/List/KeyEventsTest/KeyEventsTest.html - test/jdk/java/awt/Mouse/ExtraMouseClick/ExtraMouseClick.html - test/jdk/java/awt/Mouse/TitleBarDoubleClick/TitleBarDoubleClick.html - test/jdk/java/awt/Multiscreen/WindowGCChangeTest/WindowGCChangeTest.html - test/jdk/java/awt/Window/HandleWindowDestroyTest/HandleWindowDestroyTest.html - test/jdk/java/awt/datatransfer/DragUnicodeBetweenJVMTest/DragUnicodeBetweenJVMTest.html - test/jdk/java/awt/datatransfer/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.html - test/jdk/java/awt/dnd/DragInterceptorAppletTest/DragInterceptorAppletTest.html - test/jdk/java/awt/dnd/FileListBetweenJVMsTest/FileListBetweenJVMsTest.html - test/jdk/java/awt/dnd/ImageDecoratedDnDInOut/ImageDecoratedDnDInOut.html - test/jdk/java/awt/dnd/ImageDecoratedDnDNegative/ImageDecoratedDnDNegative.html - test/jdk/java/awt/dnd/InterJVMGetDropSuccessTest/InterJVMGetDropSuccessTest.html - test/jdk/java/awt/dnd/NoFormatsCrashTest/NoFormatsCrashTest.html - test/jdk/java/awt/dnd/URIListBetweenJVMsTest/URIListBetweenJVMsTest.html - test/jdk/java/awt/dnd/URIListToFileListBetweenJVMsTest/URIListToFileListBetweenJVMsTest.html - test/jdk/java/awt/event/ComponentEvent/MovedResizedTardyEventTest/MovedResizedTardyEventTest.html - test/jdk/java/awt/event/KeyEvent/KeyTyped/CtrlASCII.html - test/jdk/java/awt/event/MouseEvent/FrameMouseEventAbsoluteCoordsTest/FrameMouseEventAbsoluteCoordsTest.html - test/jdk/java/awt/event/MouseEvent/MenuDragMouseEventAbsoluteCoordsTest/MenuDragMouseEventAbsoluteCoordsTest.html - test/jdk/java/awt/event/MouseEvent/MouseClickTest/MouseClickTest.html - test/jdk/java/awt/event/MouseEvent/MouseWheelEventAbsoluteCoordsTest/MouseWheelEventAbsoluteCoordsTest.html - test/jdk/java/awt/event/MouseEvent/RobotLWTest/RobotLWTest.html - test/jdk/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_2.html - test/jdk/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_3.html - test/jdk/javax/imageio/AppletResourceTest.html - test/jdk/javax/net/ssl/FixingJavadocs/ComURLNulls.java - test/jdk/javax/net/ssl/SSLSession/CheckMyTrustedKeystore.java - test/jdk/javax/swing/JFrame/4962534/bug4962534.html - test/jdk/javax/swing/JPopupMenu/4634626/bug4634626.html - test/jdk/javax/swing/MultiUIDefaults/4300666/bug4300666.html - test/jdk/javax/swing/text/StyledEditorKit/4506788/bug4506788.html - test/jdk/sanity/client/TEST.ROOT.template - test/jdk/sun/java2d/cmm/ColorConvertOp/ConstructorsNullTest/ConstructorsNullTest.html - test/jdk/sun/net/www/protocol/https/NewImpl/ComHTTPSConnection.java - test/jdk/sun/net/www/protocol/https/NewImpl/ComHostnameVerifier.java - test/jdk/sun/security/krb5/auto/rcache_usemd5.sh - test/jdk/sun/security/krb5/tools/ktarg.sh - test/jdk/sun/security/krb5/tools/ktcheck.sh - test/jdk/sun/security/krb5/tools/ktmissing.sh - test/jdk/sun/security/krb5/tools/ktzero.sh - test/jdk/sun/security/pkcs11/fips/CipherTest.java - test/jdk/sun/security/pkcs11/fips/ClientJSSEServerJSSE.java - test/jdk/sun/security/pkcs11/fips/ImportKeyStore.java - test/jdk/sun/security/pkcs11/fips/JSSEClient.java - test/jdk/sun/security/pkcs11/fips/JSSEServer.java - test/jdk/sun/security/pkcs11/fips/TestTLS12.java - test/jdk/sun/security/pkcs11/fips/TrustManagerTest.java - test/jdk/sun/security/pkcs11/fips/TrustManagerTest.policy - test/jdk/sun/security/pkcs11/fips/cert8.db - test/jdk/sun/security/pkcs11/fips/certs/anchor.cer - test/jdk/sun/security/pkcs11/fips/certs/ca.cer - test/jdk/sun/security/pkcs11/fips/certs/server.cer - test/jdk/sun/security/pkcs11/fips/fips.cfg - test/jdk/sun/security/pkcs11/fips/key3.db - test/jdk/sun/security/pkcs11/fips/keystore - test/jdk/sun/security/pkcs11/fips/secmod.db - test/jdk/sun/security/pkcs11/fips/truststore - test/jdk/sun/security/ssl/X509TrustManagerImpl/ClientServer.java - test/jdk/tools/jlink/plugins/StripDebugPluginTest.java - test/jdk/vm/JniInvocationTest.java - test/jdk/vm/exeJniInvocationTest.c - test/jdk/vm/gc/ArraySize.java - test/jdk/vm/gc/InfiniteList.java - test/jdk/vm/jit/BadLogicCode.java - test/jdk/vm/jit/ExceptionInInit.java - test/jdk/vm/jit/JITClassInit.java - test/jdk/vm/runtime/ExplicitArithmeticCheck.java - test/jdk/vm/runtime/MonitorCacheMaybeExpand_DeadLock.java - test/jdk/vm/runtime/ReflectStackOverflow.java - test/jdk/vm/runtime/ShiftTest.java - test/jdk/vm/runtime/WideStrictInline.java - test/jdk/vm/verifier/TestStaticIF.java - test/jdk/vm/verifier/VerifyProtectedConstructor.java - test/jdk/vm/verifier/VerifyStackForExceptionHandlers.java - test/jdk/vm/verifier/defaultMethods/DefaultMethodRegressionTests.java - test/jdk/vm/verifier/defaultMethods/DefaultMethodRegressionTestsRun.java - test/langtools/Makefile - test/langtools/jdk/javadoc/doclet/testHtmlWarning/TestHtmlWarning.java - test/langtools/jdk/javadoc/tool/api/basic/GetTask_DocletClassTest.java - test/langtools/jdk/javadoc/tool/doclint/ImplicitHeadersTest.java - test/langtools/tools/javac/doclint/ImplicitHeadersTest.java - test/langtools/tools/javadoc/6176978/T6176978.java - test/langtools/tools/javadoc/6176978/X.java - test/langtools/tools/javadoc/6227454/Test.java - test/langtools/tools/javadoc/6942366/T6942366.java - test/langtools/tools/javadoc/6942366/Test.java - test/langtools/tools/javadoc/6942366/p/Base.java - test/langtools/tools/javadoc/6958836/Test.java - test/langtools/tools/javadoc/6964914/Error.java - test/langtools/tools/javadoc/6964914/JavacWarning.java - test/langtools/tools/javadoc/6964914/JavadocWarning.java - test/langtools/tools/javadoc/6964914/Test.java - test/langtools/tools/javadoc/6964914/TestStdDoclet.java - test/langtools/tools/javadoc/6964914/TestUserDoclet.java - test/langtools/tools/javadoc/8025693/Test.java - test/langtools/tools/javadoc/8147801/T8147801.java - test/langtools/tools/javadoc/8147801/jarsrc/lib/Lib1.java - test/langtools/tools/javadoc/8147801/jarsrc/lib/Lib2.java - test/langtools/tools/javadoc/8147801/p/Test.java - test/langtools/tools/javadoc/AddOpensTest.java - test/langtools/tools/javadoc/BadOptionsTest.java - test/langtools/tools/javadoc/BooleanConst.java - test/langtools/tools/javadoc/BreakIteratorWarning.java - test/langtools/tools/javadoc/CheckResourceKeys.java - test/langtools/tools/javadoc/CompletionError.java - test/langtools/tools/javadoc/EncodingTest.java - test/langtools/tools/javadoc/FlagsTooEarly.java - test/langtools/tools/javadoc/InlineTagsWithBraces.java - test/langtools/tools/javadoc/LangVers.java - test/langtools/tools/javadoc/MaxWarns.java - test/langtools/tools/javadoc/MethodLinks.java - test/langtools/tools/javadoc/NoStar.java - test/langtools/tools/javadoc/ReleaseOption.java - test/langtools/tools/javadoc/ReleaseOptionSource.java - test/langtools/tools/javadoc/T4994049/FileWithTabs.java - test/langtools/tools/javadoc/T4994049/T4994049.java - test/langtools/tools/javadoc/T6968833.java - test/langtools/tools/javadoc/XWerror.java - test/langtools/tools/javadoc/annotations/annotateMethodsFields/Main.java - test/langtools/tools/javadoc/annotations/annotateMethodsFields/expected.out - test/langtools/tools/javadoc/annotations/annotateMethodsFields/pkg1/A.java - test/langtools/tools/javadoc/annotations/annotateMethodsFields/pkg1/B.java - test/langtools/tools/javadoc/annotations/annotateMethodsFields/pkg1/E.java - test/langtools/tools/javadoc/annotations/annotatePackage/Main.java - test/langtools/tools/javadoc/annotations/annotatePackage/expected.out - test/langtools/tools/javadoc/annotations/annotatePackage/pkg1/A.java - test/langtools/tools/javadoc/annotations/annotatePackage/pkg1/package-info.java - test/langtools/tools/javadoc/annotations/annotatePackage/pkg1/package.html - test/langtools/tools/javadoc/annotations/annotatePackage/pkg2/B.java - test/langtools/tools/javadoc/annotations/annotatePackage/pkg2/package.html - test/langtools/tools/javadoc/annotations/annotateParams/Main.java - test/langtools/tools/javadoc/annotations/annotateParams/expected.out - test/langtools/tools/javadoc/annotations/annotateParams/pkg1/A.java - test/langtools/tools/javadoc/annotations/annotateParams/pkg1/C.java - test/langtools/tools/javadoc/annotations/badVals/Main.java - test/langtools/tools/javadoc/annotations/badVals/pkg1/A.java - test/langtools/tools/javadoc/annotations/defaults/Main.java - test/langtools/tools/javadoc/annotations/defaults/expected.out - test/langtools/tools/javadoc/annotations/defaults/pkg1/A.java - test/langtools/tools/javadoc/annotations/defaults/pkg1/B.java - test/langtools/tools/javadoc/annotations/elementTypes/Main.java - test/langtools/tools/javadoc/annotations/elementTypes/expected.out - test/langtools/tools/javadoc/annotations/elementTypes/pkg1/A.java - test/langtools/tools/javadoc/annotations/elementTypes/pkg1/B.java - test/langtools/tools/javadoc/annotations/missing/Main.java - test/langtools/tools/javadoc/annotations/missing/somepackage/MissingAnnotationClass.java - test/langtools/tools/javadoc/annotations/shortcuts/Main.java - test/langtools/tools/javadoc/annotations/shortcuts/expected.out - test/langtools/tools/javadoc/annotations/shortcuts/pkg1/A.java - test/langtools/tools/javadoc/annotations/shortcuts/pkg1/Array.java - test/langtools/tools/javadoc/annotations/shortcuts/pkg1/Marker.java - test/langtools/tools/javadoc/annotations/shortcuts/pkg1/Value.java - test/langtools/tools/javadoc/api/basic/APITest.java - test/langtools/tools/javadoc/api/basic/DocletPathTest.java - test/langtools/tools/javadoc/api/basic/DocumentationToolLocationTest.java - test/langtools/tools/javadoc/api/basic/GetSourceVersionsTest.java - test/langtools/tools/javadoc/api/basic/GetTask_DiagListenerTest.java - test/langtools/tools/javadoc/api/basic/GetTask_DocletClassTest.java - test/langtools/tools/javadoc/api/basic/GetTask_FileManagerTest.java - test/langtools/tools/javadoc/api/basic/GetTask_FileObjectsTest.java - test/langtools/tools/javadoc/api/basic/GetTask_OptionsTest.java - test/langtools/tools/javadoc/api/basic/GetTask_WriterTest.java - test/langtools/tools/javadoc/api/basic/Task_reuseTest.java - test/langtools/tools/javadoc/api/basic/pkg/C.java - test/langtools/tools/javadoc/api/basic/taglets/UnderlineTaglet.java - test/langtools/tools/javadoc/completionFailure/CompletionFailure.java - test/langtools/tools/javadoc/completionFailure/pkg/A.java - test/langtools/tools/javadoc/completionFailure/pkg/B.java - test/langtools/tools/javadoc/dupOk/DupOk.java - test/langtools/tools/javadoc/dupOk/sp1/p/A.java - test/langtools/tools/javadoc/dupOk/sp2/p/A.java - test/langtools/tools/javadoc/dupOk/sp2/p/B.java - test/langtools/tools/javadoc/enum/docComments/Main.java - test/langtools/tools/javadoc/enum/docComments/pkg1/Operation.java - test/langtools/tools/javadoc/enum/enumType/Main.java - test/langtools/tools/javadoc/enum/enumType/expected.out - test/langtools/tools/javadoc/enum/enumType/pkg1/QuotablePerson.java - test/langtools/tools/javadoc/generics/genericClass/Main.java - test/langtools/tools/javadoc/generics/genericClass/expected.out - test/langtools/tools/javadoc/generics/genericClass/pkg1/A.java - test/langtools/tools/javadoc/generics/genericInnerAndOuter/Main.java - test/langtools/tools/javadoc/generics/genericInnerAndOuter/expected.out - test/langtools/tools/javadoc/generics/genericInnerAndOuter/pkg1/O.java - test/langtools/tools/javadoc/generics/genericInnerAndOuter/pkg1/X.java - test/langtools/tools/javadoc/generics/genericInterface/Main.java - test/langtools/tools/javadoc/generics/genericInterface/expected.out - test/langtools/tools/javadoc/generics/genericInterface/pkg1/A.java - test/langtools/tools/javadoc/generics/genericMethod/Main.java - test/langtools/tools/javadoc/generics/genericMethod/expected.out - test/langtools/tools/javadoc/generics/genericMethod/pkg1/A.java - test/langtools/tools/javadoc/generics/genericSuper/Main.java - test/langtools/tools/javadoc/generics/genericSuper/expected.out - test/langtools/tools/javadoc/generics/genericSuper/pkg1/A.java - test/langtools/tools/javadoc/generics/supertypes/Main.java - test/langtools/tools/javadoc/generics/supertypes/expected.out - test/langtools/tools/javadoc/generics/supertypes/pkg1/A.java - test/langtools/tools/javadoc/generics/supertypes/pkg1/B.java - test/langtools/tools/javadoc/generics/throwsGeneric/Main.java - test/langtools/tools/javadoc/generics/throwsGeneric/expected.out - test/langtools/tools/javadoc/generics/throwsGeneric/pkg1/A.java - test/langtools/tools/javadoc/generics/tparamCycle/Main.java - test/langtools/tools/javadoc/generics/tparamCycle/pkg1/LikeEnum.java - test/langtools/tools/javadoc/generics/tparamTagOnMethod/Main.java - test/langtools/tools/javadoc/generics/tparamTagOnMethod/expected.out - test/langtools/tools/javadoc/generics/tparamTagOnMethod/pkg1/A.java - test/langtools/tools/javadoc/generics/tparamTagOnType/Main.java - test/langtools/tools/javadoc/generics/tparamTagOnType/expected.out - test/langtools/tools/javadoc/generics/tparamTagOnType/pkg1/A.java - test/langtools/tools/javadoc/generics/wildcards/Main.java - test/langtools/tools/javadoc/generics/wildcards/expected.out - test/langtools/tools/javadoc/generics/wildcards/pkg1/A.java - test/langtools/tools/javadoc/imports/I.java - test/langtools/tools/javadoc/imports/MissingImport.java - test/langtools/tools/javadoc/lib/OldToolTester.java - test/langtools/tools/javadoc/lib/ToyDoclet.java - test/langtools/tools/javadoc/nestedClass/NestedClass.java - test/langtools/tools/javadoc/nestedClass/NestedClassB.java - test/langtools/tools/javadoc/nonConstExprs/Test.java - test/langtools/tools/javadoc/outputRedirect/Test.java - test/langtools/tools/javadoc/outputRedirect/p/OutputRedirect.java - test/langtools/tools/javadoc/parser/7091528/T7091528.java - test/langtools/tools/javadoc/parser/7091528/p/C1.java - test/langtools/tools/javadoc/parser/7091528/p/C3.java - test/langtools/tools/javadoc/parser/7091528/p/q/C2.java - test/langtools/tools/javadoc/sourceOnly/Test.java - test/langtools/tools/javadoc/sourceOnly/p/NonSource.jasm - test/langtools/tools/javadoc/sourceOnly/p/SourceOnly.java - test/langtools/tools/javadoc/sourceOption/SourceOption.java - test/langtools/tools/javadoc/sourceOption/p/LambdaConstructTest.java - test/langtools/tools/javadoc/subpackageIgnore/SubpackageIgnore.java - test/langtools/tools/javadoc/subpackageIgnore/pkg1/not-subpkg/SomeJavaFile.java - test/langtools/tools/javadoc/varArgs/Main.java - test/langtools/tools/javadoc/varArgs/expected.out - test/langtools/tools/javadoc/varArgs/pkg1/A.java - test/nashorn/Makefile Changeset: 132973ef7a31 Author: bpb Date: 2019-01-22 09:45 -0800 URL: http://hg.openjdk.java.net/panama/dev/rev/132973ef7a31 8211936: Better String parsing Reviewed-by: bpb, darcy Contributed-by: Brian Burkhalter , Joe Darcy , Paul Hohensee ! src/java.base/share/classes/java/math/BigDecimal.java + test/jdk/java/math/BigDecimal/IntValueExactTests.java + test/jdk/java/math/BigDecimal/IntegralValueTests.java ! test/jdk/java/math/BigDecimal/LongValueExactTests.java Changeset: 30503c380394 Author: rriggs Date: 2019-02-06 11:39 -0500 URL: http://hg.openjdk.java.net/panama/dev/rev/30503c380394 8218453: More dynamic RMI interactions Reviewed-by: ahgross, skoivu, smarks ! src/java.rmi/share/classes/sun/rmi/registry/RegistryImpl_Skel.java ! src/java.rmi/share/classes/sun/rmi/server/UnicastServerRef.java + test/jdk/java/rmi/registry/nonLocalRegistry/NonLocalSkeletonTest.java Changeset: 4ff026ff9c98 Author: henryjen Date: 2019-04-15 18:24 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/4ff026ff9c98 Merge ! src/hotspot/share/classfile/classFileParser.cpp Changeset: 15f2aae40bc8 Author: henryjen Date: 2019-04-16 20:47 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/15f2aae40bc8 Merge - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractModuleIndexWriter.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractPackageIndexWriter.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/external/jquery/jquery.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-bg_glass_65_dadada_1x400.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-bg_glass_75_dadada_1x400.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-bg_glass_95_fef1ec_1x400.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-icons_222222_256x240.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-icons_2e83ff_256x240.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-icons_454545_256x240.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-icons_888888_256x240.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-icons_cd0a0a_256x240.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-3.3.1.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-migrate-3.0.1.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-ui.css - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-ui.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-ui.min.css - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-ui.min.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-ui.structure.css - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-ui.structure.min.css - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jszip-utils/dist/jszip-utils-ie.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jszip-utils/dist/jszip-utils-ie.min.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jszip-utils/dist/jszip-utils.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jszip-utils/dist/jszip-utils.min.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jszip/dist/jszip.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jszip/dist/jszip.min.js - test/hotspot/jtreg/runtime/ErrorHandling/ExplicitArithmeticCheck.java - test/hotspot/jtreg/runtime/Thread/MonitorCacheMaybeExpand_DeadLock.java - test/hotspot/jtreg/runtime/interpreter/WideStrictInline.java Changeset: 86533c4a2f68 Author: thartmann Date: 2019-04-17 08:12 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/86533c4a2f68 8222417: compiler/loopopts/TestOverunrolling.java times out Summary: Problem list the test with Graal because it uses -Xcomp in combination with -XX:-TieredCompilation. Reviewed-by: kvn, iignatyev ! test/hotspot/jtreg/ProblemList-graal.txt Changeset: 8b2f797e3edb Author: thartmann Date: 2019-04-17 08:15 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/8b2f797e3edb 8222418: compiler/arguments/TestScavengeRootsInCode.java times out Summary: Problem list the test with Graal because it uses -Xcomp in combination with -XX:-TieredCompilation. Reviewed-by: kvn, iignatyev ! test/hotspot/jtreg/ProblemList-graal.txt Changeset: 6c4d8b7128d5 Author: pmuthuswamy Date: 2019-04-17 12:43 +0530 URL: http://hg.openjdk.java.net/panama/dev/rev/6c4d8b7128d5 8220382: Cleanup doclet instantiation Reviewed-by: jjg ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/Start.java Changeset: 1af5c0e68381 Author: rehn Date: 2019-04-17 09:25 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/1af5c0e68381 8218147: make_walkable asserts on multiple calls Reviewed-by: dholmes, dcubed ! src/hotspot/share/jfr/periodic/sampling/jfrThreadSampler.cpp ! src/hotspot/share/runtime/thread.hpp Changeset: ba8ab3f67aec Author: rehn Date: 2019-04-17 09:29 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/ba8ab3f67aec 8222327: java_lang_Thread _thread_status_offset, remove pre 1.5 code paths Reviewed-by: dholmes, redestad ! src/hotspot/share/classfile/javaClasses.cpp Changeset: b36e68b34be3 Author: neliasso Date: 2019-04-17 09:54 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/b36e68b34be3 8218468: Load barrier slow path node should be MachTypeNode Reviewed-by: shade, pliden, kvn ! src/hotspot/share/adlc/formssel.cpp Changeset: 3b2101f56cdd Author: clanger Date: 2019-04-17 10:31 +0100 URL: http://hg.openjdk.java.net/panama/dev/rev/3b2101f56cdd 8222627: Remove sneaky token 'Name' in jdk-version.m4 Reviewed-by: simonis ! make/autoconf/jdk-version.m4 Changeset: 4224f26b2e7f Author: rschmelter Date: 2019-04-15 06:41 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/4224f26b2e7f 8222491: jcmd can fail converting UTF8 output to strings Reviewed-by: jcbeyler, clanger, dholmes ! src/jdk.jcmd/share/classes/sun/tools/jcmd/JCmd.java Changeset: 224515275cf9 Author: eosterlund Date: 2019-04-17 12:41 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/224515275cf9 8219718: ZGC: Make nmethod entry barriers and nmethod::is_unloading use ZNMethodDataOops Reviewed-by: pliden, stefank ! src/hotspot/share/gc/z/zBarrierSetNMethod.cpp ! src/hotspot/share/gc/z/zUnload.cpp Changeset: b2ed96c35687 Author: mcimadamore Date: 2019-04-17 15:37 +0100 URL: http://hg.openjdk.java.net/panama/dev/rev/b2ed96c35687 8222289: Overhaul logic for reading/writing constant pool entries Summary: Rewrite of Pool,ClassReader,ClassWriter to use shared pool helper components Reviewed-by: vromero ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symbol.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Type.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/code/Types.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Lower.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassFile.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassWriter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Code.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Gen.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Items.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ModuleNameReader.java - src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Pool.java + src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/PoolConstant.java + src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/PoolReader.java + src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/PoolWriter.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/StringConcat.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/ByteBuffer.java ! src/jdk.compiler/share/classes/com/sun/tools/javac/util/Name.java ! test/langtools/tools/javac/annotations/typeAnnotations/classfile/AnnotatedExtendsTest.java ! test/langtools/tools/javac/annotations/typeAnnotations/classfile/BridgeShouldHaveNoInteriorAnnotationsTest.java ! test/langtools/tools/javac/annotations/typeAnnotations/classfile/NestedLambdasCastedTest.java ! test/langtools/tools/javac/diags/examples.not-yet.txt ! test/langtools/tools/javac/lambda/TestBootstrapMethodsCount.java ! test/langtools/tools/javac/lambda/TestInvokeDynamic.java ! test/langtools/tools/javac/modules/T8159439/NPEForModuleInfoWithNonZeroSuperClassTest.out ! test/langtools/tools/javac/nestmates/CheckNestmateAttrs.java ! test/langtools/tools/javap/AnnoTest.java ! test/langtools/tools/javap/typeAnnotations/AnnotationDefaultNewlineTest.java ! test/langtools/tools/javap/typeAnnotations/InvisibleParameterAnnotationsTest.java Changeset: 7689e1cc56fe Author: bpb Date: 2019-04-17 08:12 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/7689e1cc56fe 8220477: Channels.newWriter() does not close if underlying channel throws an IOException Reviewed-by: alanb ! src/java.base/share/classes/sun/nio/cs/StreamDecoder.java ! src/java.base/share/classes/sun/nio/cs/StreamEncoder.java ! test/jdk/java/nio/channels/Channels/Basic.java From maurizio.cimadamore at oracle.com Wed Apr 17 20:08:32 2019 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Wed, 17 Apr 2019 21:08:32 +0100 Subject: [foreign] RFR - abi cleanup In-Reply-To: <613A8D34-C791-491E-9630-7871CE01CF9D@oracle.com> References: <6ffd054d-135d-d61a-59c8-3669175eb494@oracle.com> <613A8D34-C791-491E-9630-7871CE01CF9D@oracle.com> Message-ID: On 17/04/2019 21:02, Henry Jen wrote: > Overall looks good, I think it?s a good improvement. > > I am less keen for the rename of StandardCall to CallingSequenceBuilderImpl. Each implementation of CallingSequenceBuilder is a calling convention, thus I prefer to have named after specific calling convention rather than a generic name. Although we don?t support other calling conventions and not seeing much evidence of the needs yet. I take your point - I'd say less change names when we'll actually need to have multiple builders in the same ABI. As we discussed at some point, we could also expose different calling convention as separate ABIs and remove the calling convention business entirely; this is a bit of an unorthodox approach, but it's a lumping move that gives a lot of flexibility. Maurizio > > Cheers, > Henry > > >> On Apr 17, 2019, at 10:11 AM, Maurizio Cimadamore wrote: >> >> (Apologies for the lack of jbs issue, jbs seems to be down at the moment) >> >> In the past few days I've been looking hard at ways to simplify the ABI code. This was something we needed to look at, after the Windows integration, which introduced a lot of duplicated code (and that was a deliberate choice, in order to minimize complexity). I think time has come to look at the impl again. I've consolidated the following areas: >> >> * CallingSequence/CallingSequenceBuilder - now CallingSequenceBuilder is a proper abstract class, which is ABI agnostic, and can be used by a client to put together a calling sequence, given a 'Function'. This is perhaps the part of the code that has changed the most. Note that I've removed the split between Argument (ABI-independent) and ArgumentInfo (ABI-dependent); now ArgumentInfo *is a* Argument, which simplifies the builder flow significantly. >> >> * Another area that has changed a lot is the logic for putting together ShuffleRecipe - there's now a new (and much simpler) builder. Again, the code removes many indirection, and it also fixes some of the issues in the old code, where, essentially, the recipe builder depended on physical details such as vector register size. One part that has changed a lot here is that I realized that many aspects of building a recipe were being done in different places - for instance, CallingSequenceBuilder added explicit 'skip' bindings to support shuffle recipe (but same skips were not generated for other argument classes). ShuffleRecipeCollector also added its own steps (through the addPulls method), and so did the logic that computed the final recipe array (which added a lot of 'STOP' steps). Now the steps are all computed before hand in ShuffleRecipe::make, passed onto the builder which then puts together the array. >> >> * CalingSequence has been simplified and all the logic for computing offsets have been moved to ShuffleRecipe, since this is where it really belongs (after all, you need this offset info only if you want to play with UniversalInvoker). >> >> * UniversalNativeInvokerImpl and UniversalUpcallHandlerImpl are gone. Instead there's an helper interface called UniversalAdapter which defines how arguments are boxed/unboxed. The specific ABI will provide concrete implementation for these. >> >> * VarargsInvoker has also changed - we used to intercept a vararg call, specialize everything then call ABI again to obtain another MH and then use that. The new code gives up on all that; whenever there's a variadic call, we infer layouts and carriers, create a new calling sequence and then just dispatch the call through a fresh UniversalInvoker instead. Some benchmarks I did with snprintf shows a speedup up to 3x with the new approach (also thanks to the streamlining of the logic surrounding the calling sequence creation). This new technique allowed me to also ditch the various 'impl' classes for VarargsInvoker. >> >> * I removed the unused ShuffleRecipeFieldHelper, too >> >> * I added a new test for 'unaligned' structs being passed as arguments. That is, I realized we never stressed the code path which took into account a mismatch between the alignment of an argument passed on the stack; the shuffle recipe should add one or more SKIP steps if extra padding is needed. Now, since layouts generated by jextract are really derived from clang, clang already inserts all the right amount of padding, so that, basically, the size of a layout is always a multiple of the layout natural alignment. To exercise this path I had to resort to manual layout annotations, use a `long double` (which unfortunately makes the test SysV dependent) to have an alignment of 16 and then omitted padding at the end, so that the ABI would run into troubles. >> >> >> The end result of the cleanup is pleasing - to implement a new ABI, only two classes need to be tinkered with: >> >> 1) you need to implement the SystemABI interface (of course!) >> 2) you need to provide an implementation for CallingSequenceBuilder >> >> Everything else should work (at least using the universal adapters). >> >> >> Webrev: >> >> http://cr.openjdk.java.net/~mcimadamore/panama/abi-cleanup/ >> >> I tested on all platforms and results are all green. >> >> Cheers >> Maurizio >> From maurizio.cimadamore at oracle.com Wed Apr 17 20:09:35 2019 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 17 Apr 2019 20:09:35 +0000 Subject: hg: panama/dev: Automatic merge with default Message-ID: <201904172009.x3HK9a9k012392@aojmv0008.oracle.com> Changeset: c46527a244ab Author: mcimadamore Date: 2019-04-17 22:09 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/c46527a244ab Automatic merge with default ! make/CompileDemos.gmk ! make/CompileJavaModules.gmk ! make/RunTests.gmk ! make/autoconf/basics.m4 ! make/autoconf/spec.gmk.in ! make/conf/jib-profiles.js ! make/test/JtregNativeJdk.gmk ! src/hotspot/share/prims/nativeLookup.cpp ! src/hotspot/share/runtime/init.cpp - src/jdk.accessibility/windows/native/common/AccessBridgeStatusWindow.RC - src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Pool.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/UnsafeAccess.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/util/UnsafeAccess.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/UnsafeAccess.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/NodeCostDumpUtil.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/UnsafeAccess.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.word/src/org/graalvm/compiler/word/UnsafeAccess.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractModuleIndexWriter.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractPackageIndexWriter.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllClassesFrameWriter.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/FrameOutputWriter.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleFrameWriter.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleIndexFrameWriter.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModulePackageIndexFrameWriter.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageFrameWriter.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageIndexFrameWriter.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/external/jquery/jquery.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-bg_glass_65_dadada_1x400.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-bg_glass_75_dadada_1x400.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-bg_glass_95_fef1ec_1x400.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-icons_222222_256x240.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-icons_2e83ff_256x240.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-icons_454545_256x240.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-icons_888888_256x240.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-icons_cd0a0a_256x240.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-3.3.1.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-migrate-3.0.1.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-ui.css - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-ui.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-ui.min.css - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-ui.min.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-ui.structure.css - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-ui.structure.min.css - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jszip-utils/dist/jszip-utils-ie.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jszip-utils/dist/jszip-utils-ie.min.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jszip-utils/dist/jszip-utils.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jszip-utils/dist/jszip-utils.min.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jszip/dist/jszip.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jszip/dist/jszip.min.js - test/hotspot/jtreg/applications/ctw/modules/jdk_incubator_httpclient.java - test/hotspot/jtreg/applications/ctw/modules/jdk_packager.java - test/hotspot/jtreg/applications/ctw/modules/jdk_packager_services.java - test/hotspot/jtreg/runtime/ErrorHandling/ExplicitArithmeticCheck.java - test/hotspot/jtreg/runtime/Thread/MonitorCacheMaybeExpand_DeadLock.java - test/hotspot/jtreg/runtime/containers/cgroup/PlainRead.java - test/hotspot/jtreg/runtime/containers/docker/AttemptOOM.java - test/hotspot/jtreg/runtime/containers/docker/CheckContainerized.java - test/hotspot/jtreg/runtime/containers/docker/DockerBasicTest.java - test/hotspot/jtreg/runtime/containers/docker/HelloDocker.java - test/hotspot/jtreg/runtime/containers/docker/JfrReporter.java - test/hotspot/jtreg/runtime/containers/docker/PrintContainerInfo.java - test/hotspot/jtreg/runtime/containers/docker/TEST.properties - test/hotspot/jtreg/runtime/containers/docker/TestCPUAwareness.java - test/hotspot/jtreg/runtime/containers/docker/TestCPUSets.java - test/hotspot/jtreg/runtime/containers/docker/TestJFREvents.java - test/hotspot/jtreg/runtime/containers/docker/TestMemoryAwareness.java - test/hotspot/jtreg/runtime/containers/docker/TestMisc.java - test/hotspot/jtreg/runtime/interpreter/WideStrictInline.java - test/hotspot/jtreg/runtime/noClassDefFoundMsg/NoClassDefFoundMsg.java - test/hotspot/jtreg/runtime/noClassDefFoundMsg/libNoClassDefFoundMsg.c - test/hotspot/jtreg/serviceability/dcmd/framework/TestJavaProcess.java - test/jdk/sun/security/ssl/rsa/BrokenRSAPrivateCrtKey.java - test/jdk/sun/security/tools/jarsigner/AlgOptions.sh - test/jdk/sun/security/tools/jarsigner/PercentSign.sh - test/jdk/sun/security/tools/jarsigner/certpolicy.sh - test/jdk/sun/security/tools/jarsigner/checkusage.sh - test/jdk/sun/security/tools/jarsigner/collator.sh - test/jdk/sun/security/tools/jarsigner/concise_jarsigner.sh - test/jdk/sun/security/tools/jarsigner/crl.sh - test/jdk/sun/security/tools/jarsigner/default_options.sh - test/jdk/sun/security/tools/jarsigner/diffend.sh - test/jdk/sun/security/tools/jarsigner/ec.sh - test/jdk/sun/security/tools/jarsigner/emptymanifest.sh - test/jdk/sun/security/tools/jarsigner/jvindex.sh - test/jdk/sun/security/tools/jarsigner/nameclash.sh - test/jdk/sun/security/tools/jarsigner/newsize7.sh - test/jdk/sun/security/tools/jarsigner/oldsig.sh - test/jdk/sun/security/tools/jarsigner/onlymanifest.sh - test/jdk/sun/security/tools/jarsigner/passtype.sh - test/jdk/sun/security/tools/jarsigner/samename.sh - test/jdk/sun/security/tools/jarsigner/weaksize.sh - test/jdk/sun/security/tools/keytool/CloneKeyAskPassword.sh - test/jdk/sun/security/tools/keytool/NoExtNPE.sh - test/jdk/sun/security/tools/keytool/SecretKeyKS.sh - test/jdk/sun/security/tools/keytool/StandardAlgName.sh - test/jdk/sun/security/tools/keytool/StorePasswordsByShell.sh - test/jdk/sun/security/tools/keytool/default_options.sh - test/jdk/sun/security/tools/keytool/emptysubject.sh - test/jdk/sun/security/tools/keytool/file-in-help.sh - test/jdk/sun/security/tools/keytool/i18n.sh - test/jdk/sun/security/tools/keytool/importreadall.sh - test/jdk/sun/security/tools/keytool/keyalg.sh - test/jdk/sun/security/tools/keytool/newhelp.sh - test/jdk/sun/security/tools/keytool/resource.sh - test/jdk/sun/security/tools/keytool/selfissued.sh - test/jdk/sun/security/tools/keytool/trystore.sh - test/langtools/jdk/javadoc/doclet/AccessFrameTitle/AccessFrameTitle.java - test/langtools/jdk/javadoc/doclet/AccessFrameTitle/p1/C1.java - test/langtools/jdk/javadoc/doclet/AccessFrameTitle/p2/C2.java - test/langtools/jdk/javadoc/doclet/PackagesHeader/PackagesHeader.java - test/langtools/jdk/javadoc/doclet/PackagesHeader/p1/C1.java - test/langtools/jdk/javadoc/doclet/PackagesHeader/p2/C2.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/TestClassDocCatalog.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg1/EmptyAnnotation.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg1/EmptyClass.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg1/EmptyEnum.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg1/EmptyError.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg1/EmptyException.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg1/EmptyInterface.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg2/EmptyAnnotation.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg2/EmptyClass.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg2/EmptyEnum.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg2/EmptyError.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg2/EmptyException.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg2/EmptyInterface.java - test/langtools/jdk/javadoc/doclet/testFramesNoFrames/TestFramesNoFrames.java - test/langtools/jdk/javadoc/doclet/testWindowTitle/TestWindowTitle.java - test/langtools/jdk/javadoc/doclet/testWindowTitle/p1/C1.java - test/langtools/jdk/javadoc/doclet/testWindowTitle/p2/C2.java From maurizio.cimadamore at oracle.com Wed Apr 17 20:10:00 2019 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 17 Apr 2019 20:10:00 +0000 Subject: hg: panama/dev: Automatic merge with default Message-ID: <201904172010.x3HKA0S0012958@aojmv0008.oracle.com> Changeset: 6a5a364b9dda Author: mcimadamore Date: 2019-04-17 22:09 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/6a5a364b9dda Automatic merge with default ! make/CompileJavaModules.gmk - src/jdk.accessibility/windows/native/common/AccessBridgeStatusWindow.RC - src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/Pool.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/UnsafeAccess.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/util/UnsafeAccess.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/UnsafeAccess.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/NodeCostDumpUtil.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/UnsafeAccess.java - src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.word/src/org/graalvm/compiler/word/UnsafeAccess.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractModuleIndexWriter.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AbstractPackageIndexWriter.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/AllClassesFrameWriter.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/FrameOutputWriter.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleFrameWriter.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModuleIndexFrameWriter.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ModulePackageIndexFrameWriter.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageFrameWriter.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/PackageIndexFrameWriter.java - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/external/jquery/jquery.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-bg_glass_55_fbf9ee_1x400.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-bg_glass_65_dadada_1x400.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-bg_glass_75_dadada_1x400.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-bg_glass_75_e6e6e6_1x400.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-bg_glass_95_fef1ec_1x400.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-bg_highlight-soft_75_cccccc_1x100.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-icons_222222_256x240.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-icons_2e83ff_256x240.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-icons_454545_256x240.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-icons_888888_256x240.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/images/ui-icons_cd0a0a_256x240.png - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-3.3.1.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-migrate-3.0.1.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-ui.css - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-ui.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-ui.min.css - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-ui.min.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-ui.structure.css - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jquery-ui.structure.min.css - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jszip-utils/dist/jszip-utils-ie.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jszip-utils/dist/jszip-utils-ie.min.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jszip-utils/dist/jszip-utils.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jszip-utils/dist/jszip-utils.min.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jszip/dist/jszip.js - src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/jquery/jszip/dist/jszip.min.js - test/hotspot/jtreg/applications/ctw/modules/jdk_incubator_httpclient.java - test/hotspot/jtreg/applications/ctw/modules/jdk_packager.java - test/hotspot/jtreg/applications/ctw/modules/jdk_packager_services.java - test/hotspot/jtreg/runtime/ErrorHandling/ExplicitArithmeticCheck.java - test/hotspot/jtreg/runtime/Thread/MonitorCacheMaybeExpand_DeadLock.java - test/hotspot/jtreg/runtime/containers/cgroup/PlainRead.java - test/hotspot/jtreg/runtime/containers/docker/AttemptOOM.java - test/hotspot/jtreg/runtime/containers/docker/CheckContainerized.java - test/hotspot/jtreg/runtime/containers/docker/DockerBasicTest.java - test/hotspot/jtreg/runtime/containers/docker/HelloDocker.java - test/hotspot/jtreg/runtime/containers/docker/JfrReporter.java - test/hotspot/jtreg/runtime/containers/docker/PrintContainerInfo.java - test/hotspot/jtreg/runtime/containers/docker/TEST.properties - test/hotspot/jtreg/runtime/containers/docker/TestCPUAwareness.java - test/hotspot/jtreg/runtime/containers/docker/TestCPUSets.java - test/hotspot/jtreg/runtime/containers/docker/TestJFREvents.java - test/hotspot/jtreg/runtime/containers/docker/TestMemoryAwareness.java - test/hotspot/jtreg/runtime/containers/docker/TestMisc.java - test/hotspot/jtreg/runtime/interpreter/WideStrictInline.java - test/hotspot/jtreg/runtime/noClassDefFoundMsg/NoClassDefFoundMsg.java - test/hotspot/jtreg/runtime/noClassDefFoundMsg/libNoClassDefFoundMsg.c - test/hotspot/jtreg/serviceability/dcmd/framework/TestJavaProcess.java - test/jdk/sun/security/ssl/rsa/BrokenRSAPrivateCrtKey.java - test/jdk/sun/security/tools/jarsigner/AlgOptions.sh - test/jdk/sun/security/tools/jarsigner/PercentSign.sh - test/jdk/sun/security/tools/jarsigner/certpolicy.sh - test/jdk/sun/security/tools/jarsigner/checkusage.sh - test/jdk/sun/security/tools/jarsigner/collator.sh - test/jdk/sun/security/tools/jarsigner/concise_jarsigner.sh - test/jdk/sun/security/tools/jarsigner/crl.sh - test/jdk/sun/security/tools/jarsigner/default_options.sh - test/jdk/sun/security/tools/jarsigner/diffend.sh - test/jdk/sun/security/tools/jarsigner/ec.sh - test/jdk/sun/security/tools/jarsigner/emptymanifest.sh - test/jdk/sun/security/tools/jarsigner/jvindex.sh - test/jdk/sun/security/tools/jarsigner/nameclash.sh - test/jdk/sun/security/tools/jarsigner/newsize7.sh - test/jdk/sun/security/tools/jarsigner/oldsig.sh - test/jdk/sun/security/tools/jarsigner/onlymanifest.sh - test/jdk/sun/security/tools/jarsigner/passtype.sh - test/jdk/sun/security/tools/jarsigner/samename.sh - test/jdk/sun/security/tools/jarsigner/weaksize.sh - test/jdk/sun/security/tools/keytool/CloneKeyAskPassword.sh - test/jdk/sun/security/tools/keytool/NoExtNPE.sh - test/jdk/sun/security/tools/keytool/SecretKeyKS.sh - test/jdk/sun/security/tools/keytool/StandardAlgName.sh - test/jdk/sun/security/tools/keytool/StorePasswordsByShell.sh - test/jdk/sun/security/tools/keytool/default_options.sh - test/jdk/sun/security/tools/keytool/emptysubject.sh - test/jdk/sun/security/tools/keytool/file-in-help.sh - test/jdk/sun/security/tools/keytool/i18n.sh - test/jdk/sun/security/tools/keytool/importreadall.sh - test/jdk/sun/security/tools/keytool/keyalg.sh - test/jdk/sun/security/tools/keytool/newhelp.sh - test/jdk/sun/security/tools/keytool/resource.sh - test/jdk/sun/security/tools/keytool/selfissued.sh - test/jdk/sun/security/tools/keytool/trystore.sh - test/langtools/jdk/javadoc/doclet/AccessFrameTitle/AccessFrameTitle.java - test/langtools/jdk/javadoc/doclet/AccessFrameTitle/p1/C1.java - test/langtools/jdk/javadoc/doclet/AccessFrameTitle/p2/C2.java - test/langtools/jdk/javadoc/doclet/PackagesHeader/PackagesHeader.java - test/langtools/jdk/javadoc/doclet/PackagesHeader/p1/C1.java - test/langtools/jdk/javadoc/doclet/PackagesHeader/p2/C2.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/TestClassDocCatalog.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg1/EmptyAnnotation.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg1/EmptyClass.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg1/EmptyEnum.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg1/EmptyError.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg1/EmptyException.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg1/EmptyInterface.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg2/EmptyAnnotation.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg2/EmptyClass.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg2/EmptyEnum.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg2/EmptyError.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg2/EmptyException.java - test/langtools/jdk/javadoc/doclet/testClassDocCatalog/pkg2/EmptyInterface.java - test/langtools/jdk/javadoc/doclet/testFramesNoFrames/TestFramesNoFrames.java - test/langtools/jdk/javadoc/doclet/testWindowTitle/TestWindowTitle.java - test/langtools/jdk/javadoc/doclet/testWindowTitle/p1/C1.java - test/langtools/jdk/javadoc/doclet/testWindowTitle/p2/C2.java From jbvernee at xs4all.nl Wed Apr 17 20:41:46 2019 From: jbvernee at xs4all.nl (Jorn Vernee) Date: Wed, 17 Apr 2019 22:41:46 +0200 Subject: [foreign] RFR - abi cleanup In-Reply-To: <6ffd054d-135d-d61a-59c8-3669175eb494@oracle.com> References: <6ffd054d-135d-d61a-59c8-3669175eb494@oracle.com> Message-ID: <73d41b1b2c1a7450ef79666cd21abb36@xs4all.nl> > (Apologies for the lack of jbs issue, jbs seems to be down at the > moment) I noticed this as well :) Seems to be back up now though. - Since StandardCall was renamed, should StandardCallTest be renamed to CallingSequenceBuilderImplTest (or something) as well? Otherwise this looks good. Jorn Maurizio Cimadamore schreef op 2019-04-17 19:11: > (Apologies for the lack of jbs issue, jbs seems to be down at the > moment) > > In the past few days I've been looking hard at ways to simplify the > ABI code. This was something we needed to look at, after the Windows > integration, which introduced a lot of duplicated code (and that was a > deliberate choice, in order to minimize complexity). I think time has > come to look at the impl again. I've consolidated the following areas: > > * CallingSequence/CallingSequenceBuilder - now CallingSequenceBuilder > is a proper abstract class, which is ABI agnostic, and can be used by > a client to put together a calling sequence, given a 'Function'. This > is perhaps the part of the code that has changed the most. Note that > I've removed the split between Argument (ABI-independent) and > ArgumentInfo (ABI-dependent); now ArgumentInfo *is a* Argument, which > simplifies the builder flow significantly. > > * Another area that has changed a lot is the logic for putting > together ShuffleRecipe - there's now a new (and much simpler) builder. > Again, the code removes many indirection, and it also fixes some of > the issues in the old code, where, essentially, the recipe builder > depended on physical details such as vector register size. One part > that has changed a lot here is that I realized that many aspects of > building a recipe were being done in different places - for instance, > CallingSequenceBuilder added explicit 'skip' bindings to support > shuffle recipe (but same skips were not generated for other argument > classes). ShuffleRecipeCollector also added its own steps (through the > addPulls method), and so did the logic that computed the final recipe > array (which added a lot of 'STOP' steps). Now the steps are all > computed before hand in? ShuffleRecipe::make, passed onto the builder > which then puts together the array. > > * CalingSequence has been simplified and all the logic for computing > offsets have been moved to ShuffleRecipe, since this is where it > really belongs (after all, you need this offset info only if you want > to play with UniversalInvoker). > > * UniversalNativeInvokerImpl and UniversalUpcallHandlerImpl are gone. > Instead there's an helper interface called UniversalAdapter which > defines how arguments are boxed/unboxed. The specific ABI will provide > concrete implementation for these. > > * VarargsInvoker has also changed - we used to intercept a vararg > call, specialize everything then call ABI again to obtain another MH > and then use that. The new code gives up on all that; whenever there's > a variadic call, we infer layouts and carriers, create a new calling > sequence and then just dispatch the call through a fresh > UniversalInvoker instead. Some benchmarks I did with snprintf shows a > speedup up to 3x with the new approach (also thanks to the > streamlining of the logic surrounding the calling sequence creation). > This new technique allowed me to also ditch the various 'impl' classes > for VarargsInvoker. > > * I removed the unused ShuffleRecipeFieldHelper, too > > * I added a new test for 'unaligned' structs being passed as > arguments. That is, I realized we never stressed the code path which > took into account a mismatch between the alignment of an argument > passed on the stack; the shuffle recipe should add one or more SKIP > steps if extra padding is needed. Now, since layouts generated by > jextract are really derived from clang, clang already inserts all the > right amount of padding, so that, basically, the size of a layout is > always a multiple of the layout natural alignment. To exercise this > path I had to resort to manual layout annotations, use a `long double` > (which unfortunately makes the test SysV dependent) to have an > alignment of 16 and then omitted padding at the end, so that the ABI > would run into troubles. > > > The end result of the cleanup is pleasing - to implement a new ABI, > only two classes need to be tinkered with: > > 1) you need to implement the SystemABI interface (of course!) > 2) you need to provide an implementation for CallingSequenceBuilder > > Everything else should work (at least using the universal adapters). > > > Webrev: > > http://cr.openjdk.java.net/~mcimadamore/panama/abi-cleanup/ > > I tested on all platforms and results are all green. > > Cheers > Maurizio From jbvernee at xs4all.nl Wed Apr 17 21:05:01 2019 From: jbvernee at xs4all.nl (Jorn Vernee) Date: Wed, 17 Apr 2019 23:05:01 +0200 Subject: [foreign] RFR - abi cleanup In-Reply-To: References: <6ffd054d-135d-d61a-59c8-3669175eb494@oracle.com> <613A8D34-C791-491E-9630-7871CE01CF9D@oracle.com> Message-ID: <30de4f30530e9e7183cfb2b769113daf@xs4all.nl> Most of what SystemABI does currently, e.g. selecting which invoker to use, and choosing argument boxing/unboxing logic is geared towards a specific calling convention. So lumping together calling convention and SystemABI seems like a logical move. But, maybe the name 'SystemABI' isn't so great, since it's practically an implementation of a calling convention. We could also rename SystemABI to CallingConvention. Jorn Maurizio Cimadamore schreef op 2019-04-17 22:08: > On 17/04/2019 21:02, Henry Jen wrote: >> Overall looks good, I think it?s a good improvement. >> >> I am less keen for the rename of StandardCall to >> CallingSequenceBuilderImpl. Each implementation of >> CallingSequenceBuilder is a calling convention, thus I prefer to have >> named after specific calling convention rather than a generic name. >> Although we don?t support other calling conventions and not seeing >> much evidence of the needs yet. > > I take your point - I'd say less change names when we'll actually need > to have multiple builders in the same ABI. As we discussed at some > point, we could also expose different calling convention as separate > ABIs and remove the calling convention business entirely; this is a > bit of an unorthodox approach, but it's a lumping move that gives a > lot of flexibility. > > Maurizio > >> >> Cheers, >> Henry >> >> >>> On Apr 17, 2019, at 10:11 AM, Maurizio Cimadamore >>> wrote: >>> >>> (Apologies for the lack of jbs issue, jbs seems to be down at the >>> moment) >>> >>> In the past few days I've been looking hard at ways to simplify the >>> ABI code. This was something we needed to look at, after the Windows >>> integration, which introduced a lot of duplicated code (and that was >>> a deliberate choice, in order to minimize complexity). I think time >>> has come to look at the impl again. I've consolidated the following >>> areas: >>> >>> * CallingSequence/CallingSequenceBuilder - now CallingSequenceBuilder >>> is a proper abstract class, which is ABI agnostic, and can be used by >>> a client to put together a calling sequence, given a 'Function'. This >>> is perhaps the part of the code that has changed the most. Note that >>> I've removed the split between Argument (ABI-independent) and >>> ArgumentInfo (ABI-dependent); now ArgumentInfo *is a* Argument, which >>> simplifies the builder flow significantly. >>> >>> * Another area that has changed a lot is the logic for putting >>> together ShuffleRecipe - there's now a new (and much simpler) >>> builder. Again, the code removes many indirection, and it also fixes >>> some of the issues in the old code, where, essentially, the recipe >>> builder depended on physical details such as vector register size. >>> One part that has changed a lot here is that I realized that many >>> aspects of building a recipe were being done in different places - >>> for instance, CallingSequenceBuilder added explicit 'skip' bindings >>> to support shuffle recipe (but same skips were not generated for >>> other argument classes). ShuffleRecipeCollector also added its own >>> steps (through the addPulls method), and so did the logic that >>> computed the final recipe array (which added a lot of 'STOP' steps). >>> Now the steps are all computed before hand in ShuffleRecipe::make, >>> passed onto the builder which then puts together the array. >>> >>> * CalingSequence has been simplified and all the logic for computing >>> offsets have been moved to ShuffleRecipe, since this is where it >>> really belongs (after all, you need this offset info only if you want >>> to play with UniversalInvoker). >>> >>> * UniversalNativeInvokerImpl and UniversalUpcallHandlerImpl are gone. >>> Instead there's an helper interface called UniversalAdapter which >>> defines how arguments are boxed/unboxed. The specific ABI will >>> provide concrete implementation for these. >>> >>> * VarargsInvoker has also changed - we used to intercept a vararg >>> call, specialize everything then call ABI again to obtain another MH >>> and then use that. The new code gives up on all that; whenever >>> there's a variadic call, we infer layouts and carriers, create a new >>> calling sequence and then just dispatch the call through a fresh >>> UniversalInvoker instead. Some benchmarks I did with snprintf shows a >>> speedup up to 3x with the new approach (also thanks to the >>> streamlining of the logic surrounding the calling sequence creation). >>> This new technique allowed me to also ditch the various 'impl' >>> classes for VarargsInvoker. >>> >>> * I removed the unused ShuffleRecipeFieldHelper, too >>> >>> * I added a new test for 'unaligned' structs being passed as >>> arguments. That is, I realized we never stressed the code path which >>> took into account a mismatch between the alignment of an argument >>> passed on the stack; the shuffle recipe should add one or more SKIP >>> steps if extra padding is needed. Now, since layouts generated by >>> jextract are really derived from clang, clang already inserts all the >>> right amount of padding, so that, basically, the size of a layout is >>> always a multiple of the layout natural alignment. To exercise this >>> path I had to resort to manual layout annotations, use a `long >>> double` (which unfortunately makes the test SysV dependent) to have >>> an alignment of 16 and then omitted padding at the end, so that the >>> ABI would run into troubles. >>> >>> >>> The end result of the cleanup is pleasing - to implement a new ABI, >>> only two classes need to be tinkered with: >>> >>> 1) you need to implement the SystemABI interface (of course!) >>> 2) you need to provide an implementation for CallingSequenceBuilder >>> >>> Everything else should work (at least using the universal adapters). >>> >>> >>> Webrev: >>> >>> http://cr.openjdk.java.net/~mcimadamore/panama/abi-cleanup/ >>> >>> I tested on all platforms and results are all green. >>> >>> Cheers >>> Maurizio >>> From maurizio.cimadamore at oracle.com Thu Apr 18 14:37:32 2019 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Thu, 18 Apr 2019 14:37:32 +0000 Subject: hg: panama/dev: 8222734: ABI cleanup Message-ID: <201904181437.x3IEbXQH022532@aojmv0008.oracle.com> Changeset: 3a85acb09a77 Author: mcimadamore Date: 2019-04-18 15:37 +0100 URL: http://hg.openjdk.java.net/panama/dev/rev/3a85acb09a77 8222734: ABI cleanup Reviewed-by: hjen ! src/java.base/share/classes/jdk/internal/foreign/Util.java ! src/java.base/share/classes/jdk/internal/foreign/abi/Argument.java ! src/java.base/share/classes/jdk/internal/foreign/abi/ArgumentBinding.java ! src/java.base/share/classes/jdk/internal/foreign/abi/CallingSequence.java + src/java.base/share/classes/jdk/internal/foreign/abi/CallingSequenceBuilder.java ! src/java.base/share/classes/jdk/internal/foreign/abi/DirectSignatureShuffler.java ! src/java.base/share/classes/jdk/internal/foreign/abi/ShuffleRecipe.java ! src/java.base/share/classes/jdk/internal/foreign/abi/ShuffleRecipeBuilder.java ! src/java.base/share/classes/jdk/internal/foreign/abi/ShuffleRecipeClass.java - src/java.base/share/classes/jdk/internal/foreign/abi/ShuffleRecipeFieldHelper.java - src/java.base/share/classes/jdk/internal/foreign/abi/ShuffleRecipeOperationCollector.java ! src/java.base/share/classes/jdk/internal/foreign/abi/Storage.java ! src/java.base/share/classes/jdk/internal/foreign/abi/StorageClass.java + src/java.base/share/classes/jdk/internal/foreign/abi/UniversalAdapter.java ! src/java.base/share/classes/jdk/internal/foreign/abi/UniversalNativeInvoker.java ! src/java.base/share/classes/jdk/internal/foreign/abi/UniversalUpcallHandler.java ! src/java.base/share/classes/jdk/internal/foreign/abi/VarargsInvoker.java - src/java.base/share/classes/jdk/internal/foreign/abi/x64/CallingSequenceBuilder.java - src/java.base/share/classes/jdk/internal/foreign/abi/x64/SharedConstants.java + src/java.base/share/classes/jdk/internal/foreign/abi/x64/SharedUtils.java + src/java.base/share/classes/jdk/internal/foreign/abi/x64/sysv/CallingSequenceBuilderImpl.java - src/java.base/share/classes/jdk/internal/foreign/abi/x64/sysv/Constants.java - src/java.base/share/classes/jdk/internal/foreign/abi/x64/sysv/StandardCall.java ! src/java.base/share/classes/jdk/internal/foreign/abi/x64/sysv/SysVx64ABI.java - src/java.base/share/classes/jdk/internal/foreign/abi/x64/sysv/UniversalNativeInvokerImpl.java - src/java.base/share/classes/jdk/internal/foreign/abi/x64/sysv/UniversalUpcallHandlerImpl.java - src/java.base/share/classes/jdk/internal/foreign/abi/x64/sysv/VarargsInvokerImpl.java ! src/java.base/share/classes/jdk/internal/foreign/abi/x64/windows/CallingSequenceBuilderImpl.java - src/java.base/share/classes/jdk/internal/foreign/abi/x64/windows/Constants.java - src/java.base/share/classes/jdk/internal/foreign/abi/x64/windows/UniversalNativeInvokerImpl.java - src/java.base/share/classes/jdk/internal/foreign/abi/x64/windows/UniversalUpcallHandlerImpl.java - src/java.base/share/classes/jdk/internal/foreign/abi/x64/windows/VarargsInvokerImpl.java ! src/java.base/share/classes/jdk/internal/foreign/abi/x64/windows/Windowsx64ABI.java + test/jdk/java/foreign/UnalignedStructTest.java + test/jdk/java/foreign/abi/x64/sysv/CallingSequenceTest.java - test/jdk/java/foreign/abi/x64/sysv/StandardCallTest.java + test/jdk/java/foreign/libUnalignedStruct.c From maurizio.cimadamore at oracle.com Thu Apr 18 15:24:20 2019 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Thu, 18 Apr 2019 16:24:20 +0100 Subject: [foreign] RFR - abi cleanup In-Reply-To: <6ffd054d-135d-d61a-59c8-3669175eb494@oracle.com> References: <6ffd054d-135d-d61a-59c8-3669175eb494@oracle.com> Message-ID: I've pushed this - and renamed the StandardCallTest to CallingSequenceTest. (btw, I think we should try and port that test to Windows too) Maurizio On 17/04/2019 18:11, Maurizio Cimadamore wrote: > (Apologies for the lack of jbs issue, jbs seems to be down at the moment) > > In the past few days I've been looking hard at ways to simplify the > ABI code. This was something we needed to look at, after the Windows > integration, which introduced a lot of duplicated code (and that was a > deliberate choice, in order to minimize complexity). I think time has > come to look at the impl again. I've consolidated the following areas: > > * CallingSequence/CallingSequenceBuilder - now CallingSequenceBuilder > is a proper abstract class, which is ABI agnostic, and can be used by > a client to put together a calling sequence, given a 'Function'. This > is perhaps the part of the code that has changed the most. Note that > I've removed the split between Argument (ABI-independent) and > ArgumentInfo (ABI-dependent); now ArgumentInfo *is a* Argument, which > simplifies the builder flow significantly. > > * Another area that has changed a lot is the logic for putting > together ShuffleRecipe - there's now a new (and much simpler) builder. > Again, the code removes many indirection, and it also fixes some of > the issues in the old code, where, essentially, the recipe builder > depended on physical details such as vector register size. One part > that has changed a lot here is that I realized that many aspects of > building a recipe were being done in different places - for instance, > CallingSequenceBuilder added explicit 'skip' bindings to support > shuffle recipe (but same skips were not generated for other argument > classes). ShuffleRecipeCollector also added its own steps (through the > addPulls method), and so did the logic that computed the final recipe > array (which added a lot of 'STOP' steps). Now the steps are all > computed before hand in? ShuffleRecipe::make, passed onto the builder > which then puts together the array. > > * CalingSequence has been simplified and all the logic for computing > offsets have been moved to ShuffleRecipe, since this is where it > really belongs (after all, you need this offset info only if you want > to play with UniversalInvoker). > > * UniversalNativeInvokerImpl and UniversalUpcallHandlerImpl are gone. > Instead there's an helper interface called UniversalAdapter which > defines how arguments are boxed/unboxed. The specific ABI will provide > concrete implementation for these. > > * VarargsInvoker has also changed - we used to intercept a vararg > call, specialize everything then call ABI again to obtain another MH > and then use that. The new code gives up on all that; whenever there's > a variadic call, we infer layouts and carriers, create a new calling > sequence and then just dispatch the call through a fresh > UniversalInvoker instead. Some benchmarks I did with snprintf shows a > speedup up to 3x with the new approach (also thanks to the > streamlining of the logic surrounding the calling sequence creation). > This new technique allowed me to also ditch the various 'impl' classes > for VarargsInvoker. > > * I removed the unused ShuffleRecipeFieldHelper, too > > * I added a new test for 'unaligned' structs being passed as > arguments. That is, I realized we never stressed the code path which > took into account a mismatch between the alignment of an argument > passed on the stack; the shuffle recipe should add one or more SKIP > steps if extra padding is needed. Now, since layouts generated by > jextract are really derived from clang, clang already inserts all the > right amount of padding, so that, basically, the size of a layout is > always a multiple of the layout natural alignment. To exercise this > path I had to resort to manual layout annotations, use a `long double` > (which unfortunately makes the test SysV dependent) to have an > alignment of 16 and then omitted padding at the end, so that the ABI > would run into troubles. > > > The end result of the cleanup is pleasing - to implement a new ABI, > only two classes need to be tinkered with: > > 1) you need to implement the SystemABI interface (of course!) > 2) you need to provide an implementation for CallingSequenceBuilder > > Everything else should work (at least using the universal adapters). > > > Webrev: > > http://cr.openjdk.java.net/~mcimadamore/panama/abi-cleanup/ > > I tested on all platforms and results are all green. > > Cheers > Maurizio > From jbvernee at xs4all.nl Thu Apr 18 16:13:37 2019 From: jbvernee at xs4all.nl (Jorn Vernee) Date: Thu, 18 Apr 2019 18:13:37 +0200 Subject: [foreign] RFR - abi cleanup In-Reply-To: References: <6ffd054d-135d-d61a-59c8-3669175eb494@oracle.com> Message-ID: > (btw, I think we should try and port that test to Windows too) I'll take a look at that. Jorn Maurizio Cimadamore schreef op 2019-04-18 17:24: > I've pushed this - and renamed the StandardCallTest to > CallingSequenceTest. > > (btw, I think we should try and port that test to Windows too) > > Maurizio > > On 17/04/2019 18:11, Maurizio Cimadamore wrote: >> (Apologies for the lack of jbs issue, jbs seems to be down at the >> moment) >> >> In the past few days I've been looking hard at ways to simplify the >> ABI code. This was something we needed to look at, after the Windows >> integration, which introduced a lot of duplicated code (and that was a >> deliberate choice, in order to minimize complexity). I think time has >> come to look at the impl again. I've consolidated the following areas: >> >> * CallingSequence/CallingSequenceBuilder - now CallingSequenceBuilder >> is a proper abstract class, which is ABI agnostic, and can be used by >> a client to put together a calling sequence, given a 'Function'. This >> is perhaps the part of the code that has changed the most. Note that >> I've removed the split between Argument (ABI-independent) and >> ArgumentInfo (ABI-dependent); now ArgumentInfo *is a* Argument, which >> simplifies the builder flow significantly. >> >> * Another area that has changed a lot is the logic for putting >> together ShuffleRecipe - there's now a new (and much simpler) builder. >> Again, the code removes many indirection, and it also fixes some of >> the issues in the old code, where, essentially, the recipe builder >> depended on physical details such as vector register size. One part >> that has changed a lot here is that I realized that many aspects of >> building a recipe were being done in different places - for instance, >> CallingSequenceBuilder added explicit 'skip' bindings to support >> shuffle recipe (but same skips were not generated for other argument >> classes). ShuffleRecipeCollector also added its own steps (through the >> addPulls method), and so did the logic that computed the final recipe >> array (which added a lot of 'STOP' steps). Now the steps are all >> computed before hand in? ShuffleRecipe::make, passed onto the builder >> which then puts together the array. >> >> * CalingSequence has been simplified and all the logic for computing >> offsets have been moved to ShuffleRecipe, since this is where it >> really belongs (after all, you need this offset info only if you want >> to play with UniversalInvoker). >> >> * UniversalNativeInvokerImpl and UniversalUpcallHandlerImpl are gone. >> Instead there's an helper interface called UniversalAdapter which >> defines how arguments are boxed/unboxed. The specific ABI will provide >> concrete implementation for these. >> >> * VarargsInvoker has also changed - we used to intercept a vararg >> call, specialize everything then call ABI again to obtain another MH >> and then use that. The new code gives up on all that; whenever there's >> a variadic call, we infer layouts and carriers, create a new calling >> sequence and then just dispatch the call through a fresh >> UniversalInvoker instead. Some benchmarks I did with snprintf shows a >> speedup up to 3x with the new approach (also thanks to the >> streamlining of the logic surrounding the calling sequence creation). >> This new technique allowed me to also ditch the various 'impl' classes >> for VarargsInvoker. >> >> * I removed the unused ShuffleRecipeFieldHelper, too >> >> * I added a new test for 'unaligned' structs being passed as >> arguments. That is, I realized we never stressed the code path which >> took into account a mismatch between the alignment of an argument >> passed on the stack; the shuffle recipe should add one or more SKIP >> steps if extra padding is needed. Now, since layouts generated by >> jextract are really derived from clang, clang already inserts all the >> right amount of padding, so that, basically, the size of a layout is >> always a multiple of the layout natural alignment. To exercise this >> path I had to resort to manual layout annotations, use a `long double` >> (which unfortunately makes the test SysV dependent) to have an >> alignment of 16 and then omitted padding at the end, so that the ABI >> would run into troubles. >> >> >> The end result of the cleanup is pleasing - to implement a new ABI, >> only two classes need to be tinkered with: >> >> 1) you need to implement the SystemABI interface (of course!) >> 2) you need to provide an implementation for CallingSequenceBuilder >> >> Everything else should work (at least using the universal adapters). >> >> >> Webrev: >> >> http://cr.openjdk.java.net/~mcimadamore/panama/abi-cleanup/ >> >> I tested on all platforms and results are all green. >> >> Cheers >> Maurizio >> From maurizio.cimadamore at oracle.com Thu Apr 18 17:53:10 2019 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Thu, 18 Apr 2019 18:53:10 +0100 Subject: Restacking Panama/foreign Message-ID: Fellow citizen of the isthmus, over the last year or so we have covered a lot of ground; many native libraries now work effortlessly with jextract/binder as documented in [1] and also in many of your emails in this very mailing list (thanks!). It is now time to step back and look at what set of features and API we actually want to deliver. One thing that surprised me during these explorations was how _big_ of a design space this actually is. Yes, facilitating native interop has always been the primary motivation behind the Panama effort, but as we kept working on Panama we realized there were more use cases lurking in the shadows and worth thinking about. Along the way, we realized that there are different kinds of Panama clients - those who simply are looking for a JNI replacement (here jextract + binder works pretty well); but there are also the power users who maintain frameworks such as JNR, who would like to maybe take advantage of the performance benefits of the Panama approach, without necessarily having to be coupled to the abstractions put forward by the Panama binder. This observation was the basis of the work on the SystemABI interface late last year (see [5]) which, I think, is a valuable basic building block for building native interop frameworks. In fact, that work was so successful in encapsulating the low level ABI implementation details via the MethodHandle API, that I started to look for other opportunities to play a similar move :-) This made me think about tackling the problem of memory access in a similar fashion. There's a lot of interest around off-heap access that has virtually _little or nothing to do_ with foreign library access (think protocol buffers). These use cases have been traditionally dealt with using either Unsafe.get/put or ByteBuffer (or a combination of both). Needless to say, this has generated a stream of requests for extending and enhancing ByteBuffers in ways that they were never intended to (after all, direct buffers primary design goal is to support NIO). While the current Panama API provides hooks for that (mainly through its ubiquitous Pointer interface), these use cases often call for a simpler and more direct APIs (hence more JIT-friendly) than the one provided by Panama. What if we could encapsulate foreign memory access using VarHandle, in the same way SystemABI uses MethodHandle to encapsulate foreign function calls? As often happens in these cases, after staring at the problem long enough, a much more natural restacking kind of emerges, one in which we break up the monolithic Panama/foreign prototype in a stack of three layers, each cleanly built on top of another. The very first layer is precisely about providing low-level, safe foreign memory interop using VarHandles and an abstraction, called MemoryAddress. The second layer provides low-level foreign function interop using MethodHandles - this layer only deals in Java primitives and MemoryAddress. Finally, as the cherry on top, the third layer will provide all the existing binder-related abstractions on top of the previous layers; that is, this third layer will essentially provide the _same capabilities_ available in the Panama/foreign does today (including jextract), but internally, the implementation will be rebased to work on top of the previous layers. More details about these steps can be found in the document at [2]. So, not only will such a restacking preserve all that's good about the current Panama/foreign binder-based approach - but it would also provide a set of _primitives_ which can be used to access foreign memory/foreign functions in a natural (albeit low level), safe and efficient fashion. Splitting Panama/foreign into 3 steps should also help in terms of delivering these features into an actual Java SE release; while we cannot make any promises in this direction, our new faster cadence model works a lot better with smaller, incremental feature chunks than it does with big bang monolithic features. Over the next few weeks we plan to start creating the branches where the actual work will go. We plan to create three branches, one for each step, and, eventually, garbage-collect the existing Panama/foreign branch. We have an experimental implementation for all the three steps, available at [4] - which can be applied on top of a recent vanilla JDK repo. We will also work towards generating concrete JEPs for each of the steps; the JEP we currently have at [3] is borderline obsolete, and will need to be replaced. Comments welcome. P.S. I'll be gone next week, so it could take me a while to get back to you, but that doesn't mean I'm ignoring feedback :-) Cheers Maurizio (**) [1] - http://hg.openjdk.java.net/panama/dev/raw-file/foreign/doc/panama_foreign.html [2] - http://cr.openjdk.java.net/~mcimadamore/panama/memaccess.html [3] - https://openjdk.java.net/jeps/191 [4] - http://cr.openjdk.java.net/~mcimadamore/panama/memaccess-webrevs/ [5] - https://mail.openjdk.java.net/pipermail/panama-dev/2018-November/003187.html From kishor.kharbas at intel.com Fri Apr 19 02:41:10 2019 From: kishor.kharbas at intel.com (kishor.kharbas at intel.com) Date: Fri, 19 Apr 2019 02:41:10 +0000 Subject: hg: panama/dev: JDK-8222584: [vector] Refactoring api for mask, shuffle creation and move inner class to top-level Message-ID: <201904190241.x3J2fBak008363@aojmv0008.oracle.com> Changeset: 0678bd75278c Author: kkharbas Date: 2019-04-18 17:01 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/0678bd75278c JDK-8222584: [vector] Refactoring api for mask, shuffle creation and move inner class to top-level Summary: Refactoring api for mask, shuffle creation and move inner classes to top-level Reviewed-by: briangoetz, vlivanov ! src/hotspot/share/classfile/vmSymbols.hpp ! 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/Byte128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorIntrinsics.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-Vector.java.template ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-VectorBits.java.template ! test/jdk/jdk/incubator/vector/AddTest.java ! test/jdk/jdk/incubator/vector/Byte128VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Byte128VectorTests.java ! test/jdk/jdk/incubator/vector/Byte256VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Byte256VectorTests.java ! test/jdk/jdk/incubator/vector/Byte512VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Byte512VectorTests.java ! test/jdk/jdk/incubator/vector/Byte64VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Byte64VectorTests.java ! test/jdk/jdk/incubator/vector/ByteMaxVectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/ByteMaxVectorTests.java ! test/jdk/jdk/incubator/vector/CovarOverrideTest.java ! test/jdk/jdk/incubator/vector/Double128VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Double128VectorTests.java ! test/jdk/jdk/incubator/vector/Double256VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Double256VectorTests.java ! test/jdk/jdk/incubator/vector/Double512VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Double512VectorTests.java ! test/jdk/jdk/incubator/vector/Double64VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Double64VectorTests.java ! test/jdk/jdk/incubator/vector/DoubleMaxVectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/DoubleMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Float128VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Float128VectorTests.java ! test/jdk/jdk/incubator/vector/Float256VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Float256VectorTests.java ! test/jdk/jdk/incubator/vector/Float512VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Float512VectorTests.java ! test/jdk/jdk/incubator/vector/Float64VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Float64VectorTests.java ! test/jdk/jdk/incubator/vector/FloatMaxVectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/FloatMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Int128VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Int128VectorTests.java ! test/jdk/jdk/incubator/vector/Int256VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Int256VectorTests.java ! test/jdk/jdk/incubator/vector/Int512VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Int512VectorTests.java ! test/jdk/jdk/incubator/vector/Int64VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Int64VectorTests.java ! test/jdk/jdk/incubator/vector/IntMaxVectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/IntMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Long128VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Long128VectorTests.java ! test/jdk/jdk/incubator/vector/Long256VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Long256VectorTests.java ! test/jdk/jdk/incubator/vector/Long512VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Long512VectorTests.java ! test/jdk/jdk/incubator/vector/Long64VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Long64VectorTests.java ! test/jdk/jdk/incubator/vector/LongMaxVectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/LongMaxVectorTests.java ! test/jdk/jdk/incubator/vector/MethodOverideTest.java ! test/jdk/jdk/incubator/vector/PreferredSpeciesTest.java ! test/jdk/jdk/incubator/vector/Short128VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Short128VectorTests.java ! test/jdk/jdk/incubator/vector/Short256VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Short256VectorTests.java ! test/jdk/jdk/incubator/vector/Short512VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Short512VectorTests.java ! test/jdk/jdk/incubator/vector/Short64VectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/Short64VectorTests.java ! test/jdk/jdk/incubator/vector/ShortMaxVectorLoadStoreTests.java ! test/jdk/jdk/incubator/vector/ShortMaxVectorTests.java ! test/jdk/jdk/incubator/vector/VectorArrays.java ! test/jdk/jdk/incubator/vector/VectorHash.java ! test/jdk/jdk/incubator/vector/VectorReshapeTests.java ! test/jdk/jdk/incubator/vector/VectorRuns.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Byte128Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Byte256Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Byte512Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Byte64Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/ByteMaxVector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Double128Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Double256Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Double512Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Double64Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/DoubleMaxVector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Float128Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Float256Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Float512Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Float64Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/FloatMaxVector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Int128Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Int256Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Int512Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Int64Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/IntMaxVector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Long128Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Long256Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Long512Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Long64Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/LongMaxVector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Short128Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Short256Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Short512Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Short64Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/ShortMaxVector.java ! test/jdk/jdk/incubator/vector/templates/Kernel-Binary-Masked-op.template ! test/jdk/jdk/incubator/vector/templates/Kernel-Blend-op.template ! test/jdk/jdk/incubator/vector/templates/Kernel-BoolReduction-op.template ! test/jdk/jdk/incubator/vector/templates/Kernel-Rearrange.template ! test/jdk/jdk/incubator/vector/templates/Kernel-Shift-Masked-op.template ! test/jdk/jdk/incubator/vector/templates/Kernel-Ternary-Masked-op.template ! test/jdk/jdk/incubator/vector/templates/Kernel-Unary-Masked-op.template ! test/jdk/jdk/incubator/vector/templates/Perf-Compare.template ! test/jdk/jdk/incubator/vector/templates/Perf-header.template ! test/jdk/jdk/incubator/vector/templates/Unit-Compare.template ! test/jdk/jdk/incubator/vector/templates/Unit-header.template ! test/jdk/jdk/incubator/vector/templates/X-LoadStoreTest.java.template From maurizio.cimadamore at oracle.com Fri Apr 19 02:44:57 2019 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 19 Apr 2019 02:44:57 +0000 Subject: hg: panama/dev: Automatic merge with vectorIntrinsics Message-ID: <201904190244.x3J2iwER011041@aojmv0008.oracle.com> Changeset: 096f30dfdbbc Author: mcimadamore Date: 2019-04-19 04:44 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/096f30dfdbbc Automatic merge with vectorIntrinsics From kishor.kharbas at intel.com Fri Apr 19 06:49:37 2019 From: kishor.kharbas at intel.com (kishor.kharbas at intel.com) Date: Fri, 19 Apr 2019 06:49:37 +0000 Subject: hg: panama/dev: 8222755: [vector] Add files which were left out while pushing changeset for 8222584 Message-ID: <201904190649.x3J6nbgM016834@aojmv0008.oracle.com> Changeset: c7ae168bfe55 Author: kkharbas Date: 2019-04-18 23:47 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/c7ae168bfe55 8222755: [vector] Add files which were left out while pushing changeset for 8222584 Summary: Add files which were left out while pushing changeset for 8222584 Reviewed-by: briangoetz, vlivanov + src/jdk.incubator.vector/share/classes/jdk/incubator/vector/AbstractSpecies.java + src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorMask.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/VectorSpecies.java From maurizio.cimadamore at oracle.com Fri Apr 19 06:54:21 2019 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 19 Apr 2019 06:54:21 +0000 Subject: hg: panama/dev: Automatic merge with vectorIntrinsics Message-ID: <201904190654.x3J6sLvh019774@aojmv0008.oracle.com> Changeset: 82a6fe9fb2b8 Author: mcimadamore Date: 2019-04-19 08:54 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/82a6fe9fb2b8 Automatic merge with vectorIntrinsics From sundararajan.athijegannathan at oracle.com Fri Apr 19 09:27:28 2019 From: sundararajan.athijegannathan at oracle.com (sundararajan.athijegannathan at oracle.com) Date: Fri, 19 Apr 2019 09:27:28 +0000 Subject: hg: panama/dev: Fixed panama sample issues on Mac. Message-ID: <201904190927.x3J9RSIO011681@aojmv0008.oracle.com> Changeset: eba5ab1f9cd7 Author: sundar Date: 2019-04-19 15:03 +0530 URL: http://hg.openjdk.java.net/panama/dev/rev/eba5ab1f9cd7 Fixed panama sample issues on Mac. ! doc/panama_foreign.html ! doc/panama_foreign.md From brian.goetz at oracle.com Fri Apr 19 11:27:21 2019 From: brian.goetz at oracle.com (Brian Goetz) Date: Fri, 19 Apr 2019 07:27:21 -0400 Subject: [vector] refactoring api for mask, shuffle creation In-Reply-To: References: <2beea67b-1a25-ff92-b838-b4454f9dd90a@oracle.com> <5737CF9B-4EF8-4E64-A5A4-C9AFC48646F2@oracle.com> Message-ID: <12767DA0-8149-4C75-863A-CAE7165EA858@oracle.com> Great. I sent you some minor API comments yesterday, but otherwise I am happy with where the API has landed. This is a much more compact and more approachable API than we started with. > On Apr 16, 2019, at 8:22 PM, Kharbas, Kishor wrote: > > Hi Brian, > > Switching class Species to an interface does not perturb code generation. In the updated patch I have made this change along with moving the new fields to AbstractSpecies. > > New bug created : https://bugs.openjdk.java.net/browse/JDK-8222584 > webrev : http://cr.openjdk.java.net/~kkharbas/vector-api/8222584/webrev.01/ > > If the patch looks good, I will go ahead and push this. > > Thanks, > Kishor > > From: Brian Goetz [mailto:brian.goetz at oracle.com] > Sent: Monday, April 15, 2019 10:46 AM > To: Kharbas, Kishor > Cc: panama-dev at openjdk.java.net; John Rose ; Vladimir Ivanov ; Viswanathan, Sandhya > Subject: Re: [vector] refactoring api for mask, shuffle creation > > This would also be a good time to see if the generated code is perturbed by switching Species to an interface. Since all the actual Species instances are typed more sharply (e.g., IntSpecies), I think we might be able to get away with this? If we can do so now, that?s a win, as its one less thing we will be tempted to change later. > > In any case, the behavior you are adding here (the fields, and the constructor) should be live in AbstractSpecies, where the rest of the state is. We definitely don?t want to be splitting this across two classes. > > > Thanks Brian for the feedback. I also like the idea of renaming Shape, Species, etc. Code generation is not affected as per my testing so far, I will follow up with more testing. > Just wanted to make sure changes to Species class (copied below) do not undo the efforts been put to make it value friendly. > > * @param the boxed element type of this species > */ > public static abstract class Species { > - Species() {} > + > + @FunctionalInterface > + interface fShuffleFromArray { > + Shuffle apply(int[] reorder, int idx); > + } > + > + final Function> maskFactory; > + final Function> shuffleFromOpFactory; > + final fShuffleFromArray shuffleFromArrayFactory; > + > + Species(Function> maskFactory, > + Function> shuffleFromOpFactory, > + fShuffleFromArray shuffleFromArrayFactory) { > + this.maskFactory = maskFactory; > + this.shuffleFromOpFactory = shuffleFromOpFactory; > + this.shuffleFromArrayFactory = shuffleFromArrayFactory; > + } > /** > * Returns the primitive element type of vectors produced by this > @@ -1100,6 +1120,18 @@ > Shape s = Shape.forBitSize(vectorBitSize); > return Species.of(c, s); > } > + > + interface FOpm { > + boolean apply(int i); > + } > + > + Vector.Mask opm(Vector.Species.FOpm f) { > + boolean[] res = new boolean[length()]; > + for (int i = 0; i < length(); i++) { > + res[i] = f.apply(i); > + } > + return maskFactory.apply(res); > + } > } > > Thanks > Kishor > > From: Brian Goetz [mailto:brian.goetz at oracle.com ] > Sent: Friday, April 12, 2019 10:18 AM > To: Kharbas, Kishor >; panama-dev at openjdk.java.net > Cc: John Rose >; Vladimir Ivanov >; Viswanathan, Sandhya > > Subject: Re: [vector] refactoring api for mask, shuffle creation > > Moving the classes to top-level is a slam-dunk. There's no need for nesting in this API. We might ask ourselves later if we should rename some of these (Shape -> VectorShape) but that's easy if we decide to do so. > > I like the idea of moving the mask/shuffle creation methods to Mask/Shuffle, since they will be easier for developers to find (and secondarily it reduces the surface area of the API.) Now, the Mask and Shuffle abstractions effectively stand on their own; they are their own top-level entity, and they take control of their own creation. This results in a simpler API. > > I hope that the generated code remains good with this shift. > > > > On 4/11/2019 8:07 PM, Kharbas, Kishor wrote: > Hi, > I am experimenting with few changes to improve the API. Specifically, > 1. mask and shuffle creation methods (example, maskFromArray()) right now are defined in XxxVector. From user?s perspective it seems more intuitive for Mask/Shuffle to define these methods. This patch moves them out of XxxVector to their respective classes. > 2. Moved classes ? Species, Shape, Shuffle and Mask, at the top-level instead of being nested inside vector. > > Please help me evaluate the changes. Apart from moving methods around and changing signatures, there are changes in Species class -- addition of factory methods to create masks and shuffles. > I am in the process of testing the patch. > > Webrev : http://cr.openjdk.java.net/~kkharbas/vector-api/species_refactoring-phase2/webrev-phase2.02/ > Javadoc : http://cr.openjdk.java.net/~kkharbas/vector-api/species_refactoring-phase2/webrev_phase-2.JavaDoc.02/jdk.incubator.vector/jdk/incubator/vector/package-summary.html > > Thanks > Kishor From maurizio.cimadamore at oracle.com Fri Apr 19 13:25:11 2019 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Fri, 19 Apr 2019 14:25:11 +0100 Subject: [foreign] RFR 8222765: Implement foreign memory access through VarHandle Message-ID: Hi, this patch implements the MemoryAddress/MemoryScope abstractions described in the document I've sent recently [1]: http://cr.openjdk.java.net/~mcimadamore/panama/8222765/ This patch will go on new branch of Panama, called "foreign-memaccess", so the patch is relative to the 'default' branch. Most of the classes added by this patch are the Layout classes we already have in the existing 'foreign' branch. There are however a bunch of new classes: LayoutPath, MemoryAddress and MemoryScope (and their respective implementations). In order to generate VarHandle with the right number of dimensions, we use a template (so that we can automatically generate all variants of VarHandle for all carriers). Then, we also need some bytecode spinning, since a concrete VarHandle might have a number of components indices which depend on the layout being accessed (more specifically, for each traversed array, there's an extra long component). The spinning is done in the new AddressVarHandleGenerator class. I've added a smoke test for the various memory mode accesses; we should of course add more tests e.g. to check that all scope options are properly enforced (such as confinement). With this patch, performances of VH access is approx 15% slower than a plain Unsafe call. The main issue is that the scope liveness check is not hoisted outside of hot loops from hotspot (since the scope state is a mutable field which could be changed by a different thread). Vlad is working on the JIT optimization story for this; the idea is that when access is confined, JIT will be able to trust the fact that it's seeing all accesses to the scope it needs to and, provided the scope never escapes the inlined method, the liveness check can be hoisted, effectively bringing us on par with Unsafe. Cheers Maurizio [1] - http://cr.openjdk.java.net/~mcimadamore/panama/memaccess.html From maurizio.cimadamore at oracle.com Fri Apr 19 13:32:06 2019 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Fri, 19 Apr 2019 14:32:06 +0100 Subject: [foreign] RFR 8222765: Implement foreign memory access through VarHandle In-Reply-To: References: Message-ID: <4c9b23b5-efbd-72a7-8df8-f767f6bf5b9c@oracle.com> And here's a javadoc link in case somebody wants to do a pass over the API (30% feedback please :-)) http://cr.openjdk.java.net/~mcimadamore/panama/memaccess_javadoc_v1/ Maurizio On 19/04/2019 14:25, Maurizio Cimadamore wrote: > Hi, > this patch implements the MemoryAddress/MemoryScope abstractions > described in the document I've sent recently [1]: > > http://cr.openjdk.java.net/~mcimadamore/panama/8222765/ > > This patch will go on new branch of Panama, called > "foreign-memaccess", so the patch is relative to the 'default' branch. > > Most of the classes added by this patch are the Layout classes we > already have in the existing 'foreign' branch. > > There are however a bunch of new classes: LayoutPath, MemoryAddress > and MemoryScope (and their respective implementations). > > In order to generate VarHandle with the right number of dimensions, we > use a template (so that we can automatically generate all variants of > VarHandle for all carriers). Then, we also need some bytecode > spinning, since a concrete VarHandle might have a number of components > indices which depend on the layout being accessed (more specifically, > for each traversed array, there's an extra long component). > > The spinning is done in the new AddressVarHandleGenerator class. > > I've added a smoke test for the various memory mode accesses; we > should of course add more tests e.g. to check that all scope options > are properly enforced (such as confinement). > > With this patch, performances of VH access is approx 15% slower than a > plain Unsafe call. The main issue is that the scope liveness check is > not hoisted outside of hot loops from hotspot (since the scope state > is a mutable field which could be changed by a different thread). Vlad > is working on the JIT optimization story for this; the idea is that > when access is confined, JIT will be able to trust the fact that it's > seeing all accesses to the scope it needs to and, provided the scope > never escapes the inlined method, the liveness check can be hoisted, > effectively bringing us on par with Unsafe. > > Cheers > Maurizio > > [1] - http://cr.openjdk.java.net/~mcimadamore/panama/memaccess.html > From brian.goetz at oracle.com Fri Apr 19 14:25:19 2019 From: brian.goetz at oracle.com (Brian Goetz) Date: Fri, 19 Apr 2019 10:25:19 -0400 Subject: [foreign] RFR 8222765: Implement foreign memory access through VarHandle In-Reply-To: <4c9b23b5-efbd-72a7-8df8-f767f6bf5b9c@oracle.com> References: <4c9b23b5-efbd-72a7-8df8-f767f6bf5b9c@oracle.com> Message-ID: <129FF4F0-CD00-4D2A-B8B1-4951AD359F70@oracle.com> # java.foreign.memory ## MemoryAddress It?s a little hard to tell exactly what this abstraction is. The class doc says ?temporal and spatial bounds?; presumably the temporal bounds are determined by the scope. The methods `narrow()` and `offset()` hint at a spatial bound, but there?s no way to query the bound directly (no `size()` or `limit()` method), nor does it say what happens when offset/narrow violates the spatial bounds. Is the model here that there is a hidden limit? And one can narrow it so long as the new limit is less than the current limit, and offset so long as we stay under the limit? And presumably, one can bind a layout to it, so long as there is room between the pointer and the limit for the layout? I basically cannot tell whether this is the abstraction for ?pointer? (subject to some bounds constraint) or ?region? (describing a block of memory.), but it doesn?t quite feel like ?address?. Maybe a less loaded name, like ?MemoryRef?? ## MemoryScope This feels mostly like an abstraction that does one thing, except for the method `confinementThread()`; this one definitely sticks out as ?what?s this doing here.? I think I get how you got here ? you don?t want to have a complex hierarchy of Scope types ? and this was the one bit of extra information you needed to complete the story. But something feels a little ?crammed? here. Scope needs a method to expose its closed-state; presumably allocate() will fail if the scope is closed, but how do I check if it is closed before allocations? There must be some rules for merging characteristics; presumably if the parent scope is confined, so must the child scopes. # java.foreign.layout General: the names for most of these classes are just too general ? Address, Value, Sequence ? users will curse us for polluting the namespace with things that look like what they want, but are not. (Just like java.awt.List.). There?s an easy fix: append Layout to all the concrete subtypes of Layout (SequenceLayout, GroupLayout, etc.). Similarly, Descriptor should be something like NativeDescriptor. I get the sense all the types in this package are intended to be immutable / value-based. Should say that. ## Descriptor Is there a better name than ?annotations?? `stripAnnotations` sounds like a mutative method, but I think you intend implementations to be immutable? Maybe `withoutAnnotations`. ## LayoutPath I think what this abstraction is, is a path from the root of a Layout to a particular sub-layout? And the enclosing() method provides the trail of breadcrumbs back to the root? I wonder if there?s an easier way to express this. I assume what I?m trying to do is navigate to foo.bar[n].baz. But I don?t see how things like sequence indexes play into the story. ## Layout Having some trouble inferring the model from the API. Can we document the model separately? > On Apr 19, 2019, at 9:32 AM, Maurizio Cimadamore wrote: > > And here's a javadoc link in case somebody wants to do a pass over the API (30% feedback please :-)) > > http://cr.openjdk.java.net/~mcimadamore/panama/memaccess_javadoc_v1/ > > Maurizio > > On 19/04/2019 14:25, Maurizio Cimadamore wrote: >> Hi, >> this patch implements the MemoryAddress/MemoryScope abstractions described in the document I've sent recently [1]: >> >> http://cr.openjdk.java.net/~mcimadamore/panama/8222765/ >> >> This patch will go on new branch of Panama, called "foreign-memaccess", so the patch is relative to the 'default' branch. >> >> Most of the classes added by this patch are the Layout classes we already have in the existing 'foreign' branch. >> >> There are however a bunch of new classes: LayoutPath, MemoryAddress and MemoryScope (and their respective implementations). >> >> In order to generate VarHandle with the right number of dimensions, we use a template (so that we can automatically generate all variants of VarHandle for all carriers). Then, we also need some bytecode spinning, since a concrete VarHandle might have a number of components indices which depend on the layout being accessed (more specifically, for each traversed array, there's an extra long component). >> >> The spinning is done in the new AddressVarHandleGenerator class. >> >> I've added a smoke test for the various memory mode accesses; we should of course add more tests e.g. to check that all scope options are properly enforced (such as confinement). >> >> With this patch, performances of VH access is approx 15% slower than a plain Unsafe call. The main issue is that the scope liveness check is not hoisted outside of hot loops from hotspot (since the scope state is a mutable field which could be changed by a different thread). Vlad is working on the JIT optimization story for this; the idea is that when access is confined, JIT will be able to trust the fact that it's seeing all accesses to the scope it needs to and, provided the scope never escapes the inlined method, the liveness check can be hoisted, effectively bringing us on par with Unsafe. >> >> Cheers >> Maurizio >> >> [1] - http://cr.openjdk.java.net/~mcimadamore/panama/memaccess.html >> From maurizio.cimadamore at oracle.com Fri Apr 19 14:52:53 2019 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Fri, 19 Apr 2019 15:52:53 +0100 Subject: [foreign] RFR 8222765: Implement foreign memory access through VarHandle In-Reply-To: <129FF4F0-CD00-4D2A-B8B1-4951AD359F70@oracle.com> References: <4c9b23b5-efbd-72a7-8df8-f767f6bf5b9c@oracle.com> <129FF4F0-CD00-4D2A-B8B1-4951AD359F70@oracle.com> Message-ID: <5cb7699c-7fcf-e6c1-a836-92bad98e43e9@oracle.com> On 19/04/2019 15:25, Brian Goetz wrote: > # java.foreign.memory > > ## MemoryAddress > > It?s a little hard to tell exactly what this abstraction is. The class doc says ?temporal and spatial bounds?; presumably the temporal bounds are determined by the scope. The methods `narrow()` and `offset()` hint at a spatial bound, but there?s no way to query the bound directly (no `size()` or `limit()` method), nor does it say what happens when offset/narrow violates the spatial bounds. > > Is the model here that there is a hidden limit? And one can narrow it so long as the new limit is less than the current limit, and offset so long as we stay under the limit? And presumably, one can bind a layout to it, so long as there is room between the pointer and the limit for the layout? > > I basically cannot tell whether this is the abstraction for ?pointer? (subject to some bounds constraint) or ?region? (describing a block of memory.), but it doesn?t quite feel like ?address?. Maybe a less loaded name, like ?MemoryRef?? I think the main issue here is that we're using the same abstraction to model both regions and addresses. This is covered in the document: file:///home/maurizio/Documents/text/2019/memaccess.html (see section region vs. address duality). I think splitting should clarify the API quite a bit, and we can add the bound methods where they really belong. Changing name can help a bit, but I think the overlapping between the two nature of the MemoryAddress/MemoryRef/whatever we call it will remain confusing. > > ## MemoryScope > > This feels mostly like an abstraction that does one thing, except for the method `confinementThread()`; this one definitely sticks out as ?what?s this doing here.? I think I get how you got here ? you don?t want to have a complex hierarchy of Scope types ? and this was the one bit of extra information you needed to complete the story. But something feels a little ?crammed? here. Right, we can also create a ConfinedScope, no problem there. > > Scope needs a method to expose its closed-state; presumably allocate() will fail if the scope is closed, but how do I check if it is closed before allocations? Right we have an internal 'checkAlive' method, but I have not added it to the public API. Will do. > > There must be some rules for merging characteristics; presumably if the parent scope is confined, so must the child scopes. > > # java.foreign.layout > > General: the names for most of these classes are just too general ? Address, Value, Sequence ? users will curse us for polluting the namespace with things that look like what they want, but are not. (Just like java.awt.List.). There?s an easy fix: append Layout to all the concrete subtypes of Layout (SequenceLayout, GroupLayout, etc.). Similarly, Descriptor should be something like NativeDescriptor. RIght, appending Layout is what my not so secret plan has been all along. Also, I think in this patch we can probably remove: Descriptor Function Unresolved Layout::isPartial Address:function Address::ofFunction Since this stuff is mostly needed for foreign function calls interop, which will come later. > > I get the sense all the types in this package are intended to be immutable / value-based. Should say that. Yep. > > ## Descriptor > > Is there a better name than ?annotations?? Uhmm will think. It's true that this is a problem, as it always creates ambiguities with Java annotations. > > `stripAnnotations` sounds like a mutative method, but I think you intend implementations to be immutable? Maybe `withoutAnnotations`. > > ## LayoutPath > > I think what this abstraction is, is a path from the root of a Layout to a particular sub-layout? And the enclosing() method provides the trail of breadcrumbs back to the root? > > I wonder if there?s an easier way to express this. I assume what I?m trying to do is navigate to foo.bar[n].baz. But I don?t see how things like sequence indexes play into the story. Not sure I get what you mean here; the general idea is that, once you have a path to a specific layout element, you have all the info you need to generate a VarHandle which can be used to navigate an address from a root to the desired layout element. Any sequence layout that is traversed (like bar[n]), will add an extra 'long' index dimension to the resulting VarHandle. > > ## Layout > > Having some trouble inferring the model from the API. Can we document the model separately? The layout model is documented in great details here: http://cr.openjdk.java.net/~mcimadamore/panama/panama-binder-v3.html The main idea is that we have 'value layouts' (for leaves) and 'group layouts' (for composite stuff). Sequence is a particular kind of a Group which is basically a repetition of the same layout element over and over (up to a number of times). Address is a special Value that is used to encode... well, addresses. Since we want to be friendly to protocol schemas, an address can be encoded with whatever size, endianness, etc. - in other words, it's just a special kind of value, that, in addition tells you the Layout that it's pointing into. Maurizio > > > >> On Apr 19, 2019, at 9:32 AM, Maurizio Cimadamore wrote: >> >> And here's a javadoc link in case somebody wants to do a pass over the API (30% feedback please :-)) >> >> http://cr.openjdk.java.net/~mcimadamore/panama/memaccess_javadoc_v1/ >> >> Maurizio >> >> On 19/04/2019 14:25, Maurizio Cimadamore wrote: >>> Hi, >>> this patch implements the MemoryAddress/MemoryScope abstractions described in the document I've sent recently [1]: >>> >>> http://cr.openjdk.java.net/~mcimadamore/panama/8222765/ >>> >>> This patch will go on new branch of Panama, called "foreign-memaccess", so the patch is relative to the 'default' branch. >>> >>> Most of the classes added by this patch are the Layout classes we already have in the existing 'foreign' branch. >>> >>> There are however a bunch of new classes: LayoutPath, MemoryAddress and MemoryScope (and their respective implementations). >>> >>> In order to generate VarHandle with the right number of dimensions, we use a template (so that we can automatically generate all variants of VarHandle for all carriers). Then, we also need some bytecode spinning, since a concrete VarHandle might have a number of components indices which depend on the layout being accessed (more specifically, for each traversed array, there's an extra long component). >>> >>> The spinning is done in the new AddressVarHandleGenerator class. >>> >>> I've added a smoke test for the various memory mode accesses; we should of course add more tests e.g. to check that all scope options are properly enforced (such as confinement). >>> >>> With this patch, performances of VH access is approx 15% slower than a plain Unsafe call. The main issue is that the scope liveness check is not hoisted outside of hot loops from hotspot (since the scope state is a mutable field which could be changed by a different thread). Vlad is working on the JIT optimization story for this; the idea is that when access is confined, JIT will be able to trust the fact that it's seeing all accesses to the scope it needs to and, provided the scope never escapes the inlined method, the liveness check can be hoisted, effectively bringing us on par with Unsafe. >>> >>> Cheers >>> Maurizio >>> >>> [1] - http://cr.openjdk.java.net/~mcimadamore/panama/memaccess.html >>> From jbvernee at xs4all.nl Fri Apr 19 15:46:15 2019 From: jbvernee at xs4all.nl (Jorn Vernee) Date: Fri, 19 Apr 2019 17:46:15 +0200 Subject: [foreign] RFR 8222765: Implement foreign memory access through VarHandle In-Reply-To: <5cb7699c-7fcf-e6c1-a836-92bad98e43e9@oracle.com> References: <4c9b23b5-efbd-72a7-8df8-f767f6bf5b9c@oracle.com> <129FF4F0-CD00-4D2A-B8B1-4951AD359F70@oracle.com> <5cb7699c-7fcf-e6c1-a836-92bad98e43e9@oracle.com> Message-ID: <7d5a4e02cea9f2067ca03ff185b6aff8@xs4all.nl> - In GensrcVarHandles.gmk you seem to have a mistake in the generation command: 274 # List the types to generate source for, with capitalized first letter 275 VARHANDLES_MEMORY_ADDRESS_TYPES := Byte Short Char Int Long Float Double 276 $(foreach t, $(VARHANDLES_MEMORY_ADDRESS_TYPES), \ 277 $(eval $(call GenerateVarHandleMemoryAddress,VAR_HANDLE_BYTE_ARRAY_$t,$t))) You still have to change the name VAR_HANDLE_BYTE_ARRAY_ to something else (probably forgotten when copy pasting?) - I agree that MemoryAddress should be split, but I don't think we can "just" add a length() method to the MemoryRegion class, since not all memory regions have a length. E.g. when a pointer is returned by a native call, we don't know any memory bounds. I think the same problem also exists when deserializing a pointer. Is it okay if a length() method would throw UOE in those cases? - Also in MemoryAddress, I think the name 'limit' instead of 'narrow' to shrink a region is a little more colloquial. (e.g. looking at Buffer/Stream) - I'd also like to advocate for using an enum to represent the MemoryScope characteristics, instead of a long. The advantage is that you know exactly which constants are acceptable to pass there, as well as IDE autocomplete being able to help you out better. If the parameter type is changed to Set, this can easily be passed ad-hoc using Set.of, or EnumSet.of. - Should the generated template classes be added to the patch as well? (I've seen that done in some of the vector API patches). * Also, since you mention performance and liveliness checks not being hoist-able. Just out of curiosity; I'm wondering why the change to ciField doesn't take care of that already? Jorn Maurizio Cimadamore schreef op 2019-04-19 16:52: > On 19/04/2019 15:25, Brian Goetz wrote: >> # java.foreign.memory >> >> ## MemoryAddress >> >> It?s a little hard to tell exactly what this abstraction is. The >> class doc says ?temporal and spatial bounds?; presumably the temporal >> bounds are determined by the scope. The methods `narrow()` and >> `offset()` hint at a spatial bound, but there?s no way to query the >> bound directly (no `size()` or `limit()` method), nor does it say what >> happens when offset/narrow violates the spatial bounds. >> >> Is the model here that there is a hidden limit? And one can narrow it >> so long as the new limit is less than the current limit, and offset so >> long as we stay under the limit? And presumably, one can bind a >> layout to it, so long as there is room between the pointer and the >> limit for the layout? >> >> I basically cannot tell whether this is the abstraction for ?pointer? >> (subject to some bounds constraint) or ?region? (describing a block of >> memory.), but it doesn?t quite feel like ?address?. Maybe a less >> loaded name, like ?MemoryRef?? > > I think the main issue here is that we're using the same abstraction > to model both regions and addresses. This is covered in the document: > > file:///home/maurizio/Documents/text/2019/memaccess.html > > (see section region vs. address duality). > > I think splitting should clarify the API quite a bit, and we can add > the bound methods where they really belong. Changing name can help a > bit, but I think the overlapping between the two nature of the > MemoryAddress/MemoryRef/whatever we call it will remain confusing. > >> >> ## MemoryScope >> >> This feels mostly like an abstraction that does one thing, except for >> the method `confinementThread()`; this one definitely sticks out as >> ?what?s this doing here.? I think I get how you got here ? you don?t >> want to have a complex hierarchy of Scope types ? and this was the one >> bit of extra information you needed to complete the story. But >> something feels a little ?crammed? here. > Right, we can also create a ConfinedScope, no problem there. >> >> Scope needs a method to expose its closed-state; presumably allocate() >> will fail if the scope is closed, but how do I check if it is closed >> before allocations? > Right we have an internal 'checkAlive' method, but I have not added it > to the public API. Will do. >> >> There must be some rules for merging characteristics; presumably if >> the parent scope is confined, so must the child scopes. >> >> # java.foreign.layout >> >> General: the names for most of these classes are just too general ? >> Address, Value, Sequence ? users will curse us for polluting the >> namespace with things that look like what they want, but are not. >> (Just like java.awt.List.). There?s an easy fix: append Layout to all >> the concrete subtypes of Layout (SequenceLayout, GroupLayout, etc.). >> Similarly, Descriptor should be something like NativeDescriptor. > > RIght, appending Layout is what my not so secret plan has been all > along. > > Also, I think in this patch we can probably remove: > > Descriptor > Function > Unresolved > > Layout::isPartial > Address:function > Address::ofFunction > > Since this stuff is mostly needed for foreign function calls interop, > which will come later. > >> >> I get the sense all the types in this package are intended to be >> immutable / value-based. Should say that. > Yep. >> >> ## Descriptor >> >> Is there a better name than ?annotations?? > Uhmm will think. It's true that this is a problem, as it always > creates ambiguities with Java annotations. >> >> `stripAnnotations` sounds like a mutative method, but I think you >> intend implementations to be immutable? Maybe `withoutAnnotations`. >> >> ## LayoutPath >> >> I think what this abstraction is, is a path from the root of a Layout >> to a particular sub-layout? And the enclosing() method provides the >> trail of breadcrumbs back to the root? >> >> I wonder if there?s an easier way to express this. I assume what I?m >> trying to do is navigate to foo.bar[n].baz. But I don?t see how >> things like sequence indexes play into the story. > > Not sure I get what you mean here; the general idea is that, once you > have a path to a specific layout element, you have all the info you > need to generate a VarHandle which can be used to navigate an address > from a root to the desired layout element. > > Any sequence layout that is traversed (like bar[n]), will add an extra > 'long' index dimension to the resulting VarHandle. > >> >> ## Layout >> >> Having some trouble inferring the model from the API. Can we document >> the model separately? > > The layout model is documented in great details here: > > http://cr.openjdk.java.net/~mcimadamore/panama/panama-binder-v3.html > > The main idea is that we have 'value layouts' (for leaves) and 'group > layouts' (for composite stuff). Sequence is a particular kind of a > Group which is basically a repetition of the same layout element over > and over (up to a number of times). Address is a special Value that is > used to encode... well, addresses. Since we want to be friendly to > protocol schemas, an address can be encoded with whatever size, > endianness, etc. - in other words, it's just a special kind of value, > that, in addition tells you the Layout that it's pointing into. > > Maurizio > >> >> >> >>> On Apr 19, 2019, at 9:32 AM, Maurizio Cimadamore >>> wrote: >>> >>> And here's a javadoc link in case somebody wants to do a pass over >>> the API (30% feedback please :-)) >>> >>> http://cr.openjdk.java.net/~mcimadamore/panama/memaccess_javadoc_v1/ >>> >>> Maurizio >>> >>> On 19/04/2019 14:25, Maurizio Cimadamore wrote: >>>> Hi, >>>> this patch implements the MemoryAddress/MemoryScope abstractions >>>> described in the document I've sent recently [1]: >>>> >>>> http://cr.openjdk.java.net/~mcimadamore/panama/8222765/ >>>> >>>> This patch will go on new branch of Panama, called >>>> "foreign-memaccess", so the patch is relative to the 'default' >>>> branch. >>>> >>>> Most of the classes added by this patch are the Layout classes we >>>> already have in the existing 'foreign' branch. >>>> >>>> There are however a bunch of new classes: LayoutPath, MemoryAddress >>>> and MemoryScope (and their respective implementations). >>>> >>>> In order to generate VarHandle with the right number of dimensions, >>>> we use a template (so that we can automatically generate all >>>> variants of VarHandle for all carriers). Then, we also need some >>>> bytecode spinning, since a concrete VarHandle might have a number of >>>> components indices which depend on the layout being accessed (more >>>> specifically, for each traversed array, there's an extra long >>>> component). >>>> >>>> The spinning is done in the new AddressVarHandleGenerator class. >>>> >>>> I've added a smoke test for the various memory mode accesses; we >>>> should of course add more tests e.g. to check that all scope options >>>> are properly enforced (such as confinement). >>>> >>>> With this patch, performances of VH access is approx 15% slower than >>>> a plain Unsafe call. The main issue is that the scope liveness check >>>> is not hoisted outside of hot loops from hotspot (since the scope >>>> state is a mutable field which could be changed by a different >>>> thread). Vlad is working on the JIT optimization story for this; the >>>> idea is that when access is confined, JIT will be able to trust the >>>> fact that it's seeing all accesses to the scope it needs to and, >>>> provided the scope never escapes the inlined method, the liveness >>>> check can be hoisted, effectively bringing us on par with Unsafe. >>>> >>>> Cheers >>>> Maurizio >>>> >>>> [1] - http://cr.openjdk.java.net/~mcimadamore/panama/memaccess.html >>>> From maurizio.cimadamore at oracle.com Fri Apr 19 16:42:38 2019 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Fri, 19 Apr 2019 17:42:38 +0100 Subject: [foreign] RFR 8222765: Implement foreign memory access through VarHandle In-Reply-To: <7d5a4e02cea9f2067ca03ff185b6aff8@xs4all.nl> References: <4c9b23b5-efbd-72a7-8df8-f767f6bf5b9c@oracle.com> <129FF4F0-CD00-4D2A-B8B1-4951AD359F70@oracle.com> <5cb7699c-7fcf-e6c1-a836-92bad98e43e9@oracle.com> <7d5a4e02cea9f2067ca03ff185b6aff8@xs4all.nl> Message-ID: <1f8028e3-86b7-3c59-2dcb-a13153af9cf8@oracle.com> On 19/04/2019 16:46, Jorn Vernee wrote: > - In GensrcVarHandles.gmk you seem to have a mistake in the generation > command: > > ?274 # List the types to generate source for, with capitalized first > letter > ?275 VARHANDLES_MEMORY_ADDRESS_TYPES := Byte Short Char Int Long Float > Double > ?276 $(foreach t, $(VARHANDLES_MEMORY_ADDRESS_TYPES), \ > ?277?? $(eval $(call > GenerateVarHandleMemoryAddress,VAR_HANDLE_BYTE_ARRAY_$t,$t))) > > You still have to change the name VAR_HANDLE_BYTE_ARRAY_ to something > else (probably forgotten when copy pasting?) Good point, I wonder why it? still works??? I'll take another look. The right classes are definitively generated. > > - I agree that MemoryAddress should be split, but I don't think we can > "just" add a length() method to the MemoryRegion class, since not all > memory regions have a length. E.g. when a pointer is returned by a > native call, we don't know any memory bounds. I think the same problem > also exists when deserializing a pointer. Is it okay if a length() > method would throw UOE in those cases? Or OptionalLong > > - Also in MemoryAddress, I think the name 'limit' instead of 'narrow' > to shrink a region is a little more colloquial. (e.g. looking at > Buffer/Stream) > > - I'd also like to advocate for using an enum to represent the > MemoryScope characteristics, instead of a long. The advantage is that > you know exactly which constants are acceptable to pass there, as well > as IDE autocomplete being able to help you out better. If the > parameter type is changed to Set, this can easily be > passed ad-hoc using Set.of, or EnumSet.of. This is more for API review kind of thing. In the JDK we are generally thorn between use of enums and use of longs, both have pros and cons. Since this is a low level thing, I opted for longs (same decision made for e.g. spliterators) we can of course change later on, if needed. > > - Should the generated template classes be added to the patch as well? > (I've seen that done in some of the vector API patches). No, that's the same approach as byte buffer handles, they are generated by the build and put in the gensrc folder, but never added explicitly. > > * Also, since you mention performance and liveliness checks not being > hoist-able. Just out of curiosity; I'm wondering why the change to > ciField doesn't take care of that already? That's just to 'trust' final fields; w/o that not even the bound check (which only handles immutable value) would work :-) Liveness check is a different can of worms... Maurizio > > Jorn > > Maurizio Cimadamore schreef op 2019-04-19 16:52: >> On 19/04/2019 15:25, Brian Goetz wrote: >>> # java.foreign.memory >>> >>> ## MemoryAddress >>> >>> It?s a little hard to tell exactly what this abstraction is. The >>> class doc says ?temporal and spatial bounds?; presumably the >>> temporal bounds are determined by the scope.? The methods `narrow()` >>> and `offset()` hint at a spatial bound, but there?s no way to query >>> the bound directly (no `size()` or `limit()` method), nor does it >>> say what happens when offset/narrow violates the spatial bounds. >>> >>> Is the model here that there is a hidden limit?? And one can narrow >>> it so long as the new limit is less than the current limit, and >>> offset so long as we stay under the limit?? And presumably, one can >>> bind a layout to it, so long as there is room between the pointer >>> and the limit for the layout? >>> >>> I basically cannot tell whether this is the abstraction for >>> ?pointer? (subject to some bounds constraint) or ?region? >>> (describing a block of memory.), but it doesn?t quite feel like >>> ?address?.? Maybe a less loaded name, like ?MemoryRef?? >> >> I think the main issue here is that we're using the same abstraction >> to model both regions and addresses. This is covered in the document: >> >> file:///home/maurizio/Documents/text/2019/memaccess.html >> >> (see section region vs. address duality). >> >> I think splitting should clarify the API quite a bit, and we can add >> the bound methods where they really belong. Changing name can help a >> bit, but I think the overlapping between the two nature of the >> MemoryAddress/MemoryRef/whatever we call it will remain confusing. >> >>> >>> ## MemoryScope >>> >>> This feels mostly like an abstraction that does one thing, except >>> for the method `confinementThread()`; this one definitely sticks out >>> as ?what?s this doing here.?? I think I get how you got here ? you >>> don?t want to have a complex hierarchy of Scope types ? and this was >>> the one bit of extra information you needed to complete the story. >>> But something feels a little ?crammed? here. >> Right, we can also create a ConfinedScope, no problem there. >>> >>> Scope needs a method to expose its closed-state; presumably >>> allocate() will fail if the scope is closed, but how do I check if >>> it is closed before allocations? >> Right we have an internal 'checkAlive' method, but I have not added it >> to the public API. Will do. >>> >>> There must be some rules for merging characteristics; presumably if >>> the parent scope is confined, so must the child scopes. >>> >>> # java.foreign.layout >>> >>> General: the names for most of these classes are just too general ? >>> Address, Value, Sequence ? users will curse us for polluting the >>> namespace with things that look like what they want, but are not.? >>> (Just like java.awt.List.). There?s an easy fix: append Layout to >>> all the concrete subtypes of Layout (SequenceLayout, GroupLayout, >>> etc.). Similarly, Descriptor should be something like NativeDescriptor. >> >> RIght, appending Layout is what my not so secret plan has been all >> along. >> >> Also, I think in this patch we can probably remove: >> >> Descriptor >> Function >> Unresolved >> >> Layout::isPartial >> Address:function >> Address::ofFunction >> >> Since this stuff is mostly needed for foreign function calls interop, >> which will come later. >> >>> >>> I get the sense all the types in this package are intended to be >>> immutable / value-based.? Should say that. >> Yep. >>> >>> ## Descriptor >>> >>> Is there a better name than ?annotations?? >> Uhmm will think. It's true that this is a problem, as it always >> creates ambiguities with Java annotations. >>> >>> `stripAnnotations` sounds like a mutative method, but I think you >>> intend implementations to be immutable?? Maybe `withoutAnnotations`. >>> >>> ## LayoutPath >>> >>> I think what this abstraction is, is a path from the root of a >>> Layout to a particular sub-layout?? And the enclosing() method >>> provides the trail of breadcrumbs back to the root? >>> >>> I wonder if there?s an easier way to express this.? I assume what >>> I?m trying to do is navigate to foo.bar[n].baz.? But I don?t see how >>> things like sequence indexes play into the story. >> >> Not sure I get what you mean here; the general idea is that, once you >> have a path to a specific layout element, you have all the info you >> need to generate a VarHandle which can be used to navigate an address >> from a root to the desired layout element. >> >> Any sequence layout that is traversed (like bar[n]), will add an extra >> 'long' index dimension to the resulting VarHandle. >> >>> >>> ## Layout >>> >>> Having some trouble inferring the model from the API.? Can we >>> document the model separately? >> >> The layout model is documented in great details here: >> >> http://cr.openjdk.java.net/~mcimadamore/panama/panama-binder-v3.html >> >> The main idea is that we have 'value layouts' (for leaves) and 'group >> layouts' (for composite stuff). Sequence is a particular kind of a >> Group which is basically a repetition of the same layout element over >> and over (up to a number of times). Address is a special Value that is >> used to encode... well, addresses. Since we want to be friendly to >> protocol schemas, an address can be encoded with whatever size, >> endianness, etc. - in other words, it's just a special kind of value, >> that, in addition tells you the Layout that it's pointing into. >> >> Maurizio >> >>> >>> >>> >>>> On Apr 19, 2019, at 9:32 AM, Maurizio Cimadamore >>>> wrote: >>>> >>>> And here's a javadoc link in case somebody wants to do a pass over >>>> the API (30% feedback please :-)) >>>> >>>> http://cr.openjdk.java.net/~mcimadamore/panama/memaccess_javadoc_v1/ >>>> >>>> Maurizio >>>> >>>> On 19/04/2019 14:25, Maurizio Cimadamore wrote: >>>>> Hi, >>>>> this patch implements the MemoryAddress/MemoryScope abstractions >>>>> described in the document I've sent recently [1]: >>>>> >>>>> http://cr.openjdk.java.net/~mcimadamore/panama/8222765/ >>>>> >>>>> This patch will go on new branch of Panama, called >>>>> "foreign-memaccess", so the patch is relative to the 'default' >>>>> branch. >>>>> >>>>> Most of the classes added by this patch are the Layout classes we >>>>> already have in the existing 'foreign' branch. >>>>> >>>>> There are however a bunch of new classes: LayoutPath, >>>>> MemoryAddress and MemoryScope (and their respective implementations). >>>>> >>>>> In order to generate VarHandle with the right number of >>>>> dimensions, we use a template (so that we can automatically >>>>> generate all variants of VarHandle for all carriers). Then, we >>>>> also need some bytecode spinning, since a concrete VarHandle might >>>>> have a number of components indices which depend on the layout >>>>> being accessed (more specifically, for each traversed array, >>>>> there's an extra long component). >>>>> >>>>> The spinning is done in the new AddressVarHandleGenerator class. >>>>> >>>>> I've added a smoke test for the various memory mode accesses; we >>>>> should of course add more tests e.g. to check that all scope >>>>> options are properly enforced (such as confinement). >>>>> >>>>> With this patch, performances of VH access is approx 15% slower >>>>> than a plain Unsafe call. The main issue is that the scope >>>>> liveness check is not hoisted outside of hot loops from hotspot >>>>> (since the scope state is a mutable field which could be changed >>>>> by a different thread). Vlad is working on the JIT optimization >>>>> story for this; the idea is that when access is confined, JIT will >>>>> be able to trust the fact that it's seeing all accesses to the >>>>> scope it needs to and, provided the scope never escapes the >>>>> inlined method, the liveness check can be hoisted, effectively >>>>> bringing us on par with Unsafe. >>>>> >>>>> Cheers >>>>> Maurizio >>>>> >>>>> [1] - http://cr.openjdk.java.net/~mcimadamore/panama/memaccess.html >>>>> From maurizio.cimadamore at oracle.com Fri Apr 19 16:44:04 2019 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Fri, 19 Apr 2019 17:44:04 +0100 Subject: musing on varargs Message-ID: <55f6079a-4dbe-9ed1-8439-258f2b219d10@oracle.com> Hi, I've spent the last few days thinking about better ways to support varargs, especially in light of the recent restacking. Attached is a document which explores the design space. Cheers Maurizio From sandhya.viswanathan at intel.com Fri Apr 19 16:52:44 2019 From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya) Date: Fri, 19 Apr 2019 16:52:44 +0000 Subject: [vector] refactoring api for mask, shuffle creation In-Reply-To: <12767DA0-8149-4C75-863A-CAE7165EA858@oracle.com> References: <2beea67b-1a25-ff92-b838-b4454f9dd90a@oracle.com> <5737CF9B-4EF8-4E64-A5A4-C9AFC48646F2@oracle.com> <12767DA0-8149-4C75-863A-CAE7165EA858@oracle.com> Message-ID: <02FCFB8477C4EF43A2AD8E0C60F3DA2BB1AB187D@FMSMSX126.amr.corp.intel.com> Hi Brian, Thanks a lot for all your guidance through this. We plan to incorporate the rest of the comments in next couple of days and update the JEP accordingly. Does requesting a CSR review at 80% sometime next week sound like a reasonable target? Best Regards, Sandhya From: Brian Goetz [mailto:brian.goetz at oracle.com] Sent: Friday, April 19, 2019 4:27 AM To: Kharbas, Kishor Cc: panama-dev at openjdk.java.net; John Rose ; Vladimir Ivanov ; Viswanathan, Sandhya Subject: Re: [vector] refactoring api for mask, shuffle creation Great. I sent you some minor API comments yesterday, but otherwise I am happy with where the API has landed. This is a much more compact and more approachable API than we started with. On Apr 16, 2019, at 8:22 PM, Kharbas, Kishor > wrote: Hi Brian, Switching class Species to an interface does not perturb code generation. In the updated patch I have made this change along with moving the new fields to AbstractSpecies. New bug created : https://bugs.openjdk.java.net/browse/JDK-8222584 webrev : http://cr.openjdk.java.net/~kkharbas/vector-api/8222584/webrev.01/ If the patch looks good, I will go ahead and push this. Thanks, Kishor From: Brian Goetz [mailto:brian.goetz at oracle.com] Sent: Monday, April 15, 2019 10:46 AM To: Kharbas, Kishor > Cc: panama-dev at openjdk.java.net; John Rose >; Vladimir Ivanov >; Viswanathan, Sandhya > Subject: Re: [vector] refactoring api for mask, shuffle creation This would also be a good time to see if the generated code is perturbed by switching Species to an interface. Since all the actual Species instances are typed more sharply (e.g., IntSpecies), I think we might be able to get away with this? If we can do so now, that?s a win, as its one less thing we will be tempted to change later. In any case, the behavior you are adding here (the fields, and the constructor) should be live in AbstractSpecies, where the rest of the state is. We definitely don?t want to be splitting this across two classes. Thanks Brian for the feedback. I also like the idea of renaming Shape, Species, etc. Code generation is not affected as per my testing so far, I will follow up with more testing. Just wanted to make sure changes to Species class (copied below) do not undo the efforts been put to make it value friendly. * @param the boxed element type of this species */ public static abstract class Species { - Species() {} + + @FunctionalInterface + interface fShuffleFromArray { + Shuffle apply(int[] reorder, int idx); + } + + final Function> maskFactory; + final Function> shuffleFromOpFactory; + final fShuffleFromArray shuffleFromArrayFactory; + + Species(Function> maskFactory, + Function> shuffleFromOpFactory, + fShuffleFromArray shuffleFromArrayFactory) { + this.maskFactory = maskFactory; + this.shuffleFromOpFactory = shuffleFromOpFactory; + this.shuffleFromArrayFactory = shuffleFromArrayFactory; + } /** * Returns the primitive element type of vectors produced by this @@ -1100,6 +1120,18 @@ Shape s = Shape.forBitSize(vectorBitSize); return Species.of(c, s); } + + interface FOpm { + boolean apply(int i); + } + + Vector.Mask opm(Vector.Species.FOpm f) { + boolean[] res = new boolean[length()]; + for (int i = 0; i < length(); i++) { + res[i] = f.apply(i); + } + return maskFactory.apply(res); + } } Thanks Kishor From: Brian Goetz [mailto:brian.goetz at oracle.com] Sent: Friday, April 12, 2019 10:18 AM To: Kharbas, Kishor >; panama-dev at openjdk.java.net Cc: John Rose >; Vladimir Ivanov >; Viswanathan, Sandhya > Subject: Re: [vector] refactoring api for mask, shuffle creation Moving the classes to top-level is a slam-dunk. There's no need for nesting in this API. We might ask ourselves later if we should rename some of these (Shape -> VectorShape) but that's easy if we decide to do so. I like the idea of moving the mask/shuffle creation methods to Mask/Shuffle, since they will be easier for developers to find (and secondarily it reduces the surface area of the API.) Now, the Mask and Shuffle abstractions effectively stand on their own; they are their own top-level entity, and they take control of their own creation. This results in a simpler API. I hope that the generated code remains good with this shift. On 4/11/2019 8:07 PM, Kharbas, Kishor wrote: Hi, I am experimenting with few changes to improve the API. Specifically, 1. mask and shuffle creation methods (example, maskFromArray()) right now are defined in XxxVector. From user?s perspective it seems more intuitive for Mask/Shuffle to define these methods. This patch moves them out of XxxVector to their respective classes. 2. Moved classes ? Species, Shape, Shuffle and Mask, at the top-level instead of being nested inside vector. Please help me evaluate the changes. Apart from moving methods around and changing signatures, there are changes in Species class -- addition of factory methods to create masks and shuffles. I am in the process of testing the patch. Webrev : http://cr.openjdk.java.net/~kkharbas/vector-api/species_refactoring-phase2/webrev-phase2.02/ Javadoc : http://cr.openjdk.java.net/~kkharbas/vector-api/species_refactoring-phase2/webrev_phase-2.JavaDoc.02/jdk.incubator.vector/jdk/incubator/vector/package-summary.html Thanks Kishor From maurizio.cimadamore at oracle.com Fri Apr 19 17:45:51 2019 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Fri, 19 Apr 2019 18:45:51 +0100 Subject: musing on varargs In-Reply-To: <55f6079a-4dbe-9ed1-8439-258f2b219d10@oracle.com> References: <55f6079a-4dbe-9ed1-8439-258f2b219d10@oracle.com> Message-ID: Heh - would be nice to actually see the document? http://cr.openjdk.java.net/~mcimadamore/panama/varargs.html Maurizio On 19/04/2019 17:44, Maurizio Cimadamore wrote: > Hi, > I've spent the last few days thinking about better ways to support > varargs, especially in light of the recent restacking. Attached is a > document which explores the design space. > > Cheers > Maurizio > From maurizio.cimadamore at oracle.com Fri Apr 19 17:55:35 2019 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Fri, 19 Apr 2019 18:55:35 +0100 Subject: [foreign] RFR 8222765: Implement foreign memory access through VarHandle In-Reply-To: <1f8028e3-86b7-3c59-2dcb-a13153af9cf8@oracle.com> References: <4c9b23b5-efbd-72a7-8df8-f767f6bf5b9c@oracle.com> <129FF4F0-CD00-4D2A-B8B1-4951AD359F70@oracle.com> <5cb7699c-7fcf-e6c1-a836-92bad98e43e9@oracle.com> <7d5a4e02cea9f2067ca03ff185b6aff8@xs4all.nl> <1f8028e3-86b7-3c59-2dcb-a13153af9cf8@oracle.com> Message-ID: <508c9eb8-70da-f360-fa07-db3a6f2a72e0@oracle.com> After a closer look, it seems like the first parameter to the macro is not used. The macro GenerateVarHandleXYZ does, as its first thing: $1_Type := $2 And then keeps using $1_Type after that. Maybe the $1 parameter is some remains of older code. Maurizio On 19/04/2019 17:42, Maurizio Cimadamore wrote: > > On 19/04/2019 16:46, Jorn Vernee wrote: >> - In GensrcVarHandles.gmk you seem to have a mistake in the >> generation command: >> >> ?274 # List the types to generate source for, with capitalized first >> letter >> ?275 VARHANDLES_MEMORY_ADDRESS_TYPES := Byte Short Char Int Long >> Float Double >> ?276 $(foreach t, $(VARHANDLES_MEMORY_ADDRESS_TYPES), \ >> ?277?? $(eval $(call >> GenerateVarHandleMemoryAddress,VAR_HANDLE_BYTE_ARRAY_$t,$t))) >> >> You still have to change the name VAR_HANDLE_BYTE_ARRAY_ to something >> else (probably forgotten when copy pasting?) > Good point, I wonder why it? still works??? I'll take another look. > The right classes are definitively generated. From jbvernee at xs4all.nl Fri Apr 19 19:07:43 2019 From: jbvernee at xs4all.nl (Jorn Vernee) Date: Fri, 19 Apr 2019 21:07:43 +0200 Subject: [foreign] RFR 8222765: Implement foreign memory access through VarHandle In-Reply-To: <508c9eb8-70da-f360-fa07-db3a6f2a72e0@oracle.com> References: <4c9b23b5-efbd-72a7-8df8-f767f6bf5b9c@oracle.com> <129FF4F0-CD00-4D2A-B8B1-4951AD359F70@oracle.com> <5cb7699c-7fcf-e6c1-a836-92bad98e43e9@oracle.com> <7d5a4e02cea9f2067ca03ff185b6aff8@xs4all.nl> <1f8028e3-86b7-3c59-2dcb-a13153af9cf8@oracle.com> <508c9eb8-70da-f360-fa07-db3a6f2a72e0@oracle.com> Message-ID: <19794f1765ba5fce707754a621b3c26a@xs4all.nl> AFAIK it ensures that there is a unique name for the variables used in the macro. e.g. if t = Byte then $1_Type expands to VAR_HANDLE_BYTE_ARRAY_Byte_Type, as variable name. But, this currently conflicts with the GenerateVarHandleByteArray macro for some types. Jorn Maurizio Cimadamore schreef op 2019-04-19 19:55: > After a closer look, it seems like the first parameter to the macro is > not used. The macro GenerateVarHandleXYZ does, as its first thing: > > $1_Type := $2 > > And then keeps using $1_Type after that. > > Maybe the $1 parameter is some remains of older code. > > Maurizio > On 19/04/2019 17:42, Maurizio Cimadamore wrote: > >> On 19/04/2019 16:46, Jorn Vernee wrote: >> >>> - In GensrcVarHandles.gmk you seem to have a mistake in the >>> generation command: >>> >>> 274 # List the types to generate source for, with capitalized >>> first letter >>> 275 VARHANDLES_MEMORY_ADDRESS_TYPES := Byte Short Char Int Long >>> Float Double >>> 276 $(foreach t, $(VARHANDLES_MEMORY_ADDRESS_TYPES), \ >>> 277 $(eval $(call >>> GenerateVarHandleMemoryAddress,VAR_HANDLE_BYTE_ARRAY_$t,$t))) >>> >>> You still have to change the name VAR_HANDLE_BYTE_ARRAY_ to >>> something else (probably forgotten when copy pasting?) >> Good point, I wonder why it still works??? I'll take another look. >> The right classes are definitively generated. From kishor.kharbas at intel.com Fri Apr 19 19:10:46 2019 From: kishor.kharbas at intel.com (Kharbas, Kishor) Date: Fri, 19 Apr 2019 19:10:46 +0000 Subject: [vector] RFR 8222752: Javadoc changes for Vector api Message-ID: Hi all, I have a patch refining Javadoc for vector api as described in https://bugs.openjdk.java.net/browse/JDK-8222752 The refinements were suggested by John Rose, and reviewed by him. Webrev - http://cr.openjdk.java.net/~kkharbas/vector-api/javadoc/webrev-javadoc.03/ Generated Javadoc - http://cr.openjdk.java.net/~kkharbas/vector-api/javadoc/VectorApi-JavaDoc.03/jdk.incubator.vector/jdk/incubator/vector/package-summary.html Thanks, Kishor From maurizio.cimadamore at oracle.com Fri Apr 19 20:28:17 2019 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Fri, 19 Apr 2019 21:28:17 +0100 Subject: [foreign] RFR 8222765: Implement foreign memory access through VarHandle In-Reply-To: <19794f1765ba5fce707754a621b3c26a@xs4all.nl> References: <4c9b23b5-efbd-72a7-8df8-f767f6bf5b9c@oracle.com> <129FF4F0-CD00-4D2A-B8B1-4951AD359F70@oracle.com> <5cb7699c-7fcf-e6c1-a836-92bad98e43e9@oracle.com> <7d5a4e02cea9f2067ca03ff185b6aff8@xs4all.nl> <1f8028e3-86b7-3c59-2dcb-a13153af9cf8@oracle.com> <508c9eb8-70da-f360-fa07-db3a6f2a72e0@oracle.com> <19794f1765ba5fce707754a621b3c26a@xs4all.nl> Message-ID: <4ca4f4e2-3e4e-9ac8-d077-03d9a78d2396@oracle.com> Yeah - that's right... Probably it works because of some order dependency, but it should be fixed all right. Thanks Maurizio On 19/04/2019 20:07, Jorn Vernee wrote: > AFAIK it ensures that there is a unique name for the variables used in > the macro. > > e.g. if t = Byte then $1_Type expands to > VAR_HANDLE_BYTE_ARRAY_Byte_Type, as variable name. But, this currently > conflicts with the GenerateVarHandleByteArray macro for some types. > > Jorn > > Maurizio Cimadamore schreef op 2019-04-19 19:55: >> After a closer look, it seems like the first parameter to the macro is >> not used. The macro GenerateVarHandleXYZ does, as its first thing: >> >> $1_Type := $2 >> >> And then keeps using $1_Type after that. >> >> Maybe the $1 parameter is some remains of older code. >> >> Maurizio >> On 19/04/2019 17:42, Maurizio Cimadamore wrote: >> >>> On 19/04/2019 16:46, Jorn Vernee wrote: >>> >>>> - In GensrcVarHandles.gmk you seem to have a mistake in the >>>> generation command: >>>> >>>> 274 # List the types to generate source for, with capitalized >>>> first letter >>>> 275 VARHANDLES_MEMORY_ADDRESS_TYPES := Byte Short Char Int Long >>>> Float Double >>>> 276 $(foreach t, $(VARHANDLES_MEMORY_ADDRESS_TYPES), \ >>>> 277?? $(eval $(call >>>> GenerateVarHandleMemoryAddress,VAR_HANDLE_BYTE_ARRAY_$t,$t))) >>>> >>>> You still have to change the name VAR_HANDLE_BYTE_ARRAY_ to >>>> something else (probably forgotten when copy pasting?) >>> Good point, I wonder why it? still works??? I'll take another look. >>> The right classes are definitively generated. From kishor.kharbas at intel.com Fri Apr 19 20:46:22 2019 From: kishor.kharbas at intel.com (kishor.kharbas at intel.com) Date: Fri, 19 Apr 2019 20:46:22 +0000 Subject: hg: panama/dev: 8222752: [vector] Javadoc changes for Vector api Message-ID: <201904192046.x3JKkMsI014294@aojmv0008.oracle.com> Changeset: 82514a6254e6 Author: kkharbas Date: 2019-04-19 11:35 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/82514a6254e6 8222752: [vector] Javadoc changes for Vector api Summary: Javadoc changes for Vector api Reviewed-by: jrose, briangoetz, vlivanov, sviswanathan ! 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/Byte128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Byte64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ByteVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Double64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Float64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/FloatVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Int64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/IntVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Long64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/LongVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short128Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short256Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short512Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Short64Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortMaxVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/ShortVector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/Vector.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorMask.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 ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/package-info.java From maurizio.cimadamore at oracle.com Fri Apr 19 20:48:02 2019 From: maurizio.cimadamore at oracle.com (Maurizio Cimadamore) Date: Fri, 19 Apr 2019 21:48:02 +0100 Subject: [foreign] RFR 8222765: Implement foreign memory access through VarHandle In-Reply-To: <19794f1765ba5fce707754a621b3c26a@xs4all.nl> References: <4c9b23b5-efbd-72a7-8df8-f767f6bf5b9c@oracle.com> <129FF4F0-CD00-4D2A-B8B1-4951AD359F70@oracle.com> <5cb7699c-7fcf-e6c1-a836-92bad98e43e9@oracle.com> <7d5a4e02cea9f2067ca03ff185b6aff8@xs4all.nl> <1f8028e3-86b7-3c59-2dcb-a13153af9cf8@oracle.com> <508c9eb8-70da-f360-fa07-db3a6f2a72e0@oracle.com> <19794f1765ba5fce707754a621b3c26a@xs4all.nl> Message-ID: <2152fa1c-4f0d-5bb2-b275-afa94ace5c0b@oracle.com> Fixed the template: http://cr.openjdk.java.net/~mcimadamore/panama/8222765_v2/ I'd prefer to address the API issues in follow up issues, as we keep going through the API (also with Brian and others). Cheers Maurizio On 19/04/2019 20:07, Jorn Vernee wrote: > AFAIK it ensures that there is a unique name for the variables used in > the macro. > > e.g. if t = Byte then $1_Type expands to > VAR_HANDLE_BYTE_ARRAY_Byte_Type, as variable name. But, this currently > conflicts with the GenerateVarHandleByteArray macro for some types. > > Jorn > > Maurizio Cimadamore schreef op 2019-04-19 19:55: >> After a closer look, it seems like the first parameter to the macro is >> not used. The macro GenerateVarHandleXYZ does, as its first thing: >> >> $1_Type := $2 >> >> And then keeps using $1_Type after that. >> >> Maybe the $1 parameter is some remains of older code. >> >> Maurizio >> On 19/04/2019 17:42, Maurizio Cimadamore wrote: >> >>> On 19/04/2019 16:46, Jorn Vernee wrote: >>> >>>> - In GensrcVarHandles.gmk you seem to have a mistake in the >>>> generation command: >>>> >>>> 274 # List the types to generate source for, with capitalized >>>> first letter >>>> 275 VARHANDLES_MEMORY_ADDRESS_TYPES := Byte Short Char Int Long >>>> Float Double >>>> 276 $(foreach t, $(VARHANDLES_MEMORY_ADDRESS_TYPES), \ >>>> 277?? $(eval $(call >>>> GenerateVarHandleMemoryAddress,VAR_HANDLE_BYTE_ARRAY_$t,$t))) >>>> >>>> You still have to change the name VAR_HANDLE_BYTE_ARRAY_ to >>>> something else (probably forgotten when copy pasting?) >>> Good point, I wonder why it? still works??? I'll take another look. >>> The right classes are definitively generated. From maurizio.cimadamore at oracle.com Fri Apr 19 20:49:44 2019 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 19 Apr 2019 20:49:44 +0000 Subject: hg: panama/dev: Automatic merge with vectorIntrinsics Message-ID: <201904192049.x3JKnith015403@aojmv0008.oracle.com> Changeset: 5a87e918e324 Author: mcimadamore Date: 2019-04-19 22:49 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/5a87e918e324 Automatic merge with vectorIntrinsics From vladimir.x.ivanov at oracle.com Fri Apr 19 22:12:47 2019 From: vladimir.x.ivanov at oracle.com (Vladimir Ivanov) Date: Fri, 19 Apr 2019 15:12:47 -0700 Subject: Results: New panama Committer: Jatin Bhateja Message-ID: <1ad18232-e576-a846-187f-2dea59cb25d5@oracle.com> Voting for Jatin Bhateja (email: jatin.bhateja at intel.com) [1] is now closed. Yes: 3 Veto: 0 Abstain: 0 According to the Bylaws definition of Lazy Consensus, this is sufficient to approve the nomination. Best regards, Vladimir Ivanov [1] http://mail.openjdk.java.net/pipermail/panama-dev/2019-April/005113.html From brian.goetz at oracle.com Sat Apr 20 18:05:07 2019 From: brian.goetz at oracle.com (Brian Goetz) Date: Sat, 20 Apr 2019 14:05:07 -0400 Subject: [vector] refactoring api for mask, shuffle creation In-Reply-To: <02FCFB8477C4EF43A2AD8E0C60F3DA2BB1AB187D@FMSMSX126.amr.corp.intel.com> References: <2beea67b-1a25-ff92-b838-b4454f9dd90a@oracle.com> <5737CF9B-4EF8-4E64-A5A4-C9AFC48646F2@oracle.com> <12767DA0-8149-4C75-863A-CAE7165EA858@oracle.com> <02FCFB8477C4EF43A2AD8E0C60F3DA2BB1AB187D@FMSMSX126.amr.corp.intel.com> Message-ID: <2036a2e5-399b-fe4f-a2e0-070835b35697@oracle.com> I think the API will be pretty much there at that point. I think that the API _specs_ could use a good scrubbing first; it's been a while since these were reviewed, and some things have been shuffled around, and we've not really scrutinized them at the level that we should before going to CSR, because we were still trying to make things work and find the right API.? Now that we've cleared that hurdle, I think spending some quality time with the specifications will be a good time investment. I think the "long pole" for getting to PTT will be getting the JIT code reviewed. On 4/19/2019 12:52 PM, Viswanathan, Sandhya wrote: > > Hi Brian, > > Thanks a lot for all your guidance through this. We plan to > incorporate the rest of the comments in next couple of days and update > the JEP accordingly. Does requesting a CSR review at 80% sometime next > week sound like a reasonable target? > > Best Regards, > > Sandhya > > *From:*Brian Goetz [mailto:brian.goetz at oracle.com] > *Sent:* Friday, April 19, 2019 4:27 AM > *To:* Kharbas, Kishor > *Cc:* panama-dev at openjdk.java.net; John Rose ; > Vladimir Ivanov ; Viswanathan, Sandhya > > *Subject:* Re: [vector] refactoring api for mask, shuffle creation > > Great. ?I sent you some minor API comments yesterday, but otherwise I > am happy with where the API has landed. ?This is a much more compact > and more approachable API than we started with. > > > > On Apr 16, 2019, at 8:22 PM, Kharbas, Kishor > > wrote: > > Hi Brian, > > Switching class Species to an interface does not perturb code > generation. In the updated patch I have made this change along > with moving the new fields to AbstractSpecies. > > New bug created :https://bugs.openjdk.java.net/browse/JDK-8222584 > > webrev > :http://cr.openjdk.java.net/~kkharbas/vector-api/8222584/webrev.01/ > > If the patch looks good, I will go ahead and push this. > > Thanks, > > Kishor > > *From:*Brian Goetz [mailto:brian.goetz at oracle.com] > *Sent:*Monday, April 15, 2019 10:46 AM > *To:*Kharbas, Kishor > > *Cc:*panama-dev at openjdk.java.net > ; John Rose > >; Vladimir > Ivanov >; Viswanathan, Sandhya > > > *Subject:*Re: [vector] refactoring api for mask, shuffle creation > > This would also be a good time to see if the generated code is > perturbed by switching Species to an interface. ?Since all the > actual Species instances are typed more sharply (e.g., > IntSpecies), I think we might be able to get away with this? ?If > we can do so now, that?s a win, as its one less thing we will be > tempted to change later. > > In any case, the behavior you are adding here (the fields, and the > constructor) should be live in AbstractSpecies, where the rest of > the state is. ?We definitely don?t want to be splitting this > across two classes. > > > > > Thanks Brian for the feedback. I also like the idea of > renaming Shape, Species, etc. Code generation is not affected > as per my testing so far, I will follow up with more testing. > > Just wanted to make sure changes to Species class (copied > below) do not undo the efforts been put to make it value friendly. > > ????? * @param the boxed element type of this species > > ????? */ > > ???? public static abstract class Species { > > - Species() {} > > + > > + @FunctionalInterface > > + interface fShuffleFromArray { > > + Shuffle apply(int[] reorder, int idx); > > +??????? } > > + > > +??????? final Function> maskFactory; > > +??????? final Function> > shuffleFromOpFactory; > > +??????? final fShuffleFromArray shuffleFromArrayFactory; > > + > > + Species(Function> maskFactory, > > + Function> shuffleFromOpFactory, > > + fShuffleFromArray shuffleFromArrayFactory) { > > + this.maskFactory = maskFactory; > > + this.shuffleFromOpFactory = shuffleFromOpFactory; > > + this.shuffleFromArrayFactory = shuffleFromArrayFactory; > > +??????? } > > ?????????/** > > ????????? * Returns the primitive element type of vectors > produced by this > > @@ -1100,6 +1120,18 @@ > > Shape s = Shape.forBitSize(vectorBitSize); > > return Species.of(c, s); > > ???????? } > > + > > + interface FOpm { > > + boolean apply(int i); > > +??????? } > > + > > + Vector.Mask opm(Vector.Species.FOpm f) { > > + boolean[] res = new boolean[length()]; > > + for (int i = 0; i < length(); i++) { > > + res[i] = f.apply(i); > > +??????????? } > > + return maskFactory.apply(res); > > +??????? } > > ???? } > > Thanks > > Kishor > > *From:*Brian Goetz [mailto:brian.goetz at oracle.com] > *Sent:*Friday, April 12, 2019 10:18 AM > *To:*Kharbas, Kishor >;panama-dev at openjdk.java.net > > *Cc:*John Rose >; Vladimir Ivanov > >; Viswanathan, Sandhya > > > *Subject:*Re: [vector] refactoring api for mask, shuffle creation > > Moving the classes to top-level is a slam-dunk. There's no > need for nesting in this API. We might ask ourselves later if > we should rename some of these (Shape -> VectorShape) but > that's easy if we decide to do so. > > I like the idea of moving the mask/shuffle creation methods to > Mask/Shuffle, since they will be easier for developers to find > (and secondarily it reduces the surface area of the API.) Now, > the Mask and Shuffle abstractions effectively stand on their > own; they are their own top-level entity, and they take > control of their own creation.? This results in a simpler API. > > I hope that the generated code remains good with this shift. > > > > On 4/11/2019 8:07 PM, Kharbas, Kishor wrote: > > Hi, > > I am experimenting with few changes to improve the API. > Specifically, > > 1.mask and shuffle creation methods (example, > maskFromArray()) right now are defined in XxxVector. From > user?s perspective it seems more intuitive for > Mask/Shuffle to define these methods. This patch moves > them out of XxxVector to their respective classes. > > 2.Moved classes ? Species, Shape, Shuffle and Mask, at the > top-level instead of being nested inside vector. > > Please help me evaluate the changes. Apart from moving > methods around and changing signatures, there are changes > in Species class -- addition of factory methods to create > masks and shuffles. > > I am in the process of testing the patch. > > Webrev > :http://cr.openjdk.java.net/~kkharbas/vector-api/species_refactoring-phase2/webrev-phase2.02/ > > Javadoc > :http://cr.openjdk.java.net/~kkharbas/vector-api/species_refactoring-phase2/webrev_phase-2.JavaDoc.02/jdk.incubator.vector/jdk/incubator/vector/package-summary.html > > Thanks > > Kishor > From giorgio.zoppi at gmail.com Sun Apr 21 18:08:55 2019 From: giorgio.zoppi at gmail.com (Giorgio Zoppi) Date: Sun, 21 Apr 2019 20:08:55 +0200 Subject: Results: New panama Committer: Jatin Bhateja In-Reply-To: <1ad18232-e576-a846-187f-2dea59cb25d5@oracle.com> References: <1ad18232-e576-a846-187f-2dea59cb25d5@oracle.com> Message-ID: Dear all, i an trying to use jextract against botan cryptolibrary. My intent is to fullfill this ticket as personal project https://github.com/randombit/botan/issues/1894. Looks likes jextract doenst support C++ namespaces. jozoppi at hpbox:~$ jextract /usr/local/include/botan-2/botan/botan.h -L /usr/local/lib/ -I /usr/local/include/botan-2/ -l botan-2 -t Botan --record-library-path -o botan2.jar java.lang.RuntimeException: /usr/local/include/botan-2/botan/assert.h:15:1: error: unknown type name 'namespace' Basically in botan.h we include assert.h and at line 15 we have: #ifndef BOTAN_ASSERTION_CHECKING_H_ #define BOTAN_ASSERTION_CHECKING_H_ #include #include namespace Botan { .... i skip the rest. What do i miss? Best Regards, Giorgio From jbvernee at xs4all.nl Sun Apr 21 19:59:09 2019 From: jbvernee at xs4all.nl (Jorn Vernee) Date: Sun, 21 Apr 2019 21:59:09 +0200 Subject: jextract and Botan Message-ID: <718c0f6a26dd84cffb138bdd71874feb@xs4all.nl> Hi Giorgio, Please note that jextract does not really support C++ yet. If you want to create bindings for Botan you will have to use the C API for now, which is also what's used for bindings of other languages it seems [1] Eye-balling the command you'd need to use, try: jextract /usr/local/include/botan-2/botan/ffi.h -L /usr/local/lib/ -I /usr/local/include/botan-2/ -l botan-2 -t Botan --record-library-path -o botan2.jar A jextract of just the header file works for me, but I can not get the build working on my machine, so I can't test the exact command. Hope this helps, Jorn [1] : https://github.com/randombit/botan/blob/e21bddd79357f2ad8576fd871d387b722192b847/src/lib/ffi/ffi.h From giorgio.zoppi at gmail.com Mon Apr 22 11:01:57 2019 From: giorgio.zoppi at gmail.com (Giorgio Zoppi) Date: Mon, 22 Apr 2019 13:01:57 +0200 Subject: jextract and Botan In-Reply-To: <718c0f6a26dd84cffb138bdd71874feb@xs4all.nl> References: <718c0f6a26dd84cffb138bdd71874feb@xs4all.nl> Message-ID: Dear Jorn, ok thanks for the answer. I will proceed in this way. Does the project panama any plan to support native c++? Best Regards, Giorgio. El dom., 21 abr. 2019 a las 21:59, Jorn Vernee () escribi?: > Hi Giorgio, > > Please note that jextract does not really support C++ yet. If you want > to create bindings for Botan you will have to use the C API for now, > which is also what's used for bindings of other languages it seems [1] > > Eye-balling the command you'd need to use, try: > > jextract /usr/local/include/botan-2/botan/ffi.h -L /usr/local/lib/ -I > /usr/local/include/botan-2/ -l botan-2 -t Botan --record-library-path -o > botan2.jar > > A jextract of just the header file works for me, but I can not get the > build working on my machine, so I can't test the exact command. > > Hope this helps, > Jorn > > [1] : > > https://github.com/randombit/botan/blob/e21bddd79357f2ad8576fd871d387b722192b847/src/lib/ffi/ffi.h > -- Life is a chess game - Anonymous. From jbvernee at xs4all.nl Mon Apr 22 14:10:21 2019 From: jbvernee at xs4all.nl (Jorn Vernee) Date: Mon, 22 Apr 2019 16:10:21 +0200 Subject: jextract and Botan In-Reply-To: References: <718c0f6a26dd84cffb138bdd71874feb@xs4all.nl> Message-ID: <982f2772dee42f304fe812227d08ad52@xs4all.nl> The plan has been to investigate C++ support at some point, but short-term the focus lies on finding a useful set of low-level APIs that other high-level functionality can be built on top of [1] Jorn [1] : https://mail.openjdk.java.net/pipermail/panama-dev/2019-April/005197.html Giorgio Zoppi schreef op 2019-04-22 13:01: > Dear Jorn, > ok thanks for the answer. I will proceed in this way. Does the project > panama any plan to support native c++? > Best Regards, > Giorgio. > > El dom., 21 abr. 2019 a las 21:59, Jorn Vernee () > escribi?: > >> Hi Giorgio, >> >> Please note that jextract does not really support C++ yet. If you >> want >> to create bindings for Botan you will have to use the C API for now, >> >> which is also what's used for bindings of other languages it seems >> [1] >> >> Eye-balling the command you'd need to use, try: >> >> jextract /usr/local/include/botan-2/botan/ffi.h -L >> /usr/local/lib/ -I >> /usr/local/include/botan-2/ -l botan-2 -t Botan >> --record-library-path -o >> botan2.jar >> >> A jextract of just the header file works for me, but I can not get >> the >> build working on my machine, so I can't test the exact command. >> >> Hope this helps, >> Jorn >> >> [1] : >> > https://github.com/randombit/botan/blob/e21bddd79357f2ad8576fd871d387b722192b847/src/lib/ffi/ffi.h > > -- > > Life is a chess game - Anonymous. From shravya.rukmannagari at intel.com Mon Apr 22 23:33:54 2019 From: shravya.rukmannagari at intel.com (shravya.rukmannagari at intel.com) Date: Mon, 22 Apr 2019 23:33:54 +0000 Subject: hg: panama/dev: Fix for Reverted Masked Reductions Message-ID: <201904222333.x3MNXs1K015170@aojmv0008.oracle.com> Changeset: 03cdb342f182 Author: srukmannagar Date: 2019-04-22 08:08 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/03cdb342f182 Fix for Reverted Masked Reductions ! changeset.log ! 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 maurizio.cimadamore at oracle.com Mon Apr 22 23:39:22 2019 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Mon, 22 Apr 2019 23:39:22 +0000 Subject: hg: panama/dev: Automatic merge with vectorIntrinsics Message-ID: <201904222339.x3MNdNaw018235@aojmv0008.oracle.com> Changeset: 9c5417be0fde Author: mcimadamore Date: 2019-04-23 01:39 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/9c5417be0fde Automatic merge with vectorIntrinsics From jbvernee at xs4all.nl Tue Apr 23 11:10:53 2019 From: jbvernee at xs4all.nl (Jorn Vernee) Date: Tue, 23 Apr 2019 13:10:53 +0200 Subject: [foreign] RFR 8222739: Port CallingSequenceTest to Windows Message-ID: Hi, I have ported the SysV CallingSequenceTest to Windows (and fixed a little bug in the process as well :) ). In an effort to reduce code duplication in the tests, I have create a testing utility that automatically checks that the number of argument classes is correct. I've updated the existing SysV CallingSequenceTest to use this utility as well. You just have to specify the argument, and the expected bindings e.g. : new Verifier(new CallingSequenceBuilderImpl(null)) .arg(Layout.of("[u64u64u64u64]"), binding(STACK_ARGUMENT_SLOT, 0), binding(STACK_ARGUMENT_SLOT, 8), binding(STACK_ARGUMENT_SLOT, 16), binding(STACK_ARGUMENT_SLOT, 24)) .check(false); Specifies 1 argument with the layout "[u64u64u64u64]", which is expected to have 4 bindings. Please review the following. Bug: https://bugs.openjdk.java.net/browse/JDK-8222739 Webrev: http://cr.openjdk.java.net/~jvernee/panama/webrevs/8222739/webrev.00/ Thanks, Jorn From kishor.kharbas at intel.com Tue Apr 23 18:09:50 2019 From: kishor.kharbas at intel.com (Kharbas, Kishor) Date: Tue, 23 Apr 2019 18:09:50 +0000 Subject: [vector] RFR 8222897: Renaming of shift, rotate operations. Few other api changes. Message-ID: Hi all, To make the api easy to use, few changes identified are - 1. Rename shift, rotate operations to be more explicit in what they do. Example, shiftL -> shiftLeft. This also follows the convention used in other libraries; example rotateLeft() in java.lang.Integer. 2. Added instance methods in Vector.java to create masks and shuffles. The goal is to help programmers by not having to maintain or acquire a reference to Species when creating masks and shuffle. These methods in turn call the static methods in VectorMask and VectorShuffle with the vector's species. 3. VectorSpecies.boxType() is confusing, rename to vectorType(). 4. Add helper method in Species to determine loop terminating condition. I have created a webrev for these changes. Requesting a review. Webrev - http://cr.openjdk.java.net/~kkharbas/vector-api/8222897/8222897-webrev.00/ Bug - https://bugs.openjdk.java.net/browse/JDK-8222897 Thanks, Kishor From kishor.kharbas at intel.com Tue Apr 23 18:54:58 2019 From: kishor.kharbas at intel.com (Kharbas, Kishor) Date: Tue, 23 Apr 2019 18:54:58 +0000 Subject: [vector] RFR 8222897: Renaming of shift, rotate operations. Few other api changes. In-Reply-To: References: Message-ID: The generated Javadoc with this change is at - http://cr.openjdk.java.net/~kkharbas/vector-api/javadoc/VectorApi-JavaDoc.04/jdk.incubator.vector/jdk/incubator/vector/package-summary.html Regards, Kishor From: Kharbas, Kishor Sent: Tuesday, April 23, 2019 11:10 AM To: panama-dev at openjdk.java.net Cc: Kharbas, Kishor Subject: [vector] RFR 8222897: Renaming of shift, rotate operations. Few other api changes. Hi all, To make the api easy to use, few changes identified are - 1. Rename shift, rotate operations to be more explicit in what they do. Example, shiftL -> shiftLeft. This also follows the convention used in other libraries; example rotateLeft() in java.lang.Integer. 2. Added instance methods in Vector.java to create masks and shuffles. The goal is to help programmers by not having to maintain or acquire a reference to Species when creating masks and shuffle. These methods in turn call the static methods in VectorMask and VectorShuffle with the vector's species. 3. VectorSpecies.boxType() is confusing, rename to vectorType(). 4. Add helper method in Species to determine loop terminating condition. I have created a webrev for these changes. Requesting a review. Webrev - http://cr.openjdk.java.net/~kkharbas/vector-api/8222897/8222897-webrev.00/ Bug - https://bugs.openjdk.java.net/browse/JDK-8222897 Thanks, Kishor From sundararajan.athijegannathan at oracle.com Wed Apr 24 09:34:06 2019 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Wed, 24 Apr 2019 15:04:06 +0530 Subject: [foreign] RFR 8222919: jextract should compile generated java sources rather than use ASM to generate class files Message-ID: <5CC02D8E.8080601@oracle.com> Please review. Bug: https://bugs.openjdk.java.net/browse/JDK-8222919 Webrev: https://cr.openjdk.java.net/~sundar/8222919/webrev.00/ Thanks -Sundar From jbvernee at xs4all.nl Wed Apr 24 11:05:43 2019 From: jbvernee at xs4all.nl (Jorn Vernee) Date: Wed, 24 Apr 2019 13:05:43 +0200 Subject: [foreign] RFR 8222919: jextract should compile generated java sources rather than use ASM to generate class files In-Reply-To: <5CC02D8E.8080601@oracle.com> References: <5CC02D8E.8080601@oracle.com> Message-ID: <02ef897e0d0f42fd8f25b65b5b6a0867@xs4all.nl> Hi Sundar, In InMemoryJavaCompiler.FileManager::getJavaFileForOutput; Should this use computeIfAbsent instead of put? You're probably more aware of the backing implementation. Is there any chance a file with the same name is requested twice, and then the previously created ClassFile object being overwritten? Also, there are some tests failing. This seems to be due to Unix vs. Windows path separators, for instance in the Runner test: test Runner.testJarManifest(): failure java.lang.AssertionError: Sets differ: expected [com.acme.pad_h, com.acme.pad_h$anon$pad_h$1195, com.acme.pad_h$PaddyStruct] but got [com\\acme\\pad_h$anon$pad_h$1195, com\\acme\\pad_h, com\\acme\\pad_h$PaddyStruct] at org.testng.Assert.fail(Assert.java:94) I'm looking into this right now, but maybe you know where the problem might be? Cheers, Jorn Sundararajan Athijegannathan schreef op 2019-04-24 11:34: > Please review. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8222919 > Webrev: https://cr.openjdk.java.net/~sundar/8222919/webrev.00/ > > Thanks > -Sundar From sundararajan.athijegannathan at oracle.com Wed Apr 24 13:18:27 2019 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Wed, 24 Apr 2019 18:48:27 +0530 Subject: [foreign] RFR 8222919: jextract should compile generated java sources rather than use ASM to generate class files In-Reply-To: <02ef897e0d0f42fd8f25b65b5b6a0867@xs4all.nl> References: <5CC02D8E.8080601@oracle.com> <02ef897e0d0f42fd8f25b65b5b6a0867@xs4all.nl> Message-ID: <5CC06223.6030207@oracle.com> Hi Jorn, Yes, I see 3 test failures on Windows (only) with internal mach5 build. I'll check this out. Thanks. -Sundar On 24/04/19, 4:35 PM, Jorn Vernee wrote: > Hi Sundar, > > In InMemoryJavaCompiler.FileManager::getJavaFileForOutput; Should this > use computeIfAbsent instead of put? You're probably more aware of the > backing implementation. Is there any chance a file with the same name > is requested twice, and then the previously created ClassFile object > being overwritten? > > Also, there are some tests failing. This seems to be due to Unix vs. > Windows path separators, for instance in the Runner test: > > test Runner.testJarManifest(): failure > java.lang.AssertionError: Sets differ: expected [com.acme.pad_h, > com.acme.pad_h$anon$pad_h$1195, com.acme.pad_h$PaddyStruct] but got > [com\\acme\\pad_h$anon$pad_h$1195, com\\acme\\pad_h, > com\\acme\\pad_h$PaddyStruct] > at org.testng.Assert.fail(Assert.java:94) > > I'm looking into this right now, but maybe you know where the problem > might be? > > Cheers, > Jorn > > Sundararajan Athijegannathan schreef op 2019-04-24 11:34: >> Please review. >> >> Bug: https://bugs.openjdk.java.net/browse/JDK-8222919 >> Webrev: https://cr.openjdk.java.net/~sundar/8222919/webrev.00/ >> >> Thanks >> -Sundar From sundararajan.athijegannathan at oracle.com Wed Apr 24 14:16:54 2019 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Wed, 24 Apr 2019 19:46:54 +0530 Subject: [foreign] RFR 8222919: jextract should compile generated java sources rather than use ASM to generate class files In-Reply-To: <5CC06223.6030207@oracle.com> References: <5CC02D8E.8080601@oracle.com> <02ef897e0d0f42fd8f25b65b5b6a0867@xs4all.nl> <5CC06223.6030207@oracle.com> Message-ID: <5CC06FD6.1010106@oracle.com> Hi, Fixed. Updated webrev: https://cr.openjdk.java.net/~sundar/8222919/webrev.01/ Issues: 1) Wrong source file name for static forwarder classes -harmless (as the name is used only in SourceFile attribute) and hence no test failure because of that. But it has been fixed to use correct source file name (with package name rather than just simple name). 2) '\\' in names of Zip/Jarfile: Previously Map used "/" separated names for class names (com/acme/Foo for com.acme.Foo). This masked the bug in JarWriter (which replaced '.' with File.separatorChar - but "." didn't occur in the name at all)! With InMemoryJavaCompiler, names are normal fully qualified classnames (com.acme.Foo) - which JarWriter transformed with "\\" (File.separatorChar) on Windows! Resulting in zip/jar file containing '\\' chars! This is a bug per Zip standard. https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT "4.4.17.1 The name of the file, with optional relative path. The path stored MUST NOT contain a drive or device letter, or a leading slash. All slashes MUST be forward slashes '/' as opposed to backwards slashes '\' for compatibility with Amiga and UNIX file systems etc. If input came from standard input, there is no file name field. " :) PS. Jorn and I discussed this via private emails as well - found the same issue independently! Submitting internal mach5 job concurrently. Thanks, -Sundar On 24/04/19, 6:48 PM, Sundararajan Athijegannathan wrote: > Hi Jorn, > > Yes, I see 3 test failures on Windows (only) with internal mach5 > build. I'll check this out. Thanks. > > -Sundar > > On 24/04/19, 4:35 PM, Jorn Vernee wrote: >> Hi Sundar, >> >> In InMemoryJavaCompiler.FileManager::getJavaFileForOutput; Should >> this use computeIfAbsent instead of put? You're probably more aware >> of the backing implementation. Is there any chance a file with the >> same name is requested twice, and then the previously created >> ClassFile object being overwritten? >> >> Also, there are some tests failing. This seems to be due to Unix vs. >> Windows path separators, for instance in the Runner test: >> >> test Runner.testJarManifest(): failure >> java.lang.AssertionError: Sets differ: expected [com.acme.pad_h, >> com.acme.pad_h$anon$pad_h$1195, com.acme.pad_h$PaddyStruct] but got >> [com\\acme\\pad_h$anon$pad_h$1195, com\\acme\\pad_h, >> com\\acme\\pad_h$PaddyStruct] >> at org.testng.Assert.fail(Assert.java:94) >> >> I'm looking into this right now, but maybe you know where the problem >> might be? >> >> Cheers, >> Jorn >> >> Sundararajan Athijegannathan schreef op 2019-04-24 11:34: >>> Please review. >>> >>> Bug: https://bugs.openjdk.java.net/browse/JDK-8222919 >>> Webrev: https://cr.openjdk.java.net/~sundar/8222919/webrev.00/ >>> >>> Thanks >>> -Sundar From jbvernee at xs4all.nl Wed Apr 24 14:53:48 2019 From: jbvernee at xs4all.nl (Jorn Vernee) Date: Wed, 24 Apr 2019 16:53:48 +0200 Subject: [foreign] RFR 8222919: jextract should compile generated java sources rather than use ASM to generate class files In-Reply-To: <5CC06FD6.1010106@oracle.com> References: <5CC02D8E.8080601@oracle.com> <02ef897e0d0f42fd8f25b65b5b6a0867@xs4all.nl> <5CC06223.6030207@oracle.com> <5CC06FD6.1010106@oracle.com> Message-ID: <50f11e503c7c4b59174210e13a373744@xs4all.nl> Looks good! Now that the transition to source code generation is complete, and the ASM factories are removed, we can start looking at the plugin/extension story some more I think? Cheers, Jorn Sundararajan Athijegannathan schreef op 2019-04-24 16:16: > Hi, > > Fixed. Updated webrev: > https://cr.openjdk.java.net/~sundar/8222919/webrev.01/ > > Issues: > > 1) Wrong source file name for static forwarder classes -harmless (as > the name is used only in SourceFile attribute) and hence no test > failure because of that. But it has been fixed to use correct source > file name (with package name rather than just simple name). > > 2) '\\' in names of Zip/Jarfile: > > Previously Map used "/" separated names for class > names (com/acme/Foo for com.acme.Foo). This masked the bug in > JarWriter (which replaced '.' with File.separatorChar - but "." didn't > occur in the name at all)! With InMemoryJavaCompiler, names are normal > fully qualified classnames (com.acme.Foo) - which JarWriter > transformed with "\\" (File.separatorChar) on Windows! Resulting in > zip/jar file containing '\\' chars! This is a bug per Zip standard. > > https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT > > "4.4.17.1 The name of the file, with optional relative path. The path > stored MUST NOT contain a drive or device letter, or a leading slash. > All slashes MUST be forward slashes '/' as opposed to backwards > slashes '\' for compatibility with Amiga and UNIX file systems etc. If > input came from standard input, there is no file name field. " > > :) > > PS. Jorn and I discussed this via private emails as well - found the > same issue independently! Submitting internal mach5 job concurrently. > > Thanks, > -Sundar > > On 24/04/19, 6:48 PM, Sundararajan Athijegannathan wrote: >> Hi Jorn, >> >> Yes, I see 3 test failures on Windows (only) with internal mach5 >> build. I'll check this out. Thanks. >> >> -Sundar >> >> On 24/04/19, 4:35 PM, Jorn Vernee wrote: >>> Hi Sundar, >>> >>> In InMemoryJavaCompiler.FileManager::getJavaFileForOutput; Should >>> this use computeIfAbsent instead of put? You're probably more aware >>> of the backing implementation. Is there any chance a file with the >>> same name is requested twice, and then the previously created >>> ClassFile object being overwritten? >>> >>> Also, there are some tests failing. This seems to be due to Unix vs. >>> Windows path separators, for instance in the Runner test: >>> >>> test Runner.testJarManifest(): failure >>> java.lang.AssertionError: Sets differ: expected [com.acme.pad_h, >>> com.acme.pad_h$anon$pad_h$1195, com.acme.pad_h$PaddyStruct] but got >>> [com\\acme\\pad_h$anon$pad_h$1195, com\\acme\\pad_h, >>> com\\acme\\pad_h$PaddyStruct] >>> at org.testng.Assert.fail(Assert.java:94) >>> >>> I'm looking into this right now, but maybe you know where the problem >>> might be? >>> >>> Cheers, >>> Jorn >>> >>> Sundararajan Athijegannathan schreef op 2019-04-24 11:34: >>>> Please review. >>>> >>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8222919 >>>> Webrev: https://cr.openjdk.java.net/~sundar/8222919/webrev.00/ >>>> >>>> Thanks >>>> -Sundar From sundararajan.athijegannathan at oracle.com Wed Apr 24 15:14:36 2019 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Wed, 24 Apr 2019 20:44:36 +0530 Subject: [foreign] RFR 8222919: jextract should compile generated java sources rather than use ASM to generate class files In-Reply-To: <50f11e503c7c4b59174210e13a373744@xs4all.nl> References: <5CC02D8E.8080601@oracle.com> <02ef897e0d0f42fd8f25b65b5b6a0867@xs4all.nl> <5CC06223.6030207@oracle.com> <5CC06FD6.1010106@oracle.com> <50f11e503c7c4b59174210e13a373744@xs4all.nl> Message-ID: <5CC07D5C.7070304@oracle.com> Thanks. Yes, we can start investigating extension/plugin api. -Sundar On 24/04/19, 8:23 PM, Jorn Vernee wrote: > Looks good! > > Now that the transition to source code generation is complete, and the > ASM factories are removed, we can start looking at the > plugin/extension story some more I think? > > Cheers, > Jorn > > Sundararajan Athijegannathan schreef op 2019-04-24 16:16: >> Hi, >> >> Fixed. Updated webrev: >> https://cr.openjdk.java.net/~sundar/8222919/webrev.01/ >> >> Issues: >> >> 1) Wrong source file name for static forwarder classes -harmless (as >> the name is used only in SourceFile attribute) and hence no test >> failure because of that. But it has been fixed to use correct source >> file name (with package name rather than just simple name). >> >> 2) '\\' in names of Zip/Jarfile: >> >> Previously Map used "/" separated names for class >> names (com/acme/Foo for com.acme.Foo). This masked the bug in >> JarWriter (which replaced '.' with File.separatorChar - but "." didn't >> occur in the name at all)! With InMemoryJavaCompiler, names are normal >> fully qualified classnames (com.acme.Foo) - which JarWriter >> transformed with "\\" (File.separatorChar) on Windows! Resulting in >> zip/jar file containing '\\' chars! This is a bug per Zip standard. >> >> https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT >> >> "4.4.17.1 The name of the file, with optional relative path. The path >> stored MUST NOT contain a drive or device letter, or a leading slash. >> All slashes MUST be forward slashes '/' as opposed to backwards >> slashes '\' for compatibility with Amiga and UNIX file systems etc. If >> input came from standard input, there is no file name field. " >> >> :) >> >> PS. Jorn and I discussed this via private emails as well - found the >> same issue independently! Submitting internal mach5 job concurrently. >> >> Thanks, >> -Sundar >> >> On 24/04/19, 6:48 PM, Sundararajan Athijegannathan wrote: >>> Hi Jorn, >>> >>> Yes, I see 3 test failures on Windows (only) with internal mach5 >>> build. I'll check this out. Thanks. >>> >>> -Sundar >>> >>> On 24/04/19, 4:35 PM, Jorn Vernee wrote: >>>> Hi Sundar, >>>> >>>> In InMemoryJavaCompiler.FileManager::getJavaFileForOutput; Should >>>> this use computeIfAbsent instead of put? You're probably more aware >>>> of the backing implementation. Is there any chance a file with the >>>> same name is requested twice, and then the previously created >>>> ClassFile object being overwritten? >>>> >>>> Also, there are some tests failing. This seems to be due to Unix >>>> vs. Windows path separators, for instance in the Runner test: >>>> >>>> test Runner.testJarManifest(): failure >>>> java.lang.AssertionError: Sets differ: expected [com.acme.pad_h, >>>> com.acme.pad_h$anon$pad_h$1195, com.acme.pad_h$PaddyStruct] but got >>>> [com\\acme\\pad_h$anon$pad_h$1195, com\\acme\\pad_h, >>>> com\\acme\\pad_h$PaddyStruct] >>>> at org.testng.Assert.fail(Assert.java:94) >>>> >>>> I'm looking into this right now, but maybe you know where the >>>> problem might be? >>>> >>>> Cheers, >>>> Jorn >>>> >>>> Sundararajan Athijegannathan schreef op 2019-04-24 11:34: >>>>> Please review. >>>>> >>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8222919 >>>>> Webrev: https://cr.openjdk.java.net/~sundar/8222919/webrev.00/ >>>>> >>>>> Thanks >>>>> -Sundar From kishor.kharbas at intel.com Wed Apr 24 18:12:03 2019 From: kishor.kharbas at intel.com (Kharbas, Kishor) Date: Wed, 24 Apr 2019 18:12:03 +0000 Subject: [vector] RFR 8222933: Test failures after api change in JDK-8222752 Message-ID: Hi, Small fix for test failures due to renaming of get() and getElement() to lane() in http://hg.openjdk.java.net/panama/dev/rev/82514a6254e6 Bug : https://bugs.openjdk.java.net/browse/JDK-8222933 Webrev : http://cr.openjdk.java.net/~kkharbas/vector-api/8222933/8222933.webrev.00/ Requesting review. Thanks, Kishor From sandhya.viswanathan at intel.com Wed Apr 24 19:23:58 2019 From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya) Date: Wed, 24 Apr 2019 19:23:58 +0000 Subject: [vector] RFR 8222933: Test failures after api change in JDK-8222752 In-Reply-To: References: Message-ID: <02FCFB8477C4EF43A2AD8E0C60F3DA2BB1AB2FA6@FMSMSX126.amr.corp.intel.com> Looks good to me. Thanks, Sandhya -----Original Message----- From: panama-dev [mailto:panama-dev-bounces at openjdk.java.net] On Behalf Of Kharbas, Kishor Sent: Wednesday, April 24, 2019 11:12 AM To: panama-dev at openjdk.java.net Subject: [vector] RFR 8222933: Test failures after api change in JDK-8222752 Hi, Small fix for test failures due to renaming of get() and getElement() to lane() in http://hg.openjdk.java.net/panama/dev/rev/82514a6254e6 Bug : https://bugs.openjdk.java.net/browse/JDK-8222933 Webrev : http://cr.openjdk.java.net/~kkharbas/vector-api/8222933/8222933.webrev.00/ Requesting review. Thanks, Kishor From kishor.kharbas at intel.com Wed Apr 24 20:39:25 2019 From: kishor.kharbas at intel.com (kishor.kharbas at intel.com) Date: Wed, 24 Apr 2019 20:39:25 +0000 Subject: hg: panama/dev: 8222933: [vector] Test failures after api change in JDK-8222752 Message-ID: <201904242039.x3OKdPad012198@aojmv0008.oracle.com> Changeset: 03d6de7473fb Author: kkharbas Date: 2019-04-24 10:46 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/03d6de7473fb 8222933: [vector] Test failures after api change in JDK-8222752 Summary: Test failure becaues of renaming get() and getElement() functions to lane() in changeset http://hg.openjdk.java.net/panama/dev/rev/82514a6254e6 Reviewed-by: sviswanathan ! test/jdk/jdk/incubator/vector/Byte128VectorTests.java ! test/jdk/jdk/incubator/vector/Byte256VectorTests.java ! test/jdk/jdk/incubator/vector/Byte512VectorTests.java ! test/jdk/jdk/incubator/vector/Byte64VectorTests.java ! test/jdk/jdk/incubator/vector/ByteMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Double128VectorTests.java ! test/jdk/jdk/incubator/vector/Double256VectorTests.java ! test/jdk/jdk/incubator/vector/Double512VectorTests.java ! test/jdk/jdk/incubator/vector/Double64VectorTests.java ! test/jdk/jdk/incubator/vector/DoubleMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Float128VectorTests.java ! test/jdk/jdk/incubator/vector/Float256VectorTests.java ! test/jdk/jdk/incubator/vector/Float512VectorTests.java ! test/jdk/jdk/incubator/vector/Float64VectorTests.java ! test/jdk/jdk/incubator/vector/FloatMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Int128VectorTests.java ! test/jdk/jdk/incubator/vector/Int256VectorTests.java ! test/jdk/jdk/incubator/vector/Int512VectorTests.java ! test/jdk/jdk/incubator/vector/Int64VectorTests.java ! test/jdk/jdk/incubator/vector/IntMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Long128VectorTests.java ! test/jdk/jdk/incubator/vector/Long256VectorTests.java ! test/jdk/jdk/incubator/vector/Long512VectorTests.java ! test/jdk/jdk/incubator/vector/Long64VectorTests.java ! test/jdk/jdk/incubator/vector/LongMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Short128VectorTests.java ! test/jdk/jdk/incubator/vector/Short256VectorTests.java ! test/jdk/jdk/incubator/vector/Short512VectorTests.java ! test/jdk/jdk/incubator/vector/Short64VectorTests.java ! test/jdk/jdk/incubator/vector/ShortMaxVectorTests.java ! test/jdk/jdk/incubator/vector/VectorHash.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Byte128Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Byte256Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Byte512Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Byte64Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/ByteMaxVector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Double128Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Double256Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Double512Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Double64Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/DoubleMaxVector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Float128Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Float256Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Float512Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Float64Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/FloatMaxVector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Int128Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Int256Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Int512Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Int64Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/IntMaxVector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Long128Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Long256Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Long512Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Long64Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/LongMaxVector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Short128Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Short256Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Short512Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Short64Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/ShortMaxVector.java ! test/jdk/jdk/incubator/vector/templates/Kernel-Get-op.template ! test/jdk/jdk/incubator/vector/templates/Unit-Compare.template From maurizio.cimadamore at oracle.com Wed Apr 24 20:44:26 2019 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Wed, 24 Apr 2019 20:44:26 +0000 Subject: hg: panama/dev: Automatic merge with vectorIntrinsics Message-ID: <201904242044.x3OKiRnI016746@aojmv0008.oracle.com> Changeset: 1a5f4e91dd21 Author: mcimadamore Date: 2019-04-24 22:44 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/1a5f4e91dd21 Automatic merge with vectorIntrinsics From sundararajan.athijegannathan at oracle.com Thu Apr 25 10:44:16 2019 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Thu, 25 Apr 2019 16:14:16 +0530 Subject: [foreign] RFR 8222919: jextract should compile generated java sources rather than use ASM to generate class files In-Reply-To: <5CC07D5C.7070304@oracle.com> References: <5CC02D8E.8080601@oracle.com> <02ef897e0d0f42fd8f25b65b5b6a0867@xs4all.nl> <5CC06223.6030207@oracle.com> <5CC06FD6.1010106@oracle.com> <50f11e503c7c4b59174210e13a373744@xs4all.nl> <5CC07D5C.7070304@oracle.com> Message-ID: <5CC18F80.6030705@oracle.com> Updated: http://cr.openjdk.java.net/~sundar/8222919/webrev.02/ Removed unused (asm related) stuff from JType.java PS. All platform tests passed with Internal mach5 job. -Sundar On 24/04/19, 8:44 PM, Sundararajan Athijegannathan wrote: > Thanks. > > Yes, we can start investigating extension/plugin api. > > -Sundar > > On 24/04/19, 8:23 PM, Jorn Vernee wrote: >> Looks good! >> >> Now that the transition to source code generation is complete, and >> the ASM factories are removed, we can start looking at the >> plugin/extension story some more I think? >> >> Cheers, >> Jorn >> >> Sundararajan Athijegannathan schreef op 2019-04-24 16:16: >>> Hi, >>> >>> Fixed. Updated webrev: >>> https://cr.openjdk.java.net/~sundar/8222919/webrev.01/ >>> >>> Issues: >>> >>> 1) Wrong source file name for static forwarder classes -harmless (as >>> the name is used only in SourceFile attribute) and hence no test >>> failure because of that. But it has been fixed to use correct source >>> file name (with package name rather than just simple name). >>> >>> 2) '\\' in names of Zip/Jarfile: >>> >>> Previously Map used "/" separated names for class >>> names (com/acme/Foo for com.acme.Foo). This masked the bug in >>> JarWriter (which replaced '.' with File.separatorChar - but "." didn't >>> occur in the name at all)! With InMemoryJavaCompiler, names are normal >>> fully qualified classnames (com.acme.Foo) - which JarWriter >>> transformed with "\\" (File.separatorChar) on Windows! Resulting in >>> zip/jar file containing '\\' chars! This is a bug per Zip standard. >>> >>> https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT >>> >>> "4.4.17.1 The name of the file, with optional relative path. The path >>> stored MUST NOT contain a drive or device letter, or a leading slash. >>> All slashes MUST be forward slashes '/' as opposed to backwards >>> slashes '\' for compatibility with Amiga and UNIX file systems etc. If >>> input came from standard input, there is no file name field. " >>> >>> :) >>> >>> PS. Jorn and I discussed this via private emails as well - found the >>> same issue independently! Submitting internal mach5 job concurrently. >>> >>> Thanks, >>> -Sundar >>> >>> On 24/04/19, 6:48 PM, Sundararajan Athijegannathan wrote: >>>> Hi Jorn, >>>> >>>> Yes, I see 3 test failures on Windows (only) with internal mach5 >>>> build. I'll check this out. Thanks. >>>> >>>> -Sundar >>>> >>>> On 24/04/19, 4:35 PM, Jorn Vernee wrote: >>>>> Hi Sundar, >>>>> >>>>> In InMemoryJavaCompiler.FileManager::getJavaFileForOutput; Should >>>>> this use computeIfAbsent instead of put? You're probably more >>>>> aware of the backing implementation. Is there any chance a file >>>>> with the same name is requested twice, and then the previously >>>>> created ClassFile object being overwritten? >>>>> >>>>> Also, there are some tests failing. This seems to be due to Unix >>>>> vs. Windows path separators, for instance in the Runner test: >>>>> >>>>> test Runner.testJarManifest(): failure >>>>> java.lang.AssertionError: Sets differ: expected [com.acme.pad_h, >>>>> com.acme.pad_h$anon$pad_h$1195, com.acme.pad_h$PaddyStruct] but >>>>> got [com\\acme\\pad_h$anon$pad_h$1195, com\\acme\\pad_h, >>>>> com\\acme\\pad_h$PaddyStruct] >>>>> at org.testng.Assert.fail(Assert.java:94) >>>>> >>>>> I'm looking into this right now, but maybe you know where the >>>>> problem might be? >>>>> >>>>> Cheers, >>>>> Jorn >>>>> >>>>> Sundararajan Athijegannathan schreef op 2019-04-24 11:34: >>>>>> Please review. >>>>>> >>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8222919 >>>>>> Webrev: https://cr.openjdk.java.net/~sundar/8222919/webrev.00/ >>>>>> >>>>>> Thanks >>>>>> -Sundar From henry.jen at oracle.com Thu Apr 25 15:07:54 2019 From: henry.jen at oracle.com (Henry Jen) Date: Thu, 25 Apr 2019 08:07:54 -0700 Subject: [foreign] RFR 8222919: jextract should compile generated java sources rather than use ASM to generate class files In-Reply-To: <5CC18F80.6030705@oracle.com> References: <5CC02D8E.8080601@oracle.com> <02ef897e0d0f42fd8f25b65b5b6a0867@xs4all.nl> <5CC06223.6030207@oracle.com> <5CC06FD6.1010106@oracle.com> <50f11e503c7c4b59174210e13a373744@xs4all.nl> <5CC07D5C.7070304@oracle.com> <5CC18F80.6030705@oracle.com> Message-ID: Looks good, it?s nice to have source and actually use javac to generate classes. - In Writer.java, we change the JEXTRACT_MANIFEST, while it?s good for zip entry, I am not sure how tolerate that is for nio op in line 79. - In InMemoryJavaCompiler.java:59, the error message says ?Test bug?? Cheers, Henry > On Apr 25, 2019, at 3:44 AM, Sundararajan Athijegannathan wrote: > > > Updated: http://cr.openjdk.java.net/~sundar/8222919/webrev.02/ > > Removed unused (asm related) stuff from JType.java > > PS. All platform tests passed with Internal mach5 job. > > -Sundar > > On 24/04/19, 8:44 PM, Sundararajan Athijegannathan wrote: >> Thanks. >> >> Yes, we can start investigating extension/plugin api. >> >> -Sundar >> >> On 24/04/19, 8:23 PM, Jorn Vernee wrote: >>> Looks good! >>> >>> Now that the transition to source code generation is complete, and the ASM factories are removed, we can start looking at the plugin/extension story some more I think? >>> >>> Cheers, >>> Jorn >>> >>> Sundararajan Athijegannathan schreef op 2019-04-24 16:16: >>>> Hi, >>>> >>>> Fixed. Updated webrev: https://cr.openjdk.java.net/~sundar/8222919/webrev.01/ >>>> >>>> Issues: >>>> >>>> 1) Wrong source file name for static forwarder classes -harmless (as >>>> the name is used only in SourceFile attribute) and hence no test >>>> failure because of that. But it has been fixed to use correct source >>>> file name (with package name rather than just simple name). >>>> >>>> 2) '\\' in names of Zip/Jarfile: >>>> >>>> Previously Map used "/" separated names for class >>>> names (com/acme/Foo for com.acme.Foo). This masked the bug in >>>> JarWriter (which replaced '.' with File.separatorChar - but "." didn't >>>> occur in the name at all)! With InMemoryJavaCompiler, names are normal >>>> fully qualified classnames (com.acme.Foo) - which JarWriter >>>> transformed with "\\" (File.separatorChar) on Windows! Resulting in >>>> zip/jar file containing '\\' chars! This is a bug per Zip standard. >>>> >>>> https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT >>>> >>>> "4.4.17.1 The name of the file, with optional relative path. The path >>>> stored MUST NOT contain a drive or device letter, or a leading slash. >>>> All slashes MUST be forward slashes '/' as opposed to backwards >>>> slashes '\' for compatibility with Amiga and UNIX file systems etc. If >>>> input came from standard input, there is no file name field. " >>>> >>>> :) >>>> >>>> PS. Jorn and I discussed this via private emails as well - found the >>>> same issue independently! Submitting internal mach5 job concurrently. >>>> >>>> Thanks, >>>> -Sundar >>>> >>>> On 24/04/19, 6:48 PM, Sundararajan Athijegannathan wrote: >>>>> Hi Jorn, >>>>> >>>>> Yes, I see 3 test failures on Windows (only) with internal mach5 build. I'll check this out. Thanks. >>>>> >>>>> -Sundar >>>>> >>>>> On 24/04/19, 4:35 PM, Jorn Vernee wrote: >>>>>> Hi Sundar, >>>>>> >>>>>> In InMemoryJavaCompiler.FileManager::getJavaFileForOutput; Should this use computeIfAbsent instead of put? You're probably more aware of the backing implementation. Is there any chance a file with the same name is requested twice, and then the previously created ClassFile object being overwritten? >>>>>> >>>>>> Also, there are some tests failing. This seems to be due to Unix vs. Windows path separators, for instance in the Runner test: >>>>>> >>>>>> test Runner.testJarManifest(): failure >>>>>> java.lang.AssertionError: Sets differ: expected [com.acme.pad_h, com.acme.pad_h$anon$pad_h$1195, com.acme.pad_h$PaddyStruct] but got [com\\acme\\pad_h$anon$pad_h$1195, com\\acme\\pad_h, com\\acme\\pad_h$PaddyStruct] >>>>>> at org.testng.Assert.fail(Assert.java:94) >>>>>> >>>>>> I'm looking into this right now, but maybe you know where the problem might be? >>>>>> >>>>>> Cheers, >>>>>> Jorn >>>>>> >>>>>> Sundararajan Athijegannathan schreef op 2019-04-24 11:34: >>>>>>> Please review. >>>>>>> >>>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8222919 >>>>>>> Webrev: https://cr.openjdk.java.net/~sundar/8222919/webrev.00/ >>>>>>> >>>>>>> Thanks >>>>>>> -Sundar From sundararajan.athijegannathan at oracle.com Thu Apr 25 17:41:38 2019 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Thu, 25 Apr 2019 23:11:38 +0530 Subject: [foreign] RFR 8222919: jextract should compile generated java sources rather than use ASM to generate class files In-Reply-To: References: <5CC02D8E.8080601@oracle.com> <02ef897e0d0f42fd8f25b65b5b6a0867@xs4all.nl> <5CC06223.6030207@oracle.com> <5CC06FD6.1010106@oracle.com> <50f11e503c7c4b59174210e13a373744@xs4all.nl> <5CC07D5C.7070304@oracle.com> <5CC18F80.6030705@oracle.com> Message-ID: <5CC1F152.7020401@oracle.com> Thanks for your review. Updated: http://cr.openjdk.java.net/~sundar/8222919/webrev.03/ -Sundar On 25/04/19, 8:37 PM, Henry Jen wrote: > Looks good, it?s nice to have source and actually use javac to generate classes. > > - In Writer.java, we change the JEXTRACT_MANIFEST, while it?s good for zip entry, I am not sure how tolerate that is for nio op in line 79. > > - In InMemoryJavaCompiler.java:59, the error message says ?Test bug?? > > Cheers, > Henry > > >> On Apr 25, 2019, at 3:44 AM, Sundararajan Athijegannathan wrote: >> >> >> Updated: http://cr.openjdk.java.net/~sundar/8222919/webrev.02/ >> >> Removed unused (asm related) stuff from JType.java >> >> PS. All platform tests passed with Internal mach5 job. >> >> -Sundar >> >> On 24/04/19, 8:44 PM, Sundararajan Athijegannathan wrote: >>> Thanks. >>> >>> Yes, we can start investigating extension/plugin api. >>> >>> -Sundar >>> >>> On 24/04/19, 8:23 PM, Jorn Vernee wrote: >>>> Looks good! >>>> >>>> Now that the transition to source code generation is complete, and the ASM factories are removed, we can start looking at the plugin/extension story some more I think? >>>> >>>> Cheers, >>>> Jorn >>>> >>>> Sundararajan Athijegannathan schreef op 2019-04-24 16:16: >>>>> Hi, >>>>> >>>>> Fixed. Updated webrev: https://cr.openjdk.java.net/~sundar/8222919/webrev.01/ >>>>> >>>>> Issues: >>>>> >>>>> 1) Wrong source file name for static forwarder classes -harmless (as >>>>> the name is used only in SourceFile attribute) and hence no test >>>>> failure because of that. But it has been fixed to use correct source >>>>> file name (with package name rather than just simple name). >>>>> >>>>> 2) '\\' in names of Zip/Jarfile: >>>>> >>>>> Previously Map used "/" separated names for class >>>>> names (com/acme/Foo for com.acme.Foo). This masked the bug in >>>>> JarWriter (which replaced '.' with File.separatorChar - but "." didn't >>>>> occur in the name at all)! With InMemoryJavaCompiler, names are normal >>>>> fully qualified classnames (com.acme.Foo) - which JarWriter >>>>> transformed with "\\" (File.separatorChar) on Windows! Resulting in >>>>> zip/jar file containing '\\' chars! This is a bug per Zip standard. >>>>> >>>>> https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT >>>>> >>>>> "4.4.17.1 The name of the file, with optional relative path. The path >>>>> stored MUST NOT contain a drive or device letter, or a leading slash. >>>>> All slashes MUST be forward slashes '/' as opposed to backwards >>>>> slashes '\' for compatibility with Amiga and UNIX file systems etc. If >>>>> input came from standard input, there is no file name field. " >>>>> >>>>> :) >>>>> >>>>> PS. Jorn and I discussed this via private emails as well - found the >>>>> same issue independently! Submitting internal mach5 job concurrently. >>>>> >>>>> Thanks, >>>>> -Sundar >>>>> >>>>> On 24/04/19, 6:48 PM, Sundararajan Athijegannathan wrote: >>>>>> Hi Jorn, >>>>>> >>>>>> Yes, I see 3 test failures on Windows (only) with internal mach5 build. I'll check this out. Thanks. >>>>>> >>>>>> -Sundar >>>>>> >>>>>> On 24/04/19, 4:35 PM, Jorn Vernee wrote: >>>>>>> Hi Sundar, >>>>>>> >>>>>>> In InMemoryJavaCompiler.FileManager::getJavaFileForOutput; Should this use computeIfAbsent instead of put? You're probably more aware of the backing implementation. Is there any chance a file with the same name is requested twice, and then the previously created ClassFile object being overwritten? >>>>>>> >>>>>>> Also, there are some tests failing. This seems to be due to Unix vs. Windows path separators, for instance in the Runner test: >>>>>>> >>>>>>> test Runner.testJarManifest(): failure >>>>>>> java.lang.AssertionError: Sets differ: expected [com.acme.pad_h, com.acme.pad_h$anon$pad_h$1195, com.acme.pad_h$PaddyStruct] but got [com\\acme\\pad_h$anon$pad_h$1195, com\\acme\\pad_h, com\\acme\\pad_h$PaddyStruct] >>>>>>> at org.testng.Assert.fail(Assert.java:94) >>>>>>> >>>>>>> I'm looking into this right now, but maybe you know where the problem might be? >>>>>>> >>>>>>> Cheers, >>>>>>> Jorn >>>>>>> >>>>>>> Sundararajan Athijegannathan schreef op 2019-04-24 11:34: >>>>>>>> Please review. >>>>>>>> >>>>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8222919 >>>>>>>> Webrev: https://cr.openjdk.java.net/~sundar/8222919/webrev.00/ >>>>>>>> >>>>>>>> Thanks >>>>>>>> -Sundar From sundararajan.athijegannathan at oracle.com Fri Apr 26 02:27:25 2019 From: sundararajan.athijegannathan at oracle.com (sundararajan.athijegannathan at oracle.com) Date: Fri, 26 Apr 2019 02:27:25 +0000 Subject: hg: panama/dev: 8222919: jextract should compile generated java sources rather than use ASM to generate class files Message-ID: <201904260227.x3Q2RQX6008740@aojmv0008.oracle.com> Changeset: af87462e8dd4 Author: sundar Date: 2019-04-26 08:03 +0530 URL: http://hg.openjdk.java.net/panama/dev/rev/af87462e8dd4 8222919: jextract should compile generated java sources rather than use ASM to generate class files Reviewed-by: henryjen, jvernee ! src/java.base/share/classes/module-info.java - src/jdk.jextract/share/classes/com/sun/tools/jextract/AsmCodeFactory.java - src/jdk.jextract/share/classes/com/sun/tools/jextract/AsmCodeFactoryExt.java + src/jdk.jextract/share/classes/com/sun/tools/jextract/InMemoryJavaCompiler.java ! src/jdk.jextract/share/classes/com/sun/tools/jextract/JModWriter.java ! src/jdk.jextract/share/classes/com/sun/tools/jextract/JType.java ! src/jdk.jextract/share/classes/com/sun/tools/jextract/JarWriter.java ! src/jdk.jextract/share/classes/com/sun/tools/jextract/JavaSourceFactory.java ! src/jdk.jextract/share/classes/com/sun/tools/jextract/JavaSourceFactoryExt.java ! src/jdk.jextract/share/classes/com/sun/tools/jextract/JextractTool.java ! src/jdk.jextract/share/classes/com/sun/tools/jextract/Writer.java ! src/jdk.jextract/share/classes/module-info.java ! test/jdk/com/sun/tools/jextract/Runner.java From sundararajan.athijegannathan at oracle.com Fri Apr 26 05:32:19 2019 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Fri, 26 Apr 2019 11:02:19 +0530 Subject: [foreign] RFR 8223009: clang standard headers are not copied to $JDK/conf/jextract if there are more than one clang versions Message-ID: <5CC297E3.9030006@oracle.com> Please review. Bug: https://bugs.openjdk.java.net/browse/JDK-8223009 Webrev: https://cr.openjdk.java.net/~sundar/8223009/webrev.00/ Thanks, -Sundar From sundararajan.athijegannathan at oracle.com Fri Apr 26 12:35:54 2019 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Fri, 26 Apr 2019 18:05:54 +0530 Subject: [foreign] RFR 8223009: clang standard headers are not copied to $JDK/conf/jextract if there are more than one clang versions In-Reply-To: <5CC297E3.9030006@oracle.com> References: <5CC297E3.9030006@oracle.com> Message-ID: <5CC2FB2A.1030404@oracle.com> On 26/04/19, 11:02 AM, Sundararajan Athijegannathan wrote: > Please review. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8223009 > Webrev: https://cr.openjdk.java.net/~sundar/8223009/webrev.00/ > > Thanks, > -Sundar From james.laskey at oracle.com Fri Apr 26 12:45:08 2019 From: james.laskey at oracle.com (Jim Laskey) Date: Fri, 26 Apr 2019 09:45:08 -0300 Subject: [foreign] RFR 8223009: clang standard headers are not copied to $JDK/conf/jextract if there are more than one clang versions Message-ID: <0867EF4E-863C-4684-8853-1028C278E394@oracle.com> +1 > Please review. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8223009 > Webrev: https://cr.openjdk.java.net/~sundar/8223009/webrev.00/ > > Thanks, > -Sundar From sundararajan.athijegannathan at oracle.com Fri Apr 26 12:51:13 2019 From: sundararajan.athijegannathan at oracle.com (sundararajan.athijegannathan at oracle.com) Date: Fri, 26 Apr 2019 12:51:13 +0000 Subject: hg: panama/dev: 8223009: clang standard headers are not copied to $JDK/conf/jextract if there are more than one clang versions Message-ID: <201904261251.x3QCpEbd019317@aojmv0008.oracle.com> Changeset: 664abc4e7063 Author: sundar Date: 2019-04-26 18:27 +0530 URL: http://hg.openjdk.java.net/panama/dev/rev/664abc4e7063 8223009: clang standard headers are not copied to $JDK/conf/jextract if there are more than one clang versions Reviewed-by: jlaskey ! make/autoconf/lib-clang.m4 From james.laskey at oracle.com Fri Apr 26 14:39:52 2019 From: james.laskey at oracle.com (Jim Laskey) Date: Fri, 26 Apr 2019 11:39:52 -0300 Subject: [foreign] RFR - JDK-8223033 panama_foreign.md should have a basic hello world example Message-ID: <9C5D1E44-7B2B-4DA9-9F9A-E439F3C4F2A7@oracle.com> webrev: http://cr.openjdk.java.net/~jlaskey/8223003/webrev-01 jbs: https://bugs.openjdk.java.net/browse/JDK-8223033 From sundararajan.athijegannathan at oracle.com Fri Apr 26 14:53:07 2019 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Fri, 26 Apr 2019 20:23:07 +0530 Subject: [foreign] RFR - JDK-8223033 panama_foreign.md should have a basic hello world example In-Reply-To: <9C5D1E44-7B2B-4DA9-9F9A-E439F3C4F2A7@oracle.com> References: <9C5D1E44-7B2B-4DA9-9F9A-E439F3C4F2A7@oracle.com> Message-ID: <5CC31B53.7030102@oracle.com> * #endif clause missing in header file helloworld.h * compiler instructions to built shared object is missing (in other example, shared object exists already) Something like: cc -shared -o helloworld.dylib helloworld.c * File names may be specified for helloworld.h, helloworld.c (perhaps by comment) -Sundar On 26/04/19, 8:09 PM, Jim Laskey wrote: > webrev: http://cr.openjdk.java.net/~jlaskey/8223003/webrev-01 > jbs: https://bugs.openjdk.java.net/browse/JDK-8223033 > From james.laskey at oracle.com Fri Apr 26 15:16:35 2019 From: james.laskey at oracle.com (Jim Laskey) Date: Fri, 26 Apr 2019 12:16:35 -0300 Subject: [foreign] RFR - JDK-8223033 panama_foreign.md should have a basic hello world example In-Reply-To: <5CC31B53.7030102@oracle.com> References: <9C5D1E44-7B2B-4DA9-9F9A-E439F3C4F2A7@oracle.com> <5CC31B53.7030102@oracle.com> Message-ID: <42C19BE3-4B23-4049-9856-5AA3158B3552@oracle.com> Updated. webrev: http://cr.openjdk.java.net/~jlaskey/8223003/webrev-02 > On Apr 26, 2019, at 11:53 AM, Sundararajan Athijegannathan wrote: > > * #endif clause missing in header file helloworld.h > > * compiler instructions to built shared object is missing (in other example, shared object exists already) > Something like: > > cc -shared -o helloworld.dylib helloworld.c > > * File names may be specified for helloworld.h, helloworld.c (perhaps by comment) > > -Sundar > > On 26/04/19, 8:09 PM, Jim Laskey wrote: >> webrev: http://cr.openjdk.java.net/~jlaskey/8223003/webrev-01 >> jbs: https://bugs.openjdk.java.net/browse/JDK-8223033 >> From james.laskey at oracle.com Fri Apr 26 16:39:43 2019 From: james.laskey at oracle.com (james.laskey at oracle.com) Date: Fri, 26 Apr 2019 16:39:43 +0000 Subject: hg: panama/dev: 8223033: panama_foreign.md should have a basic hello world example Message-ID: <201904261639.x3QGdiU6006569@aojmv0008.oracle.com> Changeset: 40e71d36d71d Author: jlaskey Date: 2019-04-26 13:38 -0300 URL: http://hg.openjdk.java.net/panama/dev/rev/40e71d36d71d 8223033: panama_foreign.md should have a basic hello world example Reviewed-by: sundar ! doc/panama_foreign.html ! doc/panama_foreign.md From kishor.kharbas at intel.com Fri Apr 26 22:55:55 2019 From: kishor.kharbas at intel.com (Kharbas, Kishor) Date: Fri, 26 Apr 2019 22:55:55 +0000 Subject: [vector] RFR 8222897: Renaming of shift, rotate operations. Few other api changes. References: Message-ID: Hi, I have an updated patch with some more changes - 1. Renaming cross-lane operations like addAll() to addLanes(). 2. Added missing shift*(ByteVector) and rotate*(ByteVector) methods in ByteVector and also in ShortVector. 3. Fixed some issues identified in Javadoc. 4. Fixed the tests and benchmark as per the api changes. Webrev - http://cr.openjdk.java.net/~kkharbas/vector-api/8222897/8222897-webrev.01/ Resulting Javadoc - http://cr.openjdk.java.net/~kkharbas/vector-api/javadoc/VectorApi-JavaDoc.05/jdk.incubator.vector/jdk/incubator/vector/package-summary.html Thanks, Kishor From: Kharbas, Kishor Sent: Tuesday, April 23, 2019 11:55 AM To: panama-dev at openjdk.java.net Cc: Brian Goetz ; John Rose ; Viswanathan, Sandhya ; Kharbas, Kishor Subject: RE: [vector] RFR 8222897: Renaming of shift, rotate operations. Few other api changes. The generated Javadoc with this change is at - http://cr.openjdk.java.net/~kkharbas/vector-api/javadoc/VectorApi-JavaDoc.04/jdk.incubator.vector/jdk/incubator/vector/package-summary.html Regards, Kishor From: Kharbas, Kishor Sent: Tuesday, April 23, 2019 11:10 AM To: panama-dev at openjdk.java.net Cc: Kharbas, Kishor > Subject: [vector] RFR 8222897: Renaming of shift, rotate operations. Few other api changes. Hi all, To make the api easy to use, few changes identified are - 1. Rename shift, rotate operations to be more explicit in what they do. Example, shiftL -> shiftLeft. This also follows the convention used in other libraries; example rotateLeft() in java.lang.Integer. 2. Added instance methods in Vector.java to create masks and shuffles. The goal is to help programmers by not having to maintain or acquire a reference to Species when creating masks and shuffle. These methods in turn call the static methods in VectorMask and VectorShuffle with the vector's species. 3. VectorSpecies.boxType() is confusing, rename to vectorType(). 4. Add helper method in Species to determine loop terminating condition. I have created a webrev for these changes. Requesting a review. Webrev - http://cr.openjdk.java.net/~kkharbas/vector-api/8222897/8222897-webrev.00/ Bug - https://bugs.openjdk.java.net/browse/JDK-8222897 Thanks, Kishor From kishor.kharbas at intel.com Fri Apr 26 22:57:01 2019 From: kishor.kharbas at intel.com (kishor.kharbas at intel.com) Date: Fri, 26 Apr 2019 22:57:01 +0000 Subject: hg: panama/dev: 8222897: [vector] Renaming of shift, rotate operations. Few other api changes. Message-ID: <201904262257.x3QMv1iQ007859@aojmv0008.oracle.com> Changeset: 54c20dc2769a Author: kkharbas Date: 2019-04-26 14:26 -0700 URL: http://hg.openjdk.java.net/panama/dev/rev/54c20dc2769a 8222897: [vector] Renaming of shift, rotate operations. Few other api changes. Summary: Renaming of shift, rotate operations. Few other api changes. Reviewed-by: jrose, briangoetz ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/AbstractMask.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/AbstractSpecies.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/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/VectorMask.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorShuffle.java ! src/jdk.incubator.vector/share/classes/jdk/incubator/vector/VectorSpecies.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/package-info.java ! test/jdk/jdk/incubator/vector/Byte128VectorTests.java ! test/jdk/jdk/incubator/vector/Byte256VectorTests.java ! test/jdk/jdk/incubator/vector/Byte512VectorTests.java ! test/jdk/jdk/incubator/vector/Byte64VectorTests.java ! test/jdk/jdk/incubator/vector/ByteMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Double128VectorTests.java ! test/jdk/jdk/incubator/vector/Double256VectorTests.java ! test/jdk/jdk/incubator/vector/Double512VectorTests.java ! test/jdk/jdk/incubator/vector/Double64VectorTests.java ! test/jdk/jdk/incubator/vector/DoubleMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Float128VectorTests.java ! test/jdk/jdk/incubator/vector/Float256VectorTests.java ! test/jdk/jdk/incubator/vector/Float512VectorTests.java ! test/jdk/jdk/incubator/vector/Float64VectorTests.java ! test/jdk/jdk/incubator/vector/FloatMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Int128VectorTests.java ! test/jdk/jdk/incubator/vector/Int256VectorTests.java ! test/jdk/jdk/incubator/vector/Int512VectorTests.java ! test/jdk/jdk/incubator/vector/Int64VectorTests.java ! test/jdk/jdk/incubator/vector/IntMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Long128VectorTests.java ! test/jdk/jdk/incubator/vector/Long256VectorTests.java ! test/jdk/jdk/incubator/vector/Long512VectorTests.java ! test/jdk/jdk/incubator/vector/Long64VectorTests.java ! test/jdk/jdk/incubator/vector/LongMaxVectorTests.java ! test/jdk/jdk/incubator/vector/Short128VectorTests.java ! test/jdk/jdk/incubator/vector/Short256VectorTests.java ! test/jdk/jdk/incubator/vector/Short512VectorTests.java ! test/jdk/jdk/incubator/vector/Short64VectorTests.java ! test/jdk/jdk/incubator/vector/ShortMaxVectorTests.java ! test/jdk/jdk/incubator/vector/VectorHash.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/crypto/ChaChaBench.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/crypto/Poly1305Bench.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/AbstractVectorBenchmark.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Byte128Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Byte256Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Byte512Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Byte64Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/ByteMaxVector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/ByteScalar.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Double128Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Double256Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Double512Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Double64Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/DoubleMaxVector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/DoubleScalar.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Float128Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Float256Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Float512Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Float64Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/FloatMaxVector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/FloatScalar.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Int128Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Int256Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Int512Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Int64Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/IntMaxVector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/IntScalar.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Long128Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Long256Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Long512Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Long64Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/LongMaxVector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/LongScalar.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Merge.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/PopulationCount.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Short128Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Short256Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Short512Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/Short64Vector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/ShortMaxVector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/ShortScalar.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/SortVector.java ! test/jdk/jdk/incubator/vector/benchmark/src/main/java/benchmark/jdk/incubator/vector/SumOfUnsignedBytes.java ! test/jdk/jdk/incubator/vector/gen-template.sh ! test/jdk/jdk/incubator/vector/templates/Perf-Compare.template ! test/jdk/jdk/incubator/vector/templates/Perf-header.template From maurizio.cimadamore at oracle.com Fri Apr 26 22:59:43 2019 From: maurizio.cimadamore at oracle.com (maurizio.cimadamore at oracle.com) Date: Fri, 26 Apr 2019 22:59:43 +0000 Subject: hg: panama/dev: Automatic merge with vectorIntrinsics Message-ID: <201904262259.x3QMxhZQ008812@aojmv0008.oracle.com> Changeset: 6a27ea0ccb81 Author: mcimadamore Date: 2019-04-27 00:59 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/6a27ea0ccb81 Automatic merge with vectorIntrinsics From sandhya.viswanathan at intel.com Fri Apr 26 23:09:33 2019 From: sandhya.viswanathan at intel.com (Viswanathan, Sandhya) Date: Fri, 26 Apr 2019 23:09:33 +0000 Subject: [vector] RFR 8222897: Renaming of shift, rotate operations. Few other api changes. In-Reply-To: References: Message-ID: <02FCFB8477C4EF43A2AD8E0C60F3DA2BB1AB3D4C@FMSMSX126.amr.corp.intel.com> Looks good to me. Thanks, Sandhya From: Kharbas, Kishor Sent: Friday, April 26, 2019 3:56 PM To: panama-dev at openjdk.java.net Cc: Brian Goetz ; John Rose ; Viswanathan, Sandhya ; Kharbas, Kishor Subject: RE: [vector] RFR 8222897: Renaming of shift, rotate operations. Few other api changes. Hi, I have an updated patch with some more changes - 1. Renaming cross-lane operations like addAll() to addLanes(). 2. Added missing shift*(ByteVector) and rotate*(ByteVector) methods in ByteVector and also in ShortVector. 3. Fixed some issues identified in Javadoc. 4. Fixed the tests and benchmark as per the api changes. Webrev - http://cr.openjdk.java.net/~kkharbas/vector-api/8222897/8222897-webrev.01/ Resulting Javadoc - http://cr.openjdk.java.net/~kkharbas/vector-api/javadoc/VectorApi-JavaDoc.05/jdk.incubator.vector/jdk/incubator/vector/package-summary.html Thanks, Kishor From: Kharbas, Kishor Sent: Tuesday, April 23, 2019 11:55 AM To: panama-dev at openjdk.java.net Cc: Brian Goetz >; John Rose >; Viswanathan, Sandhya >; Kharbas, Kishor > Subject: RE: [vector] RFR 8222897: Renaming of shift, rotate operations. Few other api changes. The generated Javadoc with this change is at - http://cr.openjdk.java.net/~kkharbas/vector-api/javadoc/VectorApi-JavaDoc.04/jdk.incubator.vector/jdk/incubator/vector/package-summary.html Regards, Kishor From: Kharbas, Kishor Sent: Tuesday, April 23, 2019 11:10 AM To: panama-dev at openjdk.java.net Cc: Kharbas, Kishor > Subject: [vector] RFR 8222897: Renaming of shift, rotate operations. Few other api changes. Hi all, To make the api easy to use, few changes identified are - 1. Rename shift, rotate operations to be more explicit in what they do. Example, shiftL -> shiftLeft. This also follows the convention used in other libraries; example rotateLeft() in java.lang.Integer. 2. Added instance methods in Vector.java to create masks and shuffles. The goal is to help programmers by not having to maintain or acquire a reference to Species when creating masks and shuffle. These methods in turn call the static methods in VectorMask and VectorShuffle with the vector's species. 3. VectorSpecies.boxType() is confusing, rename to vectorType(). 4. Add helper method in Species to determine loop terminating condition. I have created a webrev for these changes. Requesting a review. Webrev - http://cr.openjdk.java.net/~kkharbas/vector-api/8222897/8222897-webrev.00/ Bug - https://bugs.openjdk.java.net/browse/JDK-8222897 Thanks, Kishor From john.r.rose at oracle.com Sat Apr 27 00:26:35 2019 From: john.r.rose at oracle.com (John Rose) Date: Fri, 26 Apr 2019 17:26:35 -0700 Subject: [vector api] RFR: Implement Vector API andAll/orAll/xorAll for AArch64 NEON In-Reply-To: <838a6bca-8f67-eca5-f223-c1a5f377541a@redhat.com> References: <838a6bca-8f67-eca5-f223-c1a5f377541a@redhat.com> Message-ID: Sandhya and the other Intel engineers are currently working on the problem of AD file size. They report they can reduce the number of instructions by having one instruction support many match rules, in the common case where one instruction format performs a range of similar operations. This does not immediately reduce the size of the AD file, because the adlc preprocessor internally duplicates such instructions, once per match rule. But some additional adlc work should be able to refactor the generated code to be less repetition, and therefore smaller. I hope this work comes to the light of day soon, so ARM can make use of it also. On another note, you've probably noticed the rapid set of pushes to the vector branch of panama. We are still hammering on the API design, of course, but it seems to be cooling down a bit. Now would be a great time for vector experts on ARM to look at the javadoc and see if there's anything in there that (accidentally) has semantics that is too x86-specific, or is otherwise non-portable. Here's a recent javadoc from Kishor Kharbas: http://cr.openjdk.java.net/~kkharbas/vector-api/javadoc/VectorApi-JavaDoc.05/jdk.incubator.vector/jdk/incubator/vector/package-summary.html http://cr.openjdk.java.net/~kkharbas/vector-api/javadoc/ It's good reading! After we all work it over it will be even better, of course. There will also be a formal CSR review in the not-too-distant future, since that is part of the JEP process. Best wishes, ? John On Jan 28, 2019, at 2:13 AM, Andrew Haley wrote: > > On 1/28/19 2:44 AM, Yang Zhang (Arm Technology China) wrote: >> I have a patch which implements Vector API andAll/orAll/xorAll for AArch64 NEON. Could you please help to review it? >> http://cr.openjdk.java.net/~yzhang/vectorapi.andall/webrev.00/ > > OK, but: > > You're doing a great deal of repetitive stuff in here. This makes the > patch hard to maintain and review. Instead, I suggest that you have a > look at aarch64_ad.m4 to see how it's possible to generate all of > these patterns from a script: 487 lines of that script generates 1970 > lines of patterns. > > -- > Andrew Haley > Java Platform Lead Engineer > Red Hat UK Ltd. > EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From henry.jen at oracle.com Sat Apr 27 01:53:23 2019 From: henry.jen at oracle.com (Henry Jen) Date: Fri, 26 Apr 2019 18:53:23 -0700 Subject: [foreign] RFR 8222739: Port CallingSequenceTest to Windows In-Reply-To: References: Message-ID: <83E4250B-3C1C-49A7-9211-6B39B1A21E62@oracle.com> Looks reasonable to me. Cheers, Henry > On Apr 23, 2019, at 4:10 AM, Jorn Vernee wrote: > > Hi, > > I have ported the SysV CallingSequenceTest to Windows (and fixed a little bug in the process as well :) ). > > In an effort to reduce code duplication in the tests, I have create a testing utility that automatically checks that the number of argument classes is correct. I've updated the existing SysV CallingSequenceTest to use this utility as well. You just have to specify the argument, and the expected bindings e.g. : > > new Verifier(new CallingSequenceBuilderImpl(null)) > .arg(Layout.of("[u64u64u64u64]"), > binding(STACK_ARGUMENT_SLOT, 0), > binding(STACK_ARGUMENT_SLOT, 8), > binding(STACK_ARGUMENT_SLOT, 16), > binding(STACK_ARGUMENT_SLOT, 24)) > .check(false); > > Specifies 1 argument with the layout "[u64u64u64u64]", which is expected to have 4 bindings. > > Please review the following. > > Bug: https://bugs.openjdk.java.net/browse/JDK-8222739 > Webrev: http://cr.openjdk.java.net/~jvernee/panama/webrevs/8222739/webrev.00/ > > Thanks, > Jorn From john.r.rose at oracle.com Sat Apr 27 03:00:37 2019 From: john.r.rose at oracle.com (John Rose) Date: Fri, 26 Apr 2019 20:00:37 -0700 Subject: FTR, tracking RFE for 64-bit loops Message-ID: <10416434-6E7B-43CF-8F98-93B24F9C2D68@oracle.com> I filed this RFE, anticipating that we may eventually want more help from the JIT optimizing loops over off-heap data that is beyond the 32-bit scale. https://bugs.openjdk.java.net/browse/JDK-8223051 From jbvernee at xs4all.nl Sat Apr 27 11:48:34 2019 From: jbvernee at xs4all.nl (jbvernee at xs4all.nl) Date: Sat, 27 Apr 2019 11:48:34 +0000 Subject: hg: panama/dev: 8222739: Port CallingSequenceTest to Windows Message-ID: <201904271148.x3RBmYam027905@aojmv0008.oracle.com> Changeset: 327e2aa993f0 Author: jvernee Date: 2019-04-27 13:47 +0200 URL: http://hg.openjdk.java.net/panama/dev/rev/327e2aa993f0 8222739: Port CallingSequenceTest to Windows Reviewed-by: henryjen ! src/java.base/share/classes/jdk/internal/foreign/abi/x64/windows/CallingSequenceBuilderImpl.java + test/jdk/java/foreign/abi/x64/CallingSequenceTestBase.java ! test/jdk/java/foreign/abi/x64/sysv/CallingSequenceTest.java + test/jdk/java/foreign/abi/x64/windows/CallingSequenceTest.java From jbvernee at xs4all.nl Sat Apr 27 11:48:51 2019 From: jbvernee at xs4all.nl (Jorn Vernee) Date: Sat, 27 Apr 2019 13:48:51 +0200 Subject: [foreign] RFR 8222739: Port CallingSequenceTest to Windows In-Reply-To: <83E4250B-3C1C-49A7-9211-6B39B1A21E62@oracle.com> References: <83E4250B-3C1C-49A7-9211-6B39B1A21E62@oracle.com> Message-ID: Pushed. Thanks for the review! Jorn Henry Jen schreef op 2019-04-27 03:53: > Looks reasonable to me. > > Cheers, > Henry > > >> On Apr 23, 2019, at 4:10 AM, Jorn Vernee wrote: >> >> Hi, >> >> I have ported the SysV CallingSequenceTest to Windows (and fixed a >> little bug in the process as well :) ). >> >> In an effort to reduce code duplication in the tests, I have create a >> testing utility that automatically checks that the number of argument >> classes is correct. I've updated the existing SysV CallingSequenceTest >> to use this utility as well. You just have to specify the argument, >> and the expected bindings e.g. : >> >> new Verifier(new CallingSequenceBuilderImpl(null)) >> .arg(Layout.of("[u64u64u64u64]"), >> binding(STACK_ARGUMENT_SLOT, 0), >> binding(STACK_ARGUMENT_SLOT, 8), >> binding(STACK_ARGUMENT_SLOT, 16), >> binding(STACK_ARGUMENT_SLOT, 24)) >> .check(false); >> >> Specifies 1 argument with the layout "[u64u64u64u64]", which is >> expected to have 4 bindings. >> >> Please review the following. >> >> Bug: https://bugs.openjdk.java.net/browse/JDK-8222739 >> Webrev: >> http://cr.openjdk.java.net/~jvernee/panama/webrevs/8222739/webrev.00/ >> >> Thanks, >> Jorn From Ningsheng.Jian at arm.com Sun Apr 28 05:53:28 2019 From: Ningsheng.Jian at arm.com (Ningsheng Jian (Arm Technology China)) Date: Sun, 28 Apr 2019 05:53:28 +0000 Subject: [vector api] RFR: Implement Vector API andAll/orAll/xorAll for AArch64 NEON In-Reply-To: References: <838a6bca-8f67-eca5-f223-c1a5f377541a@redhat.com> Message-ID: <403484a9-74e0-bf6b-766f-b3ef3c3a0151@arm.com> Hi John, On 4/27/19 8:26 AM, John Rose wrote: > Sandhya and the other Intel engineers are currently working on > the problem of AD file size. They report they can reduce the > number of instructions by having one instruction support > many match rules, in the common case where one instruction > format performs a range of similar operations. This does > not immediately reduce the size of the AD file, because > the adlc preprocessor internally duplicates such instructions, > once per match rule. But some additional adlc work should > be able to refactor the generated code to be less repetition, > and therefore smaller. I hope this work comes to the light > of day soon, so ARM can make use of it also. > Thanks for the sharing. I think you mean this patch from Sandhya [1]. Yang has reviewed the first version - she is on her sabbatical now. We are aware of the size concern from Vladimir, and I did find some possible improvements for AArch64 AD file. I will see how the new webrev goes. > On another note, you've probably noticed the rapid set > of pushes to the vector branch of panama. We are still > hammering on the API design, of course, but it seems to > be cooling down a bit. Now would be a great time for > vector experts on ARM to look at the javadoc and see if > there's anything in there that (accidentally) has semantics > that is too x86-specific, or is otherwise non-portable. > > Here's a recent javadoc from Kishor Kharbas: > > http://cr.openjdk.java.net/~kkharbas/vector-api/javadoc/VectorApi-JavaDoc.05/jdk.incubator.vector/jdk/incubator/vector/package-summary.html > > http://cr.openjdk.java.net/~kkharbas/vector-api/javadoc/ > > It's good reading! After we all work it over it will be even better, > of course. There will also be a formal CSR review in the not-too-distant > future, since that is part of the JEP process. We (Arm) are following the changes of the API. With a formal CSR review, a wider community will also be involved. I think the cleanup work by Kishor generally looks good and we may have some comments after a more detailed review of current API. [1] http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2019-April/033339.html Thanks, Ningsheng From Joshua.Zhu at arm.com Sun Apr 28 09:31:35 2019 From: Joshua.Zhu at arm.com (Joshua Zhu (Arm Technology China)) Date: Sun, 28 Apr 2019 09:31:35 +0000 Subject: [vector api] RFR: Implement Vector API andAll/orAll/xorAll for AArch64 NEON In-Reply-To: References: <838a6bca-8f67-eca5-f223-c1a5f377541a@redhat.com> Message-ID: Hi John, > Here's a recent javadoc from Kishor Kharbas: > > http://cr.openjdk.java.net/~kkharbas/vector-api/javadoc/VectorApi- > JavaDoc.05/jdk.incubator.vector/jdk/incubator/vector/package- > summary.html > > http://cr.openjdk.java.net/~kkharbas/vector-api/javadoc/ > > It's good reading! After we all work it over it will be even better, of course. > There will also be a formal CSR review in the not-too-distant future, since > that is part of the JEP process. In the Javadoc, it mentioned the species instance for a specific combination of element type and shape can be obtained. The default scalar implementation will be used if some specific species(like FloatVector.SPECIES_512) is not supported in a platform. I think it is more reasonable to only make SPECIES_PREFERRED public, why are these specific species exposed to API users? For tail loop handling, the scalar computation is required to process the tail of elements, the length of which is smaller than the species length. Therefore I think the loop control [1] is in future road map, will not be part of this CSR review. [1] https://bugs.openjdk.java.net/browse/JDK-8221358 Best Regards, Joshua From giorgio.zoppi at gmail.com Sun Apr 28 16:32:01 2019 From: giorgio.zoppi at gmail.com (Giorgio Zoppi) Date: Sun, 28 Apr 2019 18:32:01 +0200 Subject: jextract and Botan In-Reply-To: <982f2772dee42f304fe812227d08ad52@xs4all.nl> References: <718c0f6a26dd84cffb138bdd71874feb@xs4all.nl> <982f2772dee42f304fe812227d08ad52@xs4all.nl> Message-ID: Dear all, It worked smoothly. The strenght of project panama is the speed of development. I have done the setup in less thean 10 minutes at https://github.com/giorgiozoppi/botan/tree/master/src/java Thanks for providing such interop tool. Best Regards, Giorgio El lun., 22 abr. 2019 a las 16:10, Jorn Vernee () escribi?: > The plan has been to investigate C++ support at some point, but > short-term the focus lies on finding a useful set of low-level APIs that > other high-level functionality can be built on top of [1] > > Jorn > > [1] : > https://mail.openjdk.java.net/pipermail/panama-dev/2019-April/005197.html > > Giorgio Zoppi schreef op 2019-04-22 13:01: > > Dear Jorn, > > ok thanks for the answer. I will proceed in this way. Does the project > > panama any plan to support native c++? > > Best Regards, > > Giorgio. > > > > El dom., 21 abr. 2019 a las 21:59, Jorn Vernee () > > escribi?: > > > >> Hi Giorgio, > >> > >> Please note that jextract does not really support C++ yet. If you > >> want > >> to create bindings for Botan you will have to use the C API for now, > >> > >> which is also what's used for bindings of other languages it seems > >> [1] > >> > >> Eye-balling the command you'd need to use, try: > >> > >> jextract /usr/local/include/botan-2/botan/ffi.h -L > >> /usr/local/lib/ -I > >> /usr/local/include/botan-2/ -l botan-2 -t Botan > >> --record-library-path -o > >> botan2.jar > >> > >> A jextract of just the header file works for me, but I can not get > >> the > >> build working on my machine, so I can't test the exact command. > >> > >> Hope this helps, > >> Jorn > >> > >> [1] : > >> > > > https://github.com/randombit/botan/blob/e21bddd79357f2ad8576fd871d387b722192b847/src/lib/ffi/ffi.h > > > > -- > > > > Life is a chess game - Anonymous. > -- Life is a chess game - Anonymous. From sundararajan.athijegannathan at oracle.com Mon Apr 29 08:42:36 2019 From: sundararajan.athijegannathan at oracle.com (Sundararajan Athijegannathan) Date: Mon, 29 Apr 2019 14:12:36 +0530 Subject: [foreign] RFR - JDK-8223033 panama_foreign.md should have a basic hello world example In-Reply-To: <42C19BE3-4B23-4049-9856-5AA3158B3552@oracle.com> References: <9C5D1E44-7B2B-4DA9-9F9A-E439F3C4F2A7@oracle.com> <5CC31B53.7030102@oracle.com> <42C19BE3-4B23-4049-9856-5AA3158B3552@oracle.com> Message-ID: <5CC6B8FC.4090701@oracle.com> Looks good. -Sundar On 26/04/19, 8:46 PM, Jim Laskey wrote: > Updated. > > webrev: http://cr.openjdk.java.net/~jlaskey/8223003/webrev-02 > > > >> On Apr 26, 2019, at 11:53 AM, Sundararajan Athijegannathan >> > > wrote: >> >> * #endif clause missing in header file helloworld.h >> >> * compiler instructions to built shared object is missing (in other >> example, shared object exists already) >> Something like: >> >> cc -shared -o helloworld.dylib helloworld.c >> >> * File names may be specified for helloworld.h, helloworld.c (perhaps >> by comment) >> >> -Sundar >> >> On 26/04/19, 8:09 PM, Jim Laskey wrote: >>> webrev: http://cr.openjdk.java.net/~jlaskey/8223003/webrev-01 >>> >>> jbs: https://bugs.openjdk.java.net/browse/JDK-8223033 >>> > From jbvernee at xs4all.nl Mon Apr 29 11:44:56 2019 From: jbvernee at xs4all.nl (Jorn Vernee) Date: Mon, 29 Apr 2019 13:44:56 +0200 Subject: [foreign] Supporting different versions of LLVM Message-ID: <65236dd243d6a0530d60816a9b92fc0b@xs4all.nl> Hi, Over the weekend I have been looking into a fix for: https://bugs.openjdk.java.net/browse/JDK-8223031 The underlying problem is that the behaviour of one of the libclang function, namely `clang_Cursor_isAnonymous`, was changed to do something very different [1], and I haven't been able to find a good workaround that covers all needed cases. So, instead I've submitted a patch to clang to add a new function that has the old behaviour [2], which is currently under review and seems to be a-go for commit soon. With a small patch on our side we can make our code work with the new function [3]. While I was at it I also submitted a patch for the incomplete array problem I worked around before [4]. Hopefully these patches will make it into the next LLVM release. But, it brings up the question of which LLVM versions should be supported by us. Currently I'm locally using version 7.0.1 which works fine, and version 8.0.0 is definitely not supported due to the `clang_Cursor_isAnonymous` change. Once a version is released that has [2], we can support that version as well, and with a version that supports [4] we can also remove the incomplete array problem workaround (which is pretty extensive). Though the latter would mean dropping support for earlier LLVM versions as well. I think as long as there's a binary distribution available this will not be a problem. We can update the lib-clang autoconf script to check the LLVM version, and warn about any that are not supported. How does that sound? Thanks, Jorn [1] : https://reviews.llvm.org/D54996 [2] : https://reviews.llvm.org/D61232 [3] : http://cr.openjdk.java.net/~jvernee/panama/webrevs/8223031/webrev.00/ [4] : https://reviews.llvm.org/D61239