Lines Matching refs:soa

90 static void ThrowNoSuchMethodError(ScopedObjectAccess& soa, mirror::Class* c,  in ThrowNoSuchMethodError()  argument
94 soa.Self()->ThrowNewExceptionF("Ljava/lang/NoSuchMethodError;", in ThrowNoSuchMethodError()
99 static void ReportInvalidJNINativeMethod(const ScopedObjectAccess& soa, mirror::Class* c, in ReportInvalidJNINativeMethod() argument
105 soa.Self()->ThrowNewExceptionF("Ljava/lang/NoSuchMethodError;", in ReportInvalidJNINativeMethod()
122 static jmethodID FindMethodID(ScopedObjectAccess& soa, jclass jni_class, in FindMethodID() argument
125 mirror::Class* c = EnsureInitialized(soa.Self(), soa.Decode<mirror::Class*>(jni_class)); in FindMethodID()
144 ThrowNoSuchMethodError(soa, c, name, sig, is_static ? "static" : "non-static"); in FindMethodID()
147 return soa.EncodeMethod(method); in FindMethodID()
150 static mirror::ClassLoader* GetClassLoader(const ScopedObjectAccess& soa) in GetClassLoader() argument
152 ArtMethod* method = soa.Self()->GetCurrentMethod(nullptr); in GetClassLoader()
154 if (method == soa.DecodeMethod(WellKnownClasses::java_lang_Runtime_nativeLoad)) { in GetClassLoader()
155 return soa.Decode<mirror::ClassLoader*>(soa.Self()->GetClassLoaderOverride()); in GetClassLoader()
163 soa.Decode<mirror::ClassLoader*>(Runtime::Current()->GetSystemClassLoader()); in GetClassLoader()
168 class_loader = soa.Decode<mirror::ClassLoader*>(soa.Self()->GetClassLoaderOverride()); in GetClassLoader()
180 static jfieldID FindFieldID(const ScopedObjectAccess& soa, jclass jni_class, const char* name, in FindFieldID() argument
183 StackHandleScope<2> hs(soa.Self()); in FindFieldID()
185 hs.NewHandle(EnsureInitialized(soa.Self(), soa.Decode<mirror::Class*>(jni_class)))); in FindFieldID()
194 field_type = class_linker->FindClass(soa.Self(), sig, class_loader); in FindFieldID()
200 DCHECK(soa.Self()->IsExceptionPending()); in FindFieldID()
201 StackHandleScope<1> hs2(soa.Self()); in FindFieldID()
202 Handle<mirror::Throwable> cause(hs2.NewHandle(soa.Self()->GetException())); in FindFieldID()
203 soa.Self()->ClearException(); in FindFieldID()
205 soa.Self()->ThrowNewExceptionF("Ljava/lang/NoSuchFieldError;", in FindFieldID()
209 soa.Self()->GetException()->SetCause(cause.Get()); in FindFieldID()
214 field = mirror::Class::FindStaticField(soa.Self(), c, name, in FindFieldID()
220 soa.Self()->ThrowNewExceptionF("Ljava/lang/NoSuchFieldError;", in FindFieldID()
225 return soa.EncodeField(field); in FindFieldID()
228 static void ThrowAIOOBE(ScopedObjectAccess& soa, mirror::Array* array, jsize start, in ThrowAIOOBE() argument
232 soa.Self()->ThrowNewExceptionF("Ljava/lang/ArrayIndexOutOfBoundsException;", in ThrowAIOOBE()
237 static void ThrowSIOOBE(ScopedObjectAccess& soa, jsize start, jsize length, in ThrowSIOOBE() argument
240 soa.Self()->ThrowNewExceptionF("Ljava/lang/StringIndexOutOfBoundsException;", in ThrowSIOOBE()
271 ScopedObjectAccess soa(env); in ThrowNewException() local
273 << PrettyClass(soa.Decode<mirror::Class*>(exception_class)); in ThrowNewException()
282 ScopedObjectAccess soa(env); in ThrowNewException() local
283 soa.Self()->SetException(soa.Decode<mirror::Throwable*>(exception.get())); in ThrowNewException()
348 ScopedObjectAccess soa(env); in FindClass() local
351 StackHandleScope<1> hs(soa.Self()); in FindClass()
352 Handle<mirror::ClassLoader> class_loader(hs.NewHandle(GetClassLoader(soa))); in FindClass()
353 c = class_linker->FindClass(soa.Self(), descriptor.c_str(), class_loader); in FindClass()
355 c = class_linker->FindSystemClass(soa.Self(), descriptor.c_str()); in FindClass()
357 return soa.AddLocalReference<jclass>(c); in FindClass()
362 ScopedObjectAccess soa(env); in FromReflectedMethod() local
363 return soa.EncodeMethod(ArtMethod::FromReflectedMethod(soa, jlr_method)); in FromReflectedMethod()
368 ScopedObjectAccess soa(env); in FromReflectedField() local
369 mirror::Object* obj_field = soa.Decode<mirror::Object*>(jlr_field); in FromReflectedField()
375 return soa.EncodeField(field->GetArtField()); in FromReflectedField()
380 ScopedObjectAccess soa(env); in ToReflectedMethod() local
381 ArtMethod* m = soa.DecodeMethod(mid); in ToReflectedMethod()
384 method = mirror::Constructor::CreateFromArtMethod(soa.Self(), m); in ToReflectedMethod()
386 method = mirror::Method::CreateFromArtMethod(soa.Self(), m); in ToReflectedMethod()
388 return soa.AddLocalReference<jobject>(method); in ToReflectedMethod()
393 ScopedObjectAccess soa(env); in ToReflectedField() local
394 ArtField* f = soa.DecodeField(fid); in ToReflectedField()
395 return soa.AddLocalReference<jobject>(mirror::Field::CreateFromArtField(soa.Self(), f, true)); in ToReflectedField()
400 ScopedObjectAccess soa(env); in GetObjectClass() local
401 mirror::Object* o = soa.Decode<mirror::Object*>(java_object); in GetObjectClass()
402 return soa.AddLocalReference<jclass>(o->GetClass()); in GetObjectClass()
407 ScopedObjectAccess soa(env); in GetSuperclass() local
408 mirror::Class* c = soa.Decode<mirror::Class*>(java_class); in GetSuperclass()
409 return soa.AddLocalReference<jclass>(c->GetSuperClass()); in GetSuperclass()
417 ScopedObjectAccess soa(env); in IsAssignableFrom() local
418 mirror::Class* c1 = soa.Decode<mirror::Class*>(java_class1); in IsAssignableFrom()
419 mirror::Class* c2 = soa.Decode<mirror::Class*>(java_class2); in IsAssignableFrom()
429 ScopedObjectAccess soa(env); in IsInstanceOf() local
430 mirror::Object* obj = soa.Decode<mirror::Object*>(jobj); in IsInstanceOf()
431 mirror::Class* c = soa.Decode<mirror::Class*>(java_class); in IsInstanceOf()
437 ScopedObjectAccess soa(env); in Throw() local
438 mirror::Throwable* exception = soa.Decode<mirror::Throwable*>(java_exception); in Throw()
442 soa.Self()->SetException(exception); in Throw()
456 ScopedObjectAccess soa(env); in ExceptionClear() local
457 soa.Self()->ClearException(); in ExceptionClear()
461 ScopedObjectAccess soa(env); in ExceptionDescribe() local
464 if (!soa.Self()->GetException()) { in ExceptionDescribe()
468 StackHandleScope<1> hs(soa.Self()); in ExceptionDescribe()
470 hs.NewHandle<mirror::Throwable>(soa.Self()->GetException())); in ExceptionDescribe()
471 soa.Self()->ClearException(); in ExceptionDescribe()
473 soa.AddLocalReference<jthrowable>(old_exception.Get())); in ExceptionDescribe()
481 if (soa.Self()->IsExceptionPending()) { in ExceptionDescribe()
482 LOG(WARNING) << "JNI WARNING: " << PrettyTypeOf(soa.Self()->GetException()) in ExceptionDescribe()
484 soa.Self()->ClearException(); in ExceptionDescribe()
487 soa.Self()->SetException(old_exception.Get()); in ExceptionDescribe()
491 ScopedObjectAccess soa(env); in ExceptionOccurred() local
492 mirror::Object* exception = soa.Self()->GetException(); in ExceptionOccurred()
493 return soa.AddLocalReference<jthrowable>(exception); in ExceptionOccurred()
502 ScopedObjectAccess soa(env); in PushLocalFrame() local
503 if (EnsureLocalCapacityInternal(soa, capacity, "PushLocalFrame") != JNI_OK) { in PushLocalFrame()
511 ScopedObjectAccess soa(env); in PopLocalFrame() local
512 mirror::Object* survivor = soa.Decode<mirror::Object*>(java_survivor); in PopLocalFrame()
513 soa.Env()->PopFrame(); in PopLocalFrame()
514 return soa.AddLocalReference<jobject>(survivor); in PopLocalFrame()
519 ScopedObjectAccess soa(env); in EnsureLocalCapacity() local
520 return EnsureLocalCapacityInternal(soa, desired_capacity, "EnsureLocalCapacity"); in EnsureLocalCapacity()
524 ScopedObjectAccess soa(env); in NewGlobalRef() local
525 mirror::Object* decoded_obj = soa.Decode<mirror::Object*>(obj); in NewGlobalRef()
526 return soa.Vm()->AddGlobalRef(soa.Self(), decoded_obj); in NewGlobalRef()
536 ScopedObjectAccess soa(env); in NewWeakGlobalRef() local
537 mirror::Object* decoded_obj = soa.Decode<mirror::Object*>(obj); in NewWeakGlobalRef()
538 return soa.Vm()->AddWeakGlobalRef(soa.Self(), decoded_obj); in NewWeakGlobalRef()
548 ScopedObjectAccess soa(env); in NewLocalRef() local
549 mirror::Object* decoded_obj = soa.Decode<mirror::Object*>(obj); in NewLocalRef()
554 return soa.AddLocalReference<jobject>(decoded_obj); in NewLocalRef()
564 ScopedObjectAccess soa(env); in DeleteLocalRef() local
581 ScopedObjectAccess soa(env); in IsSameObject() local
582 return (soa.Decode<mirror::Object*>(obj1) == soa.Decode<mirror::Object*>(obj2)) in IsSameObject()
589 ScopedObjectAccess soa(env); in AllocObject() local
590 mirror::Class* c = EnsureInitialized(soa.Self(), soa.Decode<mirror::Class*>(java_class)); in AllocObject()
597 return soa.AddLocalReference<jobject>(mirror::String::Alloc<true>(soa.Self(), 0, in AllocObject()
600 return soa.AddLocalReference<jobject>(c->AllocObject(soa.Self())); in AllocObject()
616 ScopedObjectAccess soa(env); in NewObjectV() local
617 mirror::Class* c = EnsureInitialized(soa.Self(), soa.Decode<mirror::Class*>(java_class)); in NewObjectV()
626 mirror::Object* result = c->AllocObject(soa.Self()); in NewObjectV()
630 jobject local_result = soa.AddLocalReference<jobject>(result); in NewObjectV()
632 if (soa.Self()->IsExceptionPending()) { in NewObjectV()
641 ScopedObjectAccess soa(env); in NewObjectA() local
642 mirror::Class* c = EnsureInitialized(soa.Self(), soa.Decode<mirror::Class*>(java_class)); in NewObjectA()
651 mirror::Object* result = c->AllocObject(soa.Self()); in NewObjectA()
655 jobject local_result = soa.AddLocalReference<jobjectArray>(result); in NewObjectA()
657 if (soa.Self()->IsExceptionPending()) { in NewObjectA()
667 ScopedObjectAccess soa(env); in GetMethodID() local
668 return FindMethodID(soa, java_class, name, sig, false); in GetMethodID()
676 ScopedObjectAccess soa(env); in GetStaticMethodID() local
677 return FindMethodID(soa, java_class, name, sig, true); in GetStaticMethodID()
685 ScopedObjectAccess soa(env); in CallObjectMethod() local
686 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap)); in CallObjectMethod()
688 return soa.AddLocalReference<jobject>(result.GetL()); in CallObjectMethod()
694 ScopedObjectAccess soa(env); in CallObjectMethodV() local
695 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args)); in CallObjectMethodV()
696 return soa.AddLocalReference<jobject>(result.GetL()); in CallObjectMethodV()
702 ScopedObjectAccess soa(env); in CallObjectMethodA() local
703 JValue result(InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args)); in CallObjectMethodA()
704 return soa.AddLocalReference<jobject>(result.GetL()); in CallObjectMethodA()
712 ScopedObjectAccess soa(env); in CallBooleanMethod() local
713 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap)); in CallBooleanMethod()
721 ScopedObjectAccess soa(env); in CallBooleanMethodV() local
722 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetZ(); in CallBooleanMethodV()
728 ScopedObjectAccess soa(env); in CallBooleanMethodA() local
729 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetZ(); in CallBooleanMethodA()
737 ScopedObjectAccess soa(env); in CallByteMethod() local
738 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap)); in CallByteMethod()
746 ScopedObjectAccess soa(env); in CallByteMethodV() local
747 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetB(); in CallByteMethodV()
753 ScopedObjectAccess soa(env); in CallByteMethodA() local
754 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetB(); in CallByteMethodA()
762 ScopedObjectAccess soa(env); in CallCharMethod() local
763 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap)); in CallCharMethod()
771 ScopedObjectAccess soa(env); in CallCharMethodV() local
772 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetC(); in CallCharMethodV()
778 ScopedObjectAccess soa(env); in CallCharMethodA() local
779 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetC(); in CallCharMethodA()
787 ScopedObjectAccess soa(env); in CallDoubleMethod() local
788 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap)); in CallDoubleMethod()
796 ScopedObjectAccess soa(env); in CallDoubleMethodV() local
797 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetD(); in CallDoubleMethodV()
803 ScopedObjectAccess soa(env); in CallDoubleMethodA() local
804 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetD(); in CallDoubleMethodA()
812 ScopedObjectAccess soa(env); in CallFloatMethod() local
813 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap)); in CallFloatMethod()
821 ScopedObjectAccess soa(env); in CallFloatMethodV() local
822 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetF(); in CallFloatMethodV()
828 ScopedObjectAccess soa(env); in CallFloatMethodA() local
829 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetF(); in CallFloatMethodA()
837 ScopedObjectAccess soa(env); in CallIntMethod() local
838 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap)); in CallIntMethod()
846 ScopedObjectAccess soa(env); in CallIntMethodV() local
847 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetI(); in CallIntMethodV()
853 ScopedObjectAccess soa(env); in CallIntMethodA() local
854 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetI(); in CallIntMethodA()
862 ScopedObjectAccess soa(env); in CallLongMethod() local
863 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap)); in CallLongMethod()
871 ScopedObjectAccess soa(env); in CallLongMethodV() local
872 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetJ(); in CallLongMethodV()
878 ScopedObjectAccess soa(env); in CallLongMethodA() local
879 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetJ(); in CallLongMethodA()
887 ScopedObjectAccess soa(env); in CallShortMethod() local
888 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap)); in CallShortMethod()
896 ScopedObjectAccess soa(env); in CallShortMethodV() local
897 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetS(); in CallShortMethodV()
903 ScopedObjectAccess soa(env); in CallShortMethodA() local
904 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetS(); in CallShortMethodA()
912 ScopedObjectAccess soa(env); in CallVoidMethod() local
913 InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap); in CallVoidMethod()
920 ScopedObjectAccess soa(env); in CallVoidMethodV() local
921 InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args); in CallVoidMethodV()
927 ScopedObjectAccess soa(env); in CallVoidMethodA() local
928 InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args); in CallVoidMethodA()
936 ScopedObjectAccess soa(env); in CallNonvirtualObjectMethod() local
937 JValue result(InvokeWithVarArgs(soa, obj, mid, ap)); in CallNonvirtualObjectMethod()
938 jobject local_result = soa.AddLocalReference<jobject>(result.GetL()); in CallNonvirtualObjectMethod()
947 ScopedObjectAccess soa(env); in CallNonvirtualObjectMethodV() local
948 JValue result(InvokeWithVarArgs(soa, obj, mid, args)); in CallNonvirtualObjectMethodV()
949 return soa.AddLocalReference<jobject>(result.GetL()); in CallNonvirtualObjectMethodV()
956 ScopedObjectAccess soa(env); in CallNonvirtualObjectMethodA() local
957 JValue result(InvokeWithJValues(soa, obj, mid, args)); in CallNonvirtualObjectMethodA()
958 return soa.AddLocalReference<jobject>(result.GetL()); in CallNonvirtualObjectMethodA()
967 ScopedObjectAccess soa(env); in CallNonvirtualBooleanMethod() local
968 JValue result(InvokeWithVarArgs(soa, obj, mid, ap)); in CallNonvirtualBooleanMethod()
977 ScopedObjectAccess soa(env); in CallNonvirtualBooleanMethodV() local
978 return InvokeWithVarArgs(soa, obj, mid, args).GetZ(); in CallNonvirtualBooleanMethodV()
985 ScopedObjectAccess soa(env); in CallNonvirtualBooleanMethodA() local
986 return InvokeWithJValues(soa, obj, mid, args).GetZ(); in CallNonvirtualBooleanMethodA()
994 ScopedObjectAccess soa(env); in CallNonvirtualByteMethod() local
995 JValue result(InvokeWithVarArgs(soa, obj, mid, ap)); in CallNonvirtualByteMethod()
1004 ScopedObjectAccess soa(env); in CallNonvirtualByteMethodV() local
1005 return InvokeWithVarArgs(soa, obj, mid, args).GetB(); in CallNonvirtualByteMethodV()
1012 ScopedObjectAccess soa(env); in CallNonvirtualByteMethodA() local
1013 return InvokeWithJValues(soa, obj, mid, args).GetB(); in CallNonvirtualByteMethodA()
1021 ScopedObjectAccess soa(env); in CallNonvirtualCharMethod() local
1022 JValue result(InvokeWithVarArgs(soa, obj, mid, ap)); in CallNonvirtualCharMethod()
1031 ScopedObjectAccess soa(env); in CallNonvirtualCharMethodV() local
1032 return InvokeWithVarArgs(soa, obj, mid, args).GetC(); in CallNonvirtualCharMethodV()
1039 ScopedObjectAccess soa(env); in CallNonvirtualCharMethodA() local
1040 return InvokeWithJValues(soa, obj, mid, args).GetC(); in CallNonvirtualCharMethodA()
1048 ScopedObjectAccess soa(env); in CallNonvirtualShortMethod() local
1049 JValue result(InvokeWithVarArgs(soa, obj, mid, ap)); in CallNonvirtualShortMethod()
1058 ScopedObjectAccess soa(env); in CallNonvirtualShortMethodV() local
1059 return InvokeWithVarArgs(soa, obj, mid, args).GetS(); in CallNonvirtualShortMethodV()
1066 ScopedObjectAccess soa(env); in CallNonvirtualShortMethodA() local
1067 return InvokeWithJValues(soa, obj, mid, args).GetS(); in CallNonvirtualShortMethodA()
1075 ScopedObjectAccess soa(env); in CallNonvirtualIntMethod() local
1076 JValue result(InvokeWithVarArgs(soa, obj, mid, ap)); in CallNonvirtualIntMethod()
1085 ScopedObjectAccess soa(env); in CallNonvirtualIntMethodV() local
1086 return InvokeWithVarArgs(soa, obj, mid, args).GetI(); in CallNonvirtualIntMethodV()
1093 ScopedObjectAccess soa(env); in CallNonvirtualIntMethodA() local
1094 return InvokeWithJValues(soa, obj, mid, args).GetI(); in CallNonvirtualIntMethodA()
1102 ScopedObjectAccess soa(env); in CallNonvirtualLongMethod() local
1103 JValue result(InvokeWithVarArgs(soa, obj, mid, ap)); in CallNonvirtualLongMethod()
1112 ScopedObjectAccess soa(env); in CallNonvirtualLongMethodV() local
1113 return InvokeWithVarArgs(soa, obj, mid, args).GetJ(); in CallNonvirtualLongMethodV()
1120 ScopedObjectAccess soa(env); in CallNonvirtualLongMethodA() local
1121 return InvokeWithJValues(soa, obj, mid, args).GetJ(); in CallNonvirtualLongMethodA()
1129 ScopedObjectAccess soa(env); in CallNonvirtualFloatMethod() local
1130 JValue result(InvokeWithVarArgs(soa, obj, mid, ap)); in CallNonvirtualFloatMethod()
1139 ScopedObjectAccess soa(env); in CallNonvirtualFloatMethodV() local
1140 return InvokeWithVarArgs(soa, obj, mid, args).GetF(); in CallNonvirtualFloatMethodV()
1147 ScopedObjectAccess soa(env); in CallNonvirtualFloatMethodA() local
1148 return InvokeWithJValues(soa, obj, mid, args).GetF(); in CallNonvirtualFloatMethodA()
1156 ScopedObjectAccess soa(env); in CallNonvirtualDoubleMethod() local
1157 JValue result(InvokeWithVarArgs(soa, obj, mid, ap)); in CallNonvirtualDoubleMethod()
1166 ScopedObjectAccess soa(env); in CallNonvirtualDoubleMethodV() local
1167 return InvokeWithVarArgs(soa, obj, mid, args).GetD(); in CallNonvirtualDoubleMethodV()
1174 ScopedObjectAccess soa(env); in CallNonvirtualDoubleMethodA() local
1175 return InvokeWithJValues(soa, obj, mid, args).GetD(); in CallNonvirtualDoubleMethodA()
1183 ScopedObjectAccess soa(env); in CallNonvirtualVoidMethod() local
1184 InvokeWithVarArgs(soa, obj, mid, ap); in CallNonvirtualVoidMethod()
1192 ScopedObjectAccess soa(env); in CallNonvirtualVoidMethodV() local
1193 InvokeWithVarArgs(soa, obj, mid, args); in CallNonvirtualVoidMethodV()
1200 ScopedObjectAccess soa(env); in CallNonvirtualVoidMethodA() local
1201 InvokeWithJValues(soa, obj, mid, args); in CallNonvirtualVoidMethodA()
1208 ScopedObjectAccess soa(env); in GetFieldID() local
1209 return FindFieldID(soa, java_class, name, sig, false); in GetFieldID()
1217 ScopedObjectAccess soa(env); in GetStaticFieldID() local
1218 return FindFieldID(soa, java_class, name, sig, true); in GetStaticFieldID()
1224 ScopedObjectAccess soa(env); in GetObjectField() local
1225 mirror::Object* o = soa.Decode<mirror::Object*>(obj); in GetObjectField()
1226 ArtField* f = soa.DecodeField(fid); in GetObjectField()
1227 return soa.AddLocalReference<jobject>(f->GetObject(o)); in GetObjectField()
1232 ScopedObjectAccess soa(env); in GetStaticObjectField() local
1233 ArtField* f = soa.DecodeField(fid); in GetStaticObjectField()
1234 return soa.AddLocalReference<jobject>(f->GetObject(f->GetDeclaringClass())); in GetStaticObjectField()
1240 ScopedObjectAccess soa(env); in SetObjectField() local
1241 mirror::Object* o = soa.Decode<mirror::Object*>(java_object); in SetObjectField()
1242 mirror::Object* v = soa.Decode<mirror::Object*>(java_value); in SetObjectField()
1243 ArtField* f = soa.DecodeField(fid); in SetObjectField()
1249 ScopedObjectAccess soa(env); in SetStaticObjectField() local
1250 mirror::Object* v = soa.Decode<mirror::Object*>(java_value); in SetStaticObjectField()
1251 ArtField* f = soa.DecodeField(fid); in SetStaticObjectField()
1258 ScopedObjectAccess soa(env); \
1259 mirror::Object* o = soa.Decode<mirror::Object*>(instance); \
1260 ArtField* f = soa.DecodeField(fid); \
1265 ScopedObjectAccess soa(env); \
1266 ArtField* f = soa.DecodeField(fid); \
1272 ScopedObjectAccess soa(env); \
1273 mirror::Object* o = soa.Decode<mirror::Object*>(instance); \
1274 ArtField* f = soa.DecodeField(fid); \
1279 ScopedObjectAccess soa(env); \
1280 ArtField* f = soa.DecodeField(fid); \
1415 ScopedObjectAccess soa(env); in CallStaticObjectMethod() local
1416 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap)); in CallStaticObjectMethod()
1417 jobject local_result = soa.AddLocalReference<jobject>(result.GetL()); in CallStaticObjectMethod()
1424 ScopedObjectAccess soa(env); in CallStaticObjectMethodV() local
1425 JValue result(InvokeWithVarArgs(soa, nullptr, mid, args)); in CallStaticObjectMethodV()
1426 return soa.AddLocalReference<jobject>(result.GetL()); in CallStaticObjectMethodV()
1431 ScopedObjectAccess soa(env); in CallStaticObjectMethodA() local
1432 JValue result(InvokeWithJValues(soa, nullptr, mid, args)); in CallStaticObjectMethodA()
1433 return soa.AddLocalReference<jobject>(result.GetL()); in CallStaticObjectMethodA()
1440 ScopedObjectAccess soa(env); in CallStaticBooleanMethod() local
1441 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap)); in CallStaticBooleanMethod()
1448 ScopedObjectAccess soa(env); in CallStaticBooleanMethodV() local
1449 return InvokeWithVarArgs(soa, nullptr, mid, args).GetZ(); in CallStaticBooleanMethodV()
1454 ScopedObjectAccess soa(env); in CallStaticBooleanMethodA() local
1455 return InvokeWithJValues(soa, nullptr, mid, args).GetZ(); in CallStaticBooleanMethodA()
1462 ScopedObjectAccess soa(env); in CallStaticByteMethod() local
1463 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap)); in CallStaticByteMethod()
1470 ScopedObjectAccess soa(env); in CallStaticByteMethodV() local
1471 return InvokeWithVarArgs(soa, nullptr, mid, args).GetB(); in CallStaticByteMethodV()
1476 ScopedObjectAccess soa(env); in CallStaticByteMethodA() local
1477 return InvokeWithJValues(soa, nullptr, mid, args).GetB(); in CallStaticByteMethodA()
1484 ScopedObjectAccess soa(env); in CallStaticCharMethod() local
1485 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap)); in CallStaticCharMethod()
1492 ScopedObjectAccess soa(env); in CallStaticCharMethodV() local
1493 return InvokeWithVarArgs(soa, nullptr, mid, args).GetC(); in CallStaticCharMethodV()
1498 ScopedObjectAccess soa(env); in CallStaticCharMethodA() local
1499 return InvokeWithJValues(soa, nullptr, mid, args).GetC(); in CallStaticCharMethodA()
1506 ScopedObjectAccess soa(env); in CallStaticShortMethod() local
1507 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap)); in CallStaticShortMethod()
1514 ScopedObjectAccess soa(env); in CallStaticShortMethodV() local
1515 return InvokeWithVarArgs(soa, nullptr, mid, args).GetS(); in CallStaticShortMethodV()
1520 ScopedObjectAccess soa(env); in CallStaticShortMethodA() local
1521 return InvokeWithJValues(soa, nullptr, mid, args).GetS(); in CallStaticShortMethodA()
1528 ScopedObjectAccess soa(env); in CallStaticIntMethod() local
1529 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap)); in CallStaticIntMethod()
1536 ScopedObjectAccess soa(env); in CallStaticIntMethodV() local
1537 return InvokeWithVarArgs(soa, nullptr, mid, args).GetI(); in CallStaticIntMethodV()
1542 ScopedObjectAccess soa(env); in CallStaticIntMethodA() local
1543 return InvokeWithJValues(soa, nullptr, mid, args).GetI(); in CallStaticIntMethodA()
1550 ScopedObjectAccess soa(env); in CallStaticLongMethod() local
1551 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap)); in CallStaticLongMethod()
1558 ScopedObjectAccess soa(env); in CallStaticLongMethodV() local
1559 return InvokeWithVarArgs(soa, nullptr, mid, args).GetJ(); in CallStaticLongMethodV()
1564 ScopedObjectAccess soa(env); in CallStaticLongMethodA() local
1565 return InvokeWithJValues(soa, nullptr, mid, args).GetJ(); in CallStaticLongMethodA()
1572 ScopedObjectAccess soa(env); in CallStaticFloatMethod() local
1573 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap)); in CallStaticFloatMethod()
1580 ScopedObjectAccess soa(env); in CallStaticFloatMethodV() local
1581 return InvokeWithVarArgs(soa, nullptr, mid, args).GetF(); in CallStaticFloatMethodV()
1586 ScopedObjectAccess soa(env); in CallStaticFloatMethodA() local
1587 return InvokeWithJValues(soa, nullptr, mid, args).GetF(); in CallStaticFloatMethodA()
1594 ScopedObjectAccess soa(env); in CallStaticDoubleMethod() local
1595 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap)); in CallStaticDoubleMethod()
1602 ScopedObjectAccess soa(env); in CallStaticDoubleMethodV() local
1603 return InvokeWithVarArgs(soa, nullptr, mid, args).GetD(); in CallStaticDoubleMethodV()
1608 ScopedObjectAccess soa(env); in CallStaticDoubleMethodA() local
1609 return InvokeWithJValues(soa, nullptr, mid, args).GetD(); in CallStaticDoubleMethodA()
1616 ScopedObjectAccess soa(env); in CallStaticVoidMethod() local
1617 InvokeWithVarArgs(soa, nullptr, mid, ap); in CallStaticVoidMethod()
1623 ScopedObjectAccess soa(env); in CallStaticVoidMethodV() local
1624 InvokeWithVarArgs(soa, nullptr, mid, args); in CallStaticVoidMethodV()
1629 ScopedObjectAccess soa(env); in CallStaticVoidMethodA() local
1630 InvokeWithJValues(soa, nullptr, mid, args); in CallStaticVoidMethodA()
1642 ScopedObjectAccess soa(env); in NewString() local
1643 mirror::String* result = mirror::String::AllocFromUtf16(soa.Self(), char_count, chars); in NewString()
1644 return soa.AddLocalReference<jstring>(result); in NewString()
1651 ScopedObjectAccess soa(env); in NewStringUTF() local
1652 mirror::String* result = mirror::String::AllocFromModifiedUtf8(soa.Self(), utf); in NewStringUTF()
1653 return soa.AddLocalReference<jstring>(result); in NewStringUTF()
1658 ScopedObjectAccess soa(env); in GetStringLength() local
1659 return soa.Decode<mirror::String*>(java_string)->GetLength(); in GetStringLength()
1664 ScopedObjectAccess soa(env); in GetStringUTFLength() local
1665 return soa.Decode<mirror::String*>(java_string)->GetUtfLength(); in GetStringUTFLength()
1671 ScopedObjectAccess soa(env); in GetStringRegion() local
1672 mirror::String* s = soa.Decode<mirror::String*>(java_string); in GetStringRegion()
1674 ThrowSIOOBE(soa, start, length, s->GetLength()); in GetStringRegion()
1685 ScopedObjectAccess soa(env); in GetStringUTFRegion() local
1686 mirror::String* s = soa.Decode<mirror::String*>(java_string); in GetStringUTFRegion()
1688 ThrowSIOOBE(soa, start, length, s->GetLength()); in GetStringUTFRegion()
1698 ScopedObjectAccess soa(env); in GetStringChars() local
1699 mirror::String* s = soa.Decode<mirror::String*>(java_string); in GetStringChars()
1717 ScopedObjectAccess soa(env); in ReleaseStringChars() local
1718 mirror::String* s = soa.Decode<mirror::String*>(java_string); in ReleaseStringChars()
1726 ScopedObjectAccess soa(env); in GetStringCritical() local
1727 mirror::String* s = soa.Decode<mirror::String*>(java_string); in GetStringCritical()
1730 StackHandleScope<1> hs(soa.Self()); in GetStringCritical()
1732 heap->IncrementDisableMovingGC(soa.Self()); in GetStringCritical()
1743 ScopedObjectAccess soa(env); in ReleaseStringCritical() local
1745 mirror::String* s = soa.Decode<mirror::String*>(java_string); in ReleaseStringCritical()
1747 heap->DecrementDisableMovingGC(soa.Self()); in ReleaseStringCritical()
1758 ScopedObjectAccess soa(env); in GetStringUTFChars() local
1759 mirror::String* s = soa.Decode<mirror::String*>(java_string); in GetStringUTFChars()
1775 ScopedObjectAccess soa(env); in GetArrayLength() local
1776 mirror::Object* obj = soa.Decode<mirror::Object*>(java_array); in GetArrayLength()
1778 soa.Vm()->JniAbortF("GetArrayLength", "not an array: %s", PrettyTypeOf(obj).c_str()); in GetArrayLength()
1787 ScopedObjectAccess soa(env); in GetObjectArrayElement() local
1789 soa.Decode<mirror::ObjectArray<mirror::Object>*>(java_array); in GetObjectArrayElement()
1790 return soa.AddLocalReference<jobject>(array->Get(index)); in GetObjectArrayElement()
1796 ScopedObjectAccess soa(env); in SetObjectArrayElement() local
1798 soa.Decode<mirror::ObjectArray<mirror::Object>*>(java_array); in SetObjectArrayElement()
1799 mirror::Object* value = soa.Decode<mirror::Object*>(java_value); in SetObjectArrayElement()
1840 ScopedObjectAccess soa(env); in NewObjectArray() local
1843 mirror::Class* element_class = soa.Decode<mirror::Class*>(element_jclass); in NewObjectArray()
1845 soa.Vm()->JniAbortF("NewObjectArray", "not an object type: %s", in NewObjectArray()
1850 array_class = class_linker->FindArrayClass(soa.Self(), &element_class); in NewObjectArray()
1858 mirror::ObjectArray<mirror::Object>::Alloc(soa.Self(), array_class, length); in NewObjectArray()
1860 mirror::Object* initial_object = soa.Decode<mirror::Object*>(initial_element); in NewObjectArray()
1864 soa.Vm()->JniAbortF("NewObjectArray", "cannot assign object of type '%s' to array with " in NewObjectArray()
1876 return soa.AddLocalReference<jobjectArray>(result); in NewObjectArray()
1885 ScopedObjectAccess soa(env); in GetPrimitiveArrayCritical() local
1886 mirror::Array* array = soa.Decode<mirror::Array*>(java_array); in GetPrimitiveArrayCritical()
1888 soa.Vm()->JniAbortF("GetPrimitiveArrayCritical", "expected primitive array, given %s", in GetPrimitiveArrayCritical()
1894 heap->IncrementDisableMovingGC(soa.Self()); in GetPrimitiveArrayCritical()
1896 array = soa.Decode<mirror::Array*>(java_array); in GetPrimitiveArrayCritical()
1907 ScopedObjectAccess soa(env); in ReleasePrimitiveArrayCritical() local
1908 mirror::Array* array = soa.Decode<mirror::Array*>(java_array); in ReleasePrimitiveArrayCritical()
1910 soa.Vm()->JniAbortF("ReleasePrimitiveArrayCritical", "expected primitive array, given %s", in ReleasePrimitiveArrayCritical()
1915 ReleasePrimitiveArray(soa, array, component_size, elements, mode); in ReleasePrimitiveArrayCritical()
2088 ScopedObjectAccess soa(env); in RegisterNativeMethods() local
2089 mirror::Class* c = soa.Decode<mirror::Class*>(java_class); in RegisterNativeMethods()
2101 ReportInvalidJNINativeMethod(soa, c, "method name", i, return_errors); in RegisterNativeMethods()
2104 ReportInvalidJNINativeMethod(soa, c, "method signature", i, return_errors); in RegisterNativeMethods()
2107 ReportInvalidJNINativeMethod(soa, c, "native function", i, return_errors); in RegisterNativeMethods()
2179 ThrowNoSuchMethodError(soa, c, name, sig, "static or non-static"); in RegisterNativeMethods()
2185 ThrowNoSuchMethodError(soa, c, name, sig, "native"); in RegisterNativeMethods()
2198 ScopedObjectAccess soa(env); in UnregisterNatives() local
2199 mirror::Class* c = soa.Decode<mirror::Class*>(java_class); in UnregisterNatives()
2227 ScopedObjectAccess soa(env); in MonitorEnter() local
2228 mirror::Object* o = soa.Decode<mirror::Object*>(java_object); in MonitorEnter()
2229 o = o->MonitorEnter(soa.Self()); in MonitorEnter()
2230 if (soa.Self()->IsExceptionPending()) { in MonitorEnter()
2233 soa.Env()->monitors.Add(o); in MonitorEnter()
2239 ScopedObjectAccess soa(env); in MonitorExit() local
2240 mirror::Object* o = soa.Decode<mirror::Object*>(java_object); in MonitorExit()
2241 o->MonitorExit(soa.Self()); in MonitorExit()
2242 if (soa.Self()->IsExceptionPending()) { in MonitorExit()
2245 soa.Env()->monitors.Remove(o); in MonitorExit()
2322 static jint EnsureLocalCapacityInternal(ScopedObjectAccess& soa, jint desired_capacity, in EnsureLocalCapacityInternal() argument
2331 const size_t capacity = soa.Env()->locals.Capacity(); in EnsureLocalCapacityInternal()
2334 soa.Self()->ThrowOutOfMemoryError(caller); in EnsureLocalCapacityInternal()
2341 ScopedObjectAccess soa(env); in NewPrimitiveArray() local
2343 soa.Vm()->JniAbortF("NewPrimitiveArray", "negative array length: %d", length); in NewPrimitiveArray()
2346 ArtT* result = ArtT::Alloc(soa.Self(), length); in NewPrimitiveArray()
2347 return soa.AddLocalReference<JniT>(result); in NewPrimitiveArray()
2351 static ArtArrayT* DecodeAndCheckArrayType(ScopedObjectAccess& soa, JArrayT java_array, in DecodeAndCheckArrayType() argument
2354 ArtArrayT* array = soa.Decode<ArtArrayT*>(java_array); in DecodeAndCheckArrayType()
2356 soa.Vm()->JniAbortF(fn_name, in DecodeAndCheckArrayType()
2370 ScopedObjectAccess soa(env); in GetPrimitiveArray() local
2371 ArtArrayT* array = DecodeAndCheckArrayType<ArrayT, ElementT, ArtArrayT>(soa, java_array, in GetPrimitiveArray()
2398 ScopedObjectAccess soa(env); in ReleasePrimitiveArray() local
2399 ArtArrayT* array = DecodeAndCheckArrayType<ArrayT, ElementT, ArtArrayT>(soa, java_array, in ReleasePrimitiveArray()
2405 ReleasePrimitiveArray(soa, array, sizeof(ElementT), elements, mode); in ReleasePrimitiveArray()
2408 static void ReleasePrimitiveArray(ScopedObjectAccess& soa, mirror::Array* array, in ReleasePrimitiveArray() argument
2415 VLOG(heap) << "Release primitive array " << soa.Env() << " array_data " << array_data in ReleasePrimitiveArray()
2422 soa.Vm()->JniAbortF("ReleaseArrayElements", in ReleasePrimitiveArray()
2432 soa.Self()->DumpJavaStack(LOG(WARNING)); in ReleasePrimitiveArray()
2440 heap->DecrementDisableMovingGC(soa.Self()); in ReleasePrimitiveArray()
2449 ScopedObjectAccess soa(env); in GetPrimitiveArrayRegion() local
2451 DecodeAndCheckArrayType<JArrayT, ElementT, ArtArrayT>(soa, java_array, in GetPrimitiveArrayRegion()
2456 ThrowAIOOBE(soa, array, start, length, "src"); in GetPrimitiveArrayRegion()
2469 ScopedObjectAccess soa(env); in SetPrimitiveArrayRegion() local
2471 DecodeAndCheckArrayType<JArrayT, ElementT, ArtArrayT>(soa, java_array, in SetPrimitiveArrayRegion()
2476 ThrowAIOOBE(soa, array, start, length, "dst"); in SetPrimitiveArrayRegion()