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 2009/12/07 07:34:42 UTC
svn commit: r887847 - in /commons/sandbox/runtime/trunk/src/main/native:
include/acr_private.h shared/clazz.c shared/constp.c shared/db.c
shared/descriptor.c shared/memory.c shared/pointer.c
Author: mturk
Date: Mon Dec 7 06:34:41 2009
New Revision: 887847
URL: http://svn.apache.org/viewvc?rev=887847&view=rev
Log:
Get rid of 32/64 bit class wrappers. Use long for all platforms as generic pointer storage
Modified:
commons/sandbox/runtime/trunk/src/main/native/include/acr_private.h
commons/sandbox/runtime/trunk/src/main/native/shared/clazz.c
commons/sandbox/runtime/trunk/src/main/native/shared/constp.c
commons/sandbox/runtime/trunk/src/main/native/shared/db.c
commons/sandbox/runtime/trunk/src/main/native/shared/descriptor.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_private.h
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/include/acr_private.h?rev=887847&r1=887846&r2=887847&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/include/acr_private.h (original)
+++ commons/sandbox/runtime/trunk/src/main/native/include/acr_private.h Mon Dec 7 06:34:41 2009
@@ -268,21 +268,17 @@
#define UNREFERENCED_STDARGS _E = _E; _O = _O
#define UNREFERENCED_O _O = _O
#define ACR_JNISTDARGS JNIEnv *_E, jobject _O
-#define P2J(P) ((jlong)LLT(P))
-#define J2P(P, T) ((T)LLT((jlong)P))
#define V2Z(V) ((V) ? JNI_TRUE : JNI_FALSE)
#define J2W(V) _w##V
#define J2S(V) _c##V
#if CC_SIZEOF_VOIDP == 8
-typedef jlong jniptr;
-#define P2N(P) ((jlong)LLT(P))
-#define N2P(P, T) ((T)LLT((jlong)P))
+#define P2J(P) ((jlong)LLT(P))
+#define J2P(P, T) ((T)LLT(P))
#define I2P(P, T) ((T)LLT((jlong)P & 0x00000000FFFFFFFFL))
#else
-typedef jint jniptr;
-#define P2N(P) ((jint)LLT(P))
-#define N2P(P, T) ((T)LLT((jint)P))
+#define P2J(P) ((jlong)LLT(P) & 0x00000000FFFFFFFFL)
+#define J2P(P, T) ((T)LLT((jlong)P & 0x00000000FFFFFFFFL))
#define I2P(P, T) ((T)LLT((jint)P))
#endif
@@ -431,9 +427,6 @@
else (*_E)->SetStaticBooleanField(_E, _clazzn.i, _f##I##n.i, JNI_FALSE); \
} else (void)(0)
-#if CC_SIZEOF_VOIDP == 8
-
-#define IFIELD_PTR "J"
#define GET_IFIELD_P(I, O) \
(_f##I##n.i && (O)) ? (*_E)->GetLongField(_E, (O), _f##I##n.i) : 0
#define GET_IFIELD_V(I, O, T) \
@@ -445,21 +438,6 @@
(*_E)->SetLongField(_E, (O), _f##I##n.i, (jlong)((acr_ssize_t)(V))); \
} else (void)(0)
-#else /* CC_SIZEOF_VOIDP == 4 */
-
-#define IFIELD_PTR "I"
-#define GET_IFIELD_P(I, O) \
- (_f##I##n.i && (O)) ? (*_E)->GetIntField(_E, (O), _f##I##n.i) : 0
-#define GET_IFIELD_V(I, O, T) \
- (_f##I##n.i && (O)) ? (T)((acr_ssize_t)(*_E)->GetIntField(_E, (O), \
- _f##I##n.i)) : NULL
-
-#define SET_IFIELD_P(I, O, V) \
- if (_f##I##n.i && (O)) { \
- (*_E)->SetIntField(_E, (O), _f##I##n.i, (jint)((acr_ssize_t)(V))); \
- } else (void)(0)
-
-#endif /* CC_SIZEOF_VOIDP == 8 */
#define CALL_VMETHOD0(I, O) \
if (_m##I##n.i) { \
Modified: commons/sandbox/runtime/trunk/src/main/native/shared/clazz.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/clazz.c?rev=887847&r1=887846&r2=887847&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/shared/clazz.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/shared/clazz.c Mon Dec 7 06:34:41 2009
@@ -375,7 +375,7 @@
/* Forward class loading declarations */
ACR_CLASS_LDEC(Descriptor);
-ACR_CLASS_LDEC(AbstractPointer);
+ACR_CLASS_LDEC(GenericPointer);
ACR_CLASS_LDEC(ConstPointer);
ACR_CLASS_LDEC(Callback);
ACR_CLASS_LDEC(DirectBuffer);
@@ -394,7 +394,7 @@
{
ACR_CLASS_LRUN(Descriptor);
- ACR_CLASS_LRUN(AbstractPointer);
+ ACR_CLASS_LRUN(GenericPointer);
ACR_CLASS_LRUN(ConstPointer);
ACR_CLASS_LRUN(Callback);
ACR_CLASS_LRUN(DirectBuffer);
@@ -419,7 +419,7 @@
{
ACR_CLASS_URUN(Descriptor);
- ACR_CLASS_URUN(AbstractPointer);
+ ACR_CLASS_URUN(GenericPointer);
ACR_CLASS_URUN(ConstPointer);
ACR_CLASS_URUN(Callback);
ACR_CLASS_URUN(DirectBuffer);
Modified: commons/sandbox/runtime/trunk/src/main/native/shared/constp.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/constp.c?rev=887847&r1=887846&r2=887847&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/shared/constp.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/shared/constp.c Mon Dec 7 06:34:41 2009
@@ -30,17 +30,11 @@
/**
* ConstPointer utilities
*/
-/**
- * Pointer class utilities
- */
-#if CC_SIZEOF_VOIDP == 8
-#define ACR_CPT_EXPORT_DECLARE(RT, FN) \
- JNIEXPORT RT JNICALL Java_org_apache_commons_runtime_ConstPointer64_##FN
J_DECLARE_CLAZZ = {
NULL,
NULL,
- ACR_CLASS_PATH "ConstPointer64"
+ ACR_CLASS_PATH "ConstPointer"
};
J_DECLARE_M_ID(0000) = {
@@ -49,24 +43,6 @@
"(JJJ)V"
};
-#else
-#define ACR_DBB_EXPORT_DECLARE(RT, FN) \
- JNIEXPORT RT JNICALL Java_org_apache_commons_runtime_ConstPointer32_##FN
-
-J_DECLARE_CLAZZ = {
- NULL,
- NULL,
- ACR_CLASS_PATH "ConstPointer32"
-};
-
-J_DECLARE_M_ID(0000) = {
- NULL,
- "<init>",
- "(III)V"
-};
-
-#endif
-
ACR_CLASS_LDEF(ConstPointer)
{
int rv;
@@ -96,7 +72,7 @@
{
if (_clazzn.i && J4MID(0000)) {
return (*_E)->NewObject(_E, _clazzn.i, J4MID(0000),
- P2N(p), P2N(cb), (acr_ptr_t)len);
+ P2J(p), P2J(cb), (jlong)len);
}
else {
ACR_SET_OS_ERROR(ACR_ECLASSNOTFOUND);
Modified: commons/sandbox/runtime/trunk/src/main/native/shared/db.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/db.c?rev=887847&r1=887846&r2=887847&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/shared/db.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/shared/db.c Mon Dec 7 06:34:41 2009
@@ -34,14 +34,10 @@
/**
* Pointer class utilities
*/
-#if CC_SIZEOF_VOIDP == 8
-#define ACR_DBB_EXPORT_DECLARE(RT, FN) \
- JNIEXPORT RT JNICALL Java_org_apache_commons_runtime_DirectBuffer64_##FN
-
J_DECLARE_CLAZZ = {
NULL,
NULL,
- ACR_CLASS_PATH "DirectBuffer64"
+ ACR_CLASS_PATH "DirectBuffer"
};
J_DECLARE_M_ID(0000) = {
@@ -50,24 +46,6 @@
"(JJJ)V"
};
-#else
-#define ACR_DBB_EXPORT_DECLARE(RT, FN) \
- JNIEXPORT RT JNICALL Java_org_apache_commons_runtime_DirectBuffer32_##FN
-
-J_DECLARE_CLAZZ = {
- NULL,
- NULL,
- ACR_CLASS_PATH "DirectBuffer32"
-};
-
-J_DECLARE_M_ID(0000) = {
- NULL,
- "<init>",
- "(III)V"
-};
-
-#endif
-
ACR_CLASS_LDEF(DirectBuffer)
{
int rv;
@@ -122,8 +100,8 @@
/* Create the DirectBuffer class with default cleanup.
*/
ptr = (*_E)->NewObject(_E, _clazzn.i, J4MID(0000),
- P2N(mem), P2N(direct_buffer_cleanup),
- (acr_ptr_t)len);
+ P2J(mem), P2J(direct_buffer_cleanup),
+ (jlong)len);
if (!ptr)
x_free(mem);
}
@@ -140,7 +118,7 @@
{
if (_clazzn.i && J4MID(0000)) {
return (*_E)->NewObject(_E, _clazzn.i, J4MID(0000),
- P2N(p), P2N(cb), (acr_ptr_t)len);
+ P2J(p), P2J(cb), (jlong)len);
}
else {
ACR_SET_OS_ERROR(ACR_ECLASSNOTFOUND);
Modified: commons/sandbox/runtime/trunk/src/main/native/shared/descriptor.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/shared/descriptor.c?rev=887847&r1=887846&r2=887847&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/shared/descriptor.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/shared/descriptor.c Mon Dec 7 06:34:41 2009
@@ -30,12 +30,11 @@
/**
* Descriptor class utilities
*/
-#if CC_SIZEOF_VOIDP == 8
J_DECLARE_CLAZZ = {
NULL,
NULL,
- ACR_CLASS_PATH "Descriptor64"
+ ACR_CLASS_PATH "Descriptor"
};
J_DECLARE_M_ID(0000) = {
@@ -44,22 +43,6 @@
"(IIJJ)V"
};
-#else
-
-J_DECLARE_CLAZZ = {
- NULL,
- NULL,
- ACR_CLASS_PATH "Descriptor32"
-};
-
-
-J_DECLARE_M_ID(0000) = {
- NULL,
- "<init>",
- "(IIII)V"
-};
-
-#endif
J_DECLARE_F_ID(0000) = {
NULL,
@@ -76,13 +59,13 @@
J_DECLARE_F_ID(0002) = {
NULL,
"PHANDLE",
- IFIELD_PTR
+ "J"
};
J_DECLARE_F_ID(0003) = {
NULL,
"HANDLER",
- IFIELD_PTR
+ "J"
};
J_DECLARE_F_ID(0004) = {
@@ -269,7 +252,7 @@
{
if (_clazzn.i && J4MID(0000))
return (*_E)->NewObject(_E, _clazzn.i, J4MID(0000),
- (jint)f, (jint)i, P2N(p), P2N(cb));
+ (jint)f, (jint)i, P2J(p), P2J(cb));
else {
ACR_SET_OS_ERROR(ACR_ECLASSNOTFOUND);
return NULL;
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=887847&r1=887846&r2=887847&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/shared/memory.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/shared/memory.c Mon Dec 7 06:34:41 2009
@@ -399,78 +399,75 @@
ACR_PointerSet(_E, src, np, ss);
}
-ACR_JNI_EXPORT_DECLARE(jobject, Memory, slice0)(ACR_JNISTDARGS,
- jobject src, jlong off,
- jlong siz)
+ACR_JNI_EXPORT_DECLARE(jint, Memory, peek0)(ACR_JNISTDARGS, jlong a)
{
- size_t so = (size_t)off;
- size_t ss = (size_t)siz;
- size_t sl;
- char *sp = (char *)ACR_PointerGet(_E, src, &sl);
-
+ jint rv = 0;
UNREFERENCED_O;
- if (!sp) {
- ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
- return NULL;
+ __TRY
+ {
+ rv = *(J2P(a, char *));
}
- if ((so + ss) > sl) {
- ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
- return NULL;
+ __EXCEPT
+ {
+ ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ERUNTIME, ACR_EFAULT);
}
+ __ENDTRY
+ return rv;
+}
+
+ACR_JNI_EXPORT_DECLARE(void, Memory, poke0)(ACR_JNISTDARGS, jlong a, jint v)
+{
+ UNREFERENCED_O;
+ __TRY
+ {
+ *(J2P(a, char *)) = (char)(v & 0xFF);
+ }
+ __EXCEPT
+ {
+ ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ERUNTIME, ACR_EFAULT);
+ }
+ __ENDTRY
+}
+
+ACR_JNI_EXPORT_DECLARE(jobject, Memory, slice0)(ACR_JNISTDARGS,
+ jlong src, jlong siz)
+{
+ size_t ss = (size_t)siz;
+ char *sp = J2P(src, char *);
+
+ UNREFERENCED_O;
/* Create the Pointer class without the cleanup.
* Original object will clean the entire allocated memory.
*/
- return ACR_NewBasicPointer(_E, sp + so, ss, NULL);
+ return ACR_NewBasicPointer(_E, sp, ss, NULL);
}
ACR_JNI_EXPORT_DECLARE(jobject, Memory, slice1)(ACR_JNISTDARGS,
- jobject src, jlong off,
- jlong siz)
+ jlong src, jlong siz)
{
- size_t so = (size_t)off;
- size_t ss = (size_t)siz;
- size_t sl;
- char *sp = (char *)ACR_PointerGet(_E, src, &sl);
+ size_t ss = (size_t)siz;
+ char *sp = J2P(src, char *);
UNREFERENCED_O;
- if (!sp) {
- ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
- return NULL;
- }
- if ((so + ss) > sl) {
- ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
- return NULL;
- }
-
/* Create the ConstPointer class.
*/
- return ACR_NewConstPointer(_E, sp + so, ss, NULL);
+ return ACR_NewConstPointer(_E, sp, ss, NULL);
}
+
ACR_JNI_EXPORT_DECLARE(jobject, Memory, dup0)(ACR_JNISTDARGS,
- jobject src, jlong off,
- jlong siz)
+ jlong src, jlong siz)
{
jobject po = NULL;
- size_t so = (size_t)off;
- size_t ss = (size_t)siz;
- size_t sl;
+ size_t ss = (size_t)siz;
void *dp;
- char *sp = (char *)ACR_PointerGet(_E, src, &sl);
+ char *sp = J2P(src, char *);
UNREFERENCED_O;
- if (!sp) {
- ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
- return NULL;
- }
- if ((so + ss) > sl) {
- ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
- return NULL;
- }
dp = ACR_Malloc(_E, THROW_NMARK, ACR_ALIGN_DEFAULT(ss));
if (dp == NULL) {
/* Allocation failed.
@@ -480,7 +477,7 @@
/* Copy the original content */
__TRY
{
- memcpy(dp, sp + so, ss);
+ memcpy(dp, sp, ss);
po = ACR_NewBasicPointer(_E, dp, ss, memory_pointer_cleanup);
}
__EXCEPT
@@ -497,35 +494,17 @@
return po;
}
-ACR_JNI_EXPORT_DECLARE(void, Memory, copy0)(ACR_JNISTDARGS, jobject src,
- jlong soff, jobject dst,
- jlong doff, jlong size)
+ACR_JNI_EXPORT_DECLARE(void, Memory, copy0)(ACR_JNISTDARGS, jlong src,
+ jlong dst, jlong size)
{
- size_t dl;
- size_t sl;
- size_t dn = (size_t)doff;
- size_t sn = (size_t)soff;
size_t cs = (size_t)size;
- char *d = (char *)ACR_PointerGet(_E, dst, &dl);
- char *s = (char *)ACR_PointerGet(_E, src, &sl);
-
- if (!d || !s) {
- ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
- return;
- }
- if ((dn + cs) > dl) {
- ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
- return;
- }
- if ((sn + cs) > sl) {
- ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
- return;
- }
+ char *d = J2P(dst, char *);
+ char *s = J2P(src, char *);
/* Do a memcpy */
__TRY
{
- memcpy(d + dn, s + sn, cs);
+ memcpy(d, s, cs);
}
__EXCEPT
{
@@ -534,35 +513,17 @@
__ENDTRY
}
-ACR_JNI_EXPORT_DECLARE(void, Memory, move0)(ACR_JNISTDARGS, jobject src,
- jlong soff, jobject dst,
- jlong doff, jlong size)
+ACR_JNI_EXPORT_DECLARE(void, Memory, move0)(ACR_JNISTDARGS, jlong src,
+ jlong dst, jlong size)
{
- size_t dl;
- size_t sl;
- size_t dn = (size_t)doff;
- size_t sn = (size_t)soff;
size_t cs = (size_t)size;
- char *d = (char *)ACR_PointerGet(_E, dst, &dl);
- char *s = (char *)ACR_PointerGet(_E, src, &sl);
-
- if (!d || !s) {
- ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
- return;
- }
- if ((dn + cs) > dl) {
- ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
- return;
- }
- if ((sn + cs) > sl) {
- ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
- return;
- }
+ char *d = J2P(dst, char *);
+ char *s = J2P(src, char *);
/* Do a memmove */
__TRY
{
- memmove(d + dn, s + sn, cs);
+ memmove(d, s, cs);
}
__EXCEPT
{
@@ -571,30 +532,16 @@
__ENDTRY
}
-ACR_JNI_EXPORT_DECLARE(void, Memory, clear0)(ACR_JNISTDARGS, jobject dst,
- jlong doff, jlong size)
+ACR_JNI_EXPORT_DECLARE(void, Memory, clear0)(ACR_JNISTDARGS, jlong dst,
+ jlong size)
{
- size_t dl;
- size_t dn = (size_t)doff;
size_t cs = (size_t)size;
- char *d = (char *)ACR_PointerGet(_E, dst, &dl);
+ char *d = J2P(dst, char *);
- if (!d) {
- ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
- return;
- }
- if (doff < 0L || size < 1L) {
- ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINVAL, 0);
- return;
- }
- if ((dn + size) > dl) {
- ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
- return;
- }
/* Do a memset */
__TRY
{
- memset(d + dn, 0, cs);
+ memset(d, 0, cs);
}
__EXCEPT
{
@@ -603,30 +550,16 @@
__ENDTRY
}
-ACR_JNI_EXPORT_DECLARE(void, Memory, set0)(ACR_JNISTDARGS, jobject dst,
- jlong doff, jlong size, jint c)
+ACR_JNI_EXPORT_DECLARE(void, Memory, set0)(ACR_JNISTDARGS, jlong dst,
+ jlong size, jint c)
{
- size_t dl;
- size_t dn = (size_t)doff;
size_t cs = (size_t)size;
- char *d = (char *)ACR_PointerGet(_E, dst, &dl);
+ char *d = J2P(dst, char *);
- if (!d) {
- ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ENULL, 0);
- return;
- }
- if (doff < 0L || size < 1L) {
- ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINVAL, 0);
- return;
- }
- if ((dn + size) > dl) {
- ACR_ThrowException(_E, THROW_NMARK, ACR_EX_EINDEX, 0);
- return;
- }
/* Do a memset */
__TRY
{
- memset(d + dn, c, cs);
+ memset(d, c, cs);
}
__EXCEPT
{
@@ -1111,4 +1044,3 @@
}
(*_E)->GetDoubleArrayRegion(_E, src, (jsize)off, (jsize)len, p + po);
}
-
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=887847&r1=887846&r2=887847&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/shared/pointer.c Mon Dec 7 06:34:41 2009
@@ -28,14 +28,10 @@
/**
* Pointer class utilities
*/
-#if CC_SIZEOF_VOIDP == 8
-#define ACR_PTR_EXPORT_DECLARE(RT, FN) \
- JNIEXPORT RT JNICALL Java_org_apache_commons_runtime_Pointer64_##FN
-
J_DECLARE_CLAZZ = {
NULL,
NULL,
- ACR_CLASS_PATH "Pointer64"
+ ACR_CLASS_PATH "GenericPointer"
};
J_DECLARE_M_ID(0000) = {
@@ -44,44 +40,26 @@
"(JJJ)V"
};
-#else
-#define ACR_PTR_EXPORT_DECLARE(RT, FN) \
- JNIEXPORT RT JNICALL Java_org_apache_commons_runtime_Pointer32_##FN
-
-J_DECLARE_CLAZZ = {
- NULL,
- NULL,
- ACR_CLASS_PATH "Pointer32"
-};
-
-J_DECLARE_M_ID(0000) = {
- NULL,
- "<init>",
- "(III)V"
-};
-
-#endif
-
J_DECLARE_F_ID(0000) = {
NULL,
"POINTER",
- IFIELD_PTR
+ "J"
};
J_DECLARE_F_ID(0001) = {
NULL,
"CLEANUP",
- IFIELD_PTR
+ "J"
};
J_DECLARE_F_ID(0002) = {
NULL,
"PLENGTH",
- IFIELD_PTR
+ "J"
};
-ACR_CLASS_LDEF(AbstractPointer)
+ACR_CLASS_LDEF(GenericPointer)
{
int rv;
@@ -95,7 +73,7 @@
return ACR_SUCCESS;
}
-ACR_CLASS_UDEF(AbstractPointer)
+ACR_CLASS_UDEF(GenericPointer)
{
ACR_UnloadClass(_E, &_clazzn);
}
@@ -110,7 +88,7 @@
static int initp0(JNIEnv *_E)
{
- ACR_CLASS_LRUN(AbstractPointer);
+ ACR_CLASS_LRUN(GenericPointer);
return 0;
}
@@ -122,7 +100,7 @@
}
#endif
-ACR_JNI_EXPORT_DECLARE(jobject, AbstractPointer, nullp0)(ACR_JNISTDARGS)
+ACR_JNI_EXPORT_DECLARE(jobject, Pointer, nullp0)(ACR_JNISTDARGS)
{
UNREFERENCED_O;
if (!_clazzn.i) {
@@ -131,7 +109,7 @@
return ACR_NewBasicPointer(_E, 0, 0, NULL);
}
-ACR_JNI_EXPORT_DECLARE(void, AbstractPointer, cleanup0)(ACR_JNISTDARGS)
+ACR_JNI_EXPORT_DECLARE(void, Pointer, cleanup0)(ACR_JNISTDARGS)
{
if (_clazzn.i && J4MID(0000)) {
acr_pointer_cleanup_fn_t *cleanup;
@@ -156,7 +134,7 @@
}
-ACR_JNI_EXPORT_DECLARE(void, AbstractPointer, cleanup1)(ACR_JNISTDARGS)
+ACR_JNI_EXPORT_DECLARE(void, Pointer, cleanup1)(ACR_JNISTDARGS)
{
if (_clazzn.i && J4MID(0000)) {
acr_pointer_cleanup_fn_t *cleanup;
@@ -174,74 +152,14 @@
}
}
-ACR_PTR_EXPORT_DECLARE(jint, peek0)(ACR_JNISTDARGS, jniptr a)
-{
- jint rv = 0;
- UNREFERENCED_O;
-
- __TRY
- {
- rv = *(N2P(a, char *));
- }
- __EXCEPT
- {
- ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ERUNTIME, ACR_EFAULT);
- }
- __ENDTRY
- return rv;
-}
-
-ACR_PTR_EXPORT_DECLARE(void, poke0)(ACR_JNISTDARGS, jniptr a, jint v)
-{
- UNREFERENCED_O;
- __TRY
- {
- *(N2P(a, char *)) = (char)(v & 0xFF);
- }
- __EXCEPT
- {
- ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ERUNTIME, ACR_EFAULT);
- }
- __ENDTRY
-}
-
-ACR_PTR_EXPORT_DECLARE(void, copy0)(ACR_JNISTDARGS, jniptr s,
- jniptr d, jniptr l)
-{
- UNREFERENCED_O;
- __TRY
- {
- memcpy(N2P(d, void *), N2P(s, const void *), (size_t)l);
- }
- __EXCEPT {
- ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ERUNTIME, ACR_EFAULT);
- }
- __ENDTRY
-}
-
-ACR_PTR_EXPORT_DECLARE(void, move0)(ACR_JNISTDARGS, jniptr s,
- jniptr d, jniptr l)
-{
- UNREFERENCED_O;
- __TRY
- {
- memmove(N2P(d, void *), N2P(s, const void *), (size_t)l);
- }
- __EXCEPT
- {
- ACR_ThrowException(_E, THROW_NMARK, ACR_EX_ERUNTIME, ACR_EFAULT);
- }
- __ENDTRY
-}
-
-ACR_PTR_EXPORT_DECLARE(int, memcmp0)(ACR_JNISTDARGS, jniptr a,
- jniptr b, jniptr n)
+ACR_JNI_EXPORT_DECLARE(int, Pointer, memcmp0)(ACR_JNISTDARGS, jlong a,
+ jlong b, jlong n)
{
int rv;
UNREFERENCED_O;
__TRY
{
- rv = memcmp(N2P(a, void *), N2P(b, const void *), (size_t)n);
+ rv = memcmp(J2P(a, const void *), J2P(b, const void *), (size_t)n);
if (rv)
rv = rv > 0 ? 1 : -1;
}
@@ -259,7 +177,7 @@
{
if (_clazzn.i && J4MID(0000))
return (*_E)->NewObject(_E, _clazzn.i, J4MID(0000),
- P2N(p), P2N(cb), (acr_ptr_t)len);
+ P2J(p), P2J(cb), (jlong)len);
else {
ACR_SET_OS_ERROR(ACR_ECLASSNOTFOUND);
return NULL;