summaryrefslogtreecommitdiff
path: root/types.h
diff options
context:
space:
mode:
authorLeo Tenenbaum <pommicket@gmail.com>2020-07-11 16:05:49 -0400
committerLeo Tenenbaum <pommicket@gmail.com>2020-07-11 16:05:49 -0400
commit88b8cddabdaaa1bfd6d6f566bcebc38f516227df (patch)
tree39fd2a4691933bd1a62d6cf36fcb88234975b125 /types.h
parent1c0e87ce47c22512878edef083577aa573fd7876 (diff)
improved the way value memory management works
Diffstat (limited to 'types.h')
-rw-r--r--types.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/types.h b/types.h
index 2f6946d..811f927 100644
--- a/types.h
+++ b/types.h
@@ -1037,6 +1037,8 @@ typedef struct Evaluator {
struct Typer *typer;
Block *returning; /* function body from which we are returning OR loop body in which we are continuing/breaking */
bool is_break; /* is returning because of a break, as opposed to a continue? */
+ void **to_free; /* array of pointers to free once block is exited */
+ Declaration **decls_given_values; /* array of declarations whose last value in their val stacks should be removed when the block is exited */
Value ret_val;
ForeignFnManager ffmgr;
} Evaluator;