8071652: -XX:CompileOnly does not behave as documented

Reviewed-by: kvn
This commit is contained in:
Dmitrij Pochepko 2016-07-20 19:35:08 +03:00
parent 8ad8a1e35e
commit 48476abaa6
5 changed files with 20 additions and 32 deletions

View file

@ -819,7 +819,6 @@ void CompilerOracle::parse_compile_only(char * line) {
if (className == NULL) { if (className == NULL) {
className = newName; className = newName;
c_match = MethodMatcher::Prefix;
} else { } else {
methodName = newName; methodName = newName;
} }
@ -829,26 +828,15 @@ void CompilerOracle::parse_compile_only(char * line) {
if (className == NULL) { if (className == NULL) {
className = ""; className = "";
c_match = MethodMatcher::Any; c_match = MethodMatcher::Any;
} else {
// foo/bar.blah is an exact match on foo/bar, bar.blah is a suffix match on bar
if (strchr(className, '/') != NULL) {
c_match = MethodMatcher::Exact;
} else {
c_match = MethodMatcher::Suffix;
}
} }
} else { } else {
// got foo or foo/bar // got foo or foo/bar
if (className == NULL) { if (className == NULL) {
ShouldNotReachHere(); ShouldNotReachHere();
} else { } else {
// got foo or foo/bar // missing class name handled as "Any" class match
if (strchr(className, '/') != NULL) { if (className[0] == '\0') {
c_match = MethodMatcher::Prefix;
} else if (className[0] == '\0') {
c_match = MethodMatcher::Any; c_match = MethodMatcher::Any;
} else {
c_match = MethodMatcher::Substring;
} }
} }
} }

View file

@ -38,7 +38,7 @@
* -XX:Tier4InvocationThreshold=500 * -XX:Tier4InvocationThreshold=500
* -XX:+LogCompilation -XX:LogFile=positive_224.log * -XX:+LogCompilation -XX:LogFile=positive_224.log
* -XX:CompileOnly=sun/security/provider/DigestBase * -XX:CompileOnly=sun/security/provider/DigestBase
* -XX:CompileOnly=sun/security/provider/SHA * -XX:CompileOnly=sun/security/provider/SHA2
* -XX:+UseSHA256Intrinsics * -XX:+UseSHA256Intrinsics
* -Dalgorithm=SHA-224 * -Dalgorithm=SHA-224
* compiler.intrinsics.sha.sanity.TestSHA256Intrinsics * compiler.intrinsics.sha.sanity.TestSHA256Intrinsics
@ -47,7 +47,7 @@
* -XX:Tier4InvocationThreshold=500 * -XX:Tier4InvocationThreshold=500
* -XX:+LogCompilation -XX:LogFile=negative_224.log * -XX:+LogCompilation -XX:LogFile=negative_224.log
* -XX:CompileOnly=sun/security/provider/DigestBase * -XX:CompileOnly=sun/security/provider/DigestBase
* -XX:CompileOnly=sun/security/provider/SHA * -XX:CompileOnly=sun/security/provider/SHA2
* -XX:-UseSHA256Intrinsics * -XX:-UseSHA256Intrinsics
* -Dalgorithm=SHA-224 * -Dalgorithm=SHA-224
* compiler.intrinsics.sha.sanity.TestSHA256Intrinsics * compiler.intrinsics.sha.sanity.TestSHA256Intrinsics
@ -56,7 +56,7 @@
* -XX:Tier4InvocationThreshold=500 * -XX:Tier4InvocationThreshold=500
* -XX:+LogCompilation -XX:LogFile=positive_256.log * -XX:+LogCompilation -XX:LogFile=positive_256.log
* -XX:CompileOnly=sun/security/provider/DigestBase * -XX:CompileOnly=sun/security/provider/DigestBase
* -XX:CompileOnly=sun/security/provider/SHA * -XX:CompileOnly=sun/security/provider/SHA2
* -XX:+UseSHA256Intrinsics * -XX:+UseSHA256Intrinsics
* -Dalgorithm=SHA-256 * -Dalgorithm=SHA-256
* compiler.intrinsics.sha.sanity.TestSHA256Intrinsics * compiler.intrinsics.sha.sanity.TestSHA256Intrinsics
@ -65,7 +65,7 @@
* -XX:Tier4InvocationThreshold=500 * -XX:Tier4InvocationThreshold=500
* -XX:+LogCompilation -XX:LogFile=negative_256.log * -XX:+LogCompilation -XX:LogFile=negative_256.log
* -XX:CompileOnly=sun/security/provider/DigestBase * -XX:CompileOnly=sun/security/provider/DigestBase
* -XX:CompileOnly=sun/security/provider/SHA * -XX:CompileOnly=sun/security/provider/SHA2
* -XX:-UseSHA256Intrinsics * -XX:-UseSHA256Intrinsics
* -Dalgorithm=SHA-256 * -Dalgorithm=SHA-256
* compiler.intrinsics.sha.sanity.TestSHA256Intrinsics * compiler.intrinsics.sha.sanity.TestSHA256Intrinsics

