RFR 8226921 [lworld] Refactor argument shuffling code for ValueTypePassFieldsAsArgs
Ioi Lam
ioi.lam at oracle.com
Mon Jul 8 04:00:38 UTC 2019
Hi Dmitry,
Did you get a chance to use the code? If you don't see any big issues, I
am thinking of pushing it to avoid code rot. We can do further
refactoring if necessary when you implement the Aarch64 port.
Thanks
- Ioi
On 6/28/19 12:31 AM, Dmitry Samersoff wrote:
> Hi Ioi,
>
> Flicked through your patch - Very Cool!
>
> I'll apply it and check what is happening on aarch64 early next week.
>
> -Dmitry
>
> On 28.06.19 08:16, Ioi Lam wrote:
>> https://bugs.openjdk.java.net/browse/JDK-8226921
>> http://cr.openjdk.java.net/~iklam/valhalla/8226921-refactor-ValueTypePassFieldsAsArgs-args-shuffling.v01/
>>
>>
>> Hi Dmitry,
>>
>> Could you try this patch and see if it works for the aarch64 port?
>>
>> To make it compile, you have to add these declaration into
>> macroAssembler_aarch64.hpp:
>>
>> bool move_helper(VMReg from, VMReg to, BasicType bt, RegState
>> reg_state[], int ret_off, int extra_stack_offset);
>> bool unpack_value_helper(const GrowableArray<SigEntry>* sig, int&
>> sig_index, VMReg from, VMRegPair* regs_to, int& to_index,
>> RegState reg_state[], int ret_off, int
>> extra_stack_offset);
>> bool pack_value_helper(const GrowableArray<SigEntry>* sig, int&
>> sig_index, int vtarg_index,
>> VMReg to, VMRegPair* regs_from, int
>> regs_from_count, int& from_index, RegState reg_state[],
>> int ret_off, int extra_stack_offset);
>> int shuffle_value_args(bool is_packing, bool receiver_only, int
>> extra_stack_offset,
>> BasicType* sig_bt, const
>> GrowableArray<SigEntry>* sig_cc,
>> int args_passed, int args_on_stack, VMRegPair*
>> regs,
>> int args_passed_to, int args_on_stack_to,
>> VMRegPair* regs_to);
>> VMReg spill_reg_for(VMReg reg);
>>
>> I think I have removed all x64-ism from macroAssembler_common.cpp, but
>> I have no way of verifying that :-(
>>
>> I ran all the Valhalla tests on my linux/x64 boxes and saw no regression.
>>
>> Thanks
>> - Ioi
>>
More information about the valhalla-dev
mailing list