[vmkit-commits] [vmkit] r170943 - in /vmkit/trunk/lib/j3/Compiler: JavaLLVMCompiler.cpp LLVMInfo.cpp

Nicolas Geoffray nicolas.geoffray at gmail.com
Fri Dec 21 14:44:29 PST 2012


Author: geoffray
Date: Fri Dec 21 16:44:29 2012
New Revision: 170943

URL: http://llvm.org/viewvc/llvm-project?rev=170943&view=rev
Log:
Bugfix when a non-customized version was becoming a customized one. If the LLVMInfo does not know if the method is customizable, don't try to customize it.


Modified:
    vmkit/trunk/lib/j3/Compiler/JavaLLVMCompiler.cpp
    vmkit/trunk/lib/j3/Compiler/LLVMInfo.cpp

Modified: vmkit/trunk/lib/j3/Compiler/JavaLLVMCompiler.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/Compiler/JavaLLVMCompiler.cpp?rev=170943&r1=170942&r2=170943&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/Compiler/JavaLLVMCompiler.cpp (original)
+++ vmkit/trunk/lib/j3/Compiler/JavaLLVMCompiler.cpp Fri Dec 21 16:44:29 2012
@@ -61,7 +61,7 @@
   // We are jitting. Take the lock.
   vmkit::VmkitModule::protectIR();
   if (func->getLinkage() == GlobalValue::ExternalWeakLinkage) {
-    JavaJIT jit(this, meth, func, customizeFor);
+    JavaJIT jit(this, meth, func, LMI->isCustomizable? customizeFor : NULL);
     if (isNative(meth->access)) {
       jit.nativeCompile();
       vmkit::VmkitModule::runPasses(func, JavaNativeFunctionPasses);
@@ -75,11 +75,9 @@
     if (!LMI->isCustomizable && jit.isCustomizable) {
       // It's the first time we parsed the method and we just found
       // out it can be customized.
+      // TODO(geoffray): return a customized version to this caller.
       meth->isCustomizable = true;
       LMI->isCustomizable = true;
-      if (customizeFor != NULL) {
-        LMI->setCustomizedVersion(customizeFor, func);
-      }
     }
   }
   vmkit::VmkitModule::unprotectIR();

Modified: vmkit/trunk/lib/j3/Compiler/LLVMInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/Compiler/LLVMInfo.cpp?rev=170943&r1=170942&r2=170943&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/Compiler/LLVMInfo.cpp (original)
+++ vmkit/trunk/lib/j3/Compiler/LLVMInfo.cpp Fri Dec 21 16:44:29 2012
@@ -209,17 +209,6 @@
   return result;
 }
 
-void LLVMMethodInfo::setCustomizedVersion(Class* cl, llvm::Function* F) {
-  assert(customizedVersions.size() == 0);
-  vmkit::ThreadAllocator allocator;
-  if (Compiler->emitFunctionName()) {
-    char* buf = GetMethodName(allocator, methodDef, cl);
-    F->setName(buf);
-  }
-  methodFunction = NULL;
-  customizedVersions[cl] = F;
-}
-
 FunctionType* LLVMMethodInfo::getFunctionType() {
   if (!functionType) {
     Signdef* sign = methodDef->getSignature();





More information about the vmkit-commits mailing list