From 0bc96a086a7bcbf2a452268972ab46e818d93c49 Mon Sep 17 00:00:00 2001 From: Ryan Fleury Date: Fri, 19 Jan 2024 20:36:04 -0800 Subject: [PATCH] bugfix member cache invalidation tautology; group eval string2num strings onto arena along with table & nodes --- src/df/core/df_core.c | 2 +- src/eval/eval_parser.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/df/core/df_core.c b/src/df/core/df_core.c index dc50f562..fbf10fc5 100644 --- a/src/df/core/df_core.c +++ b/src/df/core/df_core.c @@ -6705,7 +6705,7 @@ df_core_begin_frame(Arena *arena, DF_CmdList *cmds, F32 dt) } //- rjf: clear members cache - if(df_state->member_cache_reggen_idx && !df_ctrl_targets_running()) + if(df_state->member_cache_reggen_idx != new_reggen_idx && !df_ctrl_targets_running()) { DF_RunLocalsCache *cache = &df_state->member_cache; arena_clear(cache->arena); diff --git a/src/eval/eval_parser.c b/src/eval/eval_parser.c index 364e61d4..c999fd5f 100644 --- a/src/eval/eval_parser.c +++ b/src/eval/eval_parser.c @@ -96,7 +96,7 @@ eval_string2num_map_insert(Arena *arena, EVAL_String2NumMap *map, String8 string { EVAL_String2NumMapNode *node = push_array(arena, EVAL_String2NumMapNode, 1); SLLQueuePush(map->slots[slot_idx].first, map->slots[slot_idx].last, node); - node->string = string; + node->string = push_str8_copy(arena, string); node->num = num; } }