[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