1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-26 05:00:28 +02:00

Add label predicates

* include/lightning.h, lib/lightning.c: Add three predicates
	to query information about labels. jit_forward_p(label)
	will return non zero if the label is "forward", that is
	need a call to jit_link(label), jit_indirect_p(label)
	that returns non zero if the label was created with the
	jit_indirect() call, and jit_target_p(label) that will
	return non zero if there is at least one jump patched
	to land at that label.
This commit is contained in:
pcpa 2014-10-21 15:32:24 -02:00
parent a43fb63055
commit 9c5e2b511e
3 changed files with 35 additions and 0 deletions

View file

@ -864,6 +864,12 @@ 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*);
#define jit_forward_p(u) _jit_forward_p(_jit,u)
extern jit_bool_t _jit_forward_p(jit_state_t*,jit_node_t*);
#define jit_indirect_p(u) _jit_indirect_p(_jit,u)
extern jit_bool_t _jit_indirect_p(jit_state_t*,jit_node_t*);
#define jit_target_p(u) _jit_target_p(_jit,u)
extern jit_bool_t _jit_target_p(jit_state_t*,jit_node_t*);
extern void _jit_prolog(jit_state_t*);