[LLVMbugs] [Bug 1506] NEW: JIT not caching stub code built for functions with "non-common" argument patterns

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Tue Jun 12 02:41:47 PDT 2007


           Summary: JIT not caching stub code built for functions with "non-
                    common" argument patterns
           Product: libraries
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Target-Independent JIT
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: duraid at octopus.com.au
                CC: letz at grame.fr

A user points out the following thinko in the JIT when dispatching code that is
not of a common argument type (i.e. one where a stub has to be created.)

What we *should* be doing is caching the code generated for the function that is
being passed to runFunction(). If the function passed is of a common type such
that a stub doesn't need to be created, this works fine. However, if the
function needs to be called through a stub, the *stub* gets cached but the
actual user function is not.

As he put it on IRC:

"you have runFunction(f) ==> [make stub ==> runFunction (Stub(f))], then
*Stub(f)* is cached yes
but then runFunction(f) again Stub(f) is there but runFunction cannot know that"

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.

More information about the llvm-bugs mailing list