Alien-LibJIT

 view release on metacpan or  search on metacpan

libjit/jitplus/jit-plus-function.cpp  view on Meta::CPAN

 * if this function has one.  Returns an empty value if it does not.
 * @end deftypemethod
@*/
jit_value jit_function::get_struct_pointer()
{
	value_wrap(jit_value_get_struct_pointer(func));
}

/*@
 * @deftypemethod jit_function jit_label new_label ()
 * Create a new label.  This is the C++ counterpart to
 * @code{jit_function_reserve_label}.
 * @end deftypemethod
@*/
jit_label jit_function::new_label()
{
	return jit_label(jit_function_reserve_label(func));
}

/*@
 * @deftypemethod jit_function void insn_label (jit_label& @var{label})
 * @deftypemethodx jit_function void insn_new_block ()
 * @deftypemethodx jit_function jit_value insn_load (const jit_value& @var{value})
 * @deftypemethodx jit_function jit_value insn_dup (const jit_value& @var{value})
 * @deftypemethodx jit_function jit_value insn_load_small (const jit_value& @var{value})
 * @deftypemethodx jit_function void store (const jit_value& @var{dest}, const jit_value& @var{value})
 * @deftypemethodx jit_function jit_value insn_load_relative (const jit_value& @var{value}, jit_nint @var{offset}, jit_type_t @var{type})
 * @deftypemethodx jit_function void insn_store_relative (const jit_value& @var{dest}, jit_nint @var{offset}, const jit_value& @var{value})
 * @deftypemethodx jit_function jit_value insn_add_relative (const jit_value& @var{value}, jit_nint @var{offset})
 * @deftypemethodx jit_function jit_value insn_load_elem (const jit_value& @var{base_addr}, const jit_value& @var{index}, jit_type_t @var{elem_type})
 * @deftypemethodx jit_function jit_value insn_load_elem_address (const jit_value& @var{base_addr}, const jit_value& @var{index}, jit_type_t @var{elem_type})
 * @deftypemethodx jit_function void insn_store_elem (const jit_value& @var{base_addr}, const jit_value& @var{index}, const jit_value& @var{value})
 * @deftypemethodx jit_function void insn_check_null (const jit_value& @var{value})
 * @deftypemethodx jit_function jit_value insn_add (const jit_value& @var{value1}, const jit_value& @var{value2})
 * @deftypemethodx jit_function jit_value insn_add_ovf (const jit_value& @var{value1}, const jit_value& @var{value2})
 * @deftypemethodx jit_function jit_value insn_sub (const jit_value& @var{value1}, const jit_value& @var{value2})
 * @deftypemethodx jit_function jit_value insn_sub_ovf (const jit_value& @var{value1}, const jit_value& @var{value2})
 * @deftypemethodx jit_function jit_value insn_mul (const jit_value& @var{value1}, const jit_value& @var{value2})
 * @deftypemethodx jit_function jit_value insn_mul_ovf (const jit_value& @var{value1}, const jit_value& @var{value2})
 * @deftypemethodx jit_function jit_value insn_div (const jit_value& @var{value1}, const jit_value& @var{value2})
 * @deftypemethodx jit_function jit_value insn_rem (const jit_value& @var{value1}, const jit_value& @var{value2})
 * @deftypemethodx jit_function jit_value insn_rem_ieee (const jit_value& @var{value1}, const jit_value& @var{value2})
 * @deftypemethodx jit_function jit_value insn_neg (const jit_value& @var{value1})
 * @deftypemethodx jit_function jit_value insn_and (const jit_value& @var{value1}, const jit_value& @var{value2})
 * @deftypemethodx jit_function jit_value insn_or (const jit_value& @var{value1}, const jit_value& @var{value2})
 * @deftypemethodx jit_function jit_value insn_xor (const jit_value& @var{value1}, const jit_value& @var{value2})
 * @deftypemethodx jit_function jit_value insn_not (const jit_value& @var{value1})
 * @deftypemethodx jit_function jit_value insn_shl (const jit_value& @var{value1}, const jit_value& @var{value2})
 * @deftypemethodx jit_function jit_value insn_shr (const jit_value& @var{value1}, const jit_value& @var{value2})
 * @deftypemethodx jit_function jit_value insn_ushr (const jit_value& @var{value1}, const jit_value& @var{value2})
 * @deftypemethodx jit_function jit_value insn_sshr (const jit_value& @var{value1}, const jit_value& @var{value2})
 * @deftypemethodx jit_function jit_value insn_eq (const jit_value& @var{value1}, const jit_value& @var{value2})
 * @deftypemethodx jit_function jit_value insn_ne (const jit_value& @var{value1}, const jit_value& @var{value2})
 * @deftypemethodx jit_function jit_value insn_lt (const jit_value& @var{value1}, const jit_value& @var{value2})
 * @deftypemethodx jit_function jit_value insn_le (const jit_value& @var{value1}, const jit_value& @var{value2})
 * @deftypemethodx jit_function jit_value insn_gt (const jit_value& @var{value1}, const jit_value& @var{value2})
 * @deftypemethodx jit_function jit_value insn_ge (const jit_value& @var{value1}, const jit_value& @var{value2})
 * @deftypemethodx jit_function jit_value insn_cmpl (const jit_value& @var{value1}, const jit_value& @var{value2})
 * @deftypemethodx jit_function jit_value insn_cmpg (const jit_value& @var{value1}, const jit_value& @var{value2})
 * @deftypemethodx jit_function jit_value insn_to_bool (const jit_value& @var{value1})
 * @deftypemethodx jit_function jit_value insn_to_not_bool (const jit_value& @var{value1})
 * @deftypemethodx jit_function jit_value insn_acos (const jit_value& @var{value1})
 * @deftypemethodx jit_function jit_value insn_asin (const jit_value& @var{value1})
 * @deftypemethodx jit_function jit_value insn_atan (const jit_value& @var{value1})
 * @deftypemethodx jit_function jit_value insn_atan2 (const jit_value& @var{value1}, const jit_value& @var{value2})
 * @deftypemethodx jit_function jit_value insn_ceil (const jit_value& @var{value1})
 * @deftypemethodx jit_function jit_value insn_cos (const jit_value& @var{value1})
 * @deftypemethodx jit_function jit_value insn_cosh (const jit_value& @var{value1})
 * @deftypemethodx jit_function jit_value insn_exp (const jit_value& @var{value1})
 * @deftypemethodx jit_function jit_value insn_floor (const jit_value& @var{value1})
 * @deftypemethodx jit_function jit_value insn_log (const jit_value& @var{value1})
 * @deftypemethodx jit_function jit_value insn_log10 (const jit_value& @var{value1})
 * @deftypemethodx jit_function jit_value insn_pow (const jit_value& @var{value1}, const jit_value& @var{value2})
 * @deftypemethodx jit_function jit_value insn_rint (const jit_value& @var{value1})
 * @deftypemethodx jit_function jit_value insn_round (const jit_value& @var{value1})
 * @deftypemethodx jit_function jit_value insn_sin (const jit_value& @var{value1})
 * @deftypemethodx jit_function jit_value insn_sinh (const jit_value& @var{value1})
 * @deftypemethodx jit_function jit_value insn_sqrt (const jit_value& @var{value1})
 * @deftypemethodx jit_function jit_value insn_tan (const jit_value& @var{value1})
 * @deftypemethodx jit_function jit_value insn_tanh (const jit_value& @var{value1})
 * @deftypemethodx jit_function jit_value insn_trunc (const jit_value& @var{value1})
 * @deftypemethodx jit_function jit_value insn_is_nan (const jit_value& @var{value1})
 * @deftypemethodx jit_function jit_value insn_is_finite (const jit_value& @var{value1})
 * @deftypemethodx jit_function jit_value insn_is_inf (const jit_value& @var{value1})
 * @deftypemethodx jit_function jit_value insn_abs (const jit_value& @var{value1})
 * @deftypemethodx jit_function jit_value insn_min (const jit_value& @var{value1}, const jit_value& @var{value2})
 * @deftypemethodx jit_function jit_value insn_max (const jit_value& @var{value1}, const jit_value& @var{value2})
 * @deftypemethodx jit_function jit_value insn_sign (const jit_value& @var{value1})
 * @deftypemethodx jit_function void insn_branch (jit_label& @var{label})
 * @deftypemethodx jit_function void insn_branch_if (const jit_value& @var{value}, jit_label& @var{label})
 * @deftypemethodx jit_function void insn_branch_if_not (const jit_value& value, jit_label& @var{label})
 * @deftypemethodx jit_function jit_value insn_address_of (const jit_value& @var{value1})
 * @deftypemethodx jit_function jit_value insn_address_of_label (jit_label& @var{label})
 * @deftypemethodx jit_function jit_value insn_convert (const jit_value& @var{value}, jit_type_t @var{type}, int @var{overflow_check})
 * @deftypemethodx jit_function jit_value insn_call (const char* @var{name}, jit_function_t @var{jit_func}, jit_type_t @var{signature}, jit_value_t* @var{args}, unsigned int @var{num_args}, int @var{flags})
 * @deftypemethodx jit_function jit_value insn_call_indirect (const jit_value& @var{value}, jit_type_t @var{signature}, jit_value_t* @var{args}, unsigned int @var{num_args}, int @var{flags})
 * @deftypemethodx jit_function jit_value insn_call_indirect_vtable (const jit_value& @var{value}, jit_type_t @var{signature}, jit_value_t * @var{args}, unsigned int @var{num_args}, int @var{flags})
 * @deftypemethodx jit_function jit_value insn_call_native (const char* @var{name}, void* @var{native_func}, jit_type_t @var{signature}, jit_value_t* @var{args}, unsigned int @var{num_args}, int @var{flags})
 * @deftypemethodx jit_function jit_value insn_call_intrinsic (const char* @var{name}, void* @var{intrinsic_func}, const jit_intrinsic_descr_t& @var{descriptor}, const jit_value& @var{arg1}, const jit_value& @var{arg2})
 * @deftypemethodx jit_function void insn_incoming_reg (const jit_value& @var{value}, int @var{reg})
 * @deftypemethodx jit_function void insn_incoming_frame_posn (const jit_value& @var{value}, jit_nint @var{posn})
 * @deftypemethodx jit_function void insn_outgoing_reg (const jit_value& @var{value}, int @var{reg})
 * @deftypemethodx jit_function void insn_outgoing_frame_posn (const jit_value& @var{value}, jit_nint @var{posn})
 * @deftypemethodx jit_function void insn_return_reg (const jit_value& @var{value}, int @var{reg})
 * @deftypemethodx jit_function void insn_setup_for_nested (int @var{nested_level}, int @var{reg})
 * @deftypemethodx jit_function void insn_flush_struct (const jit_value& @var{value})
 * @deftypemethodx jit_function jit_value insn_import (jit_value @var{value})
 * @deftypemethodx jit_function void insn_push (const jit_value& @var{value})
 * @deftypemethodx jit_function void insn_push_ptr (const jit_value& @var{value}, jit_type_t @var{type})
 * @deftypemethodx jit_function void insn_set_param (const jit_value& @var{value}, jit_nint @var{offset})
 * @deftypemethodx jit_function void insn_set_param_ptr (const jit_value& @var{value}, jit_type_t @var{type}, jit_nint @var{offset})
 * @deftypemethodx jit_function void insn_push_return_area_ptr ()
 * @deftypemethodx jit_function void insn_return (const jit_value& @var{value})
 * @deftypemethodx jit_function void insn_return ()
 * @deftypemethodx jit_function void insn_return_ptr (const jit_value& @var{value}, jit_type_t @var{type})
 * @deftypemethodx jit_function void insn_default_return ()
 * @deftypemethodx jit_function void insn_throw (const jit_value& @var{value})
 * @deftypemethodx jit_function jit_value insn_get_call_stack ()
 * @deftypemethodx jit_function jit_value insn_thrown_exception ()
 * @deftypemethodx jit_function void insn_uses_catcher ()
 * @deftypemethodx jit_function jit_value insn_start_catcher ()
 * @deftypemethodx jit_function void insn_branch_if_pc_not_in_range (const jit_label& @var{start_label}, const jit_label& @var{end_label}, jit_label& @var{label})
 * @deftypemethodx jit_function void insn_rethrow_unhandled ()
 * @deftypemethodx jit_function void insn_start_finally (jit_label& @var{label})
 * @deftypemethodx jit_function void insn_return_from_finally ()
 * @deftypemethodx jit_function void insn_call_finally (jit_label& @var{label})
 * @deftypemethodx jit_function jit_value insn_start_filter (jit_label& @var{label}, jit_type_t @var{type})
 * @deftypemethodx jit_function void insn_return_from_filter (const jit_value& @var{value})
 * @deftypemethodx jit_function jit_value insn_call_filter (jit_label& @var{label}, const jit_value& @var{value}, jit_type_t @var{type})
 * @deftypemethodx jit_function void insn_memcpy (const jit_value& @var{dest}, const jit_value& @var{src}, const jit_value& @var{size})
 * @deftypemethodx jit_function void insn_memmove (const jit_value& @var{dest}, const jit_value& @var{src}, const jit_value& @var{size})
 * @deftypemethodx jit_function void jit_insn_memset (const jit_value& @var{dest}, const jit_value& @var{value}, const jit_value& @var{size})
 * @deftypemethodx jit_function jit_value jit_insn_alloca (const jit_value& @var{size})
 * @deftypemethodx jit_function void insn_move_blocks_to_end (const jit_label& @var{from_label}, const jit_label& @var{to_label})
 * @deftypemethodx jit_function void insn_move_blocks_to_start (const jit_label& @var{from_label}, const jit_label& @var{to_label})
 * @deftypemethodx jit_function void insn_mark_offset (jit_int @var{offset})
 * @deftypemethodx jit_function void insn_mark_breakpoint (jit_nint @var{data1}, jit_nint @var{data2})
 * Create instructions of various kinds.  @xref{Instructions}, for more
 * information on the individual instructions and their arguments.
 * @end deftypemethod
@*/

