/art/runtime/entrypoints/portable/ |
H A D | portable_jni_entrypoints.cc | 25 extern "C" uint32_t art_portable_jni_method_start(Thread* self) 27 JNIEnvExt* env = self->GetJniEnv(); 30 self->TransitionFromRunnableToSuspended(kNative); 34 extern "C" uint32_t art_portable_jni_method_start_synchronized(jobject to_lock, Thread* self) 36 self->DecodeJObject(to_lock)->MonitorEnter(self); variable 37 return art_portable_jni_method_start(self); 40 static void PopLocalReferences(uint32_t saved_local_ref_cookie, Thread* self) 42 JNIEnvExt* env = self->GetJniEnv(); 47 extern "C" void art_portable_jni_method_end(uint32_t saved_local_ref_cookie, Thread* self) [all...] |
H A D | portable_throw_entrypoints.cc | 42 Thread* self = Thread::Current(); local 43 ThrowLocation throw_location = self->GetCurrentLocationForThrow(); 53 Thread* self = Thread::Current(); local 54 ThrowLocation throw_location = self->GetCurrentLocationForThrow(); 58 self->SetException(throw_location, exception); 62 extern "C" void* art_portable_get_and_clear_exception(Thread* self) 64 DCHECK(self->IsExceptionPending()); 66 mirror::Throwable* exception = self->GetException(NULL); 67 self->ClearException(); 74 Thread* self local [all...] |
/art/runtime/entrypoints/quick/ |
H A D | quick_jni_entrypoints.cc | 31 extern uint32_t JniMethodStart(Thread* self) { argument 32 JNIEnvExt* env = self->GetJniEnv(); 36 mirror::ArtMethod* native_method = self->GetManagedStack()->GetTopQuickFrame()->AsMirrorPtr(); 39 self->TransitionFromRunnableToSuspended(kNative); 44 extern uint32_t JniMethodStartSynchronized(jobject to_lock, Thread* self) { argument 45 self->DecodeJObject(to_lock)->MonitorEnter(self); 46 return JniMethodStart(self); 50 static void GoToRunnable(Thread* self) NO_THREAD_SAFETY_ANALYSIS { 51 mirror::ArtMethod* native_method = self 59 CheckSuspend(self); variable 71 JniMethodEnd(uint32_t saved_local_ref_cookie, Thread* self) argument 77 JniMethodEndSynchronized(uint32_t saved_local_ref_cookie, jobject locked, Thread* self) argument 84 JniMethodEndWithReference(jobject result, uint32_t saved_local_ref_cookie, Thread* self) argument 100 JniMethodEndWithReferenceSynchronized(jobject result, uint32_t saved_local_ref_cookie, jobject locked, Thread* self) argument [all...] |
H A D | quick_throw_entrypoints.cc | 35 extern "C" void artDeliverExceptionFromCode(mirror::Throwable* exception, Thread* self, 45 FinishCalleeSaveFrameSetup(self, sp, Runtime::kSaveAll); 46 ThrowLocation throw_location = self->GetCurrentLocationForThrow(); 48 self->ThrowNewException(throw_location, "Ljava/lang/NullPointerException;", 51 self->SetException(throw_location, exception); 53 self->QuickDeliverException(); 57 extern "C" void artThrowNullPointerExceptionFromCode(Thread* self, 60 FinishCalleeSaveFrameSetup(self, sp, Runtime::kSaveAll); 61 self->NoteSignalBeingHandled(); 62 ThrowLocation throw_location = self [all...] |
H A D | quick_lock_entrypoints.cc | 23 extern "C" int artLockObjectFromCode(mirror::Object* obj, Thread* self, 27 FinishCalleeSaveFrameSetup(self, sp, Runtime::kRefsOnly); 29 ThrowLocation throw_location(self->GetCurrentLocationForThrow()); 35 obj = obj->MonitorEnter(self); // May block 36 CHECK(self->HoldsLock(obj)); 37 CHECK(!self->IsExceptionPending()); 39 obj->MonitorEnter(self); // May block 46 extern "C" int artUnlockObjectFromCode(mirror::Object* obj, Thread* self, 50 FinishCalleeSaveFrameSetup(self, sp, Runtime::kRefsOnly); 52 ThrowLocation throw_location(self [all...] |
H A D | quick_deoptimization_entrypoints.cc | 30 extern "C" void artDeoptimize(Thread* self, StackReference<mirror::ArtMethod>* sp) 32 FinishCalleeSaveFrameSetup(self, sp, Runtime::kSaveAll); 33 self->SetException(ThrowLocation(), Thread::GetDeoptimizationException()); 34 self->QuickDeliverException();
|
H A D | quick_dexcache_entrypoints.cc | 30 Thread* self, 36 FinishCalleeSaveFrameSetup(self, sp, Runtime::kRefsOnly); 37 return ResolveVerifyAndClinit(type_idx, referrer, self, true, false); 42 Thread* self, 46 FinishCalleeSaveFrameSetup(self, sp, Runtime::kRefsOnly); 47 return ResolveVerifyAndClinit(type_idx, referrer, self, false, false); 52 Thread* self, 56 FinishCalleeSaveFrameSetup(self, sp, Runtime::kRefsOnly); 57 return ResolveVerifyAndClinit(type_idx, referrer, self, false, true); 62 Thread* self, [all...] |
H A D | quick_instrumentation_entrypoints.cc | 29 Thread* self, 33 FinishCalleeSaveFrameSetup(self, sp, Runtime::kRefsAndArgs); 44 instrumentation->PushInstrumentationStackFrame(self, method->IsStatic() ? nullptr : this_object, 50 extern "C" TwoWordReturn artInstrumentationMethodExitFromCode(Thread* self, 55 // TODO: use FinishCalleeSaveFrameSetup(self, sp, Runtime::kRefsOnly) not the hand inlined below. 59 Locks::mutator_lock_->AssertSharedHeld(self); 66 self->SetTopOfStack(sp, 0); 67 self->VerifyStack(); 70 self, return_pc, gpr_result, fpr_result); 71 self [all...] |
/art/runtime/ |
H A D | barrier.cc | 30 void Barrier::Pass(Thread* self) { argument 31 MutexLock mu(self, lock_); 32 SetCountLocked(self, count_ - 1); 35 void Barrier::Wait(Thread* self) { argument 36 Increment(self, -1); 39 void Barrier::Init(Thread* self, int count) { argument 40 MutexLock mu(self, lock_); 41 SetCountLocked(self, count); 44 void Barrier::Increment(Thread* self, int delta) { argument 45 MutexLock mu(self, lock 60 Increment(Thread* self, int delta, uint32_t timeout_ms) argument 68 SetCountLocked(Thread* self, int count) argument [all...] |
H A D | barrier.h | 31 void Pass(Thread* self); 34 void Wait(Thread* self); 38 void Init(Thread* self, int count); 41 void Increment(Thread* self, int delta); 44 void Increment(Thread* self, int delta, uint32_t timeout_ms) LOCKS_EXCLUDED(lock_); 47 void SetCountLocked(Thread* self, int count) EXCLUSIVE_LOCKS_REQUIRED(lock_);
|
H A D | monitor_test.cc | 59 static void FillHeap(Thread* self, ClassLinker* class_linker, 65 hsp->reset(new StackHandleScope<kMaxHandles>(self)); 67 Handle<mirror::Class> c((*hsp)->NewHandle(class_linker->FindSystemClass(self, 70 Handle<mirror::Class> ca((*hsp)->NewHandle(class_linker->FindSystemClass(self, 77 mirror::ObjectArray<mirror::Object>::Alloc(self, ca.Get(), length / 4))); 78 if (self->IsExceptionPending() || h.Get() == nullptr) { 79 self->ClearException(); 94 while (!self->IsExceptionPending()) { 95 Handle<mirror::Object> h = (*hsp)->NewHandle<mirror::Object>(c->AllocObject(self)); 96 if (!self 113 Run(Thread* self) argument 187 Run(Thread* self) argument 225 Run(Thread* self) argument 267 Run(Thread* self) argument 312 Thread* self = Thread::Current(); local 327 Thread* self = Thread::Current(); local 344 Thread* self = Thread::Current(); local [all...] |
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); 112 Run(Thread* self) argument 133 Thread* self = Thread::Current(); local [all...] |
H A D | thread_list.cc | 56 Thread* self = Thread::Current(); local 57 MutexLock mu(self, *Locks::thread_list_lock_); 58 contains = Contains(self); 118 DIR* d = opendir("/proc/self/task"); 123 Thread* self = Thread::Current(); local 131 MutexLock mu(self, *Locks::thread_list_lock_); 150 void ThreadList::AssertThreadsAreSuspended(Thread* self, Thread* ignore1, Thread* ignore2) { argument 151 MutexLock mu(self, *Locks::thread_list_lock_); 152 MutexLock mu2(self, *Locks::thread_suspend_count_lock_); 157 << "self 179 ThreadSuspendSleep(Thread* self, useconds_t* delay_us, useconds_t* total_delay_us) argument 196 Thread* self = Thread::Current(); local 274 Thread* self = Thread::Current(); local 302 Thread* self = Thread::Current(); local 364 Thread* self = Thread::Current(); local 413 Thread* self = Thread::Current(); local 443 ThreadSuspendByPeerWarning(Thread* self, int level, const char* message, jobject peer) argument 464 Thread* self = Thread::Current(); local 536 Thread* self = Thread::Current(); local 603 Thread* self = Thread::Current(); local 615 Thread* self = Thread::Current(); local 657 Thread* self = Thread::Current(); local 717 Thread* self = Thread::Current(); local 745 Thread* self = Thread::Current(); local 771 Thread* self = Thread::Current(); local 804 Register(Thread* self) argument 830 Unregister(Thread* self) argument 910 AllocThreadId(Thread* self) argument 922 ReleaseThreadId(Thread* self, uint32_t id) argument [all...] |
H A D | barrier_test.cc | 37 void Run(Thread* self) { argument 38 LOG(INFO) << "Before barrier 1 " << *self; 40 barrier_->Wait(self); 42 LOG(INFO) << "Before barrier 2 " << *self; 43 barrier_->Wait(self); 45 LOG(INFO) << "After barrier 2 " << *self; 68 Thread* self = Thread::Current(); local 75 thread_pool.AddTask(self, new CheckWaitTask(&barrier, &count1, &count2, &count3)); 77 thread_pool.StartWorkers(self); 78 barrier.Increment(self, num_thread 104 Run(Thread* self) argument 123 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 | monitor.cc | 83 Monitor::Monitor(Thread* self, Thread* owner, mirror::Object* obj, int32_t hash_code) argument 94 monitor_id_(MonitorPool::ComputeMonitorId(this, self)) { 101 CHECK(owner == nullptr || owner == self || owner->IsSuspended()); 105 Monitor::Monitor(Thread* self, Thread* owner, mirror::Object* obj, int32_t hash_code, argument 123 CHECK(owner == nullptr || owner == self || owner->IsSuspended()); 137 bool Monitor::Install(Thread* self) { argument 138 MutexLock mu(self, monitor_lock_); // Uncontended mutex acquisition as monitor isn't yet public. 139 CHECK(owner_ == nullptr || owner_ == self || owner_->IsSuspended()); 233 void Monitor::Lock(Thread* self) { argument 234 MutexLock mu(self, monitor_lock 301 Thread* self = Thread::Current(); local 382 Unlock(Thread* self) argument 401 FailedUnlock(GetObject(), self, owner, this); local 430 Wait(Thread* self, int64_t ms, int32_t ns, bool interruptShouldThrow, ThreadState why) argument 571 Notify(Thread* self) argument 594 NotifyAll(Thread* self) argument 611 Deflate(Thread* self, mirror::Object* obj) argument 653 Inflate(Thread* self, Thread* owner, mirror::Object* obj, int32_t hash_code) argument 674 InflateThinLocked(Thread* self, Handle<mirror::Object> obj, LockWord lock_word, uint32_t hash_code) argument 719 MonitorEnter(Thread* self, mirror::Object* obj) argument 785 MonitorExit(Thread* self, mirror::Object* obj) argument 833 Wait(Thread* self, mirror::Object *obj, int64_t ms, int32_t ns, bool interruptShouldThrow, ThreadState why) argument 870 DoNotify(Thread* self, mirror::Object* obj, bool notify_all) argument 936 Thread* self = Thread::Current(); local 1118 Thread* self = Thread::Current(); local 1132 Thread* self = Thread::Current(); local 1139 Thread* self = Thread::Current(); local 1148 Thread* self = Thread::Current(); local 1170 Thread* const self; member in struct:art::MonitorDeflateArgs [all...] |
H A D | thread_pool.cc | 49 Thread* self = Thread::Current(); local 51 thread_pool_->creation_barier_.Wait(self); 52 while ((task = thread_pool_->GetTask(self)) != NULL) { 53 task->Run(self); 68 void ThreadPool::AddTask(Thread* self, Task* task) { argument 69 MutexLock mu(self, task_queue_lock_); 73 task_queue_condition_.Signal(self); 90 Thread* self = Thread::Current(); local 96 creation_barier_.Wait(self); 107 Thread* self local 119 StartWorkers(Thread* self) argument 127 StopWorkers(Thread* self) argument 132 GetTask(Thread* self) argument 164 TryGetTask(Thread* self) argument 169 TryGetTaskLocked(Thread* self) argument 178 Wait(Thread* self, bool do_work, bool may_hold_locks) argument 197 GetTaskCount(Thread* self) argument 207 Thread* self = Thread::Current(); local 287 FindTaskToStealFrom(Thread* self) argument [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 mirror::ArtMethod* method = self->GetCurrentMethod(NULL); 44 DCHECK(self->IsExceptionPending()); 48 method->RegisterNative(self, native_code, false);
|
/art/runtime/gc/allocator/ |
H A D | rosalloc-inl.h | 27 inline ALWAYS_INLINE void* RosAlloc::Alloc(Thread* self, size_t size, size_t* bytes_allocated) { argument 29 return AllocLargeObject(self, size, bytes_allocated); 33 m = AllocFromRun(self, size, bytes_allocated); 35 m = AllocFromRunThreadUnsafe(self, size, bytes_allocated);
|
/art/runtime/base/ |
H A D | mutex.h | 145 void RegisterAsLocked(Thread* self); 146 void RegisterAsUnlocked(Thread* self); 147 void CheckSafeToWait(Thread* self); 208 void ExclusiveLock(Thread* self) EXCLUSIVE_LOCK_FUNCTION(); 209 void Lock(Thread* self) EXCLUSIVE_LOCK_FUNCTION() { ExclusiveLock(self); } 212 bool ExclusiveTryLock(Thread* self) EXCLUSIVE_TRYLOCK_FUNCTION(true); 213 bool TryLock(Thread* self) EXCLUSIVE_TRYLOCK_FUNCTION(true) { return ExclusiveTryLock(self); } 216 void ExclusiveUnlock(Thread* self) UNLOCK_FUNCTIO 223 AssertExclusiveHeld(const Thread* self) argument 228 AssertHeld(const Thread* self) argument 231 AssertNotHeldExclusive(const Thread* self) argument 236 AssertNotHeld(const Thread* self) argument 321 AssertExclusiveHeld(const Thread* self) argument 326 AssertWriterHeld(const Thread* self) argument 329 AssertNotExclusiveHeld(const Thread* self) argument 334 AssertNotWriterHeld(const Thread* self) argument 340 AssertSharedHeld(const Thread* self) argument 346 AssertReaderHeld(const Thread* self) argument 350 AssertNotHeld(const Thread* self) argument [all...] |
H A D | mutex-inl.h | 76 static inline uint64_t SafeGetTid(const Thread* self) { argument 77 if (self != NULL) { 78 return static_cast<uint64_t>(self->GetTid()); 99 // no longer exist and so we expect an unlock with no self. 108 inline void BaseMutex::RegisterAsLocked(Thread* self) { argument 109 if (UNLIKELY(self == NULL)) { 117 BaseMutex* held_mutex = self->GetHeldMutex(static_cast<LockLevel>(i)); 134 self->SetHeldMutex(level_, this); 138 inline void BaseMutex::RegisterAsUnlocked(Thread* self) { argument 139 if (UNLIKELY(self 151 SharedLock(Thread* self) argument 180 SharedUnlock(Thread* self) argument [all...] |
/art/runtime/entrypoints/interpreter/ |
H A D | interpreter_entrypoints.cc | 28 extern "C" void artInterpreterToCompiledCodeBridge(Thread* self, MethodHelper& mh, argument 36 self->PushShadowFrame(shadow_frame); 37 StackHandleScope<1> hs(self); 40 self->PopShadowFrame(); 41 DCHECK(self->IsExceptionPending()); 44 self->PopShadowFrame(); 52 InvokeWithShadowFrame(self, shadow_frame, arg_offset, mh, result); 54 method->Invoke(self, shadow_frame->GetVRegArgs(arg_offset),
|
/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);
|
/art/runtime/gc/ |
H A D | reference_processor.cc | 46 void ReferenceProcessor::DisableSlowPath(Thread* self) { argument 48 condition_.Broadcast(self); 51 mirror::Object* ReferenceProcessor::GetReferent(Thread* self, mirror::Reference* reference) { argument 58 MutexLock mu(self, *Locks::reference_processor_lock_); 85 condition_.WaitHoldingLocks(self); 100 void ReferenceProcessor::StartPreservingReferences(Thread* self) { argument 101 MutexLock mu(self, *Locks::reference_processor_lock_); 105 void ReferenceProcessor::StopPreservingReferences(Thread* self) { argument 106 MutexLock mu(self, *Locks::reference_processor_lock_); 109 condition_.Broadcast(self); 120 Thread* self = Thread::Current(); local 193 Thread* self = Thread::Current(); local 216 EnqueueClearedReferences(Thread* self) argument 233 Thread* self = Thread::Current(); local [all...] |
/art/runtime/arch/ |
H A D | stub_test.cc | 61 Thread::tls_ptr_sized_values* GetTlsPtr(Thread* self) { argument 62 return &self->tlsPtr_; 66 size_t Invoke3(size_t arg0, size_t arg1, size_t arg2, uintptr_t code, Thread* self) { argument 67 return Invoke3WithReferrer(arg0, arg1, arg2, code, self, nullptr); 71 size_t Invoke3WithReferrer(size_t arg0, size_t arg1, size_t arg2, uintptr_t code, Thread* self, argument 75 self->PushManagedStackFragment(&fragment); 110 "str %[self], [sp, #16]\n\t" 126 : [arg0] "r"(arg0), [arg1] "r"(arg1), [arg2] "r"(arg2), [code] "r"(code), [self] "r"(self), 149 "str %[self], [s 294 Invoke3WithReferrerAndHidden(size_t arg0, size_t arg1, size_t arg2, uintptr_t code, Thread* self, mirror::ArtMethod* referrer, size_t hidden) argument 521 Invoke3UWithReferrer(size_t arg0, uint64_t arg1, uintptr_t code, Thread* self, mirror::ArtMethod* referrer) argument 536 Invoke3UUWithReferrer(uint32_t arg0, uint32_t arg1, uint64_t arg2, uintptr_t code, Thread* self, mirror::ArtMethod* referrer) argument 547 GetEntrypoint(Thread* self, QuickEntrypointEnum entrypoint) argument 564 Thread* self = Thread::Current(); local 574 10 * sizeof(uint32_t), StubTest::GetEntrypoint(self, kQuickMemcpy), self); local 603 Thread* self = Thread::Current(); local 618 Invoke3(reinterpret_cast<size_t>(obj.Get()), 0U, 0U, art_quick_lock_object, self); local 626 Invoke3(reinterpret_cast<size_t>(obj.Get()), 0U, 0U, art_quick_lock_object, self); local 642 Invoke3(reinterpret_cast<size_t>(obj2.Get()), 0U, 0U, art_quick_lock_object, self); local 676 Thread* self = Thread::Current(); variable 691 test->Invoke3(reinterpret_cast<size_t>(obj.Get()), 0U, 0U, art_quick_unlock_object, self); variable 700 test->Invoke3(reinterpret_cast<size_t>(obj.Get()), 0U, 0U, art_quick_lock_object, self); variable 706 test->Invoke3(reinterpret_cast<size_t>(obj.Get()), 0U, 0U, art_quick_unlock_object, self); variable 761 self); variable 765 art_quick_unlock_object, self); variable 797 self); variable 825 Thread* self = Thread::Current(); local 842 art_quick_check_cast, self); local 847 art_quick_check_cast, self); local 852 art_quick_check_cast, self); local 859 art_quick_check_cast, self); local 876 Thread* self = Thread::Current(); local 911 art_quick_aput_obj_with_null_and_bound_check, self); local 917 art_quick_aput_obj_with_null_and_bound_check, self); local 923 art_quick_aput_obj_with_null_and_bound_check, self); local 929 art_quick_aput_obj_with_null_and_bound_check, self); local 937 art_quick_aput_obj_with_null_and_bound_check, self); local 943 art_quick_aput_obj_with_null_and_bound_check, self); local 949 art_quick_aput_obj_with_null_and_bound_check, self); local 955 art_quick_aput_obj_with_null_and_bound_check, self); local 984 art_quick_aput_obj_with_null_and_bound_check, self); local 992 art_quick_aput_obj_with_null_and_bound_check, self); local 1011 Thread* self = Thread::Current(); local 1133 Thread* self = Thread::Current(); local 1215 Thread* self = Thread::Current(); local 1625 Thread* self = Thread::Current(); local 1638 Thread* self = Thread::Current(); local 1651 Thread* self = Thread::Current(); local 1666 Thread* self = Thread::Current(); local 1774 Thread* self = Thread::Current(); local [all...] |