[vmkit-commits] [vmkit] r69986 - /vmkit/trunk/lib/JnJVM/VMCore/JavaMetaJIT.cpp
Nicolas Geoffray
nicolas.geoffray at lip6.fr
Fri Apr 24 11:29:15 PDT 2009
Author: geoffray
Date: Fri Apr 24 13:28:56 2009
New Revision: 69986
URL: http://llvm.org/viewvc/llvm-project?rev=69986&view=rev
Log:
Only static calls need an initialization check.
Modified:
vmkit/trunk/lib/JnJVM/VMCore/JavaMetaJIT.cpp
Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaMetaJIT.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaMetaJIT.cpp?rev=69986&r1=69985&r2=69986&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaMetaJIT.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaMetaJIT.cpp Fri Apr 24 13:28:56 2009
@@ -58,10 +58,6 @@
#define INVOKE(TYPE, TYPE_NAME, FUNC_TYPE_VIRTUAL_AP, FUNC_TYPE_STATIC_AP, FUNC_TYPE_VIRTUAL_BUF, FUNC_TYPE_STATIC_BUF) \
\
TYPE JavaMethod::invoke##TYPE_NAME##VirtualAP(Jnjvm* vm, UserClass* cl, JavaObject* obj, va_list ap) { \
- if (!cl->isReady()) { \
- cl->classLoader->loadName(cl->getName(), true, true); \
- cl->initialiseClass(vm); \
- } \
verifyNull(obj); \
Signdef* sign = getSignature(); \
uintptr_t buf = (uintptr_t)alloca(sign->nbArguments * sizeof(uint64)); \
@@ -81,11 +77,6 @@
}\
\
TYPE JavaMethod::invoke##TYPE_NAME##SpecialAP(Jnjvm* vm, UserClass* cl, JavaObject* obj, va_list ap) {\
- if (!cl->isReady()) { \
- cl->classLoader->loadName(cl->getName(), true, true); \
- cl->initialiseClass(vm); \
- } \
- \
verifyNull(obj);\
Signdef* sign = getSignature(); \
uintptr_t buf = (uintptr_t)alloca(sign->nbArguments * sizeof(uint64)); \
@@ -106,7 +97,7 @@
\
TYPE JavaMethod::invoke##TYPE_NAME##StaticAP(Jnjvm* vm, UserClass* cl, va_list ap) {\
if (!cl->isReady()) { \
- cl->classLoader->loadName(cl->getName(), true, true); \
+ cl->resolveClass(); \
cl->initialiseClass(vm); \
} \
\
@@ -128,13 +119,7 @@
}\
\
TYPE JavaMethod::invoke##TYPE_NAME##VirtualBuf(Jnjvm* vm, UserClass* cl, JavaObject* obj, void* buf) {\
- if (!cl->isReady()) { \
- cl->classLoader->loadName(cl->getName(), true, true); \
- cl->initialiseClass(vm); \
- } \
- \
verifyNull(obj);\
- \
Signdef* sign = getSignature(); \
void* func = (((void***)obj)[0])[offset];\
JavaThread* th = JavaThread::get(); \
@@ -150,11 +135,6 @@
}\
\
TYPE JavaMethod::invoke##TYPE_NAME##SpecialBuf(Jnjvm* vm, UserClass* cl, JavaObject* obj, void* buf) {\
- if (!cl->isReady()) { \
- cl->classLoader->loadName(cl->getName(), true, true); \
- cl->initialiseClass(vm); \
- } \
- \
verifyNull(obj);\
void* func = this->compiledPtr();\
Signdef* sign = getSignature(); \
@@ -172,7 +152,7 @@
\
TYPE JavaMethod::invoke##TYPE_NAME##StaticBuf(Jnjvm* vm, UserClass* cl, void* buf) {\
if (!cl->isReady()) { \
- cl->classLoader->loadName(cl->getName(), true, true); \
+ cl->resolveClass(); \
cl->initialiseClass(vm); \
} \
\
@@ -219,11 +199,6 @@
#define INVOKE(TYPE, TYPE_NAME, FUNC_TYPE_VIRTUAL_AP, FUNC_TYPE_STATIC_AP, FUNC_TYPE_VIRTUAL_BUF, FUNC_TYPE_STATIC_BUF) \
\
TYPE JavaMethod::invoke##TYPE_NAME##VirtualAP(Jnjvm* vm, UserClass* cl, JavaObject* obj, va_list ap) { \
- if (!cl->isReady()) { \
- cl->classLoader->loadName(cl->getName(), true, true); \
- cl->initialiseClass(vm); \
- } \
- \
verifyNull(obj); \
void* func = (((void***)obj)[0])[offset];\
Signdef* sign = getSignature(); \
@@ -240,11 +215,6 @@
}\
\
TYPE JavaMethod::invoke##TYPE_NAME##SpecialAP(Jnjvm* vm, UserClass* cl, JavaObject* obj, va_list ap) {\
- if (!cl->isReady()) { \
- cl->classLoader->loadName(cl->getName(), true, true); \
- cl->initialiseClass(vm); \
- } \
- \
verifyNull(obj);\
void* func = this->compiledPtr();\
Signdef* sign = getSignature(); \
@@ -262,7 +232,7 @@
\
TYPE JavaMethod::invoke##TYPE_NAME##StaticAP(Jnjvm* vm, UserClass* cl, va_list ap) {\
if (!cl->isReady()) { \
- cl->classLoader->loadName(cl->getName(), true, true); \
+ cl->resolveClass(); \
cl->initialiseClass(vm); \
} \
\
@@ -281,11 +251,6 @@
}\
\
TYPE JavaMethod::invoke##TYPE_NAME##VirtualBuf(Jnjvm* vm, UserClass* cl, JavaObject* obj, void* buf) {\
- if (!cl->isReady()) { \
- cl->classLoader->loadName(cl->getName(), true, true); \
- cl->initialiseClass(vm); \
- } \
- \
verifyNull(obj);\
void* func = (((void***)obj)[0])[offset];\
Signdef* sign = getSignature(); \
@@ -302,11 +267,6 @@
}\
\
TYPE JavaMethod::invoke##TYPE_NAME##SpecialBuf(Jnjvm* vm, UserClass* cl, JavaObject* obj, void* buf) {\
- if (!cl->isReady()) { \
- cl->classLoader->loadName(cl->getName(), true, true); \
- cl->initialiseClass(vm); \
- } \
- \
verifyNull(obj);\
void* func = this->compiledPtr();\
Signdef* sign = getSignature(); \
@@ -324,7 +284,7 @@
\
TYPE JavaMethod::invoke##TYPE_NAME##StaticBuf(Jnjvm* vm, UserClass* cl, void* buf) {\
if (!cl->isReady()) { \
- cl->classLoader->loadName(cl->getName(), true, true); \
+ cl->resolveClass(); \
cl->initialiseClass(vm); \
} \
\
@@ -374,10 +334,6 @@
#define INVOKE(TYPE, TYPE_NAME, FUNC_TYPE_VIRTUAL_AP, FUNC_TYPE_STATIC_AP, FUNC_TYPE_VIRTUAL_BUF, FUNC_TYPE_STATIC_BUF) \
\
TYPE JavaMethod::invoke##TYPE_NAME##VirtualAP(Jnjvm* vm, UserClass* cl, JavaObject* obj, va_list ap) { \
- if (!cl->isReady()) { \
- cl->classLoader->loadName(cl->getName(), true, true); \
- cl->initialiseClass(vm); \
- } \
verifyNull(obj); \
Signdef* sign = getSignature(); \
uintptr_t buf = (uintptr_t)alloca(sign->nbArguments * sizeof(uint64)); \
@@ -396,11 +352,6 @@
}\
\
TYPE JavaMethod::invoke##TYPE_NAME##SpecialAP(Jnjvm* vm, UserClass* cl, JavaObject* obj, va_list ap) {\
- if (!cl->isReady()) { \
- cl->classLoader->loadName(cl->getName(), true, true); \
- cl->initialiseClass(vm); \
- } \
- \
verifyNull(obj);\
Signdef* sign = getSignature(); \
uintptr_t buf = (uintptr_t)alloca(sign->nbArguments * sizeof(uint64)); \
@@ -420,7 +371,7 @@
\
TYPE JavaMethod::invoke##TYPE_NAME##StaticAP(Jnjvm* vm, UserClass* cl, va_list ap) {\
if (!cl->isReady()) { \
- cl->classLoader->loadName(cl->getName(), true, true); \
+ cl->resolveClass(); \
cl->initialiseClass(vm); \
} \
\
@@ -441,13 +392,7 @@
}\
\
TYPE JavaMethod::invoke##TYPE_NAME##VirtualBuf(Jnjvm* vm, UserClass* cl, JavaObject* obj, void* buf) {\
- if (!cl->isReady()) { \
- cl->classLoader->loadName(cl->getName(), true, true); \
- cl->initialiseClass(vm); \
- } \
- \
verifyNull(obj);\
- \
Signdef* sign = getSignature(); \
void* func = (((void***)obj)[0])[offset];\
JavaThread* th = JavaThread::get(); \
@@ -462,11 +407,6 @@
}\
\
TYPE JavaMethod::invoke##TYPE_NAME##SpecialBuf(Jnjvm* vm, UserClass* cl, JavaObject* obj, void* buf) {\
- if (!cl->isReady()) { \
- cl->classLoader->loadName(cl->getName(), true, true); \
- cl->initialiseClass(vm); \
- } \
- \
verifyNull(obj);\
void* func = this->compiledPtr();\
Signdef* sign = getSignature(); \
@@ -483,7 +423,7 @@
\
TYPE JavaMethod::invoke##TYPE_NAME##StaticBuf(Jnjvm* vm, UserClass* cl, void* buf) {\
if (!cl->isReady()) { \
- cl->classLoader->loadName(cl->getName(), true, true); \
+ cl->resolveClass(); \
cl->initialiseClass(vm); \
} \
\
@@ -529,11 +469,6 @@
#define INVOKE(TYPE, TYPE_NAME, FUNC_TYPE_VIRTUAL_AP, FUNC_TYPE_STATIC_AP, FUNC_TYPE_VIRTUAL_BUF, FUNC_TYPE_STATIC_BUF) \
\
TYPE JavaMethod::invoke##TYPE_NAME##VirtualAP(Jnjvm* vm, UserClass* cl, JavaObject* obj, va_list ap) { \
- if (!cl->isReady()) { \
- cl->classLoader->loadName(cl->getName(), true, true); \
- cl->initialiseClass(vm); \
- } \
- \
verifyNull(obj); \
void* func = (((void***)obj)[0])[offset];\
Signdef* sign = getSignature(); \
@@ -549,11 +484,6 @@
}\
\
TYPE JavaMethod::invoke##TYPE_NAME##SpecialAP(Jnjvm* vm, UserClass* cl, JavaObject* obj, va_list ap) {\
- if (!cl->isReady()) { \
- cl->classLoader->loadName(cl->getName(), true, true); \
- cl->initialiseClass(vm); \
- } \
- \
verifyNull(obj);\
void* func = this->compiledPtr();\
Signdef* sign = getSignature(); \
@@ -570,7 +500,7 @@
\
TYPE JavaMethod::invoke##TYPE_NAME##StaticAP(Jnjvm* vm, UserClass* cl, va_list ap) {\
if (!cl->isReady()) { \
- cl->classLoader->loadName(cl->getName(), true, true); \
+ cl->resolveClass(); \
cl->initialiseClass(vm); \
} \
\
@@ -588,11 +518,6 @@
}\
\
TYPE JavaMethod::invoke##TYPE_NAME##VirtualBuf(Jnjvm* vm, UserClass* cl, JavaObject* obj, void* buf) {\
- if (!cl->isReady()) { \
- cl->classLoader->loadName(cl->getName(), true, true); \
- cl->initialiseClass(vm); \
- } \
- \
verifyNull(obj);\
void* func = (((void***)obj)[0])[offset];\
Signdef* sign = getSignature(); \
@@ -608,11 +533,6 @@
}\
\
TYPE JavaMethod::invoke##TYPE_NAME##SpecialBuf(Jnjvm* vm, UserClass* cl, JavaObject* obj, void* buf) {\
- if (!cl->isReady()) { \
- cl->classLoader->loadName(cl->getName(), true, true); \
- cl->initialiseClass(vm); \
- } \
- \
verifyNull(obj);\
void* func = this->compiledPtr();\
Signdef* sign = getSignature(); \
@@ -629,7 +549,7 @@
\
TYPE JavaMethod::invoke##TYPE_NAME##StaticBuf(Jnjvm* vm, UserClass* cl, void* buf) {\
if (!cl->isReady()) { \
- cl->classLoader->loadName(cl->getName(), true, true); \
+ cl->resolveClass(); \
cl->initialiseClass(vm); \
} \
\
More information about the vmkit-commits
mailing list