From 0436ee6bd33a0b905cd2a7e333f7935da1bd5d86 Mon Sep 17 00:00:00 2001 From: Roland Levillain Date: Thu, 7 Apr 2016 14:58:12 +0000 Subject: Revert "Change RequiresConstructorBarrier default to yes" CL https://android-review.googlesource.com/#/c/213119/ is breaking run-test 476-checker-ctor-memory-barrier on ARM and ARM64. Bug: 28005874 This reverts commit f2f0f4b0b9185fe0b6d1fb22744a871c96296db2. Change-Id: Ic6e97ab07358406c07c654ac9de700f0186f15f8 --- compiler/driver/compiler_driver.cc | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) (limited to 'compiler/driver/compiler_driver.cc') 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 { -- cgit v1.2.3-59-g8ed1b