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) {
className = newName;
c_match = MethodMatcher::Prefix;
} else {
methodName = newName;
}
@ -829,26 +828,15 @@ void CompilerOracle::parse_compile_only(char * line) {
if (className == NULL) {
className = "";
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 {
// got foo or foo/bar
if (className == NULL) {
ShouldNotReachHere();
} else {
// got foo or foo/bar
if (strchr(className, '/') != NULL) {
c_match = MethodMatcher::Prefix;
} else if (className[0] == '\0') {
// missing class name handled as "Any" class match
if (className[0] == '\0') {
c_match = MethodMatcher::Any;
} else {
c_match = MethodMatcher::Substring;
}
}
}