RFR: 8248188: Add IntrinsicCandidate and API for Base64 decoding [v5]
Vladimir Kozlov
kvn at openjdk.java.net
Wed Oct 21 01:28:16 UTC 2020
On Mon, 12 Oct 2020 21:41:37 GMT, CoreyAshford <github.com+51754783+CoreyAshford at openjdk.org> 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 encodeBlock intrinsic.
>> - Adds the code in HotSpot to check and martial the new intrinsic's arguments to the arch-specific intrinsic
>> implementation
>> - Adds a Power64LE-specific implementation of the decodeBlock intrinsic.
>> - Adds a JMH microbenchmark for both Base64 encoding and encoding.
>> - Enhances the JTReg hotspot 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:
>
> Per Martin Doerr's v4 review: fix regression, and speed up return time for buffers that are too small
>
> - Check for case where the result of subtacting 12 off of the source
> length produces a negative number. To do this efficiently, I added the
> instruction definition for mcrxrx, which is implemented on Power9+.
>
> - Rearrange the code so that minimal initialization is performed before
> checking the size, so that the intrinsic can return quickly in the event
> that the buffer is too small to process.
Please, update
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CheckGraalIntrinsics.java
-------------
Changes requested by kvn (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/293
More information about the core-libs-dev
mailing list