blob: e2e2004fb24924d7785813f49ff60666d30e9f9f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#define SAVEt_ITEM 0
#define SAVEt_SV 1
#define SAVEt_AV 2
#define SAVEt_HV 3
#define SAVEt_INT 4
#define SAVEt_I32 5
#define SAVEt_SPTR 6
#define SAVEt_HPTR 7
#define SAVEt_APTR 8
#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)
|