RFR: 8073108: GHASH Intrinsics
vladimir.kozlov at oracle.com
Tue Feb 17 21:14:49 UTC 2015
Florian's concern is valid.
"Range check elimination" means that C2 moves checks from a loop. Checks
are still present. Since 'state' array is not final we can't eliminate
range check. An other thing is an additional indirect load to access
I would suggest to keep original code for 'subkey' and 'state' which use
separate values instead of arrays.
On 2/17/15 1:00 PM, Anthony Scarpino wrote:
> On 02/17/2015 12:05 PM, Florian Weimer wrote:
>> On 02/17/2015 08:59 PM, Anthony Scarpino wrote:
>>> On 02/17/2015 12:57 AM, Florian Weimer wrote:
>>>> On 02/16/2015 10:11 PM, Anthony Scarpino wrote:
>>>> I think the “state” field in GHASH should be final. Is C2 able to
>>>> eliminate the array bounds checks? (Although it's not in the inner
>>>> and thus probably not relevant for performance.)
>>> I'm not sure want you asking about in regard to the bounds checking? Are
>>> you asking about checking the bounds of "state"?
>> state and state—I wonder if those expressions need array bounds
>> checks when compiled.
> The glossary says C2 eliminates array range checking.
More information about the hotspot-dev