inconsistent inlining behavior with CompileOnly
Tobias Hartmann
tobias.hartmann at oracle.com
Wed Jun 29 12:44:36 UTC 2016
Hi Roland,
the only issue with CompileOnly I'm aware of is:
https://bugs.openjdk.java.net/browse/JDK-8071652
Maybe Nils knows more but he's currently on vacation.
Have you checked this with -XX:CompileCommand=compileonly ?
Best regards,
Tobias
On 29.06.2016 14:19, Roland Westrelin wrote:
>
> With the testcase below, executed with latest hs-comp with:
>
> java -XX:CompileOnly=TestCompileCommand::m1 -XX:CompileOnly=TestCompileCommand::m2 -XX:CompileCommand=quiet -XX:-BackgroundCompilation -XX:+PrintCompilation -XX:+PrintInlining -XX:-TieredCompilation TestCompileCommand
>
> I get the following output:
>
> 170 1 b TestCompileCommand::m1 (4 bytes)
> @ 0 TestCompileCommand::m1_notinlined (1 bytes) not compilable (disabled)
> 170 2 b TestCompileCommand::m2 (8 bytes)
> @ 4 TestCompileCommand::m2_notinlined (1 bytes) inline (hot)
>
> Either both m1_notinlined & m2_notinlined should be inlined or neither
> should be. Is this a known issue?
>
> Roland.
>
>
> public class TestCompileCommand {
>
> static void m1_notinlined() {
> }
>
> static void m1() {
> m1_notinlined();
> }
>
> static void m2_notinlined() {
> }
>
> static void m2(boolean flag) {
> if (flag) {
> m2_notinlined();
> }
> }
>
> static public void main(String[] args) {
> for (int i = 0; i < 20000; i++) {
> m1_notinlined();
> m1_notinlined();
> m1();
> m2((i%2) == 0);
> }
> }
> }
>
More information about the hotspot-compiler-dev
mailing list