[vmkit-commits] [vmkit] r58918 - in /vmkit/trunk/lib/JnJVM/VMCore: JavaClass.h JavaMetaJIT.cpp Jnjvm.cpp JnjvmModule.cpp
Nicolas Geoffray
nicolas.geoffray at lip6.fr
Sat Nov 8 09:26:44 PST 2008
Author: geoffray
Date: Sat Nov 8 11:26:44 2008
New Revision: 58918
URL: http://llvm.org/viewvc/llvm-project?rev=58918&view=rev
Log:
Java functions do not take a Jnjvm object as parameter anymore.
Modified:
vmkit/trunk/lib/JnJVM/VMCore/JavaClass.h
vmkit/trunk/lib/JnJVM/VMCore/JavaMetaJIT.cpp
vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp
vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp
Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaClass.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaClass.h?rev=58918&r1=58917&r2=58918&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaClass.h (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaClass.h Sat Nov 8 11:26:44 2008
@@ -885,6 +885,9 @@
return static_cast<Ty*>(JInfo);
}
+ #define JNI_NAME_PRE "Java_"
+ #define JNI_NAME_PRE_LEN 5
+
};
/// JavaField - This class represents a Java field.
@@ -1003,8 +1006,6 @@
return static_cast<Ty*>(JInfo);
}
- #define JNI_NAME_PRE "Java_"
- #define JNI_NAME_PRE_LEN 5
};
Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaMetaJIT.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaMetaJIT.cpp?rev=58918&r1=58917&r2=58918&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaMetaJIT.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaMetaJIT.cpp Sat Nov 8 11:26:44 2008
@@ -106,7 +106,7 @@
void* _buf = (void*)buf; \
readArgs(buf, sign, ap); \
void* func = (((void***)obj)[0])[offset];\
- return ((FUNC_TYPE_VIRTUAL_BUF)sign->getVirtualCallBuf())(vm, cl->getConstantPool(), func, obj, _buf);\
+ return ((FUNC_TYPE_VIRTUAL_BUF)sign->getVirtualCallBuf())(cl->getConstantPool(), func, obj, _buf);\
}\
\
TYPE JavaMethod::invoke##TYPE_NAME##SpecialAP(Jnjvm* vm, UserClass* cl, JavaObject* obj, va_list ap) {\
@@ -121,7 +121,7 @@
void* _buf = (void*)buf; \
readArgs(buf, sign, ap); \
void* func = this->compiledPtr();\
- return ((FUNC_TYPE_VIRTUAL_BUF)sign->getVirtualCallBuf())(vm, cl->getConstantPool(), func, obj, _buf);\
+ return ((FUNC_TYPE_VIRTUAL_BUF)sign->getVirtualCallBuf())(cl->getConstantPool(), func, obj, _buf);\
}\
\
TYPE JavaMethod::invoke##TYPE_NAME##StaticAP(Jnjvm* vm, UserClass* cl, va_list ap) {\
@@ -135,7 +135,7 @@
void* _buf = (void*)buf; \
readArgs(buf, sign, ap); \
void* func = this->compiledPtr();\
- return ((FUNC_TYPE_STATIC_BUF)sign->getStaticCallBuf())(vm, cl->getConstantPool(), func, _buf);\
+ return ((FUNC_TYPE_STATIC_BUF)sign->getStaticCallBuf())(cl->getConstantPool(), func, _buf);\
}\
\
TYPE JavaMethod::invoke##TYPE_NAME##VirtualBuf(Jnjvm* vm, UserClass* cl, JavaObject* obj, void* buf) {\
@@ -148,7 +148,7 @@
\
Signdef* sign = getSignature(); \
void* func = (((void***)obj)[0])[offset];\
- return ((FUNC_TYPE_VIRTUAL_BUF)sign->getVirtualCallBuf())(vm, cl->getConstantPool(), func, obj, buf);\
+ return ((FUNC_TYPE_VIRTUAL_BUF)sign->getVirtualCallBuf())(cl->getConstantPool(), func, obj, buf);\
}\
\
TYPE JavaMethod::invoke##TYPE_NAME##SpecialBuf(Jnjvm* vm, UserClass* cl, JavaObject* obj, void* buf) {\
@@ -160,7 +160,7 @@
verifyNull(obj);\
void* func = this->compiledPtr();\
Signdef* sign = getSignature(); \
- return ((FUNC_TYPE_VIRTUAL_BUF)sign->getVirtualCallBuf())(vm, cl->getConstantPool(), func, obj, buf);\
+ return ((FUNC_TYPE_VIRTUAL_BUF)sign->getVirtualCallBuf())(cl->getConstantPool(), func, obj, buf);\
}\
\
TYPE JavaMethod::invoke##TYPE_NAME##StaticBuf(Jnjvm* vm, UserClass* cl, void* buf) {\
@@ -171,7 +171,7 @@
\
void* func = this->compiledPtr();\
Signdef* sign = getSignature(); \
- return ((FUNC_TYPE_STATIC_BUF)sign->getStaticCallBuf())(vm, cl->getConstantPool(), func, buf);\
+ return ((FUNC_TYPE_STATIC_BUF)sign->getStaticCallBuf())(cl->getConstantPool(), func, buf);\
}\
\
TYPE JavaMethod::invoke##TYPE_NAME##Virtual(Jnjvm* vm, UserClass* cl, JavaObject* obj, ...) { \
@@ -211,7 +211,7 @@
verifyNull(obj); \
void* func = (((void***)obj)[0])[offset];\
Signdef* sign = getSignature(); \
- return ((FUNC_TYPE_VIRTUAL_AP)sign->getVirtualCallAP())(vm, cl->getConstantPool(), func, obj, ap);\
+ return ((FUNC_TYPE_VIRTUAL_AP)sign->getVirtualCallAP())(cl->getConstantPool(), func, obj, ap);\
}\
\
TYPE JavaMethod::invoke##TYPE_NAME##SpecialAP(Jnjvm* vm, UserClass* cl, JavaObject* obj, va_list ap) {\
@@ -223,7 +223,7 @@
verifyNull(obj);\
void* func = this->compiledPtr();\
Signdef* sign = getSignature(); \
- return ((FUNC_TYPE_VIRTUAL_AP)sign->getVirtualCallAP())(vm, cl->getConstantPool(), func, obj, ap);\
+ return ((FUNC_TYPE_VIRTUAL_AP)sign->getVirtualCallAP())(cl->getConstantPool(), func, obj, ap);\
}\
\
TYPE JavaMethod::invoke##TYPE_NAME##StaticAP(Jnjvm* vm, UserClass* cl, va_list ap) {\
@@ -234,7 +234,7 @@
\
void* func = this->compiledPtr();\
Signdef* sign = getSignature(); \
- return ((FUNC_TYPE_STATIC_AP)sign->getStaticCallAP())(vm, cl->getConstantPool(), func, ap);\
+ return ((FUNC_TYPE_STATIC_AP)sign->getStaticCallAP())(cl->getConstantPool(), func, ap);\
}\
\
TYPE JavaMethod::invoke##TYPE_NAME##VirtualBuf(Jnjvm* vm, UserClass* cl, JavaObject* obj, void* buf) {\
@@ -246,7 +246,7 @@
verifyNull(obj);\
void* func = (((void***)obj)[0])[offset];\
Signdef* sign = getSignature(); \
- return ((FUNC_TYPE_VIRTUAL_BUF)sign->getVirtualCallBuf())(vm, cl->getConstantPool(), func, obj, buf);\
+ return ((FUNC_TYPE_VIRTUAL_BUF)sign->getVirtualCallBuf())(cl->getConstantPool(), func, obj, buf);\
}\
\
TYPE JavaMethod::invoke##TYPE_NAME##SpecialBuf(Jnjvm* vm, UserClass* cl, JavaObject* obj, void* buf) {\
@@ -258,7 +258,7 @@
verifyNull(obj);\
void* func = this->compiledPtr();\
Signdef* sign = getSignature(); \
- return ((FUNC_TYPE_VIRTUAL_BUF)sign->getVirtualCallBuf())(vm, cl->getConstantPool(), func, obj, buf);\
+ return ((FUNC_TYPE_VIRTUAL_BUF)sign->getVirtualCallBuf())(cl->getConstantPool(), func, obj, buf);\
}\
\
TYPE JavaMethod::invoke##TYPE_NAME##StaticBuf(Jnjvm* vm, UserClass* cl, void* buf) {\
@@ -269,7 +269,7 @@
\
void* func = this->compiledPtr();\
Signdef* sign = getSignature(); \
- return ((FUNC_TYPE_STATIC_BUF)sign->getStaticCallBuf())(vm, cl->getConstantPool(), func, buf);\
+ return ((FUNC_TYPE_STATIC_BUF)sign->getStaticCallBuf())(cl->getConstantPool(), func, buf);\
}\
\
TYPE JavaMethod::invoke##TYPE_NAME##Virtual(Jnjvm* vm, UserClass* cl, JavaObject* obj, ...) { \
@@ -298,29 +298,29 @@
#endif
-typedef uint32 (*uint32_virtual_ap)(Jnjvm*, UserConstantPool*, void*, JavaObject*, va_list);
-typedef sint64 (*sint64_virtual_ap)(Jnjvm*, UserConstantPool*, void*, JavaObject*, va_list);
-typedef float (*float_virtual_ap)(Jnjvm*, UserConstantPool*, void*, JavaObject*, va_list);
-typedef double (*double_virtual_ap)(Jnjvm*, UserConstantPool*, void*, JavaObject*, va_list);
-typedef JavaObject* (*object_virtual_ap)(Jnjvm*, UserConstantPool*, void*, JavaObject*, va_list);
-
-typedef uint32 (*uint32_static_ap)(Jnjvm*, UserConstantPool*, void*, va_list);
-typedef sint64 (*sint64_static_ap)(Jnjvm*, UserConstantPool*, void*, va_list);
-typedef float (*float_static_ap)(Jnjvm*, UserConstantPool*, void*, va_list);
-typedef double (*double_static_ap)(Jnjvm*, UserConstantPool*, void*, va_list);
-typedef JavaObject* (*object_static_ap)(Jnjvm*, UserConstantPool*, void*, va_list);
-
-typedef uint32 (*uint32_virtual_buf)(Jnjvm*, UserConstantPool*, void*, JavaObject*, void*);
-typedef sint64 (*sint64_virtual_buf)(Jnjvm*, UserConstantPool*, void*, JavaObject*, void*);
-typedef float (*float_virtual_buf)(Jnjvm*, UserConstantPool*, void*, JavaObject*, void*);
-typedef double (*double_virtual_buf)(Jnjvm*, UserConstantPool*, void*, JavaObject*, void*);
-typedef JavaObject* (*object_virtual_buf)(Jnjvm*, UserConstantPool*, void*, JavaObject*, void*);
-
-typedef uint32 (*uint32_static_buf)(Jnjvm*, UserConstantPool*, void*, void*);
-typedef sint64 (*sint64_static_buf)(Jnjvm*, UserConstantPool*, void*, void*);
-typedef float (*float_static_buf)(Jnjvm*, UserConstantPool*, void*, void*);
-typedef double (*double_static_buf)(Jnjvm*, UserConstantPool*, void*, void*);
-typedef JavaObject* (*object_static_buf)(Jnjvm*, UserConstantPool*, void*, void*);
+typedef uint32 (*uint32_virtual_ap)(UserConstantPool*, void*, JavaObject*, va_list);
+typedef sint64 (*sint64_virtual_ap)(UserConstantPool*, void*, JavaObject*, va_list);
+typedef float (*float_virtual_ap)(UserConstantPool*, void*, JavaObject*, va_list);
+typedef double (*double_virtual_ap)(UserConstantPool*, void*, JavaObject*, va_list);
+typedef JavaObject* (*object_virtual_ap)(UserConstantPool*, void*, JavaObject*, va_list);
+
+typedef uint32 (*uint32_static_ap)(UserConstantPool*, void*, va_list);
+typedef sint64 (*sint64_static_ap)(UserConstantPool*, void*, va_list);
+typedef float (*float_static_ap)(UserConstantPool*, void*, va_list);
+typedef double (*double_static_ap)(UserConstantPool*, void*, va_list);
+typedef JavaObject* (*object_static_ap)(UserConstantPool*, void*, va_list);
+
+typedef uint32 (*uint32_virtual_buf)(UserConstantPool*, void*, JavaObject*, void*);
+typedef sint64 (*sint64_virtual_buf)(UserConstantPool*, void*, JavaObject*, void*);
+typedef float (*float_virtual_buf)(UserConstantPool*, void*, JavaObject*, void*);
+typedef double (*double_virtual_buf)(UserConstantPool*, void*, JavaObject*, void*);
+typedef JavaObject* (*object_virtual_buf)(UserConstantPool*, void*, JavaObject*, void*);
+
+typedef uint32 (*uint32_static_buf)(UserConstantPool*, void*, void*);
+typedef sint64 (*sint64_static_buf)(UserConstantPool*, void*, void*);
+typedef float (*float_static_buf)(UserConstantPool*, void*, void*);
+typedef double (*double_static_buf)(UserConstantPool*, void*, void*);
+typedef JavaObject* (*object_static_buf)(UserConstantPool*, void*, void*);
INVOKE(uint32, Int, uint32_virtual_ap, uint32_static_ap, uint32_virtual_buf, uint32_static_buf)
INVOKE(sint64, Long, sint64_virtual_ap, sint64_static_ap, sint64_virtual_buf, sint64_static_buf)
Modified: vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp?rev=58918&r1=58917&r2=58918&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp Sat Nov 8 11:26:44 2008
@@ -44,7 +44,7 @@
const char* Jnjvm::envSeparator = ":";
const unsigned int Jnjvm::Magic = 0xcafebabe;
-typedef void (*clinit_t)(Jnjvm* vm, UserConstantPool*);
+typedef void (*clinit_t)(UserConstantPool*);
/// initialiseClass - Java class initialisation. Java specification §2.17.5.
@@ -185,7 +185,7 @@
if (meth) {
try{
clinit_t pred = (clinit_t)(intptr_t)meth->compiledPtr();
- pred(vm, cl->getConstantPool());
+ pred(cl->getConstantPool());
} catch(...) {
exc = JavaThread::getJavaException();
assert(exc && "no exception?");
@@ -239,7 +239,8 @@
}
}
-void Jnjvm::errorWithExcp(UserClass* cl, JavaMethod* init, const JavaObject* excp) {
+void Jnjvm::errorWithExcp(UserClass* cl, JavaMethod* init,
+ const JavaObject* excp) {
JavaObject* obj = cl->doNew(this);
init->invokeIntSpecial(this, cl, obj, excp);
JavaThread::throwException(obj);
@@ -505,7 +506,8 @@
ArrayUInt8* res = (ArrayUInt8*)array->doNew(file->ucsize, vm);
int ok = archive.readFile(res, file);
if (ok) {
- char* mainClass = findInformation(vm, res, MAIN_CLASS, LENGTH_MAIN_CLASS);
+ char* mainClass = findInformation(vm, res, MAIN_CLASS,
+ LENGTH_MAIN_CLASS);
if (mainClass) {
className = mainClass;
} else {
@@ -572,7 +574,7 @@
"-agentpath:<pathname>[=<options>]\n"
" load native agent library by full pathname\n"
"-javaagent:<jarpath>[=<options>]\n"
- " load Java programming language agent, see java.lang.instrument\n");
+ " load Java programming language agent, see java.lang.instrument\n");
}
void ClArgumentsInfo::readArgs(Jnjvm* vm) {
@@ -855,7 +857,7 @@
#endif
ClArgumentsInfo& info = vm->argumentsInfo;
-#if 0
+
if (info.agents.size()) {
assert(0 && "implement me");
JavaObject* instrumenter = 0;//createInstrumenter();
@@ -866,7 +868,6 @@
vm->executePremain(i->first, args, instrumenter);
}
}
-#endif
UserClassArray* array = vm->bootstrapLoader->upcalls->ArrayOfString;
ArrayObject* args = (ArrayObject*)array->doNew(info.argc - 2, vm);
Modified: vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp?rev=58918&r1=58917&r2=58918&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp Sat Nov 8 11:26:44 2008
@@ -635,7 +635,6 @@
}
#if defined(ISOLATE_SHARING)
- llvmArgs.push_back(JnjvmModule::JnjvmType); // vm
llvmArgs.push_back(JnjvmModule::ConstantPoolType); // cached constant pool
#endif
@@ -659,7 +658,6 @@
}
#if defined(ISOLATE_SHARING)
- llvmArgs.push_back(JnjvmModule::JnjvmType); // vm
llvmArgs.push_back(JnjvmModule::ConstantPoolType); // cached constant pool
#endif
@@ -686,7 +684,6 @@
}
#if defined(ISOLATE_SHARING)
- llvmArgs.push_back(JnjvmModule::JnjvmType); // vm
llvmArgs.push_back(JnjvmModule::ConstantPoolType); // cached constant pool
#endif
@@ -712,10 +709,6 @@
Function::arg_iterator i = res->arg_begin();
Value *obj, *ptr, *func;
#if defined(ISOLATE_SHARING)
- Value* vm = i;
-#endif
- ++i;
-#if defined(ISOLATE_SHARING)
Value* ctp = i;
#endif
++i;
@@ -745,7 +738,6 @@
}
#if defined(ISOLATE_SHARING)
- Args.push_back(vm);
Args.push_back(ctp);
#endif
@@ -773,10 +765,6 @@
Function::arg_iterator i = res->arg_begin();
Value *obj, *ap, *func;
#if defined(ISOLATE_SHARING)
- Value* vm = i;
-#endif
- ++i;
-#if defined(ISOLATE_SHARING)
Value* ctp = i;
#endif
++i;
@@ -796,7 +784,6 @@
}
#if defined(ISOLATE_SHARING)
- Args.push_back(vm);
Args.push_back(ctp);
#endif
@@ -837,7 +824,6 @@
// Lock here because we are called by arbitrary code
llvm::MutexGuard locked(mvm::MvmModule::executionEngine->lock);
std::vector<const llvm::Type*> Args2;
- Args2.push_back(JnjvmModule::JnjvmType); // vm
Args2.push_back(JnjvmModule::ConstantPoolType); // ctp
Args2.push_back(getVirtualPtrType());
Args2.push_back(JnjvmModule::JavaObjectType);
@@ -853,7 +839,6 @@
// Lock here because we are called by arbitrary code
llvm::MutexGuard locked(mvm::MvmModule::executionEngine->lock);
std::vector<const llvm::Type*> Args;
- Args.push_back(JnjvmModule::JnjvmType); // vm
Args.push_back(JnjvmModule::ConstantPoolType); // ctp
Args.push_back(getStaticPtrType());
Args.push_back(PointerType::getUnqual(Type::Int32Ty));
More information about the vmkit-commits
mailing list