Lines Matching refs:soa
270 bool CheckInstanceFieldID(ScopedObjectAccess& soa, jobject java_object, jfieldID fid)
272 mirror::Object* o = soa.Decode<mirror::Object*>(java_object);
285 ArtField* f = CheckFieldID(soa, fid);
313 bool CheckMethodAndSig(ScopedObjectAccess& soa, jobject jobj, jclass jc,
316 ArtMethod* m = CheckMethodID(soa, mid);
336 mirror::Class* c = soa.Decode<mirror::Class*>(jc);
344 mirror::Object* o = soa.Decode<mirror::Object*>(jobj);
361 bool CheckStaticFieldID(ScopedObjectAccess& soa, jclass java_class, jfieldID fid)
363 mirror::Class* c = soa.Decode<mirror::Class*>(java_class);
364 ArtField* f = CheckFieldID(soa, fid);
384 bool CheckStaticMethod(ScopedObjectAccess& soa, jclass java_class, jmethodID mid)
386 ArtMethod* m = CheckMethodID(soa, mid);
390 mirror::Class* c = soa.Decode<mirror::Class*>(java_class);
405 bool CheckVirtualMethod(ScopedObjectAccess& soa, jobject java_object, jmethodID mid)
407 ArtMethod* m = CheckMethodID(soa, mid);
411 mirror::Object* o = soa.Decode<mirror::Object*>(java_object);
458 bool Check(ScopedObjectAccess& soa, bool entry, const char* fmt, JniValueType* args)
461 if (has_method_ && soa.Vm()->IsTracingEnabled()) {
471 (traceMethod != nullptr && soa.Vm()->ShouldTrace(traceMethod))) {
474 TracePossibleHeapValue(soa, entry, fmt[i], args[i], &msg);
499 if (!CheckPossibleHeapValue(soa, fmt[i], args[i])) {
514 ScopedObjectAccess soa(self);
533 ScopedObjectAccess soa(self);
558 bool CheckReflectedMethod(ScopedObjectAccess& soa, jobject jmethod)
560 mirror::Object* method = soa.Decode<mirror::Object*>(jmethod);
566 if (soa.Decode<mirror::Class*>(WellKnownClasses::java_lang_reflect_Method) != c &&
567 soa.Decode<mirror::Class*>(WellKnownClasses::java_lang_reflect_Constructor) != c) {
576 bool CheckConstructor(ScopedObjectAccess& soa, jmethodID mid)
578 ArtMethod* method = soa.DecodeMethod(mid);
590 bool CheckReflectedField(ScopedObjectAccess& soa, jobject jfield)
592 mirror::Object* field = soa.Decode<mirror::Object*>(jfield);
598 if (soa.Decode<mirror::Class*>(WellKnownClasses::java_lang_reflect_Field) != c) {
606 bool CheckThrowable(ScopedObjectAccess& soa, jthrowable jobj)
608 mirror::Object* obj = soa.Decode<mirror::Object*>(jobj);
617 bool CheckThrowableClass(ScopedObjectAccess& soa, jclass jc)
619 mirror::Class* c = soa.Decode<mirror::Class*>(jc);
648 bool CheckInstantiableNonArray(ScopedObjectAccess& soa, jclass jc)
650 mirror::Class* c = soa.Decode<mirror::Class*>(jc);
658 bool CheckPrimitiveArrayType(ScopedObjectAccess& soa, jarray array, Primitive::Type type)
660 if (!CheckArray(soa, array)) {
663 mirror::Array* a = soa.Decode<mirror::Array*>(array);
672 bool CheckFieldAccess(ScopedObjectAccess& soa, jobject obj, jfieldID fid, bool is_static,
675 if (is_static && !CheckStaticFieldID(soa, down_cast<jclass>(obj), fid)) {
678 if (!is_static && !CheckInstanceFieldID(soa, obj, fid)) {
681 ArtField* field = soa.DecodeField(fid);
695 mirror::Object* o = soa.Decode<mirror::Object*>(obj);
708 mirror::Object* o = soa.Decode<mirror::Object*>(obj);
734 bool CheckInstance(ScopedObjectAccess& soa, InstanceKind kind, jobject java_object, bool null_ok)
766 mirror::Object* obj = soa.Decode<mirror::Object*>(java_object);
774 obj = soa.Vm()->DecodeWeakGlobal(soa.Self(), ref);
830 bool CheckPossibleHeapValue(ScopedObjectAccess& soa, char fmt, JniValueType arg)
834 return CheckArray(soa, arg.a);
836 return CheckInstance(soa, kClass, arg.c, false);
838 return CheckFieldID(soa, arg.f) != nullptr;
840 return CheckMethodID(soa, arg.m) != nullptr;
844 return CheckInstance(soa, kString, arg.s, false);
846 return CheckInstance(soa, kThrowable, arg.t, false);
850 return CheckInstance(soa, kObject, arg.L, true);
852 return CheckVarArgs(soa, arg.va);
858 bool CheckVarArgs(ScopedObjectAccess& soa, const VarArgs* args_p)
862 ArtMethod* m = CheckMethodID(soa, args.GetMethodID());
873 if (!CheckPossibleHeapValue(soa, shorty[i], args.GetValue(shorty[i]))) {
923 void TracePossibleHeapValue(ScopedObjectAccess& soa, bool entry, char fmt, JniValueType arg,
939 mirror::Class* c = soa.Decode<mirror::Class*>(jc);
956 ArtField* f = soa.DecodeField(fid);
965 ArtMethod* m = soa.DecodeMethod(mid);
975 ArtMethod* m = soa.DecodeMethod(args.GetMethodID());
986 TracePossibleHeapValue(soa, entry, shorty[i], args.GetValue(shorty[i]), msg);
1103 bool CheckArray(ScopedObjectAccess& soa, jarray java_array)
1110 mirror::Array* a = soa.Decode<mirror::Array*>(java_array);
1140 ArtField* CheckFieldID(ScopedObjectAccess& soa, jfieldID fid)
1146 ArtField* f = soa.DecodeField(fid);
1156 ArtMethod* CheckMethodID(ScopedObjectAccess& soa, jmethodID mid)
1162 ArtMethod* m = soa.DecodeMethod(mid);
1410 ScopedObjectAccess soa(env);
1412 mirror::Array* a = soa.Decode<mirror::Array*>(java_array);
1429 ScopedObjectAccess soa(env);
1614 ScopedObjectAccess soa(env);
1617 if (sc.Check(soa, true, "E", args)) {
1620 if (sc.Check(soa, false, "I", &result)) {
1628 ScopedObjectAccess soa(env);
1631 if (sc.Check(soa, true, "Ep", args)) {
1634 if (sc.Check(soa, false, "i", &result)) {
1642 ScopedObjectAccess soa(env);
1645 if (sc.Check(soa, true, "EcpI", args)) {
1648 if (sc.Check(soa, false, "i", &result)) {
1656 ScopedObjectAccess soa(env);
1659 if (sc.Check(soa, true, "Ec", args)) {
1662 if (sc.Check(soa, false, "i", &result)) {
1673 ScopedObjectAccess soa(env);
1676 if (sc.Check(soa, true, "EL", args)) {
1679 if (sc.Check(soa, false, "w", &result)) {
1688 ScopedObjectAccess soa(env);
1691 if (sc.Check(soa, true, "EuLpz", args) && sc.CheckClassName(name)) {
1694 if (sc.Check(soa, false, "c", &result)) {
1702 ScopedObjectAccess soa(env);
1705 if (sc.Check(soa, true, "Eu", args) && sc.CheckClassName(name)) {
1708 if (sc.Check(soa, false, "c", &result)) {
1716 ScopedObjectAccess soa(env);
1719 if (sc.Check(soa, true, "Ec", args)) {
1722 if (sc.Check(soa, false, "c", &result)) {
1730 ScopedObjectAccess soa(env);
1733 if (sc.Check(soa, true, "Ecc", args)) {
1736 if (sc.Check(soa, false, "b", &result)) {
1744 ScopedObjectAccess soa(env);
1747 if (sc.Check(soa, true, "EL", args) && sc.CheckReflectedMethod(soa, method)) {
1750 if (sc.Check(soa, false, "m", &result)) {
1758 ScopedObjectAccess soa(env);
1761 if (sc.Check(soa, true, "EL", args) && sc.CheckReflectedField(soa, field)) {
1764 if (sc.Check(soa, false, "f", &result)) {
1772 ScopedObjectAccess soa(env);
1775 if (sc.Check(soa, true, "Ecmb", args)) {
1778 if (sc.Check(soa, false, "L", &result) && (result.L != nullptr)) {
1779 DCHECK(sc.CheckReflectedMethod(soa, result.L));
1787 ScopedObjectAccess soa(env);
1790 if (sc.Check(soa, true, "Ecfb", args)) {
1793 if (sc.Check(soa, false, "L", &result) && (result.L != nullptr)) {
1794 DCHECK(sc.CheckReflectedField(soa, result.L));
1802 ScopedObjectAccess soa(env);
1805 if (sc.Check(soa, true, "Et", args) && sc.CheckThrowable(soa, obj)) {
1808 if (sc.Check(soa, false, "i", &result)) {
1816 ScopedObjectAccess soa(env);
1819 if (sc.Check(soa, true, "Ecu", args) && sc.CheckThrowableClass(soa, c)) {
1822 if (sc.Check(soa, false, "i", &result)) {
1830 ScopedObjectAccess soa(env);
1833 if (sc.Check(soa, true, "E", args)) {
1836 if (sc.Check(soa, false, "t", &result)) {
1844 ScopedObjectAccess soa(env);
1847 if (sc.Check(soa, true, "E", args)) {
1851 sc.Check(soa, false, "V", &result);
1856 ScopedObjectAccess soa(env);
1859 if (sc.Check(soa, true, "E", args)) {
1863 sc.Check(soa, false, "V", &result);
1868 ScopedObjectAccess soa(env);
1871 if (sc.Check(soa, true, "E", args)) {
1874 if (sc.Check(soa, false, "b", &result)) {
1885 ScopedObjectAccess soa(env);
1888 if (sc.Check(soa, true, "Eu", args)) {
1893 sc.Check(soa, false, "V", &result);
1898 ScopedObjectAccess soa(env);
1901 if (sc.Check(soa, true, "EI", args)) {
1904 if (sc.Check(soa, false, "i", &result)) {
1912 ScopedObjectAccess soa(env);
1915 if (sc.Check(soa, true, "EL", args)) {
1918 sc.Check(soa, false, "L", &result);
1949 ScopedObjectAccess soa(env);
1952 if (sc.Check(soa, true, "EI", args)) {
1955 if (sc.Check(soa, false, "i", &result)) {
1963 ScopedObjectAccess soa(env);
1966 if (sc.Check(soa, true, "ELL", args)) {
1969 if (sc.Check(soa, false, "b", &result)) {
1977 ScopedObjectAccess soa(env);
1980 if (sc.Check(soa, true, "Ec", args) && sc.CheckInstantiableNonArray(soa, c)) {
1983 if (sc.Check(soa, false, "L", &result)) {
1991 ScopedObjectAccess soa(env);
1995 if (sc.Check(soa, true, "Ecm.", args) && sc.CheckInstantiableNonArray(soa, c) &&
1996 sc.CheckConstructor(soa, mid)) {
1999 if (sc.Check(soa, false, "L", &result)) {
2015 ScopedObjectAccess soa(env);
2019 if (sc.Check(soa, true, "Ecm.", args) && sc.CheckInstantiableNonArray(soa, c) &&
2020 sc.CheckConstructor(soa, mid)) {
2023 if (sc.Check(soa, false, "L", &result)) {
2031 ScopedObjectAccess soa(env);
2034 if (sc.Check(soa, true, "EL", args)) {
2037 if (sc.Check(soa, false, "c", &result)) {
2045 ScopedObjectAccess soa(env);
2048 if (sc.Check(soa, true, "ELc", args)) {
2051 if (sc.Check(soa, false, "b", &result)) {
2220 ScopedObjectAccess soa(env);
2223 if (sc.Check(soa, true, "Epz", args)) {
2226 if (sc.Check(soa, false, "s", &result)) {
2234 ScopedObjectAccess soa(env);
2237 if (sc.Check(soa, true, "Eu", args)) {
2241 if (sc.Check(soa, false, "s", &result)) {
2249 ScopedObjectAccess soa(env);
2252 if (sc.Check(soa, true, "Es", args)) {
2255 if (sc.Check(soa, false, "z", &result)) {
2263 ScopedObjectAccess soa(env);
2266 if (sc.Check(soa, true, "Es", args)) {
2269 if (sc.Check(soa, false, "z", &result)) {
2304 ScopedObjectAccess soa(env);
2309 if (sc.Check(soa, true, "EsIIp", args)) {
2313 sc.Check(soa, false, "V", &result);
2318 ScopedObjectAccess soa(env);
2323 if (sc.Check(soa, true, "EsIIp", args)) {
2327 sc.Check(soa, false, "V", &result);
2332 ScopedObjectAccess soa(env);
2335 if (sc.Check(soa, true, "Ea", args)) {
2338 if (sc.Check(soa, false, "z", &result)) {
2347 ScopedObjectAccess soa(env);
2351 if (sc.Check(soa, true, "EzcL", args)) {
2355 if (sc.Check(soa, false, "a", &result)) {
2363 ScopedObjectAccess soa(env);
2366 if (sc.Check(soa, true, "Eaz", args)) {
2369 if (sc.Check(soa, false, "L", &result)) {
2377 ScopedObjectAccess soa(env);
2383 if (sc.Check(soa, true, "EaIL", args)) {
2387 sc.Check(soa, false, "V", &result);
2462 ScopedObjectAccess soa(env);
2465 if (sc.Check(soa, true, "EL", args)) {
2471 if (sc.Check(soa, false, "i", &result)) {
2479 ScopedObjectAccess soa(env);
2482 if (sc.Check(soa, true, "EL", args)) {
2488 if (sc.Check(soa, false, "i", &result)) {
2496 ScopedObjectAccess soa(env);
2499 if (sc.Check(soa, true, "Eap", args)) {
2502 if (ptr != nullptr && soa.ForceCopy()) {
2506 if (sc.Check(soa, false, "p", &result)) {
2514 ScopedObjectAccess soa(env);
2518 if (sc.Check(soa, true, "Eapr", args)) {
2519 if (soa.ForceCopy()) {
2525 sc.Check(soa, false, "V", &result);
2530 ScopedObjectAccess soa(env);
2533 if (sc.Check(soa, true, "EpJ", args)) {
2537 if (sc.Check(soa, false, "L", &result)) {
2545 ScopedObjectAccess soa(env);
2548 if (sc.Check(soa, true, "EL", args)) {
2553 if (sc.Check(soa, false, "p", &result)) {
2561 ScopedObjectAccess soa(env);
2564 if (sc.Check(soa, true, "EL", args)) {
2569 if (sc.Check(soa, false, "J", &result)) {
2586 ScopedObjectAccess soa(env);
2589 if (sc.Check(soa, true, "EL", args)) {
2604 if (sc.Check(soa, false, "L", &result)) {
2606 DCHECK(sc.CheckReferenceKind(kind, soa.Self(), result.L));
2614 ScopedObjectAccess soa(env);
2617 sc.Check(soa, true, "EL", args);
2618 if (sc.CheckReferenceKind(kind, soa.Self(), obj)) {
2634 sc.Check(soa, false, "V", &result);
2640 ScopedObjectAccess soa(env);
2643 if (sc.Check(soa, true, "Ecuu", args)) {
2650 if (sc.Check(soa, false, "m", &result)) {
2659 ScopedObjectAccess soa(env);
2662 if (sc.Check(soa, true, "Ecuu", args)) {
2669 if (sc.Check(soa, false, "f", &result)) {
2678 ScopedObjectAccess soa(env);
2682 if (sc.Check(soa, true, is_static ? "Ecf" : "ELf", args) &&
2683 sc.CheckFieldAccess(soa, obj, fid, is_static, type)) {
2762 if (sc.Check(soa, false, result_check, &result)) {
2772 ScopedObjectAccess soa(env);
2777 if (sc.Check(soa, true, sig, args) &&
2778 sc.CheckFieldAccess(soa, obj, fid, is_static, type)) {
2849 sc.Check(soa, false, "V", &result);
2853 static bool CheckCallArgs(ScopedObjectAccess& soa, ScopedCheck& sc, JNIEnv* env, jobject obj,
2861 checked = sc.Check(soa, true, "ELm.", args);
2866 checked = sc.Check(soa, true, "ELcm.", args);
2872 checked = sc.Check(soa, true, "Ecm.", args);
2886 ScopedObjectAccess soa(env);
2890 if (CheckCallArgs(soa, sc, env, obj, c, mid, invoke, &rest) &&
2891 sc.CheckMethodAndSig(soa, obj, c, mid, type, invoke)) {
3059 if (sc.Check(soa, false, result_check, &result)) {
3070 ScopedObjectAccess soa(env);
3074 if (CheckCallArgs(soa, sc, env, obj, c, mid, invoke, &rest) &&
3075 sc.CheckMethodAndSig(soa, obj, c, mid, type, invoke)) {
3243 if (sc.Check(soa, false, result_check, &result)) {
3253 ScopedObjectAccess soa(env);
3257 if (sc.Check(soa, true, "Esp", args)) {
3270 if (ptr != nullptr && soa.ForceCopy()) {
3284 if (sc.Check(soa, false, utf ? "u" : "p", &result)) {
3293 ScopedObjectAccess soa(env);
3300 bool force_copy_ok = !soa.ForceCopy() || GuardedCopy::Check(function_name, chars, false);
3301 if (force_copy_ok && soa.ForceCopy()) {
3306 if (sc.Check(soa, true, utf ? "Esu" : "Esp", args)) {
3318 sc.Check(soa, false, "V", &result);
3325 ScopedObjectAccess soa(env);
3328 if (sc.Check(soa, true, "Ez", args)) {
3358 if (sc.Check(soa, false, "a", &result)) {
3367 ScopedObjectAccess soa(env);
3370 if (sc.Check(soa, true, "Eap", args) && sc.CheckPrimitiveArrayType(soa, array, type)) {
3402 if (ptr != nullptr && soa.ForceCopy()) {
3409 if (sc.Check(soa, false, "p", &result)) {
3418 ScopedObjectAccess soa(env);
3420 if (sc.CheckNonNull(elems) && sc.CheckPrimitiveArrayType(soa, array, type)) {
3421 if (soa.ForceCopy()) {
3424 if (!soa.ForceCopy() || elems != nullptr) {
3426 if (sc.Check(soa, true, "Eapr", args)) {
3465 sc.Check(soa, false, "V", &result);
3473 ScopedObjectAccess soa(env);
3478 if (sc.Check(soa, true, "EaIIp", args) && sc.CheckPrimitiveArrayType(soa, array, type)) {
3517 sc.Check(soa, false, "V", &result);
3523 ScopedObjectAccess soa(env);
3528 if (sc.Check(soa, true, "EaIIp", args) && sc.CheckPrimitiveArrayType(soa, array, type)) {
3567 sc.Check(soa, false, "V", &result);