[vmkit-commits] [vmkit] r61495 - in /vmkit/trunk: include/mvm/Threads/Thread.h lib/JnJVM/Classpath/ClasspathConstructor.cpp lib/JnJVM/Classpath/ClasspathMethod.cpp lib/JnJVM/Classpath/ClasspathVMClass.cpp lib/JnJVM/Classpath/ClasspathVMThread.cpp lib/JnJVM/VMCore/JavaRuntimeJIT.cpp lib/JnJVM/VMCore/JavaThread.h lib/JnJVM/VMCore/Jni.cpp lib/JnJVM/VMCore/Jnjvm.cpp lib/Mvm/GCMmap2/gccollector.cpp lib/N3/VMCore/CLIRuntimeJIT.cpp

Nicolas Geoffray nicolas.geoffray at lip6.fr
Tue Dec 30 06:23:29 PST 2008


Author: geoffray
Date: Tue Dec 30 08:23:26 2008
New Revision: 61495

URL: http://llvm.org/viewvc/llvm-project?rev=61495&view=rev
Log:
Code cleanup: make static functions in JavaThread and mvm::Thread
instance functions.


Modified:
    vmkit/trunk/include/mvm/Threads/Thread.h
    vmkit/trunk/lib/JnJVM/Classpath/ClasspathConstructor.cpp
    vmkit/trunk/lib/JnJVM/Classpath/ClasspathMethod.cpp
    vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMClass.cpp
    vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMThread.cpp
    vmkit/trunk/lib/JnJVM/VMCore/JavaRuntimeJIT.cpp
    vmkit/trunk/lib/JnJVM/VMCore/JavaThread.h
    vmkit/trunk/lib/JnJVM/VMCore/Jni.cpp
    vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp
    vmkit/trunk/lib/Mvm/GCMmap2/gccollector.cpp
    vmkit/trunk/lib/N3/VMCore/CLIRuntimeJIT.cpp

Modified: vmkit/trunk/include/mvm/Threads/Thread.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/include/mvm/Threads/Thread.h?rev=61495&r1=61494&r2=61495&view=diff

==============================================================================
--- vmkit/trunk/include/mvm/Threads/Thread.h (original)
+++ vmkit/trunk/include/mvm/Threads/Thread.h Tue Dec 30 08:23:26 2008
@@ -168,9 +168,8 @@
 
 
   /// clearException - Clear any pending exception of the current thread.
-  static void clearException() {
-    Thread* th = Thread::get();
-    th->internalClearException();
+  void clearException() {
+    internalClearException();
   }
 
   /// IDMask - Apply this mask to the stack pointer to get the Thread object.

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

==============================================================================
--- vmkit/trunk/lib/JnJVM/Classpath/ClasspathConstructor.cpp (original)
+++ vmkit/trunk/lib/JnJVM/Classpath/ClasspathConstructor.cpp Tue Dec 30 08:23:26 2008
@@ -120,11 +120,12 @@
       }
       
       JavaObject* excp = 0;
+      JavaThread* th = JavaThread::get();
       try {
         meth->invokeIntSpecialBuf(vm, cl, obj, startBuf);
       }catch(...) {
-        excp = JavaThread::getJavaException();
-        JavaThread::clearException();
+        excp = th->getJavaException();
+        th->clearException();
       }
       if (excp) {
         if (excp->classOf->isAssignableFrom(vm->upcalls->newException)) {
@@ -133,7 +134,7 @@
           vm->invocationTargetException(excp);
         } else {
           // If it's an error, throw it again.
-          JavaThread::throwException(excp);
+          th->throwException(excp);
         }
       }
     

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

==============================================================================
--- vmkit/trunk/lib/JnJVM/Classpath/ClasspathMethod.cpp (original)
+++ vmkit/trunk/lib/JnJVM/Classpath/ClasspathMethod.cpp Tue Dec 30 08:23:26 2008
@@ -155,6 +155,7 @@
     }
     
     JavaObject* exc = 0;
+    JavaThread* th = JavaThread::get();
 
 #define RUN_METH(TYPE) \
     try{ \
@@ -169,16 +170,16 @@
         val = meth->invoke##TYPE##StaticBuf(vm, cl, _buf); \
       } \
     }catch(...) { \
-      exc = JavaThread::getJavaException(); \
+      exc = th->getJavaException(); \
       assert(exc && "no exception?"); \
-      JavaThread::clearException(); \
+      th->clearException(); \
     } \
     \
     if (exc) { \
       if (exc->classOf->isAssignableFrom(vm->upcalls->newException)) { \
-        JavaThread::get()->getJVM()->invocationTargetException(exc); \
+        th->getJVM()->invocationTargetException(exc); \
       } else { \
-        JavaThread::throwException(exc); \
+        th->throwException(exc); \
       } \
     } \
     

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

==============================================================================
--- vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMClass.cpp (original)
+++ vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMClass.cpp Tue Dec 30 08:23:26 2008
@@ -494,7 +494,7 @@
 jclass clazz, 
 #endif
 jobject throwable) {
-  JavaThread::throwException((JavaObject*)throwable);
+  JavaThread::get()->throwException((JavaObject*)throwable);
 }
 
 JNIEXPORT jobjectArray Java_java_lang_VMClass_getDeclaredAnnotations(

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

==============================================================================
--- vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMThread.cpp (original)
+++ vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMThread.cpp Tue Dec 30 08:23:26 2008
@@ -29,7 +29,7 @@
 jclass clazz
 #endif
 ) {
-  return (jobject)(JavaThread::currentThread());
+  return (jobject)(JavaThread::get()->currentThread());
 }
 
 static void start(JavaThread* thread) {

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

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaRuntimeJIT.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaRuntimeJIT.cpp Tue Dec 30 08:23:26 2008
@@ -394,27 +394,27 @@
 
 // Never throws.
 extern "C" void* JavaThreadGetException() {
-  return JavaThread::getException();
+  return JavaThread::get()->getException();
 }
 
 // Never throws.
 extern "C" JavaObject* JavaThreadGetJavaException() {
-  return JavaThread::getJavaException();
+  return JavaThread::get()->getJavaException();
 }
 
 // Does not call any Java code.
 extern "C" void JavaThreadThrowException(JavaObject* obj) {
-  return JavaThread::throwException(obj);
+  return JavaThread::get()->throwException(obj);
 }
 
 // Never throws.
 extern "C" bool JavaThreadCompareException(UserClass* cl) {
-  return JavaThread::compareException(cl);
+  return JavaThread::get()->compareException(cl);
 }
 
 // Never throws.
 extern "C" void JavaThreadClearException() {
-  return JavaThread::clearException();
+  return JavaThread::get()->clearException();
 }
 
 // Never throws.
@@ -426,66 +426,71 @@
 extern "C" void jnjvmNullPointerException() {
   
   JavaObject *exc = 0;
+  JavaThread *th = JavaThread::get();
 
   BEGIN_NATIVE_EXCEPTION(1)
   
-  exc = JavaThread::get()->getJVM()->CreateNullPointerException();
+  exc = th->getJVM()->CreateNullPointerException();
 
   END_NATIVE_EXCEPTION
 
-  JavaThread::throwException(exc);
+  th->throwException(exc);
 }
 
 // Creates a Java object and then throws it.
 extern "C" void negativeArraySizeException(sint32 val) {
   JavaObject *exc = 0;
+  JavaThread *th = JavaThread::get();
 
   BEGIN_NATIVE_EXCEPTION(1)
   
-  exc = JavaThread::get()->getJVM()->CreateNegativeArraySizeException();
+  exc = th->getJVM()->CreateNegativeArraySizeException();
 
   END_NATIVE_EXCEPTION
 
-  JavaThread::throwException(exc);
+  th->throwException(exc);
 }
 
 // Creates a Java object and then throws it.
 extern "C" void outOfMemoryError(sint32 val) {
   JavaObject *exc = 0;
+  JavaThread *th = JavaThread::get();
 
   BEGIN_NATIVE_EXCEPTION(1)
   
-  exc = JavaThread::get()->getJVM()->CreateOutOfMemoryError();
+  exc = th->getJVM()->CreateOutOfMemoryError();
 
   END_NATIVE_EXCEPTION
 
-  JavaThread::throwException(exc);
+  th->throwException(exc);
 }
 
 // Creates a Java object and then throws it.
 extern "C" void jnjvmClassCastException(JavaObject* obj, UserCommonClass* cl) {
   JavaObject *exc = 0;
+  JavaThread *th = JavaThread::get();
 
   BEGIN_NATIVE_EXCEPTION(1)
   
-  exc = JavaThread::get()->getJVM()->CreateClassCastException(obj, cl);
+  exc = th->getJVM()->CreateClassCastException(obj, cl);
 
   END_NATIVE_EXCEPTION
 
-  JavaThread::throwException(exc);
+  th->throwException(exc);
 }
 
 // Creates a Java object and then throws it.
 extern "C" void indexOutOfBoundsException(JavaObject* obj, sint32 index) {
   JavaObject *exc = 0;
+  JavaThread *th = JavaThread::get();
 
   BEGIN_NATIVE_EXCEPTION(1)
   
-  exc = JavaThread::get()->getJVM()->CreateIndexOutOfBoundsException(index);
+  exc = th->getJVM()->CreateIndexOutOfBoundsException(index);
 
   END_NATIVE_EXCEPTION
 
-  JavaThread::throwException(exc);
+  th->throwException(exc);
 }
 
 extern "C" void printMethodStart(JavaMethod* meth) {

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

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaThread.h (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaThread.h Tue Dec 30 08:23:26 2008
@@ -150,7 +150,7 @@
 
   /// currentThread - Return the current thread as a Java object.
   ///
-  static JavaObject* currentThread() {
+  JavaObject* currentThread() {
     JavaThread* result = get();
     if (result != 0)
       return result->javaThread;
@@ -160,7 +160,7 @@
  
   /// getException - Return the C++ specific exception object.
   ///
-  static void* getException() {
+  void* getException() {
     // 32 = sizeof(_Unwind_Exception) in libgcc...
     return (void*)
       ((uintptr_t)JavaThread::get()->internalPendingException - 32);
@@ -168,17 +168,17 @@
  
   /// throwException - Throw the given exception in the current thread.
   ///
-  static void throwException(JavaObject* obj);
+  void throwException(JavaObject* obj);
 
   /// throwPendingException - Throw a pending exception created by JNI.
   ///
-  static void throwPendingException();
+  void throwPendingException();
   
   /// compareException - Compare the pending exception's class with the
   /// given class.
   ///
-  static bool compareException(UserClass* cl) {
-    JavaObject* pe = JavaThread::get()->pendingException;
+  bool compareException(UserClass* cl) {
+    JavaObject* pe = pendingException;
     assert(pe && "no pending exception?");
     bool val = pe->classOf->subclassOf(cl);
     return val;
@@ -186,8 +186,8 @@
   
   /// getJavaException - Return the pending exception.
   ///
-  static JavaObject* getJavaException() {
-    return JavaThread::get()->pendingException;
+  JavaObject* getJavaException() {
+    return pendingException;
   }
 
   /// throwFromJNI - Throw an exception after executing JNI code.

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

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/Jni.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/Jni.cpp Tue Dec 30 08:23:26 2008
@@ -2560,8 +2560,9 @@
 
   BEGIN_JNI_EXCEPTION
 
-  JavaObject* th = JavaThread::currentThread();
-  Jnjvm* myvm = JavaThread::get()->getJVM();
+  JavaThread* _th = JavaThread::get();
+  JavaObject* th = _th->currentThread();
+  Jnjvm* myvm = _th->getJVM();
   if (th != 0) {
     (*env) = &(myvm->jniEnv);
     return JNI_OK;

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

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/Jnjvm.cpp Tue Dec 30 08:23:26 2008
@@ -74,7 +74,7 @@
     //    current thread can obtain the lock for that object
     //    (Java specification §8.13).
     acquire();
-    mvm::Thread* self = mvm::Thread::get();
+    JavaThread* self = JavaThread::get();
 
     if (getInitializationState() == inClinit) {
       // 2. If initialization by some other thread is in progress for the
@@ -147,9 +147,9 @@
       try {
         super->initialiseClass(vm);
       } catch(...) {
-        exc = JavaThread::getJavaException();
+        exc = self->getJavaException();
         assert(exc && "no exception?");
-        JavaThread::clearException();
+        self->clearException();
       }
       
       if (exc) {
@@ -158,7 +158,7 @@
         setOwnerClass(0);
         broadcastClass();
         release();
-        JavaThread::throwException(exc);
+        self->throwException(exc);
       }
     }
  
@@ -196,9 +196,9 @@
       try{
         meth->invokeIntStatic(vm, cl);
       } catch(...) {
-        exc = JavaThread::getJavaException();
+        exc = self->getJavaException();
         assert(exc && "no exception?");
-        JavaThread::clearException();
+        self->clearException();
       }
     }
 #ifdef SERVICE
@@ -228,7 +228,7 @@
     if (exc->classOf->isAssignableFrom(vm->upcalls->newException)) {
       Classpath* upcalls = classLoader->bootstrapLoader->upcalls;
       UserClass* clExcp = upcalls->ExceptionInInitializerError;
-      Jnjvm* vm = JavaThread::get()->getJVM();
+      Jnjvm* vm = self->getJVM();
       JavaObject* obj = clExcp->doNew(vm);
       if (!obj) {
         fprintf(stderr, "implement me");
@@ -247,7 +247,7 @@
     setOwnerClass(0);
     broadcastClass();
     release();
-    JavaThread::throwException(exc);
+    self->throwException(exc);
   }
 }
       
@@ -255,7 +255,7 @@
                           const JavaObject* excp) {
   JavaObject* obj = cl->doNew(this);
   init->invokeIntSpecial(this, cl, obj, excp);
-  JavaThread::throwException(obj);
+  JavaThread::get()->throwException(obj);
 }
 
 JavaObject* Jnjvm::CreateError(UserClass* cl, JavaMethod* init,
@@ -274,7 +274,7 @@
   
   if (cl && !bootstrapLoader->getModule()->isStaticCompiling()) {
     JavaObject* obj = CreateError(cl, init, tmp);
-    JavaThread::throwException(obj);
+    JavaThread::get()->throwException(obj);
   } else {
     throw std::string(tmp);
   }
@@ -864,7 +864,7 @@
 #endif
   mapInitialThread();
   loadAppClassLoader();
-  JavaObject* obj = JavaThread::currentThread();
+  JavaObject* obj = JavaThread::get()->currentThread();
   JavaObject* javaLoader = appClassLoader->getJavaClassLoader();
 #ifdef SERVICE
   if (!IsolateID)
@@ -895,8 +895,9 @@
 
   JavaObject* exc = JavaThread::get()->pendingException;
   if (exc) {
-    JavaThread::clearException();
-    JavaObject* obj = JavaThread::currentThread();
+    JavaThread* th = JavaThread::get();
+    th->clearException();
+    JavaObject* obj = th->currentThread();
     JavaObject* group = 
       upcalls->group->getObjectField(obj);
     try{

Modified: vmkit/trunk/lib/Mvm/GCMmap2/gccollector.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/Mvm/GCMmap2/gccollector.cpp?rev=61495&r1=61494&r2=61495&view=diff

==============================================================================
--- vmkit/trunk/lib/Mvm/GCMmap2/gccollector.cpp (original)
+++ vmkit/trunk/lib/Mvm/GCMmap2/gccollector.cpp Tue Dec 30 08:23:26 2008
@@ -94,7 +94,7 @@
       try {
         dest(c);
       } catch(...) {
-        mvm::Thread::clearException();
+        mvm::Thread::get()->clearException();
       }
     }
   }

Modified: vmkit/trunk/lib/N3/VMCore/CLIRuntimeJIT.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/N3/VMCore/CLIRuntimeJIT.cpp?rev=61495&r1=61494&r2=61495&view=diff

==============================================================================
--- vmkit/trunk/lib/N3/VMCore/CLIRuntimeJIT.cpp (original)
+++ vmkit/trunk/lib/N3/VMCore/CLIRuntimeJIT.cpp Tue Dec 30 08:23:26 2008
@@ -77,7 +77,7 @@
 }
 
 extern "C" void ClearException() {
-  return VMThread::clearException();
+  return VMThread::get()->clearException();
 }
 
 static VMObject* doMultiNewIntern(VMClassArray* cl, uint32 dim, sint32* buf) {





More information about the vmkit-commits mailing list