[vmkit-commits] [vmkit] r61490 - in /vmkit/trunk/lib/JnJVM: Classpath/ClasspathVMStackWalker.cpp VMCore/JavaMetaJIT.cpp VMCore/JavaThread.cpp VMCore/JavaThread.h VMCore/Jni.cpp VMCore/NativeUtil.h

Nicolas Geoffray nicolas.geoffray at lip6.fr
Tue Dec 30 04:19:15 PST 2008


Author: geoffray
Date: Tue Dec 30 06:18:59 2008
New Revision: 61490

URL: http://llvm.org/viewvc/llvm-project?rev=61490&view=rev
Log:
Code cleanup.


Modified:
    vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMStackWalker.cpp
    vmkit/trunk/lib/JnJVM/VMCore/JavaMetaJIT.cpp
    vmkit/trunk/lib/JnJVM/VMCore/JavaThread.cpp
    vmkit/trunk/lib/JnJVM/VMCore/JavaThread.h
    vmkit/trunk/lib/JnJVM/VMCore/Jni.cpp
    vmkit/trunk/lib/JnJVM/VMCore/NativeUtil.h

Modified: vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMStackWalker.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMStackWalker.cpp?rev=61490&r1=61489&r2=61490&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMStackWalker.cpp (original)
+++ vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMStackWalker.cpp Tue Dec 30 06:18:59 2008
@@ -8,7 +8,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include <string.h>
+#include <cstring>
 
 #include "types.h"
 
@@ -107,7 +107,7 @@
   BEGIN_NATIVE_EXCEPTION(0)
   JavaThread* th = JavaThread::get();
   UserClass* cl = th->getCallingClass();
-  if (cl) res = cl->classLoader->getJavaClassLoader();  
+  res = cl->classLoader->getJavaClassLoader();  
   END_NATIVE_EXCEPTION
 
   return res;

Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaMetaJIT.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaMetaJIT.cpp?rev=61490&r1=61489&r2=61490&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaMetaJIT.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaMetaJIT.cpp Tue Dec 30 06:18:59 2008
@@ -71,18 +71,16 @@
   void* _buf = (void*)buf; \
   readArgs(buf, sign, ap); \
   void* func = (((void***)obj)[0])[offset];\
-  JavaObject* excp = 0; \
+  bool exc = false; \
   JavaThread* th = JavaThread::get(); \
   th->startJava(); \
   TYPE res = 0; \
   try { \
     res = ((FUNC_TYPE_VIRTUAL_BUF)sign->getVirtualCallBuf())(cl->getConstantPool(), func, obj, _buf);\
   } catch (...) { \
-    excp = JavaThread::getJavaException(); \
-    JavaThread::clearException(); \
+    exc = true; \
   } \
