[llvm-commits] [vmkit] r50264 - in /vmkit/trunk/lib/JnJVM: Classpath/ClasspathVMSystemProperties.cpp VMCore/JavaIsolate.cpp VMCore/JavaUpcalls.cpp

Nicolas Geoffray nicolas.geoffray at lip6.fr
Fri Apr 25 09:08:20 PDT 2008


Author: geoffray
Date: Fri Apr 25 11:08:20 2008
New Revision: 50264

URL: http://llvm.org/viewvc/llvm-project?rev=50264&view=rev
Log:
Implement Java post-properties.


Modified:
    vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMSystemProperties.cpp
    vmkit/trunk/lib/JnJVM/VMCore/JavaIsolate.cpp
    vmkit/trunk/lib/JnJVM/VMCore/JavaUpcalls.cpp

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

==============================================================================
--- vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMSystemProperties.cpp (original)
+++ vmkit/trunk/lib/JnJVM/Classpath/ClasspathVMSystemProperties.cpp Fri Apr 25 11:08:20 2008
@@ -118,6 +118,12 @@
 
 }
 
-
+extern "C" void propertiesPostInit(JavaObject* prop) {
+  Jnjvm* vm = JavaThread::get()->isolate;
+  for (std::vector<std::pair<char*, char*> >::iterator i = vm->postProperties.begin(), 
+            e = vm->postProperties.end(); i!= e; i++) {
+    setProperty(vm, prop, i->first, i->second);
+  }
+}
 
 }

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

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaIsolate.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaIsolate.cpp Fri Apr 25 11:08:20 2008
@@ -198,7 +198,7 @@
       else vm->setClasspath(argv[i]);
     } else if (!(strcmp(cur, "-debug"))) {
       nyi();
-    } else if (!(strcmp(cur, "-D"))) {
+    } else if (!(strncmp(cur, "-D", 2))) {
       uint32 len = strlen(cur);
       if (len == 2) {
         printInformation();

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

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JavaUpcalls.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JavaUpcalls.cpp Fri Apr 25 11:08:20 2008
@@ -253,6 +253,12 @@
     getCallingClassLoader->llvmFunction->setName("getCallingClassLoader");
     getCallingClassLoader->llvmFunction->setLinkage(llvm::GlobalValue::ExternalLinkage);
   }
+  
+  JavaMethod* postProperties = UPCALL_METHOD(vm, "gnu/classpath/VMSystemProperties", "postInit", "(Ljava/util/Properties;)V", ACC_STATIC);
+  {
+    postProperties->llvmFunction->setName("propertiesPostInit");
+    postProperties->llvmFunction->setLinkage(llvm::GlobalValue::ExternalLinkage);
+  }
 }
 
 extern "C" JavaString* internString(JavaString* obj) {





More information about the llvm-commits mailing list