Camera: Restore FastNative annotation.
FastNative annotations were removed from native methods since it can't be used with 'synchronized'. These methods need not be synchronized. As per comments in ag/13184856, when the annotations were added first effect was that ART did the fast native calls but because synchronized fast native methods are not supported it was not doing the synchronized nor the unlock at exit.So FastNative but not synchronized. Removing synchronized and restoring FastNative annotation to optimize. Did sanity testing like open/close camera,taking photos,clear all apps. bug:175396433 Test: Camera ITS scene0 Pass, All Camera CTS tests Pass. Change-Id: Ib7acd363120ee0bf2a1dea92628b4697f3b211bb
This commit is contained in:
@@ -1869,26 +1869,38 @@ public class CameraMetadataNative implements Parcelable {
|
||||
|
||||
@FastNative
|
||||
private static native void nativeUpdate(long dst, long src);
|
||||
private static synchronized native void nativeWriteToParcel(Parcel dest, long ptr);
|
||||
private static synchronized native void nativeReadFromParcel(Parcel source, long ptr);
|
||||
private static synchronized native void nativeSwap(long ptr, long otherPtr)
|
||||
@FastNative
|
||||
private static native void nativeWriteToParcel(Parcel dest, long ptr);
|
||||
@FastNative
|
||||
private static native void nativeReadFromParcel(Parcel source, long ptr);
|
||||
@FastNative
|
||||
private static native void nativeSwap(long ptr, long otherPtr)
|
||||
throws NullPointerException;
|
||||
private static synchronized native void nativeClose(long ptr);
|
||||
private static synchronized native boolean nativeIsEmpty(long ptr);
|
||||
private static synchronized native int nativeGetEntryCount(long ptr);
|
||||
private static synchronized native long nativeGetBufferSize(long ptr);
|
||||
@FastNative
|
||||
private static native void nativeClose(long ptr);
|
||||
@FastNative
|
||||
private static native boolean nativeIsEmpty(long ptr);
|
||||
@FastNative
|
||||
private static native int nativeGetEntryCount(long ptr);
|
||||
@FastNative
|
||||
private static native long nativeGetBufferSize(long ptr);
|
||||
|
||||
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
|
||||
private static synchronized native byte[] nativeReadValues(int tag, long ptr);
|
||||
private static synchronized native void nativeWriteValues(int tag, byte[] src, long ptr);
|
||||
@FastNative
|
||||
private static native byte[] nativeReadValues(int tag, long ptr);
|
||||
@FastNative
|
||||
private static native void nativeWriteValues(int tag, byte[] src, long ptr);
|
||||
private static synchronized native void nativeDump(long ptr) throws IOException; // dump to LOGD
|
||||
|
||||
private static synchronized native ArrayList nativeGetAllVendorKeys(long ptr, Class keyClass);
|
||||
@FastNative
|
||||
private static native ArrayList nativeGetAllVendorKeys(long ptr, Class keyClass);
|
||||
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
|
||||
private static synchronized native int nativeGetTagFromKeyLocal(long ptr, String keyName)
|
||||
@FastNative
|
||||
private static native int nativeGetTagFromKeyLocal(long ptr, String keyName)
|
||||
throws IllegalArgumentException;
|
||||
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
|
||||
private static synchronized native int nativeGetTypeFromTagLocal(long ptr, int tag)
|
||||
@FastNative
|
||||
private static native int nativeGetTypeFromTagLocal(long ptr, int tag)
|
||||
throws IllegalArgumentException;
|
||||
@FastNative
|
||||
private static native int nativeGetTagFromKey(String keyName, long vendorId)
|
||||
|
||||
Reference in New Issue
Block a user