libFirm
|
Typedefs | |
typedef struct ir_jit_segment_t | ir_jit_segment_t |
Just in time compilation environment. | |
typedef struct ir_jit_function_t | ir_jit_function_t |
Just in time compiled function with potentially unresolved relocations. | |
Functions | |
ir_jit_segment_t * | be_new_jit_segment (void) |
Create a new jit segment. | |
void | be_destroy_jit_segment (ir_jit_segment_t *segment) |
Destroy jit segment segment . | |
void | be_jit_set_entity_addr (ir_entity *entity, void const *address) |
Set absolute address of global entities so relocations in jit compiled code an be resolved. | |
void const * | be_jit_get_entity_addr (ir_entity const *entity) |
Return previously set address. | |
ir_jit_function_t * | be_jit_compile (ir_jit_segment_t *segment, ir_graph *irg) |
Compile graph irg to a sequence of machine instructions and relocations. | |
unsigned | be_get_function_size (ir_jit_function_t const *function) |
Return the buffer size necessary to emit function with be_emit_function(). | |
void | be_emit_function (char *buffer, ir_jit_function_t *function) |
Emit function into buffer and resolve symbols and relocations. | |
Provides interface to generate code and resolve symbols in memory buffers. This is often called just in time compilation.
typedef struct ir_jit_function_t ir_jit_function_t |
typedef struct ir_jit_segment_t ir_jit_segment_t |
Just in time compilation environment.
Holds memory for several ir_jit_function_t.
void be_destroy_jit_segment | ( | ir_jit_segment_t * | segment | ) |
Destroy jit segment segment
.
Invalidates references to functions created in the segment.
void be_emit_function | ( | char * | buffer, |
ir_jit_function_t * | function ) |
Emit function
into buffer
and resolve symbols and relocations.
unsigned be_get_function_size | ( | ir_jit_function_t const * | function | ) |
Return the buffer size necessary to emit function
with be_emit_function().
ir_jit_function_t * be_jit_compile | ( | ir_jit_segment_t * | segment, |
ir_graph * | irg ) |
Compile graph irg
to a sequence of machine instructions and relocations.
void const * be_jit_get_entity_addr | ( | ir_entity const * | entity | ) |
Return previously set address.
void be_jit_set_entity_addr | ( | ir_entity * | entity, |
void const * | address ) |
Set absolute address of global entities so relocations in jit compiled code an be resolved.
ir_jit_segment_t * be_new_jit_segment | ( | void | ) |
Create a new jit segment.