From a727e372d8f6929cd30b983f6969c7a50fc83bb6 Mon Sep 17 00:00:00 2001 From: Andreas Gampe Date: Tue, 25 Aug 2015 09:22:37 -0700 Subject: ART: Balanced locking Change the verifier to check for balanced locking. When balanced locking can't be guaranteed, use a new failure kind to punt to the interpreter. Add smali tests, with JNI code to check the balanced-locking result. Bug: 23502994 Change-Id: Icd7db0be20ef2f69f0ac784de43dcba990035cd8 --- compiler/driver/compiler_driver.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'compiler/driver/compiler_driver.cc') diff --git a/compiler/driver/compiler_driver.cc b/compiler/driver/compiler_driver.cc index c006e62a16..89668f2e4e 100644 --- a/compiler/driver/compiler_driver.cc +++ b/compiler/driver/compiler_driver.cc @@ -601,7 +601,7 @@ static void CompileMethod(Thread* self, // Do not have failures that should punt to the interpreter. !verified_method->HasRuntimeThrow() && (verified_method->GetEncounteredVerificationFailures() & - verifier::VERIFY_ERROR_FORCE_INTERPRETER) == 0 && + (verifier::VERIFY_ERROR_FORCE_INTERPRETER | verifier::VERIFY_ERROR_LOCKING)) == 0 && // Is eligable for compilation by methods-to-compile filter. driver->IsMethodToCompile(method_ref); if (compile) { -- cgit v1.2.3-59-g8ed1b