[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