summaryrefslogtreecommitdiff
path: root/src/compiler.cc
diff options
context:
space:
mode:
author Ian Rogers <irogers@google.com> 2012-10-03 21:09:42 -0700
committer Ian Rogers <irogers@google.com> 2012-10-04 09:27:04 -0700
commit1f5393447b9f45be7918042d9ee7b521376de866 (patch)
tree1793cb0ae00b38a63f8cfd3a25b6cb0ee4edca16 /src/compiler.cc
parent870ea4772199f8d4cbd9a269f9093620ee50a59c (diff)
Make PopSirt inlinable, pass self to SirtRef.
Change-Id: Ieb91526b1cb1f8644ceb3c5b99649f658f43bbc1
Diffstat (limited to 'src/compiler.cc')
-rw-r--r--src/compiler.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/compiler.cc b/src/compiler.cc
index edadc12b0d..10b4939bb0 100644
--- a/src/compiler.cc
+++ b/src/compiler.cc
@@ -1271,8 +1271,9 @@ static void InitializeClassWithoutClinit(const CompilationContext* context,
ClassLoader* class_loader = soa.Decode<ClassLoader*>(context->GetClassLoader());
const char* descriptor = context->GetDexFile()->GetClassDescriptor(class_def);
Class* klass = context->GetClassLinker()->FindClass(descriptor, class_loader);
+ Thread* self = Thread::Current();
if (klass != NULL) {
- ObjectLock lock(klass);
+ ObjectLock lock(self, klass);
if (klass->IsVerified()) {
// Only try to initialize classes that were successfully verified.
bool compiling_boot = Runtime::Current()->GetHeap()->GetSpaces().size() == 1;
@@ -1295,8 +1296,8 @@ static void InitializeClassWithoutClinit(const CompilationContext* context,
DCHECK_EQ(status, compiled_class->GetStatus());
}
}
- // clear any class not found or verification exceptions
- Thread::Current()->ClearException();
+ // Clear any class not found or verification exceptions.
+ self->ClearException();
}
void Compiler::InitializeClassesWithoutClinit(jobject jni_class_loader, const DexFile& dex_file,