mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-22 19:44:10 +02:00
Add filename and line number annotation abstraction.
* lib/jit_note.c: New file implementing a simple string+integer annotation, that should be used to map filename and line number to offsets in the generated jit. * include/lightning.h, lib/lightning.c: Update for the new note code. Add an extra mandatory argument to init_jit, that is used as argument to bfd_openr. Change from generic void* to char* the argument to jit_note and add an extra integer argument, to map to filename and line number. * check/ccall.c, check/lightning.c, include/lightning/jit_private.h, lib/jit_arm.c, lib/jit_disasm.c, lib/jit_mips.c, lib/jit_ppc.c, lib/jit_print.c, lib/jit_x86.c: lib/Makefile.am: Update for the new annotation code. * configure.ac, check/Makefile.am: Update to work with latest automake.
This commit is contained in:
parent
4fe47942eb
commit
a34410eee2
17 changed files with 464 additions and 46 deletions
|
@ -102,7 +102,7 @@ typedef enum {
|
|||
#define jit_data(u,v) _jit_data(_jit,u,v)
|
||||
jit_code_data,
|
||||
jit_code_save, jit_code_load,
|
||||
#define jit_note(u) jit_new_node_ww(jit_code_note,0,(jit_word_t)u)
|
||||
#define jit_note(u, v) _jit_note(_jit, u, v)
|
||||
#define jit_label() _jit_label(_jit)
|
||||
#define jit_forward() _jit_forward(_jit)
|
||||
#define jit_link(u) _jit_link(_jit,u)
|
||||
|
@ -732,7 +732,7 @@ typedef enum {
|
|||
/*
|
||||
* Prototypes
|
||||
*/
|
||||
extern void init_jit(void);
|
||||
extern void init_jit(char*);
|
||||
extern void finish_jit(void);
|
||||
|
||||
extern jit_state_t *jit_new_state(void);
|
||||
|
@ -740,8 +740,7 @@ extern jit_state_t *jit_new_state(void);
|
|||
#define jit_address(node) _jit_address(_jit, node)
|
||||
extern jit_pointer_t _jit_address(jit_state_t*, jit_node_t*);
|
||||
extern jit_node_t *_jit_data(jit_state_t*, jit_pointer_t, jit_word_t);
|
||||
extern jit_node_t *_jit_note(jit_state_t*, jit_pointer_t);
|
||||
|
||||
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 void _jit_link(jit_state_t*, jit_node_t*);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue