Re: RFR: 8248188: Add IntrinsicCandidate and API for Base64 decoding [v12]

2020-11-04 Thread CoreyAshford
pot intrinsic "TestBase64.java" regression test to > more fully test both decoding and encoding. CoreyAshford has updated the pull request incrementally with one additional commit since the last revision: stubGenerator_ppc.cpp: fix typo (omitted 'the') - Changes: - all: http

Re: RFR: 8248188: Add IntrinsicCandidate and API for Base64 decoding [v11]

2020-11-04 Thread CoreyAshford
pot intrinsic "TestBase64.java" regression test to > more fully test both decoding and encoding. CoreyAshford has updated the pull request incrementally with one additional commit since the last revision: stubGenerator_ppc.cpp: reduce loop_unrolls to 1 to match new benchmark resul

Re: RFR: 8248188: Add IntrinsicCandidate and API for Base64 decoding [v10]

2020-11-04 Thread CoreyAshford
On Wed, 4 Nov 2020 14:51:06 GMT, Martin Doerr wrote: > Thanks for removing the branch from the loop. (Maybe this affects unrolling > decision.) Looks good. Yeah, it does, and oddly enough the best loop unroll value is now 1. I will re-run the benchmarks again to confirm, but that's what

Re: RFR: 8248188: Add IntrinsicCandidate and API for Base64 decoding [v10]

2020-11-02 Thread CoreyAshford
pot intrinsic "TestBase64.java" regression test to > more fully test both decoding and encoding. CoreyAshford has updated the pull request incrementally with one additional commit since the last revision: stubGenerator_ppc.cpp: fix trailing whitespace errors - Changes: - all

Re: RFR: 8248188: Add IntrinsicCandidate and API for Base64 decoding [v9]

2020-11-02 Thread CoreyAshford
On Mon, 26 Oct 2020 19:22:23 GMT, Paul Murphy wrote: >> Just to make sure I understand, you're not asking for a change here, is that >> right? > > I think the first line should also express the initial layout of the 6 bit > values similar to the linked algo. I think changing this comment add

Re: RFR: 8248188: Add IntrinsicCandidate and API for Base64 decoding [v9]

2020-11-02 Thread CoreyAshford
pot intrinsic "TestBase64.java" regression test to > more fully test both decoding and encoding. CoreyAshford has updated the pull request incrementally with two additional commits since the last revision: - stubGenerator_ppc.cpp: Remove the predicted branch around the xxsel ins

Re: RFR: 8248188: Add IntrinsicCandidate and API for Base64 decoding [v8]

2020-11-02 Thread CoreyAshford
On Sat, 24 Oct 2020 21:38:55 GMT, CoreyAshford wrote: >> Yes, it assumes uniformly random data, but also recall that the unencoded >> data bytes get shifted by 2, 4, 6 bits into the encoded bytes, which I'm >> guessing would tend to make the data somewhat more uniform, even

Re: RFR: 8248188: Add IntrinsicCandidate and API for Base64 decoding [v8]

2020-10-24 Thread CoreyAshford
On Thu, 22 Oct 2020 20:40:00 GMT, CoreyAshford wrote: >> Thanks for this question. I also stumbled over it when reviewing. I guess a >> branch which gets mispredicted in ~22% of the cases leads to a big >> performance loss. (In addition, the branch target is not aligned.) &

Re: RFR: 8248188: Add IntrinsicCandidate and API for Base64 decoding [v8]

2020-10-22 Thread CoreyAshford
On Thu, 22 Oct 2020 14:24:34 GMT, Paul Murphy wrote: >> CoreyAshford has updated the pull request incrementally with one additional >> commit since the last revision: >> >> TestBase64.java: remove jdk.test.lib.Utils from @build which was causing >> Tier3 fai

Re: RFR: 8248188: Add IntrinsicCandidate and API for Base64 decoding [v8]

2020-10-22 Thread CoreyAshford
On Thu, 22 Oct 2020 14:32:40 GMT, Paul Murphy wrote: >> CoreyAshford has updated the pull request incrementally with one additional >> commit since the last revision: >> >> TestBase64.java: remove jdk.test.lib.Utils from @build which was causing >> Tier3 fai

Re: RFR: 8248188: Add IntrinsicCandidate and API for Base64 decoding [v8]

