Lines Matching refs:self

35 static void InterpreterJni(Thread* self, ArtMethod* method, const StringPiece& shorty,
40 ScopedObjectAccessUnchecked soa(self);
49 ScopedThreadStateChange tsc(self, kNative);
58 ScopedThreadStateChange tsc(self, kNative);
65 ScopedThreadStateChange tsc(self, kNative);
72 ScopedThreadStateChange tsc(self, kNative);
79 ScopedThreadStateChange tsc(self, kNative);
91 ScopedThreadStateChange tsc(self, kNative);
100 ScopedThreadStateChange tsc(self, kNative);
111 ScopedThreadStateChange tsc(self, kNative);
119 ScopedThreadStateChange tsc(self, kNative);
126 ScopedThreadStateChange tsc(self, kNative);
139 ScopedThreadStateChange tsc(self, kNative);
152 ScopedThreadStateChange tsc(self, kNative);
162 ScopedThreadStateChange tsc(self, kNative);
175 ScopedThreadStateChange tsc(self, kNative);
189 ScopedThreadStateChange tsc(self, kNative);
198 ScopedThreadStateChange tsc(self, kNative);
210 ScopedThreadStateChange tsc(self, kNative);
214 ScopedThreadStateChange tsc(self, kNative);
220 ScopedThreadStateChange tsc(self, kNative);
254 JValue ExecuteGotoImpl<true, false>(Thread* self, const DexFile::CodeItem* code_item,
257 JValue ExecuteGotoImpl<false, false>(Thread* self, const DexFile::CodeItem* code_item,
260 JValue ExecuteGotoImpl<true, true>(Thread* self, const DexFile::CodeItem* code_item,
263 JValue ExecuteGotoImpl<false, true>(Thread* self, const DexFile::CodeItem* code_item,
268 Thread* self,
277 self->AssertNoPendingException();
283 instrumentation->MethodEnterEvent(self, shadow_frame.GetThisObject(code_item->ins_size_),
290 jit->MethodEntered(self, shadow_frame.GetMethod());
295 self->PopShadowFrame();
296 ArtInterpreterToCompiledCodeBridge(self, nullptr, code_item, &shadow_frame, &result);
298 self->PushShadowFrame(&shadow_frame);
306 shadow_frame.GetMethod()->GetDeclaringClass()->AssertInitializedOrInitializingInThread(self);
319 return ExecuteSwitchImpl<false, true>(self, code_item, shadow_frame, result_register,
322 return ExecuteSwitchImpl<false, false>(self, code_item, shadow_frame, result_register,
328 return ExecuteSwitchImpl<false, false>(self, code_item, shadow_frame, result_register,
331 bool returned = ExecuteMterpImpl(self, code_item, &shadow_frame, &result_register);
336 result_register = ExecuteSwitchImpl<false, false>(self, code_item, shadow_frame,
347 return ExecuteSwitchImpl<false, true>(self, code_item, shadow_frame, result_register,
350 return ExecuteSwitchImpl<false, false>(self, code_item, shadow_frame, result_register,
356 return ExecuteGotoImpl<false, true>(self, code_item, shadow_frame, result_register);
358 return ExecuteGotoImpl<false, false>(self, code_item, shadow_frame, result_register);
366 return ExecuteSwitchImpl<true, true>(self, code_item, shadow_frame, result_register,
369 return ExecuteSwitchImpl<true, false>(self, code_item, shadow_frame, result_register,
374 return ExecuteSwitchImpl<true, true>(self, code_item, shadow_frame, result_register,
377 return ExecuteSwitchImpl<true, false>(self, code_item, shadow_frame, result_register,
383 return ExecuteGotoImpl<true, true>(self, code_item, shadow_frame, result_register);
385 return ExecuteGotoImpl<true, false>(self, code_item, shadow_frame, result_register);
391 void EnterInterpreterFromInvoke(Thread* self, ArtMethod* method, Object* receiver,
394 DCHECK_EQ(self, Thread::Current());
396 if (UNLIKELY(__builtin_frame_address(0) < self->GetStackEndForInterpreter(implicit_check))) {
397 ThrowStackOverflowError(self);
401 const char* old_cause = self->StartAssertNoThreadSuspension("EnterInterpreterFromInvoke");
409 self->EndAssertNoThreadSuspension(old_cause);
421 ShadowFrame* last_shadow_frame = self->GetManagedStack()->GetTopShadowFrame();
425 self->PushShadowFrame(shadow_frame);
455 self->EndAssertNoThreadSuspension(old_cause);
459 StackHandleScope<1> hs(self);
461 if (UNLIKELY(!class_linker->EnsureInitialized(self, h_class, true, true))) {
462 CHECK(self->IsExceptionPending());
463 self->PopShadowFrame();
468 JValue r = Execute(self, code_item, *shadow_frame, JValue(), stay_in_interpreter);
479 UnstartedRuntime::Jni(self, method, receiver, args, result);
481 InterpreterJni(self, method, shorty, receiver, args, result);
484 self->PopShadowFrame();
517 void EnterInterpreterFromDeoptimize(Thread* self,
532 self->SetTopOfShadowStack(shadow_frame);
536 if (UNLIKELY(self->IsExceptionPending())) {
542 uint32_t found_dex_pc = FindNextInstructionFollowingException(self, *shadow_frame, dex_pc,
591 value = Execute(self, code_item, *shadow_frame, value);
603 JValue EnterInterpreterFromEntryPoint(Thread* self, const DexFile::CodeItem* code_item,
605 DCHECK_EQ(self, Thread::Current());
607 if (UNLIKELY(__builtin_frame_address(0) < self->GetStackEndForInterpreter(implicit_check))) {
608 ThrowStackOverflowError(self);
614 jit->NotifyCompiledCodeToInterpreterTransition(self, shadow_frame->GetMethod());
616 return Execute(self, code_item, *shadow_frame, JValue());
619 void ArtInterpreterToInterpreterBridge(Thread* self, const DexFile::CodeItem* code_item,
622 if (UNLIKELY(__builtin_frame_address(0) < self->GetStackEndForInterpreter(implicit_check))) {
623 ThrowStackOverflowError(self);
627 self->PushShadowFrame(shadow_frame);
634 StackHandleScope<1> hs(self);
637 self, h_declaring_class, true, true))) {
638 DCHECK(self->IsExceptionPending());
639 self->PopShadowFrame();
647 result->SetJ(Execute(self, code_item, *shadow_frame, JValue()).GetJ());
654 UnstartedRuntime::Jni(self, shadow_frame->GetMethod(), receiver, args, result);
657 self->PopShadowFrame();
664 void InitInterpreterTls(Thread* self) {
665 InitMterpTls(self);