[aarch64-port-dev ] git: openjdk/aarch64-port: master: 8248188: Add IntrinsicCandidate and API for Base64 decoding

Martin Doerr mdoerr at openjdk.java.net
Wed Nov 11 21:35:01 UTC 2020


Changeset: ccb48b72
Author:    Corey Ashford <cjashfor at linux.vnet.ibm.com>
Committer: Martin Doerr <mdoerr at openjdk.org>
Date:      2020-11-11 21:31:07 +0000
URL:       https://github.com/openjdk/aarch64-port/commit/ccb48b72

8248188: Add IntrinsicCandidate and API for Base64 decoding

8248188: Add IntrinsicCandidate and API for Base64 decoding, add Power64LE intrinsic implementation.

This patch set encompasses the following commits:

Adds a new 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.

Reviewed-by: rriggs, mdoerr, kvn

! src/hotspot/cpu/ppc/assembler_ppc.hpp
! src/hotspot/cpu/ppc/assembler_ppc.inline.hpp
! src/hotspot/cpu/ppc/stubGenerator_ppc.cpp
! src/hotspot/cpu/ppc/vm_version_ppc.cpp
! src/hotspot/share/classfile/vmIntrinsics.cpp
! src/hotspot/share/classfile/vmIntrinsics.hpp
! src/hotspot/share/gc/shenandoah/c2/shenandoahSupport.cpp
! src/hotspot/share/jvmci/vmStructs_jvmci.cpp
! src/hotspot/share/opto/c2compiler.cpp
! src/hotspot/share/opto/escape.cpp
! src/hotspot/share/opto/library_call.cpp
! src/hotspot/share/opto/library_call.hpp
! src/hotspot/share/opto/runtime.cpp
! src/hotspot/share/opto/runtime.hpp
! src/hotspot/share/runtime/stubRoutines.cpp
! src/hotspot/share/runtime/stubRoutines.hpp
! src/hotspot/share/runtime/vmStructs.cpp
! src/java.base/share/classes/java/util/Base64.java
! src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.test/src/org/graalvm/compiler/hotspot/test/CheckGraalIntrinsics.java
! test/hotspot/jtreg/compiler/intrinsics/base64/TestBase64.java
+ test/hotspot/jtreg/compiler/intrinsics/base64/longLineBaseEncode.txt
+ test/hotspot/jtreg/compiler/intrinsics/base64/longLineHEX.txt
+ test/hotspot/jtreg/compiler/intrinsics/base64/longLineMimeEncode.txt
+ test/hotspot/jtreg/compiler/intrinsics/base64/longLineUrlEncode.txt
+ test/micro/org/openjdk/bench/java/util/Base64VarLenDecode.java



More information about the aarch64-port-dev mailing list