View file

@ -38,7 +38,7 @@
* -XX:Tier4InvocationThreshold=500 * -XX:Tier4InvocationThreshold=500
* -XX:+LogCompilation -XX:LogFile=positive_224.log * -XX:+LogCompilation -XX:LogFile=positive_224.log
* -XX:CompileOnly=sun/security/provider/DigestBase * -XX:CompileOnly=sun/security/provider/DigestBase
* -XX:CompileOnly=sun/security/provider/SHA * -XX:CompileOnly=sun/security/provider/SHA2
* -XX:+UseSHA256Intrinsics -XX:-UseSHA1Intrinsics * -XX:+UseSHA256Intrinsics -XX:-UseSHA1Intrinsics
* -XX:-UseSHA512Intrinsics * -XX:-UseSHA512Intrinsics
* -Dalgorithm=SHA-224 * -Dalgorithm=SHA-224
@ -48,7 +48,7 @@
* -XX:Tier4InvocationThreshold=500 * -XX:Tier4InvocationThreshold=500
* -XX:+LogCompilation -XX:LogFile=positive_224_def.log * -XX:+LogCompilation -XX:LogFile=positive_224_def.log
* -XX:CompileOnly=sun/security/provider/DigestBase * -XX:CompileOnly=sun/security/provider/DigestBase
* -XX:CompileOnly=sun/security/provider/SHA * -XX:CompileOnly=sun/security/provider/SHA2
* -XX:+UseSHA256Intrinsics -Dalgorithm=SHA-224 * -XX:+UseSHA256Intrinsics -Dalgorithm=SHA-224
* compiler.intrinsics.sha.sanity.TestSHA256MultiBlockIntrinsics * compiler.intrinsics.sha.sanity.TestSHA256MultiBlockIntrinsics
* @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions
@ -56,7 +56,7 @@
* -XX:Tier4InvocationThreshold=500 * -XX:Tier4InvocationThreshold=500
* -XX:+LogCompilation -XX:LogFile=negative_224.log * -XX:+LogCompilation -XX:LogFile=negative_224.log
* -XX:CompileOnly=sun/security/provider/DigestBase * -XX:CompileOnly=sun/security/provider/DigestBase
* -XX:CompileOnly=sun/security/provider/SHA -XX:-UseSHA * -XX:CompileOnly=sun/security/provider/SHA2 -XX:-UseSHA
* -Dalgorithm=SHA-224 * -Dalgorithm=SHA-224
* compiler.intrinsics.sha.sanity.TestSHA256MultiBlockIntrinsics * compiler.intrinsics.sha.sanity.TestSHA256MultiBlockIntrinsics
* @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions
@ -64,7 +64,7 @@
* -XX:Tier4InvocationThreshold=500 * -XX:Tier4InvocationThreshold=500
* -XX:+LogCompilation -XX:LogFile=positive_256.log * -XX:+LogCompilation -XX:LogFile=positive_256.log
* -XX:CompileOnly=sun/security/provider/DigestBase * -XX:CompileOnly=sun/security/provider/DigestBase
* -XX:CompileOnly=sun/security/provider/SHA * -XX:CompileOnly=sun/security/provider/SHA2
* -XX:+UseSHA256Intrinsics -XX:-UseSHA1Intrinsics * -XX:+UseSHA256Intrinsics -XX:-UseSHA1Intrinsics
* -XX:-UseSHA512Intrinsics * -XX:-UseSHA512Intrinsics
* -Dalgorithm=SHA-256 * -Dalgorithm=SHA-256

View file

