RFR: 8252848: Optimize small primitive arrayCopy operations through partial inlining using AVX-512 masked instructions [v9]
Ningsheng Jian
njian at openjdk.java.net
Thu Oct 29 08:05:43 UTC 2020
On Fri, 23 Oct 2020 12:00:46 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:
> As currently there is no support for mask registers in RA, for X86 long ideal type is sufficient for a mask producing node (def operand is a mask register) ; But for complete support returning Op_RegVMask as an ideal_reg() type for masked Ideal node should do the trick without creating an explicit new ideal Type for mask generating nodes. Spill sizes and number of slots may be different for X86 and ARM (SVE).
So, do you have a plan to support Op_RegVMask? In SVE, we will use this kind of node for mask/predicate type.
> Shallow copy during Node::clone should be sufficient here since encapsulated element type will be preserved.
Checking the code in Node::clone() again, I think the object copy relies on size_of(), so you need to override that to get the correct object size for copying.
-------------
PR: https://git.openjdk.java.net/jdk/pull/302
More information about the hotspot-compiler-dev
mailing list