RFR(S): 8144091: CompilerControl: directive file doesn't override inlining rules

Nils Eliasson nils.eliasson at oracle.com
Wed Dec 9 13:32:05 UTC 2015


Hi,

Please review this small change.

During testing it was discovered than directives didn't override compile 
commands correctly.

This change corrects two things:
1) A typo in matches_inline, where the inline_action wasn't used as it 
should.
2) Making sure any inline directive overides any compilecommand, even 
though non matches. This is required because of the different way 
inlines are matched in C1 and C2.

The compiled commands are unordered and have gotten different priority:
"-XX:CompileCommmand=inline,*.* -XX:CompileCommmand=dontinline,*.*"
Would inline everything in C2 but nothing in C1.

In compiler directives the inline rules are ordered (they are part of 
the same list). The first rule that matches applies.
inline:"+*.*,-*.*" always matches the first and the action (+) is force 
inline.

Testing:
Running all inline tests, covering both commands, directives and 
overrides between them.

Webrev: http://cr.openjdk.java.net/~neliasso/8144091/webrev.02/
Bug: https://bugs.openjdk.java.net/browse/JDK-8144091

Regards,
Nils Eliasson


More information about the hotspot-compiler-dev mailing list