void jit_function::insn_label(jit_label& label)
{
	if(!jit_insn_label(func, label.rawp()))
	{
		out_of_memory();
	}
}

void jit_function::insn_new_block()
{
	if(!jit_insn_new_block(func))
	{
		out_of_memory();
	}
}

jit_value jit_function::insn_load(const jit_value& value)
{
	value_wrap(jit_insn_load(func, value.raw()));
}

jit_value jit_function::insn_dup(const jit_value& value)
{
	value_wrap(jit_insn_dup(func, value.raw()));
}

jit_value jit_function::insn_load_small(const jit_value& value)
{
	value_wrap(jit_insn_load_small(func, value.raw()));
}

void jit_function::store(const jit_value& dest, const jit_value& value)
{
	if(!jit_insn_store(func, dest.raw(), value.raw()))
	{
		out_of_memory();
	}
}

jit_value jit_function::insn_load_relative

libjit/jitplus/jit-plus-function.cpp  view on Meta::CPAN


jit_value jit_function::insn_sshr
	(const jit_value& value1, const jit_value& value2)
{
	value_wrap(jit_insn_sshr(func, value1.raw(), value2.raw()));
}

jit_value jit_function::insn_eq
	(const jit_value& value1, const jit_value& value2)
{
	value_wrap(jit_insn_eq(func, value1.raw(), value2.raw()));
}

