summaryrefslogtreecommitdiff
path: root/scope_types.h
blob: 960219c6481edd3c544a25d3037e67ea2effda21 (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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
/* -*- buffer-read-only: t -*-

      Copyright (C) 2022 by Larry Wall and others

      You may distribute under the terms of either the GNU General Public
      License or the Artistic License, as specified in the README file.

   !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
   This file is built by regen/scope_types.pl.
   Any changes made here will be lost!
   The defines and contents of the leave_scope_arg_counts[] array
   must match. To add a new type modify the __DATA__ section in
   regen/scope_types.pl and run `make regen` to rebuild the file.
 */

/* zero args */

#define SAVEt_ALLOC                0
#define SAVEt_CLEARPADRANGE        1
#define SAVEt_CLEARSV              2
#define SAVEt_REGCONTEXT           3

/* one arg */

#define SAVEt_TMPSFLOOR            4
#define SAVEt_BOOL                 5
#define SAVEt_COMPILE_WARNINGS     6
#define SAVEt_COMPPAD              7
#define SAVEt_FREECOPHH            8
#define SAVEt_FREEOP               9
#define SAVEt_FREEPV              10
#define SAVEt_FREESV              11
#define SAVEt_I16                 12
#define SAVEt_I32_SMALL           13
#define SAVEt_I8                  14
#define SAVEt_INT_SMALL           15
#define SAVEt_MORTALIZESV         16
#define SAVEt_NSTAB               17
#define SAVEt_OP                  18
#define SAVEt_PARSER              19
#define SAVEt_STACK_POS           20
#define SAVEt_READONLY_OFF        21
#define SAVEt_FREEPADNAME         22
#define SAVEt_STRLEN_SMALL        23

/* two args */

#define SAVEt_AV                  24
#define SAVEt_DESTRUCTOR          25
#define SAVEt_DESTRUCTOR_X        26
#define SAVEt_GENERIC_PVREF       27
#define SAVEt_GENERIC_SVREF       28
#define SAVEt_GP                  29
#define SAVEt_GVSV                30
#define SAVEt_HINTS               31
#define SAVEt_HPTR                32
#define SAVEt_HV                  33
#define SAVEt_I32                 34
#define SAVEt_INT                 35
#define SAVEt_ITEM                36
#define SAVEt_IV                  37
#define SAVEt_LONG                38
#define SAVEt_PPTR                39
#define SAVEt_SAVESWITCHSTACK     40
#define SAVEt_SHARED_PVREF        41
#define SAVEt_SPTR                42
#define SAVEt_STRLEN              43
#define SAVEt_SV                  44
#define SAVEt_SVREF               45
#define SAVEt_VPTR                46
#define SAVEt_ADELETE             47
#define SAVEt_APTR                48
#define SAVEt_RCPV_FREE           49

/* three args */

#define SAVEt_HELEM               50
#define SAVEt_PADSV_AND_MORTALIZE 51
#define SAVEt_SET_SVFLAGS         52
#define SAVEt_GVSLOT              53
#define SAVEt_AELEM               54
#define SAVEt_DELETE              55
#define SAVEt_HINTS_HH            56

static const U8 leave_scope_arg_counts[] = {
    0, /* SAVEt_ALLOC               */
    0, /* SAVEt_CLEARPADRANGE       */
    0, /* SAVEt_CLEARSV             */
    0, /* SAVEt_REGCONTEXT          */
    1, /* SAVEt_TMPSFLOOR           */
    1, /* SAVEt_BOOL                */
    1, /* SAVEt_COMPILE_WARNINGS    */
    1, /* SAVEt_COMPPAD             */
    1, /* SAVEt_FREECOPHH           */
    1, /* SAVEt_FREEOP              */
    1, /* SAVEt_FREEPV              */
    1, /* SAVEt_FREESV              */
    1, /* SAVEt_I16                 */
    1, /* SAVEt_I32_SMALL           */
    1, /* SAVEt_I8                  */
    1, /* SAVEt_INT_SMALL           */
    1, /* SAVEt_MORTALIZESV         */
    1, /* SAVEt_NSTAB               */
    1, /* SAVEt_OP                  */
    1, /* SAVEt_PARSER              */
    1, /* SAVEt_STACK_POS           */
    1, /* SAVEt_READONLY_OFF        */
    1, /* SAVEt_FREEPADNAME         */
    1, /* SAVEt_STRLEN_SMALL        */
    2, /* SAVEt_AV                  */
    2, /* SAVEt_DESTRUCTOR          */
    2, /* SAVEt_DESTRUCTOR_X        */
    2, /* SAVEt_GENERIC_PVREF       */
    2, /* SAVEt_GENERIC_SVREF       */
    2, /* SAVEt_GP                  */
    2, /* SAVEt_GVSV                */
    2, /* SAVEt_HINTS               */
    2, /* SAVEt_HPTR                */
    2, /* SAVEt_HV                  */
    2, /* SAVEt_I32                 */
    2, /* SAVEt_INT                 */
    2, /* SAVEt_ITEM                */
    2, /* SAVEt_IV                  */
    2, /* SAVEt_LONG                */
    2, /* SAVEt_PPTR                */
    2, /* SAVEt_SAVESWITCHSTACK     */
    2, /* SAVEt_SHARED_PVREF        */
    2, /* SAVEt_SPTR                */
    2, /* SAVEt_STRLEN              */
    2, /* SAVEt_SV                  */
    2, /* SAVEt_SVREF               */
    2, /* SAVEt_VPTR                */
    2, /* SAVEt_ADELETE             */
    2, /* SAVEt_APTR                */
    2, /* SAVEt_RCPV_FREE           */
    3, /* SAVEt_HELEM               */
    3, /* SAVEt_PADSV_AND_MORTALIZE */
    3, /* SAVEt_SET_SVFLAGS         */
    3, /* SAVEt_GVSLOT              */
    3, /* SAVEt_AELEM               */
    3, /* SAVEt_DELETE              */
    3  /* SAVEt_HINTS_HH            */
};

#define MAX_SAVEt 56

/* ex: set ro: */