From aph at redhat.com Tue Jun 6 19:52:23 2017 From: aph at redhat.com (Andrew Haley) Date: Tue, 6 Jun 2017 20:52:23 +0100 Subject: [aarch64-port-dev ] Fwd: RFR(M): 8181616: FMA Vectorization on x86 In-Reply-To: <53E8E64DB2403849AFD89B7D4DAC8B2A63D144D2@ORSMSX106.amr.corp.intel.com> References: <53E8E64DB2403849AFD89B7D4DAC8B2A63D144D2@ORSMSX106.amr.corp.intel.com> Message-ID: <83784d68-7863-e03f-889e-878a81f06ae4@redhat.com> If anybody fancies taking a look at this one, please let me know. I think it'd be quite fun. Mind you, we only have 128-bit vectors so it might be that there's nothing we can do until we have SVE to take advantage of this. Andrew. -------------- next part -------------- An embedded message was scrubbed... From: "Deshpande, Vivek R" Subject: RFR(M): 8181616: FMA Vectorization on x86 Date: Mon, 5 Jun 2017 21:42:47 +0000 Size: 6005 URL: From gnu.andrew at redhat.com Wed Jun 7 15:04:49 2017 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Wed, 7 Jun 2017 16:04:49 +0100 Subject: [aarch64-port-dev ] [RFR] 8u131 Upstream Sync In-Reply-To: <525315924.10737670.1494561852822.JavaMail.zimbra@redhat.com> References: <370062456.10734983.1494561102787.JavaMail.zimbra@redhat.com> <525315924.10737670.1494561852822.JavaMail.zimbra@redhat.com> Message-ID: On 12 May 2017 at 05:04, Andrew Hughes wrote: > Hi, > > OpenJDK 8 was recently updated with a security update, u131. > > This webrev syncs our version in the aarch64/jdk8u repositories > with the version released upstream in jdk8u, tagging the result > as aarch64-jdk8u131-b13. > > http://cr.openjdk.java.net/~andrew/aarch64-8/u131/webrev.02/ > > To illustrate the actual changes, the merge changesets for each repository > are also included: > > http://cr.openjdk.java.net/~andrew/aarch64-8/u131/webrev.02/corba/merge.changeset > http://cr.openjdk.java.net/~andrew/aarch64-8/u131/webrev.02/jaxp/merge.changeset > http://cr.openjdk.java.net/~andrew/aarch64-8/u131/webrev.02/jaxws/merge.changeset > http://cr.openjdk.java.net/~andrew/aarch64-8/u131/webrev.02/jdk/merge.changeset > http://cr.openjdk.java.net/~andrew/aarch64-8/u131/webrev.02/hotspot/merge.changeset > http://cr.openjdk.java.net/~andrew/aarch64-8/u131/webrev.02/langtools/merge.changeset > http://cr.openjdk.java.net/~andrew/aarch64-8/u131/webrev.02/nashorn/merge.changeset > http://cr.openjdk.java.net/~andrew/aarch64-8/u131/webrev.02/root/merge.changeset > > Changes: > - S6515172: Runtime.availableProcessors() ignores Linux taskset command > - S8173030: Temporary backout fix #8035568 from 8u131-b03 > - S8173031: Temporary backout fix #8171952 from 8u131-b03 > > diffstat: > > Checking . > b/.hgtags | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > Checking corba > b/.hgtags | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > Checking jaxp > b/.hgtags | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > Checking jaxws > b/.hgtags | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > Checking langtools > b/.hgtags | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > Checking hotspot > b/.hgtags | 12 +++ > b/src/os/linux/vm/globals_linux.hpp | 7 + > b/src/os/linux/vm/os_linux.cpp | 50 ++++++++++++-- > b/test/runtime/os/AvailableProcessors.java | 103 +++++++++++++++++++++++++++++ > 4 files changed, 164 insertions(+), 8 deletions(-) > Checking jdk > b/.hgtags | 12 > b/src/macosx/native/sun/awt/AWTWindow.m | 4 > b/test/java/awt/Frame/FrameResize/ShowChildWhileResizingTest.java | 88 + > b/test/java/io/Serializable/serialFilter/SerialFilterTest.java | 91 - > b/test/java/lang/Thread/ITLConstructor.java | 107 + > b/test/javax/swing/regtesthelpers/JRobot.java | 294 +++ > b/test/javax/swing/regtesthelpers/SwingTestHelper.java | 862 ++++++++++ > b/test/javax/swing/regtesthelpers/Test.java | 34 > b/test/javax/swing/text/FlowView/LayoutTest.java | 90 + > b/test/sun/net/ftp/FtpURLConnectionLeak.java | 155 + > 10 files changed, 1707 insertions(+), 30 deletions(-) > Checking nashorn > b/.hgtags | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > Ok to push? > > Thanks, > -- > Andrew :) > > Senior Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > Web Site: http://fuseyism.com > Twitter: https://twitter.com/gnu_andrew_java > PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://keys.gnupg.net) > Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222 > > Ping? -- Andrew :) Senior Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Web Site: http://fuseyism.com Twitter: https://twitter.com/gnu_andrew_java PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://keys.gnupg.net) Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222 From aph at redhat.com Wed Jun 7 15:31:16 2017 From: aph at redhat.com (Andrew Haley) Date: Wed, 7 Jun 2017 16:31:16 +0100 Subject: [aarch64-port-dev ] [RFR] 8u131 Upstream Sync In-Reply-To: References: <370062456.10734983.1494561102787.JavaMail.zimbra@redhat.com> <525315924.10737670.1494561852822.JavaMail.zimbra@redhat.com> Message-ID: <9bee6985-fca9-1f59-d168-e9dda8ec6966@redhat.com> On 07/06/17 16:04, Andrew Hughes wrote: >> Ok to push?>> >> > Ping? Sorry. Yes, I'm sure that's fine. Thanks, Andrew. -- Andrew Haley Java Platform Lead Engineer Red Hat UK Ltd. EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From gnu.andrew at redhat.com Wed Jun 7 15:43:10 2017 From: gnu.andrew at redhat.com (gnu.andrew at redhat.com) Date: Wed, 07 Jun 2017 15:43:10 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8u: 15 new changesets Message-ID: <201706071543.v57FhAm5018213@aojmv0008.oracle.com> Changeset: 44ff1f6b713a Author: asaha Date: 2016-12-12 12:51 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/rev/44ff1f6b713a Added tag jdk8u121-b13 for changeset f2b5b6ab1f55 ! .hgtags Changeset: 756ee32cd629 Author: asaha Date: 2016-10-11 12:04 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/rev/756ee32cd629 Added tag jdk8u131-b00 for changeset 986503d59e09 ! .hgtags Changeset: 8d1b3d248243 Author: asaha Date: 2016-12-13 10:00 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/rev/8d1b3d248243 Merge ! .hgtags Changeset: 66811607997d Author: asaha Date: 2016-12-21 13:44 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/rev/66811607997d Added tag jdk8u131-b01 for changeset 8d1b3d248243 ! .hgtags Changeset: 390fc505918e Author: asaha Date: 2017-01-09 12:44 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/rev/390fc505918e Added tag jdk8u131-b02 for changeset 66811607997d ! .hgtags Changeset: 05964a39d711 Author: asaha Date: 2017-01-18 22:54 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/rev/05964a39d711 Added tag jdk8u131-b03 for changeset 390fc505918e ! .hgtags Changeset: 2420a414f817 Author: asaha Date: 2017-01-23 14:34 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/rev/2420a414f817 Added tag jdk8u131-b04 for changeset 05964a39d711 ! .hgtags Changeset: 02ba46d6606c Author: asaha Date: 2017-01-30 13:13 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/rev/02ba46d6606c Added tag jdk8u131-b05 for changeset 2420a414f817 ! .hgtags Changeset: 18c2b77c693c Author: asaha Date: 2017-02-06 12:16 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/rev/18c2b77c693c Added tag jdk8u131-b06 for changeset 02ba46d6606c ! .hgtags Changeset: 2779c104bd7c Author: asaha Date: 2017-02-13 11:58 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/rev/2779c104bd7c Added tag jdk8u131-b07 for changeset 18c2b77c693c ! .hgtags Changeset: 1e9f98c8e4f5 Author: asaha Date: 2017-02-21 10:18 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/rev/1e9f98c8e4f5 Added tag jdk8u131-b08 for changeset 2779c104bd7c ! .hgtags Changeset: 725620ca52fb Author: asaha Date: 2017-02-27 11:15 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/rev/725620ca52fb Added tag jdk8u131-b09 for changeset 1e9f98c8e4f5 ! .hgtags Changeset: 94b119876028 Author: asaha Date: 2017-03-06 11:11 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/rev/94b119876028 Added tag jdk8u131-b10 for changeset 725620ca52fb ! .hgtags Changeset: 9403a40a59f6 Author: andrew Date: 2017-05-11 03:01 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/rev/9403a40a59f6 Merge jdk8u131-b11 ! .hgtags Changeset: 6810f3e1504d Author: andrew Date: 2017-05-11 03:23 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/rev/6810f3e1504d Added tag aarch64-jdk8u131-b13 for changeset 9403a40a59f6 ! .hgtags From gnu.andrew at redhat.com Wed Jun 7 15:43:18 2017 From: gnu.andrew at redhat.com (gnu.andrew at redhat.com) Date: Wed, 07 Jun 2017 15:43:18 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8u/corba: 15 new changesets Message-ID: <201706071543.v57FhIZD018283@aojmv0008.oracle.com> Changeset: 57c7a6367eff Author: asaha Date: 2016-12-12 12:52 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/corba/rev/57c7a6367eff Added tag jdk8u121-b13 for changeset 386e9b79fcf5 ! .hgtags Changeset: 7056e474d6e3 Author: asaha Date: 2016-10-11 12:05 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/corba/rev/7056e474d6e3 Added tag jdk8u131-b00 for changeset e30c16839f22 ! .hgtags Changeset: 464cf9d3b002 Author: asaha Date: 2016-12-13 10:01 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/corba/rev/464cf9d3b002 Merge ! .hgtags Changeset: 165605002668 Author: asaha Date: 2016-12-21 13:45 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/corba/rev/165605002668 Added tag jdk8u131-b01 for changeset 464cf9d3b002 ! .hgtags Changeset: 495c4c5eeb96 Author: asaha Date: 2017-01-09 12:44 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/corba/rev/495c4c5eeb96 Added tag jdk8u131-b02 for changeset 165605002668 ! .hgtags Changeset: caab20741076 Author: asaha Date: 2017-01-18 22:54 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/corba/rev/caab20741076 Added tag jdk8u131-b03 for changeset 495c4c5eeb96 ! .hgtags Changeset: e77b6e1ec157 Author: asaha Date: 2017-01-23 14:34 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/corba/rev/e77b6e1ec157 Added tag jdk8u131-b04 for changeset caab20741076 ! .hgtags Changeset: 1602920c0a18 Author: asaha Date: 2017-01-30 13:13 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/corba/rev/1602920c0a18 Added tag jdk8u131-b05 for changeset e77b6e1ec157 ! .hgtags Changeset: 4b61811293c9 Author: asaha Date: 2017-02-06 12:16 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/corba/rev/4b61811293c9 Added tag jdk8u131-b06 for changeset 1602920c0a18 ! .hgtags Changeset: 05ea99eb62bf Author: asaha Date: 2017-02-13 11:58 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/corba/rev/05ea99eb62bf Added tag jdk8u131-b07 for changeset 4b61811293c9 ! .hgtags Changeset: c5fd9c3a2eb1 Author: asaha Date: 2017-02-21 10:18 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/corba/rev/c5fd9c3a2eb1 Added tag jdk8u131-b08 for changeset 05ea99eb62bf ! .hgtags Changeset: de3c63a8b2e5 Author: asaha Date: 2017-02-27 11:15 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/corba/rev/de3c63a8b2e5 Added tag jdk8u131-b09 for changeset c5fd9c3a2eb1 ! .hgtags Changeset: 2b88cb53e31f Author: asaha Date: 2017-03-06 11:11 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/corba/rev/2b88cb53e31f Added tag jdk8u131-b10 for changeset de3c63a8b2e5 ! .hgtags Changeset: ae924dbe0677 Author: andrew Date: 2017-05-11 03:01 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/corba/rev/ae924dbe0677 Merge jdk8u131-b11 ! .hgtags Changeset: 1e0322351ce4 Author: andrew Date: 2017-05-11 03:23 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/corba/rev/1e0322351ce4 Added tag aarch64-jdk8u131-b13 for changeset ae924dbe0677 ! .hgtags From gnu.andrew at redhat.com Wed Jun 7 15:43:24 2017 From: gnu.andrew at redhat.com (gnu.andrew at redhat.com) Date: Wed, 07 Jun 2017 15:43:24 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8u/jaxp: 18 new changesets Message-ID: <201706071543.v57FhPfV018353@aojmv0008.oracle.com> Changeset: ff2479e9a2bd Author: asaha Date: 2016-12-12 12:53 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jaxp/rev/ff2479e9a2bd Added tag jdk8u121-b13 for changeset b8d4e4724071 ! .hgtags Changeset: 14571ab1dc79 Author: asaha Date: 2016-10-11 12:06 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jaxp/rev/14571ab1dc79 Added tag jdk8u131-b00 for changeset 18431a71dfd7 ! .hgtags Changeset: 62940c1238cd Author: asaha Date: 2016-12-13 10:12 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jaxp/rev/62940c1238cd Merge ! .hgtags Changeset: 8cc1530b7c5a Author: asaha Date: 2016-12-21 13:46 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jaxp/rev/8cc1530b7c5a Added tag jdk8u131-b01 for changeset 62940c1238cd ! .hgtags Changeset: e3a845380bc0 Author: aefimov Date: 2016-10-24 17:02 +0300 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jaxp/rev/e3a845380bc0 8167179: Make XSL generated namespace prefixes local to transformation process Reviewed-by: joehw ! src/com/sun/org/apache/xalan/internal/xsltc/compiler/Stylesheet.java ! src/com/sun/org/apache/xalan/internal/xsltc/runtime/BasisLibrary.java Changeset: d03b00419e74 Author: asaha Date: 2017-01-09 12:45 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jaxp/rev/d03b00419e74 Added tag jdk8u131-b02 for changeset e3a845380bc0 ! .hgtags Changeset: 1dae4c4b8b40 Author: asaha Date: 2017-01-18 22:55 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jaxp/rev/1dae4c4b8b40 Added tag jdk8u131-b03 for changeset d03b00419e74 ! .hgtags Changeset: 756b7a2f20cc Author: aefimov Date: 2017-01-20 14:50 +0300 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jaxp/rev/756b7a2f20cc 8169011: Resizing XML parse trees Reviewed-by: joehw ! src/com/sun/org/apache/xerces/internal/impl/XML11NSDocumentScannerImpl.java ! src/com/sun/org/apache/xerces/internal/impl/XMLDTDScannerImpl.java ! src/com/sun/org/apache/xerces/internal/impl/XMLNSDocumentScannerImpl.java ! src/com/sun/org/apache/xerces/internal/impl/XMLStreamReaderImpl.java Changeset: 45e535aa2faa Author: asaha Date: 2017-01-23 14:34 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jaxp/rev/45e535aa2faa Added tag jdk8u131-b04 for changeset 756b7a2f20cc ! .hgtags Changeset: dd4dc70be573 Author: asaha Date: 2017-01-30 13:14 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jaxp/rev/dd4dc70be573 Added tag jdk8u131-b05 for changeset 45e535aa2faa ! .hgtags Changeset: 7220c04b9bc6 Author: asaha Date: 2017-02-04 01:21 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jaxp/rev/7220c04b9bc6 8173931: 8u131 L10n resource file update Reviewed-by: coffeys Contributed-by: li.jiang at oracle.com ! src/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_it.java ! src/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_it.properties ! src/com/sun/org/apache/xerces/internal/impl/msg/XPointerMessages_it.properties Changeset: 76dbaee06f4d Author: asaha Date: 2017-02-06 12:17 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jaxp/rev/76dbaee06f4d Added tag jdk8u131-b06 for changeset 7220c04b9bc6 ! .hgtags Changeset: 1b95863322e4 Author: asaha Date: 2017-02-13 11:59 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jaxp/rev/1b95863322e4 Added tag jdk8u131-b07 for changeset 76dbaee06f4d ! .hgtags Changeset: 3e52865f357b Author: asaha Date: 2017-02-21 10:19 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jaxp/rev/3e52865f357b Added tag jdk8u131-b08 for changeset 1b95863322e4 ! .hgtags Changeset: 817025cf8b72 Author: asaha Date: 2017-02-27 11:16 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jaxp/rev/817025cf8b72 Added tag jdk8u131-b09 for changeset 3e52865f357b ! .hgtags Changeset: c9de18d5c884 Author: asaha Date: 2017-03-06 11:12 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jaxp/rev/c9de18d5c884 Added tag jdk8u131-b10 for changeset 817025cf8b72 ! .hgtags Changeset: a7473301c64c Author: andrew Date: 2017-05-11 03:01 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jaxp/rev/a7473301c64c Merge jdk8u131-b11 ! .hgtags ! src/com/sun/org/apache/xalan/internal/xsltc/runtime/BasisLibrary.java Changeset: 431feeb2d170 Author: andrew Date: 2017-05-11 03:23 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jaxp/rev/431feeb2d170 Added tag aarch64-jdk8u131-b13 for changeset a7473301c64c ! .hgtags From gnu.andrew at redhat.com Wed Jun 7 15:43:31 2017 From: gnu.andrew at redhat.com (gnu.andrew at redhat.com) Date: Wed, 07 Jun 2017 15:43:31 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8u/jaxws: 15 new changesets Message-ID: <201706071543.v57FhVa0018442@aojmv0008.oracle.com> Changeset: 060e69c45785 Author: asaha Date: 2016-12-12 12:53 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jaxws/rev/060e69c45785 Added tag jdk8u121-b13 for changeset 5b8834cc3bb9 ! .hgtags Changeset: 74aa403ef03d Author: asaha Date: 2016-10-11 12:06 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jaxws/rev/74aa403ef03d Added tag jdk8u131-b00 for changeset 2359a73f36ca ! .hgtags Changeset: bc5500cde753 Author: asaha Date: 2016-12-13 10:15 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jaxws/rev/bc5500cde753 Merge ! .hgtags Changeset: c146d8a61d67 Author: asaha Date: 2016-12-21 13:46 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jaxws/rev/c146d8a61d67 Added tag jdk8u131-b01 for changeset bc5500cde753 ! .hgtags Changeset: e0d1730c483c Author: asaha Date: 2017-01-09 12:45 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jaxws/rev/e0d1730c483c Added tag jdk8u131-b02 for changeset c146d8a61d67 ! .hgtags Changeset: d2694f83db12 Author: asaha Date: 2017-01-18 22:55 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jaxws/rev/d2694f83db12 Added tag jdk8u131-b03 for changeset e0d1730c483c ! .hgtags Changeset: d7763a127acc Author: asaha Date: 2017-01-23 14:35 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jaxws/rev/d7763a127acc Added tag jdk8u131-b04 for changeset d2694f83db12 ! .hgtags Changeset: 0e3bd0a27511 Author: asaha Date: 2017-01-30 13:14 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jaxws/rev/0e3bd0a27511 Added tag jdk8u131-b05 for changeset d7763a127acc ! .hgtags Changeset: 62b6998733d3 Author: asaha Date: 2017-02-06 12:17 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jaxws/rev/62b6998733d3 Added tag jdk8u131-b06 for changeset 0e3bd0a27511 ! .hgtags Changeset: 4e86f5b1caaf Author: asaha Date: 2017-02-13 11:59 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jaxws/rev/4e86f5b1caaf Added tag jdk8u131-b07 for changeset 62b6998733d3 ! .hgtags Changeset: 548546d23a92 Author: asaha Date: 2017-02-21 10:19 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jaxws/rev/548546d23a92 Added tag jdk8u131-b08 for changeset 4e86f5b1caaf ! .hgtags Changeset: bc74b4850d97 Author: asaha Date: 2017-02-27 11:16 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jaxws/rev/bc74b4850d97 Added tag jdk8u131-b09 for changeset 548546d23a92 ! .hgtags Changeset: 7817f0d25195 Author: asaha Date: 2017-03-06 11:12 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jaxws/rev/7817f0d25195 Added tag jdk8u131-b10 for changeset bc74b4850d97 ! .hgtags Changeset: 7fa22e97e11f Author: andrew Date: 2017-05-11 03:01 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jaxws/rev/7fa22e97e11f Merge jdk8u131-b11 ! .hgtags Changeset: 0fe047baa188 Author: andrew Date: 2017-05-11 03:23 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jaxws/rev/0fe047baa188 Added tag aarch64-jdk8u131-b13 for changeset 7fa22e97e11f ! .hgtags From gnu.andrew at redhat.com Wed Jun 7 15:43:39 2017 From: gnu.andrew at redhat.com (gnu.andrew at redhat.com) Date: Wed, 07 Jun 2017 15:43:39 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8u/langtools: 16 new changesets Message-ID: <201706071543.v57Fhdvw018514@aojmv0008.oracle.com> Changeset: 8dc65c3ac595 Author: asaha Date: 2016-12-12 12:54 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/langtools/rev/8dc65c3ac595 Added tag jdk8u121-b13 for changeset f634736433d9 ! .hgtags Changeset: 1175fac90fdb Author: asaha Date: 2016-10-11 12:07 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/langtools/rev/1175fac90fdb Added tag jdk8u131-b00 for changeset 8b331e7199f7 ! .hgtags Changeset: 0d04068f82fe Author: asaha Date: 2016-12-13 10:19 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/langtools/rev/0d04068f82fe Merge ! .hgtags Changeset: 452448c6347a Author: asaha Date: 2016-12-21 13:46 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/langtools/rev/452448c6347a Added tag jdk8u131-b01 for changeset 0d04068f82fe ! .hgtags Changeset: 38ea0481f643 Author: asaha Date: 2017-01-09 12:46 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/langtools/rev/38ea0481f643 Added tag jdk8u131-b02 for changeset 452448c6347a ! .hgtags Changeset: f85da82b8218 Author: asaha Date: 2017-01-18 22:56 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/langtools/rev/f85da82b8218 Added tag jdk8u131-b03 for changeset 38ea0481f643 ! .hgtags Changeset: 5a4e31511029 Author: asaha Date: 2017-01-23 14:35 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/langtools/rev/5a4e31511029 Added tag jdk8u131-b04 for changeset f85da82b8218 ! .hgtags Changeset: dd55d0995340 Author: asaha Date: 2017-01-30 13:15 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/langtools/rev/dd55d0995340 Added tag jdk8u131-b05 for changeset 5a4e31511029 ! .hgtags Changeset: bc4f253725f9 Author: asaha Date: 2017-02-06 12:18 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/langtools/rev/bc4f253725f9 Added tag jdk8u131-b06 for changeset dd55d0995340 ! .hgtags Changeset: 3c0bf89ce69d Author: asaha Date: 2017-02-13 12:00 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/langtools/rev/3c0bf89ce69d Added tag jdk8u131-b07 for changeset bc4f253725f9 ! .hgtags Changeset: 3a62189765a8 Author: mcimadamore Date: 2017-01-05 18:58 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/langtools/rev/3a62189765a8 8168774: Polymorhic signature method check crashes javac Summary: Check for polysig method assumes arity is greater than zero Reviewed-by: vromero ! src/share/classes/com/sun/tools/javac/code/Types.java + test/tools/javac/meth/BadPolySig.java Changeset: 2f2c4931d13c Author: asaha Date: 2017-02-21 10:20 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/langtools/rev/2f2c4931d13c Added tag jdk8u131-b08 for changeset 3a62189765a8 ! .hgtags Changeset: 676a07884de4 Author: asaha Date: 2017-02-27 11:17 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/langtools/rev/676a07884de4 Added tag jdk8u131-b09 for changeset 2f2c4931d13c ! .hgtags Changeset: 5162417b51bd Author: asaha Date: 2017-03-06 11:13 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/langtools/rev/5162417b51bd Added tag jdk8u131-b10 for changeset 676a07884de4 ! .hgtags Changeset: fc40d6c92916 Author: andrew Date: 2017-05-11 03:01 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/langtools/rev/fc40d6c92916 Merge jdk8u131-b11 ! .hgtags Changeset: 1554daad91eb Author: andrew Date: 2017-05-11 03:23 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/langtools/rev/1554daad91eb Added tag aarch64-jdk8u131-b13 for changeset fc40d6c92916 ! .hgtags From gnu.andrew at redhat.com Wed Jun 7 15:43:49 2017 From: gnu.andrew at redhat.com (gnu.andrew at redhat.com) Date: Wed, 07 Jun 2017 15:43:49 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8u/hotspot: 23 new changesets Message-ID: <201706071543.v57Fhn77018578@aojmv0008.oracle.com> Changeset: e4f6e58f3974 Author: asaha Date: 2016-12-12 12:52 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/hotspot/rev/e4f6e58f3974 Added tag jdk8u121-b13 for changeset 90f94521c351 ! .hgtags Changeset: 692bc6b674dc Author: asaha Date: 2016-10-11 12:05 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/hotspot/rev/692bc6b674dc Added tag jdk8u131-b00 for changeset c0a1ba0df20f ! .hgtags Changeset: 5ee58c7d3938 Author: asaha Date: 2016-12-13 10:07 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/hotspot/rev/5ee58c7d3938 Merge ! .hgtags Changeset: 0b85ccd62409 Author: coleenp Date: 2016-12-13 14:37 -0500 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/hotspot/rev/0b85ccd62409 8168699: Validate special case invocations Reviewed-by: kevinw, vlivanov ! src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp ! src/cpu/x86/vm/c1_LIRGenerator_x86.cpp ! src/share/vm/c1/c1_CodeStubs.hpp ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/c1/c1_Instruction.hpp ! src/share/vm/ci/ciInstanceKlass.cpp ! src/share/vm/ci/ciInstanceKlass.hpp ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/ci/ciMethod.hpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/interpreter/linkResolver.hpp ! src/share/vm/oops/cpCache.cpp ! src/share/vm/oops/cpCache.hpp ! src/share/vm/opto/doCall.cpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/runtime/javaCalls.cpp Changeset: ef90c721a4e5 Author: asaha Date: 2016-12-21 13:45 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/hotspot/rev/ef90c721a4e5 Added tag jdk8u131-b01 for changeset 0b85ccd62409 ! .hgtags Changeset: 0ca47d0811b0 Author: asaha Date: 2017-01-09 12:45 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/hotspot/rev/0ca47d0811b0 Added tag jdk8u131-b02 for changeset ef90c721a4e5 ! .hgtags Changeset: dab1d5971652 Author: asaha Date: 2017-01-18 22:55 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/hotspot/rev/dab1d5971652 Added tag jdk8u131-b03 for changeset 0ca47d0811b0 ! .hgtags Changeset: c965fc1aa840 Author: asaha Date: 2017-01-23 14:34 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/hotspot/rev/c965fc1aa840 Added tag jdk8u131-b04 for changeset dab1d5971652 ! .hgtags Changeset: 12b06fba6e5b Author: asaha Date: 2017-01-30 13:14 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/hotspot/rev/12b06fba6e5b Added tag jdk8u131-b05 for changeset c965fc1aa840 ! .hgtags Changeset: e21dd2c95cf0 Author: shshahma Date: 2016-09-22 02:04 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/hotspot/rev/e21dd2c95cf0 6515172: Runtime.availableProcessors() ignores Linux taskset command Summary: extract processor count from sched_getaffinity mask Reviewed-by: dholmes, gthornbr ! src/os/linux/vm/globals_linux.hpp ! src/os/linux/vm/os_linux.cpp + test/runtime/os/AvailableProcessors.java Changeset: ca765f57fe3c Author: tschatzl Date: 2016-12-15 19:48 -0500 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/hotspot/rev/ca765f57fe3c 8147910: Cache initial active_processor_count Summary: Introduce and initialize active_processor_count variable in VM. Reviewed-by: dholmes, jprovino ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/os.hpp Changeset: ab892d05b029 Author: tschatzl Date: 2016-12-15 20:00 -0500 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/hotspot/rev/ab892d05b029 8161993: G1 crashes if active_processor_count changes during startup Summary: Use the initial active processor count for memory initialization instead of the current active one. Reviewed-by: dholmes, mgerdin ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/dirtyCardQueue.cpp ! src/share/vm/runtime/vm_version.cpp Changeset: 75021e6fe108 Author: dholmes Date: 2016-12-20 16:06 -0500 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/hotspot/rev/75021e6fe108 8170307: Stack size option -Xss is ignored Reviewed-by: dcubed, sspitsyn, gtriantafill ! src/os/linux/vm/os_linux.cpp Changeset: 6e4cfbc7534f Author: dholmes Date: 2017-01-05 18:55 -0500 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/hotspot/rev/6e4cfbc7534f 8170888: [linux] Experimental support for cgroup memory limits in container (ie Docker) environments Summary: Set apparent physical memory to cgroup memory limit when UseCGroupMemoryLimitForHeap is true Reviewed-by: acorn, gtriantafill Contributed-by: Christine Flood ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: 46ba0d78c1fc Author: asaha Date: 2017-02-06 12:16 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/hotspot/rev/46ba0d78c1fc Added tag jdk8u131-b06 for changeset 6e4cfbc7534f ! .hgtags Changeset: 5b3cb4fbdbc7 Author: roland Date: 2016-07-25 14:31 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/hotspot/rev/5b3cb4fbdbc7 8161147: jvm crashes when -XX:+UseCountedLoopSafepoints is enabled Summary: don't convert loop with safepoint on the backedge to Counted loop Reviewed-by: kvn ! src/share/vm/opto/loopnode.cpp + test/compiler/loopopts/TestCountedLoopSafepointBackedge.java Changeset: db221c0a423e Author: asaha Date: 2017-02-13 11:58 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/hotspot/rev/db221c0a423e Added tag jdk8u131-b07 for changeset 5b3cb4fbdbc7 ! .hgtags Changeset: 59ad72c0e133 Author: asaha Date: 2017-02-21 10:18 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/hotspot/rev/59ad72c0e133 Added tag jdk8u131-b08 for changeset db221c0a423e ! .hgtags Changeset: 56e71d160839 Author: msolovie Date: 2016-12-09 19:40 +0300 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/hotspot/rev/56e71d160839 8150490: Update OS detection code to recognize Windows Server 2016 Reviewed-by: mgronlun, alanb, dholmes ! src/os/windows/vm/os_windows.cpp Changeset: 1da23ae49386 Author: asaha Date: 2017-02-27 11:16 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/hotspot/rev/1da23ae49386 Added tag jdk8u131-b09 for changeset 56e71d160839 ! .hgtags Changeset: 829ea9b92cda Author: asaha Date: 2017-03-06 11:12 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/hotspot/rev/829ea9b92cda Added tag jdk8u131-b10 for changeset 1da23ae49386 ! .hgtags Changeset: d73845d8e218 Author: andrew Date: 2017-05-11 03:01 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/hotspot/rev/d73845d8e218 Merge jdk8u131-b11 ! .hgtags ! src/cpu/x86/vm/c1_LIRGenerator_x86.cpp ! src/os/linux/vm/globals_linux.hpp ! src/os/linux/vm/os_linux.cpp ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/c1/c1_Instruction.hpp ! src/share/vm/ci/ciInstanceKlass.cpp ! src/share/vm/ci/ciInstanceKlass.hpp ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/ci/ciMethod.hpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/interpreter/linkResolver.hpp ! src/share/vm/oops/cpCache.cpp ! src/share/vm/oops/cpCache.hpp ! src/share/vm/opto/doCall.cpp ! src/share/vm/opto/loopnode.cpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/javaCalls.cpp ! src/share/vm/runtime/os.hpp ! src/share/vm/runtime/vm_version.cpp Changeset: 9a333fa221da Author: andrew Date: 2017-05-11 03:23 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/hotspot/rev/9a333fa221da Added tag aarch64-jdk8u131-b13 for changeset d73845d8e218 ! .hgtags From gnu.andrew at redhat.com Wed Jun 7 15:44:01 2017 From: gnu.andrew at redhat.com (gnu.andrew at redhat.com) Date: Wed, 07 Jun 2017 15:44:01 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8u/jdk: 52 new changesets Message-ID: <201706071544.v57Fi3d6018666@aojmv0008.oracle.com> Changeset: 428054a0b832 Author: asaha Date: 2016-12-12 12:53 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/428054a0b832 Added tag jdk8u121-b13 for changeset 2974746e5619 ! .hgtags Changeset: a160009bbe14 Author: asaha Date: 2016-10-11 12:06 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/a160009bbe14 Added tag jdk8u131-b00 for changeset 032874d46bf9 ! .hgtags Changeset: 03c14a8af52c Author: asaha Date: 2016-12-13 10:16 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/03c14a8af52c Merge ! .hgtags - test/sun/security/tools/jarsigner/ts.sh Changeset: bea5b22daf5d Author: dfuchs Date: 2016-12-09 18:18 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/bea5b22daf5d 8163520: Reuse cache entries Reviewed-by: chegar, aefimov ! src/share/classes/sun/net/www/http/HttpClient.java ! src/share/classes/sun/net/www/protocol/http/AuthenticationInfo.java ! src/solaris/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java ! src/windows/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java Changeset: b05b568933b7 Author: asaha Date: 2016-12-21 13:46 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/b05b568933b7 Added tag jdk8u131-b01 for changeset bea5b22daf5d ! .hgtags Changeset: a39244ea0ac6 Author: igerasim Date: 2016-08-31 11:19 +0300 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/a39244ea0ac6 6474807: (smartcardio) CardTerminal.connect() throws CardException instead of CardNotPresentException Reviewed-by: valeriep ! src/share/classes/sun/security/smartcardio/TerminalImpl.java Changeset: a01d217a2329 Author: aefimov Date: 2016-10-24 17:02 +0300 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/a01d217a2329 8167179: Make XSL generated namespace prefixes local to transformation process Reviewed-by: joehw + test/javax/xml/jaxp/transform/8167179/NamespacePrefixTest.java Changeset: 28e8f3e122a0 Author: asaha Date: 2017-01-09 12:46 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/28e8f3e122a0 Added tag jdk8u131-b02 for changeset a01d217a2329 ! .hgtags Changeset: c878d0baff4a Author: mcherkas Date: 2016-11-11 16:55 +0300 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/c878d0baff4a 8165626: Improved window framing Reviewed-by: serb ! src/macosx/classes/com/apple/eawt/_AppDockIconHandler.java ! src/macosx/classes/sun/java2d/opengl/CGLLayer.java ! src/macosx/classes/sun/lwawt/macosx/CFRetainedResource.java ! src/macosx/classes/sun/lwawt/macosx/CImage.java ! src/macosx/classes/sun/lwawt/macosx/CMenuItem.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformComponent.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformLWWindow.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformView.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/macosx/classes/sun/lwawt/macosx/CTrayIcon.java ! src/macosx/classes/sun/lwawt/macosx/CViewPlatformEmbeddedFrame.java ! src/macosx/classes/sun/lwawt/macosx/CWarningWindow.java ! src/macosx/native/sun/awt/AWTSurfaceLayers.h ! src/macosx/native/sun/awt/AWTSurfaceLayers.m Changeset: 0ccdad186d13 Author: dmarkov Date: 2017-01-02 17:15 +0300 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/0ccdad186d13 8171952: [macosx] AWT_Modality/Automated/ModalExclusion/NoExclusion/ModelessDialog test fails as DummyButton on Dialog did not gain focus when clicked. Reviewed-by: ssadetsky, serb ! src/macosx/native/sun/awt/AWTWindow.m + test/java/awt/Frame/ObscuredFrame/ObscuredFrameTest.java Changeset: 1e335cd9b0fb Author: pchelko Date: 2016-12-09 10:01 +0300 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/1e335cd9b0fb 8035568: [macosx] Cursor management unification Reviewed-by: anthony, serb ! src/macosx/classes/sun/lwawt/LWMouseInfoPeer.java ! src/macosx/classes/sun/lwawt/LWToolkit.java ! src/macosx/classes/sun/lwawt/LWWindowPeer.java ! src/macosx/classes/sun/lwawt/PlatformWindow.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformEmbeddedFrame.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformLWWindow.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/macosx/classes/sun/lwawt/macosx/CRobot.java ! src/macosx/classes/sun/lwawt/macosx/CViewPlatformEmbeddedFrame.java ! src/macosx/classes/sun/lwawt/macosx/LWCToolkit.java ! src/macosx/native/sun/awt/AWTWindow.m ! src/macosx/native/sun/awt/CCursorManager.m ! src/macosx/native/sun/awt/CRobot.m + test/java/awt/MouseInfo/GetPointerInfoTest.java + test/java/awt/MouseInfo/MultiscreenPointerInfo.java Changeset: dc12f65d4b6a Author: asaha Date: 2017-01-18 22:40 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/dc12f65d4b6a 8173031: Temporary backout fix #8171952 from 8u131-b03 Reviewed-by: dmarkov ! src/macosx/native/sun/awt/AWTWindow.m - test/java/awt/Frame/ObscuredFrame/ObscuredFrameTest.java Changeset: 06926fc104a2 Author: asaha Date: 2017-01-18 22:41 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/06926fc104a2 Merge ! src/macosx/native/sun/awt/AWTWindow.m Changeset: 3d2dfed2b420 Author: asaha Date: 2017-01-18 22:44 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/3d2dfed2b420 8173030: Temporary backout fix #8035568 from 8u131-b03 Summary: Backed out changeset 1e335cd9b0fb Reviewed-by: dmarkov ! src/macosx/classes/sun/lwawt/LWMouseInfoPeer.java ! src/macosx/classes/sun/lwawt/LWToolkit.java ! src/macosx/classes/sun/lwawt/LWWindowPeer.java ! src/macosx/classes/sun/lwawt/PlatformWindow.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformEmbeddedFrame.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformLWWindow.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/macosx/classes/sun/lwawt/macosx/CRobot.java ! src/macosx/classes/sun/lwawt/macosx/CViewPlatformEmbeddedFrame.java ! src/macosx/classes/sun/lwawt/macosx/LWCToolkit.java ! src/macosx/native/sun/awt/AWTWindow.m ! src/macosx/native/sun/awt/CCursorManager.m ! src/macosx/native/sun/awt/CRobot.m - test/java/awt/MouseInfo/GetPointerInfoTest.java - test/java/awt/MouseInfo/MultiscreenPointerInfo.java Changeset: a2476ec26274 Author: asaha Date: 2017-01-18 22:56 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/a2476ec26274 Added tag jdk8u131-b03 for changeset 3d2dfed2b420 ! .hgtags Changeset: be8b469b892e Author: dmarkov Date: 2017-01-19 22:42 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/be8b469b892e 8035568: [macosx] Cursor management unification Reviewed-by: anthony, serb ! src/macosx/classes/sun/lwawt/LWMouseInfoPeer.java ! src/macosx/classes/sun/lwawt/LWToolkit.java ! src/macosx/classes/sun/lwawt/LWWindowPeer.java ! src/macosx/classes/sun/lwawt/PlatformWindow.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformEmbeddedFrame.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformLWWindow.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/macosx/classes/sun/lwawt/macosx/CRobot.java ! src/macosx/classes/sun/lwawt/macosx/CViewPlatformEmbeddedFrame.java ! src/macosx/classes/sun/lwawt/macosx/LWCToolkit.java ! src/macosx/native/sun/awt/AWTWindow.m ! src/macosx/native/sun/awt/CCursorManager.m ! src/macosx/native/sun/awt/CRobot.m Changeset: 1e03df741c03 Author: dmarkov Date: 2017-01-19 22:45 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/1e03df741c03 8169589: [macosx] Activating a JDialog puts to back another dialog Reviewed-by: anthony, serb ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/share/classes/java/awt/Window.java ! src/share/classes/sun/awt/AWTAccessor.java Changeset: 00bf421ea5ba Author: dmarkov Date: 2017-01-19 22:47 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/00bf421ea5ba 8171949: [macosx] AWT_ZoomFrame Automated tests fail with error: The bitwise mask Frame.ICONIFIED is not setwhen the frame is in ICONIFIED state Reviewed-by: ssadetsky, serb ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/macosx/native/sun/awt/AWTWindow.m Changeset: 5e42dd656854 Author: dmarkov Date: 2017-01-19 22:48 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/5e42dd656854 8171952: [macosx] AWT_Modality/Automated/ModalExclusion/NoExclusion/ModelessDialog test fails as DummyButton on Dialog did not gain focus when clicked. Reviewed-by: ssadetsky, serb ! src/macosx/native/sun/awt/AWTWindow.m Changeset: 1f2ff3f1882a Author: rpatil Date: 2016-12-26 16:00 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/1f2ff3f1882a 8171121: Enhancing jar checking Reviewed-by: ascarpino ! src/share/lib/security/java.security-aix ! src/share/lib/security/java.security-linux ! src/share/lib/security/java.security-macosx ! src/share/lib/security/java.security-solaris ! src/share/lib/security/java.security-windows ! test/sun/security/tools/jarsigner/TimestampCheck.java Changeset: ed6788b3daa1 Author: snikandrova Date: 2016-08-18 16:27 +0300 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/ed6788b3daa1 8146602: jdk/test/sun/misc/URLClassPath/ClassnameCharTest.java test fails with NullPointerException Reviewed-by: dfuchs, clanger ! test/sun/misc/URLClassPath/ClassnameCharTest.java Changeset: 5707fa8c5454 Author: rpatil Date: 2016-09-10 22:54 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/5707fa8c5454 8160951: [TEST_BUG] javax/xml/bind/marshal/8134111/UnmarshalTest.java should be added into :needs_jre group 8160958: [TEST_BUG] java/net/SetFactoryPermission/SetFactoryPermission.java should be added into :needs_compact2 group Reviewed-by: igerasim ! test/TEST.groups Changeset: 162f89e5e307 Author: snikandrova Date: 2016-08-08 20:16 +0300 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/162f89e5e307 8162876: [TEST_BUG] sun/net/www/protocol/http/HttpInputStream.java fails intermittently Reviewed-by: chegar ! test/sun/net/www/protocol/http/HttpInputStream.java Changeset: 7f9e7e580164 Author: coffeys Date: 2016-08-19 07:42 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/7f9e7e580164 8162916: Test sun/security/krb5/auto/UnboundSSL.java fails Reviewed-by: weijun, asmotrak ! test/sun/security/krb5/auto/UnboundSSL.java Changeset: 0f7d02f56565 Author: snikandrova Date: 2016-08-29 20:55 +0300 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/0f7d02f56565 8164533: sun/security/ssl/SSLSocketImpl/CloseSocket.java failed with "Error while cleaning up threads after test" Reviewed-by: xuelei ! test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/CloseSocket.java Changeset: 6bb0e69511ba Author: asaha Date: 2017-01-23 14:35 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/6bb0e69511ba Added tag jdk8u131-b04 for changeset 0f7d02f56565 ! .hgtags Changeset: 411f5eb6a2b2 Author: rpatil Date: 2016-12-12 17:30 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/411f5eb6a2b2 8170316: (tz) Support tzdata2016j Reviewed-by: martin, okutsu ! make/data/tzdata/VERSION ! make/data/tzdata/africa ! make/data/tzdata/asia ! make/data/tzdata/europe ! make/data/tzdata/iso3166.tab ! make/data/tzdata/zone.tab ! test/sun/util/calendar/zi/tzdata/VERSION ! test/sun/util/calendar/zi/tzdata/africa ! test/sun/util/calendar/zi/tzdata/asia ! test/sun/util/calendar/zi/tzdata/europe ! test/sun/util/calendar/zi/tzdata/iso3166.tab ! test/sun/util/calendar/zi/tzdata/zone.tab Changeset: 35a5813daea1 Author: aefimov Date: 2017-01-17 15:35 +0300 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/35a5813daea1 8170814: Reuse cache entries (part II) Reviewed-by: dfuchs ! src/share/classes/sun/net/www/http/HttpClient.java ! src/share/classes/sun/net/www/protocol/http/NegotiateAuthentication.java Changeset: af0e709d28f9 Author: valeriep Date: 2016-11-23 19:46 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/af0e709d28f9 8163528: Better library loading Reviewed-by: mullan Contributed-by: florian at bogner.sh ! src/share/classes/sun/misc/Launcher.java Changeset: 4a42e488b516 Author: asaha Date: 2017-01-30 13:14 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/4a42e488b516 Added tag jdk8u131-b05 for changeset af0e709d28f9 ! .hgtags Changeset: 95fd1952637b Author: mcherkas Date: 2017-01-24 22:39 +0300 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/95fd1952637b 8167110: Windows peering issue 7155957: closed/java/awt/MenuBar/MenuBarStress1/MenuBarStress1.java hangs on win 64 bit with jdk8 8079595: Resizing dialog which is JWindow parent makes JVM crash 8147842: IME Composition Window is displayed at incorrect location Reviewed-by: serb ! src/share/classes/java/awt/Menu.java ! src/share/classes/java/awt/MenuBar.java ! src/share/classes/java/awt/MenuComponent.java ! src/windows/classes/sun/awt/windows/WMenuItemPeer.java ! src/windows/classes/sun/awt/windows/WObjectPeer.java ! src/windows/native/sun/windows/awt_Component.cpp ! src/windows/native/sun/windows/awt_Menu.cpp ! src/windows/native/sun/windows/awt_Menu.h ! src/windows/native/sun/windows/awt_MenuBar.cpp ! src/windows/native/sun/windows/awt_MenuBar.h ! src/windows/native/sun/windows/awt_MenuItem.cpp ! src/windows/native/sun/windows/awt_MenuItem.h ! src/windows/native/sun/windows/awt_PopupMenu.cpp ! src/windows/native/sun/windows/awt_PopupMenu.h ! src/windows/native/sun/windows/awt_new.cpp + test/java/awt/Frame/FrameResize/ShowChildWhileResizingTest.java Changeset: 3dad1b661169 Author: mcherkas Date: 2017-01-25 18:16 +0300 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/3dad1b661169 8130769: The new menu can't be shown on the menubar after clicking the "Add" button. Reviewed-by: serb ! src/share/classes/java/awt/MenuBar.java Changeset: 0a7519d7e055 Author: mcherkas Date: 2017-01-26 17:26 +0300 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/0a7519d7e055 8161195: Regression: closed/javax/swing/text/FlowView/LayoutTest.java Reviewed-by: serb ! src/windows/native/sun/windows/awt_Component.cpp + test/javax/swing/regtesthelpers/JRobot.java + test/javax/swing/regtesthelpers/SwingTestHelper.java + test/javax/swing/regtesthelpers/Test.java + test/javax/swing/text/FlowView/LayoutTest.java Changeset: 3c7f99282d1b Author: asaha Date: 2017-02-04 01:22 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/3c7f99282d1b 8173931: 8u131 L10n resource file update Reviewed-by: coffeys Contributed-by: li.jiang at oracle.com ! src/macosx/classes/com/apple/laf/resources/aqua_de.properties ! src/share/classes/com/sun/java/swing/plaf/windows/resources/windows_ko.properties ! src/share/classes/com/sun/rowset/RowSetResourceBundle_sv.properties ! src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_ko.properties ! src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_ko.properties ! src/share/classes/sun/security/tools/jarsigner/Resources_ja.java ! src/share/classes/sun/security/tools/jarsigner/Resources_zh_CN.java ! src/share/classes/sun/security/tools/policytool/Resources_sv.java ! src/share/classes/sun/tools/jar/resources/jar_sv.properties Changeset: 1e8e0cac4ef4 Author: asaha Date: 2017-02-06 12:17 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/1e8e0cac4ef4 Added tag jdk8u131-b06 for changeset 3c7f99282d1b ! .hgtags Changeset: 8a2c97926e63 Author: robm Date: 2017-02-09 16:34 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/8a2c97926e63 8172299: Improve class processing Reviewed-by: rriggs ! src/share/classes/java/io/ObjectInputStream.java ! test/java/io/Serializable/serialFilter/SerialFilterTest.java Changeset: f5d0aadb4d1c Author: coffeys Date: 2017-02-08 12:10 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/f5d0aadb4d1c 8173783: IllegalArgumentException: jdk.tls.namedGroups Reviewed-by: xuelei, wetmore ! src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java + test/sun/security/ssl/ServerHandshaker/HelloExtensionsTest.java Changeset: 015efef71e5d Author: asaha Date: 2017-02-13 11:59 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/015efef71e5d Added tag jdk8u131-b07 for changeset f5d0aadb4d1c ! .hgtags Changeset: 02ab22b9a197 Author: robm Date: 2017-01-09 18:33 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/02ab22b9a197 8169465: Deadlock in com.sun.jndi.ldap.pool.Connections Reviewed-by: dfuchs, vtewari ! src/share/classes/com/sun/jndi/ldap/pool/Connections.java ! src/share/classes/com/sun/jndi/ldap/pool/Pool.java Changeset: 6e362e6002ab Author: robm Date: 2016-12-16 20:39 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/6e362e6002ab 8171388: Update JNDI Thread contexts Reviewed-by: chegar ! src/share/classes/java/lang/Thread.java + test/java/lang/Thread/ITLConstructor.java Changeset: 6983c2b4b5ba Author: asaha Date: 2017-02-21 10:19 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/6983c2b4b5ba Added tag jdk8u131-b08 for changeset 6e362e6002ab ! .hgtags Changeset: e3057aefd7c0 Author: vtewari Date: 2016-04-05 17:07 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/e3057aefd7c0 7167293: FtpURLConnection connection leak on FileNotFoundException Reviewed-by: chegar, rriggs ! src/share/classes/sun/net/www/protocol/ftp/FtpURLConnection.java + test/sun/net/ftp/FtpURLConnectionLeak.java Changeset: 81ddd5fc5a4e Author: rpatil Date: 2017-02-25 09:50 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/81ddd5fc5a4e 8170222: Better transfers of files Reviewed-by: dfuchs, chegar, vtewari ! src/share/classes/sun/net/ftp/impl/FtpClient.java Changeset: f672cb804684 Author: rpatil Date: 2017-02-27 19:19 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/f672cb804684 8171533: Better email transfer Reviewed-by: dfuchs, chegar, vtewari ! src/share/classes/sun/net/smtp/SmtpClient.java Changeset: 1e804a6eab74 Author: msolovie Date: 2016-12-09 19:34 +0300 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/1e804a6eab74 8150490: Update OS detection code to recognize Windows Server 2016 Reviewed-by: mgronlun, alanb, dholmes ! src/windows/native/java/lang/java_props_md.c Changeset: 40d00399869d Author: robm Date: 2017-02-27 17:43 +0000 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/40d00399869d 8174844: Incorrect GPL header causes RE script to miss swap to commercial header for licensee source bundle Reviewed-by: coffeys ! src/share/classes/sun/security/util/AbstractAlgorithmConstraints.java Changeset: 76dba439fbe1 Author: asaha Date: 2017-02-27 11:16 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/76dba439fbe1 Added tag jdk8u131-b09 for changeset 40d00399869d ! .hgtags Changeset: c0091a673d76 Author: aefimov Date: 2017-02-28 14:44 +0300 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/c0091a673d76 8174985: NTLM authentication doesn't work with IIS if NTLM cache is disabled Reviewed-by: dfuchs ! src/share/classes/sun/net/www/http/HttpClient.java Changeset: 7da893a73fbc Author: asaha Date: 2017-03-06 11:12 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/7da893a73fbc Added tag jdk8u131-b10 for changeset c0091a673d76 ! .hgtags Changeset: 3ab471c4760a Author: rpatil Date: 2017-03-10 12:50 +0530 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/3ab471c4760a 8176044: (tz) Support tzdata2017a Reviewed-by: naoto ! make/data/tzdata/VERSION ! make/data/tzdata/africa ! make/data/tzdata/antarctica ! make/data/tzdata/asia ! make/data/tzdata/australasia ! make/data/tzdata/backward ! make/data/tzdata/europe ! make/data/tzdata/leapseconds ! make/data/tzdata/northamerica ! make/data/tzdata/southamerica ! make/data/tzdata/zone.tab ! test/sun/util/calendar/zi/tzdata/VERSION ! test/sun/util/calendar/zi/tzdata/africa ! test/sun/util/calendar/zi/tzdata/antarctica ! test/sun/util/calendar/zi/tzdata/asia ! test/sun/util/calendar/zi/tzdata/australasia ! test/sun/util/calendar/zi/tzdata/backward ! test/sun/util/calendar/zi/tzdata/europe ! test/sun/util/calendar/zi/tzdata/leapseconds ! test/sun/util/calendar/zi/tzdata/northamerica ! test/sun/util/calendar/zi/tzdata/southamerica ! test/sun/util/calendar/zi/tzdata/zone.tab Changeset: 02ea27736734 Author: andrew Date: 2017-05-11 03:01 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/02ea27736734 Merge jdk8u131-b11 ! .hgtags ! make/data/tzdata/VERSION ! make/data/tzdata/africa ! make/data/tzdata/antarctica ! make/data/tzdata/asia ! make/data/tzdata/australasia ! make/data/tzdata/backward ! make/data/tzdata/europe ! make/data/tzdata/iso3166.tab ! make/data/tzdata/leapseconds ! make/data/tzdata/northamerica ! make/data/tzdata/southamerica ! make/data/tzdata/zone.tab ! src/macosx/classes/sun/lwawt/LWWindowPeer.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformLWWindow.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformView.java ! src/macosx/classes/sun/lwawt/macosx/CPlatformWindow.java ! src/macosx/classes/sun/lwawt/macosx/CViewPlatformEmbeddedFrame.java ! src/macosx/classes/sun/lwawt/macosx/LWCToolkit.java ! src/macosx/native/sun/awt/AWTSurfaceLayers.h ! src/macosx/native/sun/awt/AWTWindow.m ! src/share/classes/java/awt/MenuBar.java ! src/share/classes/java/awt/MenuComponent.java ! src/share/classes/java/awt/Window.java ! src/share/classes/java/io/ObjectInputStream.java ! src/share/classes/java/lang/Thread.java ! src/share/classes/sun/awt/AWTAccessor.java ! src/share/classes/sun/net/ftp/impl/FtpClient.java ! src/share/classes/sun/net/www/http/HttpClient.java ! src/share/classes/sun/security/tools/jarsigner/Resources_ja.java ! src/share/classes/sun/tools/jar/resources/jar_sv.properties ! src/share/lib/security/java.security-aix ! src/share/lib/security/java.security-linux ! src/share/lib/security/java.security-macosx ! src/share/lib/security/java.security-solaris ! src/share/lib/security/java.security-windows ! src/windows/classes/sun/awt/windows/WObjectPeer.java ! src/windows/native/sun/windows/awt_Component.cpp ! test/TEST.groups ! test/sun/security/tools/jarsigner/TimestampCheck.java ! test/sun/util/calendar/zi/tzdata/VERSION ! test/sun/util/calendar/zi/tzdata/africa ! test/sun/util/calendar/zi/tzdata/antarctica ! test/sun/util/calendar/zi/tzdata/asia ! test/sun/util/calendar/zi/tzdata/australasia ! test/sun/util/calendar/zi/tzdata/backward ! test/sun/util/calendar/zi/tzdata/europe ! test/sun/util/calendar/zi/tzdata/iso3166.tab ! test/sun/util/calendar/zi/tzdata/leapseconds ! test/sun/util/calendar/zi/tzdata/northamerica ! test/sun/util/calendar/zi/tzdata/southamerica ! test/sun/util/calendar/zi/tzdata/zone.tab Changeset: 6e82f4c585b8 Author: andrew Date: 2017-05-11 03:23 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/jdk/rev/6e82f4c585b8 Added tag aarch64-jdk8u131-b13 for changeset 02ea27736734 ! .hgtags From gnu.andrew at redhat.com Wed Jun 7 15:44:10 2017 From: gnu.andrew at redhat.com (gnu.andrew at redhat.com) Date: Wed, 07 Jun 2017 15:44:10 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8u/nashorn: 15 new changesets Message-ID: <201706071544.v57FiAZn018804@aojmv0008.oracle.com> Changeset: a36572dd46bc Author: asaha Date: 2016-12-12 12:54 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/nashorn/rev/a36572dd46bc Added tag jdk8u121-b13 for changeset fd548ea7e156 ! .hgtags Changeset: 0f9ad0ada320 Author: asaha Date: 2016-10-11 12:07 -0700 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/nashorn/rev/0f9ad0ada320 Added tag jdk8u131-b00 for changeset 742cdd2928b6 ! .hgtags Changeset: 6a466aa8901a Author: asaha Date: 2016-12-13 10:20 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/nashorn/rev/6a466aa8901a Merge ! .hgtags Changeset: 54416940aff0 Author: asaha Date: 2016-12-21 13:47 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/nashorn/rev/54416940aff0 Added tag jdk8u131-b01 for changeset 6a466aa8901a ! .hgtags Changeset: 5c51183224c1 Author: asaha Date: 2017-01-09 12:46 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/nashorn/rev/5c51183224c1 Added tag jdk8u131-b02 for changeset 54416940aff0 ! .hgtags Changeset: e78216a3afd6 Author: asaha Date: 2017-01-18 22:56 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/nashorn/rev/e78216a3afd6 Added tag jdk8u131-b03 for changeset 5c51183224c1 ! .hgtags Changeset: 6200789638d3 Author: asaha Date: 2017-01-23 14:35 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/nashorn/rev/6200789638d3 Added tag jdk8u131-b04 for changeset e78216a3afd6 ! .hgtags Changeset: 59eb357feaa0 Author: asaha Date: 2017-01-30 13:15 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/nashorn/rev/59eb357feaa0 Added tag jdk8u131-b05 for changeset 6200789638d3 ! .hgtags Changeset: b93ccc64a867 Author: asaha Date: 2017-02-06 12:18 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/nashorn/rev/b93ccc64a867 Added tag jdk8u131-b06 for changeset 59eb357feaa0 ! .hgtags Changeset: b6b8e309e75a Author: asaha Date: 2017-02-13 12:00 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/nashorn/rev/b6b8e309e75a Added tag jdk8u131-b07 for changeset b93ccc64a867 ! .hgtags Changeset: c82e269f5796 Author: asaha Date: 2017-02-21 10:20 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/nashorn/rev/c82e269f5796 Added tag jdk8u131-b08 for changeset b6b8e309e75a ! .hgtags Changeset: 9fef324cda01 Author: asaha Date: 2017-02-27 11:17 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/nashorn/rev/9fef324cda01 Added tag jdk8u131-b09 for changeset c82e269f5796 ! .hgtags Changeset: dfd626733d62 Author: asaha Date: 2017-03-06 11:13 -0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/nashorn/rev/dfd626733d62 Added tag jdk8u131-b10 for changeset 9fef324cda01 ! .hgtags Changeset: 7428ac7506cf Author: andrew Date: 2017-05-11 03:01 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/nashorn/rev/7428ac7506cf Merge jdk8u131-b11 ! .hgtags Changeset: 1f9b96035fcc Author: andrew Date: 2017-05-11 03:23 +0100 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/nashorn/rev/1f9b96035fcc Added tag aarch64-jdk8u131-b13 for changeset 7428ac7506cf ! .hgtags From gnu.andrew at redhat.com Wed Jun 7 15:42:46 2017 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Wed, 7 Jun 2017 16:42:46 +0100 Subject: [aarch64-port-dev ] [RFR] 8u131 Upstream Sync In-Reply-To: <9bee6985-fca9-1f59-d168-e9dda8ec6966@redhat.com> References: <370062456.10734983.1494561102787.JavaMail.zimbra@redhat.com> <525315924.10737670.1494561852822.JavaMail.zimbra@redhat.com> <9bee6985-fca9-1f59-d168-e9dda8ec6966@redhat.com> Message-ID: On 7 June 2017 at 16:31, Andrew Haley wrote: > On 07/06/17 16:04, Andrew Hughes wrote: >>> Ok to push?>> >>> >> Ping? > > Sorry. Yes, I'm sure that's fine. > > Thanks, > > Andrew. > > -- > Andrew Haley > Java Platform Lead Engineer > Red Hat UK Ltd. > EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 Thanks. Pushed. -- Andrew :) Senior Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) Web Site: http://fuseyism.com Twitter: https://twitter.com/gnu_andrew_java PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://keys.gnupg.net) Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222 From yang.zhang at linaro.org Fri Jun 9 01:56:33 2017 From: yang.zhang at linaro.org (Yang Zhang) Date: Fri, 9 Jun 2017 09:56:33 +0800 Subject: [aarch64-port-dev ] Fwd: RFR(M): 8181616: FMA Vectorization on x86 In-Reply-To: <83784d68-7863-e03f-889e-878a81f06ae4@redhat.com> References: <53E8E64DB2403849AFD89B7D4DAC8B2A63D144D2@ORSMSX106.amr.corp.intel.com> <83784d68-7863-e03f-889e-878a81f06ae4@redhat.com> Message-ID: Hi Andrew I'd like to take a look at this task. If there is anything we can do, I will open a bugs.openjdk.java.net bug. Regards Yang On 7 June 2017 at 03:52, Andrew Haley wrote: > If anybody fancies taking a look at this one, please let me know. I > think it'd be quite fun. Mind you, we only have 128-bit vectors so it > might be that there's nothing we can do until we have SVE to take > advantage of this. > > Andrew. > > > ---------- Forwarded message ---------- > From: "Deshpande, Vivek R" > To: "hotspot-compiler-dev at openjdk.java.net" , Vladimir Kozlov > Cc: "Viswanathan, Sandhya" > Bcc: > Date: Mon, 5 Jun 2017 21:42:47 +0000 > Subject: RFR(M): 8181616: FMA Vectorization on x86 > Hi All > > The enhancement generates Vector FMA instructions using SuperWord Analysis for X86. > We observed upto 6x gain on Skylake and KNL using 512 bit Vector FMA instructions using FMA API operating on independent arrays. > Webrev: > http://cr.openjdk.java.net/~vdeshpande/8181616/webrev.00/ > I have also updated the JBS entry. > https://bugs.openjdk.java.net/browse/JDK-8181616 > Would you please review and sponsor it. > > Regards, > Vivek > > From felix.yang at linaro.org Fri Jun 9 10:51:21 2017 From: felix.yang at linaro.org (Felix Yang) Date: Fri, 9 Jun 2017 18:51:21 +0800 Subject: [aarch64-port-dev ] RFR: Backport patch for 7009641 to aarch64/jdk8u Message-ID: Hi, Please review: http://cr.openjdk.java.net/~fyang/7009641/webrev/ We witnessed the same issue on aarch64 jdk8u port. Tested with JTreg, OK to push? Also can someone do a backport for the icedtea7 branch please? Thanks, Felix From aph at redhat.com Fri Jun 9 13:17:56 2017 From: aph at redhat.com (Andrew Haley) Date: Fri, 9 Jun 2017 14:17:56 +0100 Subject: [aarch64-port-dev ] RFR: Backport patch for 7009641 to aarch64/jdk8u In-Reply-To: References: Message-ID: On 09/06/17 11:51, Felix Yang wrote: > Please review: http://cr.openjdk.java.net/~fyang/7009641/webrev/ > We witnessed the same issue on aarch64 jdk8u port. > Tested with JTreg, OK to push? OK, thanks. Are you sure this is 8u-only? -- Andrew Haley Java Platform Lead Engineer Red Hat UK Ltd. EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From felix.yang at linaro.org Fri Jun 9 13:42:52 2017 From: felix.yang at linaro.org (Felix Yang) Date: Fri, 9 Jun 2017 21:42:52 +0800 Subject: [aarch64-port-dev ] RFR: Backport patch for 7009641 to aarch64/jdk8u In-Reply-To: References: Message-ID: Thanks for reviewing the patch. We tried to reproduce the bug using JDK9, but have not succeeded. Code are refactored in JDK9, but the patch is still there for the other ports. We will keep trying, let's see. On 9 June 2017 at 21:17, Andrew Haley wrote: > On 09/06/17 11:51, Felix Yang wrote: > > Please review: http://cr.openjdk.java.net/~fyang/7009641/webrev/ > > We witnessed the same issue on aarch64 jdk8u port. > > Tested with JTreg, OK to push? > > OK, thanks. Are you sure this is 8u-only? > > -- > Andrew Haley > Java Platform Lead Engineer > Red Hat UK Ltd. > EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 > From felix.yang at linaro.org Fri Jun 9 14:14:37 2017 From: felix.yang at linaro.org (felix.yang at linaro.org) Date: Fri, 09 Jun 2017 14:14:37 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8u/hotspot: 7009641: Don't fail VM when CodeCache is full Message-ID: <201706091414.v59EEbZK003006@aojmv0008.oracle.com> Changeset: 30c639e45b5d Author: fyang Date: 2017-06-09 16:49 +0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/hotspot/rev/30c639e45b5d 7009641: Don't fail VM when CodeCache is full Summary: Port 7009641 to AArch64 Reviewed-by: aph Contributed-by: teng.lu at linaro.org ! src/cpu/aarch64/vm/vtableStubs_aarch64.cpp From aph at redhat.com Fri Jun 9 14:31:35 2017 From: aph at redhat.com (Andrew Haley) Date: Fri, 9 Jun 2017 15:31:35 +0100 Subject: [aarch64-port-dev ] RFR: Backport patch for 7009641 to aarch64/jdk8u In-Reply-To: References: Message-ID: On 09/06/17 14:42, Felix Yang wrote: > Thanks for reviewing the patch. > We tried to reproduce the bug using JDK9, but have not succeeded. > Code are refactored in JDK9, but the patch is still there for the other > ports. > We will keep trying, let's see. If it's in the other ports we should have it too. It's only defensive. -- Andrew Haley Java Platform Lead Engineer Red Hat UK Ltd. EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From felix.yang at linaro.org Sat Jun 10 10:49:26 2017 From: felix.yang at linaro.org (Felix Yang) Date: Sat, 10 Jun 2017 18:49:26 +0800 Subject: [aarch64-port-dev ] RFR: Backport patch for 7009641 to aarch64/jdk8u In-Reply-To: References: Message-ID: OK, will propose a webrev for jdk10. Thanks. On 9 June 2017 at 22:31, Andrew Haley wrote: > On 09/06/17 14:42, Felix Yang wrote: > > Thanks for reviewing the patch. > > We tried to reproduce the bug using JDK9, but have not succeeded. > > Code are refactored in JDK9, but the patch is still there for the other > > ports. > > We will keep trying, let's see. > > If it's in the other ports we should have it too. It's only defensive. > > -- > Andrew Haley > Java Platform Lead Engineer > Red Hat UK Ltd. > EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 > From felix.yang at linaro.org Sat Jun 10 11:02:41 2017 From: felix.yang at linaro.org (Felix Yang) Date: Sat, 10 Jun 2017 19:02:41 +0800 Subject: [aarch64-port-dev ] RFR(XS): 8181906: aarch64: port bugfix for 7009641 to aarch64 Message-ID: Hi, Please review webrev: http://cr.openjdk.java.net/~fyang/8181906/webrev/ We witnessed the same issue on aarch64 jdk8u branch and have fixed the issue for this branch. Like the other ports, the JDK10 & JDK9 aarch64 port should also have this patch. The fix is simple and is only defensive, tested with JTreg hotspot. OK to push to this repo: http://hg.openjdk.java.net/jdk10/hs? Thanks, Felix From aph at redhat.com Sun Jun 11 06:52:53 2017 From: aph at redhat.com (Andrew Haley) Date: Sun, 11 Jun 2017 07:52:53 +0100 Subject: [aarch64-port-dev ] RFR(XS): 8181906: aarch64: port bugfix for 7009641 to aarch64 In-Reply-To: References: Message-ID: <30350874-5a9d-7c39-e61c-48935b4019f0@redhat.com> On 10/06/17 12:02, Felix Yang wrote: > Please review webrev: http://cr.openjdk.java.net/~fyang/8181906/webrev/ > We witnessed the same issue on aarch64 jdk8u branch and have fixed the > issue for this branch. > Like the other ports, the JDK10 & JDK9 aarch64 port should also have > this patch. > The fix is simple and is only defensive, tested with JTreg hotspot. > OK to push to this repo: http://hg.openjdk.java.net/jdk10/hs? Yes, thank you. This is OK for JDK 9 and JDK 10. -- Andrew Haley Java Platform Lead Engineer Red Hat UK Ltd. EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From ci_notify at linaro.org Tue Jun 13 09:05:04 2017 From: ci_notify at linaro.org (ci_notify at linaro.org) Date: Tue, 13 Jun 2017 09:05:04 +0000 (UTC) Subject: [aarch64-port-dev ] JTREG, JCStress, SPECjbb2015 and Hadoop/Terasort results for OpenJDK 8u on AArch64 Message-ID: <413051677.5635.1497344706078.JavaMail.jenkins@53c6d05e7b7b> This is a summary of the JTREG test results =========================================== The build and test results are cycled every 15 days. For detailed information on the test output please refer to: http://openjdk.linaro.org/jdk8u/openjdk-jtreg-nightly-tests/summary/2017/163/summary.html ------------------------------------------------------------------------------- client-release/hotspot ------------------------------------------------------------------------------- Build 0: aarch64/2016/dec/01 pass: 668; fail: 44; error: 6 Build 1: aarch64/2016/dec/21 pass: 668; fail: 44; error: 6 Build 2: aarch64/2017/jan/18 pass: 672; fail: 44; error: 3 Build 3: aarch64/2017/feb/04 pass: 672; fail: 44; error: 3 Build 4: aarch64/2017/feb/24 pass: 672; fail: 44; error: 3 Build 5: aarch64/2017/mar/29 pass: 672; fail: 44; error: 3 Build 6: aarch64/2017/apr/05 pass: 672; fail: 44; error: 3 Build 7: aarch64/2017/apr/20 pass: 673; fail: 44; error: 3 Build 8: aarch64/2017/jun/12 pass: 713; fail: 6; error: 2 ------------------------------------------------------------------------------- client-release/jdk ------------------------------------------------------------------------------- Build 0: aarch64/2016/dec/21 pass: 5,621; fail: 219; error: 45 Build 1: aarch64/2017/jan/18 pass: 5,683; fail: 213; error: 36 Build 2: aarch64/2017/feb/04 pass: 5,667; fail: 234; error: 41 Build 3: aarch64/2017/feb/24 pass: 5,701; fail: 217; error: 27 Build 4: aarch64/2017/mar/29 pass: 5,686; fail: 225; error: 34 Build 5: aarch64/2017/apr/05 pass: 5,677; fail: 235; error: 33 Build 6: aarch64/2017/apr/20 pass: 5,671; fail: 254; error: 34 Build 7: aarch64/2017/jun/12 pass: 5,765; fail: 175; error: 23 ------------------------------------------------------------------------------- client-release/langtools ------------------------------------------------------------------------------- Build 0: aarch64/2016/dec/01 pass: 3,091; error: 16 Build 1: aarch64/2016/dec/21 pass: 3,096; error: 11 Build 2: aarch64/2017/jan/18 pass: 3,098; error: 13 Build 3: aarch64/2017/feb/04 pass: 3,094; error: 17 Build 4: aarch64/2017/feb/24 pass: 3,106; error: 6 Build 5: aarch64/2017/mar/29 pass: 3,105; fail: 2; error: 5 Build 6: aarch64/2017/apr/05 pass: 3,104; fail: 2; error: 6 Build 7: aarch64/2017/apr/20 pass: 3,101; fail: 2; error: 10 Build 8: aarch64/2017/jun/12 pass: 3,109; fail: 2; error: 2 ------------------------------------------------------------------------------- server-release/hotspot ------------------------------------------------------------------------------- Build 0: aarch64/2016/nov/03 pass: 664; fail: 44; error: 6 Build 1: aarch64/2016/nov/08 pass: 664; fail: 44; error: 6 Build 2: aarch64/2016/nov/09 pass: 664; fail: 44; error: 6 Build 3: aarch64/2016/nov/21 pass: 668; fail: 44; error: 6 Build 4: aarch64/2016/dec/01 pass: 669; fail: 43; error: 6 Build 5: aarch64/2016/dec/21 pass: 668; fail: 44; error: 6 Build 6: aarch64/2017/jan/18 pass: 673; fail: 43; error: 3 Build 7: aarch64/2017/feb/04 pass: 673; fail: 43; error: 3 Build 8: aarch64/2017/feb/24 pass: 673; fail: 43; error: 3 Build 9: aarch64/2017/mar/29 pass: 673; fail: 43; error: 3 Build 10: aarch64/2017/apr/05 pass: 673; fail: 43; error: 3 Build 11: aarch64/2017/apr/20 pass: 674; fail: 43; error: 3 Build 12: aarch64/2017/jun/12 pass: 714; fail: 5; error: 2 ------------------------------------------------------------------------------- server-release/jdk ------------------------------------------------------------------------------- Build 0: aarch64/2016/dec/21 pass: 5,618; fail: 226; error: 41 Build 1: aarch64/2017/jan/18 pass: 5,690; fail: 206; error: 36 Build 2: aarch64/2017/feb/04 pass: 5,669; fail: 214; error: 59 Build 3: aarch64/2017/feb/24 pass: 5,701; fail: 221; error: 23 Build 4: aarch64/2017/mar/29 pass: 5,696; fail: 222; error: 27 Build 5: aarch64/2017/apr/05 pass: 5,692; fail: 229; error: 24 Build 6: aarch64/2017/apr/20 pass: 5,705; fail: 220; error: 34 Build 7: aarch64/2017/jun/12 pass: 5,778; fail: 161; error: 24 ------------------------------------------------------------------------------- server-release/langtools ------------------------------------------------------------------------------- Build 0: aarch64/2016/nov/03 pass: 3,092; error: 15 Build 1: aarch64/2016/nov/08 pass: 3,092; error: 15 Build 2: aarch64/2016/nov/09 pass: 3,091; error: 16 Build 3: aarch64/2016/nov/21 pass: 3,095; error: 12 Build 4: aarch64/2016/dec/01 pass: 3,095; error: 12 Build 5: aarch64/2016/dec/21 pass: 3,092; error: 15 Build 6: aarch64/2017/jan/18 pass: 3,102; error: 9 Build 7: aarch64/2017/feb/04 pass: 3,099; error: 12 Build 8: aarch64/2017/feb/24 pass: 3,109; error: 3 Build 9: aarch64/2017/mar/29 pass: 3,104; fail: 2; error: 6 Build 10: aarch64/2017/apr/05 pass: 3,105; fail: 2; error: 5 Build 11: aarch64/2017/apr/20 pass: 3,098; fail: 2; error: 13 Build 12: aarch64/2017/jun/12 pass: 3,109; fail: 2; error: 2 Previous results can be found here: http://openjdk.linaro.org/jdk8u/openjdk-jtreg-nightly-tests/index.html SPECjbb2015 composite regression test completed =============================================== This test measures the relative performance of the server compiler running the SPECjbb2015 composite tests and compares the performance against the baseline performance of the server compiler taken on 2016-11-21. In accordance with [1], the SPECjbb2015 tests are run on a system which is not production ready and does not meet all the requirements for publishing compliant results. The numbers below shall be treated as non-compliant (nc) and are for experimental purposes only. Relative performance: Server max-jOPS (nc): 0.97x Relative performance: Server critical-jOPS (nc): 1.00x Details of the test setup and historical results may be found here: http://openjdk.linaro.org/jdk8u/SPECjbb2015-results/ [1] http://www.spec.org/fairuse.html#Academic Regression test Hadoop-Terasort completed ========================================= This test measures the performance of the server and client compilers running Hadoop sorting a 1GB file using Terasort and compares the performance against the baseline performance of the Zero interpreter and against the baseline performance of the client and server compilers on 2014-04-01. Relative performance: Zero: 1.0, Client: 57.85, Server: 108.58 Client 57.85 / Client 2014-04-01 (43.00): 1.35x Server 108.58 / Server 2014-04-01 (71.00): 1.53x Details of the test setup and historical results may be found here: http://openjdk.linaro.org/jdk8u/hadoop-terasort-benchmark-results/ This is a summary of the jcstress test results ============================================== The build and test results are cycled every 15 days. 2016-11-03 pass rate: 5140/5140, results: http://openjdk.linaro.org/jdk8u/jcstress-nightly-runs/2016/308/results/ 2016-11-21 pass rate: 5140/5140, results: http://openjdk.linaro.org/jdk8u/jcstress-nightly-runs/2016/326/results/ 2016-12-01 pass rate: 5140/5140, results: http://openjdk.linaro.org/jdk8u/jcstress-nightly-runs/2016/336/results/ 2016-12-22 pass rate: 5140/5140, results: http://openjdk.linaro.org/jdk8u/jcstress-nightly-runs/2016/356/results/ 2017-01-18 pass rate: 5140/5140, results: http://openjdk.linaro.org/jdk8u/jcstress-nightly-runs/2017/018/results/ 2017-02-06 pass rate: 5140/5140, results: http://openjdk.linaro.org/jdk8u/jcstress-nightly-runs/2017/035/results/ 2017-02-25 pass rate: 5176/5176, results: http://openjdk.linaro.org/jdk8u/jcstress-nightly-runs/2017/055/results/ 2017-03-29 pass rate: 8484/8485, results: http://openjdk.linaro.org/jdk8u/jcstress-nightly-runs/2017/088/results/ 2017-04-05 pass rate: 8484/8485, results: http://openjdk.linaro.org/jdk8u/jcstress-nightly-runs/2017/095/results/ 2017-04-20 pass rate: 8484/8485, results: http://openjdk.linaro.org/jdk8u/jcstress-nightly-runs/2017/110/results/ 2017-06-13 pass rate: 8484/8485, results: http://openjdk.linaro.org/jdk8u/jcstress-nightly-runs/2017/163/results/ For detailed information on the test output please refer to: http://openjdk.linaro.org/jdk8u/jcstress-nightly-runs/ From snazarkin at azul.com Tue Jun 13 13:24:27 2017 From: snazarkin at azul.com (Sergey Nazarkin) Date: Tue, 13 Jun 2017 13:24:27 +0000 Subject: [aarch64-port-dev ] RFR: fix for crash caused by earlyret of compiled method Message-ID: <79168E11-7A2B-4D5E-ABB3-3117961C974A@azul.com> Hi! Please review the fix [1] for the crash happens when compiled method is forced to return early. We found this issue when running vm/jvmti/ForceEarlyReturnObject/fero001/fero00103/fero00103.html JCK test on CPU with 47 cores. The crash happens at the time when test code tries to check returned value and gets invalid oop. Despite correct object was acquired by load_earlyret_value(), it is accidentally substituted on the stack when remove_activation() is executed (see TemplateInterpreterGenerator::generate_earlyret_entry_for). Substitution, in turns, happens due to overlapping of expression and native stacks. Particularly esp equals to sp because frame with no expression is restored (that is correct). After that execution of following code sequence replaces TOS with some irrelevant value. push(tos) // -> puts value on expression stack unlock_object() // -> calls call_VM() and save registers on native stack, in fact, at the same place as esp pop(tos) // -> restores invalid value The fix restores expression stack to max possible for deoptimized method size. Please consider if this fix covers the case workarounded by [2] (I was not able to trace back and find the reason for this changeset). [1] http://cr.openjdk.java.net/~snazarki/earlyret_crash/ [2] http://hg.openjdk.java.net/aarch64-port/jdk8u60/hotspot/file/83f5fdfd56ec/src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp#l1909 Sergey Nazarkin From aph at redhat.com Tue Jun 13 14:54:10 2017 From: aph at redhat.com (Andrew Haley) Date: Tue, 13 Jun 2017 15:54:10 +0100 Subject: [aarch64-port-dev ] RFR: fix for crash caused by earlyret of compiled method In-Reply-To: <79168E11-7A2B-4D5E-ABB3-3117961C974A@azul.com> References: <79168E11-7A2B-4D5E-ABB3-3117961C974A@azul.com> Message-ID: On 13/06/17 14:24, Sergey Nazarkin wrote: > Hi! > > Please review the fix [1] for the crash happens when compiled method is forced to return early. We found this issue when running vm/jvmti/ForceEarlyReturnObject/fero001/fero00103/fero00103.html JCK test on CPU with 47 cores. > > The crash happens at the time when test code tries to check returned value and gets invalid oop. Despite correct object was acquired by load_earlyret_value(), it is accidentally substituted on the stack when remove_activation() is executed (see TemplateInterpreterGenerator::generate_earlyret_entry_for). Substitution, in turns, happens due to overlapping of expression and native stacks. Particularly esp equals to sp because frame with no expression is restored (that is correct). > > After that execution of following code sequence replaces TOS with some irrelevant value. > > push(tos) // -> puts value on expression stack > unlock_object() // -> calls call_VM() and save registers on native stack, in fact, at the same place as esp > pop(tos) // -> restores invalid value > > The fix restores expression stack to max possible for deoptimized method size. Please consider if this fix covers the case workarounded by [2] (I was not able to trace back and find the reason for this changeset). > > [1] http://cr.openjdk.java.net/~snazarki/earlyret_crash/ > [2] http://hg.openjdk.java.net/aarch64-port/jdk8u60/hotspot/file/83f5fdfd56ec/src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp#l1909 I don't quite understand this. If we are the top frame, then we must allow space for max_stack, but in that case temps + extra_args is equal to max_stack anyway, so we don't need to add max_stack to extra_args. If we aren't the top frame, we peel back the native SP at the point of call. Can you tell me a bit more about this? Andrew. -- Andrew Haley Java Platform Lead Engineer Red Hat UK Ltd. EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From snazarkin at azul.com Wed Jun 14 13:33:50 2017 From: snazarkin at azul.com (Sergey Nazarkin) Date: Wed, 14 Jun 2017 13:33:50 +0000 Subject: [aarch64-port-dev ] RFR: fix for crash caused by earlyret of compiled method In-Reply-To: References: <79168E11-7A2B-4D5E-ABB3-3117961C974A@azul.com> Message-ID: <0716A0B5-D568-4FD8-8C6E-87EC70964341@azul.com> Hi Andrew, we are at top frame, but temps and extra_args are 0 #0 AbstractInterpreter::size_activation (max_stack=3, temps=0, extra_args=0, monitors=1, callee_params=0, callee_locals=0, is_top_frame=true) at /media/psf/Home/projects/zulu8-arm64-dev/hotspot/src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp:1635 #1 0x0000007fb78c6b10 in vframeArrayElement::on_stack_size (this=0x7f840014b8, callee_parameters=0, callee_locals=0, is_top_frame=true, popframe_extra_stack_expression_els=0) at /media/psf/Home/projects/zulu8-arm64-dev/hotspot/src/share/vm/runtime/vframeArray.cpp:442 Sergey Nazarkin > On 13 Jun 2017, at 17:54, Andrew Haley wrote: > > On 13/06/17 14:24, Sergey Nazarkin wrote: >> Hi! >> >> Please review the fix [1] for the crash happens when compiled method is forced to return early. We found this issue when running vm/jvmti/ForceEarlyReturnObject/fero001/fero00103/fero00103.html JCK test on CPU with 47 cores. >> >> The crash happens at the time when test code tries to check returned value and gets invalid oop. Despite correct object was acquired by load_earlyret_value(), it is accidentally substituted on the stack when remove_activation() is executed (see TemplateInterpreterGenerator::generate_earlyret_entry_for). Substitution, in turns, happens due to overlapping of expression and native stacks. Particularly esp equals to sp because frame with no expression is restored (that is correct). >> >> After that execution of following code sequence replaces TOS with some irrelevant value. >> >> push(tos) // -> puts value on expression stack >> unlock_object() // -> calls call_VM() and save registers on native stack, in fact, at the same place as esp >> pop(tos) // -> restores invalid value >> >> The fix restores expression stack to max possible for deoptimized method size. Please consider if this fix covers the case workarounded by [2] (I was not able to trace back and find the reason for this changeset). >> >> [1] http://cr.openjdk.java.net/~snazarki/earlyret_crash/ >> [2] http://hg.openjdk.java.net/aarch64-port/jdk8u60/hotspot/file/83f5fdfd56ec/src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp#l1909 > I don't quite understand this. If we are the top frame, then we must > allow space for max_stack, but in that case temps + extra_args is equal > to max_stack anyway, so we don't need to add max_stack to extra_args. > If we aren't the top frame, we peel back the native SP at the point of > call. > > Can you tell me a bit more about this? > > Andrew. > > > > -- > Andrew Haley > Java Platform Lead Engineer > Red Hat UK Ltd. > EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From felix.yang at linaro.org Wed Jun 14 13:57:52 2017 From: felix.yang at linaro.org (Felix Yang) Date: Wed, 14 Jun 2017 21:57:52 +0800 Subject: [aarch64-port-dev ] RFR(S): 8182161: aarch64: combine andr+cbnz into tbnz when possible Message-ID: Hi, Please review: http://cr.openjdk.java.net/~fyang/8182161/webrev/ Bug: https://bugs.openjdk.java.net/browse/JDK-8182161 Still exists some instruction combine opportunities in aarch64 hotspot runtime. Tested with JTreg hotspot. OK to push to this repo: http://hg.openjdk.java.net/jdk10/hs? Thanks, Felix From Derek.White at cavium.com Wed Jun 14 14:30:04 2017 From: Derek.White at cavium.com (White, Derek) Date: Wed, 14 Jun 2017 14:30:04 +0000 Subject: [aarch64-port-dev ] RFR(S): 8182161: aarch64: combine andr+cbnz into tbnz when possible In-Reply-To: References: Message-ID: Looks good to me. (r)eviewed. - Derek (drwhite) -----Original Message----- From: hotspot-runtime-dev [mailto:hotspot-runtime-dev-bounces at openjdk.java.net] On Behalf Of Felix Yang Sent: Wednesday, June 14, 2017 9:58 AM To: hotspot-runtime-dev Cc: aarch64-port-dev Subject: RFR(S): 8182161: aarch64: combine andr+cbnz into tbnz when possible Hi, Please review: http://cr.openjdk.java.net/~fyang/8182161/webrev/ Bug: https://bugs.openjdk.java.net/browse/JDK-8182161 Still exists some instruction combine opportunities in aarch64 hotspot runtime. Tested with JTreg hotspot. OK to push to this repo: http://hg.openjdk.java.net/jdk10/hs? Thanks, Felix From adinn at redhat.com Wed Jun 14 14:31:12 2017 From: adinn at redhat.com (Andrew Dinn) Date: Wed, 14 Jun 2017 15:31:12 +0100 Subject: [aarch64-port-dev ] RFR(S): 8182161: aarch64: combine andr+cbnz into tbnz when possible In-Reply-To: References: Message-ID: <7fab563a-9180-03c9-651d-15e01dcb8d76@redhat.com> On 14/06/17 14:57, Felix Yang wrote: > Please review: http://cr.openjdk.java.net/~fyang/8182161/webrev/ Reviewed as ok by me. > Bug: https://bugs.openjdk.java.net/browse/JDK-8182161 > > Still exists some instruction combine opportunities in aarch64 hotspot > runtime. > Tested with JTreg hotspot. > OK to push to this repo: http://hg.openjdk.java.net/jdk10/hs? regards, Andrew Dinn ----------- Senior Principal Software Engineer Red Hat UK Ltd Registered in England and Wales under Company Registration No. 03798903 Directors: Michael Cunningham, Michael ("Mike") O'Neill, Eric Shander From aph at redhat.com Wed Jun 14 14:49:27 2017 From: aph at redhat.com (Andrew Haley) Date: Wed, 14 Jun 2017 15:49:27 +0100 Subject: [aarch64-port-dev ] RFR(S): 8182161: aarch64: combine andr+cbnz into tbnz when possible In-Reply-To: <7fab563a-9180-03c9-651d-15e01dcb8d76@redhat.com> References: <7fab563a-9180-03c9-651d-15e01dcb8d76@redhat.com> Message-ID: <4a4cffdc-851b-0f16-4324-342fbd3120a9@redhat.com> On 14/06/17 15:31, Andrew Dinn wrote: > On 14/06/17 14:57, Felix Yang wrote: >> Please review: http://cr.openjdk.java.net/~fyang/8182161/webrev/ > > Reviewed as ok by me. Fine by me, then. -- Andrew Haley Java Platform Lead Engineer Red Hat UK Ltd. EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From aph at redhat.com Wed Jun 14 15:58:03 2017 From: aph at redhat.com (Andrew Haley) Date: Wed, 14 Jun 2017 16:58:03 +0100 Subject: [aarch64-port-dev ] RFR: fix for crash caused by earlyret of compiled method In-Reply-To: <0716A0B5-D568-4FD8-8C6E-87EC70964341@azul.com> References: <79168E11-7A2B-4D5E-ABB3-3117961C974A@azul.com> <0716A0B5-D568-4FD8-8C6E-87EC70964341@azul.com> Message-ID: <365edfda-c473-acb7-febf-c0aa07e6a584@redhat.com> On 14/06/17 14:33, Sergey Nazarkin wrote: > Hi Andrew, > > we are at top frame, but temps and extra_args are 0 > > #0 AbstractInterpreter::size_activation (max_stack=3, temps=0, extra_args=0, monitors=1, callee_params=0, callee_locals=0, > is_top_frame=true) at /media/psf/Home/projects/zulu8-arm64-dev/hotspot/src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp:1635 > #1 0x0000007fb78c6b10 in vframeArrayElement::on_stack_size (this=0x7f840014b8, callee_parameters=0, callee_locals=0, > is_top_frame=true, popframe_extra_stack_expression_els=0) > at /media/psf/Home/projects/zulu8-arm64-dev/hotspot/src/share/vm/runtime/vframeArray.cpp:442 In the method above,CodeEmitInfo::interpreter_frame_size(), int extra_args = state->scope()->method()->max_stack() - state->stack_size(); and int temps = state->stack_size(); int frame_size = BytesPerWord * Interpreter::size_activation(method->max_stack(), temps + callee_parameters, extra_args, locks, callee_parameters, callee_locals, is_top_frame); so, extra_args == max_stack - temps So, it looks right in that case, and it doesn't make sense to add in extra_args twice. In the case of vframeArrayElement::on_stack_size, we need to know whether we are the top frame or not in order to determine the amount of stack we need because we don't allocate max_stack at call sites, only the stack we need. We are passed the information about whether we're a top frame or not. PPC uses const int max_alignment_space = StackAlignmentInBytes / Interpreter::stackElementSize; const int abi_scratch = is_top_frame ? (frame::abi_reg_args_size / Interpreter::stackElementSize) : (frame::abi_minframe_size / Interpreter::stackElementSize); const int size = max_stack + (callee_locals - callee_params) + monitors * frame::interpreter_frame_monitor_size() + max_alignment_space + abi_scratch + frame::ijava_state_size / Interpreter::stackElementSize; // Fixed size of an interpreter frame, align to 16-byte. return (size & -2); which looks reasonable: it must allocate max_stack at every call, but we don't do that on AArch64. I think this might be correct for us: int size = overhead + (callee_locals - callee_params) + monitors * frame::interpreter_frame_monitor_size() + is_top_frame ? max_stack : temps + extra_args; I'm going to try to run the test to see for myself. -- Andrew Haley Java Platform Lead Engineer Red Hat UK Ltd. EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From aph at redhat.com Wed Jun 14 16:28:20 2017 From: aph at redhat.com (Andrew Haley) Date: Wed, 14 Jun 2017 17:28:20 +0100 Subject: [aarch64-port-dev ] RFR: fix for crash caused by earlyret of compiled method In-Reply-To: <365edfda-c473-acb7-febf-c0aa07e6a584@redhat.com> References: <79168E11-7A2B-4D5E-ABB3-3117961C974A@azul.com> <0716A0B5-D568-4FD8-8C6E-87EC70964341@azul.com> <365edfda-c473-acb7-febf-c0aa07e6a584@redhat.com> Message-ID: <016a031d-5d15-652c-728b-b2724febb7ba@redhat.com> Hi, On 14/06/17 16:58, Andrew Haley wrote: > I think this might be correct for us: > > int size = overhead + > (callee_locals - callee_params) + > monitors * frame::interpreter_frame_monitor_size() + > is_top_frame ? max_stack : temps + extra_args; or rather, int size = overhead + (callee_locals - callee_params) + monitors * frame::interpreter_frame_monitor_size() + (is_top_frame ? max_stack : temps + extra_args); -- Andrew Haley Java Platform Lead Engineer Red Hat UK Ltd. EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From aph at redhat.com Thu Jun 15 18:12:24 2017 From: aph at redhat.com (Andrew Haley) Date: Thu, 15 Jun 2017 19:12:24 +0100 Subject: [aarch64-port-dev ] RFR: fix for crash caused by earlyret of compiled method In-Reply-To: <016a031d-5d15-652c-728b-b2724febb7ba@redhat.com> References: <79168E11-7A2B-4D5E-ABB3-3117961C974A@azul.com> <0716A0B5-D568-4FD8-8C6E-87EC70964341@azul.com> <365edfda-c473-acb7-febf-c0aa07e6a584@redhat.com> <016a031d-5d15-652c-728b-b2724febb7ba@redhat.com> Message-ID: <7fd29e96-a132-8203-07ee-401cb7264028@redhat.com> Hi, This is the patch I'd like to go with. It allocates the correct amount of stack space in every case, as far as I can see, and I've carefully stepped through your failing test case. Can you please test it in your environment? Thanks. diff --git a/src/cpu/aarch64/vm/abstractInterpreter_aarch64.cpp b/src/cpu/aarch64/vm/abstractInterpreter_aarch64.cpp --- a/src/cpu/aarch64/vm/abstractInterpreter_aarch64.cpp +++ b/src/cpu/aarch64/vm/abstractInterpreter_aarch64.cpp @@ -109,9 +109,15 @@ // for the callee's params we only need to account for the extra // locals. int size = overhead + - (callee_locals - callee_params)*Interpreter::stackElementWords + + (callee_locals - callee_params) + monitors * frame::interpreter_frame_monitor_size() + - temps* Interpreter::stackElementWords + extra_args; + // On the top frame, at all times SP <= ESP, and SP is + // 16-aligned. We ensure this by adjusting SP on method + // entry and re-entry to allow room for the maximum size of + // the expression stack. When we call another method we bump + // SP so that no stack space is wasted. So, only on the top + // frame do we need to allow max_stack words. + (is_top_frame ? max_stack : temps + extra_args); // On AArch64 we always keep the stack pointer 16-aligned, so we // must round up here. -- Andrew Haley Java Platform Lead Engineer Red Hat UK Ltd. EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From zhongwei.yao at linaro.org Fri Jun 16 04:40:01 2017 From: zhongwei.yao at linaro.org (Zhongwei Yao) Date: Fri, 16 Jun 2017 12:40:01 +0800 Subject: [aarch64-port-dev ] RFR: 88158361: AArch64: Address calculation missed optimizations Message-ID: Hi, all, A missing rule (AddExtL_sxtw_imm) to match following test Java code is added in this patch: z = y + (((long)x) << 2) // where x is int, y is long, const number (2) can be in range [0, 4] inclusively. C2 generated following code before applying patch below: sbfiz x10, x1, #2, #32 add x0, x2, x10 So after applying this patch, C2 generates: add x0, x2, w1, sxtw #2 And typically, Java code involving Unsafe address calculation will match this rule: x = unsafe.getAddress(mem) + (((long)i) << 3) // where i is int By the way, the counterpart sub extension rule (like SubExtL_sxtw_imm) is also missing. And moreover, other add/sub extension rules (like AddExtL_uxtb_and_shift, AddExtL_uxth_and_shift etc.) are also missing. But these rules are not hit at all in my real world benchmark tests. I feel they are too specific to be matched. So I do not include them in my patch. And I found JDK-8158361 fit my fixing. If you feel it may not be appropriate, I can create a new one for this patch. Bug: https://bugs.openjdk.java.net/browse/JDK-8158361 Webrev: http://cr.openjdk.java.net/~njian/8158361/webrev.00/ Please help to review it. -- Best regards, Zhongwei From ningsheng.jian at linaro.org Fri Jun 16 07:38:13 2017 From: ningsheng.jian at linaro.org (Ningsheng Jian) Date: Fri, 16 Jun 2017 15:38:13 +0800 Subject: [aarch64-port-dev ] RFR: 8179933: aarch64: incorrect match rule for immL_63 and immL_255 In-Reply-To: References: <88066719-4ac8-90c9-b0ac-60efbc326d31@redhat.com> <92073b8a-f295-492c-ad62-21e2e71e318b@redhat.com> <073dc684-7c96-6221-815e-521bde178078@redhat.com> <26173768-d87f-6ca5-3684-47bd851018fb@redhat.com> <1494612717.3246.4.camel@gmail.com> Message-ID: Hi, Is this patch OK for jdk10? Thanks, Ningsheng On 15 May 2017 at 10:47, Zhongwei Yao wrote: > Hi, Edward, Thanks for pointing out. > > And I've checked the generated nodes of dst = src / 2, (y and x are both > long) in current c2 is: > RShiftL (AddL src (URShiftL (RShiftL src immI_63) immI_63)) > > On 13 May 2017 at 02:11, Edward Nevill wrote: > >> On Fri, 2017-05-12 at 10:45 +0100, Andrew Dinn wrote: >> > On 12/05/17 10:25, Andrew Haley wrote: >> > > >> > > On 12/05/17 10:14, Zhongwei Yao wrote: >> > > > >> > > > On 12 May 2017 at 16:14, Andrew Haley wrote: >> > > > > >> > > > > So it's >> > > > > >> > > > > ((aLong >> 63) >>> 63) >> > > > > >> > > > > This is so weird I don't know what to think about it. >> > > > Yeah, it is weird. I was thinking (aLong >>> 63) should be enough. >> Shall we >> > > > just remove this pattern? >> > > Well, maybe there was a reason for it. >> > Ok, these rules were first introduced into jdk8 by Ed Nevill >> > >> > http://hg.openjdk.java.net/aarch64-port/jdk8u/hotspot/rev/1fcabae0e46f >> > >> > They were then imported into jdk9 as part of the wholesale upload. >> > >> > So, I think there is probably a good reason why they are there :-) >> > >> >> Here is the original posting for the int case on aarch64-dev >> >> http://mail.openjdk.java.net/pipermail/aarch64-port-dev/ >> 2014-April/001047.html >> >> On Mon, 2014-05-12 at 13:10 +0100, Andrew Haley wrote: >> >> > Why is there no long version of this? >> >> So I added a long version >> >> http://mail.openjdk.java.net/pipermail/aarch64-port-dev/ >> 2014-May/001070.html >> >> Ed. >> >> > > > -- > Best regards, > Zhongwei From aph at redhat.com Fri Jun 16 08:36:07 2017 From: aph at redhat.com (Andrew Haley) Date: Fri, 16 Jun 2017 09:36:07 +0100 Subject: [aarch64-port-dev ] RFR: 88158361: AArch64: Address calculation missed optimizations In-Reply-To: References: Message-ID: <1b8ec09c-e237-cd98-d5e9-445e8bce8f99@redhat.com> On 16/06/17 05:40, Zhongwei Yao wrote: > By the way, the counterpart sub extension rule (like SubExtL_sxtw_imm) is > also missing. And moreover, other add/sub extension rules (like > AddExtL_uxtb_and_shift, AddExtL_uxth_and_shift etc.) are also missing. But > these rules are not hit at all in my real world benchmark tests. I feel > they are too specific to be matched. So I do not include them in my patch. It looks like these are cases which are missing from the patterns generated by the macros in aarch64_ad.m4. It would be better if you added them all there. Thanks. -- Andrew Haley Java Platform Lead Engineer Red Hat UK Ltd. EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From zhongwei.yao at linaro.org Fri Jun 16 10:35:50 2017 From: zhongwei.yao at linaro.org (Zhongwei Yao) Date: Fri, 16 Jun 2017 18:35:50 +0800 Subject: [aarch64-port-dev ] RFR: 88158361: AArch64: Address calculation missed optimizations In-Reply-To: <1b8ec09c-e237-cd98-d5e9-445e8bce8f99@redhat.com> References: <1b8ec09c-e237-cd98-d5e9-445e8bce8f99@redhat.com> Message-ID: Hi, Andrew, On 16 June 2017 at 16:36, Andrew Haley wrote: > On 16/06/17 05:40, Zhongwei Yao wrote: > > By the way, the counterpart sub extension rule (like SubExtL_sxtw_imm) is > > also missing. And moreover, other add/sub extension rules (like > > AddExtL_uxtb_and_shift, AddExtL_uxth_and_shift etc.) are also missing. > But > > these rules are not hit at all in my real world benchmark tests. I feel > > they are too specific to be matched. So I do not include them in my > patch. > > It looks like these are cases which are missing from the patterns > generated by the macros in aarch64_ad.m4. It would be better if you > added them all there. > Yeah, they are missing in aarch64_ad.m4. And there are 32 kinds of add/sub extension combination. I have tried to add 18 rules in aarch64.ad, and found many of them are quite contrived, like: subw $dst, $src1, $src2, uxtb, #lshift //match rule: Set dst (SubI src1 (LShiftI (AndI src2 mask) lshift)), where mask=255. java code: z = x - ((y & 255) << lshift), where x, y, z are all int, lshift = [0, 4] addw $dst, $src1, $src2, uxth, #lshift //match rule: Set dst (AddI src1 (LShiftI (AndI src2 mask) lshift)), where mask=65535. java code: z = x + ((y & 65535) << lshift), where x, y, z are all int, lshift = [0, 4] Shall I add all of these 18 rules? And for the left 14 combination (as following), I have not come up rules to utilise such instructions. Do you have any suggestion? add SXTB (simplified for add rd, rm, rn, sxtb, #[0,4], same for below) add SXTH add SXTX addw SXTB addw SXTH addw SXTW addw SXTX sub SXTB sub SXTH sub SXTX subw SXTB subw SXTH subw SXTW subw SXTX -- Thanks! > > Thanks. > > -- > Andrew Haley > Java Platform Lead Engineer > Red Hat UK Ltd. > EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 > -- Best regards, Zhongwei From snazarkin at azul.com Fri Jun 16 11:51:31 2017 From: snazarkin at azul.com (Sergey Nazarkin) Date: Fri, 16 Jun 2017 11:51:31 +0000 Subject: [aarch64-port-dev ] RFR: fix for crash caused by earlyret of compiled method In-Reply-To: <7fd29e96-a132-8203-07ee-401cb7264028@redhat.com> References: <79168E11-7A2B-4D5E-ABB3-3117961C974A@azul.com> <0716A0B5-D568-4FD8-8C6E-87EC70964341@azul.com> <365edfda-c473-acb7-febf-c0aa07e6a584@redhat.com> <016a031d-5d15-652c-728b-b2724febb7ba@redhat.com> <7fd29e96-a132-8203-07ee-401cb7264028@redhat.com> Message-ID: Hi Andrew, thank you, the patch works fine. I?ve updated webrev with correct patch for JDK8 Sergey Nazarkin > On 15 Jun 2017, at 21:12, Andrew Haley wrote: > > Hi, > > This is the patch I'd like to go with. It allocates the correct amount of > stack space in every case, as far as I can see, and I've carefully stepped > through your failing test case. > > Can you please test it in your environment? Thanks. > > diff --git a/src/cpu/aarch64/vm/abstractInterpreter_aarch64.cpp b/src/cpu/aarch64/vm/abstractInterpreter_aarch64.cpp > --- a/src/cpu/aarch64/vm/abstractInterpreter_aarch64.cpp > +++ b/src/cpu/aarch64/vm/abstractInterpreter_aarch64.cpp > @@ -109,9 +109,15 @@ > // for the callee's params we only need to account for the extra > // locals. > int size = overhead + > - (callee_locals - callee_params)*Interpreter::stackElementWords + > + (callee_locals - callee_params) + > monitors * frame::interpreter_frame_monitor_size() + > - temps* Interpreter::stackElementWords + extra_args; > + // On the top frame, at all times SP <= ESP, and SP is > + // 16-aligned. We ensure this by adjusting SP on method > + // entry and re-entry to allow room for the maximum size of > + // the expression stack. When we call another method we bump > + // SP so that no stack space is wasted. So, only on the top > + // frame do we need to allow max_stack words. > + (is_top_frame ? max_stack : temps + extra_args); > > // On AArch64 we always keep the stack pointer 16-aligned, so we > // must round up here. > > -- > Andrew Haley > Java Platform Lead Engineer > Red Hat UK Ltd. > EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From aph at redhat.com Fri Jun 16 13:39:46 2017 From: aph at redhat.com (Andrew Haley) Date: Fri, 16 Jun 2017 14:39:46 +0100 Subject: [aarch64-port-dev ] RFR: 88158361: AArch64: Address calculation missed optimizations In-Reply-To: References: <1b8ec09c-e237-cd98-d5e9-445e8bce8f99@redhat.com> Message-ID: On 16/06/17 11:35, Zhongwei Yao wrote: > And there are 32 kinds of add/sub extension combination. I have tried to > add 18 rules in aarch64.ad, and found many of them are quite contrived, > like: > subw $dst, $src1, $src2, uxtb, #lshift //match rule: Set dst (SubI > src1 (LShiftI (AndI src2 mask) lshift)), where mask=255. java code: z = x - > ((y & 255) << lshift), where x, y, z are all int, lshift = [0, 4] > addw $dst, $src1, $src2, uxth, #lshift //match rule: Set dst (AddI > src1 (LShiftI (AndI src2 mask) lshift)), where mask=65535. java code: z = x > + ((y & 65535) << lshift), where x, y, z are all int, lshift = [0, 4] > > Shall I add all of these 18 rules? I would not want you to do anything you feel does not make sense. Please add the nodes that seem reasonable and that can be tested in code that C2 generates. > And for the left 14 combination (as following), I have not come up rules to > utilise such instructions. Do you have any suggestion? > add SXTB (simplified for add rd, rm, rn, sxtb, #[0,4], same for below) Sign extension is modelled as Shift Left followed by Shift Right. SXTB is (RShiftL (LShiftL src 56) 56). You can figure out the rest from that. -- Andrew Haley Java Platform Lead Engineer Red Hat UK Ltd. EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From aph at redhat.com Fri Jun 16 16:04:14 2017 From: aph at redhat.com (Andrew Haley) Date: Fri, 16 Jun 2017 17:04:14 +0100 Subject: [aarch64-port-dev ] RFR: fix for crash caused by earlyret of compiled method In-Reply-To: References: <79168E11-7A2B-4D5E-ABB3-3117961C974A@azul.com> <0716A0B5-D568-4FD8-8C6E-87EC70964341@azul.com> <365edfda-c473-acb7-febf-c0aa07e6a584@redhat.com> <016a031d-5d15-652c-728b-b2724febb7ba@redhat.com> <7fd29e96-a132-8203-07ee-401cb7264028@redhat.com> Message-ID: <115c0eb6-8d28-d67a-4463-e3d00c6bad0f@redhat.com> On 16/06/17 12:51, Sergey Nazarkin wrote: > thank you, the patch works fine. I?ve updated webrev with correct patch for JDK8 OK for 8, 9, and 10. Thanks. -- Andrew Haley Java Platform Lead Engineer Red Hat UK Ltd. EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From adinn at redhat.com Mon Jun 19 07:38:31 2017 From: adinn at redhat.com (Andrew Dinn) Date: Mon, 19 Jun 2017 08:38:31 +0100 Subject: [aarch64-port-dev ] RFR: 8179933: aarch64: incorrect match rule for immL_63 and immL_255 In-Reply-To: References: <88066719-4ac8-90c9-b0ac-60efbc326d31@redhat.com> <92073b8a-f295-492c-ad62-21e2e71e318b@redhat.com> <073dc684-7c96-6221-815e-521bde178078@redhat.com> <26173768-d87f-6ca5-3684-47bd851018fb@redhat.com> <1494612717.3246.4.camel@gmail.com> Message-ID: Hi Ningsheng, On 16/06/17 08:38, Ningsheng Jian wrote: > Is this patch OK for jdk10? As I said in an earlier post I am happy with the original patch. I have no problem with it going into jdk10. Andrew asked for a test case and evidence of the change to generated code which I saw you provided. I'll leave it to Andrew to confirm that he is happy for this to be pushed. regards, Andrew Dinn ----------- Senior Principal Software Engineer Red Hat UK Ltd Registered in England and Wales under Company Registration No. 03798903 Directors: Michael Cunningham, Michael ("Mike") O'Neill, Eric Shander From aph at redhat.com Mon Jun 19 08:37:03 2017 From: aph at redhat.com (Andrew Haley) Date: Mon, 19 Jun 2017 09:37:03 +0100 Subject: [aarch64-port-dev ] RFR: 8179933: aarch64: incorrect match rule for immL_63 and immL_255 In-Reply-To: References: <88066719-4ac8-90c9-b0ac-60efbc326d31@redhat.com> <92073b8a-f295-492c-ad62-21e2e71e318b@redhat.com> <073dc684-7c96-6221-815e-521bde178078@redhat.com> <26173768-d87f-6ca5-3684-47bd851018fb@redhat.com> <1494612717.3246.4.camel@gmail.com> Message-ID: On 19/06/17 08:38, Andrew Dinn wrote: > Andrew asked for a test case and evidence of the change to generated > code which I saw you provided. I'll leave it to Andrew to confirm that > he is happy for this to be pushed. Sure, Andrew. -- Andrew Haley Java Platform Lead Engineer Red Hat UK Ltd. EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From ningsheng.jian at linaro.org Mon Jun 19 08:39:54 2017 From: ningsheng.jian at linaro.org (Ningsheng Jian) Date: Mon, 19 Jun 2017 16:39:54 +0800 Subject: [aarch64-port-dev ] RFR: 8179933: aarch64: incorrect match rule for immL_63 and immL_255 In-Reply-To: References: <88066719-4ac8-90c9-b0ac-60efbc326d31@redhat.com> <92073b8a-f295-492c-ad62-21e2e71e318b@redhat.com> <073dc684-7c96-6221-815e-521bde178078@redhat.com> <26173768-d87f-6ca5-3684-47bd851018fb@redhat.com> <1494612717.3246.4.camel@gmail.com> Message-ID: Thank you Andrew! Regards, Ningsheng On 19 June 2017 at 16:37, Andrew Haley wrote: > On 19/06/17 08:38, Andrew Dinn wrote: >> Andrew asked for a test case and evidence of the change to generated >> code which I saw you provided. I'll leave it to Andrew to confirm that >> he is happy for this to be pushed. > > Sure, > > Andrew. > > > -- > Andrew Haley > Java Platform Lead Engineer > Red Hat UK Ltd. > EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From zhongwei.yao at linaro.org Mon Jun 19 10:23:06 2017 From: zhongwei.yao at linaro.org (Zhongwei Yao) Date: Mon, 19 Jun 2017 18:23:06 +0800 Subject: [aarch64-port-dev ] RFR: 88158361: AArch64: Address calculation missed optimizations In-Reply-To: References: <1b8ec09c-e237-cd98-d5e9-445e8bce8f99@redhat.com> Message-ID: On 16 June 2017 at 21:39, Andrew Haley wrote: > On 16/06/17 11:35, Zhongwei Yao wrote: > > And there are 32 kinds of add/sub extension combination. I have tried to > > add 18 rules in aarch64.ad, and found many of them are quite contrived, > > like: > > subw $dst, $src1, $src2, uxtb, #lshift //match rule: Set dst (SubI > > src1 (LShiftI (AndI src2 mask) lshift)), where mask=255. java code: z = > x - > > ((y & 255) << lshift), where x, y, z are all int, lshift = [0, 4] > > addw $dst, $src1, $src2, uxth, #lshift //match rule: Set dst (AddI > > src1 (LShiftI (AndI src2 mask) lshift)), where mask=65535. java code: z > = x > > + ((y & 65535) << lshift), where x, y, z are all int, lshift = [0, 4] > > > > Shall I add all of these 18 rules? > > I would not want you to do anything you feel does not make sense. Please > add > the nodes that seem reasonable and that can be tested in code that C2 > generates. > I see. I will add most of the combinations except instructions like: add x0, x1, x2, uxtx, # 1, which is replaced by add x0, x1, x2, lsl, #1. > > And for the left 14 combination (as following), I have not come up rules > to > > utilise such instructions. Do you have any suggestion? > > add SXTB (simplified for add rd, rm, rn, sxtb, #[0,4], same for > below) > > Sign extension is modelled as Shift Left followed by Shift Right. > SXTB is (RShiftL (LShiftL src 56) 56). You can figure out the rest from > that. > Thanks for your suggestions! > -- > Andrew Haley > Java Platform Lead Engineer > Red Hat UK Ltd. > EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 > -- Best regards, Zhongwei From felix.yang at linaro.org Mon Jun 19 10:47:41 2017 From: felix.yang at linaro.org (Felix Yang) Date: Mon, 19 Jun 2017 18:47:41 +0800 Subject: [aarch64-port-dev ] RFR: 8179933: aarch64: incorrect match rule for immL_63 and immL_255 In-Reply-To: References: <88066719-4ac8-90c9-b0ac-60efbc326d31@redhat.com> <92073b8a-f295-492c-ad62-21e2e71e318b@redhat.com> <073dc684-7c96-6221-815e-521bde178078@redhat.com> <26173768-d87f-6ca5-3684-47bd851018fb@redhat.com> <1494612717.3246.4.camel@gmail.com> Message-ID: Pushed. Thanks. On 19 June 2017 at 16:39, Ningsheng Jian wrote: > Thank you Andrew! > > Regards, > Ningsheng > > On 19 June 2017 at 16:37, Andrew Haley wrote: > > On 19/06/17 08:38, Andrew Dinn wrote: > >> Andrew asked for a test case and evidence of the change to generated > >> code which I saw you provided. I'll leave it to Andrew to confirm that > >> he is happy for this to be pushed. > > > > Sure, > > > > Andrew. > > > > > > -- > > Andrew Haley > > Java Platform Lead Engineer > > Red Hat UK Ltd. > > EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 > From felix.yang at linaro.org Mon Jun 19 10:55:07 2017 From: felix.yang at linaro.org (Felix Yang) Date: Mon, 19 Jun 2017 18:55:07 +0800 Subject: [aarch64-port-dev ] Backport patches for 8031818, 8139758 and 8144993 Message-ID: Hi, Please review: http://cr.openjdk.java.net/~fyang/8u-backports/webrev/ This backport three patchs: 8031818, 8139758 and 8144993 to jdk8u aarch64 port. I think It's necessary for this repo to have the last two patches. I backport the first one as the second one depends on it. We see some performance gain for one of our real world Java application. Tested with JTreg on aarch64 Linux platform, OK to push? Felix, Thanks From snazarkin at azul.com Mon Jun 19 11:10:11 2017 From: snazarkin at azul.com (Sergey Nazarkin) Date: Mon, 19 Jun 2017 11:10:11 +0000 Subject: [aarch64-port-dev ] RFR: fix for crash caused by earlyret of compiled method In-Reply-To: <115c0eb6-8d28-d67a-4463-e3d00c6bad0f@redhat.com> References: <79168E11-7A2B-4D5E-ABB3-3117961C974A@azul.com> <0716A0B5-D568-4FD8-8C6E-87EC70964341@azul.com> <365edfda-c473-acb7-febf-c0aa07e6a584@redhat.com> <016a031d-5d15-652c-728b-b2724febb7ba@redhat.com> <7fd29e96-a132-8203-07ee-401cb7264028@redhat.com> <115c0eb6-8d28-d67a-4463-e3d00c6bad0f@redhat.com> Message-ID: <76C1DBC7-A3D1-4177-953E-4BD2E4AFC2B0@azul.com> Looking for kind soul who can updated repos since I?ve no rights to do it. Sergey Nazarkin > On 16 Jun 2017, at 19:04, Andrew Haley wrote: > > On 16/06/17 12:51, Sergey Nazarkin wrote: >> thank you, the patch works fine. I?ve updated webrev with correct patch for JDK8 > > OK for 8, 9, and 10. > > Thanks. > > -- > Andrew Haley > Java Platform Lead Engineer > Red Hat UK Ltd. > EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From aph at redhat.com Mon Jun 19 11:16:28 2017 From: aph at redhat.com (Andrew Haley) Date: Mon, 19 Jun 2017 12:16:28 +0100 Subject: [aarch64-port-dev ] Backport patches for 8031818, 8139758 and 8144993 In-Reply-To: References: Message-ID: On 19/06/17 11:55, Felix Yang wrote: > Please review: http://cr.openjdk.java.net/~fyang/8u-backports/webrev/ > > This backport three patchs: 8031818, 8139758 and 8144993 to jdk8u aarch64 > port. > I think It's necessary for this repo to have the last two patches. I > backport the first one as the second one depends on it. > We see some performance gain for one of our real world Java application. > Tested with JTreg on aarch64 Linux platform, OK to push? Changes to shared code should usually be submitted to the global jdk8u list. These all seem to be potentially destabilizing changes. Is there any reason you're submitting them as AArch64 patches to this list? -- Andrew Haley Java Platform Lead Engineer Red Hat UK Ltd. EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From felix.yang at linaro.org Mon Jun 19 12:16:28 2017 From: felix.yang at linaro.org (Felix Yang) Date: Mon, 19 Jun 2017 20:16:28 +0800 Subject: [aarch64-port-dev ] Backport patches for 8031818, 8139758 and 8144993 In-Reply-To: References: Message-ID: Hi Andrew, Actually, I am not quite clear about the correct procedure to do backport on jdk8u repo. Please let me know if there is anything wrong I am doing. There are not bugfixing patches, but just performance improvement ones. So it seems to me that it might be hard or inappropriate for them to go into jdk8u repo, right? As the jdk8u aarch64 port repo can benefit from these patches in respect of performance, I want this repo to have them. I don't want to keep them in my private repo, but this will surely cause some difference for shared code between jdk8u and jdk8u aarch64 port. Thanks, Felix On 19 June 2017 at 19:16, Andrew Haley wrote: > On 19/06/17 11:55, Felix Yang wrote: > > > Please review: http://cr.openjdk.java.net/~fyang/8u-backports/webrev/ > > > > This backport three patchs: 8031818, 8139758 and 8144993 to jdk8u > aarch64 > > port. > > I think It's necessary for this repo to have the last two patches. I > > backport the first one as the second one depends on it. > > We see some performance gain for one of our real world Java > application. > > Tested with JTreg on aarch64 Linux platform, OK to push? > > Changes to shared code should usually be submitted to the global jdk8u > list. These all seem to be potentially destabilizing changes. Is > there any reason you're submitting them as AArch64 patches to this > list? > > -- > Andrew Haley > Java Platform Lead Engineer > Red Hat UK Ltd. > EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 > From aph at redhat.com Mon Jun 19 12:41:48 2017 From: aph at redhat.com (Andrew Haley) Date: Mon, 19 Jun 2017 13:41:48 +0100 Subject: [aarch64-port-dev ] Backport patches for 8031818, 8139758 and 8144993 In-Reply-To: References: Message-ID: <01a8bcdb-5f7a-29d3-1647-3182ed14867f@redhat.com> On 19/06/17 13:16, Felix Yang wrote: > Actually, I am not quite clear about the correct procedure to do > backport on jdk8u repo. Please let me know if there is anything wrong I am > doing. You just submit them to the -8u list. > There are not bugfixing patches, but just performance > improvement ones. So it seems to me that it might be hard or > inappropriate for them to go into jdk8u repo, right? In which case they're inappropriate in aarch64-jdk8u, too. I can think of no reason why stability is less important to AArch64 than to the other ports. Stability is a key component of software quality, and I want AArch64 to be of a quality that is just as good as other ports. > As the jdk8u aarch64 port repo can benefit from these patches in > respect of performance, I want this repo to have them. > I don't want to keep them in my private repo, but this will > surely cause some difference for shared code between jdk8u and jdk8u > aarch64 port. There shouldn't be any differences in shared code between jdk8u and jdk8u aarch64 except for critical bugs. Performance patches could be considered if the performance difference was severe and due to a bug, but in that case they'd be considered for jdk8u as well. -- Andrew Haley Java Platform Lead Engineer Red Hat UK Ltd. EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From felix.yang at linaro.org Mon Jun 19 13:38:17 2017 From: felix.yang at linaro.org (Felix Yang) Date: Mon, 19 Jun 2017 21:38:17 +0800 Subject: [aarch64-port-dev ] Backport patches for 8031818, 8139758 and 8144993 In-Reply-To: <01a8bcdb-5f7a-29d3-1647-3182ed14867f@redhat.com> References: <01a8bcdb-5f7a-29d3-1647-3182ed14867f@redhat.com> Message-ID: Clear! Thanks for the clarification. On 19 June 2017 at 20:41, Andrew Haley wrote: > On 19/06/17 13:16, Felix Yang wrote: > > Actually, I am not quite clear about the correct procedure to do > > backport on jdk8u repo. Please let me know if there is anything wrong I > am > > doing. > > You just submit them to the -8u list. > > > There are not bugfixing patches, but just performance > > improvement ones. So it seems to me that it might be hard or > > inappropriate for them to go into jdk8u repo, right? > > In which case they're inappropriate in aarch64-jdk8u, too. I can > think of no reason why stability is less important to AArch64 than to > the other ports. Stability is a key component of software quality, > and I want AArch64 to be of a quality that is just as good as other > ports. > > > As the jdk8u aarch64 port repo can benefit from these patches in > > respect of performance, I want this repo to have them. > > > I don't want to keep them in my private repo, but this will > > surely cause some difference for shared code between jdk8u and jdk8u > > aarch64 port. > > There shouldn't be any differences in shared code between jdk8u and > jdk8u aarch64 except for critical bugs. Performance patches could be > considered if the performance difference was severe and due to a bug, > but in that case they'd be considered for jdk8u as well. > > -- > Andrew Haley > Java Platform Lead Engineer > Red Hat UK Ltd. > EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 > From felix.yang at linaro.org Mon Jun 19 13:42:36 2017 From: felix.yang at linaro.org (Felix Yang) Date: Mon, 19 Jun 2017 21:42:36 +0800 Subject: [aarch64-port-dev ] RFR: fix for crash caused by earlyret of compiled method In-Reply-To: <76C1DBC7-A3D1-4177-953E-4BD2E4AFC2B0@azul.com> References: <79168E11-7A2B-4D5E-ABB3-3117961C974A@azul.com> <0716A0B5-D568-4FD8-8C6E-87EC70964341@azul.com> <365edfda-c473-acb7-febf-c0aa07e6a584@redhat.com> <016a031d-5d15-652c-728b-b2724febb7ba@redhat.com> <7fd29e96-a132-8203-07ee-401cb7264028@redhat.com> <115c0eb6-8d28-d67a-4463-e3d00c6bad0f@redhat.com> <76C1DBC7-A3D1-4177-953E-4BD2E4AFC2B0@azul.com> Message-ID: Hi Sergey, I will perform a jtreg test for the new patch and push it if everything is fine. Thanks for reporting the bug. Felix On 19 June 2017 at 19:10, Sergey Nazarkin wrote: > Looking for kind soul who can updated repos since I?ve no rights to do it. > > Sergey Nazarkin > > > > > > On 16 Jun 2017, at 19:04, Andrew Haley wrote: > > > > On 16/06/17 12:51, Sergey Nazarkin wrote: > >> thank you, the patch works fine. I?ve updated webrev with correct > patch for JDK8 > > > > OK for 8, 9, and 10. > > > > Thanks. > > > > -- > > Andrew Haley > > Java Platform Lead Engineer > > Red Hat UK Ltd. > > EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 > > From felix.yang at linaro.org Tue Jun 20 13:48:05 2017 From: felix.yang at linaro.org (felix.yang at linaro.org) Date: Tue, 20 Jun 2017 13:48:05 +0000 Subject: [aarch64-port-dev ] hg: aarch64-port/jdk8u/hotspot: 8182581: aarch64: fix for crash caused by earlyret of compiled method Message-ID: <201706201348.v5KDm5e3027052@aojmv0008.oracle.com> Changeset: 3de2cd08c32e Author: fyang Date: 2017-06-20 17:06 +0800 URL: http://hg.openjdk.java.net/aarch64-port/jdk8u/hotspot/rev/3de2cd08c32e 8182581: aarch64: fix for crash caused by earlyret of compiled method Summary: fix jvm crash caused by earlyret of compiled method for aarch64 port Reviewed-by: aph Contributed-by: snazarkin at azul.com ! src/cpu/aarch64/vm/templateInterpreter_aarch64.cpp From ci_notify at linaro.org Thu Jun 22 18:00:51 2017 From: ci_notify at linaro.org (ci_notify at linaro.org) Date: Thu, 22 Jun 2017 18:00:51 +0000 (UTC) Subject: [aarch64-port-dev ] JTREG, JCStress, SPECjbb2015 and Hadoop/Terasort results for OpenJDK 9 on AArch64 Message-ID: <1410595041.1072.1498154453354.JavaMail.jenkins@154e3e9c9816> This is a summary of the JTREG test results =========================================== The build and test results are cycled every 15 days. For detailed information on the test output please refer to: http://openjdk.linaro.org/jdk9/openjdk-jtreg-nightly-tests/summary/2017/172/summary.html ------------------------------------------------------------------------------- client-release/hotspot ------------------------------------------------------------------------------- Build 0: aarch64/2017/apr/21 pass: 1,401; fail: 7 Build 1: aarch64/2017/apr/23 pass: 1,400; fail: 7; error: 1 Build 2: aarch64/2017/apr/25 pass: 1,401; fail: 7 Build 3: aarch64/2017/apr/27 pass: 1,400; fail: 8; error: 1 Build 4: aarch64/2017/apr/29 pass: 1,401; fail: 7; error: 1 Build 5: aarch64/2017/may/05 pass: 1,402; fail: 7 Build 6: aarch64/2017/may/07 pass: 1,402; fail: 7 Build 7: aarch64/2017/may/09 pass: 1,401; fail: 7; error: 1 Build 8: aarch64/2017/may/11 pass: 1,401; fail: 7; error: 1 Build 9: aarch64/2017/may/13 pass: 1,401; fail: 7; error: 1 Build 10: aarch64/2017/may/15 pass: 1,401; fail: 7; error: 1 Build 11: aarch64/2017/may/17 pass: 1,401; fail: 8 Build 12: aarch64/2017/may/19 pass: 1,402; fail: 7 Build 13: aarch64/2017/may/23 pass: 1,401; fail: 7; error: 1 Build 14: aarch64/2017/jun/21 pass: 1,404; fail: 7 ------------------------------------------------------------------------------- client-release/jdk ------------------------------------------------------------------------------- Build 0: aarch64/2017/apr/21 pass: 7,300; fail: 724; error: 28 Build 1: aarch64/2017/apr/23 pass: 7,315; fail: 712; error: 25 Build 2: aarch64/2017/apr/25 pass: 7,341; fail: 689; error: 23 Build 3: aarch64/2017/apr/27 pass: 7,320; fail: 710; error: 23 Build 4: aarch64/2017/apr/29 pass: 7,293; fail: 729; error: 32 Build 5: aarch64/2017/may/05 pass: 7,319; fail: 711; error: 28 Build 6: aarch64/2017/may/07 pass: 7,331; fail: 701; error: 26 Build 7: aarch64/2017/may/09 pass: 7,326; fail: 702; error: 31 Build 8: aarch64/2017/may/11 pass: 7,340; fail: 693; error: 27 Build 9: aarch64/2017/may/13 pass: 7,344; fail: 693; error: 23 Build 10: aarch64/2017/may/15 pass: 7,349; fail: 681; error: 30 Build 11: aarch64/2017/may/17 pass: 7,370; fail: 663; error: 27 Build 12: aarch64/2017/may/19 pass: 7,326; fail: 706; error: 28 Build 13: aarch64/2017/may/23 pass: 7,325; fail: 706; error: 29 Build 14: aarch64/2017/jun/21 pass: 7,467; fail: 675; error: 27 ------------------------------------------------------------------------------- client-release/langtools ------------------------------------------------------------------------------- Build 0: aarch64/2017/apr/21 pass: 3,894; error: 2 Build 1: aarch64/2017/apr/23 pass: 3,894; error: 3 Build 2: aarch64/2017/apr/25 pass: 3,895; error: 4 Build 3: aarch64/2017/apr/27 pass: 3,896; fail: 1; error: 4 Build 4: aarch64/2017/apr/29 pass: 3,899; error: 2 Build 5: aarch64/2017/may/05 pass: 3,897; error: 4 Build 6: aarch64/2017/may/07 pass: 3,895; error: 6 Build 7: aarch64/2017/may/09 pass: 3,897; error: 5 Build 8: aarch64/2017/may/11 pass: 3,896; error: 6 Build 9: aarch64/2017/may/13 pass: 3,898; error: 5 Build 10: aarch64/2017/may/15 pass: 3,899; error: 4 Build 11: aarch64/2017/may/17 pass: 3,895; fail: 1; error: 7 Build 12: aarch64/2017/may/19 pass: 3,896; error: 7 Build 13: aarch64/2017/may/23 pass: 3,900; error: 3 Build 14: aarch64/2017/jun/21 pass: 3,902; error: 1 ------------------------------------------------------------------------------- server-release/hotspot ------------------------------------------------------------------------------- Build 0: aarch64/2017/apr/21 pass: 1,404; fail: 7; error: 1 Build 1: aarch64/2017/apr/23 pass: 1,404; fail: 7; error: 1 Build 2: aarch64/2017/apr/25 pass: 1,405; fail: 7 Build 3: aarch64/2017/apr/27 pass: 1,405; fail: 7; error: 1 Build 4: aarch64/2017/apr/29 pass: 1,406; fail: 7 Build 5: aarch64/2017/may/05 pass: 1,406; fail: 7 Build 6: aarch64/2017/may/07 pass: 1,405; fail: 7; error: 1 Build 7: aarch64/2017/may/09 pass: 1,406; fail: 7 Build 8: aarch64/2017/may/11 pass: 1,405; fail: 7; error: 1 Build 9: aarch64/2017/may/13 pass: 1,405; fail: 7; error: 1 Build 10: aarch64/2017/may/15 pass: 1,405; fail: 7; error: 1 Build 11: aarch64/2017/may/17 pass: 1,406; fail: 7 Build 12: aarch64/2017/may/19 pass: 1,406; fail: 7 Build 13: aarch64/2017/may/23 pass: 1,405; fail: 7; error: 1 Build 14: aarch64/2017/jun/21 pass: 1,408; fail: 7 ------------------------------------------------------------------------------- server-release/jdk ------------------------------------------------------------------------------- Build 0: aarch64/2017/apr/21 pass: 7,334; fail: 696; error: 22 Build 1: aarch64/2017/apr/23 pass: 7,315; fail: 716; error: 21 Build 2: aarch64/2017/apr/25 pass: 7,319; fail: 709; error: 25 Build 3: aarch64/2017/apr/27 pass: 7,324; fail: 701; error: 28 Build 4: aarch64/2017/apr/29 pass: 7,340; fail: 686; error: 28 Build 5: aarch64/2017/may/05 pass: 7,332; fail: 702; error: 24 Build 6: aarch64/2017/may/07 pass: 7,350; fail: 687; error: 21 Build 7: aarch64/2017/may/09 pass: 7,352; fail: 681; error: 26 Build 8: aarch64/2017/may/11 pass: 7,330; fail: 705; error: 25 Build 9: aarch64/2017/may/13 pass: 7,350; fail: 683; error: 27 Build 10: aarch64/2017/may/15 pass: 7,329; fail: 700; error: 31 Build 11: aarch64/2017/may/17 pass: 7,349; fail: 681; error: 30 Build 12: aarch64/2017/may/19 pass: 7,340; fail: 691; error: 29 Build 13: aarch64/2017/may/23 pass: 7,320; fail: 695; error: 45 Build 14: aarch64/2017/jun/21 pass: 7,456; fail: 688; error: 25 ------------------------------------------------------------------------------- server-release/langtools ------------------------------------------------------------------------------- Build 0: aarch64/2017/apr/21 pass: 3,891; fail: 1; error: 4 Build 1: aarch64/2017/apr/23 pass: 3,893; error: 4 Build 2: aarch64/2017/apr/25 pass: 3,895; error: 4 Build 3: aarch64/2017/apr/27 pass: 3,893; error: 8 Build 4: aarch64/2017/apr/29 pass: 3,896; error: 5 Build 5: aarch64/2017/may/05 pass: 3,896; error: 5 Build 6: aarch64/2017/may/07 pass: 3,895; fail: 1; error: 5 Build 7: aarch64/2017/may/09 pass: 3,896; fail: 1; error: 5 Build 8: aarch64/2017/may/11 pass: 3,897; fail: 1; error: 4 Build 9: aarch64/2017/may/13 pass: 3,899; error: 4 Build 10: aarch64/2017/may/15 pass: 3,898; fail: 1; error: 4 Build 11: aarch64/2017/may/17 pass: 3,894; fail: 1; error: 8 Build 12: aarch64/2017/may/19 pass: 3,894; fail: 1; error: 8 Build 13: aarch64/2017/may/23 pass: 3,896; error: 7 Build 14: aarch64/2017/jun/21 pass: 3,901; error: 2 Previous results can be found here: http://openjdk.linaro.org/jdk9/openjdk-jtreg-nightly-tests/index.html SPECjbb2015 composite regression test completed =============================================== This test measures the relative performance of the server compiler running the SPECjbb2015 composite tests and compares the performance against the baseline performance of the server compiler taken on 2016-11-21. In accordance with [1], the SPECjbb2015 tests are run on a system which is not production ready and does not meet all the requirements for publishing compliant results. The numbers below shall be treated as non-compliant (nc) and are for experimental purposes only. Relative performance: Server max-jOPS (nc): 1.07x Relative performance: Server critical-jOPS (nc): 0.93x Details of the test setup and historical results may be found here: http://openjdk.linaro.org/jdk9/SPECjbb2015-results/ [1] http://www.spec.org/fairuse.html#Academic Regression test Hadoop-Terasort completed ========================================= This test measures the performance of the server and client compilers running Hadoop sorting a 1GB file using Terasort and compares the performance against the baseline performance of the Zero interpreter and against the baseline performance of the client and server compilers on 2014-04-01. Relative performance: Zero: 1.0, Client: 70.93, Server: 119.62 Client 70.93 / Client 2014-04-01 (43.00): 1.65x Server 119.62 / Server 2014-04-01 (71.00): 1.68x Details of the test setup and historical results may be found here: http://openjdk.linaro.org/jdk9/hadoop-terasort-benchmark-results/ This is a summary of the jcstress test results ============================================== The build and test results are cycled every 15 days. 2017-04-22 pass rate: 11552/11554, results: http://openjdk.linaro.org/jdk9/jcstress-nightly-runs/2017/111/results/ 2017-04-24 pass rate: 11552/11554, results: http://openjdk.linaro.org/jdk9/jcstress-nightly-runs/2017/113/results/ 2017-04-26 pass rate: 11551/11554, results: http://openjdk.linaro.org/jdk9/jcstress-nightly-runs/2017/115/results/ 2017-04-28 pass rate: 11552/11554, results: http://openjdk.linaro.org/jdk9/jcstress-nightly-runs/2017/117/results/ 2017-04-30 pass rate: 11552/11554, results: http://openjdk.linaro.org/jdk9/jcstress-nightly-runs/2017/119/results/ 2017-05-06 pass rate: 11552/11554, results: http://openjdk.linaro.org/jdk9/jcstress-nightly-runs/2017/125/results/ 2017-05-09 pass rate: 11553/11554, results: http://openjdk.linaro.org/jdk9/jcstress-nightly-runs/2017/127/results/ 2017-05-11 pass rate: 11552/11554, results: http://openjdk.linaro.org/jdk9/jcstress-nightly-runs/2017/129/results/ 2017-05-12 pass rate: 11551/11554, results: http://openjdk.linaro.org/jdk9/jcstress-nightly-runs/2017/131/results/ 2017-05-14 pass rate: 11553/11554, results: http://openjdk.linaro.org/jdk9/jcstress-nightly-runs/2017/133/results/ 2017-05-16 pass rate: 11553/11554, results: http://openjdk.linaro.org/jdk9/jcstress-nightly-runs/2017/135/results/ 2017-05-19 pass rate: 11553/11554, results: http://openjdk.linaro.org/jdk9/jcstress-nightly-runs/2017/137/results/ 2017-05-20 pass rate: 11552/11554, results: http://openjdk.linaro.org/jdk9/jcstress-nightly-runs/2017/139/results/ 2017-05-24 pass rate: 11552/11554, results: http://openjdk.linaro.org/jdk9/jcstress-nightly-runs/2017/143/results/ 2017-06-22 pass rate: 11551/11554, results: http://openjdk.linaro.org/jdk9/jcstress-nightly-runs/2017/172/results/ For detailed information on the test output please refer to: http://openjdk.linaro.org/jdk9/jcstress-nightly-runs/ From zhongwei.yao at linaro.org Fri Jun 23 04:00:01 2017 From: zhongwei.yao at linaro.org (Zhongwei Yao) Date: Fri, 23 Jun 2017 12:00:01 +0800 Subject: [aarch64-port-dev ] RFR: 88158361: AArch64: Address calculation missed optimizations In-Reply-To: References: <1b8ec09c-e237-cd98-d5e9-445e8bce8f99@redhat.com> Message-ID: Hi, all, Patch is updated: http://cr.openjdk.java.net/~njian/8158361/webrev.01/ Summary: 22 rules are added. Please refers following table for why some rule is excluded in this patch. (fixed-width font will make the format better). | no. | rule | match code | Added in | note | | | | | this patch? | | |-----+------------------------+--------------------------------------+-------------+------------------------------------------| | 1 | AddExtL_uxtb_and_shift | y + ((x & 255) << 3) | y | | | 2 | AddExtL_uxth_and_shift | y + ((x & 65535) << 3) | y | | | 3 | AddExtL_uxtw_and_shift | y + ((x & 0xFFFFFFFFL) << 3) | y | | | 4 | AddExtL_uxtx_and_shift | y + ((x & 0xFFFFFFFFFFFFFFFFL) << 3) | n | make no sense | | 5 | SubExtL_uxtb_and_shift | y - ((x & 255) << 3) | y | | | 6 | SubExtL_uxth_and_shift | y - ((x & 65535) << 3) | y | | | 7 | SubExtL_uxtw_and_shift | y - ((x & 0xFFFFFFFFL) << 3) | y | | | 8 | SubExtL_uxtx_and_shift | y - ((x & 0xFFFFFFFFFFFFFFFFL) << 3) | n | make no sense | | 9 | AddExtI_uxtb_and_shift | y + ((x & 255) << 1) | y | | | 10 | AddExtI_uxth_and_shift | y + ((x & 65535) << 1) | y | | | 11 | AddExtI_uxtw_and_shift | y + ((x & 0xFFFFFFFF) << 1) | n | make no sense | | 12 | AddExtI_uxtx_and_shift | y + ((x & 0xFFFFFFFFFFFFFFFFL) << 1) | n | make no sense | | 13 | SubExtI_uxtb_and_shift | y - ((x & 255) << 1) | y | | | 14 | SubExtI_uxth_and_shift | y - ((x & 65535) << 1) | y | | | 15 | SubExtI_uxtw_and_shift | y - ((x & 0xFFFFFFFF) << 1) | n | make no sense | | 16 | SubExtI_uxtx_and_shift | y - ((x & 0xFFFFFFFFFFFFFFFFL) << 1) | n | make no sense | | 17 | AddExtL_sxtb_shift | y + (((x << 56) >> 56) << 3) | y | | | 18 | AddExtL_sxth_shift | y + (((x << 48) >> 48) << 3) | y | | | 19 | AddExtL_sxtw_shift | y + (((x << 32) >> 32) << 3) | y | | | 20 | AddExtL_sxtx_shift | y + (((x << 0) >> 0) << 3) | n | make no sense | | 21 | SubExtL_sxtb_shift | y - (((x << 56) >> 56) << 3) | y | | | 22 | SubExtL_sxth_shift | y - (((x << 48) >> 48) << 3) | y | | | 23 | SubExtL_sxtw_shift | y - (((x << 32) >> 32) << 3) | y | | | 24 | SubExtL_sxtx_shift | y - (((x << 0) >> 0) << 3) | n | make no sense | | 25 | AddExtI_sxtb_shift | y + (((x << 24) >> 24) << 1) | y | | | 26 | AddExtI_sxth_shift | y + (((x << 16) >> 16) << 1) | y | | | 27 | AddExtI_sxtw_shift | y + (((x << 0) >> 0) << 1) | n | make no sense | | 28 | AddExtI_sxtx_shift | no such match code | n | make no sense | | 29 | SubExtI_sxtb_shift | y - (((x << 24) >> 24) << 1) | y | | | 30 | SubExtI_sxth_shift | y - (((x << 16) >> 16) << 1) | y | | | 31 | SubExtI_sxtw_shift | y - (((x << 0) >> 0) << 1) | n | make no sense | | 32 | SubExtI_sxtx_shift | no such match code | n | make no sense | | 33 | AddExtL_uxtb_shift | y + (((x << 56) >>> 56) << 4) | n | same as: y + ((x & 255) << 3) rule 1 | | | | | | such convertion is done in earlier stage | | 34 | AddExtL_uxth_shift | y + (((x << 48) >>> 48) << 4) | n | similar with rule 33 | | 35 | AddExtL_uxtw_shift | y + (((x << 32) >>> 32) << 4) | n | similar with rule 33 | | 36 | AddExtL_uxtx_shift | y + (((x << 0) >>> 0) << 4) | n | make no sense | | 37 | AddExtI_uxtb_shift | y + (((x << 24) >>> 24) << 2) | n | similar with rule 33 | | 38 | AddExtI_uxth_shift | y + (((x << 16) >>> 16) << 2) | n | similar with rule 33 | | 39 | AddExtI_uxtw_shift | y + (((x << 0) >>> 0) << 2) | n | make no sense | | 40 | AddExtI_uxtx_shift | no such match code | n | make no sense | | 41 | SubExtL_uxtb_shift | y - (((x << 56) >>> 56) << 4) | n | similar with rule 33 | | 42 | SubExtL_uxth_shift | y - (((x << 48) >>> 48) << 4) | n | similar with rule 33 | | 43 | SubExtL_uxtw_shift | y - (((x << 32) >>> 32) << 4) | n | similar with rule 33 | | 44 | SubExtL_uxtx_shift | y - (((x << 0) >>> 0) << 4) | n | make no sense | | 45 | SubExtI_uxtb_shift | y - (((x << 24) >>> 24) << 2) | n | similar with rule 33 | | 46 | SubExtI_uxth_shift | y - (((x << 16) >>> 16) << 2) | n | similar with rule 33 | | 47 | SubExtI_uxtw_shift | y - (((x << 0) >>> 0) << 2) | n | make no sense | | 48 | SubExtI_uxtx_shift | no such match code | n | make no sense | | 49 | AddExtI_shift | y + (((long)x) << 2) | y | | | 50 | SubExtI_shift | y - (((long)x) << 2) | y | | On 19 June 2017 at 18:23, Zhongwei Yao wrote: > > > On 16 June 2017 at 21:39, Andrew Haley wrote: > >> On 16/06/17 11:35, Zhongwei Yao wrote: >> > And there are 32 kinds of add/sub extension combination. I have tried to >> > add 18 rules in aarch64.ad, and found many of them are quite contrived, >> > like: >> > subw $dst, $src1, $src2, uxtb, #lshift //match rule: Set dst (SubI >> > src1 (LShiftI (AndI src2 mask) lshift)), where mask=255. java code: z = >> x - >> > ((y & 255) << lshift), where x, y, z are all int, lshift = [0, 4] >> > addw $dst, $src1, $src2, uxth, #lshift //match rule: Set dst (AddI >> > src1 (LShiftI (AndI src2 mask) lshift)), where mask=65535. java code: z >> = x >> > + ((y & 65535) << lshift), where x, y, z are all int, lshift = [0, 4] >> > >> > Shall I add all of these 18 rules? >> >> I would not want you to do anything you feel does not make sense. Please >> add >> the nodes that seem reasonable and that can be tested in code that C2 >> generates. >> > > I see. I will add most of the combinations except instructions like: add > x0, x1, x2, uxtx, # 1, which is replaced by add x0, x1, x2, lsl, #1. > > >> > And for the left 14 combination (as following), I have not come up >> rules to >> > utilise such instructions. Do you have any suggestion? >> > add SXTB (simplified for add rd, rm, rn, sxtb, #[0,4], same for >> below) >> >> Sign extension is modelled as Shift Left followed by Shift Right. >> SXTB is (RShiftL (LShiftL src 56) 56). You can figure out the rest from >> that. >> > > Thanks for your suggestions! > > >> -- >> Andrew Haley >> Java Platform Lead Engineer >> Red Hat UK Ltd. >> EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 >> > > > > -- > Best regards, > Zhongwei > -- Best regards, Zhongwei From zhongwei.yao at linaro.org Fri Jun 23 04:20:43 2017 From: zhongwei.yao at linaro.org (Zhongwei Yao) Date: Fri, 23 Jun 2017 12:20:43 +0800 Subject: [aarch64-port-dev ] RFR: 88158361: AArch64: Address calculation missed optimizations In-Reply-To: References: <1b8ec09c-e237-cd98-d5e9-445e8bce8f99@redhat.com> Message-ID: It seems Gmail ate my table format. A readable version is here: http://cr.openjdk.java.net/~njian/8158361/rules.txt Sorry for any inconvenience. On 23 June 2017 at 12:00, Zhongwei Yao wrote: > Hi, all, > Patch is updated: http://cr.openjdk.java.net/~njian/8158361/webrev.01/ > > Summary: 22 rules are added. Please refers following table for why some > rule is excluded in this patch. (fixed-width font will make the format > better). > > | no. | rule | match code > | Added in | note | > | | | > | this patch? | | > |-----+------------------------+---------------------------- > ----------+-------------+------------------------------------------| > | 1 | AddExtL_uxtb_and_shift | y + ((x & 255) << 3) > | y | | > | 2 | AddExtL_uxth_and_shift | y + ((x & 65535) << 3) > | y | | > | 3 | AddExtL_uxtw_and_shift | y + ((x & 0xFFFFFFFFL) << 3) > | y | | > | 4 | AddExtL_uxtx_and_shift | y + ((x & 0xFFFFFFFFFFFFFFFFL) << > 3) | n | make no sense | > | 5 | SubExtL_uxtb_and_shift | y - ((x & 255) << 3) > | y | | > | 6 | SubExtL_uxth_and_shift | y - ((x & 65535) << 3) > | y | | > | 7 | SubExtL_uxtw_and_shift | y - ((x & 0xFFFFFFFFL) << 3) > | y | | > | 8 | SubExtL_uxtx_and_shift | y - ((x & 0xFFFFFFFFFFFFFFFFL) << > 3) | n | make no sense | > | 9 | AddExtI_uxtb_and_shift | y + ((x & 255) << 1) > | y | | > | 10 | AddExtI_uxth_and_shift | y + ((x & 65535) << 1) > | y | | > | 11 | AddExtI_uxtw_and_shift | y + ((x & 0xFFFFFFFF) << 1) > | n | make no sense | > | 12 | AddExtI_uxtx_and_shift | y + ((x & 0xFFFFFFFFFFFFFFFFL) << > 1) | n | make no sense | > | 13 | SubExtI_uxtb_and_shift | y - ((x & 255) << 1) > | y | | > | 14 | SubExtI_uxth_and_shift | y - ((x & 65535) << 1) > | y | | > | 15 | SubExtI_uxtw_and_shift | y - ((x & 0xFFFFFFFF) << 1) > | n | make no sense | > | 16 | SubExtI_uxtx_and_shift | y - ((x & 0xFFFFFFFFFFFFFFFFL) << > 1) | n | make no sense | > | 17 | AddExtL_sxtb_shift | y + (((x << 56) >> 56) << 3) > | y | | > | 18 | AddExtL_sxth_shift | y + (((x << 48) >> 48) << 3) > | y | | > | 19 | AddExtL_sxtw_shift | y + (((x << 32) >> 32) << 3) > | y | | > | 20 | AddExtL_sxtx_shift | y + (((x << 0) >> 0) << 3) > | n | make no sense | > | 21 | SubExtL_sxtb_shift | y - (((x << 56) >> 56) << 3) > | y | | > | 22 | SubExtL_sxth_shift | y - (((x << 48) >> 48) << 3) > | y | | > | 23 | SubExtL_sxtw_shift | y - (((x << 32) >> 32) << 3) > | y | | > | 24 | SubExtL_sxtx_shift | y - (((x << 0) >> 0) << 3) > | n | make no sense | > | 25 | AddExtI_sxtb_shift | y + (((x << 24) >> 24) << 1) > | y | | > | 26 | AddExtI_sxth_shift | y + (((x << 16) >> 16) << 1) > | y | | > | 27 | AddExtI_sxtw_shift | y + (((x << 0) >> 0) << 1) > | n | make no sense | > | 28 | AddExtI_sxtx_shift | no such match code > | n | make no sense | > | 29 | SubExtI_sxtb_shift | y - (((x << 24) >> 24) << 1) > | y | | > | 30 | SubExtI_sxth_shift | y - (((x << 16) >> 16) << 1) > | y | | > | 31 | SubExtI_sxtw_shift | y - (((x << 0) >> 0) << 1) > | n | make no sense | > | 32 | SubExtI_sxtx_shift | no such match code > | n | make no sense | > | 33 | AddExtL_uxtb_shift | y + (((x << 56) >>> 56) << 4) > | n | same as: y + ((x & 255) << 3) rule 1 | > | | | > | | such convertion is done in earlier stage | > | 34 | AddExtL_uxth_shift | y + (((x << 48) >>> 48) << 4) > | n | similar with rule 33 | > | 35 | AddExtL_uxtw_shift | y + (((x << 32) >>> 32) << 4) > | n | similar with rule 33 | > | 36 | AddExtL_uxtx_shift | y + (((x << 0) >>> 0) << 4) > | n | make no sense | > | 37 | AddExtI_uxtb_shift | y + (((x << 24) >>> 24) << 2) > | n | similar with rule 33 | > | 38 | AddExtI_uxth_shift | y + (((x << 16) >>> 16) << 2) > | n | similar with rule 33 | > | 39 | AddExtI_uxtw_shift | y + (((x << 0) >>> 0) << 2) > | n | make no sense | > | 40 | AddExtI_uxtx_shift | no such match code > | n | make no sense | > | 41 | SubExtL_uxtb_shift | y - (((x << 56) >>> 56) << 4) > | n | similar with rule 33 | > | 42 | SubExtL_uxth_shift | y - (((x << 48) >>> 48) << 4) > | n | similar with rule 33 | > | 43 | SubExtL_uxtw_shift | y - (((x << 32) >>> 32) << 4) > | n | similar with rule 33 | > | 44 | SubExtL_uxtx_shift | y - (((x << 0) >>> 0) << 4) > | n | make no sense | > | 45 | SubExtI_uxtb_shift | y - (((x << 24) >>> 24) << 2) > | n | similar with rule 33 | > | 46 | SubExtI_uxth_shift | y - (((x << 16) >>> 16) << 2) > | n | similar with rule 33 | > | 47 | SubExtI_uxtw_shift | y - (((x << 0) >>> 0) << 2) > | n | make no sense | > | 48 | SubExtI_uxtx_shift | no such match code > | n | make no sense | > | 49 | AddExtI_shift | y + (((long)x) << 2) > | y | | > | 50 | SubExtI_shift | y - (((long)x) << 2) > | y | | > > On 19 June 2017 at 18:23, Zhongwei Yao wrote: > >> >> >> On 16 June 2017 at 21:39, Andrew Haley wrote: >> >>> On 16/06/17 11:35, Zhongwei Yao wrote: >>> > And there are 32 kinds of add/sub extension combination. I have tried >>> to >>> > add 18 rules in aarch64.ad, and found many of them are quite >>> contrived, >>> > like: >>> > subw $dst, $src1, $src2, uxtb, #lshift //match rule: Set dst (SubI >>> > src1 (LShiftI (AndI src2 mask) lshift)), where mask=255. java code: z >>> = x - >>> > ((y & 255) << lshift), where x, y, z are all int, lshift = [0, 4] >>> > addw $dst, $src1, $src2, uxth, #lshift //match rule: Set dst (AddI >>> > src1 (LShiftI (AndI src2 mask) lshift)), where mask=65535. java code: >>> z = x >>> > + ((y & 65535) << lshift), where x, y, z are all int, lshift = [0, 4] >>> > >>> > Shall I add all of these 18 rules? >>> >>> I would not want you to do anything you feel does not make sense. >>> Please add >>> the nodes that seem reasonable and that can be tested in code that C2 >>> generates. >>> >> >> I see. I will add most of the combinations except instructions like: add >> x0, x1, x2, uxtx, # 1, which is replaced by add x0, x1, x2, lsl, #1. >> >> >>> > And for the left 14 combination (as following), I have not come up >>> rules to >>> > utilise such instructions. Do you have any suggestion? >>> > add SXTB (simplified for add rd, rm, rn, sxtb, #[0,4], same for >>> below) >>> >>> Sign extension is modelled as Shift Left followed by Shift Right. >>> SXTB is (RShiftL (LShiftL src 56) 56). You can figure out the rest from >>> that. >>> >> >> Thanks for your suggestions! >> >> >>> -- >>> Andrew Haley >>> Java Platform Lead Engineer >>> Red Hat UK Ltd. >>> EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 >>> >> >> >> >> -- >> Best regards, >> Zhongwei >> > > > > -- > Best regards, > Zhongwei > -- Best regards, Zhongwei From aph at redhat.com Fri Jun 23 07:53:34 2017 From: aph at redhat.com (Andrew Haley) Date: Fri, 23 Jun 2017 08:53:34 +0100 Subject: [aarch64-port-dev ] RFR: 88158361: AArch64: Address calculation missed optimizations In-Reply-To: References: <1b8ec09c-e237-cd98-d5e9-445e8bce8f99@redhat.com> Message-ID: Hi, On 23/06/17 05:00, Zhongwei Yao wrote: > Patch is updated: http://cr.openjdk.java.net/~njian/8158361/webrev.01/ > > Summary: 22 rules are added. That looks great. Please also send the Java program you used to make sure that these are generated correctly. :-) -- Andrew Haley Java Platform Lead Engineer Red Hat UK Ltd. EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From zhongwei.yao at linaro.org Fri Jun 23 09:50:54 2017 From: zhongwei.yao at linaro.org (Zhongwei Yao) Date: Fri, 23 Jun 2017 17:50:54 +0800 Subject: [aarch64-port-dev ] RFR: 88158361: AArch64: Address calculation missed optimizations In-Reply-To: References: <1b8ec09c-e237-cd98-d5e9-445e8bce8f99@redhat.com> Message-ID: Hi, Andrew, Besides pass jtreg on aarch64 and x86, for each pattern, I added one or two test cases, which will hit the testing pattern. And check the test cases' assembly output to ensure the hit pattern generates correct instructions. Here is a test case for: AddExtL_uxtb_and_shift pattern: // testrule: AddExtL_uxtb_and_shift // geninst: add.*x.*, x.*, w.*, uxtb #3 public Flonglong adduxtb = new Flonglong() { public long func(long x, long y) { return y + ((x & 255) << 3); } }; And the "geninst" line defines this case's required generated assembly instruction pattern. A script will check whether this case's generated C2 assembly has the required instruction "add.*x.*, x.*, w.*, uxtb #3". If yes, the test passes. And if there is a "nosense" on "// testrule" line, such check is skipped. All test cases are at http://cr.openjdk.java.net/~njian/8158361/ExtTest.java On 23 June 2017 at 15:53, Andrew Haley wrote: > Hi, > > On 23/06/17 05:00, Zhongwei Yao wrote: > > Patch is updated: http://cr.openjdk.java.net/~njian/8158361/webrev.01/ > > > > Summary: 22 rules are added. > > That looks great. Please also send the Java program you used to make sure > that > these are generated correctly. :-) > > > -- > Andrew Haley > Java Platform Lead Engineer > Red Hat UK Ltd. > EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 > -- Best regards, Zhongwei From ci_notify at linaro.org Sat Jun 24 17:30:42 2017 From: ci_notify at linaro.org (ci_notify at linaro.org) Date: Sat, 24 Jun 2017 17:30:42 +0000 (UTC) Subject: [aarch64-port-dev ] JTREG, JCStress, SPECjbb2015 and Hadoop/Terasort results for OpenJDK 9 on AArch64 Message-ID: <285010379.1523.1498325444397.JavaMail.jenkins@154e3e9c9816> This is a summary of the JTREG test results =========================================== The build and test results are cycled every 15 days. For detailed information on the test output please refer to: http://openjdk.linaro.org/jdk9/openjdk-jtreg-nightly-tests/summary/2017/174/summary.html ------------------------------------------------------------------------------- client-release/hotspot ------------------------------------------------------------------------------- Build 0: aarch64/2017/apr/23 pass: 1,400; fail: 7; error: 1 Build 1: aarch64/2017/apr/25 pass: 1,401; fail: 7 Build 2: aarch64/2017/apr/27 pass: 1,400; fail: 8; error: 1 Build 3: aarch64/2017/apr/29 pass: 1,401; fail: 7; error: 1 Build 4: aarch64/2017/may/05 pass: 1,402; fail: 7 Build 5: aarch64/2017/may/07 pass: 1,402; fail: 7 Build 6: aarch64/2017/may/09 pass: 1,401; fail: 7; error: 1 Build 7: aarch64/2017/may/11 pass: 1,401; fail: 7; error: 1 Build 8: aarch64/2017/may/13 pass: 1,401; fail: 7; error: 1 Build 9: aarch64/2017/may/15 pass: 1,401; fail: 7; error: 1 Build 10: aarch64/2017/may/17 pass: 1,401; fail: 8 Build 11: aarch64/2017/may/19 pass: 1,402; fail: 7 Build 12: aarch64/2017/may/23 pass: 1,401; fail: 7; error: 1 Build 13: aarch64/2017/jun/21 pass: 1,404; fail: 7 Build 14: aarch64/2017/jun/23 pass: 1,401; fail: 5 1 fatal errors were detected; please follow the link above for more detail. ------------------------------------------------------------------------------- client-release/jdk ------------------------------------------------------------------------------- Build 0: aarch64/2017/apr/23 pass: 7,315; fail: 712; error: 25 Build 1: aarch64/2017/apr/25 pass: 7,341; fail: 689; error: 23 Build 2: aarch64/2017/apr/27 pass: 7,320; fail: 710; error: 23 Build 3: aarch64/2017/apr/29 pass: 7,293; fail: 729; error: 32 Build 4: aarch64/2017/may/05 pass: 7,319; fail: 711; error: 28 Build 5: aarch64/2017/may/07 pass: 7,331; fail: 701; error: 26 Build 6: aarch64/2017/may/09 pass: 7,326; fail: 702; error: 31 Build 7: aarch64/2017/may/11 pass: 7,340; fail: 693; error: 27 Build 8: aarch64/2017/may/13 pass: 7,344; fail: 693; error: 23 Build 9: aarch64/2017/may/15 pass: 7,349; fail: 681; error: 30 Build 10: aarch64/2017/may/17 pass: 7,370; fail: 663; error: 27 Build 11: aarch64/2017/may/19 pass: 7,326; fail: 706; error: 28 Build 12: aarch64/2017/may/23 pass: 7,325; fail: 706; error: 29 Build 13: aarch64/2017/jun/21 pass: 7,467; fail: 675; error: 27 Build 14: aarch64/2017/jun/23 pass: 7,429; fail: 702; error: 19 ------------------------------------------------------------------------------- client-release/langtools ------------------------------------------------------------------------------- Build 0: aarch64/2017/apr/23 pass: 3,894; error: 3 Build 1: aarch64/2017/apr/25 pass: 3,895; error: 4 Build 2: aarch64/2017/apr/27 pass: 3,896; fail: 1; error: 4 Build 3: aarch64/2017/apr/29 pass: 3,899; error: 2 Build 4: aarch64/2017/may/05 pass: 3,897; error: 4 Build 5: aarch64/2017/may/07 pass: 3,895; error: 6 Build 6: aarch64/2017/may/09 pass: 3,897; error: 5 Build 7: aarch64/2017/may/11 pass: 3,896; error: 6 Build 8: aarch64/2017/may/13 pass: 3,898; error: 5 Build 9: aarch64/2017/may/15 pass: 3,899; error: 4 Build 10: aarch64/2017/may/17 pass: 3,895; fail: 1; error: 7 Build 11: aarch64/2017/may/19 pass: 3,896; error: 7 Build 12: aarch64/2017/may/23 pass: 3,900; error: 3 Build 13: aarch64/2017/jun/21 pass: 3,902; error: 1 Build 14: aarch64/2017/jun/23 pass: 3,900; error: 3 ------------------------------------------------------------------------------- server-release/hotspot ------------------------------------------------------------------------------- Build 0: aarch64/2017/apr/23 pass: 1,404; fail: 7; error: 1 Build 1: aarch64/2017/apr/25 pass: 1,405; fail: 7 Build 2: aarch64/2017/apr/27 pass: 1,405; fail: 7; error: 1 Build 3: aarch64/2017/apr/29 pass: 1,406; fail: 7 Build 4: aarch64/2017/may/05 pass: 1,406; fail: 7 Build 5: aarch64/2017/may/07 pass: 1,405; fail: 7; error: 1 Build 6: aarch64/2017/may/09 pass: 1,406; fail: 7 Build 7: aarch64/2017/may/11 pass: 1,405; fail: 7; error: 1 Build 8: aarch64/2017/may/13 pass: 1,405; fail: 7; error: 1 Build 9: aarch64/2017/may/15 pass: 1,405; fail: 7; error: 1 Build 10: aarch64/2017/may/17 pass: 1,406; fail: 7 Build 11: aarch64/2017/may/19 pass: 1,406; fail: 7 Build 12: aarch64/2017/may/23 pass: 1,405; fail: 7; error: 1 Build 13: aarch64/2017/jun/21 pass: 1,408; fail: 7 Build 14: aarch64/2017/jun/23 pass: 1,406; fail: 4 ------------------------------------------------------------------------------- server-release/jdk ------------------------------------------------------------------------------- Build 0: aarch64/2017/apr/23 pass: 7,315; fail: 716; error: 21 Build 1: aarch64/2017/apr/25 pass: 7,319; fail: 709; error: 25 Build 2: aarch64/2017/apr/27 pass: 7,324; fail: 701; error: 28 Build 3: aarch64/2017/apr/29 pass: 7,340; fail: 686; error: 28 Build 4: aarch64/2017/may/05 pass: 7,332; fail: 702; error: 24 Build 5: aarch64/2017/may/07 pass: 7,350; fail: 687; error: 21 Build 6: aarch64/2017/may/09 pass: 7,352; fail: 681; error: 26 Build 7: aarch64/2017/may/11 pass: 7,330; fail: 705; error: 25 Build 8: aarch64/2017/may/13 pass: 7,350; fail: 683; error: 27 Build 9: aarch64/2017/may/15 pass: 7,329; fail: 700; error: 31 Build 10: aarch64/2017/may/17 pass: 7,349; fail: 681; error: 30 Build 11: aarch64/2017/may/19 pass: 7,340; fail: 691; error: 29 Build 12: aarch64/2017/may/23 pass: 7,320; fail: 695; error: 45 Build 13: aarch64/2017/jun/21 pass: 7,456; fail: 688; error: 25 Build 14: aarch64/2017/jun/23 pass: 7,432; fail: 699; error: 19 ------------------------------------------------------------------------------- server-release/langtools ------------------------------------------------------------------------------- Build 0: aarch64/2017/apr/23 pass: 3,893; error: 4 Build 1: aarch64/2017/apr/25 pass: 3,895; error: 4 Build 2: aarch64/2017/apr/27 pass: 3,893; error: 8 Build 3: aarch64/2017/apr/29 pass: 3,896; error: 5 Build 4: aarch64/2017/may/05 pass: 3,896; error: 5 Build 5: aarch64/2017/may/07 pass: 3,895; fail: 1; error: 5 Build 6: aarch64/2017/may/09 pass: 3,896; fail: 1; error: 5 Build 7: aarch64/2017/may/11 pass: 3,897; fail: 1; error: 4 Build 8: aarch64/2017/may/13 pass: 3,899; error: 4 Build 9: aarch64/2017/may/15 pass: 3,898; fail: 1; error: 4 Build 10: aarch64/2017/may/17 pass: 3,894; fail: 1; error: 8 Build 11: aarch64/2017/may/19 pass: 3,894; fail: 1; error: 8 Build 12: aarch64/2017/may/23 pass: 3,896; error: 7 Build 13: aarch64/2017/jun/21 pass: 3,901; error: 2 Build 14: aarch64/2017/jun/23 pass: 3,899; error: 4 Previous results can be found here: http://openjdk.linaro.org/jdk9/openjdk-jtreg-nightly-tests/index.html SPECjbb2015 composite regression test completed =============================================== This test measures the relative performance of the server compiler running the SPECjbb2015 composite tests and compares the performance against the baseline performance of the server compiler taken on 2016-11-21. In accordance with [1], the SPECjbb2015 tests are run on a system which is not production ready and does not meet all the requirements for publishing compliant results. The numbers below shall be treated as non-compliant (nc) and are for experimental purposes only. Relative performance: Server max-jOPS (nc): 1.02x Relative performance: Server critical-jOPS (nc): 0.82x Details of the test setup and historical results may be found here: http://openjdk.linaro.org/jdk9/SPECjbb2015-results/ [1] http://www.spec.org/fairuse.html#Academic Regression test Hadoop-Terasort completed ========================================= This test measures the performance of the server and client compilers running Hadoop sorting a 1GB file using Terasort and compares the performance against the baseline performance of the Zero interpreter and against the baseline performance of the client and server compilers on 2014-04-01. Relative performance: Zero: 1.0, Client: 69.53, Server: 113.83 Client 69.53 / Client 2014-04-01 (43.00): 1.62x Server 113.83 / Server 2014-04-01 (71.00): 1.60x Details of the test setup and historical results may be found here: http://openjdk.linaro.org/jdk9/hadoop-terasort-benchmark-results/ This is a summary of the jcstress test results ============================================== The build and test results are cycled every 15 days. 2017-04-24 pass rate: 11552/11554, results: http://openjdk.linaro.org/jdk9/jcstress-nightly-runs/2017/113/results/ 2017-04-26 pass rate: 11551/11554, results: http://openjdk.linaro.org/jdk9/jcstress-nightly-runs/2017/115/results/ 2017-04-28 pass rate: 11552/11554, results: http://openjdk.linaro.org/jdk9/jcstress-nightly-runs/2017/117/results/ 2017-04-30 pass rate: 11552/11554, results: http://openjdk.linaro.org/jdk9/jcstress-nightly-runs/2017/119/results/ 2017-05-06 pass rate: 11552/11554, results: http://openjdk.linaro.org/jdk9/jcstress-nightly-runs/2017/125/results/ 2017-05-09 pass rate: 11553/11554, results: http://openjdk.linaro.org/jdk9/jcstress-nightly-runs/2017/127/results/ 2017-05-11 pass rate: 11552/11554, results: http://openjdk.linaro.org/jdk9/jcstress-nightly-runs/2017/129/results/ 2017-05-12 pass rate: 11551/11554, results: http://openjdk.linaro.org/jdk9/jcstress-nightly-runs/2017/131/results/ 2017-05-14 pass rate: 11553/11554, results: http://openjdk.linaro.org/jdk9/jcstress-nightly-runs/2017/133/results/ 2017-05-16 pass rate: 11553/11554, results: http://openjdk.linaro.org/jdk9/jcstress-nightly-runs/2017/135/results/ 2017-05-19 pass rate: 11553/11554, results: http://openjdk.linaro.org/jdk9/jcstress-nightly-runs/2017/137/results/ 2017-05-20 pass rate: 11552/11554, results: http://openjdk.linaro.org/jdk9/jcstress-nightly-runs/2017/139/results/ 2017-05-24 pass rate: 11552/11554, results: http://openjdk.linaro.org/jdk9/jcstress-nightly-runs/2017/143/results/ 2017-06-22 pass rate: 11551/11554, results: http://openjdk.linaro.org/jdk9/jcstress-nightly-runs/2017/172/results/ 2017-06-24 pass rate: 11553/11554, results: http://openjdk.linaro.org/jdk9/jcstress-nightly-runs/2017/174/results/ For detailed information on the test output please refer to: http://openjdk.linaro.org/jdk9/jcstress-nightly-runs/ From yang.zhang at linaro.org Mon Jun 26 07:44:21 2017 From: yang.zhang at linaro.org (Yang Zhang) Date: Mon, 26 Jun 2017 15:44:21 +0800 Subject: [aarch64-port-dev ] RFR: 8182583: AArch64: FMA Vectorization on aarch64 Message-ID: Hi Andrew Vector FMA instructions for X86 have been enabled in jdk10. This patch is to enable vector FMA for aarch64 jdk10. The jtreg is passed and there isn't new failed test. With this patch, vector FMA instructions (fmla/fmls) can be generated. And there is obvious performance improvement (2~3.6 times faster using jmh microbenchmark). Webrev: http://cr.openjdk.java.net/~njian/8182583/webrev.00/ Bug: https://bugs.openjdk.java.net/browse/JDK-8182583 Would you please help to review it? Regards, Yang From aph at redhat.com Mon Jun 26 11:17:09 2017 From: aph at redhat.com (Andrew Haley) Date: Mon, 26 Jun 2017 12:17:09 +0100 Subject: [aarch64-port-dev ] RFR: 88158361: AArch64: Address calculation missed optimizations In-Reply-To: References: <1b8ec09c-e237-cd98-d5e9-445e8bce8f99@redhat.com> Message-ID: <1446f5f6-3ea2-982f-e92c-891ce8c0e5ed@redhat.com> On 23/06/17 10:50, Zhongwei Yao wrote: > Hi, Andrew, > > Besides pass jtreg on aarch64 and x86, for each pattern, I added one or two > test cases, which will hit the testing pattern. And check the test cases' > assembly output to ensure the hit pattern generates correct instructions. > > Here is a test case for: AddExtL_uxtb_and_shift pattern: > > // testrule: AddExtL_uxtb_and_shift > // geninst: add.*x.*, x.*, w.*, uxtb #3 > public Flonglong adduxtb = new Flonglong() { > public long func(long x, long y) { > return y + ((x & 255) << 3); > } > }; > > And the "geninst" line defines this case's required generated assembly > instruction pattern. > > A script will check whether this case's generated C2 assembly has the > required instruction "add.*x.*, x.*, w.*, uxtb #3". If yes, the test > passes. And if there is a "nosense" on "// testrule" line, such check is > skipped. > > All test cases are at http://cr.openjdk.java.net/~njian/8158361/ExtTest.java This looks great, just one problem. I'm seeing this with current JDK10 HotSpot: 0x000003ff95285b64: and x10, x2, #0xff 0x000003ff95285b68: add x0, x3, x10, lsl #3 ;*ladd {reexecute=0 rethrow=0 return_oop=0} ; - ExtTest$1::func at 8 (line 25) This happens in three of the patterns. public Flonglong adduxtb = new Flonglong() { public long func(long x, long y) { return y + ((x & 255) << 3); } }; public Flonglong adduxtb2 = new Flonglong() { public long func(long x, long y) { return y + (((x << 56) >>> 56) << 4); } }; public Flonglong subuxtb2 = new Flonglong() { public long func(long x, long y) { return y - (((x << 56) >>> 56) << 4); } }; -- Andrew Haley Java Platform Lead Engineer Red Hat UK Ltd. EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From aph at redhat.com Mon Jun 26 13:55:56 2017 From: aph at redhat.com (Andrew Haley) Date: Mon, 26 Jun 2017 14:55:56 +0100 Subject: [aarch64-port-dev ] RFR: 88158361: AArch64: Address calculation missed optimizations In-Reply-To: <1446f5f6-3ea2-982f-e92c-891ce8c0e5ed@redhat.com> References: <1b8ec09c-e237-cd98-d5e9-445e8bce8f99@redhat.com> <1446f5f6-3ea2-982f-e92c-891ce8c0e5ed@redhat.com> Message-ID: <359b8e42-c109-eee1-f430-0305c62a39b6@redhat.com> One other thing: this hunk looks wrong: diff --git a/src/cpu/aarch64/vm/aarch64.ad b/src/cpu/aarch64/vm/aarch64.ad --- a/src/cpu/aarch64/vm/aarch64.ad +++ b/src/cpu/aarch64/vm/aarch64.ad @@ -12789,7 +12800,7 @@ %{ match(Set dst (AddL src1 (ConvI2L src2))); ins_cost(INSN_COST); - format %{ "add $dst, $src1, sxtw $src2" %} + format %{ "add $dst, $src1, $src2, sxtw" %} ins_encode %{ __ add(as_Register($dst$$reg), as_Register($src1$$reg), @@ -12802,7 +12813,7 @@ %{ match(Set dst (SubL src1 (ConvI2L src2))); ins_cost(INSN_COST); - format %{ "sub $dst, $src1, sxtw $src2" %} + format %{ "sub $dst, $src1, $src2, sxtw" %} According to the ARM ARM, the format is: ADD , , {, {#}} or ADD , , {, #} This change is caused by diff --git a/src/cpu/aarch64/vm/aarch64_ad.m4 b/src/cpu/aarch64/vm/aarch64_ad.m4 --- a/src/cpu/aarch64/vm/aarch64_ad.m4 +++ b/src/cpu/aarch64/vm/aarch64_ad.m4 @@ -305,7 +305,7 @@ %{ match(Set dst ($3$2 src1 (ConvI2L src2))); ins_cost(INSN_COST); - format %{ "$4 $dst, $src1, $5 $src2" %} + format %{ "$4 $dst, $src1, $src2, $5" %} ins_encode %{ __ $4(as_Register($dst$$reg), as_Register($src1$$reg), @@ -321,7 +321,7 @@ %{ match(Set dst ($3$1 src1 EXTEND($1, $4, src2, lshift, rshift))); ins_cost(INSN_COST); - format %{ "$5 $dst, $src1, $6 $src2" %} + format %{ "$5 $dst, $src1, $src2, $6" %} ins_encode %{ __ $5(as_Register($dst$$reg), as_Register($src1$$reg), -- Andrew Haley Java Platform Lead Engineer Red Hat UK Ltd. EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From aph at redhat.com Mon Jun 26 17:09:30 2017 From: aph at redhat.com (Andrew Haley) Date: Mon, 26 Jun 2017 18:09:30 +0100 Subject: [aarch64-port-dev ] RFR: fix for crash caused by earlyret of compiled method In-Reply-To: References: <79168E11-7A2B-4D5E-ABB3-3117961C974A@azul.com> <0716A0B5-D568-4FD8-8C6E-87EC70964341@azul.com> <365edfda-c473-acb7-febf-c0aa07e6a584@redhat.com> <016a031d-5d15-652c-728b-b2724febb7ba@redhat.com> <7fd29e96-a132-8203-07ee-401cb7264028@redhat.com> <115c0eb6-8d28-d67a-4463-e3d00c6bad0f@redhat.com> <76C1DBC7-A3D1-4177-953E-4BD2E4AFC2B0@azul.com> Message-ID: <0fa4cfd3-0f3b-22bb-764b-ddc06023b351@redhat.com> On 19/06/17 14:42, Felix Yang wrote: > I will perform a jtreg test for the new patch and push it if everything > is fine. Thanks for reporting the bug. Do you intend also to do backports? I'm guessing we need 9 and 10 at least, maybe also 8. -- Andrew Haley Java Platform Lead Engineer Red Hat UK Ltd. EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From aph at redhat.com Mon Jun 26 17:12:45 2017 From: aph at redhat.com (Andrew Haley) Date: Mon, 26 Jun 2017 18:12:45 +0100 Subject: [aarch64-port-dev ] RFR: 8182583: AArch64: FMA Vectorization on aarch64 In-Reply-To: References: Message-ID: <22feeca3-5703-449d-3d2c-e8b6144cf6b8@redhat.com> On 26/06/17 08:44, Yang Zhang wrote: > Webrev: > http://cr.openjdk.java.net/~njian/8182583/webrev.00/ > > Bug: > https://bugs.openjdk.java.net/browse/JDK-8182583 > > Would you please help to review it? That looks right, thanks. How was it tested? -- Andrew Haley Java Platform Lead Engineer Red Hat UK Ltd. EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From felix.yang at linaro.org Tue Jun 27 00:11:57 2017 From: felix.yang at linaro.org (Felix Yang) Date: Tue, 27 Jun 2017 08:11:57 +0800 Subject: [aarch64-port-dev ] RFR: fix for crash caused by earlyret of compiled method In-Reply-To: <0fa4cfd3-0f3b-22bb-764b-ddc06023b351@redhat.com> References: <79168E11-7A2B-4D5E-ABB3-3117961C974A@azul.com> <0716A0B5-D568-4FD8-8C6E-87EC70964341@azul.com> <365edfda-c473-acb7-febf-c0aa07e6a584@redhat.com> <016a031d-5d15-652c-728b-b2724febb7ba@redhat.com> <7fd29e96-a132-8203-07ee-401cb7264028@redhat.com> <115c0eb6-8d28-d67a-4463-e3d00c6bad0f@redhat.com> <76C1DBC7-A3D1-4177-953E-4BD2E4AFC2B0@azul.com> <0fa4cfd3-0f3b-22bb-764b-ddc06023b351@redhat.com> Message-ID: Yes, this has been tested and pushed into 8, 9, and 10. On 27 June 2017 at 01:09, Andrew Haley wrote: > On 19/06/17 14:42, Felix Yang wrote: > > I will perform a jtreg test for the new patch and push it if > everything > > is fine. Thanks for reporting the bug. > > Do you intend also to do backports? I'm guessing we need 9 and > 10 at least, maybe also 8. > > -- > Andrew Haley > Java Platform Lead Engineer > Red Hat UK Ltd. > EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 > From zhongwei.yao at linaro.org Tue Jun 27 03:06:40 2017 From: zhongwei.yao at linaro.org (Zhongwei Yao) Date: Tue, 27 Jun 2017 11:06:40 +0800 Subject: [aarch64-port-dev ] RFR: 88158361: AArch64: Address calculation missed optimizations In-Reply-To: <359b8e42-c109-eee1-f430-0305c62a39b6@redhat.com> References: <1b8ec09c-e237-cd98-d5e9-445e8bce8f99@redhat.com> <1446f5f6-3ea2-982f-e92c-891ce8c0e5ed@redhat.com> <359b8e42-c109-eee1-f430-0305c62a39b6@redhat.com> Message-ID: On 26 June 2017 at 21:55, Andrew Haley wrote: > One other thing: this hunk looks wrong: > > diff --git a/src/cpu/aarch64/vm/aarch64.ad b/src/cpu/aarch64/vm/aarch64.ad > --- a/src/cpu/aarch64/vm/aarch64.ad > +++ b/src/cpu/aarch64/vm/aarch64.ad > @@ -12789,7 +12800,7 @@ > %{ > match(Set dst (AddL src1 (ConvI2L src2))); > ins_cost(INSN_COST); > - format %{ "add $dst, $src1, sxtw $src2" %} > + format %{ "add $dst, $src1, $src2, sxtw" %} > For example, the old format is: add x0, x1, sxtw x2 The new format is: add x0, x1, x2, sxtw Note there is no "#" here, only "" in above cases. So I feel the new one fits better to ARM ARM, right? > > ins_encode %{ > __ add(as_Register($dst$$reg), as_Register($src1$$reg), > @@ -12802,7 +12813,7 @@ > %{ > match(Set dst (SubL src1 (ConvI2L src2))); > ins_cost(INSN_COST); > - format %{ "sub $dst, $src1, sxtw $src2" %} > + format %{ "sub $dst, $src1, $src2, sxtw" %} > > According to the ARM ARM, the format is: > > ADD , , {, {#}} > > or > > ADD , , {, #} > > This change is caused by > > diff --git a/src/cpu/aarch64/vm/aarch64_ad.m4 > b/src/cpu/aarch64/vm/aarch64_ad.m4 > --- a/src/cpu/aarch64/vm/aarch64_ad.m4 > +++ b/src/cpu/aarch64/vm/aarch64_ad.m4 > @@ -305,7 +305,7 @@ > %{ > match(Set dst ($3$2 src1 (ConvI2L src2))); > ins_cost(INSN_COST); > - format %{ "$4 $dst, $src1, $5 $src2" %} > + format %{ "$4 $dst, $src1, $src2, $5" %} > > ins_encode %{ > __ $4(as_Register($dst$$reg), as_Register($src1$$reg), > @@ -321,7 +321,7 @@ > %{ > match(Set dst ($3$1 src1 EXTEND($1, $4, src2, lshift, rshift))); > ins_cost(INSN_COST); > - format %{ "$5 $dst, $src1, $6 $src2" %} > + format %{ "$5 $dst, $src1, $src2, $6" %} > > ins_encode %{ > __ $5(as_Register($dst$$reg), as_Register($src1$$reg), > > -- > Andrew Haley > Java Platform Lead Engineer > Red Hat UK Ltd. > EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 > -- Best regards, Zhongwei From zhongwei.yao at linaro.org Tue Jun 27 03:16:53 2017 From: zhongwei.yao at linaro.org (Zhongwei Yao) Date: Tue, 27 Jun 2017 11:16:53 +0800 Subject: [aarch64-port-dev ] RFR: 88158361: AArch64: Address calculation missed optimizations In-Reply-To: <1446f5f6-3ea2-982f-e92c-891ce8c0e5ed@redhat.com> References: <1b8ec09c-e237-cd98-d5e9-445e8bce8f99@redhat.com> <1446f5f6-3ea2-982f-e92c-891ce8c0e5ed@redhat.com> Message-ID: [ I re-send this mail due to my attachment is too big and the previous mail is under approving. ] It is strange, because I haven't seen such pattern locally. Here is what I do (jdk is built as fastdebug based on latest master with my patch applied): $java -XX:+PrintCompilation -XX:-TieredCompilation -XX:CompilerDirectivesFile=/tmp/compile_directive.txt ExtTest > func_ExtTest_20170627_10_41_56.log log file is at http://cr.openjdk.java.net/~njian/8158361/func_ExtTest_20170627_10_41_56.log . And compile_directive.txt is: [ { match: ["*.func"], c2: { PrintAssembly: true, }, }, ] And for case: public Flonglong adduxtb = new Flonglong() { public long func(long x, long y) { return y + ((x & 255) << 3); } }; It generates: 0x0000ffff908ef5e8: add x0, x3, w2, uxtb #3 ;*ladd {reexecute=0 rethrow=0 return_oop=0} ; - ExtTest$1::func at 8 (line 25) For case: public Flonglong adduxtb2 = new Flonglong() { public long func(long x, long y) { return y + (((x << 56) >>> 56) << 4); } }; It generates: 0x0000ffff908f4568: add x0, x3, w2, uxtb #4 ;*ladd {reexecute=0 rethrow=0 return_oop=0} ; - ExtTest$33::func at 10 (line 281) For case: public Flonglong subuxtb2 = new Flonglong() { public long func(long x, long y) { return y - (((x << 56) >>> 56) << 4); } }; It generates: 0x0000ffff908f7568: sub x0, x3, w2, uxtb #4 ;*lsub {reexecute=0 rethrow=0 return_oop=0} ; - ExtTest$41::func at 10 (line 345) On 26 June 2017 at 19:17, Andrew Haley wrote: > On 23/06/17 10:50, Zhongwei Yao wrote: > > Hi, Andrew, > > > > Besides pass jtreg on aarch64 and x86, for each pattern, I added one or > two > > test cases, which will hit the testing pattern. And check the test cases' > > assembly output to ensure the hit pattern generates correct instructions. > > > > Here is a test case for: AddExtL_uxtb_and_shift pattern: > > > > // testrule: AddExtL_uxtb_and_shift > > // geninst: add.*x.*, x.*, w.*, uxtb #3 > > public Flonglong adduxtb = new Flonglong() { > > public long func(long x, long y) { > > return y + ((x & 255) << 3); > > } > > }; > > > > And the "geninst" line defines this case's required generated assembly > > instruction pattern. > > > > A script will check whether this case's generated C2 assembly has the > > required instruction "add.*x.*, x.*, w.*, uxtb #3". If yes, the test > > passes. And if there is a "nosense" on "// testrule" line, such check is > > skipped. > > > > All test cases are at http://cr.openjdk.java.net/~ > njian/8158361/ExtTest.java > > This looks great, just one problem. > > I'm seeing this with current JDK10 HotSpot: > > 0x000003ff95285b64: and x10, x2, #0xff > 0x000003ff95285b68: add x0, x3, x10, lsl #3 ;*ladd {reexecute=0 > rethrow=0 return_oop=0} > ; - ExtTest$1::func at 8 > (line 25) > > This happens in three of the patterns. > > public Flonglong adduxtb = new Flonglong() { > public long func(long x, long y) { > return y + ((x & 255) << 3); > } > }; > > public Flonglong adduxtb2 = new Flonglong() { > public long func(long x, long y) { > return y + (((x << 56) >>> 56) << 4); > } > }; > > public Flonglong subuxtb2 = new Flonglong() { > public long func(long x, long y) { > return y - (((x << 56) >>> 56) << 4); > } > }; > > -- > Andrew Haley > Java Platform Lead Engineer > Red Hat UK Ltd. > EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 > -- Best regards, Zhongwei From yang.zhang at linaro.org Tue Jun 27 06:27:43 2017 From: yang.zhang at linaro.org (Yang Zhang) Date: Tue, 27 Jun 2017 14:27:43 +0800 Subject: [aarch64-port-dev ] RFR: 8182583: AArch64: FMA Vectorization on aarch64 In-Reply-To: <22feeca3-5703-449d-3d2c-e8b6144cf6b8@redhat.com> References: <22feeca3-5703-449d-3d2c-e8b6144cf6b8@redhat.com> Message-ID: On 27 June 2017 at 01:12, Andrew Haley wrote: > On 26/06/17 08:44, Yang Zhang wrote: >> Webrev: >> http://cr.openjdk.java.net/~njian/8182583/webrev.00/ >> >> Bug: >> https://bugs.openjdk.java.net/browse/JDK-8182583 >> >> Would you please help to review it? > > That looks right, thanks. How was it tested? For correctness test: I use the test code such as for (int i = 0; i < loop; i++) { c[i] = Math.fma(a[i], b[i], c[i]); } Array a, b, c can be float or double. I also test other combinations such as c[i] = Math.fma(-a[i], b[i], c[i]) c[i] = Math.fma(a[i], -b[i], c[i]) c[i] = Math.fma(a[i], b[i], -c[i]) First, I check the generated assembly. The following SIMD instructions can be generated in different cases: fmla v16.4s, v17.4s, v18.4s fmls v16.4s, v17.4s, v18.4s fmla v16.2d, v17.2d, v20.2d fmls v16.2d, v17.2d, v20.2d Then I use the result of x86 as a reference to verify the output of aarch64 locally. They are the same. Ps. In patch AArch64: Intrinsify fused mac operations( https://bugs.openjdk.java.net/browse/JDK-8162338 ), test file is added as test/compiler/floatingpoint/TestFMA.java (hotspot suite). This test is passed too. For performance test: I add the test cases just like above to jmh. Regards Yang > > -- > Andrew Haley > Java Platform Lead Engineer > Red Hat UK Ltd. > EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From ci_notify at linaro.org Tue Jun 27 10:21:25 2017 From: ci_notify at linaro.org (ci_notify at linaro.org) Date: Tue, 27 Jun 2017 10:21:25 +0000 (UTC) Subject: [aarch64-port-dev ] JTREG, JCStress, SPECjbb2015 and Hadoop/Terasort results for OpenJDK 8u on AArch64 Message-ID: <1172873366.245.1498558887668.JavaMail.jenkins@154e3e9c9816> This is a summary of the JTREG test results =========================================== The build and test results are cycled every 15 days. For detailed information on the test output please refer to: http://openjdk.linaro.org/jdk8u/openjdk-jtreg-nightly-tests/summary/2017/177/summary.html ------------------------------------------------------------------------------- client-release/hotspot ------------------------------------------------------------------------------- Build 0: aarch64/2016/dec/01 pass: 668; fail: 44; error: 6 Build 1: aarch64/2016/dec/21 pass: 668; fail: 44; error: 6 Build 2: aarch64/2017/jan/18 pass: 672; fail: 44; error: 3 Build 3: aarch64/2017/feb/04 pass: 672; fail: 44; error: 3 Build 4: aarch64/2017/feb/24 pass: 672; fail: 44; error: 3 Build 5: aarch64/2017/mar/29 pass: 672; fail: 44; error: 3 Build 6: aarch64/2017/apr/05 pass: 672; fail: 44; error: 3 Build 7: aarch64/2017/apr/20 pass: 673; fail: 44; error: 3 Build 8: aarch64/2017/jun/12 pass: 713; fail: 6; error: 2 Build 9: aarch64/2017/jun/26 pass: 713; fail: 6; error: 2 ------------------------------------------------------------------------------- client-release/jdk ------------------------------------------------------------------------------- Build 0: aarch64/2016/dec/21 pass: 5,621; fail: 219; error: 45 Build 1: aarch64/2017/jan/18 pass: 5,683; fail: 213; error: 36 Build 2: aarch64/2017/feb/04 pass: 5,667; fail: 234; error: 41 Build 3: aarch64/2017/feb/24 pass: 5,701; fail: 217; error: 27 Build 4: aarch64/2017/mar/29 pass: 5,686; fail: 225; error: 34 Build 5: aarch64/2017/apr/05 pass: 5,677; fail: 235; error: 33 Build 6: aarch64/2017/apr/20 pass: 5,671; fail: 254; error: 34 Build 7: aarch64/2017/jun/12 pass: 5,765; fail: 175; error: 23 Build 8: aarch64/2017/jun/26 pass: 5,757; fail: 174; error: 23 ------------------------------------------------------------------------------- client-release/langtools ------------------------------------------------------------------------------- Build 0: aarch64/2016/dec/01 pass: 3,091; error: 16 Build 1: aarch64/2016/dec/21 pass: 3,096; error: 11 Build 2: aarch64/2017/jan/18 pass: 3,098; error: 13 Build 3: aarch64/2017/feb/04 pass: 3,094; error: 17 Build 4: aarch64/2017/feb/24 pass: 3,106; error: 6 Build 5: aarch64/2017/mar/29 pass: 3,105; fail: 2; error: 5 Build 6: aarch64/2017/apr/05 pass: 3,104; fail: 2; error: 6 Build 7: aarch64/2017/apr/20 pass: 3,101; fail: 2; error: 10 Build 8: aarch64/2017/jun/12 pass: 3,109; fail: 2; error: 2 Build 9: aarch64/2017/jun/26 pass: 3,109; fail: 2; error: 2 ------------------------------------------------------------------------------- server-release/hotspot ------------------------------------------------------------------------------- Build 0: aarch64/2016/nov/03 pass: 664; fail: 44; error: 6 Build 1: aarch64/2016/nov/08 pass: 664; fail: 44; error: 6 Build 2: aarch64/2016/nov/09 pass: 664; fail: 44; error: 6 Build 3: aarch64/2016/nov/21 pass: 668; fail: 44; error: 6 Build 4: aarch64/2016/dec/01 pass: 669; fail: 43; error: 6 Build 5: aarch64/2016/dec/21 pass: 668; fail: 44; error: 6 Build 6: aarch64/2017/jan/18 pass: 673; fail: 43; error: 3 Build 7: aarch64/2017/feb/04 pass: 673; fail: 43; error: 3 Build 8: aarch64/2017/feb/24 pass: 673; fail: 43; error: 3 Build 9: aarch64/2017/mar/29 pass: 673; fail: 43; error: 3 Build 10: aarch64/2017/apr/05 pass: 673; fail: 43; error: 3 Build 11: aarch64/2017/apr/20 pass: 674; fail: 43; error: 3 Build 12: aarch64/2017/jun/12 pass: 714; fail: 5; error: 2 Build 13: aarch64/2017/jun/26 pass: 714; fail: 5; error: 2 ------------------------------------------------------------------------------- server-release/jdk ------------------------------------------------------------------------------- Build 0: aarch64/2016/dec/21 pass: 5,618; fail: 226; error: 41 Build 1: aarch64/2017/jan/18 pass: 5,690; fail: 206; error: 36 Build 2: aarch64/2017/feb/04 pass: 5,669; fail: 214; error: 59 Build 3: aarch64/2017/feb/24 pass: 5,701; fail: 221; error: 23 Build 4: aarch64/2017/mar/29 pass: 5,696; fail: 222; error: 27 Build 5: aarch64/2017/apr/05 pass: 5,692; fail: 229; error: 24 Build 6: aarch64/2017/apr/20 pass: 5,705; fail: 220; error: 34 Build 7: aarch64/2017/jun/12 pass: 5,778; fail: 161; error: 24 Build 8: aarch64/2017/jun/26 pass: 5,770; fail: 159; error: 25 ------------------------------------------------------------------------------- server-release/langtools ------------------------------------------------------------------------------- Build 0: aarch64/2016/nov/03 pass: 3,092; error: 15 Build 1: aarch64/2016/nov/08 pass: 3,092; error: 15 Build 2: aarch64/2016/nov/09 pass: 3,091; error: 16 Build 3: aarch64/2016/nov/21 pass: 3,095; error: 12 Build 4: aarch64/2016/dec/01 pass: 3,095; error: 12 Build 5: aarch64/2016/dec/21 pass: 3,092; error: 15 Build 6: aarch64/2017/jan/18 pass: 3,102; error: 9 Build 7: aarch64/2017/feb/04 pass: 3,099; error: 12 Build 8: aarch64/2017/feb/24 pass: 3,109; error: 3 Build 9: aarch64/2017/mar/29 pass: 3,104; fail: 2; error: 6 Build 10: aarch64/2017/apr/05 pass: 3,105; fail: 2; error: 5 Build 11: aarch64/2017/apr/20 pass: 3,098; fail: 2; error: 13 Build 12: aarch64/2017/jun/12 pass: 3,109; fail: 2; error: 2 Build 13: aarch64/2017/jun/26 pass: 3,109; fail: 2; error: 2 Previous results can be found here: http://openjdk.linaro.org/jdk8u/openjdk-jtreg-nightly-tests/index.html SPECjbb2015 composite regression test completed =============================================== This test measures the relative performance of the server compiler running the SPECjbb2015 composite tests and compares the performance against the baseline performance of the server compiler taken on 2016-11-21. In accordance with [1], the SPECjbb2015 tests are run on a system which is not production ready and does not meet all the requirements for publishing compliant results. The numbers below shall be treated as non-compliant (nc) and are for experimental purposes only. Relative performance: Server max-jOPS (nc): 0.97x Relative performance: Server critical-jOPS (nc): 0.75x Details of the test setup and historical results may be found here: http://openjdk.linaro.org/jdk8u/SPECjbb2015-results/ [1] http://www.spec.org/fairuse.html#Academic Regression test Hadoop-Terasort completed ========================================= This test measures the performance of the server and client compilers running Hadoop sorting a 1GB file using Terasort and compares the performance against the baseline performance of the Zero interpreter and against the baseline performance of the client and server compilers on 2014-04-01. Relative performance: Zero: 1.0, Client: 57.15, Server: 109.42 Client 57.15 / Client 2014-04-01 (43.00): 1.33x Server 109.42 / Server 2014-04-01 (71.00): 1.54x Details of the test setup and historical results may be found here: http://openjdk.linaro.org/jdk8u/hadoop-terasort-benchmark-results/ This is a summary of the jcstress test results ============================================== The build and test results are cycled every 15 days. 2016-11-03 pass rate: 5140/5140, results: http://openjdk.linaro.org/jdk8u/jcstress-nightly-runs/2016/308/results/ 2016-11-21 pass rate: 5140/5140, results: http://openjdk.linaro.org/jdk8u/jcstress-nightly-runs/2016/326/results/ 2016-12-01 pass rate: 5140/5140, results: http://openjdk.linaro.org/jdk8u/jcstress-nightly-runs/2016/336/results/ 2016-12-22 pass rate: 5140/5140, results: http://openjdk.linaro.org/jdk8u/jcstress-nightly-runs/2016/356/results/ 2017-01-18 pass rate: 5140/5140, results: http://openjdk.linaro.org/jdk8u/jcstress-nightly-runs/2017/018/results/ 2017-02-06 pass rate: 5140/5140, results: http://openjdk.linaro.org/jdk8u/jcstress-nightly-runs/2017/035/results/ 2017-02-25 pass rate: 5176/5176, results: http://openjdk.linaro.org/jdk8u/jcstress-nightly-runs/2017/055/results/ 2017-03-29 pass rate: 8484/8485, results: http://openjdk.linaro.org/jdk8u/jcstress-nightly-runs/2017/088/results/ 2017-04-05 pass rate: 8484/8485, results: http://openjdk.linaro.org/jdk8u/jcstress-nightly-runs/2017/095/results/ 2017-04-20 pass rate: 8484/8485, results: http://openjdk.linaro.org/jdk8u/jcstress-nightly-runs/2017/110/results/ 2017-06-13 pass rate: 8484/8485, results: http://openjdk.linaro.org/jdk8u/jcstress-nightly-runs/2017/163/results/ 2017-06-27 pass rate: 8484/8485, results: http://openjdk.linaro.org/jdk8u/jcstress-nightly-runs/2017/177/results/ For detailed information on the test output please refer to: http://openjdk.linaro.org/jdk8u/jcstress-nightly-runs/ From zhongwei.yao at linaro.org Tue Jun 27 02:50:05 2017 From: zhongwei.yao at linaro.org (Zhongwei Yao) Date: Tue, 27 Jun 2017 10:50:05 +0800 Subject: [aarch64-port-dev ] RFR: 88158361: AArch64: Address calculation missed optimizations In-Reply-To: <1446f5f6-3ea2-982f-e92c-891ce8c0e5ed@redhat.com> References: <1b8ec09c-e237-cd98-d5e9-445e8bce8f99@redhat.com> <1446f5f6-3ea2-982f-e92c-891ce8c0e5ed@redhat.com> Message-ID: On 26 June 2017 at 19:17, Andrew Haley wrote: > On 23/06/17 10:50, Zhongwei Yao wrote: > > Hi, Andrew, > > > > Besides pass jtreg on aarch64 and x86, for each pattern, I added one or > two > > test cases, which will hit the testing pattern. And check the test cases' > > assembly output to ensure the hit pattern generates correct instructions. > > > > Here is a test case for: AddExtL_uxtb_and_shift pattern: > > > > // testrule: AddExtL_uxtb_and_shift > > // geninst: add.*x.*, x.*, w.*, uxtb #3 > > public Flonglong adduxtb = new Flonglong() { > > public long func(long x, long y) { > > return y + ((x & 255) << 3); > > } > > }; > > > > And the "geninst" line defines this case's required generated assembly > > instruction pattern. > > > > A script will check whether this case's generated C2 assembly has the > > required instruction "add.*x.*, x.*, w.*, uxtb #3". If yes, the test > > passes. And if there is a "nosense" on "// testrule" line, such check is > > skipped. > > > > All test cases are at http://cr.openjdk.java.net/~ > njian/8158361/ExtTest.java > > This looks great, just one problem. > > I'm seeing this with current JDK10 HotSpot: > > 0x000003ff95285b64: and x10, x2, #0xff > 0x000003ff95285b68: add x0, x3, x10, lsl #3 ;*ladd {reexecute=0 > rethrow=0 return_oop=0} > ; - ExtTest$1::func at 8 > (line 25) > > This happens in three of the patterns. > > public Flonglong adduxtb = new Flonglong() { > public long func(long x, long y) { > return y + ((x & 255) << 3); > } > }; > > public Flonglong adduxtb2 = new Flonglong() { > public long func(long x, long y) { > return y + (((x << 56) >>> 56) << 4); > } > }; > > public Flonglong subuxtb2 = new Flonglong() { > public long func(long x, long y) { > return y - (((x << 56) >>> 56) << 4); > } > }; > It is strange, because I haven't seen such pattern locally. Here is what I do (jdk is built as fastdebug based on latest master with my patch applied): $java -XX:+PrintCompilation -XX:-TieredCompilation -XX:CompilerDirectivesFile=/tmp/compile_directive.txt ExtTest > func_ExtTest_20170627_10_41_56.log And compile_directive.txt is: [ { match: ["*.func"], c2: { PrintAssembly: true, }, }, ] And for case: public Flonglong adduxtb = new Flonglong() { public long func(long x, long y) { return y + ((x & 255) << 3); } }; It generates: 0x0000ffff908ef5e8: add x0, x3, w2, uxtb #3 ;*ladd {reexecute=0 rethrow=0 return_oop=0} ; - ExtTest$1::func at 8 (line 25) For case: public Flonglong adduxtb2 = new Flonglong() { public long func(long x, long y) { return y + (((x << 56) >>> 56) << 4); } }; It generates: 0x0000ffff908f4568: add x0, x3, w2, uxtb #4 ;*ladd {reexecute=0 rethrow=0 return_oop=0} ; - ExtTest$33::func at 10 (line 281) For case: public Flonglong subuxtb2 = new Flonglong() { public long func(long x, long y) { return y - (((x << 56) >>> 56) << 4); } }; It generates: 0x0000ffff908f7568: sub x0, x3, w2, uxtb #4 ;*lsub {reexecute=0 rethrow=0 return_oop=0} ; - ExtTest$41::func at 10 (line 345) The log file is attached. > > -- > Andrew Haley > Java Platform Lead Engineer > Red Hat UK Ltd. > EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 > -- Best regards, Zhongwei From aph at redhat.com Wed Jun 28 12:20:59 2017 From: aph at redhat.com (Andrew Haley) Date: Wed, 28 Jun 2017 13:20:59 +0100 Subject: [aarch64-port-dev ] RFR: 88158361: AArch64: Address calculation missed optimizations In-Reply-To: References: <1b8ec09c-e237-cd98-d5e9-445e8bce8f99@redhat.com> <1446f5f6-3ea2-982f-e92c-891ce8c0e5ed@redhat.com> Message-ID: <75f607ed-af0b-4a65-243c-366e37a8400d@redhat.com> On 27/06/17 04:16, Zhongwei Yao wrote: > [ I re-send this mail due to my attachment is too big and the previous mail > is under approving. ] > > It is strange, because I haven't seen such pattern locally. > > Here is what I do (jdk is built as fastdebug based on latest master with my > patch applied): > $java -XX:+PrintCompilation -XX:-TieredCompilation > -XX:CompilerDirectivesFile=/tmp/compile_directive.txt ExtTest > > func_ExtTest_20170627_10_41_56.log > > log file is at > http://cr.openjdk.java.net/~njian/8158361/func_ExtTest_20170627_10_41_56.log I see this in tha file: 0x0000ffff908fb7e4: stp x29, x30, [sp,#16] ;*synchronization entry ; - ExtTest$28::func at -1 (line 241) 0x0000ffff908fb7e8: sbfx w11, w2, #0, #30 0x0000ffff908fb7ec: add w0, w3, w11, lsl #1 ;*iadd {reexecute=0 rethrow=0 return_oop=0} ; - ExtTest$28::func at 8 (line 241) 0x0000ffff908fb7f0: ldp x29, x30, [sp,#16] I think this is just a bad test case. Please check all of the output. -- Andrew Haley Java Platform Lead Engineer Red Hat UK Ltd. EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From aph at redhat.com Wed Jun 28 13:48:59 2017 From: aph at redhat.com (Andrew Haley) Date: Wed, 28 Jun 2017 14:48:59 +0100 Subject: [aarch64-port-dev ] RFR: 88158361: AArch64: Address calculation missed optimizations In-Reply-To: References: <1b8ec09c-e237-cd98-d5e9-445e8bce8f99@redhat.com> <1446f5f6-3ea2-982f-e92c-891ce8c0e5ed@redhat.com> Message-ID: <740aabfe-4a9b-142e-7c1c-3c921e7cef86@redhat.com> Hi, On 27/06/17 03:50, Zhongwei Yao wrote: > On 26 June 2017 at 19:17, Andrew Haley wrote: > >> On 23/06/17 10:50, Zhongwei Yao wrote: >>> >>> Besides pass jtreg on aarch64 and x86, for each pattern, I added one or >> two >>> test cases, which will hit the testing pattern. And check the test cases' >>> assembly output to ensure the hit pattern generates correct instructions. >>> >>> Here is a test case for: AddExtL_uxtb_and_shift pattern: >>> >>> // testrule: AddExtL_uxtb_and_shift >>> // geninst: add.*x.*, x.*, w.*, uxtb #3 >>> public Flonglong adduxtb = new Flonglong() { >>> public long func(long x, long y) { >>> return y + ((x & 255) << 3); >>> } >>> }; >>> >>> And the "geninst" line defines this case's required generated assembly >>> instruction pattern. >>> >>> A script will check whether this case's generated C2 assembly has the >>> required instruction "add.*x.*, x.*, w.*, uxtb #3". If yes, the test >>> passes. And if there is a "nosense" on "// testrule" line, such check is >>> skipped. >>> >>> All test cases are at http://cr.openjdk.java.net/~ >> njian/8158361/ExtTest.java >> >> This looks great, just one problem. >> >> I'm seeing this with current JDK10 HotSpot: >> >> 0x000003ff95285b64: and x10, x2, #0xff >> 0x000003ff95285b68: add x0, x3, x10, lsl #3 ;*ladd {reexecute=0 >> rethrow=0 return_oop=0} >> ; - ExtTest$1::func at 8 >> (line 25) >> >> This happens in three of the patterns. >> >> public Flonglong adduxtb = new Flonglong() { >> public long func(long x, long y) { >> return y + ((x & 255) << 3); >> } >> }; >> >> public Flonglong adduxtb2 = new Flonglong() { >> public long func(long x, long y) { >> return y + (((x << 56) >>> 56) << 4); >> } >> }; >> >> public Flonglong subuxtb2 = new Flonglong() { >> public long func(long x, long y) { >> return y - (((x << 56) >>> 56) << 4); >> } >> }; >> > > It is strange, because I haven't seen such pattern locally. I found the bug that caused this not to be matched, and it's a bug that you fixed. In jdk9-dev/hotspot, I see: operand immL_255() %{ predicate(n->get_int() == 255); match(ConI); op_cost(0); format %{ %} interface(CONST_INTER); %} It's because this patch was not back-ported to JDK9: # HG changeset patch # User njian # Date 1494572375 -28800 # Fri May 12 14:59:35 2017 +0800 # Node ID 94302da0a7beb0482afb977f1290062fff5ddb7a # Parent 717a2b9c928a28f6d396e811463e0718c794732f 8179933: AArch64: Incorrect match rule for immL_255 Summary: The match rule fix will enable instructs like: SubExtL_uxtb_and and AddExtL_uxtb_and etc. Also rename immL_63 to the proper name: immI_63. Reviewed-by: aph Contributed-by: zhongwei.yao at linaro.org Once we have a jdk9u tree, we should apply these patches to it. -- Andrew Haley Java Platform Lead Engineer Red Hat UK Ltd. EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From zhongwei.yao at linaro.org Wed Jun 28 15:55:41 2017 From: zhongwei.yao at linaro.org (Zhongwei Yao) Date: Wed, 28 Jun 2017 23:55:41 +0800 Subject: [aarch64-port-dev ] RFR: 88158361: AArch64: Address calculation missed optimizations In-Reply-To: <75f607ed-af0b-4a65-243c-366e37a8400d@redhat.com> References: <1b8ec09c-e237-cd98-d5e9-445e8bce8f99@redhat.com> <1446f5f6-3ea2-982f-e92c-891ce8c0e5ed@redhat.com> <75f607ed-af0b-4a65-243c-366e37a8400d@redhat.com> Message-ID: On 28 June 2017 at 20:20, Andrew Haley wrote: > On 27/06/17 04:16, Zhongwei Yao wrote: > > [ I re-send this mail due to my attachment is too big and the previous > mail > > is under approving. ] > > > > It is strange, because I haven't seen such pattern locally. > > > > Here is what I do (jdk is built as fastdebug based on latest master with > my > > patch applied): > > $java -XX:+PrintCompilation -XX:-TieredCompilation > > -XX:CompilerDirectivesFile=/tmp/compile_directive.txt ExtTest > > > func_ExtTest_20170627_10_41_56.log > > > > log file is at > > http://cr.openjdk.java.net/~njian/8158361/func_ExtTest_ > 20170627_10_41_56.log > > I see this in tha file: > > 0x0000ffff908fb7e4: stp x29, x30, [sp,#16] ;*synchronization entry > ; - ExtTest$28::func at -1 > (line 241) > > 0x0000ffff908fb7e8: sbfx w11, w2, #0, #30 > 0x0000ffff908fb7ec: add w0, w3, w11, lsl #1 ;*iadd {reexecute=0 > rethrow=0 return_oop=0} > ; - ExtTest$28::func at 8 > (line 241) > line 241 is from the case: // testrule: addExtI_sxtx_shift nosense // geninst: add.*w.*, w.*, x.*, sxtx #1 public Fintint addwsxtx = new Fintint() { public int func(int x, int y) { return y + (((x << 2) >> 2) << 1); } }; which is case that doesn't make sense and the pattern is not added in this patch. Sorry, I have made my understood clearly. My previous attached test file ( http://cr.openjdk.java.net/~njian/8158361/ExtTest.java) includes all cases in this table http://cr.openjdk.java.net/~njian/8158361/rules.txt. So the log file (http://cr.openjdk.java.net/~njian/8158361/func_ExtTest_ 20170627_10_41_56.log) also includes cases like addwsxtx, which is a case does not make sense. I keep them just for being aligned with the table ( http://cr.openjdk.java.net/~njian/8158361/rules.txt). To make it clear, I extrat the log file into two parts: func_ExtTest_20170627_10_41_56_added.log and func_ExtTest_20170627_10_41_56_not_added.log. And I checked all "make sense" cases (cases without "nosense" comment line) in ExtTest.java have generated required instruction by the attached script "tests.sh". (if the attachment doesn't pass maillist's check, I'll upload it to http://cr.openjdk.java.net/~njian/8158361 later) > 0x0000ffff908fb7f0: ldp x29, x30, [sp,#16] > > I think this is just a bad test case. Please check all of the output. > > -- > Andrew Haley > Java Platform Lead Engineer > Red Hat UK Ltd. > EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 > -- Best regards, Zhongwei From zhongwei.yao at linaro.org Wed Jun 28 15:55:49 2017 From: zhongwei.yao at linaro.org (Zhongwei Yao) Date: Wed, 28 Jun 2017 23:55:49 +0800 Subject: [aarch64-port-dev ] RFR: 88158361: AArch64: Address calculation missed optimizations In-Reply-To: <740aabfe-4a9b-142e-7c1c-3c921e7cef86@redhat.com> References: <1b8ec09c-e237-cd98-d5e9-445e8bce8f99@redhat.com> <1446f5f6-3ea2-982f-e92c-891ce8c0e5ed@redhat.com> <740aabfe-4a9b-142e-7c1c-3c921e7cef86@redhat.com> Message-ID: Thanks for pointing out this issue! On 28 June 2017 at 21:48, Andrew Haley wrote: > Hi, > > On 27/06/17 03:50, Zhongwei Yao wrote: > > On 26 June 2017 at 19:17, Andrew Haley wrote: > > > >> On 23/06/17 10:50, Zhongwei Yao wrote: > >>> > >>> Besides pass jtreg on aarch64 and x86, for each pattern, I added one or > >> two > >>> test cases, which will hit the testing pattern. And check the test > cases' > >>> assembly output to ensure the hit pattern generates correct > instructions. > >>> > >>> Here is a test case for: AddExtL_uxtb_and_shift pattern: > >>> > >>> // testrule: AddExtL_uxtb_and_shift > >>> // geninst: add.*x.*, x.*, w.*, uxtb #3 > >>> public Flonglong adduxtb = new Flonglong() { > >>> public long func(long x, long y) { > >>> return y + ((x & 255) << 3); > >>> } > >>> }; > >>> > >>> And the "geninst" line defines this case's required generated assembly > >>> instruction pattern. > >>> > >>> A script will check whether this case's generated C2 assembly has the > >>> required instruction "add.*x.*, x.*, w.*, uxtb #3". If yes, the test > >>> passes. And if there is a "nosense" on "// testrule" line, such check > is > >>> skipped. > >>> > >>> All test cases are at http://cr.openjdk.java.net/~ > >> njian/8158361/ExtTest.java > >> > >> This looks great, just one problem. > >> > >> I'm seeing this with current JDK10 HotSpot: > >> > >> 0x000003ff95285b64: and x10, x2, #0xff > >> 0x000003ff95285b68: add x0, x3, x10, lsl #3 ;*ladd {reexecute=0 > >> rethrow=0 return_oop=0} > >> ; - ExtTest$1::func at 8 > >> (line 25) > >> > >> This happens in three of the patterns. > >> > >> public Flonglong adduxtb = new Flonglong() { > >> public long func(long x, long y) { > >> return y + ((x & 255) << 3); > >> } > >> }; > >> > >> public Flonglong adduxtb2 = new Flonglong() { > >> public long func(long x, long y) { > >> return y + (((x << 56) >>> 56) << 4); > >> } > >> }; > >> > >> public Flonglong subuxtb2 = new Flonglong() { > >> public long func(long x, long y) { > >> return y - (((x << 56) >>> 56) << 4); > >> } > >> }; > >> > > > > It is strange, because I haven't seen such pattern locally. > > I found the bug that caused this not to be matched, and it's a bug that > you fixed. In jdk9-dev/hotspot, I see: > > operand immL_255() > %{ > predicate(n->get_int() == 255); > match(ConI); > > op_cost(0); > format %{ %} > interface(CONST_INTER); > %} > > It's because this patch was not back-ported to JDK9: > > # HG changeset patch > # User njian > # Date 1494572375 -28800 > # Fri May 12 14:59:35 2017 +0800 > # Node ID 94302da0a7beb0482afb977f1290062fff5ddb7a > # Parent 717a2b9c928a28f6d396e811463e0718c794732f > 8179933: AArch64: Incorrect match rule for immL_255 > Summary: The match rule fix will enable instructs like: SubExtL_uxtb_and > and AddExtL_uxtb_and etc. Also rename immL_63 to the proper name: immI_63. > Reviewed-by: aph > Contributed-by: zhongwei.yao at linaro.org > > Once we have a jdk9u tree, we should apply these patches to it. > > -- > Andrew Haley > Java Platform Lead Engineer > Red Hat UK Ltd. > EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 > -- Best regards, Zhongwei From aph at redhat.com Thu Jun 29 13:38:52 2017 From: aph at redhat.com (Andrew Haley) Date: Thu, 29 Jun 2017 14:38:52 +0100 Subject: [aarch64-port-dev ] RFR: 8182583: AArch64: FMA Vectorization on aarch64 In-Reply-To: References: Message-ID: <3b6d7c39-7806-aef4-b93b-79432302be2c@redhat.com> On 26/06/17 08:44, Yang Zhang wrote: > Webrev: > http://cr.openjdk.java.net/~njian/8182583/webrev.00/ > > Bug: > https://bugs.openjdk.java.net/browse/JDK-8182583 > > Would you please help to review it? That looks very nice, thank you. -- Andrew Haley Java Platform Lead Engineer Red Hat UK Ltd. EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 From zhongwei.yao at linaro.org Fri Jun 30 01:51:51 2017 From: zhongwei.yao at linaro.org (Zhongwei Yao) Date: Fri, 30 Jun 2017 09:51:51 +0800 Subject: [aarch64-port-dev ] RFR: 88158361: AArch64: Address calculation missed optimizations In-Reply-To: References: <1b8ec09c-e237-cd98-d5e9-445e8bce8f99@redhat.com> <1446f5f6-3ea2-982f-e92c-891ce8c0e5ed@redhat.com> <75f607ed-af0b-4a65-243c-366e37a8400d@redhat.com> Message-ID: On 28 June 2017 at 23:55, Zhongwei Yao wrote: > > > On 28 June 2017 at 20:20, Andrew Haley wrote: > >> On 27/06/17 04:16, Zhongwei Yao wrote: >> > [ I re-send this mail due to my attachment is too big and the previous >> mail >> > is under approving. ] >> > >> > It is strange, because I haven't seen such pattern locally. >> > >> > Here is what I do (jdk is built as fastdebug based on latest master >> with my >> > patch applied): >> > $java -XX:+PrintCompilation -XX:-TieredCompilation >> > -XX:CompilerDirectivesFile=/tmp/compile_directive.txt ExtTest > >> > func_ExtTest_20170627_10_41_56.log >> > >> > log file is at >> > http://cr.openjdk.java.net/~njian/8158361/func_ExtTest_20170 >> 627_10_41_56.log >> >> I see this in tha file: >> >> 0x0000ffff908fb7e4: stp x29, x30, [sp,#16] ;*synchronization >> entry >> ; - ExtTest$28::func at -1 >> (line 241) >> >> 0x0000ffff908fb7e8: sbfx w11, w2, #0, #30 >> 0x0000ffff908fb7ec: add w0, w3, w11, lsl #1 ;*iadd {reexecute=0 >> rethrow=0 return_oop=0} >> ; - ExtTest$28::func at 8 >> (line 241) >> > line 241 is from the case: > > // testrule: addExtI_sxtx_shift nosense > // geninst: add.*w.*, w.*, x.*, sxtx #1 > public Fintint addwsxtx = new Fintint() { > public int func(int x, int y) { > return y + (((x << 2) >> 2) << 1); > } > }; > > which is case that doesn't make sense and the pattern is not added in this > patch. > > Sorry, I have made my understood clearly. > > My previous attached test file (http://cr.openjdk.java.net/~ > njian/8158361/ExtTest.java) includes all cases in this table > http://cr.openjdk.java.net/~njian/8158361/rules.txt. So the log file ( > http://cr.openjdk.java.net/~njian/8158361/func_ExtTest_2017 > 0627_10_41_56.log) also includes cases like addwsxtx, which is a case > does not make sense. I keep them just for being aligned with the table ( > http://cr.openjdk.java.net/~njian/8158361/rules.txt). > > To make it clear, I extrat the log file into two > parts: func_ExtTest_20170627_10_41_56_added.log > and func_ExtTest_20170627_10_41_56_not_added.log. > > And I checked all "make sense" cases (cases without "nosense" comment > line) in ExtTest.java have generated required instruction by the attached > script "tests.sh". > > (if the attachment doesn't pass maillist's check, I'll upload it to > http://cr.openjdk.java.net/~njian/8158361 later) > I've uploaded previous mentioned files at: http://cr.openjdk.java.net/~njian/8158361/func_ExtTest_20170627_10_41_56_added.log http://cr.openjdk.java.net/~njian/8158361/func_ExtTest_20170627_10_41_56_not_added.log http://cr.openjdk.java.net/~njian/8158361/tests.sh Please take a look, thanks! > > > >> 0x0000ffff908fb7f0: ldp x29, x30, [sp,#16] >> >> I think this is just a bad test case. Please check all of the output. >> >> -- >> Andrew Haley >> Java Platform Lead Engineer >> Red Hat UK Ltd. >> EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 >> > > > > -- > Best regards, > Zhongwei > -- Best regards, Zhongwei From felix.yang at linaro.org Fri Jun 30 11:47:01 2017 From: felix.yang at linaro.org (Felix Yang) Date: Fri, 30 Jun 2017 19:47:01 +0800 Subject: [aarch64-port-dev ] RFR: 8182583: AArch64: FMA Vectorization on aarch64 In-Reply-To: <3b6d7c39-7806-aef4-b93b-79432302be2c@redhat.com> References: <3b6d7c39-7806-aef4-b93b-79432302be2c@redhat.com> Message-ID: LGTM too. Pushed. Thanks. On 29 June 2017 at 21:38, Andrew Haley wrote: > On 26/06/17 08:44, Yang Zhang wrote: > > Webrev: > > http://cr.openjdk.java.net/~njian/8182583/webrev.00/ > > > > Bug: > > https://bugs.openjdk.java.net/browse/JDK-8182583 > > > > Would you please help to review it? > > That looks very nice, thank you. > > -- > Andrew Haley > Java Platform Lead Engineer > Red Hat UK Ltd. > EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671 >