Flat Array null check issue - Re: RFR(L) Valhalla support for AArch64 v.05

Dmitry Samersoff dms at samersoff.net
Wed Jul 10 10:16:19 UTC 2019


Roland,

> Masking is handled by platform independent code in C2. x86 used to
> take  care of the masking in the ad file but it no longer does.
> Why doesn't aarch64 follow the x86 implementation?

I updated aarch64 code to follow x86 implementation (I'll publish
updated webrev shortly) so the immediate problem of falling test is solved.

But I have more general question:

Masking and storage property check is implemented three times - in
interpreter, in C1 and in C2. Therefore, if we can re-use the code from
macroAssembler_xxx.cpp in C1 and C2 it will simplify further maintenance.

-Dmitry


On 10.07.19 12:26, Roland Westrelin wrote:
> 
> Hi Dmitry,
> 
>>> I will take a closer look at that issue. Do you reproduce it with:
>>>
>>> http://cr.openjdk.java.net/~dsamersoff/valhalla_lworld_aarch64/webrev.05/
>>
>> Thank you!
>>
>> Yes, you can reproduce it with this webrev.
>>
>> Also, I think you can reproduce the issue on x86 by adding
>>
>>  andl($dst$$Register, oopDesc::compressed_klass_mask());
>>
>> to instruct loadNKlass(rRegN dst, memory mem)
>> inside x86_64.ad
> 
> Masking is handled by platform independent code in C2. x86 used to take
> care of the masking in the ad file but it no longer does. Why doesn't
> aarch64 follow the x86 implementation?
> 
> Roland.
> 



More information about the valhalla-dev mailing list