[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

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.


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by Klaus Treichel on May, 11 2008 using texi2html 1.78.