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

CoreyAshford github.com+51754783+coreyashford at openjdk.java.net
Thu Oct 8 17:19:28 UTC 2020


On Thu, 8 Oct 2020 10:41:32 GMT, Martin Doerr <mdoerr at openjdk.org> wrote:

>> CoreyAshford has updated the pull request incrementally with seven additional commits since the last revision:
>> 
>>  - stubGenerator_ppc.cpp: Fix multiple issues as per Martin Doerr's v2 review
>>    
>>     * Remove extraneous comma from SAP copyright notice
>>     * Move align(32) to the head of the loop rather than the beginning of the unwound code
>>     * Simplified looping condition to use a loop counter instead of a final
>>       address.  This eliminated the need for the "end" variable, and
>>       essentially replaced it with CTR, which is computed using a simple
>>       bitwise shift of the size.
>>     * Re-ran benchmarks against loop_unrolls values: 1, 2, 4, 8, 16 to find
>>       optimal value, now 4.
>>     * Corrected a typo in the word "elements"
>>  - vm_version_ppc.cpp: per Martin Doerr's review of v2: fix copy/paste error
>>  - vmIntrinsics.cpp: Per Martin Doerr's v2 review: rearrange order of case statement to be consistent with others.
>>  - runtime.cpp: per Martin Doerr's review of v2, correct comment as per current semantics of decodeBlock()
>>    
>>      * The reference to "ofs" seems to be a copy/paste error.
>>      * -1 is no longer returned from decodeBlock() in the event of a
>>        non-base64 character being encountered; only a count of bytes written
>>        to dst.
>>  - TestBase64.java: Change comment as per Martin Doerr's v2 review
>>  - Base64.java: Make changes as per Roger Riggs and Martin Doerr's v2 Review
>>    
>>      * Make comment about the sl parameter more precise
>>      * Fix comparison to avoid possible integer overflow of sp
>>  - library_call.cpp: Fix rebase merge error
>
> test/hotspot/jtreg/compiler/intrinsics/base64/TestBase64.java line 90:
> 
>> 88:
>> 89:         // This should be enough to get both encodeBlock() and
>> 90:         // decodeBlock() compiled on the highest tier.
> 
> It's actually encode() and decode() which should get compiled. You should see them when testing
> with -XX:+PrintCompilation. And you should see usage of the intrinsics by -XX:+PrintInlining.

Ah, useful tips!  Thanks!

I will make this comment change.

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

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


More information about the core-libs-dev mailing list