feat: optimize runtime (2x+ faster)
This commit is contained in:
@@ -23,6 +23,9 @@ typedef struct
|
||||
fzl_node_t *node;
|
||||
size_t ip;
|
||||
|
||||
bool slot_set;
|
||||
size_t slot;
|
||||
|
||||
char *classname;
|
||||
} fzl_sym_t;
|
||||
|
||||
@@ -32,6 +35,8 @@ typedef struct
|
||||
size_t size;
|
||||
size_t remainder;
|
||||
|
||||
size_t free_slot;
|
||||
|
||||
fzl_sym_t *symbols;
|
||||
} fzl_symtable_t;
|
||||
|
||||
@@ -46,6 +51,9 @@ fzl_symtable_res_t fzl_symt_put(fzl_symtable_t *symt, fzl_node_t *node,
|
||||
fzl_symtable_res_t fzl_symt_setobjclass(fzl_symtable_t *symt, char *name,
|
||||
char *classname);
|
||||
|
||||
// Assign a local slot to a variable
|
||||
int fzl_symt_setslot(fzl_symtable_t *symt, char *name);
|
||||
|
||||
// Get entry from specified symtable
|
||||
bool fzl_symt_get(fzl_symtable_t *symt, char *name, fzl_sym_t *res);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user