/art/runtime/entrypoints/quick/ |
H A D | quick_thread_entrypoints.cc | 19 #include "thread.h" 24 void CheckSuspendFromCode(Thread* thread) 26 // Called when thread->suspend_count_ != 0 on JNI return. JNI method acts as callee-save frame. 27 thread->VerifyStack(); 28 CheckSuspend(thread); 31 extern "C" void artTestSuspendFromCode(Thread* thread, mirror::ArtMethod** sp) 33 // Called when suspend count check value is 0 and thread->suspend_count_ != 0 34 FinishCalleeSaveFrameSetup(thread, sp, Runtime::kRefsOnly); 35 CheckSuspend(thread);
|
H A D | quick_lock_entrypoints.cc | 31 extern "C" void artLockObjectFromCode(mirror::Object* obj, Thread* thread, 34 FinishCalleeSaveFrameSetup(thread, sp, Runtime::kRefsOnly); 36 obj->MonitorEnter(thread); // May block 37 DCHECK(thread->HoldsLock(obj)); 39 DCHECK(!thread->IsExceptionPending());
|
H A D | quick_throw_entrypoints.cc | 21 #include "thread.h" 26 // Deliver an exception that's pending on thread helping set up a callee save frame on the way. 27 extern "C" void artDeliverPendingExceptionFromCode(Thread* thread, mirror::ArtMethod** sp) 29 FinishCalleeSaveFrameSetup(thread, sp, Runtime::kSaveAll); 30 thread->QuickDeliverException(); 42 * exception_ in thread and delivering the exception.
|
/art/runtime/entrypoints/portable/ |
H A D | portable_lock_entrypoints.cc | 22 extern "C" void art_portable_lock_object_from_code(mirror::Object* obj, Thread* thread) 25 obj->MonitorEnter(thread); // May block. 26 DCHECK(thread->HoldsLock(obj)); 28 DCHECK(!thread->IsExceptionPending()); 31 extern "C" void art_portable_unlock_object_from_code(mirror::Object* obj, Thread* thread) 35 obj->MonitorExit(thread);
|
H A D | portable_dexcache_entrypoints.cc | 26 Thread* thread) 28 return ResolveVerifyAndClinit(type_idx, referrer, thread, true, false); 33 Thread* thread) 35 return ResolveVerifyAndClinit(type_idx, referrer, thread, false, false); 40 Thread* thread) 44 return ResolveVerifyAndClinit(type_idx, referrer, thread, false, true);
|
H A D | portable_invoke_entrypoints.cc | 29 Thread* thread) 38 thread, access_check, type); 40 CHECK(thread->IsExceptionPending()); 44 DCHECK(!thread->IsExceptionPending()); 59 Thread* thread) 61 return FindMethodHelper(method_idx, this_object, referrer, true, kStatic, thread); 67 Thread* thread) 69 return FindMethodHelper(method_idx, this_object, referrer, true, kDirect, thread); 75 Thread* thread) 77 return FindMethodHelper(method_idx, this_object, referrer, true, kVirtual, thread); [all...] |
H A D | portable_alloc_entrypoints.cc | 25 Thread* thread) 27 return AllocObjectFromCode(type_idx, referrer, thread, false); 32 Thread* thread) 34 return AllocObjectFromCode(type_idx, referrer, thread, true); 56 Thread* thread) 58 return CheckAndAllocArrayFromCode(type_idx, referrer, length, thread, false); 64 Thread* thread) 66 return CheckAndAllocArrayFromCode(type_idx, referrer, length, thread, true);
|
/art/test/ParallelGC/ |
H A D | ParallelGC.java | 26 for (Thread thread : threads) { 27 thread.start(); 29 for (Thread thread : threads) { 30 thread.join();
|
/art/runtime/ |
H A D | thread_list.cc | 26 #include "thread.h" 32 : allocated_ids_lock_("allocated thread ids lock"), 34 thread_exit_cond_("thread exit condition variable", *Locks::thread_list_lock_) { 38 // Detach the current thread if necessary. If we failed to start, there might not be any threads. 39 // We need to detach the current thread here in case there's another thread waiting to join with 46 // TODO: there's an unaddressed race here where a thread may attach during shutdown, see 51 bool ThreadList::Contains(Thread* thread) { argument 52 return find(list_.begin(), list_.end(), thread) != list_.end(); 56 for (const auto& thread 298 Resume(Thread* thread, bool for_debugger) argument [all...] |
H A D | instrumentation.h | 42 // the events they are listening for. The call backs supply the thread, method and dex_pc the event 43 // occurred upon. The thread may or may not be Thread::Current(). 49 virtual void MethodEntered(Thread* thread, mirror::Object* this_object, 56 virtual void MethodExited(Thread* thread, mirror::Object* this_object, 63 virtual void MethodUnwind(Thread* thread, const mirror::ArtMethod* method, 67 virtual void DexPcMoved(Thread* thread, mirror::Object* this_object, 72 virtual void ExceptionCaught(Thread* thread, const ThrowLocation& throw_location, 154 void MethodEnterEvent(Thread* thread, mirror::Object* this_object, 158 MethodEnterEventImpl(thread, this_object, method, dex_pc); 163 void MethodExitEvent(Thread* thread, mirro [all...] |
H A D | trace.cc | 37 #include "thread.h" 60 // u1 thread ID 65 // u2 thread ID 70 // u2 thread ID 89 explicit BuildStackTraceVisitor(Thread* thread) : StackVisitor(thread, NULL), argument 241 static void GetSample(Thread* thread, void* arg) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) { 242 BuildStackTraceVisitor build_trace_visitor(thread); 246 the_trace->CompareAndUpdateStackTrace(thread, stack_trace); 249 static void ClearThreadStackTraceAndClockBase(Thread* thread, voi argument 256 CompareAndUpdateStackTrace(Thread* thread, std::vector<mirror::ArtMethod*>* stack_trace) argument 547 DexPcMoved(Thread* thread, mirror::Object* this_object, const mirror::ArtMethod* method, uint32_t new_dex_pc) argument 553 MethodEntered(Thread* thread, mirror::Object* this_object, const mirror::ArtMethod* method, uint32_t dex_pc) argument 562 MethodExited(Thread* thread, mirror::Object* this_object, const mirror::ArtMethod* method, uint32_t dex_pc, const JValue& return_value) argument 573 MethodUnwind(Thread* thread, const mirror::ArtMethod* method, uint32_t dex_pc) argument 588 ReadClocks(Thread* thread, uint32_t* thread_clock_diff, uint32_t* wall_clock_diff) argument 604 LogMethodTraceEvent(Thread* thread, const mirror::ArtMethod* method, instrumentation::Instrumentation::InstrumentationEvent event, uint32_t thread_clock_diff, uint32_t wall_clock_diff) argument [all...] |
H A D | nth_caller_visitor.h | 29 NthCallerVisitor(Thread* thread, size_t n, bool include_runtime_and_upcalls = false) argument 30 : StackVisitor(thread, NULL), n(n), include_runtime_and_upcalls_(include_runtime_and_upcalls),
|
H A D | trace.h | 42 kProfilerClockSourceDual, // Both wall and thread CPU clocks. 72 void CompareAndUpdateStackTrace(Thread* thread, std::vector<mirror::ArtMethod*>* stack_trace) 75 virtual void MethodEntered(Thread* thread, mirror::Object* this_object, 78 virtual void MethodExited(Thread* thread, mirror::Object* this_object, 82 virtual void MethodUnwind(Thread* thread, const mirror::ArtMethod* method, uint32_t dex_pc) 84 virtual void DexPcMoved(Thread* thread, mirror::Object* this_object, 87 virtual void ExceptionCaught(Thread* thread, const ThrowLocation& throw_location, 105 void ReadClocks(Thread* thread, uint32_t* thread_clock_diff, uint32_t* wall_clock_diff); 107 void LogMethodTraceEvent(Thread* thread, const mirror::ArtMethod* method, 123 // Sampling thread, no [all...] |
H A D | instrumentation.cc | 38 #include "thread.h" 104 static void InstrumentationInstallStack(Thread* thread, void* arg) 107 InstallStackVisitor(Thread* thread, Context* context, uintptr_t instrumentation_exit_pc) argument 108 : StackVisitor(thread, context), instrumentation_stack_(thread->GetInstrumentationStack()), 158 thread->GetThreadName(thread_name); 163 InstallStackVisitor visitor(thread, context.get(), instrumentation_exit_pc); 166 // Create method enter events for all methods current on the thread's stack. 169 for (It it = thread->GetInstrumentationStack()->rbegin(), 170 end = thread 184 RestoreStackVisitor(Thread* thread, uintptr_t instrumentation_exit_pc, Instrumentation* instrumentation) argument 404 MethodEnterEventImpl(Thread* thread, mirror::Object* this_object, const mirror::ArtMethod* method, uint32_t dex_pc) const argument 418 MethodExitEventImpl(Thread* thread, mirror::Object* this_object, const mirror::ArtMethod* method, uint32_t dex_pc, const JValue& return_value) const argument 432 MethodUnwindEvent(Thread* thread, mirror::Object* this_object, const mirror::ArtMethod* method, uint32_t dex_pc) const argument 442 DexPcMovedEventImpl(Thread* thread, mirror::Object* this_object, const mirror::ArtMethod* method, uint32_t dex_pc) const argument 455 ExceptionCaughtEvent(Thread* thread, const ThrowLocation& throw_location, mirror::ArtMethod* catch_method, uint32_t catch_dex_pc, mirror::Throwable* exception_object) argument [all...] |
H A D | exception_test.cc | 29 #include "thread.h" 141 Thread* thread = Thread::Current(); local 142 thread->TransitionFromSuspendedToRunnable(); 145 JNIEnv* env = thread->GetJniEnv(); 177 // Set up thread to appear as if we called out of method_g_ at pc dex 3 178 thread->SetTopOfStack(&fake_stack[0], method_g_->ToNativePc(dex_pc)); // return pc 194 thread->PushShadowFrame(reinterpret_cast<ShadowFrame*>(&fake_stack[5])); 195 thread->PushShadowFrame(reinterpret_cast<ShadowFrame*>(&fake_stack[0])); 198 jobject internal = thread->CreateInternalStackTrace(soa); 221 thread [all...] |
H A D | monitor.cc | 32 #include "thread.h" 60 * lock count thread id hash state 0 77 * Only one thread can own the monitor at any time. There may be several 146 * Links a thread into a monitor's wait set. The monitor lock must be 149 void Monitor::AppendToWaitSet(Thread* thread) { argument 151 DCHECK(thread != NULL); 152 DCHECK(thread->wait_next_ == NULL) << thread->wait_next_; 154 wait_set_ = thread; 163 t->wait_next_ = thread; 170 RemoveFromWaitSet(Thread *thread) argument 269 ThreadToString(Thread* thread) argument 275 oss << *thread; local 543 Thread* thread = wait_set_; local 570 Thread* thread = wait_set_; local 834 DescribeWait(std::ostream& os, const Thread* thread) argument 875 GetContendedMonitor(Thread* thread) argument [all...] |
H A D | stack.cc | 86 StackVisitor::StackVisitor(Thread* thread, Context* context) argument 87 : thread_(thread), cur_shadow_frame_(NULL), 90 DCHECK(thread == Thread::Current() || thread->IsSuspended()) << *thread; 211 size_t StackVisitor::ComputeNumFrames(Thread* thread) { argument 213 explicit NumFramesVisitor(Thread* thread) argument 214 : StackVisitor(thread, NULL), frames(0) {} 223 NumFramesVisitor visitor(thread); 228 void StackVisitor::DescribeStack(Thread* thread) { argument 230 DescribeStackVisitor(Thread* thread) argument [all...] |
H A D | monitor.h | 51 * Lock owner field. Contains the thread id of the thread currently 75 static void MonitorEnter(Thread* thread, mirror::Object* obj) 78 static bool MonitorExit(Thread* thread, mirror::Object* obj) 90 static void DescribeWait(std::ostream& os, const Thread* thread) 95 static mirror::Object* GetContendedMonitor(Thread* thread); 111 void AppendToWaitSet(Thread* thread) EXCLUSIVE_LOCKS_REQUIRED(monitor_lock_); 112 void RemoveFromWaitSet(Thread* thread) EXCLUSIVE_LOCKS_REQUIRED(monitor_lock_); 126 bool Unlock(Thread* thread, bool for_wait) UNLOCK_FUNCTION(monitor_lock_); 155 // Which thread currentl [all...] |
/art/runtime/native/ |
H A D | java_lang_Thread.cc | 24 #include "thread.h" 41 Thread* thread = Thread::FromManagedThread(soa, java_thread); local 42 return (thread != NULL) ? thread->IsInterrupted() : JNI_FALSE; 62 Thread* thread = Thread::FromManagedThread(soa, java_thread); local 63 if (thread != NULL) { 64 internal_thread_state = thread->GetState(); 99 Thread* thread = Thread::FromManagedThread(soa, java_thread); local 100 return thread->HoldsLock(object); 106 Thread* thread local 125 Thread* thread = Thread::SuspendForDebugger(peer, true, &timed_out); local 146 Thread* thread = Thread::FromManagedThread(soa, java_thread); local [all...] |
H A D | dalvik_system_VMStack.cc | 35 // Suspend thread to build stack trace. 37 Thread* thread = Thread::SuspendForDebugger(peer, true, &timed_out); local 38 if (thread != NULL) { 42 trace = thread->CreateInternalStackTrace(soa); 44 // Restart suspended thread. 45 Runtime::Current()->GetThreadList()->Resume(thread, true); 49 LOG(ERROR) << "Trying to get thread's stack failed as the thread failed to suspend within a " 78 ClosestUserClassLoaderVisitor(Thread* thread, mirror::Object* bootstrap, mirror::Object* system) argument 79 : StackVisitor(thread, NUL [all...] |
/art/test/051-thread/src/ |
H A D | Main.java | 20 * Test some basic thread stuff. 31 for (MyThread thread : threads) { 32 thread.start(); 34 for (MyThread thread : threads) { 35 thread.join(); 41 System.out.println("thread test done"); 49 System.out.print("Starting thread '" + t.getName() + "'\n"); 62 * Simple thread capacity test.
|
/art/compiler/llvm/ |
H A D | runtime_support_builder_x86.cc | 21 #include "thread.h" 48 CallInst* thread = irb_.CreateCall(func); local 49 thread->setDoesNotAccessMemory(); 50 irb_.SetTBAA(thread, kTBAAConstJObject); 51 return thread;
|
H A D | runtime_support_builder_arm.cc | 20 #include "thread.h" 65 CallInst* thread = irb_.CreateCall(func); local 66 thread->setDoesNotAccessMemory(); 67 irb_.SetTBAA(thread, kTBAAConstJObject); 68 return thread; 98 Value* RuntimeSupportBuilderARM::EmitSetCurrentThread(Value* thread) { argument 100 // sets the current thread. 115 irb_.CreateCall(func, thread);
|
H A D | runtime_support_builder_x86.h | 36 virtual ::llvm::Value* EmitSetCurrentThread(::llvm::Value* thread);
|
H A D | runtime_support_builder_arm.h | 36 virtual ::llvm::Value* EmitSetCurrentThread(::llvm::Value* thread);
|