[aarch64-port-dev ] aarch64: Fix a bug in TestOptionsWithRanges of hotspot

Andrew Haley aph at redhat.com
Tue Jun 28 09:52:01 UTC 2016


On 28/06/16 09:40, Yang Zhang wrote:
> In file src/cpu/aarch64/vm/stubGenerator_aarch64.cpp:2350,
> BlockZeroingLowLimit is used as follows:
> __ cmp(cnt_words, BlockZeroingLowLimit >> 3);
> 
> On aarch64 platform, the immediate in cmp instruction has 12
> significant bits which could be 0xXXX or 0xXXX000. The immediate is
> calculated by BlockZeroingLowLimit >> 3. So BlockZeroingLowLimit has
> 15 significant bits. It's low limit, and a vary large value isn't
> meaningful. So the range of BlockZeroingLowLimit should be [1, 2^15 -
> 1].

This is much too arbitrary for me.  I can certainly imagine perfectly
reasonable cases where we don't want to use block zeroing unless we
have a huge block of memory.  Please use
operand_valid_for_add_sub_immediate() and an appropriate MOV
instruction.

Thanks,

Andrew.


More information about the aarch64-port-dev mailing list