summaryrefslogtreecommitdiffstats
path: root/core/jni
diff options
context:
space:
mode:
authorAshok Bhat <ashok.bhat@arm.com>2014-01-10 14:15:21 +0000
committerDavid Butcher <david.butcher@arm.com>2014-01-10 15:36:16 +0000
commit63a37153238d95cf8897939e6d6e8fbc56e9ec7f (patch)
tree0f21794499fedaa5a968aae8dc458e64ede7863d /core/jni
parent35b7de4c4562db8af697ad3384c09d2258d183ba (diff)
downloadframeworks_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.cpp28
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;
}