Home | History | Annotate | Download | only in runtime

Lines Matching refs:soa

90 static void ThrowNoSuchMethodError(ScopedObjectAccess& soa, mirror::Class* c,
94 soa.Self()->ThrowNewExceptionF("Ljava/lang/NoSuchMethodError;",
99 static void ReportInvalidJNINativeMethod(const ScopedObjectAccess& soa, mirror::Class* c,
105 soa.Self()->ThrowNewExceptionF("Ljava/lang/NoSuchMethodError;",
122 static jmethodID FindMethodID(ScopedObjectAccess& soa, jclass jni_class,
125 mirror::Class* c = EnsureInitialized(soa.Self(), soa.Decode<mirror::Class*>(jni_class));
144 ThrowNoSuchMethodError(soa, c, name, sig, is_static ? "static" : "non-static");
147 return soa.EncodeMethod(method);
150 static mirror::ClassLoader* GetClassLoader(const ScopedObjectAccess& soa)
152 ArtMethod* method = soa.Self()->GetCurrentMethod(nullptr);
154 if (method == soa.DecodeMethod(WellKnownClasses::java_lang_Runtime_nativeLoad)) {
155 return soa.Decode<mirror::ClassLoader*>(soa.Self()->GetClassLoaderOverride());
163 soa.Decode<mirror::ClassLoader*>(Runtime::Current()->GetSystemClassLoader());
168 class_loader = soa.Decode<mirror::ClassLoader*>(soa.Self()->GetClassLoaderOverride());
180 static jfieldID FindFieldID(const ScopedObjectAccess& soa, jclass jni_class, const char* name,
183 StackHandleScope<2> hs(soa.Self());
185 hs.NewHandle(EnsureInitialized(soa.Self(), soa.Decode<mirror::Class*>(jni_class))));
194 field_type = class_linker->FindClass(soa.Self(), sig, class_loader);
200 DCHECK(soa.Self()->IsExceptionPending());
201 StackHandleScope<1> hs2(soa.Self());
202 Handle<mirror::Throwable> cause(hs2.NewHandle(soa.Self()->GetException()));
203 soa.Self()->ClearException();
205 soa.Self()->ThrowNewExceptionF("Ljava/lang/NoSuchFieldError;",
209 soa.Self()->GetException()->SetCause(cause.Get());
214 field = mirror::Class::FindStaticField(soa.Self(), c, name,
220 soa.Self()->ThrowNewExceptionF("Ljava/lang/NoSuchFieldError;",
225 return soa.EncodeField(field);
228 static void ThrowAIOOBE(ScopedObjectAccess& soa, mirror::Array* array, jsize start,
232 soa.Self()->ThrowNewExceptionF("Ljava/lang/ArrayIndexOutOfBoundsException;",
237 static void ThrowSIOOBE(ScopedObjectAccess& soa, jsize start, jsize length,
240 soa.Self()->ThrowNewExceptionF("Ljava/lang/StringIndexOutOfBoundsException;",
271 ScopedObjectAccess soa(env);
273 << PrettyClass(soa.Decode<mirror::Class*>(exception_class));
282 ScopedObjectAccess soa(env);
283 soa.Self()->SetException(soa.Decode<mirror::Throwable*>(exception.get()));
343 ScopedObjectAccess soa(env);
346 StackHandleScope<1> hs(soa.Self());
347 Handle<mirror::ClassLoader> class_loader(hs.NewHandle(GetClassLoader(soa)));
348 c = class_linker->FindClass(soa.Self(), descriptor.c_str(), class_loader);
350 c = class_linker->FindSystemClass(soa.Self(), descriptor.c_str());
352 return soa.AddLocalReference<jclass>(c);
357 ScopedObjectAccess soa(env);
358 return soa.EncodeMethod(ArtMethod::FromReflectedMethod(soa, jlr_method));
363 ScopedObjectAccess soa(env);
364 mirror::Object* obj_field = soa.Decode<mirror::Object*>(jlr_field);
370 return soa.EncodeField(field->GetArtField());
375 ScopedObjectAccess soa(env);
376 ArtMethod* m = soa.DecodeMethod(mid);
379 method = mirror::Constructor::CreateFromArtMethod(soa.Self(), m);
381 method = mirror::Method::CreateFromArtMethod(soa.Self(), m);
383 return soa.AddLocalReference<jobject>(method);
388 ScopedObjectAccess soa(env);
389 ArtField* f = soa.DecodeField(fid);
390 return soa.AddLocalReference<jobject>(mirror::Field::CreateFromArtField(soa.Self(), f, true));
395 ScopedObjectAccess soa(env);
396 mirror::Object* o = soa.Decode<mirror::Object*>(java_object);
397 return soa.AddLocalReference<jclass>(o->GetClass());
402 ScopedObjectAccess soa(env);
403 mirror::Class* c = soa.Decode<mirror::Class*>(java_class);
404 return soa.AddLocalReference<jclass>(c->IsInterface() ? nullptr : c->GetSuperClass());
412 ScopedObjectAccess soa(env);
413 mirror::Class* c1 = soa.Decode<mirror::Class*>(java_class1);
414 mirror::Class* c2 = soa.Decode<mirror::Class*>(java_class2);
424 ScopedObjectAccess soa(env);
425 mirror::Object* obj = soa
426 mirror::Class* c = soa.Decode<mirror::Class*>(java_class);
432 ScopedObjectAccess soa(env);
433 mirror::Throwable* exception = soa.Decode<mirror::Throwable*>(java_exception);
437 soa.Self()->SetException(exception);
451 ScopedObjectAccess soa(env);
452 soa.Self()->ClearException();
456 ScopedObjectAccess soa(env);
459 if (!soa.Self()->GetException()) {
463 StackHandleScope<1> hs(soa.Self());
465 hs.NewHandle<mirror::Throwable>(soa.Self()->GetException()));
466 soa.Self()->ClearException();
468 soa.AddLocalReference<jthrowable>(old_exception.Get()));
476 if (soa.Self()->IsExceptionPending()) {
477 LOG(WARNING) << "JNI WARNING: " << PrettyTypeOf(soa.Self()->GetException())
479 soa.Self()->ClearException();
482 soa.Self()->SetException(old_exception.Get());
486 ScopedObjectAccess soa(env);
487 mirror::Object* exception = soa.Self()->GetException();
488 return soa.AddLocalReference<jthrowable>(exception);
496 // TODO: SOA may not be necessary but I do it to please lock annotations.
497 ScopedObjectAccess soa(env);
498 if (EnsureLocalCapacityInternal(soa, capacity, "PushLocalFrame") != JNI_OK) {
506 ScopedObjectAccess soa(env);
507 mirror::Object* survivor = soa.Decode<mirror::Object*>(java_survivor);
508 soa.Env()->PopFrame();
509 return soa.AddLocalReference<jobject>(survivor);
513 // TODO: SOA may not be necessary but I do it to please lock annotations.
514 ScopedObjectAccess soa(env);
515 return EnsureLocalCapacityInternal(soa, desired_capacity, "EnsureLocalCapacity");
519 ScopedObjectAccess soa(env);
520 mirror::Object* decoded_obj = soa.Decode<mirror::Object*>(obj);
521 return soa.Vm()->AddGlobalRef(soa.Self(), decoded_obj);
531 ScopedObjectAccess soa(env);
532 mirror::Object* decoded_obj = soa.Decode<mirror::Object*>(obj);
533 return soa.Vm()->AddWeakGlobalRef(soa.Self(), decoded_obj);
543 ScopedObjectAccess soa(env);
544 mirror::Object* decoded_obj = soa.Decode<mirror::Object*>(obj);
549 return soa.AddLocalReference<jobject>(decoded_obj);
556 // SOA is only necessary to have exclusion between GC root marking and removing.
559 ScopedObjectAccess soa(env);
576 ScopedObjectAccess soa(env);
577 return (soa.Decode<mirror::Object*>(obj1) == soa.Decode<mirror::Object*>(obj2))
584 ScopedObjectAccess soa(env);
585 mirror::Class* c = EnsureInitialized(soa.Self(), soa.Decode<mirror::Class*>(java_class));
592 return soa.AddLocalReference<jobject>(mirror::String::Alloc<true>(soa.Self(), 0,
595 return soa.AddLocalReference<jobject>(c->AllocObject(soa.Self()));
611 ScopedObjectAccess soa(env);
612 mirror::Class* c = EnsureInitialized(soa.Self(), soa.Decode<mirror::Class*>(java_class));
621 mirror::Object* result = c->AllocObject(soa.Self());
625 jobject local_result = soa.AddLocalReference<jobject>(result);
627 if (soa.Self()->IsExceptionPending()) {
636 ScopedObjectAccess soa(env);
637 mirror::Class* c = EnsureInitialized(soa.Self(), soa.Decode<mirror::Class*>(java_class));
646 mirror::Object* result = c->AllocObject(soa.Self());
650 jobject local_result = soa.AddLocalReference<jobjectArray>(result);
652 if (soa.Self()->IsExceptionPending()) {
662 ScopedObjectAccess soa(env);
663 return FindMethodID(soa, java_class, name, sig, false);
671 ScopedObjectAccess soa(env);
672 return FindMethodID(soa, java_class, name, sig, true);
680 ScopedObjectAccess soa(env);
681 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap));
683 return soa.AddLocalReference<jobject>(result.GetL());
689 ScopedObjectAccess soa(env);
690 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args));
691 return soa.AddLocalReference<jobject>(result.GetL());
697 ScopedObjectAccess soa(env);
698 JValue result(InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args));
699 return soa.AddLocalReference<jobject>(result.GetL());
707 ScopedObjectAccess soa(env);
708 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap));
716 ScopedObjectAccess soa(env);
717 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetZ();
723 ScopedObjectAccess soa(env);
724 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetZ();
732 ScopedObjectAccess soa(env);
733 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap));
741 ScopedObjectAccess soa(env);
742 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetB();
748 ScopedObjectAccess soa(env);
749 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetB();
757 ScopedObjectAccess soa(env);
758 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap));
766 ScopedObjectAccess soa(env);
767 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetC();
773 ScopedObjectAccess soa(env);
774 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetC();
782 ScopedObjectAccess soa(env);
783 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap));
791 ScopedObjectAccess soa(env);
792 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetD();
798 ScopedObjectAccess soa(env);
799 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetD();
807 ScopedObjectAccess soa(env);
808 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap));
816 ScopedObjectAccess soa(env);
817 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetF();
823 ScopedObjectAccess soa(env);
824 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetF();
832 ScopedObjectAccess soa(env);
833 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap));
841 ScopedObjectAccess soa(env);
842 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetI();
848 ScopedObjectAccess soa(env);
849 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetI();
857 ScopedObjectAccess soa(env);
858 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap));
866 ScopedObjectAccess soa(env);
867 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetJ();
873 ScopedObjectAccess soa(env);
874 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetJ();
882 ScopedObjectAccess soa(env);
883 JValue result(InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap));
891 ScopedObjectAccess soa(env);
892 return InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args).GetS();
898 ScopedObjectAccess soa(env);
899 return InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args).GetS();
907 ScopedObjectAccess soa(env);
908 InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, ap);
915 ScopedObjectAccess soa(env);
916 InvokeVirtualOrInterfaceWithVarArgs(soa, obj, mid, args);
922 ScopedObjectAccess soa(env);
923 InvokeVirtualOrInterfaceWithJValues(soa, obj, mid, args);
931 ScopedObjectAccess soa(env);
932 JValue result(InvokeWithVarArgs(soa, obj, mid, ap));
933 jobject local_result = soa.AddLocalReference<jobject>(result.GetL());
942 ScopedObjectAccess soa(env);
943 JValue result(InvokeWithVarArgs(soa, obj, mid, args));
944 return soa.AddLocalReference<jobject>(result.GetL());
951 ScopedObjectAccess soa(env);
952 JValue result(InvokeWithJValues(soa, obj, mid, args));
953 return soa.AddLocalReference<jobject>(result.GetL());
962 ScopedObjectAccess soa(env);
963 JValue result(InvokeWithVarArgs(soa, obj, mid, ap));
972 ScopedObjectAccess soa(env);
973 return InvokeWithVarArgs(soa, obj, mid, args).GetZ();
980 ScopedObjectAccess soa(env);
981 return InvokeWithJValues(soa, obj, mid, args).GetZ();
989 ScopedObjectAccess soa(env);
990 JValue result(InvokeWithVarArgs(soa, obj, mid, ap));
999 ScopedObjectAccess soa(env);
1000 return InvokeWithVarArgs(soa, obj, mid, args).GetB();
1007 ScopedObjectAccess soa(env);
1008 return InvokeWithJValues(soa, obj, mid, args).GetB();
1016 ScopedObjectAccess soa(env);
1017 JValue result(InvokeWithVarArgs(soa, obj, mid, ap));
1026 ScopedObjectAccess soa(env);
1027 return InvokeWithVarArgs(soa, obj, mid, args).GetC();
1034 ScopedObjectAccess soa(env);
1035 return InvokeWithJValues(soa, obj, mid, args).GetC();
1043 ScopedObjectAccess soa(env);
1044 JValue result(InvokeWithVarArgs(soa, obj, mid, ap));
1053 ScopedObjectAccess soa(env);
1054 return InvokeWithVarArgs(soa, obj, mid, args).GetS();
1061 ScopedObjectAccess soa(env);
1062 return InvokeWithJValues(soa, obj, mid, args).GetS();
1070 ScopedObjectAccess soa(env);
1071 JValue result(InvokeWithVarArgs(soa, obj, mid, ap));
1080 ScopedObjectAccess soa(env);
1081 return InvokeWithVarArgs(soa, obj, mid, args).GetI();
1088 ScopedObjectAccess soa(env);
1089 return InvokeWithJValues(soa, obj, mid, args).GetI();
1097 ScopedObjectAccess soa(env);
1098 JValue result(InvokeWithVarArgs(soa, obj, mid, ap));
1107 ScopedObjectAccess soa(env);
1108 return InvokeWithVarArgs(soa, obj, mid, args).GetJ();
1115 ScopedObjectAccess soa(env);
1116 return InvokeWithJValues(soa, obj, mid, args).GetJ();
1124 ScopedObjectAccess soa(env);
1125 JValue result(InvokeWithVarArgs(soa, obj, mid, ap));
1134 ScopedObjectAccess soa(env);
1135 return InvokeWithVarArgs(soa, obj, mid, args).GetF();
1142 ScopedObjectAccess soa(env);
1143 return InvokeWithJValues(soa, obj, mid, args).GetF();
1151 ScopedObjectAccess soa(env);
1152 JValue result(InvokeWithVarArgs(soa, obj, mid, ap));
1161 ScopedObjectAccess soa(env);
1162 return InvokeWithVarArgs(soa, obj, mid, args).GetD();
1169 ScopedObjectAccess soa(env);
1170 return InvokeWithJValues(soa, obj, mid, args).GetD();
1178 ScopedObjectAccess soa(env);
1179 InvokeWithVarArgs(soa, obj, mid, ap);
1187 ScopedObjectAccess soa(env);
1188 InvokeWithVarArgs(soa, obj, mid, args);
1195 ScopedObjectAccess soa(env);
1196 InvokeWithJValues(soa, obj, mid, args);
1203 ScopedObjectAccess soa(env);
1204 return FindFieldID(soa, java_class, name, sig, false);
1212 ScopedObjectAccess soa(env);
1213 return FindFieldID(soa, java_class, name, sig, true);
1219 ScopedObjectAccess soa(env);
1220 mirror::Object* o = soa.Decode<mirror::Object*>(obj);
1221 ArtField* f = soa.DecodeField(fid);
1222 return soa.AddLocalReference<jobject>(f->GetObject(o));
1227 ScopedObjectAccess soa(env);
1228 ArtField* f = soa.DecodeField(fid);
1229 return soa.AddLocalReference<jobject>(f->GetObject(f->GetDeclaringClass()));
1235 ScopedObjectAccess soa(env);
1236 mirror::Object* o = soa.Decode<mirror::Object*>(java_object);
1237 mirror::Object* v = soa.Decode<mirror::Object*>(java_value);
1238 ArtField* f = soa.DecodeField(fid);
1244 ScopedObjectAccess soa(env);
1245 mirror::Object* v = soa.Decode<mirror::Object*>(java_value);
1246 ArtField* f = soa.DecodeField(fid);
1253 ScopedObjectAccess soa(env); \
1254 mirror::Object* o = soa.Decode<mirror::Object*>(instance); \
1255 ArtField* f = soa.DecodeField(fid); \
1260 ScopedObjectAccess soa(env); \
1261 ArtField* f = soa.DecodeField(fid); \
1267 ScopedObjectAccess soa(env); \
1268 mirror::Object* o = soa.Decode<mirror::Object*>(instance); \
1269 ArtField* f = soa.DecodeField(fid); \
1274 ScopedObjectAccess soa(env); \
1275 ArtField* f = soa.DecodeField(fid); \
1410 ScopedObjectAccess soa(env);
1411 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap));
1412 jobject local_result = soa.AddLocalReference<jobject>(result.GetL());
1419 ScopedObjectAccess soa(env);
1420 JValue result(InvokeWithVarArgs(soa, nullptr, mid, args));
1421 return soa.AddLocalReference<jobject>(result.GetL());
1426 ScopedObjectAccess soa(env);
1427 JValue result(InvokeWithJValues(soa, nullptr, mid, args));
1428 return soa.AddLocalReference<jobject>(result.GetL());
1435 ScopedObjectAccess soa(env);
1436 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap));
1443 ScopedObjectAccess soa(env);
1444 return InvokeWithVarArgs(soa, nullptr, mid, args).GetZ();
1449 ScopedObjectAccess soa(env);
1450 return InvokeWithJValues(soa, nullptr, mid, args).GetZ();
1457 ScopedObjectAccess soa(env);
1458 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap));
1465 ScopedObjectAccess soa(env);
1466 return InvokeWithVarArgs(soa, nullptr, mid, args).GetB();
1471 ScopedObjectAccess soa(env);
1472 return InvokeWithJValues(soa, nullptr, mid, args).GetB();
1479 ScopedObjectAccess soa(env);
1480 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap));
1487 ScopedObjectAccess soa(env);
1488 return InvokeWithVarArgs(soa, nullptr, mid, args).GetC();
1493 ScopedObjectAccess soa(env);
1494 return InvokeWithJValues(soa, nullptr, mid, args).GetC();
1501 ScopedObjectAccess soa(env);
1502 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap));
1509 ScopedObjectAccess soa(env);
1510 return InvokeWithVarArgs(soa, nullptr, mid, args).GetS();
1515 ScopedObjectAccess soa(env);
1516 return InvokeWithJValues(soa, nullptr, mid, args).GetS();
1523 ScopedObjectAccess soa(env);
1524 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap));
1531 ScopedObjectAccess soa(env);
1532 return InvokeWithVarArgs(soa, nullptr, mid, args).GetI();
1537 ScopedObjectAccess soa(env);
1538 return InvokeWithJValues(soa, nullptr, mid, args).GetI();
1545 ScopedObjectAccess soa(env);
1546 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap));
1553 ScopedObjectAccess soa(env);
1554 return InvokeWithVarArgs(soa, nullptr, mid, args).GetJ();
1559 ScopedObjectAccess soa(env);
1560 return InvokeWithJValues(soa, nullptr, mid, args).GetJ();
1567 ScopedObjectAccess soa(env);
1568 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap));
1575 ScopedObjectAccess soa(env);
1576 return InvokeWithVarArgs(soa, nullptr, mid, args).GetF();
1581 ScopedObjectAccess soa(env);
1582 return InvokeWithJValues(soa, nullptr, mid, args).GetF();
1589 ScopedObjectAccess soa(env);
1590 JValue result(InvokeWithVarArgs(soa, nullptr, mid, ap));
1597 ScopedObjectAccess soa(env);
1598 return InvokeWithVarArgs(soa, nullptr, mid, args).GetD();
1603 ScopedObjectAccess soa(env);
1604 return InvokeWithJValues(soa, nullptr, mid, args).GetD();
1611 ScopedObjectAccess soa(env);
1612 InvokeWithVarArgs(soa, nullptr, mid, ap);
1618 ScopedObjectAccess soa(env);
1619 InvokeWithVarArgs(soa, nullptr, mid, args);
1624 ScopedObjectAccess soa(env);
1625 InvokeWithJValues(soa, nullptr, mid, args);
1637 ScopedObjectAccess soa(env);
1638 mirror::String* result = mirror::String::AllocFromUtf16(soa.Self(), char_count, chars);
1639 return soa.AddLocalReference<jstring>(result);
1646 ScopedObjectAccess soa(env);
1647 mirror::String* result = mirror::String::AllocFromModifiedUtf8(soa.Self(), utf);
1648 return soa.AddLocalReference<jstring>(result);
1653 ScopedObjectAccess soa(env);
1654 return soa.Decode<mirror::String*>(java_string)->GetLength();
1659 ScopedObjectAccess soa(env);
1660 return soa.Decode<mirror::String*>(java_string)->GetUtfLength();
1666 ScopedObjectAccess soa(env);
1667 mirror::String* s = soa.Decode<mirror::String*>(java_string);
1669 ThrowSIOOBE(soa, start, length, s->GetLength());
1680 ScopedObjectAccess soa(env);
1681 mirror::String* s = soa.Decode<mirror::String*>(java_string);
1683 ThrowSIOOBE(soa, start, length, s->GetLength());
1694 ScopedObjectAccess soa(env);
1695 mirror::String* s = soa.Decode<mirror::String*>(java_string);
1713 ScopedObjectAccess soa(env);
1714 mirror::String* s = soa.Decode<mirror::String*>(java_string);
1722 ScopedObjectAccess soa(env);
1723 mirror::String* s = soa.Decode<mirror::String*>(java_string);
1726 StackHandleScope<1> hs(soa.Self());
1729 heap->IncrementDisableMovingGC(soa.Self());
1733 heap->IncrementDisableThreadFlip(soa.Self());
1746 ScopedObjectAccess soa(env);
1748 mirror::String* s = soa.Decode<mirror::String*>(java_string);
1751 heap->DecrementDisableMovingGC(soa.Self());
1753 heap->DecrementDisableThreadFlip(soa.Self());
1765 ScopedObjectAccess soa(env);
1766 mirror::String* s = soa.Decode<mirror::String*>(java_string);
1782 ScopedObjectAccess soa(env);
1783 mirror::Object* obj = soa.Decode<mirror::Object*>(java_array);
1785 soa.Vm()->JniAbortF("GetArrayLength", "not an array: %s", PrettyTypeOf(obj).c_str());
1794 ScopedObjectAccess soa(env);
1796 soa.Decode<mirror::ObjectArray<mirror::Object>*>(java_array);
1797 return soa.AddLocalReference<jobject>(array->Get(index));
1803 ScopedObjectAccess soa(env);
1805 soa.Decode<mirror::ObjectArray<mirror::Object>*>(java_array);
1806 mirror::Object* value = soa.Decode<mirror::Object*>(java_value);
1847 ScopedObjectAccess soa(env);
1850 mirror::Class* element_class = soa.Decode<mirror::Class*>(element_jclass);
1852 soa.Vm()->JniAbortF("NewObjectArray", "not an object type: %s",
1857 array_class = class_linker->FindArrayClass(soa.Self(), &element_class);
1865 mirror::ObjectArray<mirror::Object>::Alloc(soa.Self(), array_class, length);
1867 mirror::Object* initial_object = soa.Decode<mirror::Object*>(initial_element);
1871 soa.Vm()->JniAbortF("NewObjectArray", "cannot assign object of type '%s' to array with "
1883 return soa.AddLocalReference<jobjectArray>(result);
1892 ScopedObjectAccess soa(env);
1893 mirror::Array* array = soa.Decode<mirror::Array*>(java_array);
1895 soa.Vm()->JniAbortF("GetPrimitiveArrayCritical", "expected primitive array, given %s",
1902 heap->IncrementDisableMovingGC(soa.Self());
1906 heap->IncrementDisableThreadFlip(soa.Self());
1909 array = soa.Decode<mirror::Array*>(java_array);
1920 ScopedObjectAccess soa(env);
1921 mirror::Array* array = soa.Decode<mirror::Array*>(java_array);
1923 soa.Vm()->JniAbortF("ReleasePrimitiveArrayCritical", "expected primitive array, given %s",
1928 ReleasePrimitiveArray(soa, array, component_size, elements, mode);
2101 ScopedObjectAccess soa(env);
2102 mirror::Class* c = soa.Decode<mirror::Class*>(java_class);
2114 ReportInvalidJNINativeMethod(soa, c, "method name", i, return_errors);
2117 ReportInvalidJNINativeMethod(soa, c, "method signature", i, return_errors);
2120 ReportInvalidJNINativeMethod(soa, c, "native function", i, return_errors);
2192 ThrowNoSuchMethodError(soa, c, name, sig, "static or non-static");
2198 ThrowNoSuchMethodError(soa, c, name, sig, "native");
2211 ScopedObjectAccess soa(env);
2212 mirror::Class* c = soa.Decode<mirror::Class*>(java_class);
2234 ScopedObjectAccess soa(env);
2235 mirror::Object* o = soa.Decode<mirror::Object*>(java_object);
2236 o = o->MonitorEnter(soa.Self());
2237 if (soa.Self()->IsExceptionPending()) {
2240 soa.Env()->monitors.Add(o);
2246 ScopedObjectAccess soa(env);
2247 mirror::Object* o = soa.Decode<mirror::Object*>(java_object);
2248 o->MonitorExit(soa.Self());
2249 if (soa.Self()->IsExceptionPending()) {
2252 soa.Env()->monitors.Remove(o);
2329 static jint EnsureLocalCapacityInternal(ScopedObjectAccess& soa, jint desired_capacity,
2338 const size_t capacity = soa.Env()->locals.Capacity();
2341 soa.Self()->ThrowOutOfMemoryError(caller);
2348 ScopedObjectAccess soa(env);
2350 soa.Vm()->JniAbortF("NewPrimitiveArray", "negative array length: %d", length);
2353 ArtT* result = ArtT::Alloc(soa.Self(), length);
2354 return soa.AddLocalReference<JniT>(result);
2358 static ArtArrayT* DecodeAndCheckArrayType(ScopedObjectAccess& soa, JArrayT java_array,
2361 ArtArrayT* array = soa.Decode<ArtArrayT*>(java_array);
2363 soa.Vm()->JniAbortF(fn_name,
2377 ScopedObjectAccess soa(env);
2378 ArtArrayT* array = DecodeAndCheckArrayType<ArrayT, ElementT, ArtArrayT>(soa, java_array,
2405 ScopedObjectAccess soa(env);
2406 ArtArrayT* array = DecodeAndCheckArrayType<ArrayT, ElementT, ArtArrayT>(soa, java_array,
2412 ReleasePrimitiveArray(soa, array, sizeof(ElementT), elements, mode);
2415 static void ReleasePrimitiveArray(ScopedObjectAccess& soa, mirror::Array* array,
2427 soa.Vm()->JniAbortF("ReleaseArrayElements",
2437 soa.Self()->DumpJavaStack(LOG(WARNING));
2446 heap->DecrementDisableMovingGC(soa.Self());
2448 heap->DecrementDisableThreadFlip(soa.Self());
2458 ScopedObjectAccess soa(env);
2460 DecodeAndCheckArrayType<JArrayT, ElementT, ArtArrayT>(soa, java_array,
2465 ThrowAIOOBE(soa, array, start, length, "src");
2478 ScopedObjectAccess soa(env);
2480 DecodeAndCheckArrayType<JArrayT, ElementT, ArtArrayT>(soa, java_array,
2485 ThrowAIOOBE(soa, array, start, length, "dst");