xo-jit: + lookup_symbol method on dynamic library
This commit is contained in:
parent
cf7bc43c5e
commit
f7dfd67770
2 changed files with 16 additions and 0 deletions
|
|
@ -95,6 +95,8 @@ namespace xo {
|
|||
|
||||
llvm::Value * codegen(ref::brw<Expression> expr);
|
||||
|
||||
llvm::orc::ExecutorAddr lookup_symbol(const std::string & x);
|
||||
|
||||
virtual void display(std::ostream & os) const;
|
||||
virtual std::string display_string() const;
|
||||
|
||||
|
|
|
|||
|
|
@ -442,6 +442,20 @@ namespace xo {
|
|||
return nullptr;
|
||||
} /*codegen*/
|
||||
|
||||
llvm::orc::ExecutorAddr
|
||||
Jit::lookup_symbol(const std::string & sym)
|
||||
{
|
||||
static llvm::ExitOnError llvm_exit_on_err;
|
||||
|
||||
/* llvm_sym: ExecutorSymbolDef */
|
||||
auto llvm_sym = llvm_exit_on_err(kal_jit_->lookup(sym));
|
||||
|
||||
/* llvm_addr: ExecutorAddr */
|
||||
auto llvm_addr = llvm_sym.getAddress();
|
||||
|
||||
return llvm_addr;
|
||||
} /*lookup_symbol*/
|
||||
|
||||
void
|
||||
Jit::display(std::ostream & os) const {
|
||||
os << "<Jit>";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue