RFR: 8252848: Optimize small primitive arrayCopy operations through partial inlining using AVX-512 masked instructions [v3]
Jatin Bhateja
jbhateja at openjdk.java.net
Fri Oct 16 17:24:13 UTC 2020
On Thu, 15 Oct 2020 14:54:26 GMT, Nils Eliasson <neliasso at openjdk.org> wrote:
>> Jatin Bhateja has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Replacing explicit type checks with existing type checking routines
>
> src/hotspot/share/opto/memnode.hpp line 1188:
>
>> 1186: TrailingLoadStore,
>> 1187: LeadingLoadStore,
>> 1188: AfterPartialArrayCopy
>
> Change to keep consistent with the other names:
> AfterPartialArrayCopy -> TrailingPartialArrayCopy
>
> Why is a special kind needed for partial array copy?
Idea here is to prevent bypassing arraycopy operation post expansion during memory chain discovery [and] optimization.
Currently a memory barrier is inserted after array copy macro expansion into a stub call, this pattern is being checked
during memory chain discovery, with partial in-lining we create additional control structure for selection b/w slow
path (stub call) and fast path (partially in-lined code). To prevent increasing the complexity of patter matching
introduced a flag in MemBarrier node which is set only if partial in-lining takes place.
-------------
PR: https://git.openjdk.java.net/jdk/pull/302
More information about the hotspot-compiler-dev
mailing list