GNU Octave  3.8.0
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 410 of file pt-jit.h.

Member Typedef Documentation

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

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

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

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

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

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

Constructor & Destructor Documentation

jit_info::jit_info ( tree_jit tjit,
tree tee 
)

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

References compile().

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

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

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

jit_info::~jit_info ( void  )

Definition at line 2187 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 2308 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 2228 of file pt-jit.cc.

References bounds, find(), 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 439 of file pt-jit.h.

Referenced by compile(), and execute().

type_bound_vector jit_info::bounds
private

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

Referenced by compile(), and match().

llvm::ExecutionEngine* jit_info::engine
private

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

Referenced by compile().

jited_function jit_info::function
private

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

llvm::Function* jit_info::llvm_function
private

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

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


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