• Home
  • Raw
  • Download

Lines Matching refs:soa

387 static void ThrowNoSuchMethodError(ScopedObjectAccess& soa,  in ThrowNoSuchMethodError()  argument
394 soa.Self()->ThrowNewExceptionF("Ljava/lang/NoSuchMethodError;", in ThrowNoSuchMethodError()
402 static void ReportInvalidJNINativeMethod(const ScopedObjectAccess& soa, in ReportInvalidJNINativeMethod() argument
411 soa.Self()->ThrowNewExceptionF("Ljava/lang/NoSuchMethodError;", in ReportInvalidJNINativeMethod()
430 static jmethodID FindMethodID(ScopedObjectAccess& soa, jclass jni_class, in FindMethodID() argument
433 ObjPtr<mirror::Class> c = EnsureInitialized(soa.Self(), soa.Decode<mirror::Class>(jni_class)); in FindMethodID()
444 if (method != nullptr && ShouldDenyAccessToMember(method, soa.Self())) { in FindMethodID()
448 ThrowNoSuchMethodError(soa, c, name, sig, is_static ? "static" : "non-static"); in FindMethodID()
454 static ObjPtr<mirror::ClassLoader> GetClassLoader(const ScopedObjectAccess& soa) in GetClassLoader() argument
456 ArtMethod* method = soa.Self()->GetCurrentMethod(nullptr); in GetClassLoader()
459 return soa.Decode<mirror::ClassLoader>(soa.Self()->GetClassLoaderOverride()); in GetClassLoader()
467 soa.Decode<mirror::ClassLoader>(Runtime::Current()->GetSystemClassLoader()); in GetClassLoader()
472 class_loader = soa.Decode<mirror::ClassLoader>(soa.Self()->GetClassLoaderOverride()); in GetClassLoader()
484 static jfieldID FindFieldID(const ScopedObjectAccess& soa, jclass jni_class, const char* name, in FindFieldID() argument
487 StackHandleScope<2> hs(soa.Self()); in FindFieldID()
489 hs.NewHandle(EnsureInitialized(soa.Self(), soa.Decode<mirror::Class>(jni_class)))); in FindFieldID()
500 field_type = class_linker->FindClass(soa.Self(), sig, class_loader); in FindFieldID()
506 DCHECK(sig[0] == '\0' || soa.Self()->IsExceptionPending()); in FindFieldID()
507 StackHandleScope<1> hs2(soa.Self()); in FindFieldID()
508 Handle<mirror::Throwable> cause(hs2.NewHandle(soa.Self()->GetException())); in FindFieldID()
509 soa.Self()->ClearException(); in FindFieldID()
511 soa.Self()->ThrowNewExceptionF("Ljava/lang/NoSuchFieldError;", in FindFieldID()
516 soa.Self()->GetException()->SetCause(cause.Get()); in FindFieldID()
523 soa.Self(), c.Get(), name, field_type->GetDescriptor(&temp)); in FindFieldID()
527 if (field != nullptr && ShouldDenyAccessToMember(field, soa.Self())) { in FindFieldID()
531 soa.Self()->ThrowNewExceptionF("Ljava/lang/NoSuchFieldError;", in FindFieldID()
539 static void ThrowAIOOBE(ScopedObjectAccess& soa, in ThrowAIOOBE() argument
546 soa.Self()->ThrowNewExceptionF("Ljava/lang/ArrayIndexOutOfBoundsException;", in ThrowAIOOBE()
551 static void ThrowSIOOBE(ScopedObjectAccess& soa, jsize start, jsize length, in ThrowSIOOBE() argument
554 soa.Self()->ThrowNewExceptionF("Ljava/lang/StringIndexOutOfBoundsException;", in ThrowSIOOBE()
585 ScopedObjectAccess soa(env); in ThrowNewException() local
587 << mirror::Class::PrettyClass(soa.Decode<mirror::Class>(exception_class)); in ThrowNewException()
596 ScopedObjectAccess soa(env); in ThrowNewException() local
597 soa.Self()->SetException(soa.Decode<mirror::Throwable>(exception.get())); in ThrowNewException()
659 ScopedObjectAccess soa(env); in FindClass() local
662 StackHandleScope<1> hs(soa.Self()); in FindClass()
663 Handle<mirror::ClassLoader> class_loader(hs.NewHandle(GetClassLoader(soa))); in FindClass()
664 c = class_linker->FindClass(soa.Self(), descriptor.c_str(), class_loader); in FindClass()
666 c = class_linker->FindSystemClass(soa.Self(), descriptor.c_str()); in FindClass()
668 return soa.AddLocalReference<jclass>(c); in FindClass()
673 ScopedObjectAccess soa(env); in FromReflectedMethod() local
674 return jni::EncodeArtMethod(ArtMethod::FromReflectedMethod(soa, jlr_method)); in FromReflectedMethod()
679 ScopedObjectAccess soa(env); in FromReflectedField() local
680 ObjPtr<mirror::Object> obj_field = soa.Decode<mirror::Object>(jlr_field); in FromReflectedField()
691 ScopedObjectAccess soa(env); in ToReflectedMethod() local
697 method = mirror::Constructor::CreateFromArtMethod<kRuntimePointerSize, false>(soa.Self(), m); in ToReflectedMethod()
699 method = mirror::Method::CreateFromArtMethod<kRuntimePointerSize, false>(soa.Self(), m); in ToReflectedMethod()
701 return soa.AddLocalReference<jobject>(method); in ToReflectedMethod()
706 ScopedObjectAccess soa(env); in ToReflectedField() local
708 return soa.AddLocalReference<jobject>( in ToReflectedField()
709 mirror::Field::CreateFromArtField<kRuntimePointerSize>(soa.Self(), f, true)); in ToReflectedField()
714 ScopedObjectAccess soa(env); in GetObjectClass() local
715 ObjPtr<mirror::Object> o = soa.Decode<mirror::Object>(java_object); in GetObjectClass()
716 return soa.AddLocalReference<jclass>(o->GetClass()); in GetObjectClass()
721 ScopedObjectAccess soa(env); in GetSuperclass() local
722 ObjPtr<mirror::Class> c = soa.Decode<mirror::Class>(java_class); in GetSuperclass()
723 return soa.AddLocalReference<jclass>(c->IsInterface() ? nullptr : c->GetSuperClass()); in GetSuperclass()
731 ScopedObjectAccess soa(env); in IsAssignableFrom() local
732 ObjPtr<mirror::Class> c1 = soa.Decode<mirror::Class>(java_class1); in IsAssignableFrom()
733 ObjPtr<mirror::Class> c2 = soa.Decode<mirror::Class>(java_class2); in IsAssignableFrom()
743 ScopedObjectAccess soa(env); in IsInstanceOf() local
744 ObjPtr<mirror::Object> obj = soa.Decode<mirror::Object>(jobj); in IsInstanceOf()
745 ObjPtr<mirror::Class> c = soa.Decode<mirror::Class>(java_class); in IsInstanceOf()
751 ScopedObjectAccess soa(env); in Throw() local
752 ObjPtr<mirror::Throwable> exception = soa.Decode<mirror::Throwable>(java_exception); in Throw()
756 soa.Self()->SetException(exception); in Throw()
770 ScopedObjectAccess soa(env); in ExceptionClear() local
771 soa.Self()->ClearException(); in ExceptionClear()
775 ScopedObjectAccess soa(env); in ExceptionDescribe() local
778 if (!soa.Self()->GetException()) { in ExceptionDescribe()
782 StackHandleScope<1> hs(soa.Self()); in ExceptionDescribe()
784 hs.NewHandle<mirror::Throwable>(soa.Self()->GetException())); in ExceptionDescribe()
785 soa.Self()->ClearException(); in ExceptionDescribe()
787 soa.AddLocalReference<jthrowable>(old_exception.Get())); in ExceptionDescribe()
795 if (soa.Self()->IsExceptionPending()) { in ExceptionDescribe()
796 LOG(WARNING) << "JNI WARNING: " << mirror::Object::PrettyTypeOf(soa.Self()->GetException()) in ExceptionDescribe()
798 soa.Self()->ClearException(); in ExceptionDescribe()
801 soa.Self()->SetException(old_exception.Get()); in ExceptionDescribe()
805 ScopedObjectAccess soa(env); in ExceptionOccurred() local
806 ObjPtr<mirror::Object> exception = soa.Self()->GetException(); in ExceptionOccurred()
807 return soa.AddLocalReference<jthrowable>(exception); in ExceptionOccurred()
816 ScopedObjectAccess soa(env); in PushLocalFrame() local
817 if (EnsureLocalCapacityInternal(soa, capacity, "PushLocalFrame") != JNI_OK) { in PushLocalFrame()
825 ScopedObjectAccess soa(env); in PopLocalFrame() local
826 ObjPtr<mirror::Object> survivor = soa.Decode<mirror::Object>(java_survivor); in PopLocalFrame()
827 soa.Env()->PopFrame(); in PopLocalFrame()
828 return soa.AddLocalReference<jobject>(survivor); in PopLocalFrame()
833 ScopedObjectAccess soa(env); in EnsureLocalCapacity() local
834 return EnsureLocalCapacityInternal(soa, desired_capacity, "EnsureLocalCapacity"); in EnsureLocalCapacity()
838 ScopedObjectAccess soa(env); in NewGlobalRef() local
839 ObjPtr<mirror::Object> decoded_obj = soa.Decode<mirror::Object>(obj); in NewGlobalRef()
840 return soa.Vm()->AddGlobalRef(soa.Self(), decoded_obj); in NewGlobalRef()
850 ScopedObjectAccess soa(env); in NewWeakGlobalRef() local
851 ObjPtr<mirror::Object> decoded_obj = soa.Decode<mirror::Object>(obj); in NewWeakGlobalRef()
852 return soa.Vm()->AddWeakGlobalRef(soa.Self(), decoded_obj); in NewWeakGlobalRef()
862 ScopedObjectAccess soa(env); in NewLocalRef() local
863 ObjPtr<mirror::Object> decoded_obj = soa.Decode<mirror::Object>(obj); in NewLocalRef()
868 return soa.AddLocalReference<jobject>(decoded_obj); in NewLocalRef()
878 ScopedObjectAccess soa(env); in DeleteLocalRef() local
895 ScopedObjectAccess soa(env); in IsSameObject() local
896 return (soa.Decode<mirror::Object>(obj1) == soa.Decode<mirror::Object>(obj2)) in IsSameObject()
903 ScopedObjectAccess soa(env); in AllocObject() local
904 ObjPtr<mirror::Class> c = EnsureInitialized(soa.Self(), soa.Decode<mirror::Class>(java_class)); in AllocObject()
910 return soa.AddLocalReference<jobject>(mirror::String::AllocEmptyString<true>(soa.Self(), in AllocObject()
913 return soa.AddLocalReference<jobject>(c->AllocObject(soa.Self())); in AllocObject()
929 ScopedObjectAccess soa(env); in NewObjectV() local
930 ObjPtr<mirror::Class> c = EnsureInitialized(soa.Self(), in NewObjectV()
931 soa.Decode<mirror::Class>(java_class)); in NewObjectV()
941 ObjPtr<mirror::Object> result = c->AllocObject(soa.Self()); in NewObjectV()
945 jobject local_result = soa.AddLocalReference<jobject>(result); in NewObjectV()
947 if (soa.Self()->IsExceptionPending()) { in NewObjectV()
956 ScopedObjectAccess soa(env); in NewObjectA() local
957 ObjPtr<mirror::Class> c = EnsureInitialized(soa.Self(), in NewObjectA()
958 soa.Decode<mirror::Class>(java_class)); in NewObjectA()
968 ObjPtr<mirror::Object> result = c->AllocObject(soa.Self()); in NewObjectA()
972 jobject local_result = soa.AddLocalReference<jobjectArray>(result); in NewObjectA()
974 if (soa.Self()->IsExceptionPending()) { in NewObjectA()
984 ScopedObjectAccess soa(env); in GetMethodID() local
985 return FindMethodID(soa, java_class, name, sig, false); in GetMethodID()
993 ScopedObjectAccess soa(env); in GetStaticMethodID() local
994 return FindMethodID(soa, java_class, name, sig, true); in GetStaticMethodID()
1003 ScopedObjectAccess soa(env); in CallObjectMethod() local
1004 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap)); in CallObjectMethod()
1005 return soa.AddLocalReference<jobject>(result.GetL()); in CallObjectMethod()
1011 ScopedObjectAccess soa(env); in CallObjectMethodV() local
1012 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args)); in CallObjectMethodV()
1013 return soa.AddLocalReference<jobject>(result.GetL()); in CallObjectMethodV()
1019 ScopedObjectAccess soa(env); in CallObjectMethodA() local
1020 JValue result(InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args)); in CallObjectMethodA()
1021 return soa.AddLocalReference<jobject>(result.GetL()); in CallObjectMethodA()
1030 ScopedObjectAccess soa(env); in CallBooleanMethod() local
1031 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap)); in CallBooleanMethod()
1038 ScopedObjectAccess soa(env); in CallBooleanMethodV() local
1039 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetZ(); in CallBooleanMethodV()
1045 ScopedObjectAccess soa(env); in CallBooleanMethodA() local
1046 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetZ(); in CallBooleanMethodA()
1055 ScopedObjectAccess soa(env); in CallByteMethod() local
1056 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap)); in CallByteMethod()
1063 ScopedObjectAccess soa(env); in CallByteMethodV() local
1064 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetB(); in CallByteMethodV()
1070 ScopedObjectAccess soa(env); in CallByteMethodA() local
1071 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetB(); in CallByteMethodA()
1080 ScopedObjectAccess soa(env); in CallCharMethod() local
1081 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap)); in CallCharMethod()
1088 ScopedObjectAccess soa(env); in CallCharMethodV() local
1089 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetC(); in CallCharMethodV()
1095 ScopedObjectAccess soa(env); in CallCharMethodA() local
1096 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetC(); in CallCharMethodA()
1105 ScopedObjectAccess soa(env); in CallDoubleMethod() local
1106 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap)); in CallDoubleMethod()
1113 ScopedObjectAccess soa(env); in CallDoubleMethodV() local
1114 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetD(); in CallDoubleMethodV()
1120 ScopedObjectAccess soa(env); in CallDoubleMethodA() local
1121 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetD(); in CallDoubleMethodA()
1130 ScopedObjectAccess soa(env); in CallFloatMethod() local
1131 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap)); in CallFloatMethod()
1138 ScopedObjectAccess soa(env); in CallFloatMethodV() local
1139 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetF(); in CallFloatMethodV()
1145 ScopedObjectAccess soa(env); in CallFloatMethodA() local
1146 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetF(); in CallFloatMethodA()
1155 ScopedObjectAccess soa(env); in CallIntMethod() local
1156 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap)); in CallIntMethod()
1163 ScopedObjectAccess soa(env); in CallIntMethodV() local
1164 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetI(); in CallIntMethodV()
1170 ScopedObjectAccess soa(env); in CallIntMethodA() local
1171 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetI(); in CallIntMethodA()
1180 ScopedObjectAccess soa(env); in CallLongMethod() local
1181 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap)); in CallLongMethod()
1188 ScopedObjectAccess soa(env); in CallLongMethodV() local
1189 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetJ(); in CallLongMethodV()
1195 ScopedObjectAccess soa(env); in CallLongMethodA() local
1196 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetJ(); in CallLongMethodA()
1205 ScopedObjectAccess soa(env); in CallShortMethod() local
1206 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap)); in CallShortMethod()
1213 ScopedObjectAccess soa(env); in CallShortMethodV() local
1214 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetS(); in CallShortMethodV()
1220 ScopedObjectAccess soa(env); in CallShortMethodA() local
1221 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetS(); in CallShortMethodA()
1230 ScopedObjectAccess soa(env); in CallVoidMethod() local
1231 InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap); in CallVoidMethod()
1237 ScopedObjectAccess soa(env); in CallVoidMethodV() local
1238 InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args); in CallVoidMethodV()
1244 ScopedObjectAccess soa(env); in CallVoidMethodA() local
1245 InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args); in CallVoidMethodA()
1254 ScopedObjectAccess soa(env); in CallNonvirtualObjectMethod() local
1255 JValue result(InvokeWithVarArgs(soa, obj, mid, ap)); in CallNonvirtualObjectMethod()
1256 jobject local_result = soa.AddLocalReference<jobject>(result.GetL()); in CallNonvirtualObjectMethod()
1264 ScopedObjectAccess soa(env); in CallNonvirtualObjectMethodV() local
1265 JValue result(InvokeWithVarArgs(soa, obj, mid, args)); in CallNonvirtualObjectMethodV()
1266 return soa.AddLocalReference<jobject>(result.GetL()); in CallNonvirtualObjectMethodV()
1273 ScopedObjectAccess soa(env); in CallNonvirtualObjectMethodA() local
1274 JValue result(InvokeWithJValues(soa, obj, mid, args)); in CallNonvirtualObjectMethodA()
1275 return soa.AddLocalReference<jobject>(result.GetL()); in CallNonvirtualObjectMethodA()
1285 ScopedObjectAccess soa(env); in CallNonvirtualBooleanMethod() local
1286 JValue result(InvokeWithVarArgs(soa, obj, mid, ap)); in CallNonvirtualBooleanMethod()
1294 ScopedObjectAccess soa(env); in CallNonvirtualBooleanMethodV() local
1295 return InvokeWithVarArgs(soa, obj, mid, args).GetZ(); in CallNonvirtualBooleanMethodV()
1302 ScopedObjectAccess soa(env); in CallNonvirtualBooleanMethodA() local
1303 return InvokeWithJValues(soa, obj, mid, args).GetZ(); in CallNonvirtualBooleanMethodA()
1312 ScopedObjectAccess soa(env); in CallNonvirtualByteMethod() local
1313 JValue result(InvokeWithVarArgs(soa, obj, mid, ap)); in CallNonvirtualByteMethod()
1321 ScopedObjectAccess soa(env); in CallNonvirtualByteMethodV() local
1322 return InvokeWithVarArgs(soa, obj, mid, args).GetB(); in CallNonvirtualByteMethodV()
1329 ScopedObjectAccess soa(env); in CallNonvirtualByteMethodA() local
1330 return InvokeWithJValues(soa, obj, mid, args).GetB(); in CallNonvirtualByteMethodA()
1339 ScopedObjectAccess soa(env); in CallNonvirtualCharMethod() local
1340 JValue result(InvokeWithVarArgs(soa, obj, mid, ap)); in CallNonvirtualCharMethod()
1348 ScopedObjectAccess soa(env); in CallNonvirtualCharMethodV() local
1349 return InvokeWithVarArgs(soa, obj, mid, args).GetC(); in CallNonvirtualCharMethodV()
1356 ScopedObjectAccess soa(env); in CallNonvirtualCharMethodA() local
1357 return InvokeWithJValues(soa, obj, mid, args).GetC(); in CallNonvirtualCharMethodA()
1366 ScopedObjectAccess soa(env); in CallNonvirtualShortMethod() local
1367 JValue result(InvokeWithVarArgs(soa, obj, mid, ap)); in CallNonvirtualShortMethod()
1375 ScopedObjectAccess soa(env); in CallNonvirtualShortMethodV() local
1376 return InvokeWithVarArgs(soa, obj, mid, args).GetS(); in CallNonvirtualShortMethodV()
1383 ScopedObjectAccess soa(env); in CallNonvirtualShortMethodA() local
1384 return InvokeWithJValues(soa, obj, mid, args).GetS(); in CallNonvirtualShortMethodA()
1393 ScopedObjectAccess soa(env); in CallNonvirtualIntMethod() local
1394 JValue result(InvokeWithVarArgs(soa, obj, mid, ap)); in CallNonvirtualIntMethod()
1402 ScopedObjectAccess soa(env); in CallNonvirtualIntMethodV() local
1403 return InvokeWithVarArgs(soa, obj, mid, args).GetI(); in CallNonvirtualIntMethodV()
1410 ScopedObjectAccess soa(env); in CallNonvirtualIntMethodA() local
1411 return InvokeWithJValues(soa, obj, mid, args).GetI(); in CallNonvirtualIntMethodA()
1420 ScopedObjectAccess soa(env); in CallNonvirtualLongMethod() local
1421 JValue result(InvokeWithVarArgs(soa, obj, mid, ap)); in CallNonvirtualLongMethod()
1429 ScopedObjectAccess soa(env); in CallNonvirtualLongMethodV() local
1430 return InvokeWithVarArgs(soa, obj, mid, args).GetJ(); in CallNonvirtualLongMethodV()
1437 ScopedObjectAccess soa(env); in CallNonvirtualLongMethodA() local
1438 return InvokeWithJValues(soa, obj, mid, args).GetJ(); in CallNonvirtualLongMethodA()
1447 ScopedObjectAccess soa(env); in CallNonvirtualFloatMethod() local
1448 JValue result(InvokeWithVarArgs(soa, obj, mid, ap)); in CallNonvirtualFloatMethod()
1456 ScopedObjectAccess soa(env); in CallNonvirtualFloatMethodV() local
1457 return InvokeWithVarArgs(soa, obj, mid, args).GetF(); in CallNonvirtualFloatMethodV()
1464 ScopedObjectAccess soa(env); in CallNonvirtualFloatMethodA() local
1465 return InvokeWithJValues(soa, obj, mid, args).GetF(); in CallNonvirtualFloatMethodA()
1474 ScopedObjectAccess soa(env); in CallNonvirtualDoubleMethod() local
1475 JValue result(InvokeWithVarArgs(soa, obj, mid, ap)); in CallNonvirtualDoubleMethod()
1483 ScopedObjectAccess soa(env); in CallNonvirtualDoubleMethodV() local
1484 return InvokeWithVarArgs(soa, obj, mid, args).GetD(); in CallNonvirtualDoubleMethodV()
1491 ScopedObjectAccess soa(env); in CallNonvirtualDoubleMethodA() local
1492 return InvokeWithJValues(soa, obj, mid, args).GetD(); in CallNonvirtualDoubleMethodA()
1501 ScopedObjectAccess soa(env); in CallNonvirtualVoidMethod() local
1502 InvokeWithVarArgs(soa, obj, mid, ap); in CallNonvirtualVoidMethod()
1509 ScopedObjectAccess soa(env); in CallNonvirtualVoidMethodV() local
1510 InvokeWithVarArgs(soa, obj, mid, args); in CallNonvirtualVoidMethodV()
1517 ScopedObjectAccess soa(env); in CallNonvirtualVoidMethodA() local
1518 InvokeWithJValues(soa, obj, mid, args); in CallNonvirtualVoidMethodA()
1525 ScopedObjectAccess soa(env); in GetFieldID() local
1526 return FindFieldID(soa, java_class, name, sig, false); in GetFieldID()
1534 ScopedObjectAccess soa(env); in GetStaticFieldID() local
1535 return FindFieldID(soa, java_class, name, sig, true); in GetStaticFieldID()
1541 ScopedObjectAccess soa(env); in GetObjectField() local
1544 ObjPtr<mirror::Object> o = soa.Decode<mirror::Object>(obj); in GetObjectField()
1545 return soa.AddLocalReference<jobject>(f->GetObject(o)); in GetObjectField()
1550 ScopedObjectAccess soa(env); in GetStaticObjectField() local
1553 return soa.AddLocalReference<jobject>(f->GetObject(f->GetDeclaringClass())); in GetStaticObjectField()
1559 ScopedObjectAccess soa(env); in SetObjectField() local
1562 ObjPtr<mirror::Object> o = soa.Decode<mirror::Object>(java_object); in SetObjectField()
1563 ObjPtr<mirror::Object> v = soa.Decode<mirror::Object>(java_value); in SetObjectField()
1569 ScopedObjectAccess soa(env); in SetStaticObjectField() local
1572 ObjPtr<mirror::Object> v = soa.Decode<mirror::Object>(java_value); in SetStaticObjectField()
1579 ScopedObjectAccess soa(env); \
1582 ObjPtr<mirror::Object> o = soa.Decode<mirror::Object>(instance); \
1587 ScopedObjectAccess soa(env); \
1595 ScopedObjectAccess soa(env); \
1598 ObjPtr<mirror::Object> o = soa.Decode<mirror::Object>(instance); \
1603 ScopedObjectAccess soa(env); \
1741 ScopedObjectAccess soa(env); in CallStaticObjectMethod() local
1742 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap)); in CallStaticObjectMethod()
1743 jobject local_result = soa.AddLocalReference<jobject>(result.GetL()); in CallStaticObjectMethod()
1749 ScopedObjectAccess soa(env); in CallStaticObjectMethodV() local
1750 JValue result(InvokeWithVarArgs(soa, nullptr, mid, args)); in CallStaticObjectMethodV()
1751 return soa.AddLocalReference<jobject>(result.GetL()); in CallStaticObjectMethodV()
1756 ScopedObjectAccess soa(env); in CallStaticObjectMethodA() local
1757 JValue result(InvokeWithJValues(soa, nullptr, mid, args)); in CallStaticObjectMethodA()
1758 return soa.AddLocalReference<jobject>(result.GetL()); in CallStaticObjectMethodA()
1766 ScopedObjectAccess soa(env); in CallStaticBooleanMethod() local
1767 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap)); in CallStaticBooleanMethod()
1773 ScopedObjectAccess soa(env); in CallStaticBooleanMethodV() local
1774 return InvokeWithVarArgs(soa, nullptr, mid, args).GetZ(); in CallStaticBooleanMethodV()
1779 ScopedObjectAccess soa(env); in CallStaticBooleanMethodA() local
1780 return InvokeWithJValues(soa, nullptr, mid, args).GetZ(); in CallStaticBooleanMethodA()
1788 ScopedObjectAccess soa(env); in CallStaticByteMethod() local
1789 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap)); in CallStaticByteMethod()
1795 ScopedObjectAccess soa(env); in CallStaticByteMethodV() local
1796 return InvokeWithVarArgs(soa, nullptr, mid, args).GetB(); in CallStaticByteMethodV()
1801 ScopedObjectAccess soa(env); in CallStaticByteMethodA() local
1802 return InvokeWithJValues(soa, nullptr, mid, args).GetB(); in CallStaticByteMethodA()
1810 ScopedObjectAccess soa(env); in CallStaticCharMethod() local
1811 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap)); in CallStaticCharMethod()
1817 ScopedObjectAccess soa(env); in CallStaticCharMethodV() local
1818 return InvokeWithVarArgs(soa, nullptr, mid, args).GetC(); in CallStaticCharMethodV()
1823 ScopedObjectAccess soa(env); in CallStaticCharMethodA() local
1824 return InvokeWithJValues(soa, nullptr, mid, args).GetC(); in CallStaticCharMethodA()
1832 ScopedObjectAccess soa(env); in CallStaticShortMethod() local
1833 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap)); in CallStaticShortMethod()
1839 ScopedObjectAccess soa(env); in CallStaticShortMethodV() local
1840 return InvokeWithVarArgs(soa, nullptr, mid, args).GetS(); in CallStaticShortMethodV()
1845 ScopedObjectAccess soa(env); in CallStaticShortMethodA() local
1846 return InvokeWithJValues(soa, nullptr, mid, args).GetS(); in CallStaticShortMethodA()
1854 ScopedObjectAccess soa(env); in CallStaticIntMethod() local
1855 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap)); in CallStaticIntMethod()
1861 ScopedObjectAccess soa(env); in CallStaticIntMethodV() local
1862 return InvokeWithVarArgs(soa, nullptr, mid, args).GetI(); in CallStaticIntMethodV()
1867 ScopedObjectAccess soa(env); in CallStaticIntMethodA() local
1868 return InvokeWithJValues(soa, nullptr, mid, args).GetI(); in CallStaticIntMethodA()
1876 ScopedObjectAccess soa(env); in CallStaticLongMethod() local
1877 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap)); in CallStaticLongMethod()
1883 ScopedObjectAccess soa(env); in CallStaticLongMethodV() local
1884 return InvokeWithVarArgs(soa, nullptr, mid, args).GetJ(); in CallStaticLongMethodV()
1889 ScopedObjectAccess soa(env); in CallStaticLongMethodA() local
1890 return InvokeWithJValues(soa, nullptr, mid, args).GetJ(); in CallStaticLongMethodA()
1898 ScopedObjectAccess soa(env); in CallStaticFloatMethod() local
1899 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap)); in CallStaticFloatMethod()
1905 ScopedObjectAccess soa(env); in CallStaticFloatMethodV() local
1906 return InvokeWithVarArgs(soa, nullptr, mid, args).GetF(); in CallStaticFloatMethodV()
1911 ScopedObjectAccess soa(env); in CallStaticFloatMethodA() local
1912 return InvokeWithJValues(soa, nullptr, mid, args).GetF(); in CallStaticFloatMethodA()
1920 ScopedObjectAccess soa(env); in CallStaticDoubleMethod() local
1921 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap)); in CallStaticDoubleMethod()
1927 ScopedObjectAccess soa(env); in CallStaticDoubleMethodV() local
1928 return InvokeWithVarArgs(soa, nullptr, mid, args).GetD(); in CallStaticDoubleMethodV()
1933 ScopedObjectAccess soa(env); in CallStaticDoubleMethodA() local
1934 return InvokeWithJValues(soa, nullptr, mid, args).GetD(); in CallStaticDoubleMethodA()
1942 ScopedObjectAccess soa(env); in CallStaticVoidMethod() local
1943 InvokeWithVarArgs(soa, nullptr, mid, ap); in CallStaticVoidMethod()
1948 ScopedObjectAccess soa(env); in CallStaticVoidMethodV() local
1949 InvokeWithVarArgs(soa, nullptr, mid, args); in CallStaticVoidMethodV()
1954 ScopedObjectAccess soa(env); in CallStaticVoidMethodA() local
1955 InvokeWithJValues(soa, nullptr, mid, args); in CallStaticVoidMethodA()
1967 ScopedObjectAccess soa(env); in NewString() local
1968 ObjPtr<mirror::String> result = mirror::String::AllocFromUtf16(soa.Self(), char_count, chars); in NewString()
1969 return soa.AddLocalReference<jstring>(result); in NewString()
1976 ScopedObjectAccess soa(env); in NewStringUTF() local
1977 ObjPtr<mirror::String> result = mirror::String::AllocFromModifiedUtf8(soa.Self(), utf); in NewStringUTF()
1978 return soa.AddLocalReference<jstring>(result); in NewStringUTF()
1983 ScopedObjectAccess soa(env); in GetStringLength() local
1984 return soa.Decode<mirror::String>(java_string)->GetLength(); in GetStringLength()
1989 ScopedObjectAccess soa(env); in GetStringUTFLength() local
1990 return soa.Decode<mirror::String>(java_string)->GetUtfLength(); in GetStringUTFLength()
1996 ScopedObjectAccess soa(env); in GetStringRegion() local
1997 ObjPtr<mirror::String> s = soa.Decode<mirror::String>(java_string); in GetStringRegion()
1999 ThrowSIOOBE(soa, start, length, s->GetLength()); in GetStringRegion()
2016 ScopedObjectAccess soa(env); in GetStringUTFRegion() local
2017 ObjPtr<mirror::String> s = soa.Decode<mirror::String>(java_string); in GetStringUTFRegion()
2019 ThrowSIOOBE(soa, start, length, s->GetLength()); in GetStringUTFRegion()
2036 ScopedObjectAccess soa(env); in GetStringChars() local
2037 ObjPtr<mirror::String> s = soa.Decode<mirror::String>(java_string); in GetStringChars()
2062 ScopedObjectAccess soa(env); in ReleaseStringChars() local
2063 ObjPtr<mirror::String> s = soa.Decode<mirror::String>(java_string); in ReleaseStringChars()
2071 ScopedObjectAccess soa(env); in GetStringCritical() local
2072 ObjPtr<mirror::String> s = soa.Decode<mirror::String>(java_string); in GetStringCritical()
2075 StackHandleScope<1> hs(soa.Self()); in GetStringCritical()
2078 heap->IncrementDisableMovingGC(soa.Self()); in GetStringCritical()
2082 heap->IncrementDisableThreadFlip(soa.Self()); in GetStringCritical()
2107 ScopedObjectAccess soa(env); in ReleaseStringCritical() local
2109 ObjPtr<mirror::String> s = soa.Decode<mirror::String>(java_string); in ReleaseStringCritical()
2112 heap->DecrementDisableMovingGC(soa.Self()); in ReleaseStringCritical()
2114 heap->DecrementDisableThreadFlip(soa.Self()); in ReleaseStringCritical()
2129 ScopedObjectAccess soa(env); in GetStringUTFChars() local
2130 ObjPtr<mirror::String> s = soa.Decode<mirror::String>(java_string); in GetStringUTFChars()
2152 ScopedObjectAccess soa(env); in GetArrayLength() local
2153 ObjPtr<mirror::Object> obj = soa.Decode<mirror::Object>(java_array); in GetArrayLength()
2155 soa.Vm()->JniAbortF("GetArrayLength", "not an array: %s", obj->PrettyTypeOf().c_str()); in GetArrayLength()
2164 ScopedObjectAccess soa(env); in GetObjectArrayElement() local
2166 soa.Decode<mirror::ObjectArray<mirror::Object>>(java_array); in GetObjectArrayElement()
2167 return soa.AddLocalReference<jobject>(array->Get(index)); in GetObjectArrayElement()
2173 ScopedObjectAccess soa(env); in SetObjectArrayElement() local
2175 soa.Decode<mirror::ObjectArray<mirror::Object>>(java_array); in SetObjectArrayElement()
2176 ObjPtr<mirror::Object> value = soa.Decode<mirror::Object>(java_value); in SetObjectArrayElement()
2217 ScopedObjectAccess soa(env); in NewObjectArray() local
2220 ObjPtr<mirror::Class> element_class = soa.Decode<mirror::Class>(element_jclass); in NewObjectArray()
2222 soa.Vm()->JniAbortF("NewObjectArray", in NewObjectArray()
2228 array_class = class_linker->FindArrayClass(soa.Self(), element_class); in NewObjectArray()
2236 mirror::ObjectArray<mirror::Object>::Alloc(soa.Self(), array_class, length); in NewObjectArray()
2238 ObjPtr<mirror::Object> initial_object = soa.Decode<mirror::Object>(initial_element); in NewObjectArray()
2242 soa.Vm()->JniAbortF("NewObjectArray", "cannot assign object of type '%s' to array with " in NewObjectArray()
2254 return soa.AddLocalReference<jobjectArray>(result); in NewObjectArray()
2263 ScopedObjectAccess soa(env); in GetPrimitiveArrayCritical() local
2264 ObjPtr<mirror::Array> array = soa.Decode<mirror::Array>(java_array); in GetPrimitiveArrayCritical()
2266 soa.Vm()->JniAbortF("GetPrimitiveArrayCritical", "expected primitive array, given %s", in GetPrimitiveArrayCritical()
2273 heap->IncrementDisableMovingGC(soa.Self()); in GetPrimitiveArrayCritical()
2277 heap->IncrementDisableThreadFlip(soa.Self()); in GetPrimitiveArrayCritical()
2280 array = soa.Decode<mirror::Array>(java_array); in GetPrimitiveArrayCritical()
2291 ScopedObjectAccess soa(env); in ReleasePrimitiveArrayCritical() local
2292 ObjPtr<mirror::Array> array = soa.Decode<mirror::Array>(java_array); in ReleasePrimitiveArrayCritical()
2294 soa.Vm()->JniAbortF("ReleasePrimitiveArrayCritical", "expected primitive array, given %s", in ReleasePrimitiveArrayCritical()
2299 ReleasePrimitiveArray(soa, array, component_size, elements, mode); in ReleasePrimitiveArrayCritical()
2469 ScopedObjectAccess soa(env); in RegisterNatives() local
2470 StackHandleScope<1> hs(soa.Self()); in RegisterNatives()
2471 Handle<mirror::Class> c = hs.NewHandle(soa.Decode<mirror::Class>(java_class)); in RegisterNatives()
2483 ReportInvalidJNINativeMethod(soa, c.Get(), "method name", i); in RegisterNatives()
2486 ReportInvalidJNINativeMethod(soa, c.Get(), "method signature", i); in RegisterNatives()
2489 ReportInvalidJNINativeMethod(soa, c.Get(), "native function", i); in RegisterNatives()
2560 ThrowNoSuchMethodError(soa, c.Get(), name, sig, "static or non-static"); in RegisterNatives()
2567 ThrowNoSuchMethodError(soa, c.Get(), name, sig, "native"); in RegisterNatives()
2593 ScopedObjectAccess soa(env); in UnregisterNatives() local
2594 ObjPtr<mirror::Class> c = soa.Decode<mirror::Class>(java_class); in UnregisterNatives()
2616 ScopedObjectAccess soa(env); in MonitorEnter() local
2617 ObjPtr<mirror::Object> o = soa.Decode<mirror::Object>(java_object); in MonitorEnter()
2618 o = o->MonitorEnter(soa.Self()); in MonitorEnter()
2619 if (soa.Self()->HoldsLock(o)) { in MonitorEnter()
2620 soa.Env()->monitors_.Add(o); in MonitorEnter()
2622 if (soa.Self()->IsExceptionPending()) { in MonitorEnter()
2630 ScopedObjectAccess soa(env); in MonitorExit() local
2631 ObjPtr<mirror::Object> o = soa.Decode<mirror::Object>(java_object); in MonitorExit()
2632 bool remove_mon = soa.Self()->HoldsLock(o); in MonitorExit()
2633 o->MonitorExit(soa.Self()); in MonitorExit()
2635 soa.Env()->monitors_.Remove(o); in MonitorExit()
2637 if (soa.Self()->IsExceptionPending()) { in MonitorExit()
2716 static jint EnsureLocalCapacityInternal(ScopedObjectAccess& soa, jint desired_capacity, in EnsureLocalCapacityInternal() argument
2725 if (!soa.Env()->locals_.EnsureFreeCapacity(static_cast<size_t>(desired_capacity), &error_msg)) { in EnsureLocalCapacityInternal()
2727 soa.Self()->ThrowOutOfMemoryError(caller_error.c_str()); in EnsureLocalCapacityInternal()
2735 ScopedObjectAccess soa(env); in NewPrimitiveArray() local
2737 soa.Vm()->JniAbortF("NewPrimitiveArray", "negative array length: %d", length); in NewPrimitiveArray()
2740 ObjPtr<ArtT> result = ArtT::Alloc(soa.Self(), length); in NewPrimitiveArray()
2741 return soa.AddLocalReference<JniT>(result); in NewPrimitiveArray()
2745 static ObjPtr<ArtArrayT> DecodeAndCheckArrayType(ScopedObjectAccess& soa, in DecodeAndCheckArrayType() argument
2750 ObjPtr<ArtArrayT> array = soa.Decode<ArtArrayT>(java_array); in DecodeAndCheckArrayType()
2753 soa.Vm()->JniAbortF(fn_name, in DecodeAndCheckArrayType()
2768 ScopedObjectAccess soa(env); in GetPrimitiveArray() local
2770 soa, java_array, "GetArrayElements", "get"); in GetPrimitiveArray()
2795 ScopedObjectAccess soa(env); in ReleasePrimitiveArray() local
2797 soa, java_array, "ReleaseArrayElements", "release"); in ReleasePrimitiveArray()
2801 ReleasePrimitiveArray(soa, array, sizeof(ElementT), elements, mode); in ReleasePrimitiveArray()
2804 static void ReleasePrimitiveArray(ScopedObjectAccess& soa, in ReleasePrimitiveArray() argument
2819 soa.Vm()->JniAbortF("ReleaseArrayElements", in ReleasePrimitiveArray()
2829 soa.Self()->DumpJavaStack(LOG_STREAM(WARNING)); in ReleasePrimitiveArray()
2838 heap->DecrementDisableMovingGC(soa.Self()); in ReleasePrimitiveArray()
2840 heap->DecrementDisableThreadFlip(soa.Self()); in ReleasePrimitiveArray()
2850 ScopedObjectAccess soa(env); in GetPrimitiveArrayRegion() local
2852 soa, java_array, "GetPrimitiveArrayRegion", "get region of"); in GetPrimitiveArrayRegion()
2855 ThrowAIOOBE(soa, array, start, length, "src"); in GetPrimitiveArrayRegion()
2868 ScopedObjectAccess soa(env); in SetPrimitiveArrayRegion() local
2870 soa, java_array, "SetPrimitiveArrayRegion", "set region of"); in SetPrimitiveArrayRegion()
2873 ThrowAIOOBE(soa, array, start, length, "dst"); in SetPrimitiveArrayRegion()