Struct js::back::compiler::JitCompiler[src]

pub struct JitCompiler<'a> {
    // some fields omitted
}

A compiler using the LibJIT backend

Methods

impl<'a> JitCompiler<'a>

fn new(context: &'a Context) -> JitCompiler<'a>

Construct a new JIT Compiler on the given context

Trait Implementations

impl<'a> Compiler<'a, (Value<'a>, &'a Function<'a>)> for JitCompiler<'a>

fn compile_const(&'a self, constant: &Const) -> CompiledValue<'a>

fn compile_block(&'a self, block: Vec<Expr>) -> CompiledValue<'a>

fn compile_num_op(&'a self, op: NumOp, left: &Expr, right: &Expr) -> CompiledValue<'a>

fn compile_bit_op(&'a self, op: BitOp, left: &Expr, right: &Expr) -> CompiledValue<'a>

fn compile_log_op(&'a self, op: LogOp, left: &Expr, right: &Expr) -> CompiledValue<'a>

fn compile_comp_op(&'a self, op: CompOp, left: &Expr, right: &Expr) -> CompiledValue<'a>

fn compile_unary_op(&'a self, op: UnaryOp, val: &Expr) -> CompiledValue<'a>

fn compile_return(&'a self, val: Option<Box<Expr>>) -> CompiledValue<'a>

fn compile(&'a self, expr: &Expr) -> Compiled

fn compile_bin_op(&'a self, op: BinOp, left: &Expr, right: &Expr) -> Compiled

fn compile_local(&'a self, _: String) -> Compiled

fn compile_get_const_field(&'a self, _: &Expr, _: String) -> Compiled

fn compile_get_field(&'a self, _: &Expr, _: &Expr) -> Compiled

fn compile_call(&'a self, _: &Expr, _: Vec<Expr>) -> Compiled

fn compile_while_loop(&'a self, _: &Expr, _: &Expr) -> Compiled

fn compile_if(&'a self, _: &Expr, _: &Expr, _: Option<Box<Expr>>) -> Compiled

fn compile_switch(&'a self, _: &Expr, Vec<(Expr, Vec<Expr>)>, Option<Box<Expr>>) -> Compiled

fn compile_object_decl(&'a self, &TreeMap<String, Expr>) -> Compiled

fn compile_array_decl(&'a self, Vec<Expr>) -> Compiled

fn compile_function_decl(&'a self, _: Option<String>, _: Vec<String>, _: &Expr) -> Compiled

fn compile_arrow_function_decl(&'a self, _: Vec<String>, _: &Expr) -> Compiled

fn compile_construct(&'a self, _: &Expr, _: Vec<Expr>) -> Compiled

fn compile_throw(&'a self, _: &Expr) -> Compiled

fn compile_assign(&'a self, _: &Expr, _: &Expr) -> Compiled

fn compile_var_decl(&'a self, _: Vec<(String, Option<Expr>)>) -> Compiled

fn compile_typeof(&'a self, _: &Expr) -> Compiled