-
Bug
-
Resolution: Fixed
-
P3
-
9
-
b103
Directive file used together with CompileCommand=inline or don't inline doesn't override inlining rules.
For example, running VM with -XX:CompileCommand=inline,*::*(I[Ljava/lang/String;Ljava/lang/Integer;[B[[D)V -XX:Com
pilerDirectivesFile=directives.json
where directives.json is:
[{
match: "*::*(I[Ljava/lang/String;Ljava/lang/Integer;[B[[D)V",
c1: {
Enable: true
},
c2: {
Enable: true
}
}, {
match: "*.*",
c1: {
Enable: true
},
c2: {
inline: "-*::*(I[Ljava/lang/String;Ljava/lang/Integer;[B[[D)V"
}
}]
Method pool/sub/Klass.method(I[Ljava/lang/String;Ljava/lang/Integer;[B[[D)V would be made compilable with these directives, but should be not inlineable in C2.
But C2 inlines this method with "force inline by CompileCommand" message
For example, running VM with -XX:CompileCommand=inline,*::*(I[Ljava/lang/String;Ljava/lang/Integer;[B[[D)V -XX:Com
pilerDirectivesFile=directives.json
where directives.json is:
[{
match: "*::*(I[Ljava/lang/String;Ljava/lang/Integer;[B[[D)V",
c1: {
Enable: true
},
c2: {
Enable: true
}
}, {
match: "*.*",
c1: {
Enable: true
},
c2: {
inline: "-*::*(I[Ljava/lang/String;Ljava/lang/Integer;[B[[D)V"
}
}]
Method pool/sub/Klass.method(I[Ljava/lang/String;Ljava/lang/Integer;[B[[D)V would be made compilable with these directives, but should be not inlineable in C2.
But C2 inlines this method with "force inline by CompileCommand" message
- blocks
-
JDK-8144086 Make CompileCommands affect C1 and C2 inlining similarly
-
- Open
-