[LLVMbugs] [Bug 3856] New: LLVM runs out of memory invoking functions under JIT

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Sat Mar 21 06:23:26 PDT 2009


http://llvm.org/bugs/show_bug.cgi?id=3856

           Summary: LLVM runs out of memory invoking functions under JIT
           Product: new-bugs
           Version: unspecified
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Keywords: missing-feature
          Severity: normal
          Priority: P2
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: alexandre.hardy at gmail.com
                CC: llvmbugs at cs.uiuc.edu


I get the error message:
   JIT: Ran out of space for generated machine code!

I have written an application that generates millions of calls
to a function that takes several arguments. The method
runFunction creates a new Stub for each call to the function,
because the function does not match any common predefined
format. Each invocation differs slightly so new stubs are generated
continuously. Eventually the JIT compiler is unable to generate
more machine code.

This problem occurs in LLVM 2.3, 2.4 and 2.5. I have not tried the
SVN code.

Proposed Solution:
  runFunction ends with a call to 
       return runFunction(Stub, std::vector<GenericValue>();
  This line should be replaced by
       GenericValue ret=runFunction(Stub, std::vector<GenericValue>();
       freeMachineCodeForFunction(Stub);
       Stub->removeFromParent();
       return ret;

Perhaps better alternatives are possible. I am not extremely familiar with
LLVM.


-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list