am 02baba25: am 67032754: Merge "AArch64: Use long for pointers in DisplayEventReceiver"

* commit '02baba25545b232436502a73e2928a1d72fa240e':
  AArch64: Use long for pointers in DisplayEventReceiver
This commit is contained in:
Narayan Kamath
2014-01-07 05:01:03 -08:00
committed by Android Git Automerger
2 changed files with 11 additions and 11 deletions

View File

@@ -36,16 +36,16 @@ public abstract class DisplayEventReceiver {
private final CloseGuard mCloseGuard = CloseGuard.get(); private final CloseGuard mCloseGuard = CloseGuard.get();
private int mReceiverPtr; private long mReceiverPtr;
// We keep a reference message queue object here so that it is not // We keep a reference message queue object here so that it is not
// GC'd while the native peer of the receiver is using them. // GC'd while the native peer of the receiver is using them.
private MessageQueue mMessageQueue; private MessageQueue mMessageQueue;
private static native int nativeInit(DisplayEventReceiver receiver, private static native long nativeInit(DisplayEventReceiver receiver,
MessageQueue messageQueue); MessageQueue messageQueue);
private static native void nativeDispose(int receiverPtr); private static native void nativeDispose(long receiverPtr);
private static native void nativeScheduleVsync(int receiverPtr); private static native void nativeScheduleVsync(long receiverPtr);
/** /**
* Creates a display event receiver. * Creates a display event receiver.

View File

@@ -207,7 +207,7 @@ void NativeDisplayEventReceiver::dispatchHotplug(nsecs_t timestamp, int32_t id,
} }
static jint nativeInit(JNIEnv* env, jclass clazz, jobject receiverObj, static jlong nativeInit(JNIEnv* env, jclass clazz, jobject receiverObj,
jobject messageQueueObj) { jobject messageQueueObj) {
sp<MessageQueue> messageQueue = android_os_MessageQueue_getMessageQueue(env, messageQueueObj); sp<MessageQueue> messageQueue = android_os_MessageQueue_getMessageQueue(env, messageQueueObj);
if (messageQueue == NULL) { if (messageQueue == NULL) {
@@ -226,17 +226,17 @@ static jint nativeInit(JNIEnv* env, jclass clazz, jobject receiverObj,
} }
receiver->incStrong(gDisplayEventReceiverClassInfo.clazz); // retain a reference for the object receiver->incStrong(gDisplayEventReceiverClassInfo.clazz); // retain a reference for the object
return reinterpret_cast<jint>(receiver.get()); return reinterpret_cast<jlong>(receiver.get());
} }
static void nativeDispose(JNIEnv* env, jclass clazz, jint receiverPtr) { static void nativeDispose(JNIEnv* env, jclass clazz, jlong receiverPtr) {
sp<NativeDisplayEventReceiver> receiver = sp<NativeDisplayEventReceiver> receiver =
reinterpret_cast<NativeDisplayEventReceiver*>(receiverPtr); reinterpret_cast<NativeDisplayEventReceiver*>(receiverPtr);
receiver->dispose(); receiver->dispose();
receiver->decStrong(gDisplayEventReceiverClassInfo.clazz); // drop reference held by the object receiver->decStrong(gDisplayEventReceiverClassInfo.clazz); // drop reference held by the object
} }
static void nativeScheduleVsync(JNIEnv* env, jclass clazz, jint receiverPtr) { static void nativeScheduleVsync(JNIEnv* env, jclass clazz, jlong receiverPtr) {
sp<NativeDisplayEventReceiver> receiver = sp<NativeDisplayEventReceiver> receiver =
reinterpret_cast<NativeDisplayEventReceiver*>(receiverPtr); reinterpret_cast<NativeDisplayEventReceiver*>(receiverPtr);
status_t status = receiver->scheduleVsync(); status_t status = receiver->scheduleVsync();
@@ -251,12 +251,12 @@ static void nativeScheduleVsync(JNIEnv* env, jclass clazz, jint receiverPtr) {
static JNINativeMethod gMethods[] = { static JNINativeMethod gMethods[] = {
/* name, signature, funcPtr */ /* name, signature, funcPtr */
{ "nativeInit", { "nativeInit",
"(Landroid/view/DisplayEventReceiver;Landroid/os/MessageQueue;)I", "(Landroid/view/DisplayEventReceiver;Landroid/os/MessageQueue;)J",
(void*)nativeInit }, (void*)nativeInit },
{ "nativeDispose", { "nativeDispose",
"(I)V", "(J)V",
(void*)nativeDispose }, (void*)nativeDispose },
{ "nativeScheduleVsync", "(I)V", { "nativeScheduleVsync", "(J)V",
(void*)nativeScheduleVsync } (void*)nativeScheduleVsync }
}; };