/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 self->TransitionFromRunnableToSuspended(kNative); 40 extern uint32_t JniMethodStartSynchronized(jobject to_lock, Thread* self) { argument 41 self->DecodeJObject(to_lock)->MonitorEnter(self); 42 return JniMethodStart(self); 45 static void PopLocalReferences(uint32_t saved_local_ref_cookie, Thread* self) { argument 46 JNIEnvExt* env = self->GetJniEnv(); 49 self 52 JniMethodEnd(uint32_t saved_local_ref_cookie, Thread* self) argument 58 JniMethodEndSynchronized(uint32_t saved_local_ref_cookie, jobject locked, Thread* self) argument 65 JniMethodEndWithReference(jobject result, uint32_t saved_local_ref_cookie, Thread* self) argument 80 JniMethodEndWithReferenceSynchronized(jobject result, uint32_t saved_local_ref_cookie, jobject locked, Thread* self) argument [all...] |
H A D | quick_throw_entrypoints.cc | 34 extern "C" void artDeliverExceptionFromCode(mirror::Throwable* exception, Thread* self, 44 FinishCalleeSaveFrameSetup(self, sp, Runtime::kSaveAll); 45 ThrowLocation throw_location = self->GetCurrentLocationForThrow(); 47 self->ThrowNewException(throw_location, "Ljava/lang/NullPointerException;", 50 self->SetException(throw_location, exception); 52 self->QuickDeliverException(); 56 extern "C" void artThrowNullPointerExceptionFromCode(Thread* self, 59 FinishCalleeSaveFrameSetup(self, sp, Runtime::kSaveAll); 60 ThrowLocation throw_location = self->GetCurrentLocationForThrow(); 62 self [all...] |
H A D | quick_deoptimization_entrypoints.cc | 31 extern "C" void artDeoptimize(Thread* self, mirror::ArtMethod** sp) 33 FinishCalleeSaveFrameSetup(self, sp, Runtime::kSaveAll); 34 self->SetException(ThrowLocation(), reinterpret_cast<mirror::Throwable*>(-1)); 35 self->QuickDeliverException();
|
H A D | quick_alloc_entrypoints.cc | 27 Thread* self, mirror::ArtMethod** sp) 29 FinishCalleeSaveFrameSetup(self, sp, Runtime::kRefsOnly); 30 return AllocObjectFromCode(type_idx, method, self, false); 35 Thread* self, 38 FinishCalleeSaveFrameSetup(self, sp, Runtime::kRefsOnly); 39 return AllocObjectFromCode(type_idx, method, self, true); 43 int32_t component_count, Thread* self, 46 FinishCalleeSaveFrameSetup(self, sp, Runtime::kRefsOnly); 47 return AllocArrayFromCode(type_idx, method, component_count, self, false); 53 Thread* self, [all...] |
H A D | callee_save_frame.h | 29 static void FinishCalleeSaveFrameSetup(Thread* self, mirror::ArtMethod** sp, 33 Locks::mutator_lock_->AssertSharedHeld(self); 35 self->SetTopOfStack(sp, 0); 36 self->VerifyStack();
|
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, mirror::ArtMethod** sp) 45 FinishCalleeSaveFrameSetup(self, sp, Runtime::kRefsOnly); 46 return ResolveVerifyAndClinit(type_idx, referrer, self, false, false); 51 Thread* self, 56 FinishCalleeSaveFrameSetup(self, sp, Runtime::kRefsOnly); 57 return ResolveVerifyAndClinit(type_idx, referrer, self, false, true); 62 Thread* self, mirro [all...] |
H A D | quick_instrumentation_entrypoints.cc | 28 Thread* self, 32 FinishCalleeSaveFrameSetup(self, sp, Runtime::kRefsAndArgs); 36 instrumentation->PushInstrumentationStackFrame(self, method->IsStatic() ? NULL : this_object, 42 extern "C" uint64_t artInstrumentationMethodExitFromCode(Thread* self, mirror::ArtMethod** sp, 45 // TODO: use FinishCalleeSaveFrameSetup(self, sp, Runtime::kRefsOnly) not the hand inlined below. 49 Locks::mutator_lock_->AssertSharedHeld(self); 55 self->SetTopOfStack(sp, 0); 56 self->VerifyStack(); 58 uint64_t return_or_deoptimize_pc = instrumentation->PopInstrumentationStackFrame(self, return_pc, 61 self [all...] |
H A D | quick_lock_entrypoints.cc | 22 extern "C" int artUnlockObjectFromCode(mirror::Object* obj, Thread* self, 25 FinishCalleeSaveFrameSetup(self, sp, Runtime::kRefsOnly); 28 return obj->MonitorExit(self) ? 0 /* Success */ : -1 /* Failure */;
|
H A D | quick_fillarray_entrypoints.cc | 42 Thread* self, mirror::ArtMethod** sp) 44 FinishCalleeSaveFrameSetup(self, sp, Runtime::kRefsOnly); 52 ThrowLocation throw_location = self->GetCurrentLocationForThrow(); 53 self->ThrowNewExceptionF(throw_location, "Ljava/lang/ArrayIndexOutOfBoundsException;",
|
/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); 37 return art_portable_jni_method_start(self); 40 static void PopLocalReferences(uint32_t saved_local_ref_cookie, Thread* self) { argument 41 JNIEnvExt* env = self->GetJniEnv(); 46 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...] |
H A D | portable_thread_entrypoints.cc | 27 explicit ShadowFrameCopyVisitor(Thread* self) : StackVisitor(self, NULL), prev_frame_(NULL), argument 76 extern "C" void art_portable_test_suspend_from_code(Thread* self) 78 CheckSuspend(self); 81 ShadowFrameCopyVisitor visitor(self); 83 self->SetDeoptimizationShadowFrame(visitor.GetShadowFrameCopy()); 84 self->SetDeoptimizationReturnValue(JValue()); 85 self->SetException(ThrowLocation(), reinterpret_cast<mirror::Throwable*>(-1));
|
/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 52 SetCountLocked(Thread* self, int count) argument [all...] |
H A D | thread_list.cc | 90 DIR* d = opendir("/proc/self/task"); 95 Thread* self = Thread::Current(); local 103 MutexLock mu(self, *Locks::thread_list_lock_); 122 void ThreadList::AssertThreadsAreSuspended(Thread* self, Thread* ignore1, Thread* ignore2) { argument 123 MutexLock mu(self, *Locks::thread_list_lock_); 124 MutexLock mu2(self, *Locks::thread_suspend_count_lock_); 129 << "self: <<" << *Thread::Current(); 136 static void UnsafeLogFatalForThreadSuspendAllTimeout(Thread* self) NO_THREAD_SAFETY_ANALYSIS { 148 Thread* self = Thread::Current(); local 150 Locks::mutator_lock_->AssertNotExclusiveHeld(self); 225 Thread* self = Thread::Current(); local 269 Thread* self = Thread::Current(); local 299 Thread* self = Thread::Current(); local 325 Thread* self = Thread::Current(); local 367 Thread* self = Thread::Current(); local 412 Thread* self = Thread::Current(); local 440 Thread* self = Thread::Current(); local 466 Thread* self = Thread::Current(); local 499 Register(Thread* self) argument 521 Unregister(Thread* self) argument 578 AllocThreadId(Thread* self) argument 590 ReleaseThreadId(Thread* self, uint32_t id) argument [all...] |
H A D | thread_pool.cc | 46 Thread* self = Thread::Current(); local 48 thread_pool_->creation_barier_.Wait(self); 49 while ((task = thread_pool_->GetTask(self)) != NULL) { 50 task->Run(self); 65 void ThreadPool::AddTask(Thread* self, Task* task) { argument 66 MutexLock mu(self, task_queue_lock_); 70 task_queue_condition_.Signal(self); 86 Thread* self = Thread::Current(); local 92 creation_barier_.Wait(self); 103 Thread* self local 115 StartWorkers(Thread* self) argument 123 StopWorkers(Thread* self) argument 128 GetTask(Thread* self) argument 160 TryGetTask(Thread* self) argument 165 TryGetTaskLocked(Thread* self) argument 174 Wait(Thread* self, bool do_work, bool may_hold_locks) argument 193 GetTaskCount(Thread* self) argument 203 Thread* self = Thread::Current(); local 283 FindTaskToStealFrom(Thread* self) argument [all...] |
H A D | barrier.h | 32 void Pass(Thread* self); 35 void Wait(Thread* self); 39 void Init(Thread* self, int count); 42 void Increment(Thread* self, int delta); 45 void SetCountLocked(Thread* self, int count) EXCLUSIVE_LOCKS_REQUIRED(lock_);
|
H A D | thread_pool_test.cc | 30 void Run(Thread* self) { argument 32 LOG(INFO) << "Running: " << *self; 61 Thread* self = Thread::Current(); local 66 thread_pool.AddTask(self, new CountTask(&count)); 68 thread_pool.StartWorkers(self); 70 thread_pool.Wait(self, true, false); 76 Thread* self = Thread::Current(); local 81 thread_pool.AddTask(self, new CountTask(&count)); 87 thread_pool.StartWorkers(self); 89 thread_pool.StopWorkers(self); 110 Run(Thread* self) argument 131 Thread* self = Thread::Current(); local [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.cc | 197 void Monitor::Lock(Thread* self) { argument 198 if (owner_ == self) { 203 if (!monitor_lock_.TryLock(self)) { 210 ScopedThreadStateChange tsc(self, kBlocked); 217 monitor_lock_.Lock(self); 236 LogContentionEvent(self, wait_ms, sample_percent, current_locking_filename, current_locking_line_number); 240 owner_ = self; 246 locking_method_ = self->GetCurrentMethod(&locking_dex_pc_); 257 Thread* self = Thread::Current(); local 258 ThrowLocation throw_location = self 338 Unlock(Thread* self, bool for_wait) argument 391 Wait(Thread* self, int64_t ms, int32_t ns, bool interruptShouldThrow, ThreadState why) argument 412 WaitWithLock(Thread* self, int64_t ms, int32_t ns, bool interruptShouldThrow, ThreadState why) argument 529 Notify(Thread* self) argument 540 NotifyWithLock(Thread* self) argument 556 NotifyAll(Thread* self) argument 581 Inflate(Thread* self, mirror::Object* obj) argument 594 MonitorEnter(Thread* self, mirror::Object* obj) argument 697 MonitorExit(Thread* self, mirror::Object* obj) argument 759 Wait(Thread* self, mirror::Object *obj, int64_t ms, int32_t ns, bool interruptShouldThrow, ThreadState why) argument 783 Notify(Thread* self, mirror::Object *obj) argument 804 NotifyAll(Thread* self, mirror::Object *obj) argument 846 Thread* self = Thread::Current(); local 1008 Thread* self = Thread::Current(); local 1015 Thread* self = Thread::Current(); local [all...] |
H A D | closure.h | 27 virtual void Run(Thread* self) = 0;
|
/art/runtime/base/ |
H A D | mutex.h | 84 void RegisterAsLocked(Thread* self); 85 void RegisterAsUnlocked(Thread* self); 86 void CheckSafeToWait(Thread* self); 147 void ExclusiveLock(Thread* self) EXCLUSIVE_LOCK_FUNCTION(); 148 void Lock(Thread* self) EXCLUSIVE_LOCK_FUNCTION() { ExclusiveLock(self); } 151 bool ExclusiveTryLock(Thread* self) EXCLUSIVE_TRYLOCK_FUNCTION(true); 152 bool TryLock(Thread* self) EXCLUSIVE_TRYLOCK_FUNCTION(true) { return ExclusiveTryLock(self); } 155 void ExclusiveUnlock(Thread* self) UNLOCK_FUNCTIO 162 AssertExclusiveHeld(const Thread* self) argument 167 AssertHeld(const Thread* self) argument 170 AssertNotHeldExclusive(const Thread* self) argument 175 AssertNotHeld(const Thread* self) argument 258 AssertExclusiveHeld(const Thread* self) argument 263 AssertWriterHeld(const Thread* self) argument 266 AssertNotExclusiveHeld(const Thread* self) argument 271 AssertNotWriterHeld(const Thread* self) argument 277 AssertSharedHeld(const Thread* self) argument 283 AssertReaderHeld(const Thread* self) argument 287 AssertNotHeld(const Thread* self) argument [all...] |
H A D | mutex-inl.h | 71 static inline uint64_t SafeGetTid(const Thread* self) { argument 72 if (self != NULL) { 73 return static_cast<uint64_t>(self->GetTid()); 91 inline void BaseMutex::RegisterAsLocked(Thread* self) { argument 92 if (UNLIKELY(self == NULL)) { 100 BaseMutex* held_mutex = self->GetHeldMutex(static_cast<LockLevel>(i)); 117 self->SetHeldMutex(level_, this); 121 inline void BaseMutex::RegisterAsUnlocked(Thread* self) { argument 122 if (UNLIKELY(self == NULL)) { 128 CHECK(self 134 SharedLock(Thread* self) argument 162 SharedUnlock(Thread* self) argument [all...] |
/art/runtime/entrypoints/jni/ |
H A D | jni_entrypoints.cc | 29 Thread* self = Thread::Current(); local 30 Locks::mutator_lock_->AssertNotHeld(self); // We come here as Native. 31 ScopedObjectAccess soa(self); 33 mirror::ArtMethod* method = self->GetCurrentMethod(NULL); 40 DCHECK(self->IsExceptionPending()); 44 method->RegisterNative(self, native_code); 58 extern "C" const void* artWorkAroundAppJniBugs(Thread* self, intptr_t* sp) 60 DCHECK(Thread::Current() == self); 72 mirror::ArtMethod* jni_method = self->GetCurrentMethod(NULL); 118 jni_method->RegisterNative(self, cod [all...] |
/art/runtime/mirror/ |
H A D | array.cc | 35 Array* Array::Alloc(Thread* self, Class* array_class, int32_t component_count, argument 48 self->ThrowOutOfMemoryError(StringPrintf("%s of length %d would overflow", 55 Array* array = down_cast<Array*>(heap->AllocObject(self, array_class, size)); 63 Array* Array::Alloc(Thread* self, Class* array_class, int32_t component_count) { argument 65 return Alloc(self, array_class, component_count, array_class->GetComponentSize()); 76 static Array* RecursiveCreateMultiArray(Thread* self, Class* array_class, int current_dimension, 80 SirtRef<Array> new_array(self, Array::Alloc(self, array_class, array_length)); 82 CHECK(self->IsExceptionPending()); 88 Array* sub_array = RecursiveCreateMultiArray(self, array_clas 100 CreateMultiArray(Thread* self, Class* element_class, IntArray* dimensions) argument 146 Alloc(Thread* self, size_t length) argument [all...] |
/art/runtime/jdwp/ |
H A D | object_registry.cc | 83 Thread* self = Thread::Current(); local 84 MutexLock mu(self, lock_); 89 Thread* self = Thread::Current(); local 90 MutexLock mu(self, lock_); 94 JNIEnv* env = self->GetJniEnv(); 110 Thread* self = Thread::Current(); local 111 MutexLock mu(self, lock_); 117 return self->DecodeJObject(entry.jni_reference); 121 Thread* self = Thread::Current(); local 122 MutexLock mu(self, lock 130 Thread* self = Thread::Current(); local 140 Thread* self = Thread::Current(); local 151 Thread* self = Thread::Current(); local 162 Thread* self = Thread::Current(); local 172 Thread* self = Thread::Current(); local 189 Thread* self = Thread::Current(); local [all...] |