[aarch64-port-dev ] RFR: suppress implicit null check when offsets too large for immediate

Edward Nevill edward.nevill at linaro.org
Fri Mar 21 14:12:25 UTC 2014


On Thu, 2014-03-20 at 16:25 +0000, Andrew Haley wrote:
> Hi,
> 
> On 03/19/2014 05:41 PM, Edward Nevill wrote:
> -operand indIndexScaledOffsetI(iRegP reg, iRegL lreg, immIScale scale, immIAddSub off)
> +operand indIndexScaledOffsetI(iRegP reg, iRegL lreg, immIScale scale, immIU12 off)
> 
> Here we see that an immIAddSub is being used.  This is wrong: it
> allows more ranges than a scaled offset instruction, which only
> accepts an unsigned 12-bit scaled offset.  I've been through
> aarch64.ad and fixed all of them, I hope.

OK. I have run server/fastdebug on hotspot and langtools and have run it on the previously failing test in jdk which now passes. 

I have also run specjbb2013 which was showing problems with large negative offsets.

There is no replication of the problem so I think your patch is good.

Please backout my changeset 6675:939480aaf1b2 and apply your patch.

changeset:   6675:939480aaf1b2
user:        Edward Nevill edward.nevill at linaro.org
date:        Tue Mar 11 15:44:21 2014 +0000
files:       src/cpu/aarch64/vm/aarch64.ad
description:
Fix problem with field offsets overflowing

Thanks for sorting this,
Ed.




More information about the aarch64-port-dev mailing list