[vmkit-commits] [vmkit] r75459 - in /vmkit/trunk: include/jnjvm/JavaCompiler.h include/jnjvm/JnjvmModule.h lib/JnJVM/Compiler/JITInfo.cpp lib/JnJVM/Compiler/JavaAOTCompiler.cpp lib/JnJVM/Compiler/JavaJITCompiler.cpp
Nicolas Geoffray
nicolas.geoffray at lip6.fr
Mon Jul 13 02:42:18 PDT 2009
Author: geoffray
Date: Mon Jul 13 04:42:13 2009
New Revision: 75459
URL: http://llvm.org/viewvc/llvm-project?rev=75459&view=rev
Log:
New compiler function, emitFunctionName, to emit a function
name in the LLVM IR.
Modified:
vmkit/trunk/include/jnjvm/JavaCompiler.h
vmkit/trunk/include/jnjvm/JnjvmModule.h
vmkit/trunk/lib/JnJVM/Compiler/JITInfo.cpp
vmkit/trunk/lib/JnJVM/Compiler/JavaAOTCompiler.cpp
vmkit/trunk/lib/JnJVM/Compiler/JavaJITCompiler.cpp
Modified: vmkit/trunk/include/jnjvm/JavaCompiler.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/include/jnjvm/JavaCompiler.h?rev=75459&r1=75458&r2=75459&view=diff
==============================================================================
--- vmkit/trunk/include/jnjvm/JavaCompiler.h (original)
+++ vmkit/trunk/include/jnjvm/JavaCompiler.h Mon Jul 13 04:42:13 2009
@@ -41,6 +41,10 @@
return false;
}
+ virtual bool emitFunctionName() {
+ return false;
+ }
+
virtual void resolveVirtualClass(Class* cl) {
fprintf(stderr, "Resolving a class in an empty compiler");
abort();
Modified: vmkit/trunk/include/jnjvm/JnjvmModule.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/include/jnjvm/JnjvmModule.h?rev=75459&r1=75458&r2=75459&view=diff
==============================================================================
--- vmkit/trunk/include/jnjvm/JnjvmModule.h (original)
+++ vmkit/trunk/include/jnjvm/JnjvmModule.h Mon Jul 13 04:42:13 2009
@@ -384,6 +384,7 @@
JavaLLVMCompiler(const std::string &ModuleID);
virtual bool isStaticCompiling() = 0;
+ virtual bool emitFunctionName() = 0;
llvm::Module* getLLVMModule() {
return TheModule;
@@ -466,12 +467,19 @@
class JavaJITCompiler : public JavaLLVMCompiler {
public:
+
+ bool EmitFunctionName;
+
JavaJITCompiler(const std::string &ModuleID);
virtual bool isStaticCompiling() {
return false;
}
-
+
+ virtual bool emitFunctionName() {
+ return EmitFunctionName;
+ }
+
virtual void makeVT(Class* cl);
virtual JavaCompiler* Create(const std::string& ModuleID) {
@@ -516,6 +524,10 @@
return true;
}
+ virtual bool emitFunctionName() {
+ return true;
+ }
+
virtual JavaCompiler* Create(const std::string& ModuleID) {
return new JavaAOTCompiler(ModuleID);
}
Modified: vmkit/trunk/lib/JnJVM/Compiler/JITInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/Compiler/JITInfo.cpp?rev=75459&r1=75458&r2=75459&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/Compiler/JITInfo.cpp (original)
+++ vmkit/trunk/lib/JnJVM/Compiler/JITInfo.cpp Mon Jul 13 04:42:13 2009
@@ -131,7 +131,7 @@
if (!methodFunction) {
JnjvmClassLoader* JCL = methodDef->classDef->classLoader;
JavaLLVMCompiler* Mod = (JavaLLVMCompiler*)JCL->getCompiler();
- if (Mod->isStaticCompiling()) {
+ if (Mod->emitFunctionName()) {
const UTF8* jniConsClName = methodDef->classDef->name;
const UTF8* jniConsName = methodDef->name;
Modified: vmkit/trunk/lib/JnJVM/Compiler/JavaAOTCompiler.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/Compiler/JavaAOTCompiler.cpp?rev=75459&r1=75458&r2=75459&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/Compiler/JavaAOTCompiler.cpp (original)
+++ vmkit/trunk/lib/JnJVM/Compiler/JavaAOTCompiler.cpp Mon Jul 13 04:42:13 2009
@@ -1646,6 +1646,7 @@
if (!M->clinits->empty()) {
Comp = new JavaJITCompiler("JIT");
+ Comp->EmitFunctionName = true;
bootstrapLoader->setCompiler(Comp);
bootstrapLoader->analyseClasspathEnv(vm->classpath);
} else {
Modified: vmkit/trunk/lib/JnJVM/Compiler/JavaJITCompiler.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/Compiler/JavaJITCompiler.cpp?rev=75459&r1=75458&r2=75459&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/Compiler/JavaJITCompiler.cpp (original)
+++ vmkit/trunk/lib/JnJVM/Compiler/JavaJITCompiler.cpp Mon Jul 13 04:42:13 2009
@@ -122,7 +122,12 @@
JavaJITCompiler::JavaJITCompiler(const std::string &ModuleID) :
JavaLLVMCompiler(ModuleID) {
-
+
+#if DEBUG
+ EmitFunctionName = true;
+#else
+ EmitFunctionName = false;
+#endif
TheModuleProvider = new JnjvmModuleProvider(TheModule);
addJavaPasses();
}
More information about the vmkit-commits
mailing list