jit_value jit_function::insn_ne
	(const jit_value& value1, const jit_value& value2)
{
	value_wrap(jit_insn_ne(func, value1.raw(), value2.raw()));
}

jit_value jit_function::insn_lt
	(const jit_value& value1, const jit_value& value2)
{
	value_wrap(jit_insn_lt(func, value1.raw(), value2.raw()));
}

jit_value jit_function::insn_le
	(const jit_value& value1, const jit_value& value2)
{
	value_wrap(jit_insn_le(func, value1.raw(), value2.raw()));
}

jit_value jit_function::insn_gt
	(const jit_value& value1, const jit_value& value2)
{
	value_wrap(jit_insn_gt(func, value1.raw(), value2.raw()));
}

jit_value jit_function::insn_ge
	(const jit_value& value1, const jit_value& value2)
{
	value_wrap(jit_insn_ge(func, value1.raw(), value2.raw()));
}

jit_value jit_function::insn_cmpl
	(const jit_value& value1, const jit_value& value2)
{
	value_wrap(jit_insn_cmpl(func, value1.raw(), value2.raw()));
}

jit_value jit_function::insn_cmpg
	(const jit_value& value1, const jit_value& value2)
{
	value_wrap(jit_insn_cmpg(func, value1.raw(), value2.raw()));
}

