[LLVMdev] runtime library for jitted code
victor.zverovich at googlemail.com
Tue Jun 16 09:57:54 PDT 2009
The question about the name mangling gave me an idea that it can be used to
automate registration of DLL functions. Instead of manually creating
Function objects specifying a return type and argument types which is
error-prone and time-consuming one can get a list of functions exported from
a DLL using Windows API, demangle each name and construct a Function object
from it. Is there any support for Visual C++ style (de)mangling in LLVM or
related project? In any case I think it won't be difficult for me to write
such a converter from mangled names to LLVM function declarations.
2009/6/15 Óscar Fuentes <ofv at wanadoo.es>
> Albert Graef <Dr.Graef at t-online.de> writes:
> > Victor Zverovich wrote:
> >> I am considering a possibility of using LLVM JIT for an algebraic
> >> modelling language. I have already done some prototyping following the
> >> Kaleidoscope tutorial and currently thinking of how to connect the
> >> jitted code to a runtime library (for this language) which I would like
> >> to code in C++. If it was *NIX I would use g++ possibly with '-rdynamic'
> >> option as suggested in the tutorial to resolve required functions at
> >> runtime. However it is not an option, I am stuck to Windows and Visual
> >> C++.
> > Well, backlinking doesn't work on Windows, but you can create a dll for
> > your runtime and use LLVM's dynamic library interface to load that dll.
> > I'm doing it that way in my project (http://pure-lang.googlecode.com/,
> > search for 'sys::DynamicLibrary::' in interpreter.cc) and it works fine
> > on Windows.
> The OP says that he wants to link to a dll coded in C++. Isn't name
> mangling the main problem here?
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev