summary refs log tree commit diff stats
path: root/compiler
diff options
context:
space:
mode:
authorJuan M Gómez <info@jmgomez.me>2023-06-30 22:03:25 +0100
committerGitHub <noreply@github.com>2023-06-30 23:03:25 +0200
commit2f109595e982bd68b4f4f2fabf934409947b0ee1 (patch)
tree6312c2ff1276c6d2aad5d1badb13e2cf4cddcbd4 /compiler
parent4d2ebbb87703bdca1e20f4d94d92b07d97b5c07e (diff)
downloadNim-2f109595e982bd68b4f4f2fabf934409947b0ee1.tar.gz
reset macrocache after each script evaluation (#22195)
Diffstat (limited to 'compiler')
-rw-r--r--compiler/nimeval.nim5
1 files changed, 4 insertions, 1 deletions
diff --git a/compiler/nimeval.nim b/compiler/nimeval.nim
index 8e8f4ac7b..e98de7e62 100644
--- a/compiler/nimeval.nim
+++ b/compiler/nimeval.nim
@@ -12,7 +12,7 @@ import
   ast, modules, condsyms,
   options, llstream, lineinfos, vm,
   vmdef, modulegraphs, idents, os, pathutils,
-  scriptconfig, std/compilesettings
+  scriptconfig, std/[compilesettings, tables]
 
 import pipelines
 
@@ -78,6 +78,9 @@ proc evalScript*(i: Interpreter; scriptStream: PLLStream = nil) =
   assert i != nil
   assert i.mainModule != nil, "no main module selected"
   initStrTables(i.graph, i.mainModule)
+  i.graph.cacheSeqs.clear()
+  i.graph.cacheCounters.clear()
+  i.graph.cacheTables.clear()
   i.mainModule.ast = nil
 
   let s = if scriptStream != nil: scriptStream