RFR: JDK-8202016: Use obj+offset in interpreter array access

Andrew Dinn adinn at redhat.com
Mon May 14 13:25:55 UTC 2018


On 14/05/18 12:34, Roman Kennke wrote:
> Am 14.05.2018 um 13:19 schrieb Andrew Dinn:
   . . .
>> Well, that x86 code change looks ok/ish/ -- although the need to reload
>> from the stack is a tad disappointing.
>>
>> However, I am left wondering why this is not a problem on other
>> architectures? Indeed, looking at AArch64 I believe it is actually a
>> serious headache.
> 
> It is, and I have a solution here:
> cr.openjdk.java.net/~rkennke/interp_primitives_aarch64/webrev.0

Yuck, how repulsive :]

> I will propose this for upstream soon.

Ok, so ack the original x86 change.

> For AArch64 it will basically reshuffle address calculation from
> currently (base + index) + disp (which we can't resolve) to base +
> (index + disp) which we can.
> 
> The alternative would be to explicitely drag the base_obj through all
> the BarrierSetAssembler calls. So far I could live without it (x86 and
> aarch64).
Yes, even more repulsive, I guess.

regards,


Andrew Dinn
-----------
Senior Principal Software Engineer
Red Hat UK Ltd
Registered in England and Wales under Company Registration No. 03798903
Directors: Michael Cunningham, Michael ("Mike") O'Neill, Eric Shander


More information about the hotspot-dev mailing list