[vmkit-commits] [vmkit] r83411 - in /vmkit/trunk: include/jnjvm/JavaCompiler.h lib/JnJVM/VMCore/JnjvmClassLoader.cpp

Nicolas Geoffray nicolas.geoffray at lip6.fr
Tue Oct 6 13:37:16 PDT 2009


Author: geoffray
Date: Tue Oct  6 15:37:15 2009
New Revision: 83411

URL: http://llvm.org/viewvc/llvm-project?rev=83411&view=rev
Log:
Move the dlsym functionality to the compiler.


Modified:
    vmkit/trunk/include/jnjvm/JavaCompiler.h
    vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.cpp

Modified: vmkit/trunk/include/jnjvm/JavaCompiler.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/include/jnjvm/JavaCompiler.h?rev=83411&r1=83410&r2=83411&view=diff

==============================================================================
--- vmkit/trunk/include/jnjvm/JavaCompiler.h (original)
+++ vmkit/trunk/include/jnjvm/JavaCompiler.h Tue Oct  6 15:37:15 2009
@@ -13,6 +13,7 @@
 #include <cstdio>
 #include <cstdlib>
 #include <string>
+#include <dlfcn.h>
 
 #include "mvm/GC/GC.h"
 
@@ -83,6 +84,10 @@
   virtual mvm::StackScanner* createStackScanner() {
     return new mvm::UnpreciseStackScanner();
   }
+
+  virtual void* loadMethod(void* handle, const char* symbol) {
+    return dlsym(handle, symbol);
+  }
 };
 
 }

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

==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JnjvmClassLoader.cpp Tue Oct  6 15:37:15 2009
@@ -1026,12 +1026,12 @@
 }
 
 intptr_t JnjvmClassLoader::loadInLib(const char* buf, bool& jnjvm) {
-  uintptr_t res = (uintptr_t)dlsym(SELF_HANDLE, buf);
+  uintptr_t res = (uintptr_t)TheCompiler->loadMethod(SELF_HANDLE, buf);
   
   if (!res) {
     for (std::vector<void*>::iterator i = nativeLibs.begin(),
               e = nativeLibs.end(); i!= e; ++i) {
-      res = (uintptr_t)dlsym((*i), buf);
+      res = (uintptr_t)TheCompiler->loadMethod((*i), buf);
       if (res) break;
     }
   } else {
@@ -1051,7 +1051,7 @@
 }
 
 intptr_t JnjvmClassLoader::loadInLib(const char* name, void* handle) {
-  return (intptr_t)dlsym(handle, name);
+  return (intptr_t)TheCompiler->loadMethod(handle, name);
 }
 
 intptr_t JnjvmClassLoader::nativeLookup(JavaMethod* meth, bool& jnjvm,





More information about the vmkit-commits mailing list