mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 15:24:43 +02:00
8174961: [JVMCI] incorrect implementation of isCompilable
Reviewed-by: kvn
This commit is contained in:
parent
96846a4105
commit
eb8d5435c2
2 changed files with 7 additions and 12 deletions
|
@ -735,9 +735,7 @@ C2V_END
|
|||
|
||||
C2V_VMENTRY(jboolean, isCompilable,(JNIEnv *, jobject, jobject jvmci_method))
|
||||
methodHandle method = CompilerToVM::asMethod(jvmci_method);
|
||||
// Ignore the not_compilable flags in hosted mode since they are never set by
|
||||
// the JVMCI compiler.
|
||||
return UseJVMCICompiler || !method->is_not_compilable(CompLevel_full_optimization);
|
||||
return !method->is_not_compilable(CompLevel_full_optimization);
|
||||
C2V_END
|
||||
|
||||
C2V_VMENTRY(jboolean, hasNeverInlineDirective,(JNIEnv *, jobject, jobject jvmci_method))
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
* compiler.jvmci.compilerToVM.IsCompilableTest
|
||||
* @run main/othervm -Xbootclasspath/a:.
|
||||
* -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI
|
||||
* -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI
|
||||
* -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:-UseJVMCICompiler
|
||||
* compiler.jvmci.compilerToVM.IsCompilableTest
|
||||
*/
|
||||
|
||||
|
@ -69,21 +69,18 @@ public class IsCompilableTest {
|
|||
}
|
||||
|
||||
private static void runSanityTest(Executable aMethod) {
|
||||
boolean UseJVMCICompiler = (Boolean) WB.getVMFlag("UseJVMCICompiler");
|
||||
HotSpotResolvedJavaMethod method = CTVMUtilities
|
||||
.getResolvedMethod(aMethod);
|
||||
boolean isCompilable = CompilerToVMHelper.isCompilable(method);
|
||||
boolean expected = UseJVMCICompiler || WB.isMethodCompilable(aMethod);
|
||||
boolean expected = WB.isMethodCompilable(aMethod);
|
||||
Asserts.assertEQ(isCompilable, expected, "Unexpected initial " +
|
||||
"value of property 'compilable'");
|
||||
|
||||
if (!UseJVMCICompiler) {
|
||||
WB.makeMethodNotCompilable(aMethod);
|
||||
isCompilable = CompilerToVMHelper.isCompilable(method);
|
||||
Asserts.assertFalse(isCompilable, aMethod + "Unexpected value of " +
|
||||
"property 'isCompilable' after setting 'compilable' to false");
|
||||
}
|
||||
}
|
||||
|
||||
private static List<Executable> createTestCases() {
|
||||
List<Executable> testCases = new ArrayList<>();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue