summaryrefslogtreecommitdiff
path: root/scope.h
diff options
context:
space:
mode:
Diffstat (limited to 'scope.h')
-rw-r--r--scope.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/scope.h b/scope.h
index 6c753c51ee..e2e2004fb2 100644
--- a/scope.h
+++ b/scope.h
@@ -10,9 +10,17 @@
#define SAVEt_NSTAB 9
#define SAVEt_SVREF 10
#define SAVEt_GP 11
+#define SAVEt_FREESV 12
+#define SAVEt_FREEOP 13
+#define SAVEt_FREEPV 14
+#define SAVEt_CLEARSV 15
+#define SAVEt_DELETE 16
#define SSCHECK(need) if (savestack_ix + need > savestack_max) savestack_grow()
#define SSPUSHINT(i) (savestack[savestack_ix++].any_i32 = (I32)(i))
#define SSPUSHPTR(p) (savestack[savestack_ix++].any_ptr = (void*)(p))
#define SSPOPINT (savestack[--savestack_ix].any_i32)
#define SSPOPPTR (savestack[--savestack_ix].any_ptr)
+
+#define FREE_TMPS() if (tmps_ix > tmps_floor) free_tmps()
+#define LEAVE_SCOPE(old) if (savestack_ix > old) leave_scope(old)