@ -38,7 +38,7 @@
* -XX:Tier4InvocationThreshold=500 * -XX:Tier4InvocationThreshold=500
* -XX:+LogCompilation -XX:LogFile=positive_384.log * -XX:+LogCompilation -XX:LogFile=positive_384.log
* -XX:CompileOnly=sun/security/provider/DigestBase * -XX:CompileOnly=sun/security/provider/DigestBase
* -XX:CompileOnly=sun/security/provider/SHA * -XX:CompileOnly=sun/security/provider/SHA2
* -XX:+UseSHA512Intrinsics * -XX:+UseSHA512Intrinsics
* -Dalgorithm=SHA-384 * -Dalgorithm=SHA-384
* compiler.intrinsics.sha.sanity.TestSHA512Intrinsics * compiler.intrinsics.sha.sanity.TestSHA512Intrinsics
@ -47,7 +47,7 @@
* -XX:Tier4InvocationThreshold=500 * -XX:Tier4InvocationThreshold=500
* -XX:+LogCompilation -XX:LogFile=negative_384.log * -XX:+LogCompilation -XX:LogFile=negative_384.log
* -XX:CompileOnly=sun/security/provider/DigestBase * -XX:CompileOnly=sun/security/provider/DigestBase
* -XX:CompileOnly=sun/security/provider/SHA * -XX:CompileOnly=sun/security/provider/SHA2
* -XX:-UseSHA512Intrinsics * -XX:-UseSHA512Intrinsics
* -Dalgorithm=SHA-384 * -Dalgorithm=SHA-384
* compiler.intrinsics.sha.sanity.TestSHA512Intrinsics * compiler.intrinsics.sha.sanity.TestSHA512Intrinsics
@ -56,7 +56,7 @@
* -XX:Tier4InvocationThreshold=500 * -XX:Tier4InvocationThreshold=500
* -XX:+LogCompilation -XX:LogFile=positive_512.log * -XX:+LogCompilation -XX:LogFile=positive_512.log
* -XX:CompileOnly=sun/security/provider/DigestBase * -XX:CompileOnly=sun/security/provider/DigestBase
* -XX:CompileOnly=sun/security/provider/SHA * -XX:CompileOnly=sun/security/provider/SHA2
* -XX:+UseSHA512Intrinsics * -XX:+UseSHA512Intrinsics
* -Dalgorithm=SHA-512 * -Dalgorithm=SHA-512
* compiler.intrinsics.sha.sanity.TestSHA512Intrinsics * compiler.intrinsics.sha.sanity.TestSHA512Intrinsics
@ -65,7 +65,7 @@
* -XX:Tier4InvocationThreshold=500 * -XX:Tier4InvocationThreshold=500
* -XX:+LogCompilation -XX:LogFile=negative_512.log * -XX:+LogCompilation -XX:LogFile=negative_512.log
* -XX:CompileOnly=sun/security/provider/DigestBase * -XX:CompileOnly=sun/security/provider/DigestBase
* -XX:CompileOnly=sun/security/provider/SHA * -XX:CompileOnly=sun/security/provider/SHA2
* -XX:-UseSHA512Intrinsics * -XX:-UseSHA512Intrinsics
* -Dalgorithm=SHA-512 * -Dalgorithm=SHA-512
* compiler.intrinsics.sha.sanity.TestSHA512Intrinsics * compiler.intrinsics.sha.sanity.TestSHA512Intrinsics

View file

