Lines Matching refs:main_jni_conv

72   std::unique_ptr<JniCallingConvention> main_jni_conv(  in ArtJniCompileMethodInternal()  local
74 bool reference_return = main_jni_conv->IsReturnAReference(); in ArtJniCompileMethodInternal()
106 const size_t frame_size(main_jni_conv->FrameSize()); in ArtJniCompileMethodInternal()
107 const std::vector<ManagedRegister>& callee_save_regs = main_jni_conv->CalleeSaveRegisters(); in ArtJniCompileMethodInternal()
113 main_jni_conv->ResetIterator(FrameOffset(0)); in ArtJniCompileMethodInternal()
114 __ StoreImmediateToFrame(main_jni_conv->HandleScopeNumRefsOffset(), in ArtJniCompileMethodInternal()
115 main_jni_conv->ReferenceCount(), in ArtJniCompileMethodInternal()
119 __ CopyRawPtrFromThread64(main_jni_conv->HandleScopeLinkOffset(), in ArtJniCompileMethodInternal()
123 main_jni_conv->HandleScopeOffset(), in ArtJniCompileMethodInternal()
126 __ CopyRawPtrFromThread32(main_jni_conv->HandleScopeLinkOffset(), in ArtJniCompileMethodInternal()
130 main_jni_conv->HandleScopeOffset(), in ArtJniCompileMethodInternal()
135 main_jni_conv->Next(); // Skip JNIEnv* in ArtJniCompileMethodInternal()
138 FrameOffset handle_scope_offset = main_jni_conv->CurrentParamHandleScopeEntryOffset(); in ArtJniCompileMethodInternal()
143 __ LoadRef(main_jni_conv->InterproceduralScratchRegister(), in ArtJniCompileMethodInternal()
145 __ VerifyObject(main_jni_conv->InterproceduralScratchRegister(), false); in ArtJniCompileMethodInternal()
146 __ StoreRef(handle_scope_offset, main_jni_conv->InterproceduralScratchRegister()); in ArtJniCompileMethodInternal()
147 main_jni_conv->Next(); // in handle scope so move to next argument in ArtJniCompileMethodInternal()
150 CHECK(main_jni_conv->HasNext()); in ArtJniCompileMethodInternal()
151 bool ref_param = main_jni_conv->IsCurrentParamAReference(); in ArtJniCompileMethodInternal()
157 FrameOffset handle_scope_offset = main_jni_conv->CurrentParamHandleScopeEntryOffset(); in ArtJniCompileMethodInternal()
161 main_jni_conv->SavedLocalReferenceCookieOffset().Uint32Value()); in ArtJniCompileMethodInternal()
178 main_jni_conv->Next(); in ArtJniCompileMethodInternal()
189 const size_t main_out_arg_size = main_jni_conv->OutArgSize(); in ArtJniCompileMethodInternal()
198 main_jni_conv->ResetIterator(FrameOffset(main_out_arg_size)); in ArtJniCompileMethodInternal()
199 main_jni_conv->Next(); // Skip JNIEnv. in ArtJniCompileMethodInternal()
200 FrameOffset class_handle_scope_offset = main_jni_conv->CurrentParamHandleScopeEntryOffset(); in ArtJniCompileMethodInternal()
201 main_jni_conv->ResetIterator(FrameOffset(main_out_arg_size)); in ArtJniCompileMethodInternal()
203 if (main_jni_conv->IsCurrentParamOnStack()) { in ArtJniCompileMethodInternal()
204 FrameOffset out_off = main_jni_conv->CurrentParamStackOffset(); in ArtJniCompileMethodInternal()
209 ManagedRegister out_reg = main_jni_conv->CurrentParamRegister(); in ArtJniCompileMethodInternal()
213 main_jni_conv->Next(); in ArtJniCompileMethodInternal()
215 if (main_jni_conv->IsCurrentParamInRegister()) { in ArtJniCompileMethodInternal()
216 __ GetCurrentThread(main_jni_conv->CurrentParamRegister()); in ArtJniCompileMethodInternal()
218 __ Call(main_jni_conv->CurrentParamRegister(), Offset(read_barrier64), in ArtJniCompileMethodInternal()
219 main_jni_conv->InterproceduralScratchRegister()); in ArtJniCompileMethodInternal()
221 __ Call(main_jni_conv->CurrentParamRegister(), Offset(read_barrier32), in ArtJniCompileMethodInternal()
222 main_jni_conv->InterproceduralScratchRegister()); in ArtJniCompileMethodInternal()
225 __ GetCurrentThread(main_jni_conv->CurrentParamStackOffset(), in ArtJniCompileMethodInternal()
226 main_jni_conv->InterproceduralScratchRegister()); in ArtJniCompileMethodInternal()
228 __ CallFromThread64(read_barrier64, main_jni_conv->InterproceduralScratchRegister()); in ArtJniCompileMethodInternal()
230 __ CallFromThread32(read_barrier32, main_jni_conv->InterproceduralScratchRegister()); in ArtJniCompileMethodInternal()
233 main_jni_conv->ResetIterator(FrameOffset(main_out_arg_size)); // Reset. in ArtJniCompileMethodInternal()
244 main_jni_conv->ResetIterator(FrameOffset(main_out_arg_size)); in ArtJniCompileMethodInternal()
248 main_jni_conv->Next(); // Skip JNIEnv. in ArtJniCompileMethodInternal()
249 locked_object_handle_scope_offset = main_jni_conv->CurrentParamHandleScopeEntryOffset(); in ArtJniCompileMethodInternal()
250 main_jni_conv->ResetIterator(FrameOffset(main_out_arg_size)); in ArtJniCompileMethodInternal()
251 if (main_jni_conv->IsCurrentParamOnStack()) { in ArtJniCompileMethodInternal()
252 FrameOffset out_off = main_jni_conv->CurrentParamStackOffset(); in ArtJniCompileMethodInternal()
256 ManagedRegister out_reg = main_jni_conv->CurrentParamRegister(); in ArtJniCompileMethodInternal()
260 main_jni_conv->Next(); in ArtJniCompileMethodInternal()
262 if (main_jni_conv->IsCurrentParamInRegister()) { in ArtJniCompileMethodInternal()
263 __ GetCurrentThread(main_jni_conv->CurrentParamRegister()); in ArtJniCompileMethodInternal()
265 __ Call(main_jni_conv->CurrentParamRegister(), Offset(jni_start64), in ArtJniCompileMethodInternal()
266 main_jni_conv->InterproceduralScratchRegister()); in ArtJniCompileMethodInternal()
268 __ Call(main_jni_conv->CurrentParamRegister(), Offset(jni_start32), in ArtJniCompileMethodInternal()
269 main_jni_conv->InterproceduralScratchRegister()); in ArtJniCompileMethodInternal()
272 __ GetCurrentThread(main_jni_conv->CurrentParamStackOffset(), in ArtJniCompileMethodInternal()
273 main_jni_conv->InterproceduralScratchRegister()); in ArtJniCompileMethodInternal()
275 __ CallFromThread64(jni_start64, main_jni_conv->InterproceduralScratchRegister()); in ArtJniCompileMethodInternal()
277 __ CallFromThread32(jni_start32, main_jni_conv->InterproceduralScratchRegister()); in ArtJniCompileMethodInternal()
281 __ ExceptionPoll(main_jni_conv->InterproceduralScratchRegister(), main_out_arg_size); in ArtJniCompileMethodInternal()
283 FrameOffset saved_cookie_offset = main_jni_conv->SavedLocalReferenceCookieOffset(); in ArtJniCompileMethodInternal()
284 __ Store(saved_cookie_offset, main_jni_conv->IntReturnRegister(), 4); in ArtJniCompileMethodInternal()
304 main_jni_conv->ResetIterator(FrameOffset(main_out_arg_size)); in ArtJniCompileMethodInternal()
305 main_jni_conv->Next(); // Skip JNIEnv*. in ArtJniCompileMethodInternal()
307 main_jni_conv->Next(); // Skip Class for now. in ArtJniCompileMethodInternal()
312 main_jni_conv->Next(); in ArtJniCompileMethodInternal()
314 CopyParameter(jni_asm.get(), mr_conv.get(), main_jni_conv.get(), frame_size, main_out_arg_size); in ArtJniCompileMethodInternal()
319 main_jni_conv->ResetIterator(FrameOffset(main_out_arg_size)); in ArtJniCompileMethodInternal()
320 main_jni_conv->Next(); // Skip JNIEnv* in ArtJniCompileMethodInternal()
321 FrameOffset handle_scope_offset = main_jni_conv->CurrentParamHandleScopeEntryOffset(); in ArtJniCompileMethodInternal()
322 if (main_jni_conv->IsCurrentParamOnStack()) { in ArtJniCompileMethodInternal()
323 FrameOffset out_off = main_jni_conv->CurrentParamStackOffset(); in ArtJniCompileMethodInternal()
328 ManagedRegister out_reg = main_jni_conv->CurrentParamRegister(); in ArtJniCompileMethodInternal()
335 main_jni_conv->ResetIterator(FrameOffset(main_out_arg_size)); in ArtJniCompileMethodInternal()
337 if (main_jni_conv->IsCurrentParamInRegister()) { in ArtJniCompileMethodInternal()
338 ManagedRegister jni_env = main_jni_conv->CurrentParamRegister(); in ArtJniCompileMethodInternal()
339 DCHECK(!jni_env.Equals(main_jni_conv->InterproceduralScratchRegister())); in ArtJniCompileMethodInternal()
346 FrameOffset jni_env = main_jni_conv->CurrentParamStackOffset(); in ArtJniCompileMethodInternal()
349 main_jni_conv->InterproceduralScratchRegister()); in ArtJniCompileMethodInternal()
352 main_jni_conv->InterproceduralScratchRegister()); in ArtJniCompileMethodInternal()
359 __ Call(main_jni_conv->MethodStackOffset(), jni_entrypoint_offset, in ArtJniCompileMethodInternal()
363 if (main_jni_conv->RequiresSmallResultTypeExtension()) { in ArtJniCompileMethodInternal()
364 if (main_jni_conv->GetReturnType() == Primitive::kPrimByte || in ArtJniCompileMethodInternal()
365 main_jni_conv->GetReturnType() == Primitive::kPrimShort) { in ArtJniCompileMethodInternal()
366 __ SignExtend(main_jni_conv->ReturnRegister(), in ArtJniCompileMethodInternal()
367 Primitive::ComponentSize(main_jni_conv->GetReturnType())); in ArtJniCompileMethodInternal()
368 } else if (main_jni_conv->GetReturnType() == Primitive::kPrimBoolean || in ArtJniCompileMethodInternal()
369 main_jni_conv->GetReturnType() == Primitive::kPrimChar) { in ArtJniCompileMethodInternal()
370 __ ZeroExtend(main_jni_conv->ReturnRegister(), in ArtJniCompileMethodInternal()
371 Primitive::ComponentSize(main_jni_conv->GetReturnType())); in ArtJniCompileMethodInternal()
376 FrameOffset return_save_location = main_jni_conv->ReturnValueSaveLocation(); in ArtJniCompileMethodInternal()
377 if (main_jni_conv->SizeOfReturnValue() != 0 && !reference_return) { in ArtJniCompileMethodInternal()
379 main_jni_conv->GetReturnType() == Primitive::kPrimDouble && in ArtJniCompileMethodInternal()
385 …__ Store(return_save_location, main_jni_conv->ReturnRegister(), main_jni_conv->SizeOfReturnValue()… in ArtJniCompileMethodInternal()
460 if (main_jni_conv->SizeOfReturnValue() != 0 && !reference_return) { in ArtJniCompileMethodInternal()
468 __ ExceptionPoll(main_jni_conv->InterproceduralScratchRegister(), 0); in ArtJniCompileMethodInternal()
487 main_jni_conv->CoreSpillMask(), in ArtJniCompileMethodInternal()
488 main_jni_conv->FpSpillMask(), in ArtJniCompileMethodInternal()