store rlabels in global state
This commit is contained in:
parent
219b244743
commit
0b087b785e
|
|
@ -100,6 +100,8 @@ typedef struct {
|
||||||
pic_value lib_tbl;
|
pic_value lib_tbl;
|
||||||
struct pic_lib *lib;
|
struct pic_lib *lib;
|
||||||
|
|
||||||
|
xhash rlabels;
|
||||||
|
|
||||||
jmp_buf *jmp;
|
jmp_buf *jmp;
|
||||||
struct pic_error *err;
|
struct pic_error *err;
|
||||||
struct pic_jmpbuf *try_jmps;
|
struct pic_jmpbuf *try_jmps;
|
||||||
|
|
|
||||||
|
|
@ -64,6 +64,9 @@ pic_open(int argc, char *argv[], char **envp)
|
||||||
pic->lib_tbl = pic_nil_value();
|
pic->lib_tbl = pic_nil_value();
|
||||||
pic->lib = NULL;
|
pic->lib = NULL;
|
||||||
|
|
||||||
|
/* reader */
|
||||||
|
xh_init_int(&pic->rlabels, sizeof(pic_value));
|
||||||
|
|
||||||
/* error handling */
|
/* error handling */
|
||||||
pic->jmp = NULL;
|
pic->jmp = NULL;
|
||||||
pic->err = NULL;
|
pic->err = NULL;
|
||||||
|
|
@ -154,6 +157,7 @@ pic_close(pic_state *pic)
|
||||||
xh_destroy(&pic->syms);
|
xh_destroy(&pic->syms);
|
||||||
xh_destroy(&pic->global_tbl);
|
xh_destroy(&pic->global_tbl);
|
||||||
xh_destroy(&pic->macros);
|
xh_destroy(&pic->macros);
|
||||||
|
xh_destroy(&pic->rlabels);
|
||||||
|
|
||||||
/* free GC arena */
|
/* free GC arena */
|
||||||
free(pic->arena);
|
free(pic->arena);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue