summaryrefslogtreecommitdiff
path: root/compiler/driver/compiler_driver.cc
diff options
context:
space:
mode:
author Roland Levillain <rpl@google.com> 2016-04-07 14:58:32 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2016-04-07 14:58:32 +0000
commit950dd553041b324e9e343a60d94d45596b5c7926 (patch)
treef47efdd7ba8579c9defd3d265c80b06a2c6d2f22 /compiler/driver/compiler_driver.cc
parent35d6a426c699da05ee6f962cfbe426b7d638780a (diff)
parent0436ee6bd33a0b905cd2a7e333f7935da1bd5d86 (diff)
Merge "Revert "Change RequiresConstructorBarrier default to yes""
Diffstat (limited to 'compiler/driver/compiler_driver.cc')
-rw-r--r--compiler/driver/compiler_driver.cc22
1 files changed, 10 insertions, 12 deletions
diff --git a/compiler/driver/compiler_driver.cc b/compiler/driver/compiler_driver.cc
index 22e35ad634..be149af82a 100644
--- a/compiler/driver/compiler_driver.cc
+++ b/compiler/driver/compiler_driver.cc
@@ -357,7 +357,7 @@ CompilerDriver::CompilerDriver(
compiler_kind_(compiler_kind),
instruction_set_(instruction_set),
instruction_set_features_(instruction_set_features),
- no_barrier_constructor_classes_lock_("freezing constructor lock"),
+ freezing_constructor_lock_("freezing constructor lock"),
compiled_classes_lock_("compiled classes lock"),
compiled_methods_lock_("compiled method lock"),
compiled_methods_(MethodTable::key_compare()),
@@ -2110,8 +2110,8 @@ class ResolveClassFieldsAndMethodsVisitor : public CompilationVisitor {
DCHECK(!it.HasNext());
}
}
- if (!requires_constructor_barrier) {
- manager_->GetCompiler()->AddRequiresNoConstructorBarrier(self, &dex_file, class_def_index);
+ if (requires_constructor_barrier) {
+ manager_->GetCompiler()->AddRequiresConstructorBarrier(self, &dex_file, class_def_index);
}
}
@@ -2769,18 +2769,16 @@ size_t CompilerDriver::GetNonRelativeLinkerPatchCount() const {
return non_relative_linker_patch_count_;
}
-void CompilerDriver::AddRequiresNoConstructorBarrier(Thread* self,
- const DexFile* dex_file,
- uint16_t class_def_index) {
- WriterMutexLock mu(self, no_barrier_constructor_classes_lock_);
- no_barrier_constructor_classes_.insert(ClassReference(dex_file, class_def_index));
+void CompilerDriver::AddRequiresConstructorBarrier(Thread* self, const DexFile* dex_file,
+ uint16_t class_def_index) {
+ WriterMutexLock mu(self, freezing_constructor_lock_);
+ freezing_constructor_classes_.insert(ClassReference(dex_file, class_def_index));
}
-bool CompilerDriver::RequiresConstructorBarrier(Thread* self,
- const DexFile* dex_file,
+bool CompilerDriver::RequiresConstructorBarrier(Thread* self, const DexFile* dex_file,
uint16_t class_def_index) const {
- ReaderMutexLock mu(self, no_barrier_constructor_classes_lock_);
- return no_barrier_constructor_classes_.count(ClassReference(dex_file, class_def_index)) == 0;
+ ReaderMutexLock mu(self, freezing_constructor_lock_);
+ return freezing_constructor_classes_.count(ClassReference(dex_file, class_def_index)) != 0;
}
std::string CompilerDriver::GetMemoryUsageString(bool extended) const {