[aarch64-port-dev ] -XX:InlineSmallCode=1500

Andrew Haley aph at redhat.com
Mon Jul 24 13:06:46 UTC 2017


Doug Lea sent me an interesting benchmark that was running much faster
on the Oracle ARM64 JDK than on the AArch64 port.  To cut a fairly
long story short, it turns out that it was because of inlining: the
aarch64-port's threshold for inlining a method is 1000 bytes, arm64's
is 1500 bytes.  And this can make a very substantial difference in
some cases.

I've been pondering whether we should change ours to match.  On the
one hand, we'd get better performance sometimes, but it would generate
significantly more code in some cases, with all of the consequent
expansion of code cache size, etc.  On the other hand, maybe the
Oracle's 1500 bytes is based on something real.  But I'm not seeing a
large increase in compiled code size for aarch64 versus x86, certainly
much less than 50%, so I'm tempted to leave InlineSmallCode where it is.

Answers on a postcard...

-- 
Andrew Haley
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671


More information about the aarch64-port-dev mailing list