Lines Matching refs:soa

372 static void ReportInvalidJNINativeMethod(const ScopedObjectAccess& soa,  in ReportInvalidJNINativeMethod()  argument
381 soa.Self()->ThrowNewExceptionF("Ljava/lang/NoSuchMethodError;", in ReportInvalidJNINativeMethod()
388 static jmethodID FindMethodID(ScopedObjectAccess& soa, jclass jni_class, in FindMethodID() argument
391 return jni::EncodeArtMethod<kEnableIndexIds>(FindMethodJNI(soa, jni_class, name, sig, is_static)); in FindMethodID()
395 static ObjPtr<mirror::ClassLoader> GetClassLoader(const ScopedObjectAccess& soa) in GetClassLoader() argument
397 ArtMethod* method = soa.Self()->GetCurrentMethod(nullptr); in GetClassLoader()
400 return soa.Decode<mirror::ClassLoader>(soa.Self()->GetClassLoaderOverride()); in GetClassLoader()
408 soa.Decode<mirror::ClassLoader>(Runtime::Current()->GetSystemClassLoader()); in GetClassLoader()
413 class_loader = soa.Decode<mirror::ClassLoader>(soa.Self()->GetClassLoaderOverride()); in GetClassLoader()
426 static jfieldID FindFieldID(const ScopedObjectAccess& soa, jclass jni_class, const char* name, in FindFieldID() argument
429 return jni::EncodeArtField<kEnableIndexIds>(FindFieldJNI(soa, jni_class, name, sig, is_static)); in FindFieldID()
432 static void ThrowAIOOBE(ScopedObjectAccess& soa, in ThrowAIOOBE() argument
439 soa.Self()->ThrowNewExceptionF("Ljava/lang/ArrayIndexOutOfBoundsException;", in ThrowAIOOBE()
444 static void ThrowSIOOBE(ScopedObjectAccess& soa, jsize start, jsize length, in ThrowSIOOBE() argument
447 soa.Self()->ThrowNewExceptionF("Ljava/lang/StringIndexOutOfBoundsException;", in ThrowSIOOBE()
452 static void ThrowNoSuchMethodError(const ScopedObjectAccess& soa, in ThrowNoSuchMethodError() argument
459 soa.Self()->ThrowNewExceptionF("Ljava/lang/NoSuchMethodError;", in ThrowNoSuchMethodError()
480 ArtMethod* FindMethodJNI(const ScopedObjectAccess& soa, in FindMethodJNI() argument
485 ObjPtr<mirror::Class> c = EnsureInitialized(soa.Self(), soa.Decode<mirror::Class>(jni_class)); in FindMethodJNI()
497 ShouldDenyAccessToMember(method, soa.Self(), hiddenapi::AccessMethod::kNone)) { in FindMethodJNI()
507 ShouldDenyAccessToMember(method, soa.Self(), hiddenapi::AccessMethod::kJNI); in FindMethodJNI()
514 ThrowNoSuchMethodError(soa, c, name, sig, is_static ? "static" : "non-static"); in FindMethodJNI()
520 ArtField* FindFieldJNI(const ScopedObjectAccess& soa, in FindFieldJNI() argument
525 StackHandleScope<2> hs(soa.Self()); in FindFieldJNI()
527 hs.NewHandle(EnsureInitialized(soa.Self(), soa.Decode<mirror::Class>(jni_class)))); in FindFieldJNI()
538 field_type = class_linker->FindClass(soa.Self(), sig, strlen(sig), class_loader); in FindFieldJNI()
544 DCHECK(sig[0] == '\0' || soa.Self()->IsExceptionPending()); in FindFieldJNI()
545 StackHandleScope<1> hs2(soa.Self()); in FindFieldJNI()
546 Handle<mirror::Throwable> cause(hs2.NewHandle(soa.Self()->GetException())); in FindFieldJNI()
547 soa.Self()->ClearException(); in FindFieldJNI()
549 soa.Self()->ThrowNewExceptionF("Ljava/lang/NoSuchFieldError;", in FindFieldJNI()
554 soa.Self()->GetException()->SetCause(cause.Get()); in FindFieldJNI()
564 if (field != nullptr && ShouldDenyAccessToMember(field, soa.Self())) { in FindFieldJNI()
568 soa.Self()->ThrowNewExceptionF("Ljava/lang/NoSuchFieldError;", in FindFieldJNI()
602 ScopedObjectAccess soa(env); in ThrowNewException() local
604 << mirror::Class::PrettyClass(soa.Decode<mirror::Class>(exception_class)); in ThrowNewException()
613 ScopedObjectAccess soa(env); in ThrowNewException() local
614 soa.Self()->SetException(soa.Decode<mirror::Throwable>(exception.get())); in ThrowNewException()
677 ScopedObjectAccess soa(env); in FindClass() local
678 StackHandleScope<1> hs(soa.Self()); in FindClass()
680 runtime->IsStarted() ? GetClassLoader<kEnableIndexIds>(soa) : nullptr); in FindClass()
682 soa.Self(), descriptor.c_str(), descriptor.length(), class_loader); in FindClass()
683 return soa.AddLocalReference<jclass>(c); in FindClass()
688 ScopedObjectAccess soa(env); in FromReflectedMethod() local
689 return jni::EncodeArtMethod<kEnableIndexIds>(ArtMethod::FromReflectedMethod(soa, jlr_method)); in FromReflectedMethod()
694 ScopedObjectAccess soa(env); in FromReflectedField() local
695 ObjPtr<mirror::Object> obj_field = soa.Decode<mirror::Object>(jlr_field); in FromReflectedField()
706 ScopedObjectAccess soa(env); in ToReflectedMethod() local
711 method = mirror::Constructor::CreateFromArtMethod<kRuntimePointerSize>(soa.Self(), m); in ToReflectedMethod()
713 method = mirror::Method::CreateFromArtMethod<kRuntimePointerSize>(soa.Self(), m); in ToReflectedMethod()
715 return soa.AddLocalReference<jobject>(method); in ToReflectedMethod()
720 ScopedObjectAccess soa(env); in ToReflectedField() local
722 return soa.AddLocalReference<jobject>( in ToReflectedField()
723 mirror::Field::CreateFromArtField(soa.Self(), f, true)); in ToReflectedField()
728 ScopedObjectAccess soa(env); in GetObjectClass() local
729 ObjPtr<mirror::Object> o = soa.Decode<mirror::Object>(java_object); in GetObjectClass()
730 return soa.AddLocalReference<jclass>(o->GetClass()); in GetObjectClass()
735 ScopedObjectAccess soa(env); in GetSuperclass() local
736 ObjPtr<mirror::Class> c = soa.Decode<mirror::Class>(java_class); in GetSuperclass()
737 return soa.AddLocalReference<jclass>(c->IsInterface() ? nullptr : c->GetSuperClass()); in GetSuperclass()
745 ScopedObjectAccess soa(env); in IsAssignableFrom() local
746 ObjPtr<mirror::Class> c1 = soa.Decode<mirror::Class>(java_class1); in IsAssignableFrom()
747 ObjPtr<mirror::Class> c2 = soa.Decode<mirror::Class>(java_class2); in IsAssignableFrom()
757 ScopedObjectAccess soa(env); in IsInstanceOf() local
758 ObjPtr<mirror::Object> obj = soa.Decode<mirror::Object>(jobj); in IsInstanceOf()
759 ObjPtr<mirror::Class> c = soa.Decode<mirror::Class>(java_class); in IsInstanceOf()
765 ScopedObjectAccess soa(env); in Throw() local
766 ObjPtr<mirror::Throwable> exception = soa.Decode<mirror::Throwable>(java_exception); in Throw()
770 soa.Self()->SetException(exception); in Throw()
784 ScopedObjectAccess soa(env); in ExceptionClear() local
785 soa.Self()->ClearException(); in ExceptionClear()
789 ScopedObjectAccess soa(env); in ExceptionDescribe() local
792 if (!soa.Self()->GetException()) { in ExceptionDescribe()
796 StackHandleScope<1> hs(soa.Self()); in ExceptionDescribe()
798 hs.NewHandle<mirror::Throwable>(soa.Self()->GetException())); in ExceptionDescribe()
799 soa.Self()->ClearException(); in ExceptionDescribe()
801 soa.AddLocalReference<jthrowable>(old_exception.Get())); in ExceptionDescribe()
809 if (soa.Self()->IsExceptionPending()) { in ExceptionDescribe()
810 LOG(WARNING) << "JNI WARNING: " << mirror::Object::PrettyTypeOf(soa.Self()->GetException()) in ExceptionDescribe()
812 soa.Self()->ClearException(); in ExceptionDescribe()
815 soa.Self()->SetException(old_exception.Get()); in ExceptionDescribe()
819 ScopedObjectAccess soa(env); in ExceptionOccurred() local
820 ObjPtr<mirror::Object> exception = soa.Self()->GetException(); in ExceptionOccurred()
821 return soa.AddLocalReference<jthrowable>(exception); in ExceptionOccurred()
830 ScopedObjectAccess soa(env); in PushLocalFrame() local
831 if (EnsureLocalCapacityInternal(soa, capacity, "PushLocalFrame") != JNI_OK) { in PushLocalFrame()
839 ScopedObjectAccess soa(env); in PopLocalFrame() local
840 ObjPtr<mirror::Object> survivor = soa.Decode<mirror::Object>(java_survivor); in PopLocalFrame()
841 soa.Env()->PopFrame(); in PopLocalFrame()
842 return soa.AddLocalReference<jobject>(survivor); in PopLocalFrame()
847 ScopedObjectAccess soa(env); in EnsureLocalCapacity() local
848 return EnsureLocalCapacityInternal(soa, desired_capacity, "EnsureLocalCapacity"); in EnsureLocalCapacity()
852 ScopedObjectAccess soa(env); in NewGlobalRef() local
853 ObjPtr<mirror::Object> decoded_obj = soa.Decode<mirror::Object>(obj); in NewGlobalRef()
854 return soa.Vm()->AddGlobalRef(soa.Self(), decoded_obj); in NewGlobalRef()
864 ScopedObjectAccess soa(env); in NewWeakGlobalRef() local
865 ObjPtr<mirror::Object> decoded_obj = soa.Decode<mirror::Object>(obj); in NewWeakGlobalRef()
866 return soa.Vm()->AddWeakGlobalRef(soa.Self(), decoded_obj); in NewWeakGlobalRef()
876 ScopedObjectAccess soa(env); in NewLocalRef() local
877 ObjPtr<mirror::Object> decoded_obj = soa.Decode<mirror::Object>(obj); in NewLocalRef()
882 return soa.AddLocalReference<jobject>(decoded_obj); in NewLocalRef()
892 ScopedObjectAccess soa(env); in DeleteLocalRef() local
903 soa.Self()->DumpJavaStack(LOG_STREAM(WARNING)); in DeleteLocalRef()
911 ScopedObjectAccess soa(env); in IsSameObject() local
912 return (soa.Decode<mirror::Object>(obj1) == soa.Decode<mirror::Object>(obj2)) in IsSameObject()
919 ScopedObjectAccess soa(env); in AllocObject() local
920 ObjPtr<mirror::Class> c = EnsureInitialized(soa.Self(), soa.Decode<mirror::Class>(java_class)); in AllocObject()
926 return soa.AddLocalReference<jobject>( in AllocObject()
927 mirror::String::AllocEmptyString(soa.Self(), allocator_type)); in AllocObject()
929 return soa.AddLocalReference<jobject>(c->AllocObject(soa.Self())); in AllocObject()
945 ScopedObjectAccess soa(env); in NewObjectV() local
946 ObjPtr<mirror::Class> c = EnsureInitialized(soa.Self(), in NewObjectV()
947 soa.Decode<mirror::Class>(java_class)); in NewObjectV()
957 ScopedLocalRef<jobject> result(env, soa.AddLocalReference<jobject>(c->AllocObject(soa.Self()))); in NewObjectV()
962 if (soa.Self()->IsExceptionPending()) { in NewObjectV()
971 ScopedObjectAccess soa(env); in NewObjectA() local
972 ObjPtr<mirror::Class> c = EnsureInitialized(soa.Self(), in NewObjectA()
973 soa.Decode<mirror::Class>(java_class)); in NewObjectA()
983 ScopedLocalRef<jobject> result(env, soa.AddLocalReference<jobject>(c->AllocObject(soa.Self()))); in NewObjectA()
988 if (soa.Self()->IsExceptionPending()) { in NewObjectA()
998 ScopedObjectAccess soa(env); in GetMethodID() local
999 return FindMethodID<kEnableIndexIds>(soa, java_class, name, sig, false); in GetMethodID()
1007 ScopedObjectAccess soa(env); in GetStaticMethodID() local
1008 return FindMethodID<kEnableIndexIds>(soa, java_class, name, sig, true); in GetStaticMethodID()
1017 ScopedObjectAccess soa(env); in CallObjectMethod() local
1018 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap)); in CallObjectMethod()
1019 return soa.AddLocalReference<jobject>(result.GetL()); in CallObjectMethod()
1025 ScopedObjectAccess soa(env); in CallObjectMethodV() local
1026 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args)); in CallObjectMethodV()
1027 return soa.AddLocalReference<jobject>(result.GetL()); in CallObjectMethodV()
1033 ScopedObjectAccess soa(env); in CallObjectMethodA() local
1034 JValue result(InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args)); in CallObjectMethodA()
1035 return soa.AddLocalReference<jobject>(result.GetL()); in CallObjectMethodA()
1044 ScopedObjectAccess soa(env); in CallBooleanMethod() local
1045 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap)); in CallBooleanMethod()
1052 ScopedObjectAccess soa(env); in CallBooleanMethodV() local
1053 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetZ(); in CallBooleanMethodV()
1059 ScopedObjectAccess soa(env); in CallBooleanMethodA() local
1060 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetZ(); in CallBooleanMethodA()
1069 ScopedObjectAccess soa(env); in CallByteMethod() local
1070 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap)); in CallByteMethod()
1077 ScopedObjectAccess soa(env); in CallByteMethodV() local
1078 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetB(); in CallByteMethodV()
1084 ScopedObjectAccess soa(env); in CallByteMethodA() local
1085 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetB(); in CallByteMethodA()
1094 ScopedObjectAccess soa(env); in CallCharMethod() local
1095 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap)); in CallCharMethod()
1102 ScopedObjectAccess soa(env); in CallCharMethodV() local
1103 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetC(); in CallCharMethodV()
1109 ScopedObjectAccess soa(env); in CallCharMethodA() local
1110 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetC(); in CallCharMethodA()
1119 ScopedObjectAccess soa(env); in CallDoubleMethod() local
1120 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap)); in CallDoubleMethod()
1127 ScopedObjectAccess soa(env); in CallDoubleMethodV() local
1128 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetD(); in CallDoubleMethodV()
1134 ScopedObjectAccess soa(env); in CallDoubleMethodA() local
1135 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetD(); in CallDoubleMethodA()
1144 ScopedObjectAccess soa(env); in CallFloatMethod() local
1145 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap)); in CallFloatMethod()
1152 ScopedObjectAccess soa(env); in CallFloatMethodV() local
1153 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetF(); in CallFloatMethodV()
1159 ScopedObjectAccess soa(env); in CallFloatMethodA() local
1160 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetF(); in CallFloatMethodA()
1169 ScopedObjectAccess soa(env); in CallIntMethod() local
1170 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap)); in CallIntMethod()
1177 ScopedObjectAccess soa(env); in CallIntMethodV() local
1178 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetI(); in CallIntMethodV()
1184 ScopedObjectAccess soa(env); in CallIntMethodA() local
1185 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetI(); in CallIntMethodA()
1194 ScopedObjectAccess soa(env); in CallLongMethod() local
1195 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap)); in CallLongMethod()
1202 ScopedObjectAccess soa(env); in CallLongMethodV() local
1203 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetJ(); in CallLongMethodV()
1209 ScopedObjectAccess soa(env); in CallLongMethodA() local
1210 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetJ(); in CallLongMethodA()
1219 ScopedObjectAccess soa(env); in CallShortMethod() local
1220 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap)); in CallShortMethod()
1227 ScopedObjectAccess soa(env); in CallShortMethodV() local
1228 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetS(); in CallShortMethodV()
1234 ScopedObjectAccess soa(env); in CallShortMethodA() local
1235 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetS(); in CallShortMethodA()
1244 ScopedObjectAccess soa(env); in CallVoidMethod() local
1245 InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap); in CallVoidMethod()
1251 ScopedObjectAccess soa(env); in CallVoidMethodV() local
1252 InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args); in CallVoidMethodV()
1258 ScopedObjectAccess soa(env); in CallVoidMethodA() local
1259 InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args); in CallVoidMethodA()
1268 ScopedObjectAccess soa(env); in CallNonvirtualObjectMethod() local
1269 JValue result(InvokeWithVarArgs(soa, obj, mid, ap)); in CallNonvirtualObjectMethod()
1270 return soa.AddLocalReference<jobject>(result.GetL()); in CallNonvirtualObjectMethod()
1277 ScopedObjectAccess soa(env); in CallNonvirtualObjectMethodV() local
1278 JValue result(InvokeWithVarArgs(soa, obj, mid, args)); in CallNonvirtualObjectMethodV()
1279 return soa.AddLocalReference<jobject>(result.GetL()); in CallNonvirtualObjectMethodV()
1286 ScopedObjectAccess soa(env); in CallNonvirtualObjectMethodA() local
1287 JValue result(InvokeWithJValues(soa, obj, mid, args)); in CallNonvirtualObjectMethodA()
1288 return soa.AddLocalReference<jobject>(result.GetL()); in CallNonvirtualObjectMethodA()
1298 ScopedObjectAccess soa(env); in CallNonvirtualBooleanMethod() local
1299 JValue result(InvokeWithVarArgs(soa, obj, mid, ap)); in CallNonvirtualBooleanMethod()
1307 ScopedObjectAccess soa(env); in CallNonvirtualBooleanMethodV() local
1308 return InvokeWithVarArgs(soa, obj, mid, args).GetZ(); in CallNonvirtualBooleanMethodV()
1315 ScopedObjectAccess soa(env); in CallNonvirtualBooleanMethodA() local
1316 return InvokeWithJValues(soa, obj, mid, args).GetZ(); in CallNonvirtualBooleanMethodA()
1325 ScopedObjectAccess soa(env); in CallNonvirtualByteMethod() local
1326 JValue result(InvokeWithVarArgs(soa, obj, mid, ap)); in CallNonvirtualByteMethod()
1334 ScopedObjectAccess soa(env); in CallNonvirtualByteMethodV() local
1335 return InvokeWithVarArgs(soa, obj, mid, args).GetB(); in CallNonvirtualByteMethodV()
1342 ScopedObjectAccess soa(env); in CallNonvirtualByteMethodA() local
1343 return InvokeWithJValues(soa, obj, mid, args).GetB(); in CallNonvirtualByteMethodA()
1352 ScopedObjectAccess soa(env); in CallNonvirtualCharMethod() local
1353 JValue result(InvokeWithVarArgs(soa, obj, mid, ap)); in CallNonvirtualCharMethod()
1361 ScopedObjectAccess soa(env); in CallNonvirtualCharMethodV() local
1362 return InvokeWithVarArgs(soa, obj, mid, args).GetC(); in CallNonvirtualCharMethodV()
1369 ScopedObjectAccess soa(env); in CallNonvirtualCharMethodA() local
1370 return InvokeWithJValues(soa, obj, mid, args).GetC(); in CallNonvirtualCharMethodA()
1379 ScopedObjectAccess soa(env); in CallNonvirtualShortMethod() local
1380 JValue result(InvokeWithVarArgs(soa, obj, mid, ap)); in CallNonvirtualShortMethod()
1388 ScopedObjectAccess soa(env); in CallNonvirtualShortMethodV() local
1389 return InvokeWithVarArgs(soa, obj, mid, args).GetS(); in CallNonvirtualShortMethodV()
1396 ScopedObjectAccess soa(env); in CallNonvirtualShortMethodA() local
1397 return InvokeWithJValues(soa, obj, mid, args).GetS(); in CallNonvirtualShortMethodA()
1406 ScopedObjectAccess soa(env); in CallNonvirtualIntMethod() local
1407 JValue result(InvokeWithVarArgs(soa, obj, mid, ap)); in CallNonvirtualIntMethod()
1415 ScopedObjectAccess soa(env); in CallNonvirtualIntMethodV() local
1416 return InvokeWithVarArgs(soa, obj, mid, args).GetI(); in CallNonvirtualIntMethodV()
1423 ScopedObjectAccess soa(env); in CallNonvirtualIntMethodA() local
1424 return InvokeWithJValues(soa, obj, mid, args).GetI(); in CallNonvirtualIntMethodA()
1433 ScopedObjectAccess soa(env); in CallNonvirtualLongMethod() local
1434 JValue result(InvokeWithVarArgs(soa, obj, mid, ap)); in CallNonvirtualLongMethod()
1442 ScopedObjectAccess soa(env); in CallNonvirtualLongMethodV() local
1443 return InvokeWithVarArgs(soa, obj, mid, args).GetJ(); in CallNonvirtualLongMethodV()
1450 ScopedObjectAccess soa(env); in CallNonvirtualLongMethodA() local
1451 return InvokeWithJValues(soa, obj, mid, args).GetJ(); in CallNonvirtualLongMethodA()
1460 ScopedObjectAccess soa(env); in CallNonvirtualFloatMethod() local
1461 JValue result(InvokeWithVarArgs(soa, obj, mid, ap)); in CallNonvirtualFloatMethod()
1469 ScopedObjectAccess soa(env); in CallNonvirtualFloatMethodV() local
1470 return InvokeWithVarArgs(soa, obj, mid, args).GetF(); in CallNonvirtualFloatMethodV()
1477 ScopedObjectAccess soa(env); in CallNonvirtualFloatMethodA() local
1478 return InvokeWithJValues(soa, obj, mid, args).GetF(); in CallNonvirtualFloatMethodA()
1487 ScopedObjectAccess soa(env); in CallNonvirtualDoubleMethod() local
1488 JValue result(InvokeWithVarArgs(soa, obj, mid, ap)); in CallNonvirtualDoubleMethod()
1496 ScopedObjectAccess soa(env); in CallNonvirtualDoubleMethodV() local
1497 return InvokeWithVarArgs(soa, obj, mid, args).GetD(); in CallNonvirtualDoubleMethodV()
1504 ScopedObjectAccess soa(env); in CallNonvirtualDoubleMethodA() local
1505 return InvokeWithJValues(soa, obj, mid, args).GetD(); in CallNonvirtualDoubleMethodA()
1514 ScopedObjectAccess soa(env); in CallNonvirtualVoidMethod() local
1515 InvokeWithVarArgs(soa, obj, mid, ap); in CallNonvirtualVoidMethod()
1522 ScopedObjectAccess soa(env); in CallNonvirtualVoidMethodV() local
1523 InvokeWithVarArgs(soa, obj, mid, args); in CallNonvirtualVoidMethodV()
1530 ScopedObjectAccess soa(env); in CallNonvirtualVoidMethodA() local
1531 InvokeWithJValues(soa, obj, mid, args); in CallNonvirtualVoidMethodA()
1538 ScopedObjectAccess soa(env); in GetFieldID() local
1539 return FindFieldID<kEnableIndexIds>(soa, java_class, name, sig, false); in GetFieldID()
1547 ScopedObjectAccess soa(env); in GetStaticFieldID() local
1548 return FindFieldID<kEnableIndexIds>(soa, java_class, name, sig, true); in GetStaticFieldID()
1554 ScopedObjectAccess soa(env); in GetObjectField() local
1557 ObjPtr<mirror::Object> o = soa.Decode<mirror::Object>(obj); in GetObjectField()
1558 return soa.AddLocalReference<jobject>(f->GetObject(o)); in GetObjectField()
1563 ScopedObjectAccess soa(env); in GetStaticObjectField() local
1566 return soa.AddLocalReference<jobject>(f->GetObject(f->GetDeclaringClass())); in GetStaticObjectField()
1572 ScopedObjectAccess soa(env); in SetObjectField() local
1575 ObjPtr<mirror::Object> o = soa.Decode<mirror::Object>(java_object); in SetObjectField()
1576 ObjPtr<mirror::Object> v = soa.Decode<mirror::Object>(java_value); in SetObjectField()
1582 ScopedObjectAccess soa(env); in SetStaticObjectField() local
1585 ObjPtr<mirror::Object> v = soa.Decode<mirror::Object>(java_value); in SetStaticObjectField()
1592 ScopedObjectAccess soa(env); \
1595 ObjPtr<mirror::Object> o = soa.Decode<mirror::Object>(instance); \
1600 ScopedObjectAccess soa(env); \
1608 ScopedObjectAccess soa(env); \
1611 ObjPtr<mirror::Object> o = soa.Decode<mirror::Object>(instance); \
1616 ScopedObjectAccess soa(env); \
1754 ScopedObjectAccess soa(env); in CallStaticObjectMethod() local
1755 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap)); in CallStaticObjectMethod()
1756 return soa.AddLocalReference<jobject>(result.GetL()); in CallStaticObjectMethod()
1761 ScopedObjectAccess soa(env); in CallStaticObjectMethodV() local
1762 JValue result(InvokeWithVarArgs(soa, nullptr, mid, args)); in CallStaticObjectMethodV()
1763 return soa.AddLocalReference<jobject>(result.GetL()); in CallStaticObjectMethodV()
1768 ScopedObjectAccess soa(env); in CallStaticObjectMethodA() local
1769 JValue result(InvokeWithJValues(soa, nullptr, mid, args)); in CallStaticObjectMethodA()
1770 return soa.AddLocalReference<jobject>(result.GetL()); in CallStaticObjectMethodA()
1778 ScopedObjectAccess soa(env); in CallStaticBooleanMethod() local
1779 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap)); in CallStaticBooleanMethod()
1785 ScopedObjectAccess soa(env); in CallStaticBooleanMethodV() local
1786 return InvokeWithVarArgs(soa, nullptr, mid, args).GetZ(); in CallStaticBooleanMethodV()
1791 ScopedObjectAccess soa(env); in CallStaticBooleanMethodA() local
1792 return InvokeWithJValues(soa, nullptr, mid, args).GetZ(); in CallStaticBooleanMethodA()
1800 ScopedObjectAccess soa(env); in CallStaticByteMethod() local
1801 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap)); in CallStaticByteMethod()
1807 ScopedObjectAccess soa(env); in CallStaticByteMethodV() local
1808 return InvokeWithVarArgs(soa, nullptr, mid, args).GetB(); in CallStaticByteMethodV()
1813 ScopedObjectAccess soa(env); in CallStaticByteMethodA() local
1814 return InvokeWithJValues(soa, nullptr, mid, args).GetB(); in CallStaticByteMethodA()
1822 ScopedObjectAccess soa(env); in CallStaticCharMethod() local
1823 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap)); in CallStaticCharMethod()
1829 ScopedObjectAccess soa(env); in CallStaticCharMethodV() local
1830 return InvokeWithVarArgs(soa, nullptr, mid, args).GetC(); in CallStaticCharMethodV()
1835 ScopedObjectAccess soa(env); in CallStaticCharMethodA() local
1836 return InvokeWithJValues(soa, nullptr, mid, args).GetC(); in CallStaticCharMethodA()
1844 ScopedObjectAccess soa(env); in CallStaticShortMethod() local
1845 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap)); in CallStaticShortMethod()
1851 ScopedObjectAccess soa(env); in CallStaticShortMethodV() local
1852 return InvokeWithVarArgs(soa, nullptr, mid, args).GetS(); in CallStaticShortMethodV()
1857 ScopedObjectAccess soa(env); in CallStaticShortMethodA() local
1858 return InvokeWithJValues(soa, nullptr, mid, args).GetS(); in CallStaticShortMethodA()
1866 ScopedObjectAccess soa(env); in CallStaticIntMethod() local
1867 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap)); in CallStaticIntMethod()
1873 ScopedObjectAccess soa(env); in CallStaticIntMethodV() local
1874 return InvokeWithVarArgs(soa, nullptr, mid, args).GetI(); in CallStaticIntMethodV()
1879 ScopedObjectAccess soa(env); in CallStaticIntMethodA() local
1880 return InvokeWithJValues(soa, nullptr, mid, args).GetI(); in CallStaticIntMethodA()
1888 ScopedObjectAccess soa(env); in CallStaticLongMethod() local
1889 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap)); in CallStaticLongMethod()
1895 ScopedObjectAccess soa(env); in CallStaticLongMethodV() local
1896 return InvokeWithVarArgs(soa, nullptr, mid, args).GetJ(); in CallStaticLongMethodV()
1901 ScopedObjectAccess soa(env); in CallStaticLongMethodA() local
1902 return InvokeWithJValues(soa, nullptr, mid, args).GetJ(); in CallStaticLongMethodA()
1910 ScopedObjectAccess soa(env); in CallStaticFloatMethod() local
1911 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap)); in CallStaticFloatMethod()
1917 ScopedObjectAccess soa(env); in CallStaticFloatMethodV() local
1918 return InvokeWithVarArgs(soa, nullptr, mid, args).GetF(); in CallStaticFloatMethodV()
1923 ScopedObjectAccess soa(env); in CallStaticFloatMethodA() local
1924 return InvokeWithJValues(soa, nullptr, mid, args).GetF(); in CallStaticFloatMethodA()
1932 ScopedObjectAccess soa(env); in CallStaticDoubleMethod() local
1933 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap)); in CallStaticDoubleMethod()
1939 ScopedObjectAccess soa(env); in CallStaticDoubleMethodV() local
1940 return InvokeWithVarArgs(soa, nullptr, mid, args).GetD(); in CallStaticDoubleMethodV()
1945 ScopedObjectAccess soa(env); in CallStaticDoubleMethodA() local
1946 return InvokeWithJValues(soa, nullptr, mid, args).GetD(); in CallStaticDoubleMethodA()
1955 ScopedObjectAccess soa(env); in CallStaticVoidMethod() local
1956 InvokeWithVarArgs(soa, nullptr, mid, ap); in CallStaticVoidMethod()
1962 ScopedObjectAccess soa(env); in CallStaticVoidMethodV() local
1963 InvokeWithVarArgs(soa, nullptr, mid, args); in CallStaticVoidMethodV()
1968 ScopedObjectAccess soa(env); in CallStaticVoidMethodA() local
1969 InvokeWithJValues(soa, nullptr, mid, args); in CallStaticVoidMethodA()
1981 ScopedObjectAccess soa(env); in NewString() local
1982 ObjPtr<mirror::String> result = mirror::String::AllocFromUtf16(soa.Self(), char_count, chars); in NewString()
1983 return soa.AddLocalReference<jstring>(result); in NewString()
2032 ScopedObjectAccess soa(env); in NewStringUTF() local
2033 soa.Self()->ThrowOutOfMemoryError(error.c_str()); in NewStringUTF()
2052 ScopedObjectAccess soa(env); in NewStringUTF() local
2055 mirror::String::Alloc(soa.Self(), length_with_flag, allocator_type, visitor); in NewStringUTF()
2056 return soa.AddLocalReference<jstring>(result); in NewStringUTF()
2061 ScopedObjectAccess soa(env); in GetStringLength() local
2062 return soa.Decode<mirror::String>(java_string)->GetLength(); in GetStringLength()
2067 ScopedObjectAccess soa(env); in GetStringUTFLength() local
2068 ObjPtr<mirror::String> str = soa.Decode<mirror::String>(java_string); in GetStringUTFLength()
2077 ScopedObjectAccess soa(env); in GetStringRegion() local
2078 ObjPtr<mirror::String> s = soa.Decode<mirror::String>(java_string); in GetStringRegion()
2080 ThrowSIOOBE(soa, start, length, s->GetLength()); in GetStringRegion()
2098 ScopedObjectAccess soa(env); in GetStringUTFRegion() local
2099 ObjPtr<mirror::String> s = soa.Decode<mirror::String>(java_string); in GetStringUTFRegion()
2101 ThrowSIOOBE(soa, start, length, s->GetLength()); in GetStringUTFRegion()
2123 ScopedObjectAccess soa(env); in GetStringChars() local
2124 ObjPtr<mirror::String> s = soa.Decode<mirror::String>(java_string); in GetStringChars()
2150 ScopedObjectAccess soa(env); in ReleaseStringChars() local
2151 ObjPtr<mirror::String> s = soa.Decode<mirror::String>(java_string); in ReleaseStringChars()
2159 ScopedObjectAccess soa(env); in GetStringCritical() local
2160 ObjPtr<mirror::String> s = soa.Decode<mirror::String>(java_string); in GetStringCritical()
2175 StackHandleScope<1> hs(soa.Self()); in GetStringCritical()
2178 heap->IncrementDisableMovingGC(soa.Self()); in GetStringCritical()
2182 heap->IncrementDisableThreadFlip(soa.Self()); in GetStringCritical()
2199 ScopedObjectAccess soa(env); in ReleaseStringCritical() local
2201 ObjPtr<mirror::String> s = soa.Decode<mirror::String>(java_string); in ReleaseStringCritical()
2204 heap->DecrementDisableMovingGC(soa.Self()); in ReleaseStringCritical()
2206 heap->DecrementDisableThreadFlip(soa.Self()); in ReleaseStringCritical()
2224 ScopedObjectAccess soa(env); in GetStringUTFChars() local
2225 ObjPtr<mirror::String> s = soa.Decode<mirror::String>(java_string); in GetStringUTFChars()
2250 ScopedObjectAccess soa(env); in GetArrayLength() local
2251 ObjPtr<mirror::Object> obj = soa.Decode<mirror::Object>(java_array); in GetArrayLength()
2253 soa.Vm()->JniAbortF("GetArrayLength", "not an array: %s", obj->PrettyTypeOf().c_str()); in GetArrayLength()
2262 ScopedObjectAccess soa(env); in GetObjectArrayElement() local
2264 soa.Decode<mirror::ObjectArray<mirror::Object>>(java_array); in GetObjectArrayElement()
2265 return soa.AddLocalReference<jobject>(array->Get(index)); in GetObjectArrayElement()
2271 ScopedObjectAccess soa(env); in SetObjectArrayElement() local
2273 soa.Decode<mirror::ObjectArray<mirror::Object>>(java_array); in SetObjectArrayElement()
2274 ObjPtr<mirror::Object> value = soa.Decode<mirror::Object>(java_value); in SetObjectArrayElement()
2315 ScopedObjectAccess soa(env); in NewObjectArray() local
2318 ObjPtr<mirror::Class> element_class = soa.Decode<mirror::Class>(element_jclass); in NewObjectArray()
2320 soa.Vm()->JniAbortF("NewObjectArray", in NewObjectArray()
2326 array_class = class_linker->FindArrayClass(soa.Self(), element_class); in NewObjectArray()
2334 mirror::ObjectArray<mirror::Object>::Alloc(soa.Self(), array_class, length); in NewObjectArray()
2336 ObjPtr<mirror::Object> initial_object = soa.Decode<mirror::Object>(initial_element); in NewObjectArray()
2340 soa.Vm()->JniAbortF("NewObjectArray", "cannot assign object of type '%s' to array with " in NewObjectArray()
2352 return soa.AddLocalReference<jobjectArray>(result); in NewObjectArray()
2361 ScopedObjectAccess soa(env); in GetPrimitiveArrayCritical() local
2362 ObjPtr<mirror::Array> array = soa.Decode<mirror::Array>(java_array); in GetPrimitiveArrayCritical()
2364 soa.Vm()->JniAbortF("GetPrimitiveArrayCritical", "expected primitive array, given %s", in GetPrimitiveArrayCritical()
2371 heap->IncrementDisableMovingGC(soa.Self()); in GetPrimitiveArrayCritical()
2375 heap->IncrementDisableThreadFlip(soa.Self()); in GetPrimitiveArrayCritical()
2378 array = soa.Decode<mirror::Array>(java_array); in GetPrimitiveArrayCritical()
2391 ScopedObjectAccess soa(env); in ReleasePrimitiveArrayCritical() local
2392 ObjPtr<mirror::Array> array = soa.Decode<mirror::Array>(java_array); in ReleasePrimitiveArrayCritical()
2394 soa.Vm()->JniAbortF("ReleasePrimitiveArrayCritical", "expected primitive array, given %s", in ReleasePrimitiveArrayCritical()
2399 ReleasePrimitiveArray(soa, array, component_size, elements, mode); in ReleasePrimitiveArrayCritical()
2570 ScopedObjectAccess soa(env); in RegisterNatives() local
2571 StackHandleScope<1> hs(soa.Self()); in RegisterNatives()
2572 Handle<mirror::Class> c = hs.NewHandle(soa.Decode<mirror::Class>(java_class)); in RegisterNatives()
2580 jclass_loader.reset(soa.Env()->AddLocalReference<jobject>(c->GetClassLoader())); in RegisterNatives()
2590 ScopedThreadSuspension sts(soa.Self(), ThreadState::kNative); in RegisterNatives()
2602 ReportInvalidJNINativeMethod(soa, c.Get(), "method name", i); in RegisterNatives()
2605 ReportInvalidJNINativeMethod(soa, c.Get(), "method signature", i); in RegisterNatives()
2608 ReportInvalidJNINativeMethod(soa, c.Get(), "native function", i); in RegisterNatives()
2679 ThrowNoSuchMethodError(soa, c.Get(), name, sig, "static or non-static"); in RegisterNatives()
2686 ThrowNoSuchMethodError(soa, c.Get(), name, sig, "native"); in RegisterNatives()
2707 const void* final_function_ptr = class_linker->RegisterNative(soa.Self(), m, fnPtr); in RegisterNatives()
2715 ScopedObjectAccess soa(env); in UnregisterNatives() local
2716 ObjPtr<mirror::Class> c = soa.Decode<mirror::Class>(java_class); in UnregisterNatives()
2725 class_linker->UnregisterNative(soa.Self(), &m); in UnregisterNatives()
2739 ScopedObjectAccess soa(env); in MonitorEnter() local
2740 ObjPtr<mirror::Object> o = soa.Decode<mirror::Object>(java_object); in MonitorEnter()
2741 o = o->MonitorEnter(soa.Self()); in MonitorEnter()
2742 if (soa.Self()->HoldsLock(o)) { in MonitorEnter()
2743 soa.Env()->monitors_.Add(o); in MonitorEnter()
2745 if (soa.Self()->IsExceptionPending()) { in MonitorEnter()
2753 ScopedObjectAccess soa(env); in MonitorExit() local
2754 ObjPtr<mirror::Object> o = soa.Decode<mirror::Object>(java_object); in MonitorExit()
2755 bool remove_mon = soa.Self()->HoldsLock(o); in MonitorExit()
2756 o->MonitorExit(soa.Self()); in MonitorExit()
2758 soa.Env()->monitors_.Remove(o); in MonitorExit()
2760 if (soa.Self()->IsExceptionPending()) { in MonitorExit()
2799 ScopedObjectAccess soa(env); in NewDirectByteBuffer() local
2800 return soa.AddLocalReference<jobject>( in NewDirectByteBuffer()
2802 soa.Self(), address_arg, capacity_arg)); in NewDirectByteBuffer()
2811 ScopedObjectAccess soa(env); in GetDirectBufferAddress() local
2812 ObjPtr<mirror::Object> buffer = soa.Decode<mirror::Object>(java_buffer); in GetDirectBufferAddress()
2828 ScopedObjectAccess soa(env); in GetDirectBufferCapacity() local
2829 StackHandleScope<1u> hs(soa.Self()); in GetDirectBufferCapacity()
2830 Handle<mirror::Object> buffer = hs.NewHandle(soa.Decode<mirror::Object>(java_buffer)); in GetDirectBufferCapacity()
2846 soa.Self(), buffer.Get()); in GetDirectBufferCapacity()
2847 if (UNLIKELY(soa.Self()->IsExceptionPending()) || !direct) { in GetDirectBufferCapacity()
2878 static jint EnsureLocalCapacityInternal(ScopedObjectAccess& soa, jint desired_capacity, in EnsureLocalCapacityInternal() argument
2883 if (!soa.Env()->locals_.EnsureFreeCapacity(static_cast<size_t>(desired_capacity), in EnsureLocalCapacityInternal()
2887 soa.Self()->ThrowOutOfMemoryError(caller_error.c_str()); in EnsureLocalCapacityInternal()
2899 ScopedObjectAccess soa(env); in NewPrimitiveArray() local
2901 soa.Vm()->JniAbortF("NewPrimitiveArray", "negative array length: %d", length); in NewPrimitiveArray()
2904 ObjPtr<ArtT> result = ArtT::Alloc(soa.Self(), length); in NewPrimitiveArray()
2905 return soa.AddLocalReference<JniT>(result); in NewPrimitiveArray()
2909 static ObjPtr<ArtArrayT> DecodeAndCheckArrayType(ScopedObjectAccess& soa, in DecodeAndCheckArrayType() argument
2914 ObjPtr<ArtArrayT> array = soa.Decode<ArtArrayT>(java_array); in DecodeAndCheckArrayType()
2917 soa.Vm()->JniAbortF(fn_name, in DecodeAndCheckArrayType()
2959 ScopedObjectAccess soa(env); in GetPrimitiveArray() local
2961 soa, java_array, "GetArrayElements", "get"); in GetPrimitiveArray()
2986 ScopedObjectAccess soa(env); in ReleasePrimitiveArray() local
2988 soa, java_array, "ReleaseArrayElements", "release"); in ReleasePrimitiveArray()
2992 ReleasePrimitiveArray(soa, array, sizeof(ElementT), elements, mode); in ReleasePrimitiveArray()
2995 static void ReleasePrimitiveArray(ScopedObjectAccess& soa, in ReleasePrimitiveArray() argument
3010 soa.Vm()->JniAbortF("ReleaseArrayElements", in ReleasePrimitiveArray()
3020 soa.Self()->DumpJavaStack(LOG_STREAM(WARNING)); in ReleasePrimitiveArray()
3029 heap->DecrementDisableMovingGC(soa.Self()); in ReleasePrimitiveArray()
3031 heap->DecrementDisableThreadFlip(soa.Self()); in ReleasePrimitiveArray()
3041 ScopedObjectAccess soa(env); in GetPrimitiveArrayRegion() local
3043 soa, java_array, "GetPrimitiveArrayRegion", "get region of"); in GetPrimitiveArrayRegion()
3046 ThrowAIOOBE(soa, array, start, length, "src"); in GetPrimitiveArrayRegion()
3059 ScopedObjectAccess soa(env); in SetPrimitiveArrayRegion() local
3061 soa, java_array, "SetPrimitiveArrayRegion", "set region of"); in SetPrimitiveArrayRegion()
3064 ThrowAIOOBE(soa, array, start, length, "dst"); in SetPrimitiveArrayRegion()