RFR: 143072: [JVMCI] Port JVMCI to AArch64

Gilles Duboscq gilles.m.duboscq at oracle.com
Mon Nov 16 22:37:03 UTC 2015

Thank you for doing this Andrew.

I only had a quick look so far.

Some remarks regarding the registers in AArch64.java:
I think they should have proper ids: the first argument ('number') should be unique and >0 for valid registers; the second argument should be something useful for encoding the register when emitting code.
Regarding rheapbase, rthread, I think it would be better to have them listed as the other general purpose register (rXX) and only add some aliases (Register rheapbase = rXX;).
I think we could do the same for fp and sp if they are really general purpose registers that are only defined in fp and sp in the ABI. I'm not sure about LR, is it only special in the ABI or does it also have special semantics for the hardware?

In AArch64HotSpotRegisterConfig.initAllocatable, i think the result should not include rthread. Is it ok to allocate fp and sp as general purpose registers in compiled code? rheapbase should only be included if the reserveForHeapBase argument is false.


On 16/11/15 18:57, Andrew Haley wrote:
> http://cr.openjdk.java.net/~aph/8143072-1/
> It passes all of the jtreg tests.
> Thanks,
> Andrew.

More information about the hotspot-compiler-dev mailing list