rd: derive schema tree parse on startup rather than recomputing every time

This commit is contained in:
Ryan Fleury
2025-02-04 12:16:28 -08:00
parent b9756d222a
commit afd113adcc
5 changed files with 18 additions and 4 deletions
+1
View File
@@ -74,6 +74,7 @@ e_select_ir_ctx(E_IRCtx *ctx)
e_ir_state->arena = arena;
e_ir_state->arena_eval_start_pos = arena_pos(arena);
}
arena_pop_to(e_ir_state->arena, e_ir_state->arena_eval_start_pos);
e_ir_state->ctx = ctx;
e_ir_state->used_tag_map = push_array(e_ir_state->arena, E_UsedTagMap, 1);
e_ir_state->used_tag_map->slots_count = 64;
+1
View File
@@ -632,6 +632,7 @@ e_select_parse_ctx(E_ParseCtx *ctx)
e_parse_state->arena = arena;
e_parse_state->arena_eval_start_pos = arena_pos(arena);
}
arena_pop_to(e_parse_state->arena, e_parse_state->arena_eval_start_pos);
e_parse_state->ctx = ctx;
e_parse_state->parse_cache_slots_count = 1024;
e_parse_state->parse_cache_slots = push_array(e_parse_state->arena, E_ParseCacheSlot, e_parse_state->parse_cache_slots_count);
+1 -1
View File
@@ -180,7 +180,7 @@ struct E_ParseCtx
};
////////////////////////////////
//~ rjf: Parse State (Stateful thread-local caching mechanisms, not provided by user)
//~ rjf: Parse State (stateful thread-local caching mechanisms, not provided by user)
typedef struct E_ParseCacheNode E_ParseCacheNode;
struct E_ParseCacheNode