RFR: 8248188: Add HotSpotIntrinsicCandidate and API for Base64 decoding

CoreyAshford github.com+51754783+CoreyAshford at openjdk.java.net
Thu Sep 24 22:52:34 UTC 2020


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.

-------------

Commit messages:
 - Expand the Base64 intrinsic regression test to cover decodeBlock
 - Add JMH benchmark for Base64 variable length buffer decoding
 - Add Power9+ intrinsic implementation for Base64 decoding
 - Add HotSpot code to implement Base64 decodeBlock API
 - Add HotSpotIntrinsicCandidate and API for Base64 decoding

Changes: https://git.openjdk.java.net/jdk/pull/293/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=293&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8248188
  Stats: 1925 lines in 24 files changed: 1899 ins; 4 del; 22 mod
  Patch: https://git.openjdk.java.net/jdk/pull/293.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/293/head:pull/293

PR: https://git.openjdk.java.net/jdk/pull/293


More information about the shenandoah-dev mailing list