Loading core/java/android/os/Parcel.java +6 −0 Original line number Diff line number Diff line Loading @@ -305,8 +305,11 @@ public final class Parcel { private static native void nativeWriteFloat(long nativePtr, float val); @FastNative private static native void nativeWriteDouble(long nativePtr, double val); @FastNative static native void nativeWriteString(long nativePtr, String val); @FastNative private static native void nativeWriteStrongBinder(long nativePtr, IBinder val); @FastNative private static native long nativeWriteFileDescriptor(long nativePtr, FileDescriptor val); private static native byte[] nativeCreateByteArray(long nativePtr); Loading @@ -320,8 +323,11 @@ public final class Parcel { private static native float nativeReadFloat(long nativePtr); @CriticalNative private static native double nativeReadDouble(long nativePtr); @FastNative static native String nativeReadString(long nativePtr); @FastNative private static native IBinder nativeReadStrongBinder(long nativePtr); @FastNative private static native FileDescriptor nativeReadFileDescriptor(long nativePtr); private static native long nativeCreate(); Loading core/jni/android_os_Parcel.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -721,8 +721,11 @@ static const JNINativeMethod gParcelMethods[] = { {"nativeWriteFloat", "(JF)V", (void*)android_os_Parcel_writeFloat}, // @FastNative {"nativeWriteDouble", "(JD)V", (void*)android_os_Parcel_writeDouble}, // @FastNative {"nativeWriteString", "(JLjava/lang/String;)V", (void*)android_os_Parcel_writeString}, // @FastNative {"nativeWriteStrongBinder", "(JLandroid/os/IBinder;)V", (void*)android_os_Parcel_writeStrongBinder}, // @FastNative {"nativeWriteFileDescriptor", "(JLjava/io/FileDescriptor;)J", (void*)android_os_Parcel_writeFileDescriptor}, {"nativeCreateByteArray", "(J)[B", (void*)android_os_Parcel_createByteArray}, Loading @@ -736,8 +739,11 @@ static const JNINativeMethod gParcelMethods[] = { {"nativeReadFloat", "(J)F", (void*)android_os_Parcel_readFloat}, // @CriticalNative {"nativeReadDouble", "(J)D", (void*)android_os_Parcel_readDouble}, // @FastNative {"nativeReadString", "(J)Ljava/lang/String;", (void*)android_os_Parcel_readString}, // @FastNative {"nativeReadStrongBinder", "(J)Landroid/os/IBinder;", (void*)android_os_Parcel_readStrongBinder}, // @FastNative {"nativeReadFileDescriptor", "(J)Ljava/io/FileDescriptor;", (void*)android_os_Parcel_readFileDescriptor}, {"nativeCreate", "()J", (void*)android_os_Parcel_create}, Loading core/jni/android_util_Binder.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -697,6 +697,9 @@ BinderProxyNativeData* getBPNativeData(JNIEnv* env, jobject obj) { // same IBinder, and the original BinderProxy is still alive, return the same BinderProxy. jobject javaObjectForIBinder(JNIEnv* env, const sp<IBinder>& val) { // N.B. This function is called from a @FastNative JNI method, so don't take locks around // calls to Java code or block the calling thread for a long time for any reason. if (val == NULL) return NULL; if (val->checkSubclass(&gBinderOffsets)) { Loading Loading
core/java/android/os/Parcel.java +6 −0 Original line number Diff line number Diff line Loading @@ -305,8 +305,11 @@ public final class Parcel { private static native void nativeWriteFloat(long nativePtr, float val); @FastNative private static native void nativeWriteDouble(long nativePtr, double val); @FastNative static native void nativeWriteString(long nativePtr, String val); @FastNative private static native void nativeWriteStrongBinder(long nativePtr, IBinder val); @FastNative private static native long nativeWriteFileDescriptor(long nativePtr, FileDescriptor val); private static native byte[] nativeCreateByteArray(long nativePtr); Loading @@ -320,8 +323,11 @@ public final class Parcel { private static native float nativeReadFloat(long nativePtr); @CriticalNative private static native double nativeReadDouble(long nativePtr); @FastNative static native String nativeReadString(long nativePtr); @FastNative private static native IBinder nativeReadStrongBinder(long nativePtr); @FastNative private static native FileDescriptor nativeReadFileDescriptor(long nativePtr); private static native long nativeCreate(); Loading
core/jni/android_os_Parcel.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -721,8 +721,11 @@ static const JNINativeMethod gParcelMethods[] = { {"nativeWriteFloat", "(JF)V", (void*)android_os_Parcel_writeFloat}, // @FastNative {"nativeWriteDouble", "(JD)V", (void*)android_os_Parcel_writeDouble}, // @FastNative {"nativeWriteString", "(JLjava/lang/String;)V", (void*)android_os_Parcel_writeString}, // @FastNative {"nativeWriteStrongBinder", "(JLandroid/os/IBinder;)V", (void*)android_os_Parcel_writeStrongBinder}, // @FastNative {"nativeWriteFileDescriptor", "(JLjava/io/FileDescriptor;)J", (void*)android_os_Parcel_writeFileDescriptor}, {"nativeCreateByteArray", "(J)[B", (void*)android_os_Parcel_createByteArray}, Loading @@ -736,8 +739,11 @@ static const JNINativeMethod gParcelMethods[] = { {"nativeReadFloat", "(J)F", (void*)android_os_Parcel_readFloat}, // @CriticalNative {"nativeReadDouble", "(J)D", (void*)android_os_Parcel_readDouble}, // @FastNative {"nativeReadString", "(J)Ljava/lang/String;", (void*)android_os_Parcel_readString}, // @FastNative {"nativeReadStrongBinder", "(J)Landroid/os/IBinder;", (void*)android_os_Parcel_readStrongBinder}, // @FastNative {"nativeReadFileDescriptor", "(J)Ljava/io/FileDescriptor;", (void*)android_os_Parcel_readFileDescriptor}, {"nativeCreate", "()J", (void*)android_os_Parcel_create}, Loading
core/jni/android_util_Binder.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -697,6 +697,9 @@ BinderProxyNativeData* getBPNativeData(JNIEnv* env, jobject obj) { // same IBinder, and the original BinderProxy is still alive, return the same BinderProxy. jobject javaObjectForIBinder(JNIEnv* env, const sp<IBinder>& val) { // N.B. This function is called from a @FastNative JNI method, so don't take locks around // calls to Java code or block the calling thread for a long time for any reason. if (val == NULL) return NULL; if (val->checkSubclass(&gBinderOffsets)) { Loading