![]() |
libFirm
|
Provides interface to generate code and resolve symbols in memory buffers. More...
Typedefs | |
| typedef struct ir_jit_segment_t | ir_jit_segment_t |
| Just in time compilation environment. More... | |
| typedef struct ir_jit_function_t | ir_jit_function_t |
| Just in time compiled function with potentially unresolved relocations. More... | |
Functions | |
| ir_jit_segment_t * | be_new_jit_segment (void) |
| Create a new jit segment. More... | |
| void | be_destroy_jit_segment (ir_jit_segment_t *segment) |
Destroy jit segment segment. More... | |
| 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. More... | |
| void const * | be_jit_get_entity_addr (ir_entity const *entity) |
| Return previously set address. More... | |
| 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. More... | |
| unsigned | be_get_function_size (ir_jit_function_t const *function) |
Return the buffer size necessary to emit function with be_emit_function(). More... | |
| void | be_emit_function (char *buffer, ir_jit_function_t *function) |
Emit function into buffer and resolve symbols and relocations. More... | |
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.