GNU Octave  4.2.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
jit_info Class Reference

#include "pt-jit.h"

Collaboration diagram for jit_info:
Collaboration graph
[legend]

Public Types

typedef std::map< std::string,
const octave_value * > 
vmap
 

Public Member Functions

 jit_info (tree_jit &tjit, tree &tee)
 
 jit_info (tree_jit &tjit, tree &tee, const octave_value &for_bounds)
 
 ~jit_info (void)
 
bool execute (const vmap &extra_vars=vmap()) const
 
bool match (const vmap &extra_vars=vmap()) const
 

Private Types

typedef void(* jited_function )(octave_base_value **)
 
typedef jit_convert::type_bound type_bound
 
typedef
jit_convert::type_bound_vector 
type_bound_vector
 

Private Member Functions

void compile (tree_jit &tjit, tree &tee, jit_type *for_bounds=0)
 
octave_value find (const vmap &extra_vars, const std::string &vname) const
 

Private Attributes

std::vector< std::pair
< std::string, bool > > 
arguments
 
type_bound_vector bounds
 
llvm::ExecutionEngine * engine
 
jited_function function
 
llvm::Function * llvm_function
 

Detailed Description

Definition at line 414 of file pt-jit.h.

Member Typedef Documentation

typedef void(* jit_info::jited_function)(octave_base_value **)
private

Definition at line 433 of file pt-jit.h.

Definition at line 431 of file pt-jit.h.

Definition at line 432 of file pt-jit.h.

Definition at line 419 of file pt-jit.h.

Constructor & Destructor Documentation

jit_info::jit_info ( tree_jit tjit,
tree tee 
)

Definition at line 2364 of file pt-jit.cc.

References compile().

jit_info::jit_info ( tree_jit tjit,
tree tee,
const octave_value for_bounds 
)

Definition at line 2370 of file pt-jit.cc.

References compile(), and jit_typeinfo::type_of().

jit_info::~jit_info ( void  )

Definition at line 2376 of file pt-jit.cc.

References llvm_function.

Member Function Documentation

void jit_info::compile ( tree_jit tjit,
tree tee,
jit_type for_bounds = 0 
)
private
bool jit_info::execute ( const vmap extra_vars = vmap ()) const
octave_value jit_info::find ( const vmap extra_vars,
const std::string vname 
) const
private

Definition at line 2500 of file pt-jit.cc.

References symbol_table::varval().

Referenced by execute(), and match().

bool jit_info::match ( const vmap extra_vars = vmap ()) const

Definition at line 2417 of file pt-jit.cc.

References bounds, find(), first, string, type, and jit_typeinfo::type_of().

Referenced by tree_jit::do_execute().

Member Data Documentation

std::vector<std::pair<std::string, bool> > jit_info::arguments
private

Definition at line 443 of file pt-jit.h.

Referenced by compile(), and execute().

type_bound_vector jit_info::bounds
private

Definition at line 444 of file pt-jit.h.

Referenced by compile(), and match().

llvm::ExecutionEngine* jit_info::engine
private

Definition at line 439 of file pt-jit.h.

Referenced by compile().

jited_function jit_info::function
private

Definition at line 440 of file pt-jit.h.

llvm::Function* jit_info::llvm_function
private

Definition at line 441 of file pt-jit.h.

Referenced by compile(), and ~jit_info().


The documentation for this class was generated from the following files: