[vmkit-commits] [vmkit] r180505 - Fixing comments and adding SystemExit in upcalls for OpenJDK

Peter Senna Tschudin peter.senna at gmail.com
Thu Apr 25 10:18:58 PDT 2013


Author: peter.senna
Date: Thu Apr 25 12:17:27 2013
New Revision: 180505

URL: http://llvm.org/viewvc/llvm-project?rev=180505&view=rev
Log:
Fixing comments and adding SystemExit in upcalls for OpenJDK
(cherry picked from commit 563a2209db4c8382094ab636bdb845b221ebae69)

Modified:
    vmkit/trunk/lib/j3/ClassLib/OpenJDK/JavaUpcalls.cpp
    vmkit/trunk/lib/j3/ClassLib/OpenJDK/JavaUpcalls.h
    vmkit/trunk/lib/j3/VMCore/Jnjvm.cpp

Modified: vmkit/trunk/lib/j3/ClassLib/OpenJDK/JavaUpcalls.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/ClassLib/OpenJDK/JavaUpcalls.cpp?rev=180505&r1=180504&r2=180505&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/ClassLib/OpenJDK/JavaUpcalls.cpp (original)
+++ vmkit/trunk/lib/j3/ClassLib/OpenJDK/JavaUpcalls.cpp Thu Apr 25 12:17:27 2013
@@ -201,6 +201,7 @@ JavaMethod* Classpath::IntToString;
 
 JavaMethod* Classpath::SystemArraycopy;
 Class*      Classpath::SystemClass;
+JavaMethod* Classpath::SystemExit;
 JavaMethod* Classpath::initSystem;
 Class*      Classpath::EnumClass;
 Class*      Classpath::assertionStatusDirectivesClass;
@@ -795,6 +796,9 @@ void Classpath::initialiseClasspath(Jnjv
 
   SystemClass = UPCALL_CLASS(loader, "java/lang/System");
 
+  SystemExit = UPCALL_METHOD(loader, "java/lang/System", "exit",
+            "(I)V", ACC_STATIC);
+
   initSystem =
     UPCALL_METHOD(loader, "java/lang/System", "initializeSystemClass", "()V",
         ACC_STATIC);

Modified: vmkit/trunk/lib/j3/ClassLib/OpenJDK/JavaUpcalls.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/ClassLib/OpenJDK/JavaUpcalls.h?rev=180505&r1=180504&r2=180505&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/ClassLib/OpenJDK/JavaUpcalls.h (original)
+++ vmkit/trunk/lib/j3/ClassLib/OpenJDK/JavaUpcalls.h Thu Apr 25 12:17:27 2013
@@ -233,6 +233,7 @@ public:
 
   ISOLATE_STATIC JavaMethod* SystemArraycopy;
   ISOLATE_STATIC Class*      SystemClass;
+  ISOLATE_STATIC JavaMethod* SystemExit;
   ISOLATE_STATIC JavaMethod* initSystem;
 
   ISOLATE_STATIC JavaMethod* IntToString;

Modified: vmkit/trunk/lib/j3/VMCore/Jnjvm.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/VMCore/Jnjvm.cpp?rev=180505&r1=180504&r2=180505&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/VMCore/Jnjvm.cpp (original)
+++ vmkit/trunk/lib/j3/VMCore/Jnjvm.cpp Thu Apr 25 12:17:27 2013
@@ -45,7 +45,8 @@ const char* Jnjvm::envSeparator = ":";
 const unsigned int Jnjvm::Magic = 0xcafebabe;
 
 /**
- * In JVM specification, the virtual machine should execute some code.
+ * In JVM specification, the virtual machine should execute some code when
+ *  the application finish.
  * See Runtime.addShutdownHook
  * In GNUClasspath the default behavior when the program call System.exit
  * is to execute such a code.
@@ -58,7 +59,6 @@ void threadToDetectCtrl_C(vmkit::Thread*
 		vmkit::condForCtrl_C.wait(&vmkit::lockForCtrl_C);
 		vmkit::lockForCtrl_C.unlock(th);
 	}
-	fprintf(stderr, "Crazy stuff\n");
 	JavaThread* kk = (JavaThread*)th;
 	UserClass* cl = kk->getJVM()->upcalls->SystemClass;
 	kk->getJVM() -> upcalls->SystemExit->invokeIntStatic(kk->getJVM(), cl, 0);





More information about the vmkit-commits mailing list