RFR: 8248188: Add IntrinsicCandidate and API for Base64 decoding [v4]
CoreyAshford
github.com+51754783+coreyashford at openjdk.java.net
Mon Oct 12 19:15:16 UTC 2020
On Mon, 12 Oct 2020 12:55:02 GMT, Martin Doerr <mdoerr at openjdk.org> wrote:
>> CoreyAshford has updated the pull request incrementally with two additional commits since the last revision:
>>
>> - TestBase64.java: fix comment to correctly reflect actual intrinsic names.
>>
>> The intrinsic names that are visible with -XX:+PrintCompilation are encode
>> and decode, rather than encodeBlock and decodeBlock.
>> - stubGenerator_ppc.cpp: fix regression caused by change to using loop counter
>>
>> My original fix didn't account for the case where sl < block_size. In the
>> event sl < block_size, the shifted sl will become zero, so it should
>> jump to the code that computes how much data was processed - 0 - and return.
>
> src/hotspot/cpu/ppc/stubGenerator_ppc.cpp line 3745:
>
>> 3743: __ clrldi(isURL, isURL, 32);
>> 3744:
>> 3745: // Load constant vec registers that need to be loaded from memory
>
> With larger unroll factor we run through this code more often without making any progress, because only the Java part
> does all the work for the remaining bytes. Would be nice to move unnecessary parts for that between mtctr and align.
You're right that there's quite a lot of set up before the size check is performed. I will fix, this and run
regression the regression test.
-------------
PR: https://git.openjdk.java.net/jdk/pull/293
More information about the core-libs-dev
mailing list