Home | History | Annotate | Download | only in runtime

Lines Matching refs:tlsPtr_

127   tlsPtr_.card_table = Runtime::Current()->GetHeap()->GetCardTable()->GetBiasedBegin();
140 UpdateReadBarrierEntrypoints(&tlsPtr_.quick_entrypoints, /* is_active */ is_marking);
146 uintptr_t* begin = reinterpret_cast<uintptr_t*>(&tlsPtr_.jni_entrypoints);
148 reinterpret_cast<uint8_t*>(&tlsPtr_.quick_entrypoints) + sizeof(tlsPtr_.quick_entrypoints));
152 InitEntryPoints(&tlsPtr_.jni_entrypoints, &tlsPtr_.quick_entrypoints);
160 ResetQuickAllocEntryPoints(&tlsPtr_.quick_entrypoints, is_marking);
239 tlsPtr_.deoptimization_context_stack);
240 tlsPtr_.deoptimization_context_stack = record;
247 DeoptimizationContextRecord* record = tlsPtr_.deoptimization_context_stack;
248 tlsPtr_.deoptimization_context_stack = record->GetLink();
256 CHECK(tlsPtr_.deoptimization_context_stack != nullptr)
262 sf, type, tlsPtr_.stacked_shadow_frame_record);
263 tlsPtr_.stacked_shadow_frame_record = record;
267 StackedShadowFrameRecord* record = tlsPtr_.stacked_shadow_frame_record;
275 tlsPtr_.stacked_shadow_frame_record = record->GetLink();
340 tlsPtr_.frame_id_to_shadow_frame, frame_id);
350 tlsPtr_.frame_id_to_shadow_frame, frame_id);
367 tlsPtr_.frame_id_to_shadow_frame,
375 tlsPtr_.frame_id_to_shadow_frame = record;
380 FrameIdToShadowFrame* head = tlsPtr_.frame_id_to_shadow_frame;
382 tlsPtr_.frame_id_to_shadow_frame = head->GetNext();
428 CHECK(self->Init(runtime->GetThreadList(), runtime->GetJavaVM(), self->tlsPtr_.tmp_jni_env));
429 self->tlsPtr_.tmp_jni_env = nullptr;
437 CHECK(self->tlsPtr_.jpeer != nullptr);
438 self->tlsPtr_.opeer = soa.Decode<mirror::Object>(self->tlsPtr_.jpeer).Ptr();
439 self->GetJniEnv()->DeleteGlobalRef(self->tlsPtr_.jpeer);
440 self->tlsPtr_.jpeer = nullptr;
444 self->SetNativePriority(priorityField->GetInt(self->tlsPtr_.opeer));
449 ObjPtr<mirror::Object> receiver = self->tlsPtr_.opeer;
524 uint8_t* pregion = tlsPtr_.stack_begin - kStackOverflowProtectedSize;
648 child_thread->tlsPtr_.jpeer = env->NewGlobalRef(java_peer);
666 child_thread->tlsPtr_.tmp_jni_env = child_jni_env_ext.get();
693 env->DeleteGlobalRef(child_thread->tlsPtr_.jpeer);
694 child_thread->tlsPtr_.jpeer = nullptr;
718 tlsPtr_.pthread_self = pthread_self();
744 tlsPtr_.jni_env = jni_env_ext;
747 tlsPtr_.jni_env = JNIEnvExt::Create(this, java_vm, &error_msg);
748 if (tlsPtr_.jni_env == nullptr) {
837 self->tlsPtr_.name->assign(thread_name);
854 self->tlsPtr_.opeer = soa.Decode<mirror::Object>(thread_peer).Ptr();
867 JNIEnv* env = tlsPtr_.jni_env;
888 tlsPtr_.opeer = soa.Decode<mirror::Object>(peer.get()).Ptr();
913 tlsPtr_.opeer,
920 tlsPtr_.opeer,
1003 tlsPtr_.name->assign(name);
1068 GetThreadStack(tlsPtr_.pthread_self, &read_stack_base, &read_stack_size, &read_guard_size);
1070 tlsPtr_.stack_begin = reinterpret_cast<uint8_t*>(read_stack_base);
1071 tlsPtr_.stack_size = read_stack_size;
1107 tlsPtr_.stack_begin = nullptr;
1118 tlsPtr_.stack_begin += read_guard_size + kStackOverflowProtectedSize;
1119 tlsPtr_.stack_end += read_guard_size + kStackOverflowProtectedSize;
1120 tlsPtr_.stack_size -= read_guard_size;
1126 CHECK_GT(FindStackTop(), reinterpret_cast<void*>(tlsPtr_.stack_end));
1140 << ",peer=" << tlsPtr_.opeer
1141 << ",\"" << (tlsPtr_.name != nullptr ? *tlsPtr_.name : "null") << "\""
1153 if (tlsPtr_.opeer == nullptr) {
1156 ObjPtr<mirror::Object> name = f->GetObject(tlsPtr_.opeer);
1161 name.assign(*tlsPtr_.name);
1167 pthread_getcpuclockid(tlsPtr_.pthread_self, &cpu_clock_id);
1225 if (kUseReadBarrier && delta > 0 && this != self && tlsPtr_.flip_function != nullptr) {
1235 if (tlsPtr_.active_suspend_barriers[i] == nullptr) {
1244 tlsPtr_.active_suspend_barriers[available_barrier] = suspend_barrier;
1290 pass_barriers[i] = tlsPtr_.active_suspend_barriers[i];
1291 tlsPtr_.active_suspend_barriers[i] = nullptr;
1323 AtomicInteger* ptr = tlsPtr_.active_suspend_barriers[i];
1325 tlsPtr_.active_suspend_barriers[i] = nullptr;
1344 if (tlsPtr_.checkpoint_function != nullptr) {
1345 checkpoint = tlsPtr_.checkpoint_function;
1348 tlsPtr_.checkpoint_function = checkpoint_overflow_.front();
1352 tlsPtr_.checkpoint_function = nullptr;
1390 if (tlsPtr_.checkpoint_function == nullptr) {
1391 tlsPtr_.checkpoint_function = function;
1538 Atomic<Closure*>* atomic_func = reinterpret_cast<Atomic<Closure*>*>(&tlsPtr_.flip_function);
1552 Atomic<Closure*>* atomic_func = reinterpret_cast<Atomic<Closure*>*>(&tlsPtr_.flip_function);
1613 if (gAborting == 0 && self != nullptr && thread != nullptr && thread->tlsPtr_.opeer != nullptr) {
1616 ->GetInt(thread->tlsPtr_.opeer);
1618 ->GetBoolean(thread->tlsPtr_.opeer);
1622 ->GetObject(thread->tlsPtr_.opeer);
1641 os << '"' << *thread->tlsPtr_.name << '"';
1664 << " obj=" << reinterpret_cast<void*>(thread->tlsPtr_.opeer)
1686 CHECK_PTHREAD_CALL(pthread_getschedparam, (thread->tlsPtr_.pthread_self, &policy, &sp),
1690 << " handle=" << reinterpret_cast<void*>(thread->tlsPtr_.pthread_self);
1715 os << " | stack=" << reinterpret_cast<void*>(thread->tlsPtr_.stack_begin) << "-"
1716 << reinterpret_cast<void*>(thread->tlsPtr_.stack_end) << " stackSize="
1717 << PrettySize(thread->tlsPtr_.stack_size) << "\n";
2044 tlsPtr_.instrumentation_stack = new std::deque<instrumentation::InstrumentationStackFrame>;
2045 tlsPtr_.name = new std::string(kThreadNameDuringStartup);
2052 memset(&tlsPtr_.held_mutexes[0], 0, sizeof(tlsPtr_.held_mutexes));
2053 std::fill(tlsPtr_.rosalloc_runs,
2054 tlsPtr_.rosalloc_runs + kNumRosAllocThreadLocalSizeBracketsInThread,
2056 tlsPtr_.checkpoint_function = nullptr;
2058 tlsPtr_.active_suspend_barriers[i] = nullptr;
2060 tlsPtr_.flip_function = nullptr;
2061 tlsPtr_.thread_local_mark_stack = nullptr;
2072 return (tlsPtr_.jpeer == nullptr && tlsPtr_.opeer == nullptr) ||
2073 (*tlsPtr_.name == kThreadNameDuringStartup);
2126 if (tlsPtr_.jni_env != nullptr) {
2131 tlsPtr_.jni_env->monitors.VisitRoots(&visitor, RootInfo(kRootVMInternal));
2134 if (tlsPtr_.jpeer != nullptr) {
2136 tlsPtr_.jni_env->DeleteGlobalRef(tlsPtr_.jpeer);
2137 tlsPtr_.jpeer = nullptr;
2139 if (tlsPtr_.class_loader_override != nullptr) {
2140 tlsPtr_.jni_env->DeleteGlobalRef(tlsPtr_.class_loader_override);
2141 tlsPtr_.class_loader_override = nullptr;
2145 if (tlsPtr_.opeer != nullptr) {
2158 ->SetLong<true>(tlsPtr_.opeer, 0);
2161 ->SetLong<false>(tlsPtr_.opeer, 0);
2167 jni::DecodeArtField(WellKnownClasses::java_lang_Thread_lock)->GetObject(tlsPtr_.opeer);
2175 tlsPtr_.opeer = nullptr;
2188 CHECK(tlsPtr_.class_loader_override == nullptr);
2189 CHECK(tlsPtr_.jpeer == nullptr);
2190 CHECK(tlsPtr_.opeer == nullptr);
2191 bool initialized = (tlsPtr_.jni_env != nullptr); // Did Thread::Init run?
2193 delete tlsPtr_.jni_env;
2194 tlsPtr_.jni_env = nullptr;
2199 CHECK(tlsPtr_.checkpoint_function == nullptr);
2201 CHECK(tlsPtr_.flip_function == nullptr);
2205 CHECK(tlsPtr_.deoptimization_context_stack == nullptr) << "Missed deoptimization";
2206 CHECK(tlsPtr_.frame_id_to_shadow_frame == nullptr) <<
2215 if (tlsPtr_.long_jump_context != nullptr) {
2216 delete tlsPtr_.long_jump_context;
2223 if (tlsPtr_.single_step_control != nullptr) {
2224 delete tlsPtr_.single_step_control;
2226 delete tlsPtr_.instrumentation_stack;
2227 delete tlsPtr_.name;
2228 delete tlsPtr_.deps_or_stack_trace_sample.stack_trace_sample;
2239 ScopedLocalRef<jobject> peer(tlsPtr_.jni_env, soa.AddLocalReference<jobject>(tlsPtr_.opeer));
2243 ScopedLocalRef<jthrowable> exception(tlsPtr_.jni_env, tlsPtr_.jni_env->ExceptionOccurred());
2244 tlsPtr_.jni_env->ExceptionClear();
2247 tlsPtr_.jni_env->CallVoidMethod(peer.get(),
2252 tlsPtr_.jni_env->ExceptionClear();
2259 ->GetObject(tlsPtr_.opeer);
2262 ScopedLocalRef<jobject> peer(soa.Env(), soa.AddLocalReference<jobject>(tlsPtr_.opeer));
2264 tlsPtr_.jni_env->CallVoidMethod(group.get(),
2273 for (BaseHandleScope* cur = tlsPtr_.top_handle_scope; cur!= nullptr; cur = cur->GetLink()) {
2279 return tlsPtr_.managed_stack.ShadowFramesContain(hs_entry);
2285 for (BaseHandleScope* cur = tlsPtr_.top_handle_scope; cur; cur = cur->GetLink()) {
2300 IndirectReferenceTable& locals = tlsPtr_.jni_env->locals;
2311 tlsPtr_.jni_env->vm->JniAbortF(nullptr, "use of invalid jobject %p", obj);
2316 result = tlsPtr_.jni_env->vm->DecodeGlobal(ref);
2319 result = tlsPtr_.jni_env->vm->DecodeWeakGlobal(const_cast<Thread*>(this), ref);
2328 tlsPtr_.jni_env->vm->JniAbortF(nullptr, "use of deleted %s %p",
2339 return tlsPtr_.jni_env->vm->IsWeakGlobalCleared(const_cast<Thread*>(this), ref);
2380 if (tlsPtr_.class_loader_override != nullptr) {
2381 GetJniEnv()->DeleteGlobalRef(tlsPtr_.class_loader_override);
2383 tlsPtr_.class_loader_override = GetJniEnv()->NewGlobalRef(class_loader_override);
3109 Context* result = tlsPtr_.long_jump_context;
3113 tlsPtr_.long_jump_context = nullptr; // Avoid context being shared.
3443 visitor->VisitRootIfNonNull(&tlsPtr_.opeer, RootInfo(kRootThreadObject, thread_id));
3444 if (tlsPtr_.exception != nullptr && tlsPtr_.exception != GetDeoptimizationException()) {
3445 visitor->VisitRoot(reinterpret_cast<mirror::Object**>(&tlsPtr_.exception),
3448 visitor->VisitRootIfNonNull(&tlsPtr_.monitor_enter_object, RootInfo(kRootNativeStack, thread_id));
3449 tlsPtr_.jni_env->locals.VisitRoots(visitor, RootInfo(kRootJNILocal, thread_id));
3450 tlsPtr_.jni_env->monitors.VisitRoots(visitor, RootInfo(kRootJNIMonitor, thread_id));
3452 if (tlsPtr_.debug_invoke_req != nullptr) {
3453 tlsPtr_.debug_invoke_req->VisitRoots(visitor, RootInfo(kRootDebugger, thread_id));
3456 if (tlsPtr_.stacked_shadow_frame_record != nullptr) {
3459 for (StackedShadowFrameRecord* record = tlsPtr_.stacked_shadow_frame_record;
3469 for (DeoptimizationContextRecord* record = tlsPtr_.deoptimization_context_stack;
3479 if (tlsPtr_.frame_id_to_shadow_frame != nullptr) {
3482 for (FrameIdToShadowFrame* record = tlsPtr_.frame_id_to_shadow_frame;
3488 for (auto* verifier = tlsPtr_.method_verifier; verifier != nullptr; verifier = verifier->link_) {
3530 if (tlsPtr_.stack_end == tlsPtr_.stack_begin) {
3538 tlsPtr_.stack_end = tlsPtr_.stack_begin;
3552 tlsPtr_.thread_local_start = start;
3553 tlsPtr_.thread_local_pos = tlsPtr_.thread_local_start;
3554 tlsPtr_.thread_local_end = end;
3555 tlsPtr_.thread_local_limit = limit;
3556 tlsPtr_.thread_local_objects = 0;
3560 bool has_tlab = tlsPtr_.thread_local_pos != nullptr;
3562 DCHECK(tlsPtr_.thread_local_start != nullptr && tlsPtr_.thread_local_end != nullptr);
3564 DCHECK(tlsPtr_.thread_local_start == nullptr && tlsPtr_.thread_local_end == nullptr);
3575 void* pregion = tlsPtr_.stack_begin - kStackOverflowProtectedSize;
3589 void* pregion = tlsPtr_.stack_begin - kStackOverflowProtectedSize;
3598 tlsPtr_.single_step_control = ssc;
3605 tlsPtr_.single_step_control = nullptr;
3614 tlsPtr_.debug_invoke_req = req;
3620 DebugInvokeReq* req = tlsPtr_.debug_invoke_req;
3621 tlsPtr_.debug_invoke_req = nullptr;
3626 verifier->link_ = tlsPtr_.method_verifier;
3627 tlsPtr_.method_verifier = verifier;
3631 CHECK_EQ(tlsPtr_.method_verifier, verifier);
3632 tlsPtr_.method_verifier = verifier->link_;
3637 for (BaseMutex* mu : tlsPtr_.held_mutexes) {
3665 tlsPtr_.exception = new_exception.Ptr();
3673 DCHECK(tlsPtr_.jpeer == nullptr);
3674 mirror::Object* peer = tlsPtr_.opeer;
3686 UpdateReadBarrierEntrypoints(&tlsPtr_.quick_entrypoints, /* is_active*/ true);