2020-10-22 Thread CoreyAshford
On Thu, 22 Oct 2020 18:10:02 GMT, Martin Doerr wrote: >> src/hotspot/cpu/ppc/stubGenerator_ppc.cpp line 3820: >> >>> 3818: __ vcmpequb_(eq_special_case_char, input, >>> vec_special_case_char); >>> 3819: // >>> 3820: // There's a (63/64)^16 = 77.7% chance that there are

Re: RFR: 8248188: Add IntrinsicCandidate and API for Base64 decoding [v8]

2020-10-22 Thread CoreyAshford
On Thu, 22 Oct 2020 14:00:49 GMT, Paul Murphy wrote: >> CoreyAshford has updated the pull request incrementally with one additional >> commit since the last revision: >> >> TestBase64.java: remove jdk.test.lib.Utils from @build which was causing >> Tier3 fai

Re: RFR: 8248188: Add IntrinsicCandidate and API for Base64 decoding [v8]

2020-10-21 Thread CoreyAshford
On Thu, 22 Oct 2020 01:36:59 GMT, Vladimir Kozlov wrote: > Tier3 testing clean with updated test. Thank you for identifying the problem, the fix, then rebuilding and rerunning the tests! - PR: https://git.openjdk.java.net/jdk/pull/293

Re: RFR: 8248188: Add IntrinsicCandidate and API for Base64 decoding [v7]

2020-10-21 Thread CoreyAshford
On Wed, 21 Oct 2020 20:12:47 GMT, Vladimir Kozlov wrote: >> CoreyAshford has updated the pull request incrementally with one additional >> commit since the last revision: >> >> CheckGraalIntrinsics.java: fix copy/paste error > > test/hotspot/jtreg/compiler/int

Re: RFR: 8248188: Add IntrinsicCandidate and API for Base64 decoding [v8]

2020-10-21 Thread CoreyAshford
pot intrinsic "TestBase64.java" regression test to > more fully test both decoding and encoding. CoreyAshford has updated the pull request incrementally with one additional commit since the last revision: TestBase64.java: remove jdk.test.lib.Utils from @build which was causing Tier3 failur

Re: RFR: 8248188: Add IntrinsicCandidate and API for Base64 decoding [v7]

