RFR: 8262355: Support for AVX-512 opmask register allocation. [v4]

Ningsheng Jian njian at openjdk.java.net
Fri Mar 12 08:21:22 UTC 2021


On Thu, 11 Mar 2021 11:31:30 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:

>> Hi Vladimir, Ningsheng,
>> 
>> In the recent version of the patch I have demonstrated the special handling for opmask registers during de-optimization.
>> This code may not be relevant for base version of patch though, since only mask generating node defining an opmask register
>> currently is VectorMaskGenNode. 
>> 
>> In PhaseVector::scalarize_vbox_node we stitch the vector payload to SafePoint node by creating
>> a SafepointScalarObjectNode, passing the vector payload of masked class though a VectorStoreMaskNode before creating a 
>> SafePointScalarObjectNode will make value re-materialization process during de-optimization agnostic to existence
>> of predicate vectors. Wanted to know your thoughts on it?
>> 
>> This may further help in removing the logic to add mask vectors to callee saved list of RegisterMap 
>> (accessed during de-opt for object reallocation) since payload will always be present in a byte vector. 
>> It may come at an extra cost though, since register pressure over vectors may increase.
>> 
>> Do you suggest removing re-construction logic and addition of opmask vectors to callee save list from base patch?
>
>> Do you suggest removing re-construction logic and addition of opmask vectors to callee save list from base patch?
> 
> Yes, please. That was my first thought when I saw the latest patch. 
> Let's review/discuss it separately once the base patch lands in the repo.

I agree to make this patch simpler and have separate patches for further work.

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

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


More information about the hotspot-compiler-dev mailing list