[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