[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