[vmkit-commits] [vmkit] r59303 - in /vmkit/trunk/lib/JnJVM: Classpath/ClasspathConstructor.cpp Classpath/ClasspathField.cpp Classpath/ClasspathMethod.cpp VMCore/JavaMetaJIT.cpp VMCore/NativeUtil.cpp VMCore/NativeUtil.h
Nicolas Geoffray
nicolas.geoffray at lip6.fr
Fri Nov 14 07:19:01 PST 2008
Author: geoffray
Date: Fri Nov 14 09:18:56 2008
New Revision: 59303
URL: http://llvm.org/viewvc/llvm-project?rev=59303&view=rev
Log:
Doh, of course (void*)+=2 increments of 16 on a 64-bit. Change
void* arithmetic to uintptr_t arithmetic.
Modified:
vmkit/trunk/lib/JnJVM/Classpath/ClasspathConstructor.cpp
vmkit/trunk/lib/JnJVM/Classpath/ClasspathField.cpp
vmkit/trunk/lib/JnJVM/Classpath/ClasspathMethod.cpp
vmkit/trunk/lib/JnJVM/VMCore/JavaMetaJIT.cpp
vmkit/trunk/lib/JnJVM/VMCore/NativeUtil.cpp
vmkit/trunk/lib/JnJVM/VMCore/NativeUtil.h
Modified: vmkit/trunk/lib/JnJVM/Classpath/ClasspathConstructor.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/Classpath/ClasspathConstructor.cpp?rev=59303&r1=59302&r2=59303&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/Classpath/ClasspathConstructor.cpp (original)
+++ vmkit/trunk/lib/JnJVM/Classpath/ClasspathConstructor.cpp Fri Nov 14 09:18:56 2008
@@ -83,7 +83,7 @@
sint32 size = meth->getSignature()->args.size();
// Allocate a buffer to store the arguments.
- void** buf = (void**)alloca(size * sizeof(uint64));
+ uintptr_t buf = (uintptr_t)alloca(size * sizeof(uint64));
// Record the beginning of the buffer.
void* startBuf = (void*)buf;
Modified: vmkit/trunk/lib/JnJVM/Classpath/ClasspathField.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/Classpath/ClasspathField.cpp?rev=59303&r1=59302&r2=59303&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/Classpath/ClasspathField.cpp (original)
+++ vmkit/trunk/lib/JnJVM/Classpath/ClasspathField.cpp Fri Nov 14 09:18:56 2008
@@ -422,7 +422,7 @@
Jnjvm* vm = JavaThread::get()->getJVM();
JavaField* slot = vm->upcalls->fieldSlot;
JavaField* field = (JavaField*)slot->getInt32Field((JavaObject*)Field);
- void** buf = (void**)alloca(sizeof(uint64));
+ uintptr_t buf = (uintptr_t)alloca(sizeof(uint64));
void* _buf = (void*)buf;
const Typedef* type = field->getSignature();
NativeUtil::decapsulePrimitive(vm, buf, (JavaObject*)val, type);
Modified: vmkit/trunk/lib/JnJVM/Classpath/ClasspathMethod.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/Classpath/ClasspathMethod.cpp?rev=59303&r1=59302&r2=59303&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/Classpath/ClasspathMethod.cpp (original)
+++ vmkit/trunk/lib/JnJVM/Classpath/ClasspathMethod.cpp Fri Nov 14 09:18:56 2008
@@ -92,7 +92,7 @@
sint32 size = meth->getSignature()->args.size();
JavaObject* obj = (JavaObject*)_obj;
- void** buf = (void**)alloca(size * sizeof(uint64));
+ uintptr_t buf = (uintptr_t)alloca(size * sizeof(uint64));
void* _buf = (void*)buf;
sint32 index = 0;
if (nbArgs == size) {
Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaMetaJIT.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaMetaJIT.cpp?rev=59303&r1=59302&r2=59303&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaMetaJIT.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaMetaJIT.cpp Fri Nov 14 09:18:56 2008
@@ -79,7 +79,7 @@
} else{\
((JavaObject**)buf)[0] = va_arg(ap, JavaObject*);\
}\
- buf += 2; \
+ buf += 8; \
}\
@@ -93,7 +93,7 @@
} \
verifyNull(obj); \
Signdef* sign = getSignature(); \
- void** buf = (void**)alloca(sign->args.size() * sizeof(uint64)); \
+ uintptr_t buf = (uintptr_t)alloca(sign->args.size() * sizeof(uint64)); \
void* _buf = (void*)buf; \
readArgs(buf, sign, ap); \
void* func = (((void***)obj)[0])[offset];\
@@ -108,7 +108,7 @@
\
verifyNull(obj);\
Signdef* sign = getSignature(); \
- void** buf = (void**)alloca(sign->args.size() * sizeof(uint64)); \
+ uintptr_t buf = (uintptr_t)alloca(sign->args.size() * sizeof(uint64)); \
void* _buf = (void*)buf; \
readArgs(buf, sign, ap); \
void* func = this->compiledPtr();\
@@ -122,7 +122,7 @@
} \
\
Signdef* sign = getSignature(); \
- void** buf = (void**)alloca(sign->args.size() * sizeof(uint64)); \
+ uintptr_t buf = (uintptr_t)alloca(sign->args.size() * sizeof(uint64)); \
void* _buf = (void*)buf; \
readArgs(buf, sign, ap); \
void* func = this->compiledPtr();\
Modified: vmkit/trunk/lib/JnJVM/VMCore/NativeUtil.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/NativeUtil.cpp?rev=59303&r1=59302&r2=59303&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/NativeUtil.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/NativeUtil.cpp Fri Nov 14 09:18:56 2008
@@ -195,7 +195,7 @@
return cl;
}
-void NativeUtil::decapsulePrimitive(Jnjvm *vm, void** &buf,
+void NativeUtil::decapsulePrimitive(Jnjvm *vm, uintptr_t &buf,
JavaObject* obj,
const Typedef* signature) {
@@ -204,7 +204,7 @@
vm->illegalArgumentException("wrong type argument");
}
((JavaObject**)buf)[0] = obj;
- buf += 2;
+ buf += 8;
return;
} else if (obj == 0) {
vm->illegalArgumentException("");
@@ -220,12 +220,12 @@
if (prim->isShort()) {
if (value == vm->upcalls->OfShort) {
((uint16*)buf)[0] = vm->upcalls->shortValue->getInt16Field(obj);
- buf += 2;
+ buf += 8;
return;
} else if (value == vm->upcalls->OfByte) {
((sint16*)buf)[0] =
(sint16)vm->upcalls->byteValue->getInt8Field(obj);
- buf += 2;
+ buf += 8;
return;
} else {
vm->illegalArgumentException("");
@@ -233,7 +233,7 @@
} else if (prim->isByte()) {
if (value == vm->upcalls->OfByte) {
((uint8*)buf)[0] = vm->upcalls->byteValue->getInt8Field(obj);
- buf += 2;
+ buf += 8;
return;
} else {
vm->illegalArgumentException("");
@@ -241,7 +241,7 @@
} else if (prim->isBool()) {
if (value == vm->upcalls->OfBool) {
((uint8*)buf)[0] = vm->upcalls->boolValue->getInt8Field(obj);
- buf += 2;
+ buf += 8;
return;
} else {
vm->illegalArgumentException("");
@@ -260,7 +260,7 @@
vm->illegalArgumentException("");
}
((sint32*)buf)[0] = val;
- buf += 2;
+ buf += 8;
return;
} else if (prim->isChar()) {
uint16 val = 0;
@@ -270,7 +270,7 @@
vm->illegalArgumentException("");
}
((uint16*)buf)[0] = val;
- buf += 2;
+ buf += 8;
return;
} else if (prim->isFloat()) {
float val = 0;
@@ -290,7 +290,7 @@
vm->illegalArgumentException("");
}
((float*)buf)[0] = val;
- buf += 2;
+ buf += 8;
return;
} else if (prim->isDouble()) {
double val = 0;
@@ -312,7 +312,7 @@
vm->illegalArgumentException("");
}
((double*)buf)[0] = val;
- buf += 2;
+ buf += 8;
return;
} else if (prim->isLong()) {
sint64 val = 0;
@@ -330,7 +330,7 @@
vm->illegalArgumentException("");
}
((sint64*)buf)[0] = val;
- buf += 2;
+ buf += 8;
return;
}
}
Modified: vmkit/trunk/lib/JnJVM/VMCore/NativeUtil.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/NativeUtil.h?rev=59303&r1=59302&r2=59303&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/NativeUtil.h (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/NativeUtil.h Fri Nov 14 09:18:56 2008
@@ -29,8 +29,9 @@
static Jnjvm* myVM(JNIEnv* env);
static intptr_t nativeLookup(CommonClass* cl, JavaMethod* meth, bool& jnjvm);
- static UserCommonClass* resolvedImplClass(Jnjvm* vm, jclass clazz, bool doClinit);
- static void decapsulePrimitive(Jnjvm *vm, void**&buf, JavaObject* obj,
+ static UserCommonClass* resolvedImplClass(Jnjvm* vm, jclass clazz,
+ bool doClinit);
+ static void decapsulePrimitive(Jnjvm *vm, uintptr_t &buf, JavaObject* obj,
const Typedef* signature);
static JavaObject* getClassType(JnjvmClassLoader* loader, Typedef* type);
More information about the vmkit-commits
mailing list