Lines Matching refs:env

288     JNIEnv* env;  in CheckAttachedThread()  local
289 Runtime::Current()->GetJavaVM()->AttachCurrentThread(&env, /* thr_args= */ nullptr); in CheckAttachedThread()
1297 bool CheckThread(JNIEnv* env) REQUIRES_SHARED(Locks::mutator_lock_) { in CheckThread() argument
1306 if (env != threadEnv) { in CheckThread()
1308 Thread* envThread = reinterpret_cast<JNIEnvExt*>(env)->GetSelf(); in CheckThread()
1543 static void* CreateGuardedPACopy(JNIEnv* env, const jarray java_array, jboolean* is_copy, in CreateGuardedPACopy() argument
1545 ScopedObjectAccess soa(env); in CreateGuardedPACopy()
1561 static void* ReleaseGuardedPACopy(const char* function_name, JNIEnv* env, in ReleaseGuardedPACopy() argument
1564 ScopedObjectAccess soa(env); in ReleaseGuardedPACopy()
1748 static jint GetVersion(JNIEnv* env) { in GetVersion() argument
1750 ScopedObjectAccess soa(env); in GetVersion()
1752 JniValueType args[1] = {{.E = env }}; in GetVersion()
1755 result.I = baseEnv(env)->GetVersion(env); in GetVersion()
1763 static jint GetJavaVM(JNIEnv *env, JavaVM **vm) { in GetJavaVM() argument
1765 ScopedObjectAccess soa(env); in GetJavaVM()
1767 JniValueType args[2] = {{.E = env }, {.p = vm}}; in GetJavaVM()
1770 result.i = baseEnv(env)->GetJavaVM(env, vm); in GetJavaVM()
1778 …static jint RegisterNatives(JNIEnv* env, jclass c, const JNINativeMethod* methods, jint nMethods) { in RegisterNatives() argument
1780 ScopedObjectAccess soa(env); in RegisterNatives()
1782 JniValueType args[4] = {{.E = env }, {.c = c}, {.p = methods}, {.I = nMethods}}; in RegisterNatives()
1785 result.i = baseEnv(env)->RegisterNatives(env, c, methods, nMethods); in RegisterNatives()
1793 static jint UnregisterNatives(JNIEnv* env, jclass c) { in UnregisterNatives() argument
1795 ScopedObjectAccess soa(env); in UnregisterNatives()
1797 JniValueType args[2] = {{.E = env }, {.c = c}}; in UnregisterNatives()
1800 result.i = baseEnv(env)->UnregisterNatives(env, c); in UnregisterNatives()
1808 static jobjectRefType GetObjectRefType(JNIEnv* env, jobject obj) { in GetObjectRefType() argument
1813 ScopedObjectAccess soa(env); in GetObjectRefType()
1815 JniValueType args[2] = {{.E = env }, {.L = obj}}; in GetObjectRefType()
1818 result.w = baseEnv(env)->GetObjectRefType(env, obj); in GetObjectRefType()
1826 static jclass DefineClass(JNIEnv* env, const char* name, jobject loader, const jbyte* buf, in DefineClass() argument
1829 ScopedObjectAccess soa(env); in DefineClass()
1831 JniValueType args[5] = {{.E = env}, {.u = name}, {.L = loader}, {.p = buf}, {.z = bufLen}}; in DefineClass()
1834 result.c = baseEnv(env)->DefineClass(env, name, loader, buf, bufLen); in DefineClass()
1842 static jclass FindClass(JNIEnv* env, const char* name) { in FindClass() argument
1844 ScopedObjectAccess soa(env); in FindClass()
1846 JniValueType args[2] = {{.E = env}, {.u = name}}; in FindClass()
1849 result.c = baseEnv(env)->FindClass(env, name); in FindClass()
1857 static jclass GetSuperclass(JNIEnv* env, jclass c) { in GetSuperclass() argument
1859 ScopedObjectAccess soa(env); in GetSuperclass()
1861 JniValueType args[2] = {{.E = env}, {.c = c}}; in GetSuperclass()
1864 result.c = baseEnv(env)->GetSuperclass(env, c); in GetSuperclass()
1872 static jboolean IsAssignableFrom(JNIEnv* env, jclass c1, jclass c2) { in IsAssignableFrom() argument
1874 ScopedObjectAccess soa(env); in IsAssignableFrom()
1876 JniValueType args[3] = {{.E = env}, {.c = c1}, {.c = c2}}; in IsAssignableFrom()
1879 result.b = baseEnv(env)->IsAssignableFrom(env, c1, c2); in IsAssignableFrom()
1887 static jmethodID FromReflectedMethod(JNIEnv* env, jobject method) { in FromReflectedMethod() argument
1889 ScopedObjectAccess soa(env); in FromReflectedMethod()
1891 JniValueType args[2] = {{.E = env}, {.L = method}}; in FromReflectedMethod()
1894 result.m = baseEnv(env)->FromReflectedMethod(env, method); in FromReflectedMethod()
1902 static jfieldID FromReflectedField(JNIEnv* env, jobject field) { in FromReflectedField() argument
1904 ScopedObjectAccess soa(env); in FromReflectedField()
1906 JniValueType args[2] = {{.E = env}, {.L = field}}; in FromReflectedField()
1909 result.f = baseEnv(env)->FromReflectedField(env, field); in FromReflectedField()
1917 static jobject ToReflectedMethod(JNIEnv* env, jclass cls, jmethodID mid, jboolean isStatic) { in ToReflectedMethod() argument
1919 ScopedObjectAccess soa(env); in ToReflectedMethod()
1921 JniValueType args[4] = {{.E = env}, {.c = cls}, {.m = mid}, {.I = isStatic}}; in ToReflectedMethod()
1924 result.L = baseEnv(env)->ToReflectedMethod(env, cls, mid, isStatic); in ToReflectedMethod()
1933 static jobject ToReflectedField(JNIEnv* env, jclass cls, jfieldID fid, jboolean isStatic) { in ToReflectedField() argument
1935 ScopedObjectAccess soa(env); in ToReflectedField()
1937 JniValueType args[4] = {{.E = env}, {.c = cls}, {.f = fid}, {.I = isStatic}}; in ToReflectedField()
1940 result.L = baseEnv(env)->ToReflectedField(env, cls, fid, isStatic); in ToReflectedField()
1949 static jint Throw(JNIEnv* env, jthrowable obj) { in Throw() argument
1951 ScopedObjectAccess soa(env); in Throw()
1953 JniValueType args[2] = {{.E = env}, {.t = obj}}; in Throw()
1956 result.i = baseEnv(env)->Throw(env, obj); in Throw()
1964 static jint ThrowNew(JNIEnv* env, jclass c, const char* message) { in ThrowNew() argument
1966 ScopedObjectAccess soa(env); in ThrowNew()
1968 JniValueType args[3] = {{.E = env}, {.c = c}, {.u = message}}; in ThrowNew()
1971 result.i = baseEnv(env)->ThrowNew(env, c, message); in ThrowNew()
1979 static jthrowable ExceptionOccurred(JNIEnv* env) { in ExceptionOccurred() argument
1981 ScopedObjectAccess soa(env); in ExceptionOccurred()
1983 JniValueType args[1] = {{.E = env}}; in ExceptionOccurred()
1986 result.t = baseEnv(env)->ExceptionOccurred(env); in ExceptionOccurred()
1994 static void ExceptionDescribe(JNIEnv* env) { in ExceptionDescribe() argument
1996 ScopedObjectAccess soa(env); in ExceptionDescribe()
1998 JniValueType args[1] = {{.E = env}}; in ExceptionDescribe()
2001 baseEnv(env)->ExceptionDescribe(env); in ExceptionDescribe()
2007 static void ExceptionClear(JNIEnv* env) { in ExceptionClear() argument
2009 ScopedObjectAccess soa(env); in ExceptionClear()
2011 JniValueType args[1] = {{.E = env}}; in ExceptionClear()
2014 baseEnv(env)->ExceptionClear(env); in ExceptionClear()
2020 static jboolean ExceptionCheck(JNIEnv* env) { in ExceptionCheck() argument
2022 ScopedObjectAccess soa(env); in ExceptionCheck()
2024 JniValueType args[1] = {{.E = env}}; in ExceptionCheck()
2027 result.b = baseEnv(env)->ExceptionCheck(env); in ExceptionCheck()
2035 static void FatalError(JNIEnv* env, const char* msg) { in FatalError() argument
2040 ScopedObjectAccess soa(env); in FatalError()
2042 JniValueType args[2] = {{.E = env}, {.u = msg}}; in FatalError()
2045 baseEnv(env)->FatalError(env, msg); in FatalError()
2052 static jint PushLocalFrame(JNIEnv* env, jint capacity) { in PushLocalFrame() argument
2054 ScopedObjectAccess soa(env); in PushLocalFrame()
2056 JniValueType args[2] = {{.E = env}, {.I = capacity}}; in PushLocalFrame()
2059 result.i = baseEnv(env)->PushLocalFrame(env, capacity); in PushLocalFrame()
2067 static jobject PopLocalFrame(JNIEnv* env, jobject res) { in PopLocalFrame() argument
2069 ScopedObjectAccess soa(env); in PopLocalFrame()
2071 JniValueType args[2] = {{.E = env}, {.L = res}}; in PopLocalFrame()
2074 result.L = baseEnv(env)->PopLocalFrame(env, res); in PopLocalFrame()
2081 static jobject NewGlobalRef(JNIEnv* env, jobject obj) { in NewGlobalRef() argument
2082 return NewRef(__FUNCTION__, env, obj, kGlobal); in NewGlobalRef()
2085 static jobject NewLocalRef(JNIEnv* env, jobject obj) { in NewLocalRef() argument
2086 return NewRef(__FUNCTION__, env, obj, kLocal); in NewLocalRef()
2089 static jweak NewWeakGlobalRef(JNIEnv* env, jobject obj) { in NewWeakGlobalRef() argument
2090 return NewRef(__FUNCTION__, env, obj, kWeakGlobal); in NewWeakGlobalRef()
2093 static void DeleteGlobalRef(JNIEnv* env, jobject obj) { in DeleteGlobalRef() argument
2094 DeleteRef(__FUNCTION__, env, obj, kGlobal); in DeleteGlobalRef()
2097 static void DeleteWeakGlobalRef(JNIEnv* env, jweak obj) { in DeleteWeakGlobalRef() argument
2098 DeleteRef(__FUNCTION__, env, obj, kWeakGlobal); in DeleteWeakGlobalRef()
2101 static void DeleteLocalRef(JNIEnv* env, jobject obj) { in DeleteLocalRef() argument
2102 DeleteRef(__FUNCTION__, env, obj, kLocal); in DeleteLocalRef()
2105 static jint EnsureLocalCapacity(JNIEnv *env, jint capacity) { in EnsureLocalCapacity() argument
2107 ScopedObjectAccess soa(env); in EnsureLocalCapacity()
2109 JniValueType args[2] = {{.E = env}, {.I = capacity}}; in EnsureLocalCapacity()
2112 result.i = baseEnv(env)->EnsureLocalCapacity(env, capacity); in EnsureLocalCapacity()
2120 static jboolean IsSameObject(JNIEnv* env, jobject ref1, jobject ref2) { in IsSameObject() argument
2122 ScopedObjectAccess soa(env); in IsSameObject()
2124 JniValueType args[3] = {{.E = env}, {.L = ref1}, {.L = ref2}}; in IsSameObject()
2127 result.b = baseEnv(env)->IsSameObject(env, ref1, ref2); in IsSameObject()
2135 static jobject AllocObject(JNIEnv* env, jclass c) { in AllocObject() argument
2137 ScopedObjectAccess soa(env); in AllocObject()
2139 JniValueType args[2] = {{.E = env}, {.c = c}}; in AllocObject()
2142 result.L = baseEnv(env)->AllocObject(env, c); in AllocObject()
2150 static jobject NewObjectV(JNIEnv* env, jclass c, jmethodID mid, va_list vargs) { in NewObjectV() argument
2152 ScopedObjectAccess soa(env); in NewObjectV()
2155 JniValueType args[4] = {{.E = env}, {.c = c}, {.m = mid}, {.va = &rest}}; in NewObjectV()
2159 result.L = baseEnv(env)->NewObjectV(env, c, mid, vargs); in NewObjectV()
2167 static jobject NewObject(JNIEnv* env, jclass c, jmethodID mid, ...) { in NewObject() argument
2171 jobject result = NewObjectV(env, c, mid, args); in NewObject()
2176 static jobject NewObjectA(JNIEnv* env, jclass c, jmethodID mid, const jvalue* vargs) { in NewObjectA() argument
2178 ScopedObjectAccess soa(env); in NewObjectA()
2181 JniValueType args[4] = {{.E = env}, {.c = c}, {.m = mid}, {.va = &rest}}; in NewObjectA()
2185 result.L = baseEnv(env)->NewObjectA(env, c, mid, vargs); in NewObjectA()
2193 static jclass GetObjectClass(JNIEnv* env, jobject obj) { in GetObjectClass() argument
2195 ScopedObjectAccess soa(env); in GetObjectClass()
2197 JniValueType args[2] = {{.E = env}, {.L = obj}}; in GetObjectClass()
2200 result.c = baseEnv(env)->GetObjectClass(env, obj); in GetObjectClass()
2208 static jboolean IsInstanceOf(JNIEnv* env, jobject obj, jclass c) { in IsInstanceOf() argument
2210 ScopedObjectAccess soa(env); in IsInstanceOf()
2212 JniValueType args[3] = {{.E = env}, {.L = obj}, {.c = c}}; in IsInstanceOf()
2215 result.b = baseEnv(env)->IsInstanceOf(env, obj, c); in IsInstanceOf()
2223 static jmethodID GetMethodID(JNIEnv* env, jclass c, const char* name, const char* sig) { in GetMethodID() argument
2224 return GetMethodIDInternal(__FUNCTION__, env, c, name, sig, false); in GetMethodID()
2227 static jmethodID GetStaticMethodID(JNIEnv* env, jclass c, const char* name, const char* sig) { in GetStaticMethodID() argument
2228 return GetMethodIDInternal(__FUNCTION__, env, c, name, sig, true); in GetStaticMethodID()
2231 static jfieldID GetFieldID(JNIEnv* env, jclass c, const char* name, const char* sig) { in GetFieldID() argument
2232 return GetFieldIDInternal(__FUNCTION__, env, c, name, sig, false); in GetFieldID()
2235 static jfieldID GetStaticFieldID(JNIEnv* env, jclass c, const char* name, const char* sig) { in GetStaticFieldID() argument
2236 return GetFieldIDInternal(__FUNCTION__, env, c, name, sig, true); in GetStaticFieldID()
2240 static jtype GetStatic##name##Field(JNIEnv* env, jclass c, jfieldID fid) { \
2241 return GetField(__FUNCTION__, env, c, fid, true, ptype).shorty; \
2244 static jtype Get##name##Field(JNIEnv* env, jobject obj, jfieldID fid) { \
2245 return GetField(__FUNCTION__, env, obj, fid, false, ptype).shorty; \
2248 static void SetStatic##name##Field(JNIEnv* env, jclass c, jfieldID fid, jtype v) { \
2251 SetField(__FUNCTION__, env, c, fid, true, ptype, value); \
2254 static void Set##name##Field(JNIEnv* env, jobject obj, jfieldID fid, jtype v) { \
2257 SetField(__FUNCTION__, env, obj, fid, false, ptype, value); \
2271 static void CallVoidMethodA(JNIEnv* env, jobject obj, jmethodID mid, const jvalue* vargs) { in FIELD_ACCESSORS()
2272 CallMethodA(__FUNCTION__, env, obj, nullptr, mid, vargs, Primitive::kPrimVoid, kVirtual); in FIELD_ACCESSORS()
2275 static void CallNonvirtualVoidMethodA(JNIEnv* env, jobject obj, jclass c, jmethodID mid, in CallNonvirtualVoidMethodA() argument
2277 CallMethodA(__FUNCTION__, env, obj, c, mid, vargs, Primitive::kPrimVoid, kDirect); in CallNonvirtualVoidMethodA()
2280 static void CallStaticVoidMethodA(JNIEnv* env, jclass c, jmethodID mid, const jvalue* vargs) { in CallStaticVoidMethodA() argument
2281 CallMethodA(__FUNCTION__, env, nullptr, c, mid, vargs, Primitive::kPrimVoid, kStatic); in CallStaticVoidMethodA()
2284 static void CallVoidMethodV(JNIEnv* env, jobject obj, jmethodID mid, va_list vargs) { in CallVoidMethodV() argument
2285 CallMethodV(__FUNCTION__, env, obj, nullptr, mid, vargs, Primitive::kPrimVoid, kVirtual); in CallVoidMethodV()
2288 static void CallNonvirtualVoidMethodV(JNIEnv* env, jobject obj, jclass c, jmethodID mid, in CallNonvirtualVoidMethodV() argument
2290 CallMethodV(__FUNCTION__, env, obj, c, mid, vargs, Primitive::kPrimVoid, kDirect); in CallNonvirtualVoidMethodV()
2293 static void CallStaticVoidMethodV(JNIEnv* env, jclass c, jmethodID mid, va_list vargs) { in CallStaticVoidMethodV() argument
2294 CallMethodV(__FUNCTION__, env, nullptr, c, mid, vargs, Primitive::kPrimVoid, kStatic); in CallStaticVoidMethodV()
2297 static void CallVoidMethod(JNIEnv* env, jobject obj, jmethodID mid, ...) { in CallVoidMethod() argument
2300 CallMethodV(__FUNCTION__, env, obj, nullptr, mid, vargs, Primitive::kPrimVoid, kVirtual); in CallVoidMethod()
2304 static void CallNonvirtualVoidMethod(JNIEnv* env, jobject obj, jclass c, jmethodID mid, ...) { in CallNonvirtualVoidMethod() argument
2307 CallMethodV(__FUNCTION__, env, obj, c, mid, vargs, Primitive::kPrimVoid, kDirect); in CallNonvirtualVoidMethod()
2311 static void CallStaticVoidMethod(JNIEnv* env, jclass c, jmethodID mid, ...) { in CallStaticVoidMethod() argument
2314 CallMethodV(__FUNCTION__, env, nullptr, c, mid, vargs, Primitive::kPrimVoid, kStatic); in CallStaticVoidMethod()
2319 static rtype Call##name##MethodA(JNIEnv* env, jobject obj, jmethodID mid, const jvalue* vargs) { \
2320 return CallMethodA(__FUNCTION__, env, obj, nullptr, mid, vargs, ptype, kVirtual).shorty; \
2323 static rtype CallNonvirtual##name##MethodA(JNIEnv* env, jobject obj, jclass c, jmethodID mid, \
2325 return CallMethodA(__FUNCTION__, env, obj, c, mid, vargs, ptype, kDirect).shorty; \
2328 …static rtype CallStatic##name##MethodA(JNIEnv* env, jclass c, jmethodID mid, const jvalue* vargs) …
2329 return CallMethodA(__FUNCTION__, env, nullptr, c, mid, vargs, ptype, kStatic).shorty; \
2332 static rtype Call##name##MethodV(JNIEnv* env, jobject obj, jmethodID mid, va_list vargs) { \
2333 return CallMethodV(__FUNCTION__, env, obj, nullptr, mid, vargs, ptype, kVirtual).shorty; \
2336 static rtype CallNonvirtual##name##MethodV(JNIEnv* env, jobject obj, jclass c, jmethodID mid, \
2338 return CallMethodV(__FUNCTION__, env, obj, c, mid, vargs, ptype, kDirect).shorty; \
2341 static rtype CallStatic##name##MethodV(JNIEnv* env, jclass c, jmethodID mid, va_list vargs) { \
2342 return CallMethodV(__FUNCTION__, env, nullptr, c, mid, vargs, ptype, kStatic).shorty; \
2345 static rtype Call##name##Method(JNIEnv* env, jobject obj, jmethodID mid, ...) { \
2349 CallMethodV(__FUNCTION__, env, obj, nullptr, mid, vargs, ptype, kVirtual).shorty; \
2354 static rtype CallNonvirtual##name##Method(JNIEnv* env, jobject obj, jclass c, jmethodID mid, \
2359 CallMethodV(__FUNCTION__, env, obj, c, mid, vargs, ptype, kDirect).shorty; \
2364 static rtype CallStatic##name##Method(JNIEnv* env, jclass c, jmethodID mid, ...) { \
2368 CallMethodV(__FUNCTION__, env, nullptr, c, mid, vargs, ptype, kStatic).shorty; \
2384 static jstring NewString(JNIEnv* env, const jchar* unicode_chars, jsize len) { in CALL()
2386 ScopedObjectAccess soa(env); in CALL()
2388 JniValueType args[3] = {{.E = env}, {.p = unicode_chars}, {.z = len}}; in CALL()
2391 result.s = baseEnv(env)->NewString(env, unicode_chars, len); in CALL()
2399 static jstring NewStringUTF(JNIEnv* env, const char* chars) { in NewStringUTF() argument
2401 ScopedObjectAccess soa(env); in NewStringUTF()
2403 JniValueType args[2] = {{.E = env}, {.u = chars}}; in NewStringUTF()
2407 result.s = baseEnv(env)->NewStringUTF(env, chars); in NewStringUTF()
2415 static jsize GetStringLength(JNIEnv* env, jstring string) { in GetStringLength() argument
2417 ScopedObjectAccess soa(env); in GetStringLength()
2419 JniValueType args[2] = {{.E = env}, {.s = string}}; in GetStringLength()
2422 result.z = baseEnv(env)->GetStringLength(env, string); in GetStringLength()
2430 static jsize GetStringUTFLength(JNIEnv* env, jstring string) { in GetStringUTFLength() argument
2432 ScopedObjectAccess soa(env); in GetStringUTFLength()
2434 JniValueType args[2] = {{.E = env}, {.s = string}}; in GetStringUTFLength()
2437 result.z = baseEnv(env)->GetStringUTFLength(env, string); in GetStringUTFLength()
2445 static const jchar* GetStringChars(JNIEnv* env, jstring string, jboolean* is_copy) { in GetStringChars() argument
2446 return reinterpret_cast<const jchar*>(GetStringCharsInternal(__FUNCTION__, env, string, in GetStringChars()
2450 static const char* GetStringUTFChars(JNIEnv* env, jstring string, jboolean* is_copy) { in GetStringUTFChars() argument
2451 return reinterpret_cast<const char*>(GetStringCharsInternal(__FUNCTION__, env, string, in GetStringUTFChars()
2455 static const jchar* GetStringCritical(JNIEnv* env, jstring string, jboolean* is_copy) { in GetStringCritical() argument
2456 return reinterpret_cast<const jchar*>(GetStringCharsInternal(__FUNCTION__, env, string, in GetStringCritical()
2460 static void ReleaseStringChars(JNIEnv* env, jstring string, const jchar* chars) { in ReleaseStringChars() argument
2461 ReleaseStringCharsInternal(__FUNCTION__, env, string, chars, false, false); in ReleaseStringChars()
2464 static void ReleaseStringUTFChars(JNIEnv* env, jstring string, const char* utf) { in ReleaseStringUTFChars() argument
2465 ReleaseStringCharsInternal(__FUNCTION__, env, string, utf, true, false); in ReleaseStringUTFChars()
2468 static void ReleaseStringCritical(JNIEnv* env, jstring string, const jchar* chars) { in ReleaseStringCritical() argument
2469 ReleaseStringCharsInternal(__FUNCTION__, env, string, chars, false, true); in ReleaseStringCritical()
2472 static void GetStringRegion(JNIEnv* env, jstring string, jsize start, jsize len, jchar* buf) { in GetStringRegion() argument
2474 ScopedObjectAccess soa(env); in GetStringRegion()
2476 JniValueType args[5] = {{.E = env}, {.s = string}, {.z = start}, {.z = len}, {.p = buf}}; in GetStringRegion()
2480 baseEnv(env)->GetStringRegion(env, string, start, len, buf); in GetStringRegion()
2487 static void GetStringUTFRegion(JNIEnv* env, jstring string, jsize start, jsize len, char* buf) { in GetStringUTFRegion() argument
2489 ScopedObjectAccess soa(env); in GetStringUTFRegion()
2491 JniValueType args[5] = {{.E = env}, {.s = string}, {.z = start}, {.z = len}, {.p = buf}}; in GetStringUTFRegion()
2495 baseEnv(env)->GetStringUTFRegion(env, string, start, len, buf); in GetStringUTFRegion()
2502 static jsize GetArrayLength(JNIEnv* env, jarray array) { in GetArrayLength() argument
2504 ScopedObjectAccess soa(env); in GetArrayLength()
2506 JniValueType args[2] = {{.E = env}, {.a = array}}; in GetArrayLength()
2509 result.z = baseEnv(env)->GetArrayLength(env, array); in GetArrayLength()
2517 static jobjectArray NewObjectArray(JNIEnv* env, jsize length, jclass element_class, in NewObjectArray() argument
2520 ScopedObjectAccess soa(env); in NewObjectArray()
2523 {{.E = env}, {.z = length}, {.c = element_class}, {.L = initial_element}}; in NewObjectArray()
2527 result.a = baseEnv(env)->NewObjectArray(env, length, element_class, initial_element); in NewObjectArray()
2535 static jobject GetObjectArrayElement(JNIEnv* env, jobjectArray array, jsize index) { in GetObjectArrayElement() argument
2537 ScopedObjectAccess soa(env); in GetObjectArrayElement()
2539 JniValueType args[3] = {{.E = env}, {.a = array}, {.z = index}}; in GetObjectArrayElement()
2542 result.L = baseEnv(env)->GetObjectArrayElement(env, array, index); in GetObjectArrayElement()
2550 static void SetObjectArrayElement(JNIEnv* env, jobjectArray array, jsize index, jobject value) { in SetObjectArrayElement() argument
2552 ScopedObjectAccess soa(env); in SetObjectArrayElement()
2554 JniValueType args[4] = {{.E = env}, {.a = array}, {.z = index}, {.L = value}}; in SetObjectArrayElement()
2559 baseEnv(env)->SetObjectArrayElement(env, array, index, value); in SetObjectArrayElement()
2566 static jbooleanArray NewBooleanArray(JNIEnv* env, jsize length) { in NewBooleanArray() argument
2567 return down_cast<jbooleanArray>(NewPrimitiveArray(__FUNCTION__, env, length, in NewBooleanArray()
2571 static jbyteArray NewByteArray(JNIEnv* env, jsize length) { in NewByteArray() argument
2572 return down_cast<jbyteArray>(NewPrimitiveArray(__FUNCTION__, env, length, in NewByteArray()
2576 static jcharArray NewCharArray(JNIEnv* env, jsize length) { in NewCharArray() argument
2577 return down_cast<jcharArray>(NewPrimitiveArray(__FUNCTION__, env, length, in NewCharArray()
2581 static jshortArray NewShortArray(JNIEnv* env, jsize length) { in NewShortArray() argument
2582 return down_cast<jshortArray>(NewPrimitiveArray(__FUNCTION__, env, length, in NewShortArray()
2586 static jintArray NewIntArray(JNIEnv* env, jsize length) { in NewIntArray() argument
2587 return down_cast<jintArray>(NewPrimitiveArray(__FUNCTION__, env, length, Primitive::kPrimInt)); in NewIntArray()
2590 static jlongArray NewLongArray(JNIEnv* env, jsize length) { in NewLongArray() argument
2591 return down_cast<jlongArray>(NewPrimitiveArray(__FUNCTION__, env, length, in NewLongArray()
2595 static jfloatArray NewFloatArray(JNIEnv* env, jsize length) { in NewFloatArray() argument
2596 return down_cast<jfloatArray>(NewPrimitiveArray(__FUNCTION__, env, length, in NewFloatArray()
2600 static jdoubleArray NewDoubleArray(JNIEnv* env, jsize length) { in NewDoubleArray() argument
2601 return down_cast<jdoubleArray>(NewPrimitiveArray(__FUNCTION__, env, length, in NewDoubleArray()
2607 …static ctype* Get##name##ArrayElements(JNIEnv* env, ctype##Array array, jboolean* is_copy) { /* NO…
2609 GetPrimitiveArrayElements(__FUNCTION__, ptype, env, array, is_copy)); \
2612 …static void Release##name##ArrayElements(JNIEnv* env, ctype##Array array, ctype* elems, /* NOLINT …
2614 ReleasePrimitiveArrayElements(__FUNCTION__, ptype, env, array, elems, mode); \
2617 static void Get##name##ArrayRegion(JNIEnv* env, ctype##Array array, jsize start, jsize len, \
2619 GetPrimitiveArrayRegion(__FUNCTION__, ptype, env, array, start, len, buf); \
2622 static void Set##name##ArrayRegion(JNIEnv* env, ctype##Array array, jsize start, jsize len, \
2624 SetPrimitiveArrayRegion(__FUNCTION__, ptype, env, array, start, len, buf); \
2637 static jint MonitorEnter(JNIEnv* env, jobject obj) { in PRIMITIVE_ARRAY_FUNCTIONS()
2639 ScopedObjectAccess soa(env); in PRIMITIVE_ARRAY_FUNCTIONS()
2641 JniValueType args[2] = {{.E = env}, {.L = obj}}; in PRIMITIVE_ARRAY_FUNCTIONS()
2644 down_cast<JNIEnvExt*>(env)->RecordMonitorEnter(obj); in PRIMITIVE_ARRAY_FUNCTIONS()
2647 result.i = baseEnv(env)->MonitorEnter(env, obj); in PRIMITIVE_ARRAY_FUNCTIONS()
2655 static jint MonitorExit(JNIEnv* env, jobject obj) { in MonitorExit() argument
2657 ScopedObjectAccess soa(env); in MonitorExit()
2659 JniValueType args[2] = {{.E = env}, {.L = obj}}; in MonitorExit()
2662 down_cast<JNIEnvExt*>(env)->CheckMonitorRelease(obj); in MonitorExit()
2665 result.i = baseEnv(env)->MonitorExit(env, obj); in MonitorExit()
2673 static void* GetPrimitiveArrayCritical(JNIEnv* env, jarray array, jboolean* is_copy) { in GetPrimitiveArrayCritical() argument
2675 ScopedObjectAccess soa(env); in GetPrimitiveArrayCritical()
2677 JniValueType args[3] = {{.E = env}, {.a = array}, {.p = is_copy}}; in GetPrimitiveArrayCritical()
2680 void* ptr = baseEnv(env)->GetPrimitiveArrayCritical(env, array, is_copy); in GetPrimitiveArrayCritical()
2682 ptr = GuardedCopy::CreateGuardedPACopy(env, array, is_copy, ptr); in GetPrimitiveArrayCritical()
2692 static void ReleasePrimitiveArrayCritical(JNIEnv* env, jarray array, void* carray, jint mode) { in ReleasePrimitiveArrayCritical() argument
2694 ScopedObjectAccess soa(env); in ReleasePrimitiveArrayCritical()
2697 JniValueType args[4] = {{.E = env}, {.a = array}, {.p = carray}, {.r = mode}}; in ReleasePrimitiveArrayCritical()
2700 carray = GuardedCopy::ReleaseGuardedPACopy(__FUNCTION__, env, array, carray, mode); in ReleasePrimitiveArrayCritical()
2702 baseEnv(env)->ReleasePrimitiveArrayCritical(env, array, carray, mode); in ReleasePrimitiveArrayCritical()
2709 static jobject NewDirectByteBuffer(JNIEnv* env, void* address, jlong capacity) { in NewDirectByteBuffer() argument
2711 ScopedObjectAccess soa(env); in NewDirectByteBuffer()
2713 JniValueType args[3] = {{.E = env}, {.p = address}, {.J = capacity}}; in NewDirectByteBuffer()
2717 result.L = baseEnv(env)->NewDirectByteBuffer(env, address, capacity); in NewDirectByteBuffer()
2725 static void* GetDirectBufferAddress(JNIEnv* env, jobject buf) { in GetDirectBufferAddress() argument
2727 ScopedObjectAccess soa(env); in GetDirectBufferAddress()
2729 JniValueType args[2] = {{.E = env}, {.L = buf}}; in GetDirectBufferAddress()
2734 result.p = baseEnv(env)->GetDirectBufferAddress(env, buf); in GetDirectBufferAddress()
2742 static jlong GetDirectBufferCapacity(JNIEnv* env, jobject buf) { in GetDirectBufferCapacity() argument
2744 ScopedObjectAccess soa(env); in GetDirectBufferCapacity()
2746 JniValueType args[2] = {{.E = env}, {.L = buf}}; in GetDirectBufferCapacity()
2751 result.J = baseEnv(env)->GetDirectBufferCapacity(env, buf); in GetDirectBufferCapacity()
2760 static JavaVMExt* GetJavaVMExt(JNIEnv* env) { in GetJavaVMExt() argument
2761 return reinterpret_cast<JNIEnvExt*>(env)->GetVm(); in GetJavaVMExt()
2764 static const JNINativeInterface* baseEnv(JNIEnv* env) { in baseEnv() argument
2765 return reinterpret_cast<JNIEnvExt*>(env)->GetUncheckedFunctions(); in baseEnv()
2768 static jobject NewRef(const char* function_name, JNIEnv* env, jobject obj, IndirectRefKind kind) { in NewRef() argument
2770 ScopedObjectAccess soa(env); in NewRef()
2772 JniValueType args[2] = {{.E = env}, {.L = obj}}; in NewRef()
2777 result.L = baseEnv(env)->NewGlobalRef(env, obj); in NewRef()
2780 result.L = baseEnv(env)->NewLocalRef(env, obj); in NewRef()
2783 result.L = baseEnv(env)->NewWeakGlobalRef(env, obj); in NewRef()
2789 DCHECK_EQ(IsSameObject(env, obj, result.L), JNI_TRUE); in NewRef()
2797 static void DeleteRef(const char* function_name, JNIEnv* env, jobject obj, IndirectRefKind kind) { in DeleteRef() argument
2799 ScopedObjectAccess soa(env); in DeleteRef()
2801 JniValueType args[2] = {{.E = env}, {.L = obj}}; in DeleteRef()
2807 baseEnv(env)->DeleteGlobalRef(env, obj); in DeleteRef()
2810 baseEnv(env)->DeleteLocalRef(env, obj); in DeleteRef()
2813 baseEnv(env)->DeleteWeakGlobalRef(env, obj); in DeleteRef()
2823 static jmethodID GetMethodIDInternal(const char* function_name, JNIEnv* env, jclass c, in GetMethodIDInternal() argument
2826 ScopedObjectAccess soa(env); in GetMethodIDInternal()
2828 JniValueType args[4] = {{.E = env}, {.c = c}, {.u = name}, {.u = sig}}; in GetMethodIDInternal()
2832 result.m = baseEnv(env)->GetStaticMethodID(env, c, name, sig); in GetMethodIDInternal()
2834 result.m = baseEnv(env)->GetMethodID(env, c, name, sig); in GetMethodIDInternal()
2843 static jfieldID GetFieldIDInternal(const char* function_name, JNIEnv* env, jclass c, in GetFieldIDInternal() argument
2846 ScopedObjectAccess soa(env); in GetFieldIDInternal()
2848 JniValueType args[4] = {{.E = env}, {.c = c}, {.u = name}, {.u = sig}}; in GetFieldIDInternal()
2852 result.f = baseEnv(env)->GetStaticFieldID(env, c, name, sig); in GetFieldIDInternal()
2854 result.f = baseEnv(env)->GetFieldID(env, c, name, sig); in GetFieldIDInternal()
2863 static JniValueType GetField(const char* function_name, JNIEnv* env, jobject obj, jfieldID fid, in GetField() argument
2866 ScopedObjectAccess soa(env); in GetField()
2868 JniValueType args[3] = {{.E = env}, {.L = obj}, {.f = fid}}; in GetField()
2876 result.L = baseEnv(env)->GetStaticObjectField(env, down_cast<jclass>(obj), fid); in GetField()
2878 result.L = baseEnv(env)->GetObjectField(env, obj, fid); in GetField()
2884 result.Z = baseEnv(env)->GetStaticBooleanField(env, down_cast<jclass>(obj), fid); in GetField()
2886 result.Z = baseEnv(env)->GetBooleanField(env, obj, fid); in GetField()
2892 result.B = baseEnv(env)->GetStaticByteField(env, down_cast<jclass>(obj), fid); in GetField()
2894 result.B = baseEnv(env)->GetByteField(env, obj, fid); in GetField()
2900 result.C = baseEnv(env)->GetStaticCharField(env, down_cast<jclass>(obj), fid); in GetField()
2902 result.C = baseEnv(env)->GetCharField(env, obj, fid); in GetField()
2908 result.S = baseEnv(env)->GetStaticShortField(env, down_cast<jclass>(obj), fid); in GetField()
2910 result.S = baseEnv(env)->GetShortField(env, obj, fid); in GetField()
2916 result.I = baseEnv(env)->GetStaticIntField(env, down_cast<jclass>(obj), fid); in GetField()
2918 result.I = baseEnv(env)->GetIntField(env, obj, fid); in GetField()
2924 result.J = baseEnv(env)->GetStaticLongField(env, down_cast<jclass>(obj), fid); in GetField()
2926 result.J = baseEnv(env)->GetLongField(env, obj, fid); in GetField()
2932 result.F = baseEnv(env)->GetStaticFloatField(env, down_cast<jclass>(obj), fid); in GetField()
2934 result.F = baseEnv(env)->GetFloatField(env, obj, fid); in GetField()
2940 result.D = baseEnv(env)->GetStaticDoubleField(env, down_cast<jclass>(obj), fid); in GetField()
2942 result.D = baseEnv(env)->GetDoubleField(env, obj, fid); in GetField()
2958 static void SetField(const char* function_name, JNIEnv* env, jobject obj, jfieldID fid, in SetField() argument
2961 ScopedObjectAccess soa(env); in SetField()
2963 JniValueType args[4] = {{.E = env}, {.L = obj}, {.f = fid}, value}; in SetField()
2971 baseEnv(env)->SetStaticObjectField(env, down_cast<jclass>(obj), fid, value.L); in SetField()
2973 baseEnv(env)->SetObjectField(env, obj, fid, value.L); in SetField()
2978 baseEnv(env)->SetStaticBooleanField(env, down_cast<jclass>(obj), fid, value.Z); in SetField()
2980 baseEnv(env)->SetBooleanField(env, obj, fid, value.Z); in SetField()
2985 baseEnv(env)->SetStaticByteField(env, down_cast<jclass>(obj), fid, value.B); in SetField()
2987 baseEnv(env)->SetByteField(env, obj, fid, value.B); in SetField()
2992 baseEnv(env)->SetStaticCharField(env, down_cast<jclass>(obj), fid, value.C); in SetField()
2994 baseEnv(env)->SetCharField(env, obj, fid, value.C); in SetField()
2999 baseEnv(env)->SetStaticShortField(env, down_cast<jclass>(obj), fid, value.S); in SetField()
3001 baseEnv(env)->SetShortField(env, obj, fid, value.S); in SetField()
3006 baseEnv(env)->SetStaticIntField(env, down_cast<jclass>(obj), fid, value.I); in SetField()
3008 baseEnv(env)->SetIntField(env, obj, fid, value.I); in SetField()
3013 baseEnv(env)->SetStaticLongField(env, down_cast<jclass>(obj), fid, value.J); in SetField()
3015 baseEnv(env)->SetLongField(env, obj, fid, value.J); in SetField()
3020 baseEnv(env)->SetStaticFloatField(env, down_cast<jclass>(obj), fid, value.F); in SetField()
3022 baseEnv(env)->SetFloatField(env, obj, fid, value.F); in SetField()
3027 baseEnv(env)->SetStaticDoubleField(env, down_cast<jclass>(obj), fid, value.D); in SetField()
3029 baseEnv(env)->SetDoubleField(env, obj, fid, value.D); in SetField()
3042 static bool CheckCallArgs(ScopedObjectAccess& soa, ScopedCheck& sc, JNIEnv* env, jobject obj, in CheckCallArgs() argument
3049 JniValueType args[4] = {{.E = env}, {.L = obj}, {.m = mid}, {.va = vargs}}; in CheckCallArgs()
3054 JniValueType args[5] = {{.E = env}, {.L = obj}, {.c = c}, {.m = mid}, {.va = vargs}}; in CheckCallArgs()
3060 JniValueType args[4] = {{.E = env}, {.c = c}, {.m = mid}, {.va = vargs}}; in CheckCallArgs()
3072 static JniValueType CallMethodA(const char* function_name, JNIEnv* env, jobject obj, jclass c, in CallMethodA() argument
3076 ScopedObjectAccess soa(env); in CallMethodA()
3080 if (CheckCallArgs(soa, sc, env, obj, c, mid, invoke, &rest) && in CallMethodA()
3088 result.L = baseEnv(env)->CallObjectMethodA(env, obj, mid, vargs); in CallMethodA()
3091 result.L = baseEnv(env)->CallNonvirtualObjectMethodA(env, obj, c, mid, vargs); in CallMethodA()
3094 result.L = baseEnv(env)->CallStaticObjectMethodA(env, c, mid, vargs); in CallMethodA()
3104 result.Z = baseEnv(env)->CallBooleanMethodA(env, obj, mid, vargs); in CallMethodA()
3107 result.Z = baseEnv(env)->CallNonvirtualBooleanMethodA(env, obj, c, mid, vargs); in CallMethodA()
3110 result.Z = baseEnv(env)->CallStaticBooleanMethodA(env, c, mid, vargs); in CallMethodA()
3120 result.B = baseEnv(env)->CallByteMethodA(env, obj, mid, vargs); in CallMethodA()
3123 result.B = baseEnv(env)->CallNonvirtualByteMethodA(env, obj, c, mid, vargs); in CallMethodA()
3126 result.B = baseEnv(env)->CallStaticByteMethodA(env, c, mid, vargs); in CallMethodA()
3136 result.C = baseEnv(env)->CallCharMethodA(env, obj, mid, vargs); in CallMethodA()
3139 result.C = baseEnv(env)->CallNonvirtualCharMethodA(env, obj, c, mid, vargs); in CallMethodA()
3142 result.C = baseEnv(env)->CallStaticCharMethodA(env, c, mid, vargs); in CallMethodA()
3152 result.S = baseEnv(env)->CallShortMethodA(env, obj, mid, vargs); in CallMethodA()
3155 result.S = baseEnv(env)->CallNonvirtualShortMethodA(env, obj, c, mid, vargs); in CallMethodA()
3158 result.S = baseEnv(env)->CallStaticShortMethodA(env, c, mid, vargs); in CallMethodA()
3168 result.I = baseEnv(env)->CallIntMethodA(env, obj, mid, vargs); in CallMethodA()
3171 result.I = baseEnv(env)->CallNonvirtualIntMethodA(env, obj, c, mid, vargs); in CallMethodA()
3174 result.I = baseEnv(env)->CallStaticIntMethodA(env, c, mid, vargs); in CallMethodA()
3184 result.J = baseEnv(env)->CallLongMethodA(env, obj, mid, vargs); in CallMethodA()
3187 result.J = baseEnv(env)->CallNonvirtualLongMethodA(env, obj, c, mid, vargs); in CallMethodA()
3190 result.J = baseEnv(env)->CallStaticLongMethodA(env, c, mid, vargs); in CallMethodA()
3200 result.F = baseEnv(env)->CallFloatMethodA(env, obj, mid, vargs); in CallMethodA()
3203 result.F = baseEnv(env)->CallNonvirtualFloatMethodA(env, obj, c, mid, vargs); in CallMethodA()
3206 result.F = baseEnv(env)->CallStaticFloatMethodA(env, c, mid, vargs); in CallMethodA()
3216 result.D = baseEnv(env)->CallDoubleMethodA(env, obj, mid, vargs); in CallMethodA()
3219 result.D = baseEnv(env)->CallNonvirtualDoubleMethodA(env, obj, c, mid, vargs); in CallMethodA()
3222 result.D = baseEnv(env)->CallStaticDoubleMethodA(env, c, mid, vargs); in CallMethodA()
3233 baseEnv(env)->CallVoidMethodA(env, obj, mid, vargs); in CallMethodA()
3236 baseEnv(env)->CallNonvirtualVoidMethodA(env, obj, c, mid, vargs); in CallMethodA()
3239 baseEnv(env)->CallStaticVoidMethodA(env, c, mid, vargs); in CallMethodA()
3257 static JniValueType CallMethodV(const char* function_name, JNIEnv* env, jobject obj, jclass c, in CallMethodV() argument
3261 ScopedObjectAccess soa(env); in CallMethodV()
3265 if (CheckCallArgs(soa, sc, env, obj, c, mid, invoke, &rest) && in CallMethodV()
3273 result.L = baseEnv(env)->CallObjectMethodV(env, obj, mid, vargs); in CallMethodV()
3276 result.L = baseEnv(env)->CallNonvirtualObjectMethodV(env, obj, c, mid, vargs); in CallMethodV()
3279 result.L = baseEnv(env)->CallStaticObjectMethodV(env, c, mid, vargs); in CallMethodV()
3289 result.Z = baseEnv(env)->CallBooleanMethodV(env, obj, mid, vargs); in CallMethodV()
3292 result.Z = baseEnv(env)->CallNonvirtualBooleanMethodV(env, obj, c, mid, vargs); in CallMethodV()
3295 result.Z = baseEnv(env)->CallStaticBooleanMethodV(env, c, mid, vargs); in CallMethodV()
3305 result.B = baseEnv(env)->CallByteMethodV(env, obj, mid, vargs); in CallMethodV()
3308 result.B = baseEnv(env)->CallNonvirtualByteMethodV(env, obj, c, mid, vargs); in CallMethodV()
3311 result.B = baseEnv(env)->CallStaticByteMethodV(env, c, mid, vargs); in CallMethodV()
3321 result.C = baseEnv(env)->CallCharMethodV(env, obj, mid, vargs); in CallMethodV()
3324 result.C = baseEnv(env)->CallNonvirtualCharMethodV(env, obj, c, mid, vargs); in CallMethodV()
3327 result.C = baseEnv(env)->CallStaticCharMethodV(env, c, mid, vargs); in CallMethodV()
3337 result.S = baseEnv(env)->CallShortMethodV(env, obj, mid, vargs); in CallMethodV()
3340 result.S = baseEnv(env)->CallNonvirtualShortMethodV(env, obj, c, mid, vargs); in CallMethodV()
3343 result.S = baseEnv(env)->CallStaticShortMethodV(env, c, mid, vargs); in CallMethodV()
3353 result.I = baseEnv(env)->CallIntMethodV(env, obj, mid, vargs); in CallMethodV()
3356 result.I = baseEnv(env)->CallNonvirtualIntMethodV(env, obj, c, mid, vargs); in CallMethodV()
3359 result.I = baseEnv(env)->CallStaticIntMethodV(env, c, mid, vargs); in CallMethodV()
3369 result.J = baseEnv(env)->CallLongMethodV(env, obj, mid, vargs); in CallMethodV()
3372 result.J = baseEnv(env)->CallNonvirtualLongMethodV(env, obj, c, mid, vargs); in CallMethodV()
3375 result.J = baseEnv(env)->CallStaticLongMethodV(env, c, mid, vargs); in CallMethodV()
3385 result.F = baseEnv(env)->CallFloatMethodV(env, obj, mid, vargs); in CallMethodV()
3388 result.F = baseEnv(env)->CallNonvirtualFloatMethodV(env, obj, c, mid, vargs); in CallMethodV()
3391 result.F = baseEnv(env)->CallStaticFloatMethodV(env, c, mid, vargs); in CallMethodV()
3401 result.D = baseEnv(env)->CallDoubleMethodV(env, obj, mid, vargs); in CallMethodV()
3404 result.D = baseEnv(env)->CallNonvirtualDoubleMethodV(env, obj, c, mid, vargs); in CallMethodV()
3407 result.D = baseEnv(env)->CallStaticDoubleMethodV(env, c, mid, vargs); in CallMethodV()
3418 baseEnv(env)->CallVoidMethodV(env, obj, mid, vargs); in CallMethodV()
3421 baseEnv(env)->CallNonvirtualVoidMethodV(env, obj, c, mid, vargs); in CallMethodV()
3424 baseEnv(env)->CallStaticVoidMethodV(env, c, mid, vargs); in CallMethodV()
3442 static const void* GetStringCharsInternal(const char* function_name, JNIEnv* env, jstring string, in GetStringCharsInternal() argument
3445 ScopedObjectAccess soa(env); in GetStringCharsInternal()
3448 JniValueType args[3] = {{.E = env}, {.s = string}, {.p = is_copy}}; in GetStringCharsInternal()
3454 ptr = const_cast<char*>(baseEnv(env)->GetStringUTFChars(env, string, is_copy)); in GetStringCharsInternal()
3457 ptr = const_cast<jchar*>(critical ? baseEnv(env)->GetStringCritical(env, string, is_copy) : in GetStringCharsInternal()
3458 baseEnv(env)->GetStringChars(env, string, is_copy)); in GetStringCharsInternal()
3468 size_t length_in_bytes = baseEnv(env)->GetStringLength(env, string) * 2; in GetStringCharsInternal()
3483 static void ReleaseStringCharsInternal(const char* function_name, JNIEnv* env, jstring string, in ReleaseStringCharsInternal() argument
3486 ScopedObjectAccess soa(env); in ReleaseStringCharsInternal()
3498 JniValueType args[3] = {{.E = env}, {.s = string}, {.p = chars}}; in ReleaseStringCharsInternal()
3502 baseEnv(env)->ReleaseStringUTFChars(env, string, reinterpret_cast<const char*>(chars)); in ReleaseStringCharsInternal()
3505 baseEnv(env)->ReleaseStringCritical(env, string, reinterpret_cast<const jchar*>(chars)); in ReleaseStringCharsInternal()
3507 baseEnv(env)->ReleaseStringChars(env, string, reinterpret_cast<const jchar*>(chars)); in ReleaseStringCharsInternal()
3516 static jarray NewPrimitiveArray(const char* function_name, JNIEnv* env, jsize length, in NewPrimitiveArray() argument
3519 ScopedObjectAccess soa(env); in NewPrimitiveArray()
3521 JniValueType args[2] = {{.E = env}, {.z = length}}; in NewPrimitiveArray()
3526 result.a = baseEnv(env)->NewBooleanArray(env, length); in NewPrimitiveArray()
3529 result.a = baseEnv(env)->NewByteArray(env, length); in NewPrimitiveArray()
3532 result.a = baseEnv(env)->NewCharArray(env, length); in NewPrimitiveArray()
3535 result.a = baseEnv(env)->NewShortArray(env, length); in NewPrimitiveArray()
3538 result.a = baseEnv(env)->NewIntArray(env, length); in NewPrimitiveArray()
3541 result.a = baseEnv(env)->NewLongArray(env, length); in NewPrimitiveArray()
3544 result.a = baseEnv(env)->NewFloatArray(env, length); in NewPrimitiveArray()
3547 result.a = baseEnv(env)->NewDoubleArray(env, length); in NewPrimitiveArray()
3560 JNIEnv* env, jarray array, jboolean* is_copy) { in GetPrimitiveArrayElements() argument
3562 ScopedObjectAccess soa(env); in GetPrimitiveArrayElements()
3564 JniValueType args[3] = {{.E = env}, {.a = array}, {.p = is_copy}}; in GetPrimitiveArrayElements()
3570 ptr = baseEnv(env)->GetBooleanArrayElements(env, down_cast<jbooleanArray>(array), in GetPrimitiveArrayElements()
3574 ptr = baseEnv(env)->GetByteArrayElements(env, down_cast<jbyteArray>(array), is_copy); in GetPrimitiveArrayElements()
3577 ptr = baseEnv(env)->GetCharArrayElements(env, down_cast<jcharArray>(array), is_copy); in GetPrimitiveArrayElements()
3580 ptr = baseEnv(env)->GetShortArrayElements(env, down_cast<jshortArray>(array), is_copy); in GetPrimitiveArrayElements()
3583 ptr = baseEnv(env)->GetIntArrayElements(env, down_cast<jintArray>(array), is_copy); in GetPrimitiveArrayElements()
3586 ptr = baseEnv(env)->GetLongArrayElements(env, down_cast<jlongArray>(array), is_copy); in GetPrimitiveArrayElements()
3589 ptr = baseEnv(env)->GetFloatArrayElements(env, down_cast<jfloatArray>(array), is_copy); in GetPrimitiveArrayElements()
3592 ptr = baseEnv(env)->GetDoubleArrayElements(env, down_cast<jdoubleArray>(array), is_copy); in GetPrimitiveArrayElements()
3598 ptr = GuardedCopy::CreateGuardedPACopy(env, array, is_copy, ptr); in GetPrimitiveArrayElements()
3612 JNIEnv* env, jarray array, void* elems, jint mode) { in ReleasePrimitiveArrayElements() argument
3614 ScopedObjectAccess soa(env); in ReleasePrimitiveArrayElements()
3618 elems = GuardedCopy::ReleaseGuardedPACopy(function_name, env, array, elems, mode); in ReleasePrimitiveArrayElements()
3621 JniValueType args[4] = {{.E = env}, {.a = array}, {.p = elems}, {.r = mode}}; in ReleasePrimitiveArrayElements()
3625 baseEnv(env)->ReleaseBooleanArrayElements(env, down_cast<jbooleanArray>(array), in ReleasePrimitiveArrayElements()
3629 baseEnv(env)->ReleaseByteArrayElements(env, down_cast<jbyteArray>(array), in ReleasePrimitiveArrayElements()
3633 baseEnv(env)->ReleaseCharArrayElements(env, down_cast<jcharArray>(array), in ReleasePrimitiveArrayElements()
3637 baseEnv(env)->ReleaseShortArrayElements(env, down_cast<jshortArray>(array), in ReleasePrimitiveArrayElements()
3641 baseEnv(env)->ReleaseIntArrayElements(env, down_cast<jintArray>(array), in ReleasePrimitiveArrayElements()
3645 baseEnv(env)->ReleaseLongArrayElements(env, down_cast<jlongArray>(array), in ReleasePrimitiveArrayElements()
3649 baseEnv(env)->ReleaseFloatArrayElements(env, down_cast<jfloatArray>(array), in ReleasePrimitiveArrayElements()
3653 baseEnv(env)->ReleaseDoubleArrayElements(env, down_cast<jdoubleArray>(array), in ReleasePrimitiveArrayElements()
3667 static void GetPrimitiveArrayRegion(const char* function_name, Primitive::Type type, JNIEnv* env, in GetPrimitiveArrayRegion() argument
3670 ScopedObjectAccess soa(env); in GetPrimitiveArrayRegion()
3672 JniValueType args[5] = {{.E = env}, {.a = array}, {.z = start}, {.z = len}, {.p = buf}}; in GetPrimitiveArrayRegion()
3678 baseEnv(env)->GetBooleanArrayRegion(env, down_cast<jbooleanArray>(array), start, len, in GetPrimitiveArrayRegion()
3682 baseEnv(env)->GetByteArrayRegion(env, down_cast<jbyteArray>(array), start, len, in GetPrimitiveArrayRegion()
3686 baseEnv(env)->GetCharArrayRegion(env, down_cast<jcharArray>(array), start, len, in GetPrimitiveArrayRegion()
3690 baseEnv(env)->GetShortArrayRegion(env, down_cast<jshortArray>(array), start, len, in GetPrimitiveArrayRegion()
3694 baseEnv(env)->GetIntArrayRegion(env, down_cast<jintArray>(array), start, len, in GetPrimitiveArrayRegion()
3698 baseEnv(env)->GetLongArrayRegion(env, down_cast<jlongArray>(array), start, len, in GetPrimitiveArrayRegion()
3702 baseEnv(env)->GetFloatArrayRegion(env, down_cast<jfloatArray>(array), start, len, in GetPrimitiveArrayRegion()
3706 baseEnv(env)->GetDoubleArrayRegion(env, down_cast<jdoubleArray>(array), start, len, in GetPrimitiveArrayRegion()
3718 static void SetPrimitiveArrayRegion(const char* function_name, Primitive::Type type, JNIEnv* env, in SetPrimitiveArrayRegion() argument
3721 ScopedObjectAccess soa(env); in SetPrimitiveArrayRegion()
3723 JniValueType args[5] = {{.E = env}, {.a = array}, {.z = start}, {.z = len}, {.p = buf}}; in SetPrimitiveArrayRegion()
3729 baseEnv(env)->SetBooleanArrayRegion(env, down_cast<jbooleanArray>(array), start, len, in SetPrimitiveArrayRegion()
3733 baseEnv(env)->SetByteArrayRegion(env, down_cast<jbyteArray>(array), start, len, in SetPrimitiveArrayRegion()
3737 baseEnv(env)->SetCharArrayRegion(env, down_cast<jcharArray>(array), start, len, in SetPrimitiveArrayRegion()
3741 baseEnv(env)->SetShortArrayRegion(env, down_cast<jshortArray>(array), start, len, in SetPrimitiveArrayRegion()
3745 baseEnv(env)->SetIntArrayRegion(env, down_cast<jintArray>(array), start, len, in SetPrimitiveArrayRegion()
3749 baseEnv(env)->SetLongArrayRegion(env, down_cast<jlongArray>(array), start, len, in SetPrimitiveArrayRegion()
3753 baseEnv(env)->SetFloatArrayRegion(env, down_cast<jfloatArray>(array), start, len, in SetPrimitiveArrayRegion()
3757 baseEnv(env)->SetDoubleArrayRegion(env, down_cast<jdoubleArray>(array), start, len, in SetPrimitiveArrayRegion()