RFR(L) Valhalla support for AArch64 v.05

Dmitry Samersoff dms at samersoff.net
Thu Jun 27 10:56:42 UTC 2019

Hi Stuart,

Thank you for stepping in.

Please see below.

On 27.06.19 12:20, Stuart Monteith wrote:
> Hi Dmitry,
>     I've just had a quick glance over the code, I'm not familiar with valhalla.
>   test/hotspot/jtreg/compiler/valhalla/valuetypes/TestArrays.java, et. al.
>      - * @requires os.simpleArch == "x64"
> By removing the restriction on x64 only, are you not opening up the
> tests to all platforms? Should it just be for x64 and aarch64 until
> the other platforms are added?

Agree. Will fix it.

>   src/hotspot/cpu/aarch64/c1_LIRAssembler_aarch64.cpp
>       // DMS CHECK: the code is significantly differ from x86
>   src/hotspot/cpu/aarch64/c1_MacroAssembler_aarch64.cpp
>       // DMS CHECK: is it nop?
>   src/hotspot/cpu/aarch64/c1_Runtime1_aarch64.cpp
>      // DMS CHECK: This code should be fixed in JDK workspace, because
> it fails...
> Did you mean to leave in your "DMS CHECK" comments here (and elsewhere)?

I left DMS CHECK comments temporary to highlight open points to
reviewers. I'll remove it to the next review round.

>   src/hotspot/cpu/aarch64/gc/shared/barrierSetAssembler_aarch64.cpp
>     // DMS CHECK: 8210498: nmethod entry barriers is not implemented
> I'm currently looking at concurrent class unloading for ZGC - I will
> also need nmethod entry barriers. I'll let you know how I'm getting on
> with that.

Thank you! It clearly should be done outside of scope of Valhalla changes.


> On Thu, 27 Jun 2019 at 08:53, Dmitry Samersoff <dms at samersoff.net> wrote:
>> Hello Everybody,
>> Please review v.05 of adding AArch64 support to lworld branch
>> http://cr.openjdk.java.net/~dsamersoff/valhalla_lworld_aarch64/webrev.05/
>> What was done:
>>   Implemented Valhalla support for aarch64.
>>   Support for ValueTypePassFieldsAsArgs and ValueTypeReturnedAsFields
>>   is not completed and is not included into this webrev
>>   to reduce review and rebasing efforts.
>> Testing:
>>    All tests in runtime/valhalla/valuetypes and in
>> compiler/valhalla/valuetypes/ are passed
>>    compiler/valhalla/valuetypes/TestMethodHandles.java
>>    compiler/valhalla/valuetypes/TestBasicFunctionality.java
>>    are passed after manually tweaking of output patterns, I have not
>> found a way to support both x86 and aarch64, so these tests remain
>> unchanged and run on x64 only.
>> -Dmitry

More information about the valhalla-dev mailing list