/art/runtime/entrypoints/quick/ |
H A D | quick_deoptimization_entrypoints.cc | 29 extern "C" NO_RETURN void artDeoptimize(Thread* self) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) { 30 ScopedQuickEntrypointChecks sqec(self); 31 self->PushAndClearDeoptimizationReturnValue(); 32 self->SetException(Thread::GetDeoptimizationException()); 33 self->QuickDeliverException();
|
H A D | quick_thread_entrypoints.cc | 22 extern "C" void artTestSuspendFromCode(Thread* self) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) { 24 ScopedQuickEntrypointChecks sqec(self); 25 self->CheckSuspend();
|
H A D | quick_throw_entrypoints.cc | 27 extern "C" NO_RETURN void artDeliverPendingExceptionFromCode(Thread* self) 29 ScopedQuickEntrypointChecks sqec(self); 30 self->QuickDeliverException(); 34 extern "C" NO_RETURN void artDeliverExceptionFromCode(mirror::Throwable* exception, Thread* self) 43 ScopedQuickEntrypointChecks sqec(self); 45 self->ThrowNewException("Ljava/lang/NullPointerException;", "throw with null exception"); 47 self->SetException(exception); 49 self->QuickDeliverException(); 53 extern "C" NO_RETURN void artThrowNullPointerExceptionFromCode(Thread* self) 55 ScopedQuickEntrypointChecks sqec(self); [all...] |
H A D | quick_jni_entrypoints.cc | 26 Thread* self ATTRIBUTE_UNUSED) { 33 extern uint32_t JniMethodStart(Thread* self) { argument 34 JNIEnvExt* env = self->GetJniEnv(); 38 ArtMethod* native_method = *self->GetManagedStack()->GetTopQuickFrame(); 41 self->TransitionFromRunnableToSuspended(kNative); 46 extern uint32_t JniMethodStartSynchronized(jobject to_lock, Thread* self) { argument 47 self->DecodeJObject(to_lock)->MonitorEnter(self); 48 return JniMethodStart(self); 52 static void GoToRunnable(Thread* self) NO_THREAD_SAFETY_ANALYSI 73 JniMethodEnd(uint32_t saved_local_ref_cookie, Thread* self) argument 78 JniMethodEndSynchronized(uint32_t saved_local_ref_cookie, jobject locked, Thread* self) argument 101 JniMethodEndWithReference(jobject result, uint32_t saved_local_ref_cookie, Thread* self) argument 107 JniMethodEndWithReferenceSynchronized(jobject result, uint32_t saved_local_ref_cookie, jobject locked, Thread* self) argument [all...] |
H A D | quick_lock_entrypoints.cc | 23 extern "C" int artLockObjectFromCode(mirror::Object* obj, Thread* self) 26 ScopedQuickEntrypointChecks sqec(self); 32 obj = obj->MonitorEnter(self); // May block 33 CHECK(self->HoldsLock(obj)); 34 CHECK(!self->IsExceptionPending()); 36 obj->MonitorEnter(self); // May block 43 extern "C" int artUnlockObjectFromCode(mirror::Object* obj, Thread* self) 46 ScopedQuickEntrypointChecks sqec(self); 52 return obj->MonitorExit(self) ? 0 /* Success */ : -1 /* Failure */;
|
H A D | quick_dexcache_entrypoints.cc | 29 Thread* self) 34 ScopedQuickEntrypointChecks sqec(self); 35 auto* caller = GetCalleeSaveMethodCaller(self, Runtime::kRefsOnly); 36 return ResolveVerifyAndClinit(type_idx, caller, self, true, false); 40 Thread* self) 43 ScopedQuickEntrypointChecks sqec(self); 44 auto* caller = GetCalleeSaveMethodCaller(self, Runtime::kRefsOnly); 45 return ResolveVerifyAndClinit(type_idx, caller, self, false, false); 49 Thread* self) 53 ScopedQuickEntrypointChecks sqec(self); [all...] |
/art/tools/ |
H A D | checker_test.py | 31 def __tryParse(self, string): 35 def test_InvalidFormat(self): 36 self.assertIsNone(self.__tryParse("CHECK")) 37 self.assertIsNone(self.__tryParse(":CHECK")) 38 self.assertIsNone(self.__tryParse("CHECK:")) 39 self.assertIsNone(self [all...] |
H A D | stream-trace-converter.py | 71 def PrintHeader(self, header): 78 def ProcessDataHeader(self, input, body): 103 self._mRecordSize = 9; 105 self._mRecordSize = 10; 107 self._mRecordSize = ReadShortLE(input) 108 WriteShortLE(body, self._mRecordSize) 114 def ProcessMethod(self, input): 117 self._methods.append(str) 120 def ProcessThread(self, input): 124 self [all...] |
H A D | checker.py | 149 def __eq__(self, other): 150 return (isinstance(other, self.__class__) 151 and self.__dict__ == other.__dict__) 153 def __ne__(self, other): 154 return not self.__eq__(other) 156 def __repr__(self): 157 return "<%s: %s>" % (type(self).__name__, str(self.__dict__)) 184 def __init__(self, variant, name, pattern): 185 self [all...] |
/art/runtime/ |
H A D | barrier.cc | 31 void Barrier::Pass(Thread* self) { argument 32 MutexLock mu(self, lock_); 33 SetCountLocked(self, count_ - 1); 36 void Barrier::Wait(Thread* self) { argument 37 Increment(self, -1); 40 void Barrier::Init(Thread* self, int count) { argument 41 MutexLock mu(self, lock_); 42 SetCountLocked(self, count); 45 void Barrier::Increment(Thread* self, int delta) { argument 46 MutexLock mu(self, lock 61 Increment(Thread* self, int delta, uint32_t timeout_ms) argument 82 SetCountLocked(Thread* self, int count) argument [all...] |
H A D | thread_list.cc | 65 Thread* self = Thread::Current(); local 66 MutexLock mu(self, *Locks::thread_list_lock_); 67 contains = Contains(self); 132 DIR* d = opendir("/proc/self/task"); 137 Thread* self = Thread::Current(); local 145 MutexLock mu(self, *Locks::thread_list_lock_); 166 // Note thread and self may not be equal if thread was already suspended at the point of the 168 Thread* self = Thread::Current(); variable 171 ScopedObjectAccess soa(self); 177 MutexLock mu(self, *Lock 186 Thread* self = Thread::Current(); local 215 AssertThreadsAreSuspended(Thread* self, Thread* ignore1, Thread* ignore2) argument 253 Thread* self = Thread::Current(); local 337 Thread* self = Thread::Current(); local 370 Thread* self = Thread::Current(); local 452 Thread* self = Thread::Current(); local 524 Thread* self = Thread::Current(); local 578 Thread* self = Thread::Current(); local 608 ThreadSuspendByPeerWarning(Thread* self, LogSeverity severity, const char* message, jobject peer) argument 628 Thread* const self = Thread::Current(); local 732 Thread* const self = Thread::Current(); local 818 Thread* self = Thread::Current(); local 830 Thread* self = Thread::Current(); local 873 Thread* const self = Thread::Current(); local 939 Thread* self = Thread::Current(); local 989 Thread* self = Thread::Current(); local 1017 Thread* self = Thread::Current(); local 1048 Thread* self = Thread::Current(); local 1081 Register(Thread* self) argument 1107 Unregister(Thread* self) argument 1181 AllocThreadId(Thread* self) argument 1193 ReleaseThreadId(Thread* self, uint32_t id) argument [all...] |
H A D | barrier.h | 42 void Pass(Thread* self); 45 void Wait(Thread* self); 54 void Increment(Thread* self, int delta) LOCKS_EXCLUDED(lock_); 58 bool Increment(Thread* self, int delta, uint32_t timeout_ms) LOCKS_EXCLUDED(lock_); 62 void Init(Thread* self, int count); 65 void SetCountLocked(Thread* self, int count) EXCLUSIVE_LOCKS_REQUIRED(lock_);
|
H A D | thread_pool_test.cc | 31 void Run(Thread* self) { argument 33 LOG(INFO) << "Running: " << *self; 62 Thread* self = Thread::Current(); local 67 thread_pool.AddTask(self, new CountTask(&count)); 69 thread_pool.StartWorkers(self); 71 thread_pool.Wait(self, true, false); 77 Thread* self = Thread::Current(); local 82 thread_pool.AddTask(self, new CountTask(&count)); 88 thread_pool.StartWorkers(self); 90 thread_pool.StopWorkers(self); 108 Run(Thread* self) argument 129 Thread* self = Thread::Current(); local [all...] |
H A D | monitor_test.cc | 60 static void FillHeap(Thread* self, ClassLinker* class_linker, 66 hsp->reset(new StackHandleScope<kMaxHandles>(self)); 68 Handle<mirror::Class> c((*hsp)->NewHandle(class_linker->FindSystemClass(self, 71 Handle<mirror::Class> ca((*hsp)->NewHandle(class_linker->FindSystemClass(self, 78 mirror::ObjectArray<mirror::Object>::Alloc(self, ca.Get(), length / 4))); 79 if (self->IsExceptionPending() || h.Get() == nullptr) { 80 self->ClearException(); 95 while (!self->IsExceptionPending()) { 96 MutableHandle<mirror::Object> h = (*hsp)->NewHandle<mirror::Object>(c->AllocObject(self)); 97 if (!self 114 Run(Thread* self) argument 188 Run(Thread* self) argument 226 Run(Thread* self) argument 268 Run(Thread* self) argument 313 Thread* self = Thread::Current(); local 328 Thread* self = Thread::Current(); local [all...] |
H A D | barrier_test.cc | 35 void Run(Thread* self) { argument 36 LOG(INFO) << "Before barrier" << *self; 38 barrier_->Wait(self); 40 LOG(INFO) << "After barrier" << *self; 62 Thread* self = Thread::Current(); local 69 thread_pool.AddTask(self, new CheckWaitTask(&barrier, &count1, &count2)); 71 thread_pool.StartWorkers(self); 73 timeout_barrier.Increment(self, 1, 100); // sleep 100 msecs 78 barrier.Wait(self); 80 thread_pool.Wait(self, tru 94 Run(Thread* self) argument 113 Thread* self = Thread::Current(); local [all...] |
H A D | monitor_pool_test.cc | 39 static void VerifyMonitor(Monitor* mon, Thread* self) { argument 43 EXPECT_EQ(MonitorPool::ComputeMonitorId(mon, self), mon->GetMonitorId()); 58 Thread* self = Thread::Current(); local 59 ScopedObjectAccess soa(self); 74 Monitor* mon = MonitorPool::CreateMonitor(self, self, nullptr, static_cast<int32_t>(i)); 77 VerifyMonitor(mon, self); 85 VerifyMonitor(mon, self); 87 MonitorPool::ReleaseMonitor(self, mon); 97 Monitor* mon = MonitorPool::CreateMonitor(self, sel [all...] |
H A D | thread_pool.cc | 50 Thread* self = Thread::Current(); local 52 thread_pool_->creation_barier_.Wait(self); 53 while ((task = thread_pool_->GetTask(self)) != nullptr) { 54 task->Run(self); 69 void ThreadPool::AddTask(Thread* self, Task* task) { argument 70 MutexLock mu(self, task_queue_lock_); 74 task_queue_condition_.Signal(self); 91 Thread* self = Thread::Current(); local 98 creation_barier_.Wait(self); 109 Thread* self local 121 StartWorkers(Thread* self) argument 129 StopWorkers(Thread* self) argument 134 GetTask(Thread* self) argument 166 TryGetTask(Thread* self) argument 180 Wait(Thread* self, bool do_work, bool may_hold_locks) argument 199 GetTaskCount(Thread* self) argument 209 Thread* self = Thread::Current(); local [all...] |
/art/runtime/entrypoints/jni/ |
H A D | jni_entrypoints.cc | 29 Thread* self = Thread::Current(); local 31 extern "C" void* artFindNativeMethod(Thread* self) { 32 DCHECK_EQ(self, Thread::Current()); 34 Locks::mutator_lock_->AssertNotHeld(self); // We come here as Native. 35 ScopedObjectAccess soa(self); 37 ArtMethod* method = self->GetCurrentMethod(nullptr); 44 DCHECK(self->IsExceptionPending());
|
/art/runtime/base/ |
H A D | mutex-inl.h | 49 static inline uint64_t SafeGetTid(const Thread* self) { argument 50 if (self != nullptr) { 51 return static_cast<uint64_t>(self->GetTid()); 72 // no longer exist and so we expect an unlock with no self. 81 inline void BaseMutex::RegisterAsLocked(Thread* self) { argument 82 if (UNLIKELY(self == nullptr)) { 90 BaseMutex* held_mutex = self->GetHeldMutex(static_cast<LockLevel>(i)); 109 self->SetHeldMutex(level_, this); 113 inline void BaseMutex::RegisterAsUnlocked(Thread* self) { argument 114 if (UNLIKELY(self 126 SharedLock(Thread* self) argument 147 SharedUnlock(Thread* self) argument [all...] |
H A D | mutex.h | 151 void RegisterAsLocked(Thread* self); 152 void RegisterAsUnlocked(Thread* self); 153 void CheckSafeToWait(Thread* self); 214 void ExclusiveLock(Thread* self) EXCLUSIVE_LOCK_FUNCTION(); 215 void Lock(Thread* self) EXCLUSIVE_LOCK_FUNCTION() { ExclusiveLock(self); } 218 bool ExclusiveTryLock(Thread* self) EXCLUSIVE_TRYLOCK_FUNCTION(true); 219 bool TryLock(Thread* self) EXCLUSIVE_TRYLOCK_FUNCTION(true) { return ExclusiveTryLock(self); } 222 void ExclusiveUnlock(Thread* self) UNLOCK_FUNCTIO 229 AssertExclusiveHeld(const Thread* self) argument 234 AssertHeld(const Thread* self) argument 237 AssertNotHeldExclusive(const Thread* self) argument 242 AssertNotHeld(const Thread* self) argument 327 AssertExclusiveHeld(const Thread* self) argument 332 AssertWriterHeld(const Thread* self) argument 335 AssertNotExclusiveHeld(const Thread* self) argument 340 AssertNotWriterHeld(const Thread* self) argument 346 AssertSharedHeld(const Thread* self) argument 352 AssertReaderHeld(const Thread* self) argument 356 AssertNotHeld(const Thread* self) argument [all...] |
/art/runtime/entrypoints/interpreter/ |
H A D | interpreter_entrypoints.cc | 28 extern "C" void artInterpreterToCompiledCodeBridge(Thread* self, const DexFile::CodeItem* code_item, argument 35 self->PushShadowFrame(shadow_frame); 36 StackHandleScope<1> hs(self); 38 if (UNLIKELY(!Runtime::Current()->GetClassLinker()->EnsureInitialized(self, h_class, true, 40 self->PopShadowFrame(); 41 DCHECK(self->IsExceptionPending()); 44 self->PopShadowFrame(); 51 method->Invoke(self, shadow_frame->GetVRegArgs(arg_offset),
|
/art/runtime/gc/ |
H A D | task_processor.cc | 36 void TaskProcessor::AddTask(Thread* self, HeapTask* task) { argument 37 ScopedThreadStateChange tsc(self, kBlocked); 38 MutexLock mu(self, *lock_); 40 cond_->Signal(self); 43 HeapTask* TaskProcessor::GetTask(Thread* self) { argument 44 ScopedThreadStateChange tsc(self, kBlocked); 45 MutexLock mu(self, *lock_); 51 cond_->Wait(self); // Empty queue, wait until we are signalled. 68 cond_->TimedWait(self, static_cast<int64_t>(ms_delta), static_cast<int32_t>(ns_delta)); 74 void TaskProcessor::UpdateTargetRunTime(Thread* self, HeapTas argument 106 Stop(Thread* self) argument 113 Start(Thread* self) argument 119 RunAllTasks(Thread* self) argument [all...] |
H A D | task_processor_test.cc | 36 virtual void Run(Thread* self) OVERRIDE { 38 task_processor_->AddTask(self, 55 virtual void Run(Thread* self) OVERRIDE { 56 task_processor_->RunAllTasks(self); 67 Thread* const self = Thread::Current(); local 72 task_processor.AddTask(self, new RecursiveTask(&task_processor, &counter, kRecursion)); 73 task_processor.Start(self); 75 thread_pool.AddTask(self, new WorkUntilDoneTask(&task_processor, &done_running)); 76 thread_pool.StartWorkers(self); 83 task_processor.Stop(self); 122 Thread* const self = Thread::Current(); local [all...] |
H A D | reference_processor.cc | 51 void ReferenceProcessor::DisableSlowPath(Thread* self) { argument 53 condition_.Broadcast(self); 56 mirror::Object* ReferenceProcessor::GetReferent(Thread* self, mirror::Reference* reference) { argument 63 MutexLock mu(self, *Locks::reference_processor_lock_); 90 condition_.WaitHoldingLocks(self); 105 void ReferenceProcessor::StartPreservingReferences(Thread* self) { argument 106 MutexLock mu(self, *Locks::reference_processor_lock_); 110 void ReferenceProcessor::StopPreservingReferences(Thread* self) { argument 111 MutexLock mu(self, *Locks::reference_processor_lock_); 114 condition_.Broadcast(self); 125 Thread* self = Thread::Current(); local 198 Thread* self = Thread::Current(); local 238 EnqueueClearedReferences(Thread* self) argument 264 Thread* self = Thread::Current(); local [all...] |
/art/compiler/dex/quick/ |
H A D | dex_file_to_method_inliner_map.cc | 41 Thread* self = Thread::Current(); local 43 ReaderMutexLock mu(self, lock_); 58 WriterMutexLock mu(self, lock_); 66 locked_inliner->lock_.ExclusiveLock(self); // Acquire inliner's lock_ before releasing lock_. 69 locked_inliner->lock_.ExclusiveUnlock(self);
|