Lines Matching refs:soa

205 static void ReportInvalidJNINativeMethod(const ScopedObjectAccess& soa,  in ReportInvalidJNINativeMethod()  argument
214 soa.Self()->ThrowNewExceptionF("Ljava/lang/NoSuchMethodError;", in ReportInvalidJNINativeMethod()
221 static jmethodID FindMethodID(ScopedObjectAccess& soa, jclass jni_class, in FindMethodID() argument
224 return jni::EncodeArtMethod<kEnableIndexIds>(FindMethodJNI(soa, jni_class, name, sig, is_static)); in FindMethodID()
228 static ObjPtr<mirror::ClassLoader> GetClassLoader(const ScopedObjectAccess& soa) in GetClassLoader() argument
230 ArtMethod* method = soa.Self()->GetCurrentMethod(nullptr); in GetClassLoader()
234 return soa.Decode<mirror::ClassLoader>(soa.Self()->GetClassLoaderOverride()); in GetClassLoader()
242 soa.Decode<mirror::ClassLoader>(Runtime::Current()->GetSystemClassLoader()); in GetClassLoader()
247 class_loader = soa.Decode<mirror::ClassLoader>(soa.Self()->GetClassLoaderOverride()); in GetClassLoader()
260 static jfieldID FindFieldID(const ScopedObjectAccess& soa, jclass jni_class, const char* name, in FindFieldID() argument
263 return jni::EncodeArtField<kEnableIndexIds>(FindFieldJNI(soa, jni_class, name, sig, is_static)); in FindFieldID()
266 static void ThrowAIOOBE(ScopedObjectAccess& soa, in ThrowAIOOBE() argument
273 soa.Self()->ThrowNewExceptionF("Ljava/lang/ArrayIndexOutOfBoundsException;", in ThrowAIOOBE()
278 static void ThrowSIOOBE(ScopedObjectAccess& soa, jsize start, jsize length, in ThrowSIOOBE() argument
281 soa.Self()->ThrowNewExceptionF("Ljava/lang/StringIndexOutOfBoundsException;", in ThrowSIOOBE()
286 static void ThrowNoSuchMethodError(const ScopedObjectAccess& soa, in ThrowNoSuchMethodError() argument
293 soa.Self()->ThrowNewExceptionF("Ljava/lang/NoSuchMethodError;", in ThrowNoSuchMethodError()
314 ArtMethod* FindMethodJNI(const ScopedObjectAccess& soa, in FindMethodJNI() argument
319 ObjPtr<mirror::Class> c = EnsureInitialized(soa.Self(), soa.Decode<mirror::Class>(jni_class)); in FindMethodJNI()
330 if (method != nullptr && ShouldDenyAccessToMember(method, soa.Self())) { in FindMethodJNI()
334 ThrowNoSuchMethodError(soa, c, name, sig, is_static ? "static" : "non-static"); in FindMethodJNI()
340 ArtField* FindFieldJNI(const ScopedObjectAccess& soa, in FindFieldJNI() argument
345 StackHandleScope<2> hs(soa.Self()); in FindFieldJNI()
347 hs.NewHandle(EnsureInitialized(soa.Self(), soa.Decode<mirror::Class>(jni_class)))); in FindFieldJNI()
358 field_type = class_linker->FindClass(soa.Self(), sig, class_loader); in FindFieldJNI()
364 DCHECK(sig[0] == '\0' || soa.Self()->IsExceptionPending()); in FindFieldJNI()
365 StackHandleScope<1> hs2(soa.Self()); in FindFieldJNI()
366 Handle<mirror::Throwable> cause(hs2.NewHandle(soa.Self()->GetException())); in FindFieldJNI()
367 soa.Self()->ClearException(); in FindFieldJNI()
369 soa.Self()->ThrowNewExceptionF("Ljava/lang/NoSuchFieldError;", in FindFieldJNI()
374 soa.Self()->GetException()->SetCause(cause.Get()); in FindFieldJNI()
381 soa.Self(), c.Get(), name, field_type->GetDescriptor(&temp)); in FindFieldJNI()
385 if (field != nullptr && ShouldDenyAccessToMember(field, soa.Self())) { in FindFieldJNI()
389 soa.Self()->ThrowNewExceptionF("Ljava/lang/NoSuchFieldError;", in FindFieldJNI()
423 ScopedObjectAccess soa(env); in ThrowNewException() local
425 << mirror::Class::PrettyClass(soa.Decode<mirror::Class>(exception_class)); in ThrowNewException()
434 ScopedObjectAccess soa(env); in ThrowNewException() local
435 soa.Self()->SetException(soa.Decode<mirror::Throwable>(exception.get())); in ThrowNewException()
498 ScopedObjectAccess soa(env); in FindClass() local
501 StackHandleScope<1> hs(soa.Self()); in FindClass()
502 Handle<mirror::ClassLoader> class_loader(hs.NewHandle(GetClassLoader<kEnableIndexIds>(soa))); in FindClass()
503 c = class_linker->FindClass(soa.Self(), descriptor.c_str(), class_loader); in FindClass()
505 c = class_linker->FindSystemClass(soa.Self(), descriptor.c_str()); in FindClass()
507 return soa.AddLocalReference<jclass>(c); in FindClass()
512 ScopedObjectAccess soa(env); in FromReflectedMethod() local
513 return jni::EncodeArtMethod<kEnableIndexIds>(ArtMethod::FromReflectedMethod(soa, jlr_method)); in FromReflectedMethod()
518 ScopedObjectAccess soa(env); in FromReflectedField() local
519 ObjPtr<mirror::Object> obj_field = soa.Decode<mirror::Object>(jlr_field); in FromReflectedField()
530 ScopedObjectAccess soa(env); in ToReflectedMethod() local
535 method = mirror::Constructor::CreateFromArtMethod<kRuntimePointerSize>(soa.Self(), m); in ToReflectedMethod()
537 method = mirror::Method::CreateFromArtMethod<kRuntimePointerSize>(soa.Self(), m); in ToReflectedMethod()
539 return soa.AddLocalReference<jobject>(method); in ToReflectedMethod()
544 ScopedObjectAccess soa(env); in ToReflectedField() local
546 return soa.AddLocalReference<jobject>( in ToReflectedField()
547 mirror::Field::CreateFromArtField(soa.Self(), f, true)); in ToReflectedField()
552 ScopedObjectAccess soa(env); in GetObjectClass() local
553 ObjPtr<mirror::Object> o = soa.Decode<mirror::Object>(java_object); in GetObjectClass()
554 return soa.AddLocalReference<jclass>(o->GetClass()); in GetObjectClass()
559 ScopedObjectAccess soa(env); in GetSuperclass() local
560 ObjPtr<mirror::Class> c = soa.Decode<mirror::Class>(java_class); in GetSuperclass()
561 return soa.AddLocalReference<jclass>(c->IsInterface() ? nullptr : c->GetSuperClass()); in GetSuperclass()
569 ScopedObjectAccess soa(env); in IsAssignableFrom() local
570 ObjPtr<mirror::Class> c1 = soa.Decode<mirror::Class>(java_class1); in IsAssignableFrom()
571 ObjPtr<mirror::Class> c2 = soa.Decode<mirror::Class>(java_class2); in IsAssignableFrom()
581 ScopedObjectAccess soa(env); in IsInstanceOf() local
582 ObjPtr<mirror::Object> obj = soa.Decode<mirror::Object>(jobj); in IsInstanceOf()
583 ObjPtr<mirror::Class> c = soa.Decode<mirror::Class>(java_class); in IsInstanceOf()
589 ScopedObjectAccess soa(env); in Throw() local
590 ObjPtr<mirror::Throwable> exception = soa.Decode<mirror::Throwable>(java_exception); in Throw()
594 soa.Self()->SetException(exception); in Throw()
608 ScopedObjectAccess soa(env); in ExceptionClear() local
609 soa.Self()->ClearException(); in ExceptionClear()
613 ScopedObjectAccess soa(env); in ExceptionDescribe() local
616 if (!soa.Self()->GetException()) { in ExceptionDescribe()
620 StackHandleScope<1> hs(soa.Self()); in ExceptionDescribe()
622 hs.NewHandle<mirror::Throwable>(soa.Self()->GetException())); in ExceptionDescribe()
623 soa.Self()->ClearException(); in ExceptionDescribe()
625 soa.AddLocalReference<jthrowable>(old_exception.Get())); in ExceptionDescribe()
633 if (soa.Self()->IsExceptionPending()) { in ExceptionDescribe()
634 LOG(WARNING) << "JNI WARNING: " << mirror::Object::PrettyTypeOf(soa.Self()->GetException()) in ExceptionDescribe()
636 soa.Self()->ClearException(); in ExceptionDescribe()
639 soa.Self()->SetException(old_exception.Get()); in ExceptionDescribe()
643 ScopedObjectAccess soa(env); in ExceptionOccurred() local
644 ObjPtr<mirror::Object> exception = soa.Self()->GetException(); in ExceptionOccurred()
645 return soa.AddLocalReference<jthrowable>(exception); in ExceptionOccurred()
654 ScopedObjectAccess soa(env); in PushLocalFrame() local
655 if (EnsureLocalCapacityInternal(soa, capacity, "PushLocalFrame") != JNI_OK) { in PushLocalFrame()
663 ScopedObjectAccess soa(env); in PopLocalFrame() local
664 ObjPtr<mirror::Object> survivor = soa.Decode<mirror::Object>(java_survivor); in PopLocalFrame()
665 soa.Env()->PopFrame(); in PopLocalFrame()
666 return soa.AddLocalReference<jobject>(survivor); in PopLocalFrame()
671 ScopedObjectAccess soa(env); in EnsureLocalCapacity() local
672 return EnsureLocalCapacityInternal(soa, desired_capacity, "EnsureLocalCapacity"); in EnsureLocalCapacity()
676 ScopedObjectAccess soa(env); in NewGlobalRef() local
677 ObjPtr<mirror::Object> decoded_obj = soa.Decode<mirror::Object>(obj); in NewGlobalRef()
678 return soa.Vm()->AddGlobalRef(soa.Self(), decoded_obj); in NewGlobalRef()
688 ScopedObjectAccess soa(env); in NewWeakGlobalRef() local
689 ObjPtr<mirror::Object> decoded_obj = soa.Decode<mirror::Object>(obj); in NewWeakGlobalRef()
690 return soa.Vm()->AddWeakGlobalRef(soa.Self(), decoded_obj); in NewWeakGlobalRef()
700 ScopedObjectAccess soa(env); in NewLocalRef() local
701 ObjPtr<mirror::Object> decoded_obj = soa.Decode<mirror::Object>(obj); in NewLocalRef()
706 return soa.AddLocalReference<jobject>(decoded_obj); in NewLocalRef()
716 ScopedObjectAccess soa(env); in DeleteLocalRef() local
733 ScopedObjectAccess soa(env); in IsSameObject() local
734 return (soa.Decode<mirror::Object>(obj1) == soa.Decode<mirror::Object>(obj2)) in IsSameObject()
741 ScopedObjectAccess soa(env); in AllocObject() local
742 ObjPtr<mirror::Class> c = EnsureInitialized(soa.Self(), soa.Decode<mirror::Class>(java_class)); in AllocObject()
748 return soa.AddLocalReference<jobject>( in AllocObject()
749 mirror::String::AllocEmptyString(soa.Self(), allocator_type)); in AllocObject()
751 return soa.AddLocalReference<jobject>(c->AllocObject(soa.Self())); in AllocObject()
767 ScopedObjectAccess soa(env); in NewObjectV() local
768 ObjPtr<mirror::Class> c = EnsureInitialized(soa.Self(), in NewObjectV()
769 soa.Decode<mirror::Class>(java_class)); in NewObjectV()
779 ObjPtr<mirror::Object> result = c->AllocObject(soa.Self()); in NewObjectV()
783 jobject local_result = soa.AddLocalReference<jobject>(result); in NewObjectV()
785 if (soa.Self()->IsExceptionPending()) { in NewObjectV()
794 ScopedObjectAccess soa(env); in NewObjectA() local
795 ObjPtr<mirror::Class> c = EnsureInitialized(soa.Self(), in NewObjectA()
796 soa.Decode<mirror::Class>(java_class)); in NewObjectA()
806 ObjPtr<mirror::Object> result = c->AllocObject(soa.Self()); in NewObjectA()
810 jobject local_result = soa.AddLocalReference<jobjectArray>(result); in NewObjectA()
812 if (soa.Self()->IsExceptionPending()) { in NewObjectA()
822 ScopedObjectAccess soa(env); in GetMethodID() local
823 return FindMethodID<kEnableIndexIds>(soa, java_class, name, sig, false); in GetMethodID()
831 ScopedObjectAccess soa(env); in GetStaticMethodID() local
832 return FindMethodID<kEnableIndexIds>(soa, java_class, name, sig, true); in GetStaticMethodID()
841 ScopedObjectAccess soa(env); in CallObjectMethod() local
842 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap)); in CallObjectMethod()
843 return soa.AddLocalReference<jobject>(result.GetL()); in CallObjectMethod()
849 ScopedObjectAccess soa(env); in CallObjectMethodV() local
850 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args)); in CallObjectMethodV()
851 return soa.AddLocalReference<jobject>(result.GetL()); in CallObjectMethodV()
857 ScopedObjectAccess soa(env); in CallObjectMethodA() local
858 JValue result(InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args)); in CallObjectMethodA()
859 return soa.AddLocalReference<jobject>(result.GetL()); in CallObjectMethodA()
868 ScopedObjectAccess soa(env); in CallBooleanMethod() local
869 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap)); in CallBooleanMethod()
876 ScopedObjectAccess soa(env); in CallBooleanMethodV() local
877 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetZ(); in CallBooleanMethodV()
883 ScopedObjectAccess soa(env); in CallBooleanMethodA() local
884 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetZ(); in CallBooleanMethodA()
893 ScopedObjectAccess soa(env); in CallByteMethod() local
894 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap)); in CallByteMethod()
901 ScopedObjectAccess soa(env); in CallByteMethodV() local
902 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetB(); in CallByteMethodV()
908 ScopedObjectAccess soa(env); in CallByteMethodA() local
909 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetB(); in CallByteMethodA()
918 ScopedObjectAccess soa(env); in CallCharMethod() local
919 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap)); in CallCharMethod()
926 ScopedObjectAccess soa(env); in CallCharMethodV() local
927 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetC(); in CallCharMethodV()
933 ScopedObjectAccess soa(env); in CallCharMethodA() local
934 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetC(); in CallCharMethodA()
943 ScopedObjectAccess soa(env); in CallDoubleMethod() local
944 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap)); in CallDoubleMethod()
951 ScopedObjectAccess soa(env); in CallDoubleMethodV() local
952 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetD(); in CallDoubleMethodV()
958 ScopedObjectAccess soa(env); in CallDoubleMethodA() local
959 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetD(); in CallDoubleMethodA()
968 ScopedObjectAccess soa(env); in CallFloatMethod() local
969 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap)); in CallFloatMethod()
976 ScopedObjectAccess soa(env); in CallFloatMethodV() local
977 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetF(); in CallFloatMethodV()
983 ScopedObjectAccess soa(env); in CallFloatMethodA() local
984 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetF(); in CallFloatMethodA()
993 ScopedObjectAccess soa(env); in CallIntMethod() local
994 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap)); in CallIntMethod()
1001 ScopedObjectAccess soa(env); in CallIntMethodV() local
1002 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetI(); in CallIntMethodV()
1008 ScopedObjectAccess soa(env); in CallIntMethodA() local
1009 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetI(); in CallIntMethodA()
1018 ScopedObjectAccess soa(env); in CallLongMethod() local
1019 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap)); in CallLongMethod()
1026 ScopedObjectAccess soa(env); in CallLongMethodV() local
1027 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetJ(); in CallLongMethodV()
1033 ScopedObjectAccess soa(env); in CallLongMethodA() local
1034 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetJ(); in CallLongMethodA()
1043 ScopedObjectAccess soa(env); in CallShortMethod() local
1044 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap)); in CallShortMethod()
1051 ScopedObjectAccess soa(env); in CallShortMethodV() local
1052 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetS(); in CallShortMethodV()
1058 ScopedObjectAccess soa(env); in CallShortMethodA() local
1059 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetS(); in CallShortMethodA()
1068 ScopedObjectAccess soa(env); in CallVoidMethod() local
1069 InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap); in CallVoidMethod()
1075 ScopedObjectAccess soa(env); in CallVoidMethodV() local
1076 InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args); in CallVoidMethodV()
1082 ScopedObjectAccess soa(env); in CallVoidMethodA() local
1083 InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args); in CallVoidMethodA()
1092 ScopedObjectAccess soa(env); in CallNonvirtualObjectMethod() local
1093 JValue result(InvokeWithVarArgs(soa, obj, mid, ap)); in CallNonvirtualObjectMethod()
1094 jobject local_result = soa.AddLocalReference<jobject>(result.GetL()); in CallNonvirtualObjectMethod()
1102 ScopedObjectAccess soa(env); in CallNonvirtualObjectMethodV() local
1103 JValue result(InvokeWithVarArgs(soa, obj, mid, args)); in CallNonvirtualObjectMethodV()
1104 return soa.AddLocalReference<jobject>(result.GetL()); in CallNonvirtualObjectMethodV()
1111 ScopedObjectAccess soa(env); in CallNonvirtualObjectMethodA() local
1112 JValue result(InvokeWithJValues(soa, obj, mid, args)); in CallNonvirtualObjectMethodA()
1113 return soa.AddLocalReference<jobject>(result.GetL()); in CallNonvirtualObjectMethodA()
1123 ScopedObjectAccess soa(env); in CallNonvirtualBooleanMethod() local
1124 JValue result(InvokeWithVarArgs(soa, obj, mid, ap)); in CallNonvirtualBooleanMethod()
1132 ScopedObjectAccess soa(env); in CallNonvirtualBooleanMethodV() local
1133 return InvokeWithVarArgs(soa, obj, mid, args).GetZ(); in CallNonvirtualBooleanMethodV()
1140 ScopedObjectAccess soa(env); in CallNonvirtualBooleanMethodA() local
1141 return InvokeWithJValues(soa, obj, mid, args).GetZ(); in CallNonvirtualBooleanMethodA()
1150 ScopedObjectAccess soa(env); in CallNonvirtualByteMethod() local
1151 JValue result(InvokeWithVarArgs(soa, obj, mid, ap)); in CallNonvirtualByteMethod()
1159 ScopedObjectAccess soa(env); in CallNonvirtualByteMethodV() local
1160 return InvokeWithVarArgs(soa, obj, mid, args).GetB(); in CallNonvirtualByteMethodV()
1167 ScopedObjectAccess soa(env); in CallNonvirtualByteMethodA() local
1168 return InvokeWithJValues(soa, obj, mid, args).GetB(); in CallNonvirtualByteMethodA()
1177 ScopedObjectAccess soa(env); in CallNonvirtualCharMethod() local
1178 JValue result(InvokeWithVarArgs(soa, obj, mid, ap)); in CallNonvirtualCharMethod()
1186 ScopedObjectAccess soa(env); in CallNonvirtualCharMethodV() local
1187 return InvokeWithVarArgs(soa, obj, mid, args).GetC(); in CallNonvirtualCharMethodV()
1194 ScopedObjectAccess soa(env); in CallNonvirtualCharMethodA() local
1195 return InvokeWithJValues(soa, obj, mid, args).GetC(); in CallNonvirtualCharMethodA()
1204 ScopedObjectAccess soa(env); in CallNonvirtualShortMethod() local
1205 JValue result(InvokeWithVarArgs(soa, obj, mid, ap)); in CallNonvirtualShortMethod()
1213 ScopedObjectAccess soa(env); in CallNonvirtualShortMethodV() local
1214 return InvokeWithVarArgs(soa, obj, mid, args).GetS(); in CallNonvirtualShortMethodV()
1221 ScopedObjectAccess soa(env); in CallNonvirtualShortMethodA() local
1222 return InvokeWithJValues(soa, obj, mid, args).GetS(); in CallNonvirtualShortMethodA()
1231 ScopedObjectAccess soa(env); in CallNonvirtualIntMethod() local
1232 JValue result(InvokeWithVarArgs(soa, obj, mid, ap)); in CallNonvirtualIntMethod()
1240 ScopedObjectAccess soa(env); in CallNonvirtualIntMethodV() local
1241 return InvokeWithVarArgs(soa, obj, mid, args).GetI(); in CallNonvirtualIntMethodV()
1248 ScopedObjectAccess soa(env); in CallNonvirtualIntMethodA() local
1249 return InvokeWithJValues(soa, obj, mid, args).GetI(); in CallNonvirtualIntMethodA()
1258 ScopedObjectAccess soa(env); in CallNonvirtualLongMethod() local
1259 JValue result(InvokeWithVarArgs(soa, obj, mid, ap)); in CallNonvirtualLongMethod()
1267 ScopedObjectAccess soa(env); in CallNonvirtualLongMethodV() local
1268 return InvokeWithVarArgs(soa, obj, mid, args).GetJ(); in CallNonvirtualLongMethodV()
1275 ScopedObjectAccess soa(env); in CallNonvirtualLongMethodA() local
1276 return InvokeWithJValues(soa, obj, mid, args).GetJ(); in CallNonvirtualLongMethodA()
1285 ScopedObjectAccess soa(env); in CallNonvirtualFloatMethod() local
1286 JValue result(InvokeWithVarArgs(soa, obj, mid, ap)); in CallNonvirtualFloatMethod()
1294 ScopedObjectAccess soa(env); in CallNonvirtualFloatMethodV() local
1295 return InvokeWithVarArgs(soa, obj, mid, args).GetF(); in CallNonvirtualFloatMethodV()
1302 ScopedObjectAccess soa(env); in CallNonvirtualFloatMethodA() local
1303 return InvokeWithJValues(soa, obj, mid, args).GetF(); in CallNonvirtualFloatMethodA()
1312 ScopedObjectAccess soa(env); in CallNonvirtualDoubleMethod() local
1313 JValue result(InvokeWithVarArgs(soa, obj, mid, ap)); in CallNonvirtualDoubleMethod()
1321 ScopedObjectAccess soa(env); in CallNonvirtualDoubleMethodV() local
1322 return InvokeWithVarArgs(soa, obj, mid, args).GetD(); in CallNonvirtualDoubleMethodV()
1329 ScopedObjectAccess soa(env); in CallNonvirtualDoubleMethodA() local
1330 return InvokeWithJValues(soa, obj, mid, args).GetD(); in CallNonvirtualDoubleMethodA()
1339 ScopedObjectAccess soa(env); in CallNonvirtualVoidMethod() local
1340 InvokeWithVarArgs(soa, obj, mid, ap); in CallNonvirtualVoidMethod()
1347 ScopedObjectAccess soa(env); in CallNonvirtualVoidMethodV() local
1348 InvokeWithVarArgs(soa, obj, mid, args); in CallNonvirtualVoidMethodV()
1355 ScopedObjectAccess soa(env); in CallNonvirtualVoidMethodA() local
1356 InvokeWithJValues(soa, obj, mid, args); in CallNonvirtualVoidMethodA()
1363 ScopedObjectAccess soa(env); in GetFieldID() local
1364 return FindFieldID<kEnableIndexIds>(soa, java_class, name, sig, false); in GetFieldID()
1372 ScopedObjectAccess soa(env); in GetStaticFieldID() local
1373 return FindFieldID<kEnableIndexIds>(soa, java_class, name, sig, true); in GetStaticFieldID()
1379 ScopedObjectAccess soa(env); in GetObjectField() local
1382 ObjPtr<mirror::Object> o = soa.Decode<mirror::Object>(obj); in GetObjectField()
1383 return soa.AddLocalReference<jobject>(f->GetObject(o)); in GetObjectField()
1388 ScopedObjectAccess soa(env); in GetStaticObjectField() local
1391 return soa.AddLocalReference<jobject>(f->GetObject(f->GetDeclaringClass())); in GetStaticObjectField()
1397 ScopedObjectAccess soa(env); in SetObjectField() local
1400 ObjPtr<mirror::Object> o = soa.Decode<mirror::Object>(java_object); in SetObjectField()
1401 ObjPtr<mirror::Object> v = soa.Decode<mirror::Object>(java_value); in SetObjectField()
1407 ScopedObjectAccess soa(env); in SetStaticObjectField() local
1410 ObjPtr<mirror::Object> v = soa.Decode<mirror::Object>(java_value); in SetStaticObjectField()
1417 ScopedObjectAccess soa(env); \
1420 ObjPtr<mirror::Object> o = soa.Decode<mirror::Object>(instance); \
1425 ScopedObjectAccess soa(env); \
1433 ScopedObjectAccess soa(env); \
1436 ObjPtr<mirror::Object> o = soa.Decode<mirror::Object>(instance); \
1441 ScopedObjectAccess soa(env); \
1579 ScopedObjectAccess soa(env); in CallStaticObjectMethod() local
1580 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap)); in CallStaticObjectMethod()
1581 jobject local_result = soa.AddLocalReference<jobject>(result.GetL()); in CallStaticObjectMethod()
1587 ScopedObjectAccess soa(env); in CallStaticObjectMethodV() local
1588 JValue result(InvokeWithVarArgs(soa, nullptr, mid, args)); in CallStaticObjectMethodV()
1589 return soa.AddLocalReference<jobject>(result.GetL()); in CallStaticObjectMethodV()
1594 ScopedObjectAccess soa(env); in CallStaticObjectMethodA() local
1595 JValue result(InvokeWithJValues(soa, nullptr, mid, args)); in CallStaticObjectMethodA()
1596 return soa.AddLocalReference<jobject>(result.GetL()); in CallStaticObjectMethodA()
1604 ScopedObjectAccess soa(env); in CallStaticBooleanMethod() local
1605 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap)); in CallStaticBooleanMethod()
1611 ScopedObjectAccess soa(env); in CallStaticBooleanMethodV() local
1612 return InvokeWithVarArgs(soa, nullptr, mid, args).GetZ(); in CallStaticBooleanMethodV()
1617 ScopedObjectAccess soa(env); in CallStaticBooleanMethodA() local
1618 return InvokeWithJValues(soa, nullptr, mid, args).GetZ(); in CallStaticBooleanMethodA()
1626 ScopedObjectAccess soa(env); in CallStaticByteMethod() local
1627 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap)); in CallStaticByteMethod()
1633 ScopedObjectAccess soa(env); in CallStaticByteMethodV() local
1634 return InvokeWithVarArgs(soa, nullptr, mid, args).GetB(); in CallStaticByteMethodV()
1639 ScopedObjectAccess soa(env); in CallStaticByteMethodA() local
1640 return InvokeWithJValues(soa, nullptr, mid, args).GetB(); in CallStaticByteMethodA()
1648 ScopedObjectAccess soa(env); in CallStaticCharMethod() local
1649 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap)); in CallStaticCharMethod()
1655 ScopedObjectAccess soa(env); in CallStaticCharMethodV() local
1656 return InvokeWithVarArgs(soa, nullptr, mid, args).GetC(); in CallStaticCharMethodV()
1661 ScopedObjectAccess soa(env); in CallStaticCharMethodA() local
1662 return InvokeWithJValues(soa, nullptr, mid, args).GetC(); in CallStaticCharMethodA()
1670 ScopedObjectAccess soa(env); in CallStaticShortMethod() local
1671 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap)); in CallStaticShortMethod()
1677 ScopedObjectAccess soa(env); in CallStaticShortMethodV() local
1678 return InvokeWithVarArgs(soa, nullptr, mid, args).GetS(); in CallStaticShortMethodV()
1683 ScopedObjectAccess soa(env); in CallStaticShortMethodA() local
1684 return InvokeWithJValues(soa, nullptr, mid, args).GetS(); in CallStaticShortMethodA()
1692 ScopedObjectAccess soa(env); in CallStaticIntMethod() local
1693 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap)); in CallStaticIntMethod()
1699 ScopedObjectAccess soa(env); in CallStaticIntMethodV() local
1700 return InvokeWithVarArgs(soa, nullptr, mid, args).GetI(); in CallStaticIntMethodV()
1705 ScopedObjectAccess soa(env); in CallStaticIntMethodA() local
1706 return InvokeWithJValues(soa, nullptr, mid, args).GetI(); in CallStaticIntMethodA()
1714 ScopedObjectAccess soa(env); in CallStaticLongMethod() local
1715 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap)); in CallStaticLongMethod()
1721 ScopedObjectAccess soa(env); in CallStaticLongMethodV() local
1722 return InvokeWithVarArgs(soa, nullptr, mid, args).GetJ(); in CallStaticLongMethodV()
1727 ScopedObjectAccess soa(env); in CallStaticLongMethodA() local
1728 return InvokeWithJValues(soa, nullptr, mid, args).GetJ(); in CallStaticLongMethodA()
1736 ScopedObjectAccess soa(env); in CallStaticFloatMethod() local
1737 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap)); in CallStaticFloatMethod()
1743 ScopedObjectAccess soa(env); in CallStaticFloatMethodV() local
1744 return InvokeWithVarArgs(soa, nullptr, mid, args).GetF(); in CallStaticFloatMethodV()
1749 ScopedObjectAccess soa(env); in CallStaticFloatMethodA() local
1750 return InvokeWithJValues(soa, nullptr, mid, args).GetF(); in CallStaticFloatMethodA()
1758 ScopedObjectAccess soa(env); in CallStaticDoubleMethod() local
1759 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap)); in CallStaticDoubleMethod()
1765 ScopedObjectAccess soa(env); in CallStaticDoubleMethodV() local
1766 return InvokeWithVarArgs(soa, nullptr, mid, args).GetD(); in CallStaticDoubleMethodV()
1771 ScopedObjectAccess soa(env); in CallStaticDoubleMethodA() local
1772 return InvokeWithJValues(soa, nullptr, mid, args).GetD(); in CallStaticDoubleMethodA()
1780 ScopedObjectAccess soa(env); in CallStaticVoidMethod() local
1781 InvokeWithVarArgs(soa, nullptr, mid, ap); in CallStaticVoidMethod()
1786 ScopedObjectAccess soa(env); in CallStaticVoidMethodV() local
1787 InvokeWithVarArgs(soa, nullptr, mid, args); in CallStaticVoidMethodV()
1792 ScopedObjectAccess soa(env); in CallStaticVoidMethodA() local
1793 InvokeWithJValues(soa, nullptr, mid, args); in CallStaticVoidMethodA()
1805 ScopedObjectAccess soa(env); in NewString() local
1806 ObjPtr<mirror::String> result = mirror::String::AllocFromUtf16(soa.Self(), char_count, chars); in NewString()
1807 return soa.AddLocalReference<jstring>(result); in NewString()
1814 ScopedObjectAccess soa(env); in NewStringUTF() local
1815 ObjPtr<mirror::String> result = mirror::String::AllocFromModifiedUtf8(soa.Self(), utf); in NewStringUTF()
1816 return soa.AddLocalReference<jstring>(result); in NewStringUTF()
1821 ScopedObjectAccess soa(env); in GetStringLength() local
1822 return soa.Decode<mirror::String>(java_string)->GetLength(); in GetStringLength()
1827 ScopedObjectAccess soa(env); in GetStringUTFLength() local
1828 return soa.Decode<mirror::String>(java_string)->GetUtfLength(); in GetStringUTFLength()
1834 ScopedObjectAccess soa(env); in GetStringRegion() local
1835 ObjPtr<mirror::String> s = soa.Decode<mirror::String>(java_string); in GetStringRegion()
1837 ThrowSIOOBE(soa, start, length, s->GetLength()); in GetStringRegion()
1854 ScopedObjectAccess soa(env); in GetStringUTFRegion() local
1855 ObjPtr<mirror::String> s = soa.Decode<mirror::String>(java_string); in GetStringUTFRegion()
1857 ThrowSIOOBE(soa, start, length, s->GetLength()); in GetStringUTFRegion()
1874 ScopedObjectAccess soa(env); in GetStringChars() local
1875 ObjPtr<mirror::String> s = soa.Decode<mirror::String>(java_string); in GetStringChars()
1900 ScopedObjectAccess soa(env); in ReleaseStringChars() local
1901 ObjPtr<mirror::String> s = soa.Decode<mirror::String>(java_string); in ReleaseStringChars()
1909 ScopedObjectAccess soa(env); in GetStringCritical() local
1910 ObjPtr<mirror::String> s = soa.Decode<mirror::String>(java_string); in GetStringCritical()
1913 StackHandleScope<1> hs(soa.Self()); in GetStringCritical()
1916 heap->IncrementDisableMovingGC(soa.Self()); in GetStringCritical()
1920 heap->IncrementDisableThreadFlip(soa.Self()); in GetStringCritical()
1945 ScopedObjectAccess soa(env); in ReleaseStringCritical() local
1947 ObjPtr<mirror::String> s = soa.Decode<mirror::String>(java_string); in ReleaseStringCritical()
1950 heap->DecrementDisableMovingGC(soa.Self()); in ReleaseStringCritical()
1952 heap->DecrementDisableThreadFlip(soa.Self()); in ReleaseStringCritical()
1967 ScopedObjectAccess soa(env); in GetStringUTFChars() local
1968 ObjPtr<mirror::String> s = soa.Decode<mirror::String>(java_string); in GetStringUTFChars()
1990 ScopedObjectAccess soa(env); in GetArrayLength() local
1991 ObjPtr<mirror::Object> obj = soa.Decode<mirror::Object>(java_array); in GetArrayLength()
1993 soa.Vm()->JniAbortF("GetArrayLength", "not an array: %s", obj->PrettyTypeOf().c_str()); in GetArrayLength()
2002 ScopedObjectAccess soa(env); in GetObjectArrayElement() local
2004 soa.Decode<mirror::ObjectArray<mirror::Object>>(java_array); in GetObjectArrayElement()
2005 return soa.AddLocalReference<jobject>(array->Get(index)); in GetObjectArrayElement()
2011 ScopedObjectAccess soa(env); in SetObjectArrayElement() local
2013 soa.Decode<mirror::ObjectArray<mirror::Object>>(java_array); in SetObjectArrayElement()
2014 ObjPtr<mirror::Object> value = soa.Decode<mirror::Object>(java_value); in SetObjectArrayElement()
2055 ScopedObjectAccess soa(env); in NewObjectArray() local
2058 ObjPtr<mirror::Class> element_class = soa.Decode<mirror::Class>(element_jclass); in NewObjectArray()
2060 soa.Vm()->JniAbortF("NewObjectArray", in NewObjectArray()
2066 array_class = class_linker->FindArrayClass(soa.Self(), element_class); in NewObjectArray()
2074 mirror::ObjectArray<mirror::Object>::Alloc(soa.Self(), array_class, length); in NewObjectArray()
2076 ObjPtr<mirror::Object> initial_object = soa.Decode<mirror::Object>(initial_element); in NewObjectArray()
2080 soa.Vm()->JniAbortF("NewObjectArray", "cannot assign object of type '%s' to array with " in NewObjectArray()
2092 return soa.AddLocalReference<jobjectArray>(result); in NewObjectArray()
2101 ScopedObjectAccess soa(env); in GetPrimitiveArrayCritical() local
2102 ObjPtr<mirror::Array> array = soa.Decode<mirror::Array>(java_array); in GetPrimitiveArrayCritical()
2104 soa.Vm()->JniAbortF("GetPrimitiveArrayCritical", "expected primitive array, given %s", in GetPrimitiveArrayCritical()
2111 heap->IncrementDisableMovingGC(soa.Self()); in GetPrimitiveArrayCritical()
2115 heap->IncrementDisableThreadFlip(soa.Self()); in GetPrimitiveArrayCritical()
2118 array = soa.Decode<mirror::Array>(java_array); in GetPrimitiveArrayCritical()
2129 ScopedObjectAccess soa(env); in ReleasePrimitiveArrayCritical() local
2130 ObjPtr<mirror::Array> array = soa.Decode<mirror::Array>(java_array); in ReleasePrimitiveArrayCritical()
2132 soa.Vm()->JniAbortF("ReleasePrimitiveArrayCritical", "expected primitive array, given %s", in ReleasePrimitiveArrayCritical()
2137 ReleasePrimitiveArray(soa, array, component_size, elements, mode); in ReleasePrimitiveArrayCritical()
2308 ScopedObjectAccess soa(env); in RegisterNatives() local
2309 StackHandleScope<1> hs(soa.Self()); in RegisterNatives()
2310 Handle<mirror::Class> c = hs.NewHandle(soa.Decode<mirror::Class>(java_class)); in RegisterNatives()
2322 ReportInvalidJNINativeMethod(soa, c.Get(), "method name", i); in RegisterNatives()
2325 ReportInvalidJNINativeMethod(soa, c.Get(), "method signature", i); in RegisterNatives()
2328 ReportInvalidJNINativeMethod(soa, c.Get(), "native function", i); in RegisterNatives()
2399 ThrowNoSuchMethodError(soa, c.Get(), name, sig, "static or non-static"); in RegisterNatives()
2406 ThrowNoSuchMethodError(soa, c.Get(), name, sig, "native"); in RegisterNatives()
2424 const void* final_function_ptr = class_linker->RegisterNative(soa.Self(), m, fnPtr); in RegisterNatives()
2432 ScopedObjectAccess soa(env); in UnregisterNatives() local
2433 ObjPtr<mirror::Class> c = soa.Decode<mirror::Class>(java_class); in UnregisterNatives()
2442 class_linker->UnregisterNative(soa.Self(), &m); in UnregisterNatives()
2456 ScopedObjectAccess soa(env); in MonitorEnter() local
2457 ObjPtr<mirror::Object> o = soa.Decode<mirror::Object>(java_object); in MonitorEnter()
2458 o = o->MonitorEnter(soa.Self()); in MonitorEnter()
2459 if (soa.Self()->HoldsLock(o)) { in MonitorEnter()
2460 soa.Env()->monitors_.Add(o); in MonitorEnter()
2462 if (soa.Self()->IsExceptionPending()) { in MonitorEnter()
2470 ScopedObjectAccess soa(env); in MonitorExit() local
2471 ObjPtr<mirror::Object> o = soa.Decode<mirror::Object>(java_object); in MonitorExit()
2472 bool remove_mon = soa.Self()->HoldsLock(o); in MonitorExit()
2473 o->MonitorExit(soa.Self()); in MonitorExit()
2475 soa.Env()->monitors_.Remove(o); in MonitorExit()
2477 if (soa.Self()->IsExceptionPending()) { in MonitorExit()
2588 static jint EnsureLocalCapacityInternal(ScopedObjectAccess& soa, jint desired_capacity, in EnsureLocalCapacityInternal() argument
2597 if (!soa.Env()->locals_.EnsureFreeCapacity(static_cast<size_t>(desired_capacity), &error_msg)) { in EnsureLocalCapacityInternal()
2599 soa.Self()->ThrowOutOfMemoryError(caller_error.c_str()); in EnsureLocalCapacityInternal()
2607 ScopedObjectAccess soa(env); in NewPrimitiveArray() local
2609 soa.Vm()->JniAbortF("NewPrimitiveArray", "negative array length: %d", length); in NewPrimitiveArray()
2612 ObjPtr<ArtT> result = ArtT::Alloc(soa.Self(), length); in NewPrimitiveArray()
2613 return soa.AddLocalReference<JniT>(result); in NewPrimitiveArray()
2617 static ObjPtr<ArtArrayT> DecodeAndCheckArrayType(ScopedObjectAccess& soa, in DecodeAndCheckArrayType() argument
2622 ObjPtr<ArtArrayT> array = soa.Decode<ArtArrayT>(java_array); in DecodeAndCheckArrayType()
2625 soa.Vm()->JniAbortF(fn_name, in DecodeAndCheckArrayType()
2640 ScopedObjectAccess soa(env); in GetPrimitiveArray() local
2642 soa, java_array, "GetArrayElements", "get"); in GetPrimitiveArray()
2667 ScopedObjectAccess soa(env); in ReleasePrimitiveArray() local
2669 soa, java_array, "ReleaseArrayElements", "release"); in ReleasePrimitiveArray()
2673 ReleasePrimitiveArray(soa, array, sizeof(ElementT), elements, mode); in ReleasePrimitiveArray()
2676 static void ReleasePrimitiveArray(ScopedObjectAccess& soa, in ReleasePrimitiveArray() argument
2691 soa.Vm()->JniAbortF("ReleaseArrayElements", in ReleasePrimitiveArray()
2701 soa.Self()->DumpJavaStack(LOG_STREAM(WARNING)); in ReleasePrimitiveArray()
2710 heap->DecrementDisableMovingGC(soa.Self()); in ReleasePrimitiveArray()
2712 heap->DecrementDisableThreadFlip(soa.Self()); in ReleasePrimitiveArray()
2722 ScopedObjectAccess soa(env); in GetPrimitiveArrayRegion() local
2724 soa, java_array, "GetPrimitiveArrayRegion", "get region of"); in GetPrimitiveArrayRegion()
2727 ThrowAIOOBE(soa, array, start, length, "src"); in GetPrimitiveArrayRegion()
2740 ScopedObjectAccess soa(env); in SetPrimitiveArrayRegion() local
2742 soa, java_array, "SetPrimitiveArrayRegion", "set region of"); in SetPrimitiveArrayRegion()
2745 ThrowAIOOBE(soa, array, start, length, "dst"); in SetPrimitiveArrayRegion()