mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-26 05:00:28 +02:00
Implement and document the new jit_indirect call.
* include/lightning.h, lib/lightning.c: Add the new jit_indirect() call, that returns a special label node, and tells lightning that the label may be the target of an indirect jump. * doc/body.texi: Document the new jit_indirect() call, and add examples of different ways to create labels and branches.
This commit is contained in:
parent
c146f06793
commit
a9433b5a2c
4 changed files with 88 additions and 2 deletions
|
@ -174,6 +174,7 @@ typedef enum {
|
|||
#define jit_note(u, v) _jit_note(_jit, u, v)
|
||||
#define jit_label() _jit_label(_jit)
|
||||
#define jit_forward() _jit_forward(_jit)
|
||||
#define jit_indirect() _jit_indirect(_jit)
|
||||
#define jit_link(u) _jit_link(_jit,u)
|
||||
jit_code_note, jit_code_label,
|
||||
|
||||
|
@ -841,6 +842,7 @@ extern jit_node_t *_jit_name(jit_state_t*, char*);
|
|||
extern jit_node_t *_jit_note(jit_state_t*, char*, int);
|
||||
extern jit_node_t *_jit_label(jit_state_t*);
|
||||
extern jit_node_t *_jit_forward(jit_state_t*);
|
||||
extern jit_node_t *_jit_indirect(jit_state_t*);
|
||||
extern void _jit_link(jit_state_t*, jit_node_t*);
|
||||
|
||||
extern void _jit_prolog(jit_state_t*);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue