You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by mt...@apache.org on 2011/04/22 12:45:33 UTC
svn commit: r1095920 - in /commons/sandbox/runtime/trunk/src/main/native:
include/acr/jnidefs.h os/unix/posixapi.c os/unix/shmem.c shared/memory.c
shared/pointer.c
Author: mturk
Date: Fri Apr 22 10:45:32 2011
New Revision: 1095920
URL: http://svn.apache.org/viewvc?rev=1095920&view=rev
Log:
Use better cast macros
Modified:
commons/sandbox/runtime/trunk/src/main/native/include/acr/jnidefs.h
commons/sandbox/runtime/trunk/src/main/native/os/unix/posixapi.c
commons/sandbox/runtime/trunk/src/main/native/os/unix/shmem.c
commons/sandbox/runtime/trunk/src/main/native/shared/memory.c
commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c
Modified: commons/sandbox/runtime/trunk/src/main/native/include/acr/jnidefs.h
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/include/acr/jnidefs.h?rev=1095920&r1=1095919&r2=1095920&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/include/acr/jnidefs.h (original)
+++ commons/sandbox/runtime/trunk/src/main/native/include/acr/jnidefs.h Fri Apr 22 10:45:32 2011
@@ -53,22 +53,19 @@
#define UNREFERENCED_STDARGS (void)env; (void)obj
#define UNREFERENCED_OBJECT (void)obj
-#define IPTR(X) ((intptr_t)(X))
#if CC_SIZEOF_VOIDP == 8
-#define P2J(P) ((jlong)IPTR(P))
-#define J2P(P, T) ((T)IPTR(P))
-#define J2V(P) ((void *)IPTR(P))
-#define I2P(P, T) ((T)(IPTR(P) & ACR_I64_C(0x00000000FFFFFFFF)))
-#define I2V(P) ((void *)(IPTR(P) & ACR_I64_C(0x00000000FFFFFFFF)))
+#define IPTR(X) ((intptr_t)(X))
+#define P2J(P) ((jlong)(P))
+#define J2P(P, T) ((T)(intptr_t)(P))
+#define J2V(P) ((void *)(intptr_t)(P))
#else
-#define P2J(P) ((jlong)IPTR(P) & ACR_I64_C(0x00000000FFFFFFFF))
-#define J2P(P, T) ((T)(IPTR(P) & ACR_I64_C(0x00000000FFFFFFFF)))
-#define J2V(P) ((void *)(IPTR(P) & ACR_I64_C(0x00000000FFFFFFFF)))
-#define I2P(P, T) ((T)(IPTR(P))
-#define I2V(I) ((void *)IPTR(I))
+#define IPTR(X) ((intptr_t)(X))
+#define P2J(P) (((jlong)(intptr_t)(P)) & ACR_I64_C(0x00000000FFFFFFFF))
+#define J2P(P, T) ((T)(intptr_t)(P))
+#define J2V(P) ((void *)(intptr_t)(P))
#endif
-#define V2I(P) ((int)IPTR(P))
-#define V2U(P) ((unsigned int)IPTR(P))
+#define V2I(P) ((int)(intptr_t)(P))
+#define V2U(P) ((unsigned int)(intptr_t)(P))
#define V2Z(X) ((X) ? JNI_TRUE : JNI_FALSE)
#define INVALID_FIELD_OFFSET (-1)
#define INVALID_FIELD_BASE (-1)
Modified: commons/sandbox/runtime/trunk/src/main/native/os/unix/posixapi.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/unix/posixapi.c?rev=1095920&r1=1095919&r2=1095920&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/unix/posixapi.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/unix/posixapi.c Fri Apr 22 10:45:32 2011
@@ -159,7 +159,6 @@ ACR_UNX_EXPORT(jlong, Posix, mmap)(JNI_
jint prot, jint flags, jint fd, jlong offset)
{
void *base = 0;
- void *mem = J2P(addr, void *);
int mflags = 0;
int mmprot = 0;
@@ -183,7 +182,7 @@ ACR_UNX_EXPORT(jlong, Posix, mmap)(JNI_
if (flags & 0x08)
mflags |= MAP_EXECUTABLE;
- base = mmap(mem, (size_t)size, mmprot, mflags, fd, offset);
+ base = mmap(J2V(addr), (size_t)size, mmprot, mflags, fd, offset);
if (base == MAP_FAILED) {
ACR_SAVE_OS_ERROR();
return 0;
@@ -193,12 +192,11 @@ ACR_UNX_EXPORT(jlong, Posix, mmap)(JNI_
ACR_UNX_EXPORT(jint, Posix, munmap)(JNI_STDARGS, jlong addr, jlong size)
{
- void *mem = J2P(addr, void *);
if (size > SIZE_T_MAX)
return ACR_EOVERFLOW;
- if (munmap(mem, (size_t)size) == 0)
+ if (munmap(J2V(addr), (size_t)size) == 0)
return 0;
else
return ACR_GET_OS_ERROR();
@@ -206,7 +204,6 @@ ACR_UNX_EXPORT(jint, Posix, munmap)(JNI
ACR_UNX_EXPORT(jint, Posix, msync)(JNI_STDARGS, jlong addr, jlong length, jint flags)
{
- void *mem = J2P(addr, void *);
int mflags = 0;
if (length > SIZE_T_MAX)
@@ -219,7 +216,7 @@ ACR_UNX_EXPORT(jint, Posix, msync)(JNI_
if (flags & 0x04)
mflags |= MS_INVALIDATE;
- if (msync(mem, (size_t)length, mflags) == 0)
+ if (msync(J2V(addr), (size_t)length, mflags) == 0)
return 0;
else
return ACR_GET_OS_ERROR();
Modified: commons/sandbox/runtime/trunk/src/main/native/os/unix/shmem.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/unix/shmem.c?rev=1095920&r1=1095919&r2=1095920&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/unix/shmem.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/unix/shmem.c Fri Apr 22 10:45:32 2011
@@ -166,7 +166,7 @@ cleanup:
ACR_UNX_EXPORT(jlong, PosixShm, shmat0)(JNI_STDARGS, jlong addr, jint fd,
jboolean ro)
{
- void *sa = J2P(addr, void *);
+ void *sa = J2V(addr);
void *sm;
int flags = ro ? SHM_RDONLY : 0;
@@ -179,7 +179,7 @@ ACR_UNX_EXPORT(jlong, PosixShm, shmat0)(
ACR_UNX_EXPORT(jint, PosixShm, shmdt0)(JNI_STDARGS, jlong addr)
{
- void *sa = J2P(addr, void *);
+ void *sa = J2V(addr);
if (shmdt(sa) == 0)
return 0;
Modified: commons/sandbox/runtime/trunk/src/main/native/shared/memory.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/memory.c?rev=1095920&r1=1095919&r2=1095920&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/shared/memory.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/shared/memory.c Fri Apr 22 10:45:32 2011
@@ -297,7 +297,7 @@ ACR_JNI_EXPORT(jobject, Memory, calloc)(
ACR_JNI_EXPORT(jlong, Memory, realloc0)(JNI_STDARGS, jlong ptr, jlong siz)
{
- void *mem = J2P(ptr, void *);
+ void *mem = J2V(ptr);
jlong sza = ACR_ALIGN_DEFAULT(siz);
if (sza < 1 || sza > SIZE_T_MAX) {
@@ -313,7 +313,7 @@ ACR_JNI_EXPORT(jlong, Memory, realloc0)(
ACR_JNI_EXPORT(void, Memory, free)(JNI_STDARGS, jlong ptr)
{
- AcrFree(J2P(ptr, void *));
+ AcrFree(J2V(ptr));
}
ACR_JNI_EXPORT(jint, Memory, peek0)(JNI_STDARGS, jlong a)
Modified: commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c?rev=1095920&r1=1095919&r2=1095920&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c Fri Apr 22 10:45:32 2011
@@ -91,7 +91,7 @@ AcrNewHeapPointer(JNI_STDENV, void *ptr,
ACR_JNI_EXPORT(void, HeapPointer, free0)(JNI_STDARGS, jlong ptr)
{
- AcrFree(J2P(ptr, void *));
+ AcrFree(J2V(ptr));
}
void *
@@ -105,7 +105,7 @@ AcrGetPointer(JNI_STDARGS)
char *oa = *(char **)obj;
if (oa != 0) {
char *pa = oa + UNSAFE_FLD_OFF(0000);
- return J2P(*((jlong *)pa), void *);
+ return J2V(*((jlong *)pa));
}
}
/* Fallback to a traditional method.
@@ -165,7 +165,7 @@ ACR_UNX_EXPORT(jobject, Posix, pointer)
#endif
(JNI_STDARGS, jlong addr, jlong length, jint type)
{
- void *memptr = J2P(addr, void *);
+ void *memptr = J2V(addr);
size_t size = (size_t)length;
switch (type) {