jit_value jit_function::insn_to_bool(const jit_value& value1)
{
	value_wrap(jit_insn_to_bool(func, value1.raw()));
}

jit_value jit_function::insn_to_not_bool(const jit_value& value1)
{
	value_wrap(jit_insn_to_not_bool(func, value1.raw()));
}

jit_value jit_function::insn_acos(const jit_value& value1)
{
	value_wrap(jit_insn_acos(func, value1.raw()));
}

jit_value jit_function::insn_asin(const jit_value& value1)
{
	value_wrap(jit_insn_asin(func, value1.raw()));
}

jit_value jit_function::insn_atan(const jit_value& value1)
{
	value_wrap(jit_insn_atan(func, value1.raw()));
}

jit_value jit_function::insn_atan2
	(const jit_value& value1, const jit_value& value2)
{
	value_wrap(jit_insn_atan2(func, value1.raw(), value2.raw()));
}

jit_value jit_function::insn_ceil(const jit_value& value1)
{
	value_wrap(jit_insn_ceil(func, value1.raw()));
}

jit_value jit_function::insn_cos(const jit_value& value1)
{
	value_wrap(jit_insn_cos(func, value1.raw()));
}

jit_value jit_function::insn_cosh(const jit_value& value1)
{
	value_wrap(jit_insn_cosh(func, value1.raw()));
}

