#include "pt-jit.h"
Public Member Functions | |
~tree_jit (void) | |
Static Public Member Functions | |
static jit::EngineOwner | create_new_engine (jit::ModuleOwner module_owner) |
static bool | execute (tree_simple_for_command &cmd, const octave_value &bounds) |
static bool | execute (tree_while_command &cmd) |
static bool | execute (octave_user_function &fcn, const octave_value_list &args, octave_value_list &retval) |
static std::string | generate_unique_forloop_name (void) |
static std::string | generate_unique_function_name (void) |
static std::string | generate_unique_module_name (void) |
static const llvm::TargetMachine * | get_target_machine (void) |
static void * | getPointerToNamedFunction (const std::string &name) |
static uint64_t | getSymbolAddress (const std::string &name) |
static jit::ModuleOwner | open_new_module (const std::string &module_name=generate_unique_module_name()) |
static void | register_jit_module (jit_module *jm) |
static void | unregister_jit_module (jit_module *jm) |
Private Member Functions | |
tree_jit (void) | |
void | do_dump_all_modules (void) const |
bool | do_execute (tree_simple_for_command &cmd, const octave_value &bounds) |
bool | do_execute (tree_while_command &cmd) |
bool | do_execute (octave_user_function &fcn, const octave_value_list &args, octave_value_list &retval) |
void * | do_getPointerToNamedFunction (const std::string &Name) const |
uint64_t | do_getSymbolAddress (const std::string &name) const |
bool | do_initialize (void) |
jit::ModuleOwner | do_open_new_module (const std::string &module_name) const |
void | do_register_jit_module (jit_module *jm) |
void | do_unregister_jit_module (jit_module *jm) |
bool | enabled (void) |
size_t | trip_count (const octave_value &bounds) const |
Static Private Member Functions | |
static tree_jit & | instance (void) |
Private Attributes | |
std::list< jit_module * > | jm_list |
llvm::TargetMachine * | target_machine |
Static Private Attributes | |
static bool | initialized = false |
static int | next_forloop_number = 0 |
static int | next_function_number = 0 |
static int | next_module_number = 0 |
octave::tree_jit::~tree_jit | ( | void | ) |
Definition at line 2133 of file pt-jit.cc.
References target_machine.
|
static |
|
private |
|
private |
Definition at line 2260 of file pt-jit.cc.
References enabled(), octave::jit_info::execute(), octave::tree_simple_for_command::get_info(), initialized, octave::jit_info::match(), octave::tree_simple_for_command::stash_info(), trip_count(), and Vjit_startcnt.
Referenced by execute().
|
private |
Definition at line 2288 of file pt-jit.cc.
References enabled(), octave::jit_info::execute(), octave::tree_while_command::get_info(), initialized, octave::jit_info::match(), and octave::tree_while_command::stash_info().
|
private |
Definition at line 2305 of file pt-jit.cc.
References enabled(), octave::jit_function_info::execute(), fcn, initialized, octave::jit_function_info::match(), and retval.
|
private |
Definition at line 2186 of file pt-jit.cc.
Referenced by getPointerToNamedFunction().
|
private |
Definition at line 2202 of file pt-jit.cc.
Referenced by getSymbolAddress().
|
private |
Definition at line 2218 of file pt-jit.cc.
References initialized, and target_machine.
Referenced by instance().
|
private |
Definition at line 2245 of file pt-jit.cc.
References octave::context, initialized, and target_machine.
Referenced by open_new_module().
|
private |
|
private |
Definition at line 2180 of file pt-jit.cc.
References jm_list.
Referenced by unregister_jit_module().
|
private |
Definition at line 2324 of file pt-jit.cc.
References octave::__get_bp_table__(), octave::bp_table::have_breakpoints(), Vdebug_on_error, octave::Vdebug_on_interrupt, and Vjit_enable.
Referenced by do_execute().
|
inlinestatic |
Definition at line 490 of file pt-jit.h.
References do_execute().
Referenced by octave_user_function::call(), octave::tree_evaluator::visit_do_until_command(), octave::tree_evaluator::visit_simple_for_command(), and octave::tree_evaluator::visit_while_command().
|
inlinestatic |
Definition at line 494 of file pt-jit.h.
References do_execute().
|
inlinestatic |
Definition at line 497 of file pt-jit.h.
References do_execute(), fcn, and retval.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 399 of file pt-jit.h.
References target_machine.
|
inlinestatic |
Definition at line 443 of file pt-jit.h.
References do_getPointerToNamedFunction(), and name.
Referenced by octave::jit_memory_manager::getPointerToNamedFunction().
|
inlinestatic |
Definition at line 446 of file pt-jit.h.
References do_getSymbolAddress(), and name.
Referenced by octave::jit_memory_manager::getSymbolAddress().
|
staticprivate |
Definition at line 2139 of file pt-jit.cc.
References do_initialize(), and initialized.
Referenced by open_new_module().
|
static |
Definition at line 2239 of file pt-jit.cc.
References do_open_new_module(), and instance().
Referenced by octave::jit_module::jit_module().
|
inlinestatic |
Definition at line 425 of file pt-jit.h.
References do_register_jit_module().
Referenced by octave::jit_module::jit_module().
|
private |
Definition at line 2337 of file pt-jit.cc.
References octave_value::is_range(), Range::numel(), and octave_value::range_value().
Referenced by do_execute().
|
inlinestatic |
Definition at line 428 of file pt-jit.h.
References do_unregister_jit_module().
Referenced by octave::jit_module::~jit_module().
Definition at line 392 of file pt-jit.h.
Referenced by do_execute(), do_initialize(), do_open_new_module(), and instance().
|
private |
Definition at line 434 of file pt-jit.h.
Referenced by do_getPointerToNamedFunction(), do_getSymbolAddress(), do_register_jit_module(), and do_unregister_jit_module().
|
staticprivate |
|
staticprivate |
|
private |
Definition at line 404 of file pt-jit.h.
Referenced by do_initialize(), do_open_new_module(), get_target_machine(), and ~tree_jit().