[vmkit-commits] [vmkit] r83466 - in /vmkit/trunk: include/jnjvm/JnjvmModule.h lib/JnJVM/Compiler/JavaJITCompiler.cpp
Nicolas Geoffray
nicolas.geoffray at lip6.fr
Wed Oct 7 10:07:44 PDT 2009
Author: geoffray
Date: Wed Oct 7 12:07:44 2009
New Revision: 83466
URL: http://llvm.org/viewvc/llvm-project?rev=83466&view=rev
Log:
When looking for a native method, first look if the method
is in the globalModule.
Modified:
vmkit/trunk/include/jnjvm/JnjvmModule.h
vmkit/trunk/lib/JnJVM/Compiler/JavaJITCompiler.cpp
Modified: vmkit/trunk/include/jnjvm/JnjvmModule.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/include/jnjvm/JnjvmModule.h?rev=83466&r1=83465&r2=83466&view=diff
==============================================================================
--- vmkit/trunk/include/jnjvm/JnjvmModule.h (original)
+++ vmkit/trunk/include/jnjvm/JnjvmModule.h Wed Oct 7 12:07:44 2009
@@ -482,7 +482,7 @@
virtual void virtualCallAP(Signdef* sign) {
getSignatureInfo(sign)->getVirtualAP();
}
-
+
llvm::Function* NativeLoader;
};
@@ -566,6 +566,8 @@
return new mvm::UnpreciseStackScanner();
}
#endif
+
+ virtual void* loadMethod(void* handle, const char* symbol);
};
Modified: vmkit/trunk/lib/JnJVM/Compiler/JavaJITCompiler.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/Compiler/JavaJITCompiler.cpp?rev=83466&r1=83465&r2=83466&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/Compiler/JavaJITCompiler.cpp (original)
+++ vmkit/trunk/lib/JnJVM/Compiler/JavaJITCompiler.cpp Wed Oct 7 12:07:44 2009
@@ -304,3 +304,14 @@
delete[] newArgv;
return 0;
}
+
+void* JavaJITCompiler::loadMethod(void* handle, const char* symbol) {
+ Function* F = mvm::MvmModule::globalModule->getFunction(symbol);
+ if (F) {
+ void* res = mvm::MvmModule::executionEngine->getPointerToFunction(F);
+ return res;
+ }
+
+ return JavaCompiler::loadMethod(handle, symbol);
+}
+
More information about the vmkit-commits
mailing list