RFR(L) Valhalla support for AArch64 v.05

Dmitry Samersoff dms at samersoff.net
Thu Jul 4 18:01:27 UTC 2019


After last rebase the test TestFlatArrayThreshold start failing:

java.lang.RuntimeException: NullPointerException expected
        at TestFlatArrayThreshold.main(TestFlatArrayThreshold.java:128)

i.e. when we pass null to:

 public static MyValue1? test2(MyValue1?[] va, MyValue1? vt) {
        va[0] = vt;
        return va[1];

It fails if ValueKlass::flatten_array() returns false,
but passes if it returns true. It also passes wit -Xint

Do you know where I should look for the problem? I didn't find any
obvious platfrom-specific changes.


On 27.06.2019 19:09, Ioi Lam wrote:
> Hi Dmitry,
> During the port, have you found anything that should be refactored and
> put into shared code?
> One thing that I am thinking of doing is to refactor the code in
> macroAssembler_x86.cpp that deals with ValueTypePassFieldsAsArgs.
> Hopefully that will make the port to other architectures easier.
> Thanks
> - Ioi
> On 6/27/19 12:43 AM, Dmitry Samersoff 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