summaryrefslogtreecommitdiff
path: root/compiler/driver/compiler_driver.cc
diff options
context:
space:
mode:
author Andreas Gampe <agampe@google.com> 2015-08-25 09:22:37 -0700
committer Andreas Gampe <agampe@google.com> 2015-08-27 10:53:12 -0700
commita727e372d8f6929cd30b983f6969c7a50fc83bb6 (patch)
treef71b33bf46053e0ccbd191ac74a850e87145eb98 /compiler/driver/compiler_driver.cc
parent706ea6a0294ef8bc3def050142c548c082fa8e30 (diff)
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
Diffstat (limited to 'compiler/driver/compiler_driver.cc')
-rw-r--r--compiler/driver/compiler_driver.cc2
1 files changed, 1 insertions, 1 deletions
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) {