jit_value jit_function::insn_exp(const jit_value& value1)
{
	value_wrap(jit_insn_exp(func, value1.raw()));
}

jit_value jit_function::insn_floor(const jit_value& value1)
{
	value_wrap(jit_insn_floor(func, value1.raw()));
}

jit_value jit_function::insn_log(const jit_value& value1)
{
	value_wrap(jit_insn_log(func, value1.raw()));
}

jit_value jit_function::insn_log10(const jit_value& value1)
{
	value_wrap(jit_insn_log10(func, value1.raw()));
}

jit_value jit_function::insn_pow
	(const jit_value& value1, const jit_value& value2)

libjit/jitplus/jit-plus-function.cpp  view on Meta::CPAN

	{
		out_of_memory();
	}
}

void jit_function::insn_return()
{
	if(!jit_insn_return(func, 0))
	{
		out_of_memory();
	}
}

void jit_function::insn_return_ptr(const jit_value& value, jit_type_t type)
{
	if(!jit_insn_return_ptr(func, value.raw(), type))
	{
		out_of_memory();
	}
}

void jit_function::insn_default_return()
{
	if(!jit_insn_default_return(func))
	{
		out_of_memory();
	}
}

void jit_function::insn_throw(const jit_value& value)
{
	if(!jit_insn_throw(func, value.raw()))
	{
		out_of_memory();
	}
}

jit_value jit_function::insn_get_call_stack()
{
	value_wrap(jit_insn_get_call_stack(func));
}

jit_value jit_function::insn_thrown_exception()
{
	value_wrap(jit_insn_thrown_exception(func));
}

void jit_function::insn_uses_catcher()
{
	if(!jit_insn_uses_catcher(func))
	{
		out_of_memory();
	}
}

jit_value jit_function::insn_start_catcher()
{
	value_wrap(jit_insn_start_catcher(func));
}

void jit_function::insn_branch_if_pc_not_in_range
	(const jit_label& start_label, const jit_label& end_label,
	 jit_label& label)
{
	if(!jit_insn_branch_if_pc_not_in_range
			(func, start_label.raw(), end_label.raw(), label.rawp()))
	{
		out_of_memory();
	}
}

void jit_function::insn_rethrow_unhandled()
{
	if(!jit_insn_rethrow_unhandled(func))
	{
		out_of_memory();
	}
}

void jit_function::insn_start_finally(jit_label& label)
{
	if(!jit_insn_start_finally(func, label.rawp()))
	{
		out_of_memory();
	}
}

void jit_function::insn_return_from_finally()
{
	if(!jit_insn_return_from_finally(func))
	{
		out_of_memory();
	}
}

void jit_function::insn_call_finally(jit_label& label)
{
	if(!jit_insn_call_finally(func, label.rawp()))
	{
		out_of_memory();
	}
}

jit_value jit_function::insn_start_filter(jit_label& label, jit_type_t type)
{
	value_wrap(jit_insn_start_filter(func, label.rawp(), type));
}

void jit_function::insn_return_from_filter(const jit_value& value)
{
	if(!jit_insn_return_from_filter(func, value.raw()))
	{
		out_of_memory();
	}
}

jit_value jit_function::insn_call_filter
	(jit_label& label, const jit_value& value, jit_type_t type)
{
	value_wrap(jit_insn_call_filter(func, label.rawp(), value.raw(), type));
}

void jit_function::insn_memcpy
	(const jit_value& dest, const jit_value& src, const jit_value& size)
{



( run in 0.957 second using v1.01-cache-2.11-cpan-56fb94df46f )