RFR(L) Valhalla support for AArch64 v.05

Ioi Lam IOI.LAM at ORACLE.COM
Thu Jun 27 19:00:04 UTC 2019


Dmitry,

I’ll take a stab at refactoring the packing/unpacking code and will send out an RFR so you can check if it’s useful for you.

I agree that a tag that marks the CRs that have platform specific code would be useful. Many of my changes have both a shared part and an x86 part, and it may not be easy to split them into separate changesets.

Another way maybe to search the changes that have cpu/ in the list of files changed.

> On Jun 27, 2019, at 9:34 AM, Dmitry Samersoff <dms at samersoff.net> wrote:
> 
> Ioi,
> 
> I agree with you about value type pack/unpack logic.
> 
> I'm not sure that it's possible to put it to shared code completely, but
> at least we can consider moving the entire pack/unpack logic into a
> separate function and re-use it rather than duplicate code.
> 
> 
> Anther (not-technical) thing, that simplify porting is mark CR, which
> touches platform-specific code, with some specific label.
> 
> -Dmitry
> 
> 
> Another (process) thing that can simplify porting is the CR tag, which
> concerns the platform-specific code, a specific label.
> 
>> On 27.06.19 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