-  if (excp) { \
-    th->pendingException = excp; \
+  if (exc) { \
     th->throwFromJava(); \
   } \
   th->endJava(); \
@@ -101,18 +99,16 @@
   void* _buf = (void*)buf; \
   readArgs(buf, sign, ap); \
   void* func = this->compiledPtr();\
-  JavaObject* excp = 0; \
+  bool exc = false; \
   JavaThread* th = JavaThread::get(); \
   th->startJava(); \
   TYPE res = 0; \
   try { \
     res = ((FUNC_TYPE_VIRTUAL_BUF)sign->getVirtualCallBuf())(cl->getConstantPool(), func, obj, _buf);\
   } catch (...) { \
-    excp = JavaThread::getJavaException(); \
-    JavaThread::clearException(); \
+    exc = true; \
   } \
-  if (excp) { \
-    th->pendingException = excp; \
+  if (exc) { \
     th->throwFromJava(); \
   } \
   th->endJava(); \
@@ -130,18 +126,16 @@
   void* _buf = (void*)buf; \
   readArgs(buf, sign, ap); \
   void* func = this->compiledPtr();\
-  JavaObject* excp = 0; \
+  bool exc = false; \
   JavaThread* th = JavaThread::get(); \
   th->startJava(); \
   TYPE res = 0; \
   try { \
     res = ((FUNC_TYPE_STATIC_BUF)sign->getStaticCallBuf())(cl->getConstantPool(), func, _buf);\
   } catch (...) { \
-    excp = JavaThread::getJavaException(); \
-    JavaThread::clearException(); \
+    exc = true; \
   } \
-  if (excp) { \
-    th->pendingException = excp; \
+  if (exc) { \
     th->throwFromJava(); \
   } \
   th->endJava(); \
@@ -158,18 +152,16 @@
   \
   Signdef* sign = getSignature(); \
   void* func = (((void***)obj)[0])[offset];\
-  JavaObject* excp = 0; \
+  bool exc = false; \
   JavaThread* th = JavaThread::get(); \
   th->startJava(); \
   TYPE res = 0; \
   try { \
     res = ((FUNC_TYPE_VIRTUAL_BUF)sign->getVirtualCallBuf())(cl->getConstantPool(), func, obj, buf);\
   } catch (...) { \
-    excp = JavaThread::getJavaException(); \
-    JavaThread::clearException(); \
+    exc = true; \
   } \
-  if (excp) { \
-    th->pendingException = excp; \
+  if (exc) { \
     th->throwFromJava(); \
   } \
   th->endJava(); \
@@ -185,18 +177,16 @@
   verifyNull(obj);\
   void* func = this->compiledPtr();\
   Signdef* sign = getSignature(); \
-  JavaObject* excp = 0; \
+  bool exc = false; \
   JavaThread* th = JavaThread::get(); \
   th->startJava(); \
   TYPE res = 0; \
   try { \
     res = ((FUNC_TYPE_VIRTUAL_BUF)sign->getVirtualCallBuf())(cl->getConstantPool(), func, obj, buf);\
   } catch (...) { \
-    excp = JavaThread::getJavaException(); \
-    JavaThread::clearException(); \
+    exc = true; \
   } \
-  if (excp) { \
-    th->pendingException = excp; \
+  if (exc) { \
     th->throwFromJava(); \
   } \
   th->endJava(); \
@@ -211,18 +201,16 @@
   \
   void* func = this->compiledPtr();\
   Signdef* sign = getSignature(); \
-  JavaObject* excp = 0; \
+  bool exc = false; \
   JavaThread* th = JavaThread::get(); \
   th->startJava(); \
   TYPE res = 0; \
   try { \
     res = ((FUNC_TYPE_STATIC_BUF)sign->getStaticCallBuf())(cl->getConstantPool(), func, buf);\
   } catch (...) { \
-    excp = JavaThread::getJavaException(); \
-    JavaThread::clearException(); \
+    exc = true; \
   } \
-  if (excp) { \
-    th->pendingException = excp; \
+  if (exc) { \
     th->throwFromJava(); \
   } \
   th->endJava(); \
@@ -266,18 +254,16 @@
   verifyNull(obj); \
   void* func = (((void***)obj)[0])[offset];\
   Signdef* sign = getSignature(); \
-  JavaObject* excp = 0; \
+  bool exc = false; \
   JavaThread* th = JavaThread::get(); \
   th->startJava(); \
   TYPE res = 0; \
   try { \
     res = ((FUNC_TYPE_VIRTUAL_AP)sign->getVirtualCallAP())(cl->getConstantPool(), func, obj, ap);\
   } catch (...) { \
-    excp = JavaThread::getJavaException(); \
-    JavaThread::clearException(); \
+    exc = true; \
   } \
-  if (excp) { \
-    th->pendingException = excp; \
+  if (exc) { \
     th->throwFromJava(); \
   } \
   th->endJava(); \
@@ -293,18 +279,16 @@
   verifyNull(obj);\
   void* func = this->compiledPtr();\
   Signdef* sign = getSignature(); \
-  JavaObject* excp = 0; \
+  bool exc = false; \
   JavaThread* th = JavaThread::get(); \
   th->startJava(); \
   TYPE res = 0; \
   try { \
     res = ((FUNC_TYPE_VIRTUAL_AP)sign->getVirtualCallAP())(cl->getConstantPool(), func, obj, ap);\
   } catch (...) { \
-    excp = JavaThread::getJavaException(); \
-    JavaThread::clearException(); \
+    exc = true; \
   } \
-  if (excp) { \
-    th->pendingException = excp; \
+  if (exc) { \
     th->throwFromJava(); \
   } \
   th->endJava(); \
@@ -319,18 +303,16 @@
   \
   void* func = this->compiledPtr();\
   Signdef* sign = getSignature(); \
-  JavaObject* excp = 0; \
+  bool exc = false; \
   JavaThread* th = JavaThread::get(); \
   th->startJava(); \
   TYPE res = 0; \
   try { \
     res = ((FUNC_TYPE_STATIC_AP)sign->getStaticCallAP())(cl->getConstantPool(), func, ap);\
   } catch (...) { \
-    excp = JavaThread::getJavaException(); \
-    JavaThread::clearException(); \
+    exc = true; \
   } \
-  if (excp) { \
-    th->pendingException = excp; \
+  if (exc) { \
     th->throwFromJava(); \
   } \
   th->endJava(); \
@@ -346,18 +328,16 @@
   verifyNull(obj);\
   void* func = (((void***)obj)[0])[offset];\
   Signdef* sign = getSignature(); \
-  JavaObject* excp = 0; \
+  bool exc = false; \
   JavaThread* th = JavaThread::get(); \
   th->startJava(); \
   TYPE res = 0; \
   try { \
     res = ((FUNC_TYPE_VIRTUAL_BUF)sign->getVirtualCallBuf())(cl->getConstantPool(), func, obj, buf);\
   } catch (...) { \
-    excp = JavaThread::getJavaException(); \
-    JavaThread::clearException(); \
+    exc = true; \
   } \
-  if (excp) { \
-    th->pendingException = excp; \
+  if (exc) { \
     th->throwFromJava(); \
   } \
   th->endJava(); \
@@ -373,18 +353,16 @@
   verifyNull(obj);\
   void* func = this->compiledPtr();\
   Signdef* sign = getSignature(); \
-  JavaObject* excp = 0; \
+  bool exc = 0; \
   JavaThread* th = JavaThread::get(); \
   th->startJava(); \
   TYPE res = 0; \
   try { \
     res = ((FUNC_TYPE_VIRTUAL_BUF)sign->getVirtualCallBuf())(cl->getConstantPool(), func, obj, buf);\
   } catch (...) { \
-    excp = JavaThread::getJavaException(); \
-    JavaThread::clearException(); \
+    exc = true; \
   } \
-  if (excp) { \
-    th->pendingException = excp; \
+  if (exc) { \
     th->throwFromJava(); \
   } \
   th->endJava(); \
@@ -399,18 +377,16 @@
   \
   void* func = this->compiledPtr();\
   Signdef* sign = getSignature(); \
-  JavaObject* excp = 0; \
   JavaThread* th = JavaThread::get(); \
   th->startJava(); \
+  bool exc = false; \
   TYPE res = 0; \
   try { \
     res = ((FUNC_TYPE_STATIC_BUF)sign->getStaticCallBuf())(cl->getConstantPool(), func, buf);\
   } catch (...) { \
-    excp = JavaThread::getJavaException(); \
-    JavaThread::clearException(); \
+    exc = true; \
   } \
-  if (excp) { \
-    th->pendingException = excp; \
+  if (exc) { \
     th->throwFromJava(); \
   } \
   th->endJava(); \

Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaThread.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaThread.cpp?rev=61490&r1=61489&r2=61490&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaThread.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaThread.cpp Tue Dec 30 06:18:59 2008
@@ -108,8 +108,7 @@
 
   JavaMethod* meth = getJVM()->IPToJavaMethod(ip);
 
-  if (meth) return meth->classDef;
-  else return 0;
+  return meth->classDef;
 }
 
 void JavaThread::getJavaFrameContext(std::vector<void*>& context) {
@@ -128,7 +127,7 @@
       void* ip = FRAME_IP(addr);
       context.push_back(ip);
       addr = (void**)addr[0];
-      // End walking the stack when we cross a native -> Java call. Here
+      // We end walking the stack when we cross a native -> Java call. Here
       // the iterator points to a native -> Java call. We dereference addr twice
       // because a native -> Java call always contains the signature function.
     } while (((void***)addr)[0][0] != *it);

Modified: vmkit/trunk/lib/JnJVM/VMCore/JavaThread.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JavaThread.h?rev=61490&r1=61489&r2=61490&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaThread.h (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaThread.h Tue Dec 30 06:18:59 2008
@@ -164,6 +164,7 @@
   ///
   void throwFromJNI() {
     assert(sjlj_buffers.size());
+    internalPendingException = 0;
 #if defined(__MACH__)
     longjmp((int*)sjlj_buffers.back(), 1);
 #else

Modified: vmkit/trunk/lib/JnJVM/VMCore/Jni.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/Jni.cpp?rev=61490&r1=61489&r2=61490&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/Jni.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/Jni.cpp Tue Dec 30 06:18:59 2008
@@ -130,13 +130,13 @@
 }
 
 
-jint ThrowNew(JNIEnv* env, jclass clazz, const char *msg) {
+jint ThrowNew(JNIEnv* env, jclass Cl, const char *msg) {
   
   BEGIN_JNI_EXCEPTION
   
-  JavaThread* th = JavaThread::get();
-  Jnjvm* vm = th->getJVM();
-  UserCommonClass* cl = NativeUtil::resolvedImplClass(vm, clazz, true);
+  Jnjvm* vm = NativeUtil::myVM(env);
+  verifyNull(Cl);
+  UserCommonClass* cl = NativeUtil::resolvedImplClass(vm, Cl, true);
   if (!cl->asClass()) assert(0 && "implement me");
   UserClass* realCl = cl->asClass();
   JavaObject* res = realCl->doNew(vm);

Modified: vmkit/trunk/lib/JnJVM/VMCore/NativeUtil.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/NativeUtil.h?rev=61490&r1=61489&r2=61490&view=diff

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/NativeUtil.h (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/NativeUtil.h Tue Dec 30 06:18:59 2008
@@ -25,34 +25,30 @@
 
 
 #define BEGIN_NATIVE_EXCEPTION(level) \
-  JavaObject* excp = 0; \
   JavaThread* __th = JavaThread::get(); \
   __th->startNative(level); \
+  bool __exc = false; \
   try {
 
 #define END_NATIVE_EXCEPTION \
   } catch(...) { \
-    excp = JavaThread::getJavaException(); \
-    JavaThread::clearException(); \
+    __exc = true; \
   } \
-  if (excp) { \
-    __th->pendingException = excp; \
+  if (__exc) { \
     __th->throwFromNative(); \
   } \
   __th->endNative();
 
 #define BEGIN_JNI_EXCEPTION \
-  JavaObject* excp = 0; \
+  JavaThread* th = JavaThread::get(); \
+  bool __exc = 0; \
   try {
 
 #define END_JNI_EXCEPTION \
   } catch(...) { \
-    excp = JavaThread::getJavaException(); \
-    JavaThread::clearException(); \
+    __exc = true; \
   } \
-  if (excp) { \
-    JavaThread* th = JavaThread::get(); \
-    th->pendingException = excp; \
+  if (__exc) { \
     th->throwFromJNI(); \
   }
 





More information about the vmkit-commits mailing list