18. Values in C++
The jit_value
class provides a C++ counterpart to the
jit_value_t
type. Values normally result by calling methods
on the jit_function
class during the function building process.
See section Working with temporary values in the JIT, for more information on creating and managing values.
- Constructor on jit_value: jit_value ()
Construct an empty value.
- Constructor on jit_value: jit_value (jit_value_t value)
Construct a value by wrapping up a raw C jit_value_t
object.
- Constructor on jit_value: jit_value (const jit_value& value)
Create a copy of value.
- Destructor on jit_value: ~jit_value ()
Destroy the C++ value wrapper, but leave the underlying raw C
value alone.
- Operator on jit_value: jit_value& operator= (const jit_value& value)
Copy jit_value
objects.
- Method on jit_value: jit_value_t raw () const
Get the raw C jit_value_t
value that underlies this object.
- Method on jit_value: int is_valid () const
Determine if this jit_value
object contains a valid raw
C jit_value_t
value.
- Method on jit_value: int is_temporary () const
- Method on jit_value: int is_local () const
- Method on jit_value: int is_constant () const
Determine if this jit_value
is temporary, local, or constant.
- Method on jit_value: void set_volatile ()
- Method on jit_value: int is_volatile () const
Set or check the "volatile" state on this value.
- Method on jit_value: void set_addressable ()
- Method on jit_value: int is_addressable () const
Set or check the "addressable" state on this value.
- Method on jit_value: jit_type_t type () const
Get the type of this value.
- Method on jit_value: jit_function_t function () const
- Method on jit_value: jit_block_t block () const
- Method on jit_value: jit_context_t context () const
Get the owning function, block, or context for this value.
- Method on jit_value: jit_constant_t constant () const
- Method on jit_value: jit_nint nint_constant () const
- Method on jit_value: jit_long long_constant () const
- Method on jit_value: jit_float32 float32_constant () const
- Method on jit_value: jit_float64 float64_constant () const
- Method on jit_value: jit_nfloat nfloat_constant () const
Extract the constant stored in this value.
- Operator on jit_value: jit_value operator+ (const jit_value& value1, const jit_value& value2)
- Operator on jit_value: jit_value operator- (const jit_value& value1, const jit_value& value2)
- Operator on jit_value: jit_value operator* (const jit_value& value1, const jit_value& value2)
- Operator on jit_value: jit_value operator/ (const jit_value& value1, const jit_value& value2)
- Operator on jit_value: jit_value operator% (const jit_value& value1, const jit_value& value2)
- Operator on jit_value: jit_value operator- (const jit_value& value1)
- Operator on jit_value: jit_value operator& (const jit_value& value1, const jit_value& value2)
- Operator on jit_value: jit_value operator| (const jit_value& value1, const jit_value& value2)
- Operator on jit_value: jit_value operator^ (const jit_value& value1, const jit_value& value2)
- Operator on jit_value: jit_value operator~ (const jit_value& value1)
- Operator on jit_value: jit_value operator<< (const jit_value& value1, const jit_value& value2)
- Operator on jit_value: jit_value operator>> (const jit_value& value1, const jit_value& value2)
- Operator on jit_value: jit_value operator== (const jit_value& value1, const jit_value& value2)
- Operator on jit_value: jit_value operator!= (const jit_value& value1, const jit_value& value2)
- Operator on jit_value: jit_value operator< (const jit_value& value1, const jit_value& value2)
- Operator on jit_value: jit_value operator<= (const jit_value& value1, const jit_value& value2)
- Operator on jit_value: jit_value operator> (const jit_value& value1, const jit_value& value2)
- Operator on jit_value: jit_value operator>= (const jit_value& value1, const jit_value& value2)
Generate an arithmetic, bitwise, or comparison instruction based on
one or two jit_value
objects. These operators are shortcuts
for calling insn_add
, insn_sub
, etc on the
jit_function
object.
This document was generated by Klaus Treichel on May, 11 2008 using texi2html 1.78.