@ -38,7 +38,7 @@
* -XX:Tier4InvocationThreshold=500 * -XX:Tier4InvocationThreshold=500
* -XX:+LogCompilation -XX:LogFile=positive_384.log * -XX:+LogCompilation -XX:LogFile=positive_384.log
* -XX:CompileOnly=sun/security/provider/DigestBase * -XX:CompileOnly=sun/security/provider/DigestBase
* -XX:CompileOnly=sun/security/provider/SHA * -XX:CompileOnly=sun/security/provider/SHA2
* -XX:+UseSHA512Intrinsics -XX:-UseSHA1Intrinsics * -XX:+UseSHA512Intrinsics -XX:-UseSHA1Intrinsics
* -XX:-UseSHA256Intrinsics * -XX:-UseSHA256Intrinsics
* -Dalgorithm=SHA-384 * -Dalgorithm=SHA-384
@ -48,7 +48,7 @@
* -XX:Tier4InvocationThreshold=500 * -XX:Tier4InvocationThreshold=500
* -XX:+LogCompilation -XX:LogFile=positive_384_def.log * -XX:+LogCompilation -XX:LogFile=positive_384_def.log
* -XX:CompileOnly=sun/security/provider/DigestBase * -XX:CompileOnly=sun/security/provider/DigestBase
* -XX:CompileOnly=sun/security/provider/SHA * -XX:CompileOnly=sun/security/provider/SHA2
* -XX:+UseSHA512Intrinsics -Dalgorithm=SHA-384 * -XX:+UseSHA512Intrinsics -Dalgorithm=SHA-384
* compiler.intrinsics.sha.sanity.TestSHA512MultiBlockIntrinsics * compiler.intrinsics.sha.sanity.TestSHA512MultiBlockIntrinsics
* @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions
@ -56,7 +56,7 @@
* -XX:Tier4InvocationThreshold=500 * -XX:Tier4InvocationThreshold=500
* -XX:+LogCompilation -XX:LogFile=negative_384.log * -XX:+LogCompilation -XX:LogFile=negative_384.log
* -XX:CompileOnly=sun/security/provider/DigestBase * -XX:CompileOnly=sun/security/provider/DigestBase
* -XX:CompileOnly=sun/security/provider/SHA -XX:-UseSHA * -XX:CompileOnly=sun/security/provider/SHA2 -XX:-UseSHA
* -Dalgorithm=SHA-384 * -Dalgorithm=SHA-384
* compiler.intrinsics.sha.sanity.TestSHA1Intrinsics * compiler.intrinsics.sha.sanity.TestSHA1Intrinsics
* @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions
@ -64,7 +64,7 @@
* -XX:Tier4InvocationThreshold=500 * -XX:Tier4InvocationThreshold=500
* -XX:+LogCompilation -XX:LogFile=positive_512.log * -XX:+LogCompilation -XX:LogFile=positive_512.log
* -XX:CompileOnly=sun/security/provider/DigestBase * -XX:CompileOnly=sun/security/provider/DigestBase
* -XX:CompileOnly=sun/security/provider/SHA * -XX:CompileOnly=sun/security/provider/SHA2
* -XX:+UseSHA512Intrinsics -XX:-UseSHA1Intrinsics * -XX:+UseSHA512Intrinsics -XX:-UseSHA1Intrinsics
* -XX:-UseSHA256Intrinsics * -XX:-UseSHA256Intrinsics
* -Dalgorithm=SHA-512 * -Dalgorithm=SHA-512
@ -74,7 +74,7 @@
* -XX:Tier4InvocationThreshold=500 * -XX:Tier4InvocationThreshold=500
* -XX:+LogCompilation -XX:LogFile=positive_512_def.log * -XX:+LogCompilation -XX:LogFile=positive_512_def.log
* -XX:CompileOnly=sun/security/provider/DigestBase * -XX:CompileOnly=sun/security/provider/DigestBase
* -XX:CompileOnly=sun/security/provider/SHA * -XX:CompileOnly=sun/security/provider/SHA2
* -XX:+UseSHA512Intrinsics -Dalgorithm=SHA-512 * -XX:+UseSHA512Intrinsics -Dalgorithm=SHA-512
* compiler.intrinsics.sha.sanity.TestSHA512MultiBlockIntrinsics * compiler.intrinsics.sha.sanity.TestSHA512MultiBlockIntrinsics
* @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions
@ -82,7 +82,7 @@
* -XX:Tier4InvocationThreshold=500 * -XX:Tier4InvocationThreshold=500
* -XX:+LogCompilation -XX:LogFile=negative_512.log * -XX:+LogCompilation -XX:LogFile=negative_512.log
* -XX:CompileOnly=sun/security/provider/DigestBase * -XX:CompileOnly=sun/security/provider/DigestBase
* -XX:CompileOnly=sun/security/provider/SHA -XX:-UseSHA * -XX:CompileOnly=sun/security/provider/SHA2 -XX:-UseSHA
* -Dalgorithm=SHA-512 * -Dalgorithm=SHA-512
* compiler.intrinsics.sha.sanity.TestSHA512MultiBlockIntrinsics * compiler.intrinsics.sha.sanity.TestSHA512MultiBlockIntrinsics
* @run main/othervm -DverificationStrategy=VERIFY_INTRINSIC_USAGE * @run main/othervm -DverificationStrategy=VERIFY_INTRINSIC_USAGE