diff options
author | Ashok Bhat <ashok.bhat@arm.com> | 2014-01-10 14:15:21 +0000 |
---|---|---|
committer | David Butcher <david.butcher@arm.com> | 2014-01-10 15:36:16 +0000 |
commit | 63a37153238d95cf8897939e6d6e8fbc56e9ec7f (patch) | |
tree | 0f21794499fedaa5a968aae8dc458e64ede7863d /core/jni | |
parent | 35b7de4c4562db8af697ad3384c09d2258d183ba (diff) | |
download | frameworks_base-63a37153238d95cf8897939e6d6e8fbc56e9ec7f.zip frameworks_base-63a37153238d95cf8897939e6d6e8fbc56e9ec7f.tar.gz frameworks_base-63a37153238d95cf8897939e6d6e8fbc56e9ec7f.tar.bz2 |
AArch64: Use long for pointers in android/os/MessageQueue
Long is used in android/os/MessageQueue class to store
pointers as native pointers can be 64-bit.
In addition, some minor changes have been done
to conform with standard JNI practice (e.g. use
of jint instead of int in JNI function prototypes)
Change-Id: I7e901b8515a5b5e3afe1dadaaf3e5c186955c2a0
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
Diffstat (limited to 'core/jni')
-rw-r--r-- | core/jni/android_os_MessageQueue.cpp | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/core/jni/android_os_MessageQueue.cpp b/core/jni/android_os_MessageQueue.cpp index c9c3720..a8ed895 100644 --- a/core/jni/android_os_MessageQueue.cpp +++ b/core/jni/android_os_MessageQueue.cpp @@ -110,11 +110,11 @@ void NativeMessageQueue::wake() { // ---------------------------------------------------------------------------- sp<MessageQueue> android_os_MessageQueue_getMessageQueue(JNIEnv* env, jobject messageQueueObj) { - jint intPtr = env->GetIntField(messageQueueObj, gMessageQueueClassInfo.mPtr); - return reinterpret_cast<NativeMessageQueue*>(intPtr); + jlong ptr = env->GetLongField(messageQueueObj, gMessageQueueClassInfo.mPtr); + return reinterpret_cast<NativeMessageQueue*>(ptr); } -static jint android_os_MessageQueue_nativeInit(JNIEnv* env, jclass clazz) { +static jlong android_os_MessageQueue_nativeInit(JNIEnv* env, jclass clazz) { NativeMessageQueue* nativeMessageQueue = new NativeMessageQueue(); if (!nativeMessageQueue) { jniThrowRuntimeException(env, "Unable to allocate native queue"); @@ -122,26 +122,26 @@ static jint android_os_MessageQueue_nativeInit(JNIEnv* env, jclass clazz) { } nativeMessageQueue->incStrong(env); - return reinterpret_cast<jint>(nativeMessageQueue); + return reinterpret_cast<jlong>(nativeMessageQueue); } -static void android_os_MessageQueue_nativeDestroy(JNIEnv* env, jclass clazz, jint ptr) { +static void android_os_MessageQueue_nativeDestroy(JNIEnv* env, jclass clazz, jlong ptr) { NativeMessageQueue* nativeMessageQueue = reinterpret_cast<NativeMessageQueue*>(ptr); nativeMessageQueue->decStrong(env); } static void android_os_MessageQueue_nativePollOnce(JNIEnv* env, jclass clazz, - jint ptr, jint timeoutMillis) { + jlong ptr, jint timeoutMillis) { NativeMessageQueue* nativeMessageQueue = reinterpret_cast<NativeMessageQueue*>(ptr); nativeMessageQueue->pollOnce(env, timeoutMillis); } -static void android_os_MessageQueue_nativeWake(JNIEnv* env, jclass clazz, jint ptr) { +static void android_os_MessageQueue_nativeWake(JNIEnv* env, jclass clazz, jlong ptr) { NativeMessageQueue* nativeMessageQueue = reinterpret_cast<NativeMessageQueue*>(ptr); return nativeMessageQueue->wake(); } -static jboolean android_os_MessageQueue_nativeIsIdling(JNIEnv* env, jclass clazz, jint ptr) { +static jboolean android_os_MessageQueue_nativeIsIdling(JNIEnv* env, jclass clazz, jlong ptr) { NativeMessageQueue* nativeMessageQueue = reinterpret_cast<NativeMessageQueue*>(ptr); return nativeMessageQueue->getLooper()->isIdling(); } @@ -150,11 +150,11 @@ static jboolean android_os_MessageQueue_nativeIsIdling(JNIEnv* env, jclass clazz static JNINativeMethod gMessageQueueMethods[] = { /* name, signature, funcPtr */ - { "nativeInit", "()I", (void*)android_os_MessageQueue_nativeInit }, - { "nativeDestroy", "(I)V", (void*)android_os_MessageQueue_nativeDestroy }, - { "nativePollOnce", "(II)V", (void*)android_os_MessageQueue_nativePollOnce }, - { "nativeWake", "(I)V", (void*)android_os_MessageQueue_nativeWake }, - { "nativeIsIdling", "(I)Z", (void*)android_os_MessageQueue_nativeIsIdling } + { "nativeInit", "()J", (void*)android_os_MessageQueue_nativeInit }, + { "nativeDestroy", "(J)V", (void*)android_os_MessageQueue_nativeDestroy }, + { "nativePollOnce", "(JI)V", (void*)android_os_MessageQueue_nativePollOnce }, + { "nativeWake", "(J)V", (void*)android_os_MessageQueue_nativeWake }, + { "nativeIsIdling", "(J)Z", (void*)android_os_MessageQueue_nativeIsIdling } }; #define FIND_CLASS(var, className) \ @@ -174,7 +174,7 @@ int register_android_os_MessageQueue(JNIEnv* env) { FIND_CLASS(clazz, "android/os/MessageQueue"); GET_FIELD_ID(gMessageQueueClassInfo.mPtr, clazz, - "mPtr", "I"); + "mPtr", "J"); return 0; } |