[LLVMdev] Saving/restoring executable code from the the JIT?
ofv at wanadoo.es
Sat Sep 12 14:47:41 PDT 2009
Renato Golin <rengolin at systemcall.org> writes:
> or what about register variables, or objects half as registers half in
> memory, or optimizations that exists on one machine (presence of FPU,
> MMU, etc) and not on others, byte sex, word size and many other
> problems... All of this is the job of serialization engine.
My goal is to avoid waiting several minutes on application startup until
optimization and native codegen ends. No suspending/restarting, just
compiling, saving native generated code, and loading on future sessions,
more akin a conventional compiler.
Generating a dll is not an option because:
1. It will require distributing a linker.
2. It will require the presence of an import library satisfying the
external symbols referenced by the dll, and some of those symbols are
unknown until the application starts (this may not apply to unixes, but
it does for windows). Essentially, LLVM would have to do the linker's
work when the previously saved native code is loaded back by the
application on the next session.
3. Some other reasons I forgot when studied the idea on the past.
More information about the llvm-dev