[aarch64-port-dev ] RFR: AArch64: -XX:-UseOnStackReplacement does not work together with -XX:+TieredCompilation.

Ningsheng Jian ningsheng.jian at linaro.org
Mon Jul 25 09:22:28 UTC 2016


Hi,

Hotspot patch [1] introduces a test case
hotspot/test/compiler/interpreter/DisableOSRTest.java which also
exposes the same issue on aarch64.

I.e. with -XX:-UseOnStackReplacement and -XX:+TieredCompilation
options, there are still OSR compilations found from
-XX:+PrintCompilation.

On x86, the increment_mask_and_jump just jumps to the next instruction
if backedge_counter_overflow is not generated. So there is no such
issue - but is it intended?

The following fix on AArch64 is to revert [2] to align with x86 code
and assign the correct branch target based on the
UseOnStackReplacement option.

http://people.linaro.org/~ningsheng.jian/disable-osr/webrev.00/

Tested with jtreg.

[1] http://hg.openjdk.java.net/jdk9/hs-comp/hotspot/rev/fd222df9f27c
[2] http://hg.openjdk.java.net/aarch64-port/jdk8/hotspot/rev/18e5cbbe8abf


More information about the aarch64-port-dev mailing list