Lines Matching refs:main_jni_conv
182 std::unique_ptr<JniCallingConvention> main_jni_conv = in ArtJniCompileMethodInternal() local
189 bool reference_return = main_jni_conv->IsReturnAReference(); in ArtJniCompileMethodInternal()
223 const size_t frame_size(main_jni_conv->FrameSize()); // Excludes outgoing args. in ArtJniCompileMethodInternal()
224 ArrayRef<const ManagedRegister> callee_save_regs = main_jni_conv->CalleeSaveRegisters(); in ArtJniCompileMethodInternal()
234 main_jni_conv->ResetIterator(FrameOffset(0)); in ArtJniCompileMethodInternal()
235 __ StoreImmediateToFrame(main_jni_conv->HandleScopeNumRefsOffset(), in ArtJniCompileMethodInternal()
236 main_jni_conv->ReferenceCount(), in ArtJniCompileMethodInternal()
239 __ CopyRawPtrFromThread(main_jni_conv->HandleScopeLinkOffset(), in ArtJniCompileMethodInternal()
243 main_jni_conv->HandleScopeOffset(), in ArtJniCompileMethodInternal()
247 main_jni_conv->Next(); // Skip JNIEnv* in ArtJniCompileMethodInternal()
250 FrameOffset handle_scope_offset = main_jni_conv->CurrentParamHandleScopeEntryOffset(); in ArtJniCompileMethodInternal()
257 __ LoadRef(main_jni_conv->InterproceduralScratchRegister(), in ArtJniCompileMethodInternal()
259 __ VerifyObject(main_jni_conv->InterproceduralScratchRegister(), false); in ArtJniCompileMethodInternal()
261 __ StoreRef(handle_scope_offset, main_jni_conv->InterproceduralScratchRegister()); in ArtJniCompileMethodInternal()
262 main_jni_conv->Next(); // in handle scope so move to next argument in ArtJniCompileMethodInternal()
266 CHECK(main_jni_conv->HasNext()); in ArtJniCompileMethodInternal()
267 bool ref_param = main_jni_conv->IsCurrentParamAReference(); in ArtJniCompileMethodInternal()
273 FrameOffset handle_scope_offset = main_jni_conv->CurrentParamHandleScopeEntryOffset(); in ArtJniCompileMethodInternal()
277 main_jni_conv->SavedLocalReferenceCookieOffset().Uint32Value()); in ArtJniCompileMethodInternal()
294 main_jni_conv->Next(); in ArtJniCompileMethodInternal()
307 const size_t main_out_arg_size = main_jni_conv->OutArgSize(); in ArtJniCompileMethodInternal()
324 __ LoadFromThread(main_jni_conv->InterproceduralScratchRegister(), in ArtJniCompileMethodInternal()
330 main_jni_conv->InterproceduralScratchRegister()); in ArtJniCompileMethodInternal()
340 main_jni_conv->ResetIterator(FrameOffset(main_out_arg_size)); in ArtJniCompileMethodInternal()
341 main_jni_conv->Next(); // Skip JNIEnv. in ArtJniCompileMethodInternal()
342 FrameOffset class_handle_scope_offset = main_jni_conv->CurrentParamHandleScopeEntryOffset(); in ArtJniCompileMethodInternal()
343 main_jni_conv->ResetIterator(FrameOffset(main_out_arg_size)); in ArtJniCompileMethodInternal()
345 if (main_jni_conv->IsCurrentParamOnStack()) { in ArtJniCompileMethodInternal()
346 FrameOffset out_off = main_jni_conv->CurrentParamStackOffset(); in ArtJniCompileMethodInternal()
351 ManagedRegister out_reg = main_jni_conv->CurrentParamRegister(); in ArtJniCompileMethodInternal()
355 main_jni_conv->Next(); in ArtJniCompileMethodInternal()
357 if (main_jni_conv->IsCurrentParamInRegister()) { in ArtJniCompileMethodInternal()
358 __ GetCurrentThread(main_jni_conv->CurrentParamRegister()); in ArtJniCompileMethodInternal()
359 __ Call(main_jni_conv->CurrentParamRegister(), in ArtJniCompileMethodInternal()
361 main_jni_conv->InterproceduralScratchRegister()); in ArtJniCompileMethodInternal()
363 __ GetCurrentThread(main_jni_conv->CurrentParamStackOffset(), in ArtJniCompileMethodInternal()
364 main_jni_conv->InterproceduralScratchRegister()); in ArtJniCompileMethodInternal()
365 __ CallFromThread(read_barrier, main_jni_conv->InterproceduralScratchRegister()); in ArtJniCompileMethodInternal()
367 main_jni_conv->ResetIterator(FrameOffset(main_out_arg_size)); // Reset. in ArtJniCompileMethodInternal()
386 main_jni_conv->ResetIterator(FrameOffset(main_out_arg_size)); in ArtJniCompileMethodInternal()
390 main_jni_conv->Next(); // Skip JNIEnv. in ArtJniCompileMethodInternal()
391 locked_object_handle_scope_offset = main_jni_conv->CurrentParamHandleScopeEntryOffset(); in ArtJniCompileMethodInternal()
392 main_jni_conv->ResetIterator(FrameOffset(main_out_arg_size)); in ArtJniCompileMethodInternal()
393 if (main_jni_conv->IsCurrentParamOnStack()) { in ArtJniCompileMethodInternal()
394 FrameOffset out_off = main_jni_conv->CurrentParamStackOffset(); in ArtJniCompileMethodInternal()
398 ManagedRegister out_reg = main_jni_conv->CurrentParamRegister(); in ArtJniCompileMethodInternal()
402 main_jni_conv->Next(); in ArtJniCompileMethodInternal()
404 if (main_jni_conv->IsCurrentParamInRegister()) { in ArtJniCompileMethodInternal()
405 __ GetCurrentThread(main_jni_conv->CurrentParamRegister()); in ArtJniCompileMethodInternal()
406 __ Call(main_jni_conv->CurrentParamRegister(), in ArtJniCompileMethodInternal()
408 main_jni_conv->InterproceduralScratchRegister()); in ArtJniCompileMethodInternal()
410 __ GetCurrentThread(main_jni_conv->CurrentParamStackOffset(), in ArtJniCompileMethodInternal()
411 main_jni_conv->InterproceduralScratchRegister()); in ArtJniCompileMethodInternal()
412 __ CallFromThread(jni_start, main_jni_conv->InterproceduralScratchRegister()); in ArtJniCompileMethodInternal()
415 __ ExceptionPoll(main_jni_conv->InterproceduralScratchRegister(), main_out_arg_size); in ArtJniCompileMethodInternal()
423 saved_cookie_offset = main_jni_conv->SavedLocalReferenceCookieOffset(); in ArtJniCompileMethodInternal()
424 __ Store(saved_cookie_offset, main_jni_conv->IntReturnRegister(), 4 /* sizeof cookie */); in ArtJniCompileMethodInternal()
445 main_jni_conv->ResetIterator(FrameOffset(main_out_arg_size)); in ArtJniCompileMethodInternal()
449 main_jni_conv->Next(); // Skip JNIEnv*. in ArtJniCompileMethodInternal()
451 main_jni_conv->Next(); // Skip Class for now. in ArtJniCompileMethodInternal()
457 main_jni_conv->Next(); in ArtJniCompileMethodInternal()
459 CopyParameter(jni_asm.get(), mr_conv.get(), main_jni_conv.get(), frame_size, main_out_arg_size); in ArtJniCompileMethodInternal()
464 main_jni_conv->ResetIterator(FrameOffset(main_out_arg_size)); in ArtJniCompileMethodInternal()
465 main_jni_conv->Next(); // Skip JNIEnv* in ArtJniCompileMethodInternal()
466 FrameOffset handle_scope_offset = main_jni_conv->CurrentParamHandleScopeEntryOffset(); in ArtJniCompileMethodInternal()
467 if (main_jni_conv->IsCurrentParamOnStack()) { in ArtJniCompileMethodInternal()
468 FrameOffset out_off = main_jni_conv->CurrentParamStackOffset(); in ArtJniCompileMethodInternal()
473 ManagedRegister out_reg = main_jni_conv->CurrentParamRegister(); in ArtJniCompileMethodInternal()
480 main_jni_conv->ResetIterator(FrameOffset(main_out_arg_size)); in ArtJniCompileMethodInternal()
484 if (main_jni_conv->IsCurrentParamInRegister()) { in ArtJniCompileMethodInternal()
485 ManagedRegister jni_env = main_jni_conv->CurrentParamRegister(); in ArtJniCompileMethodInternal()
486 DCHECK(!jni_env.Equals(main_jni_conv->InterproceduralScratchRegister())); in ArtJniCompileMethodInternal()
489 FrameOffset jni_env = main_jni_conv->CurrentParamStackOffset(); in ArtJniCompileMethodInternal()
492 main_jni_conv->InterproceduralScratchRegister()); in ArtJniCompileMethodInternal()
500 __ Call(main_jni_conv->MethodStackOffset(), in ArtJniCompileMethodInternal()
506 if (main_jni_conv->RequiresSmallResultTypeExtension()) { in ArtJniCompileMethodInternal()
507 if (main_jni_conv->GetReturnType() == Primitive::kPrimByte || in ArtJniCompileMethodInternal()
508 main_jni_conv->GetReturnType() == Primitive::kPrimShort) { in ArtJniCompileMethodInternal()
509 __ SignExtend(main_jni_conv->ReturnRegister(), in ArtJniCompileMethodInternal()
510 Primitive::ComponentSize(main_jni_conv->GetReturnType())); in ArtJniCompileMethodInternal()
511 } else if (main_jni_conv->GetReturnType() == Primitive::kPrimBoolean || in ArtJniCompileMethodInternal()
512 main_jni_conv->GetReturnType() == Primitive::kPrimChar) { in ArtJniCompileMethodInternal()
513 __ ZeroExtend(main_jni_conv->ReturnRegister(), in ArtJniCompileMethodInternal()
514 Primitive::ComponentSize(main_jni_conv->GetReturnType())); in ArtJniCompileMethodInternal()
519 FrameOffset return_save_location = main_jni_conv->ReturnValueSaveLocation(); in ArtJniCompileMethodInternal()
520 if (main_jni_conv->SizeOfReturnValue() != 0 && !reference_return) { in ArtJniCompileMethodInternal()
526 main_jni_conv->GetReturnType() == Primitive::kPrimDouble && in ArtJniCompileMethodInternal()
536 main_jni_conv->ReturnRegister(), in ArtJniCompileMethodInternal()
537 main_jni_conv->SizeOfReturnValue()); in ArtJniCompileMethodInternal()
541 ManagedRegister jni_return_reg = main_jni_conv->ReturnRegister(); in ArtJniCompileMethodInternal()
551 __ Move(mr_return_reg, jni_return_reg, main_jni_conv->SizeOfReturnValue()); in ArtJniCompileMethodInternal()
555 CHECK_EQ(main_jni_conv->SizeOfReturnValue(), mr_conv->SizeOfReturnValue()); in ArtJniCompileMethodInternal()
623 if (main_jni_conv->SizeOfReturnValue() != 0 && !reference_return) { in ArtJniCompileMethodInternal()
635 __ ExceptionPoll(main_jni_conv->InterproceduralScratchRegister(), 0 /* stack_adjust= */); in ArtJniCompileMethodInternal()
656 main_jni_conv->CoreSpillMask(), in ArtJniCompileMethodInternal()
657 main_jni_conv->FpSpillMask(), in ArtJniCompileMethodInternal()