RFR: 8266951: Partial in-lining for vectorized mismatch operation using AVX512 masked instructions [v4]

Jatin Bhateja jbhateja at openjdk.java.net
Wed May 26 15:07:15 UTC 2021


On Mon, 24 May 2021 09:26:27 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:

>> Jatin Bhateja has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   8266951: Removing the changes to existing benchmark since a separate benchmark has been added to partial in-lining.
>
> src/hotspot/share/opto/library_call.cpp line 5218:
> 
>> 5216:   Node* objb_adr = make_unsafe_address(objb, boffset);
>> 5217: 
>> 5218:   assert(scale->bottom_type()->isa_int() &&
> 
> Why `scale` has to be a constant? Should it be a runtime check instead (which fails intrinsification)?

All the existing calls to vectorizedMismatch routines from Arrays.mismatch and BufferMismatch.mismatch passes a static final scale argument.  Element type inferencing based on scale is deterministic. Added a runtime check as suggested.

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

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


More information about the hotspot-compiler-dev mailing list