summaryrefslogtreecommitdiff
path: root/runtime/thread.cc
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2017-01-19 09:02:50 +0000
committer Nicolas Geoffray <ngeoffray@google.com> 2017-01-19 09:02:50 +0000
commitbf6331a45f730e1f1044af2ce43bceda660ae6fc (patch)
tree66013474dc85b2a868d5fad2506c8674a086fa1a /runtime/thread.cc
parent13093d455b8266338fd713b04261c58e9dc2b164 (diff)
Revert "ART: Start RuntimeCallbacks"
jdwp tests failing with: STDERR> dalvikvm32 E 01-18 23:14:50 12180 12198 thread-inl.h:137] holding "runtime callbacks lock" at point where thread suspension is expected Bug: 31684920 This reverts commit 13093d455b8266338fd713b04261c58e9dc2b164. Change-Id: I94e4154e273d006eecdd485607dcfd96392d6a00
Diffstat (limited to 'runtime/thread.cc')
-rw-r--r--runtime/thread.cc15
1 files changed, 3 insertions, 12 deletions
diff --git a/runtime/thread.cc b/runtime/thread.cc
index bf69e1010d..40b6d73d94 100644
--- a/runtime/thread.cc
+++ b/runtime/thread.cc
@@ -431,10 +431,7 @@ void* Thread::CreateCallback(void* arg) {
ArtField* priorityField = jni::DecodeArtField(WellKnownClasses::java_lang_Thread_priority);
self->SetNativePriority(priorityField->GetInt(self->tlsPtr_.opeer));
- {
- ReaderMutexLock mu(self, *Locks::runtime_callbacks_lock_);
- runtime->GetRuntimeCallbacks().ThreadStart(self);
- }
+ Dbg::PostThreadStart(self);
// Invoke the 'run' method of our java.lang.Thread.
ObjPtr<mirror::Object> receiver = self->tlsPtr_.opeer;
@@ -796,8 +793,7 @@ Thread* Thread::Attach(const char* thread_name, bool as_daemon, jobject thread_g
{
ScopedObjectAccess soa(self);
- ReaderMutexLock mu(self, *Locks::runtime_callbacks_lock_);
- runtime->GetRuntimeCallbacks().ThreadStart(self);
+ Dbg::PostThreadStart(self);
}
return self;
@@ -1933,12 +1929,7 @@ void Thread::Destroy() {
jni::DecodeArtField(WellKnownClasses::java_lang_Thread_nativePeer)
->SetLong<false>(tlsPtr_.opeer, 0);
}
- Runtime* runtime = Runtime::Current();
- if (runtime != nullptr) {
- ReaderMutexLock mu(self, *Locks::runtime_callbacks_lock_);
- runtime->GetRuntimeCallbacks().ThreadDeath(self);
- }
-
+ Dbg::PostThreadDeath(self);
// Thread.join() is implemented as an Object.wait() on the Thread.lock object. Signal anyone
// who is waiting.