2020-10-21 Thread CoreyAshford
On Wed, 21 Oct 2020 13:42:48 GMT, Daniel D. Daugherty wrote: > Buried in that GitHub test run link are the results for > windows-x64-debug_testlogs_hs_tier1_compiler > which includes this file (test-summary.txt): > > ``` > == > Test summary >

Re: RFR: 8248188: Add IntrinsicCandidate and API for Base64 decoding [v5]

2020-10-21 Thread CoreyAshford
On Wed, 21 Oct 2020 01:33:48 GMT, CoreyAshford wrote: >> Please, update >> src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CheckGraalIntrinsics.java > >> Please, update >> src/jdk.interna

Re: RFR: 8248188: Add IntrinsicCandidate and API for Base64 decoding [v7]

2020-10-20 Thread CoreyAshford
otspot intrinsic "TestBase64.java" regression test to > more fully test both decoding and encoding. CoreyAshford has updated the pull request incrementally with one additional commit since the last revision: CheckGraalIntrinsics.java: fix copy/paste error - Changes: -

Re: RFR: 8248188: Add IntrinsicCandidate and API for Base64 decoding [v5]

2020-10-20 Thread CoreyAshford
On Wed, 21 Oct 2020 01:25:33 GMT, Vladimir Kozlov wrote: > Please, update > src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CheckGraalIntrinsics.java I will push the code, but I haven't been successful in running the test (see

Re: RFR: 8248188: Add IntrinsicCandidate and API for Base64 decoding [v6]

2020-10-20 Thread CoreyAshford
otspot intrinsic "TestBase64.java" regression test to > more fully test both decoding and encoding. CoreyAshford has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 22 commits: - CheckGraalIntrinsics.java: Disable testing of deco

Re: RFR: 8248188: Add IntrinsicCandidate and API for Base64 decoding [v4]

2020-10-20 Thread CoreyAshford
On Tue, 20 Oct 2020 16:42:46 GMT, CoreyAshford wrote: > @CoreyAshford apologies i pointed to the "umbrella" test that runs Graal unit > tests, the actual test is > [CheckGraalIntrinsics](https://github.com/openjdk/jdk/blob/master/src/jdk.internal.vm.com

Re: RFR: 8248188: Add IntrinsicCandidate and API for Base64 decoding [v4]

2020-10-20 Thread CoreyAshford
t; It looks like that is auto-generated, but I will figure out what to modify >> so that the signature is added. > > @CoreyAshford apologies i pointed to the "umbrella" test that runs Graal unit > tests, the actual test is > [CheckGraalIntrinsics](https://github.com

Re: RFR: 8248188: Add IntrinsicCandidate and API for Base64 decoding [v4]

2020-10-15 Thread CoreyAshford
On Thu, 15 Oct 2020 15:59:23 GMT, Paul Sandoz wrote: > Please update > [compiler/graalunit/HotspotTest.java](https://github.com/openjdk/jdk/blob/master/test/hotspot/jtreg/compiler/graalunit/HotspotTest.java), > and add the intrinsic signature. It looks like that is auto-generated, but I will

Re: RFR: 8248188: Add IntrinsicCandidate and API for Base64 decoding [v4]

2020-10-14 Thread CoreyAshford
On Wed, 14 Oct 2020 10:29:40 GMT, Martin Doerr wrote: > Hi Corey, > Are you thinking of a case where that produces a higher iteration count? > Sorry for the confusion. This is also fine: length = sl - sp - 12 i = length > / block_size if (i <= 0) return 0 But I > still wonder why we should use

Re: RFR: 8248188: Add IntrinsicCandidate and API for Base64 decoding [v4]

2020-10-13 Thread CoreyAshford
On Tue, 13 Oct 2020 20:59:01 GMT, CoreyAshford wrote: > > > Did you already find a 2nd reviewer for the PPC64 part? > > Your original comment said "2nd review", so I thought you meant you need to > review it again after the changes. So, no, > I haven't looked

Re: RFR: 8248188: Add IntrinsicCandidate and API for Base64 decoding [v4]

2020-10-13 Thread CoreyAshford
On Tue, 13 Oct 2020 19:56:42 GMT, Martin Doerr wrote: > Hi Corey, thanks for taking some stuff out of the “too short” path. There may > be a performance regression when decoding > many short arrays because of the stub call overhead and the usage of the > slower part of the Java implementation.

Re: RFR: 8248188: Add HotSpotIntrinsicCandidate and API for Base64 decoding

2020-09-28 Thread CoreyAshford
On Mon, 28 Sep 2020 16:35:59 GMT, CoreyAshford wrote: >> AOT support needs an update: >> # Internal Error (jdk/src/hotspot/share/aot/aotCodeHeap.cpp:557), >> pid=345656, tid=364316 >> # guarantee(adr != NULL) failed: AOT Symbol not found >> _aot_stub_routin

Re: RFR: 8248188: Add HotSpotIntrinsicCandidate and API for Base64 decoding

2020-09-28 Thread CoreyAshford
On Fri, 25 Sep 2020 13:45:15 GMT, Roger Riggs wrote: >> This patch set encompasses the following commits: >> >> - Adds a new HotSpot intrinsic candidate to the java.lang.Base64 class - >> decodeBlock(), and provides a flexible API for >> the intrinsic. The API is similar to the existing

Re: RFR: 8248188: Add HotSpotIntrinsicCandidate and API for Base64 decoding

2020-09-28 Thread CoreyAshford
On Sat, 26 Sep 2020 15:33:29 GMT, Martin Doerr wrote: > AOT support needs an update: > # Internal Error (jdk/src/hotspot/share/aot/aotCodeHeap.cpp:557), pid=345656, > tid=364316 > # guarantee(adr != NULL) failed: AOT Symbol not found > _aot_stub_routines_base64_decodeBlock > > V

RFR: 8248188: Add HotSpotIntrinsicCandidate and API for Base64 decoding

2020-09-24 Thread CoreyAshford
This patch set encompasses the following commits: - Adds a new HotSpot intrinsic candidate to the java.lang.Base64 class - decodeBlock(), and provides a flexible API for the intrinsic. The API is similar to the existing encodeBlock intrinsic. - Adds the code in HotSpot to check and martial

Re: RFR: 8248188: Add HotSpotIntrinsicCandidate and API for Base64 decoding

2020-09-24 Thread CoreyAshford
On Tue, 22 Sep 2020 02:45:36 GMT, CoreyAshford wrote: > This patch set encompasses the following commits: > > - Adds a new HotSpot intrinsic candidate to the java.lang.Base64 class - > decodeBlock(), and provides a flexible API for > the intrinsic. The API is similar