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

Martin Doerr mdoerr at openjdk.java.net
Thu Oct 22 18:13:23 UTC 2020


On Thu, 22 Oct 2020 14:01:05 GMT, Paul Murphy <github.com+12972156+pmur at openjdk.org> wrote:

>> CoreyAshford has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   TestBase64.java: remove jdk.test.lib.Utils from @build which was causing Tier3 failures.
>
> src/hotspot/cpu/ppc/stubGenerator_ppc.cpp line 3820:
> 
>> 3818:         __ vcmpequb_(eq_special_case_char, input, vec_special_case_char);
>> 3819:         //
>> 3820:         // There's a (63/64)^16 = 77.7% chance that there are no special
> 
> I think that assumes uniformly randomized data, is that a good assumption?   Is it measurably faster to skip around the xxsel instead of doing it unconditionally?

Thanks for this question. I also stumbled over it when reviewing. I guess a branch which gets mispredicted in ~22% of the cases leads to a big performance loss. (In addition, the branch target is not aligned.)

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

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


More information about the core-libs-dev mailing list