This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl 5.0 alpha 8
[perl5.git] / scope.h
CommitLineData
79072805
LW
1#define SAVEt_ITEM 0
2#define SAVEt_SV 1
3#define SAVEt_AV 2
4#define SAVEt_HV 3
5#define SAVEt_INT 4
6#define SAVEt_I32 5
7#define SAVEt_SPTR 6
8#define SAVEt_HPTR 7
9#define SAVEt_APTR 8
10#define SAVEt_NSTAB 9
11#define SAVEt_SVREF 10
12#define SAVEt_GP 11
8990e307
LW
13#define SAVEt_FREESV 12
14#define SAVEt_FREEOP 13
15#define SAVEt_FREEPV 14
16#define SAVEt_CLEARSV 15
17#define SAVEt_DELETE 16
79072805
LW
18
19#define SSCHECK(need) if (savestack_ix + need > savestack_max) savestack_grow()
20#define SSPUSHINT(i) (savestack[savestack_ix++].any_i32 = (I32)(i))
21#define SSPUSHPTR(p) (savestack[savestack_ix++].any_ptr = (void*)(p))
22#define SSPOPINT (savestack[--savestack_ix].any_i32)
23#define SSPOPPTR (savestack[--savestack_ix].any_ptr)
8990e307
LW
24
25#define FREE_TMPS() if (tmps_ix > tmps_floor) free_tmps()
26#define LEAVE_SCOPE(old) if (savestack_ix > old) leave_scope(old)