See test/Regression/ExecutionEngine/2005-12-02-TailCallBug.ll After a callback (for lazy compilation), the execution engine would crash in JITCompilerFn(). Looks like the stub to function look up failed (it actually crashed during the map look up): // The address given to us for the stub may not be exactly right, it might be // a little bit after the stub. As such, use upper_bound to find it. std::map<void*, Function*>::iterator I = JR.state.getStubToFunctionMap(locked).upper_bound(Stub);
This appears to be working now, I can't reproduce the crash with the new front end and TOT llvm.