Commit | Line | Data |
---|---|---|
f3574cc6 DM |
1 | # -*- buffer-read-only: t -*- |
2 | # | |
3 | # lib/B/Op_private.pm | |
4 | # | |
5 | # Copyright (C) 2014 by Larry Wall and others | |
6 | # | |
7 | # You may distribute under the terms of either the GNU General Public | |
8 | # License or the Artistic License, as specified in the README file. | |
9 | # | |
10 | # !!!!!!! DO NOT EDIT THIS FILE !!!!!!! | |
00fdc80f FC |
11 | # This file is built by regen/opcode.pl from data in |
12 | # regen/op_private and pod embedded in regen/opcode.pl. | |
f3574cc6 DM |
13 | # Any changes made here will be lost! |
14 | ||
15 | =head1 NAME | |
16 | ||
17 | B::Op_private - OP op_private flag definitions | |
18 | ||
19 | =head1 SYNOPSIS | |
20 | ||
21 | use B::Op_private; | |
22 | ||
23 | # flag details for bit 7 of OP_AELEM's op_private: | |
24 | my $name = $B::Op_private::bits{aelem}{7}; # OPpLVAL_INTRO | |
25 | my $value = $B::Op_private::defines{$name}; # 128 | |
26 | my $label = $B::Op_private::labels{$name}; # LVINTRO | |
27 | ||
28 | # the bit field at bits 5..6 of OP_AELEM's op_private: | |
29 | my $bf = $B::Op_private::bits{aelem}{6}; | |
30 | my $mask = $bf->{bitmask}; # etc | |
31 | ||
32 | =head1 DESCRIPTION | |
33 | ||
34 | This module provides three global hashes: | |
35 | ||
36 | %B::Op_private::bits | |
37 | %B::Op_private::defines | |
38 | %B::Op_private::labels | |
39 | ||
40 | which contain information about the per-op meanings of the bits in the | |
41 | op_private field. | |
42 | ||
43 | =head2 C<%bits> | |
44 | ||
45 | This is indexed by op name and then bit number (0..7). For single bit flags, | |
46 | it returns the name of the define (if any) for that bit: | |
47 | ||
48 | $B::Op_private::bits{aelem}{7} eq 'OPpLVAL_INTRO'; | |
49 | ||
50 | For bit fields, it returns a hash ref containing details about the field. | |
51 | The same reference will be returned for all bit positions that make | |
52 | up the bit field; so for example these both return the same hash ref: | |
53 | ||
54 | $bitfield = $B::Op_private::bits{aelem}{5}; | |
55 | $bitfield = $B::Op_private::bits{aelem}{6}; | |
56 | ||
57 | The general format of this hash ref is | |
58 | ||
59 | { | |
60 | # The bit range and mask; these are always present. | |
61 | bitmin => 5, | |
62 | bitmax => 6, | |
63 | bitmask => 0x60, | |
64 | ||
65 | # (The remaining keys are optional) | |
66 | ||
67 | # The names of any defines that were requested: | |
68 | mask_def => 'OPpFOO_MASK', | |
69 | baseshift_def => 'OPpFOO_SHIFT', | |
70 | bitcount_def => 'OPpFOO_BITS', | |
71 | ||
72 | # If present, Concise etc will display the value with a 'FOO=' | |
cdb679b6 FC |
73 | # prefix. If it equals '-', then Concise will treat the bit |
74 | # field as raw bits and not try to interpret it. | |
f3574cc6 DM |
75 | label => 'FOO', |
76 | ||
2febb45a FC |
77 | # If present, specifies the names of some defines and the |
78 | # display labels that are used to assign meaning to particu- | |
79 | # lar integer values within the bit field; e.g. 3 is dis- | |
80 | # played as 'C'. | |
f3574cc6 DM |
81 | enum => [ qw( |
82 | 1 OPpFOO_A A | |
83 | 2 OPpFOO_B B | |
84 | 3 OPpFOO_C C | |
85 | )], | |
86 | ||
87 | }; | |
88 | ||
89 | ||
90 | =head2 C<%defines> | |
91 | ||
92 | This gives the value of every C<OPp> define, e.g. | |
93 | ||
94 | $B::Op_private::defines{OPpLVAL_INTRO} == 128; | |
95 | ||
96 | =head2 C<%labels> | |
97 | ||
98 | This gives the short display label for each define, as used by C<B::Concise> | |
99 | and C<perl -Dx>, e.g. | |
100 | ||
101 | $B::Op_private::labels{OPpLVAL_INTRO} eq 'LVINTRO'; | |
102 | ||
103 | If the label equals '-', then Concise will treat the bit as a raw bit and | |
104 | not try to display it symbolically. | |
105 | ||
106 | =cut | |
107 | ||
108 | package B::Op_private; | |
109 | ||
110 | our %bits; | |
111 | ||
99275276 | 112 | |
52e0d617 | 113 | our $VERSION = "5.021005"; |
99275276 | 114 | |
f3574cc6 DM |
115 | $bits{$_}{3} = 'OPpENTERSUB_AMPER' for qw(entersub rv2cv); |
116 | $bits{$_}{4} = 'OPpENTERSUB_DB' for qw(entersub rv2cv); | |
117 | $bits{$_}{2} = 'OPpENTERSUB_HASTARG' for qw(entersub rv2cv); | |
118 | $bits{$_}{6} = 'OPpFLIP_LINENUM' for qw(flip flop); | |
119 | $bits{$_}{1} = 'OPpFT_ACCESS' for qw(fteexec fteread ftewrite ftrexec ftrread ftrwrite); | |
120 | $bits{$_}{4} = 'OPpFT_AFTER_t' for qw(ftatime ftbinary ftblk ftchr ftctime ftdir fteexec fteowned fteread ftewrite ftfile ftis ftlink ftmtime ftpipe ftrexec ftrowned ftrread ftrwrite ftsgid ftsize ftsock ftsuid ftsvtx fttext fttty ftzero); | |
121 | $bits{$_}{2} = 'OPpFT_STACKED' for qw(ftatime ftbinary ftblk ftchr ftctime ftdir fteexec fteowned fteread ftewrite ftfile ftis ftlink ftmtime ftpipe ftrexec ftrowned ftrread ftrwrite ftsgid ftsize ftsock ftsuid ftsvtx fttext fttty ftzero); | |
122 | $bits{$_}{3} = 'OPpFT_STACKING' for qw(ftatime ftbinary ftblk ftchr ftctime ftdir fteexec fteowned fteread ftewrite ftfile ftis ftlink ftmtime ftpipe ftrexec ftrowned ftrread ftrwrite ftsgid ftsize ftsock ftsuid ftsvtx fttext fttty ftzero); | |
123 | $bits{$_}{1} = 'OPpGREP_LEX' for qw(grepstart grepwhile mapstart mapwhile); | |
124 | $bits{$_}{6} = 'OPpHINT_M_VMSISH_STATUS' for qw(dbstate nextstate); | |
125 | $bits{$_}{7} = 'OPpHINT_M_VMSISH_TIME' for qw(dbstate nextstate); | |
126 | $bits{$_}{1} = 'OPpHINT_STRICT_REFS' for qw(entersub rv2av rv2cv rv2gv rv2hv rv2sv); | |
127 | $bits{$_}{5} = 'OPpHUSH_VMSISH' for qw(dbstate nextstate); | |
128 | $bits{$_}{2} = 'OPpITER_REVERSED' for qw(enteriter iter); | |
129 | $bits{$_}{7} = 'OPpLVALUE' for qw(leave leaveloop); | |
130 | $bits{$_}{4} = 'OPpLVAL_DEFER' for qw(aelem helem); | |
131 | $bits{$_}{7} = 'OPpLVAL_INTRO' for qw(aelem aslice cond_expr delete enteriter entersub gvsv helem hslice list padav padhv padrange padsv pos pushmark rv2av rv2gv rv2hv rv2sv substr vec); | |
132 | $bits{$_}{3} = 'OPpMAYBE_LVSUB' for qw(aassign aelem aslice av2arylen helem hslice keys kvaslice kvhslice padav padhv pos rkeys rv2av rv2gv rv2hv substr vec); | |
133 | $bits{$_}{6} = 'OPpMAYBE_TRUEBOOL' for qw(padhv rv2hv); | |
134 | $bits{$_}{7} = 'OPpOFFBYONE' for qw(caller runcv wantarray); | |
135 | $bits{$_}{5} = 'OPpOPEN_IN_CRLF' for qw(backtick open); | |
136 | $bits{$_}{4} = 'OPpOPEN_IN_RAW' for qw(backtick open); | |
137 | $bits{$_}{7} = 'OPpOPEN_OUT_CRLF' for qw(backtick open); | |
138 | $bits{$_}{6} = 'OPpOPEN_OUT_RAW' for qw(backtick open); | |
139 | $bits{$_}{4} = 'OPpOUR_INTRO' for qw(enteriter gvsv rv2av rv2hv rv2sv); | |
140 | $bits{$_}{4} = 'OPpPAD_STATE' for qw(padav padhv padsv pushmark); | |
141 | $bits{$_}{7} = 'OPpPV_IS_UTF8' for qw(dump goto last next redo); | |
142 | $bits{$_}{6} = 'OPpREFCOUNTED' for qw(leave leaveeval leavesub leavesublv leavewrite); | |
143 | $bits{$_}{6} = 'OPpRUNTIME' for qw(match pushre qr subst substcont); | |
144 | $bits{$_}{2} = 'OPpSLICEWARNING' for qw(aslice hslice padav padhv rv2av rv2hv); | |
145 | $bits{$_}{4} = 'OPpTARGET_MY' for qw(abs add atan2 chdir chmod chomp chown chr chroot concat cos crypt divide exec exp flock getpgrp getppid getpriority hex i_add i_divide i_modulo i_multiply i_negate i_postdec i_postinc i_subtract index int kill left_shift length link log match mkdir modulo multiply oct ord pow push rand rename right_shift rindex rmdir schomp setpgrp setpriority sin sleep sqrt srand stringify subst subtract symlink system time trans transr unlink unshift utime wait waitpid); | |
146 | $bits{$_}{5} = 'OPpTRANS_COMPLEMENT' for qw(trans transr); | |
147 | $bits{$_}{7} = 'OPpTRANS_DELETE' for qw(trans transr); | |
148 | $bits{$_}{0} = 'OPpTRANS_FROM_UTF' for qw(trans transr); | |
149 | $bits{$_}{6} = 'OPpTRANS_GROWS' for qw(trans transr); | |
150 | $bits{$_}{2} = 'OPpTRANS_IDENTICAL' for qw(trans transr); | |
151 | $bits{$_}{3} = 'OPpTRANS_SQUASH' for qw(trans transr); | |
152 | $bits{$_}{1} = 'OPpTRANS_TO_UTF' for qw(trans transr); | |
153 | $bits{$_}{5} = 'OPpTRUEBOOL' for qw(padhv rv2hv); | |
154 | ||
155 | my @bf = ( | |
156 | { | |
157 | label => '-', | |
158 | mask_def => 'OPpARG1_MASK', | |
159 | bitmin => 0, | |
160 | bitmax => 0, | |
161 | bitmask => 1, | |
162 | }, | |
163 | { | |
164 | label => '-', | |
165 | mask_def => 'OPpARG2_MASK', | |
166 | bitmin => 0, | |
167 | bitmax => 1, | |
168 | bitmask => 3, | |
169 | }, | |
170 | { | |
171 | label => '-', | |
172 | mask_def => 'OPpARG3_MASK', | |
173 | bitmin => 0, | |
174 | bitmax => 2, | |
175 | bitmask => 7, | |
176 | }, | |
177 | { | |
178 | label => '-', | |
179 | mask_def => 'OPpARG4_MASK', | |
180 | bitmin => 0, | |
181 | bitmax => 3, | |
182 | bitmask => 15, | |
183 | }, | |
184 | { | |
185 | label => '-', | |
186 | mask_def => 'OPpPADRANGE_COUNTMASK', | |
187 | bitcount_def => 'OPpPADRANGE_COUNTSHIFT', | |
188 | bitmin => 0, | |
189 | bitmax => 6, | |
190 | bitmask => 127, | |
191 | }, | |
192 | { | |
193 | label => '-', | |
194 | bitmin => 0, | |
195 | bitmax => 7, | |
196 | bitmask => 255, | |
197 | }, | |
198 | { | |
199 | mask_def => 'OPpDEREF', | |
200 | bitmin => 5, | |
201 | bitmax => 6, | |
202 | bitmask => 96, | |
203 | enum => [ | |
204 | 1, 'OPpDEREF_AV', 'DREFAV', | |
205 | 2, 'OPpDEREF_HV', 'DREFHV', | |
206 | 3, 'OPpDEREF_SV', 'DREFSV', | |
207 | ], | |
208 | }, | |
209 | ); | |
210 | ||
211 | @{$bits{aassign}}{6,1,0} = ('OPpASSIGN_COMMON', $bf[1], $bf[1]); | |
212 | $bits{abs}{0} = $bf[0]; | |
213 | @{$bits{accept}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
214 | @{$bits{add}}{1,0} = ($bf[1], $bf[1]); | |
215 | $bits{aeach}{0} = $bf[0]; | |
216 | @{$bits{aelem}}{6,5,1,0} = ($bf[6], $bf[6], $bf[1], $bf[1]); | |
217 | @{$bits{aelemfast}}{7,6,5,4,3,2,1,0} = ($bf[5], $bf[5], $bf[5], $bf[5], $bf[5], $bf[5], $bf[5], $bf[5]); | |
218 | @{$bits{aelemfast_lex}}{7,6,5,4,3,2,1,0} = ($bf[5], $bf[5], $bf[5], $bf[5], $bf[5], $bf[5], $bf[5], $bf[5]); | |
219 | $bits{akeys}{0} = $bf[0]; | |
220 | $bits{alarm}{0} = $bf[0]; | |
221 | $bits{and}{0} = $bf[0]; | |
222 | $bits{andassign}{0} = $bf[0]; | |
223 | @{$bits{anonhash}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
224 | @{$bits{anonlist}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
225 | @{$bits{atan2}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
226 | $bits{av2arylen}{0} = $bf[0]; | |
227 | $bits{avalues}{0} = $bf[0]; | |
228 | $bits{backtick}{0} = $bf[0]; | |
229 | @{$bits{bind}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
230 | @{$bits{binmode}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
231 | @{$bits{bit_and}}{1,0} = ($bf[1], $bf[1]); | |
232 | @{$bits{bit_or}}{1,0} = ($bf[1], $bf[1]); | |
233 | @{$bits{bit_xor}}{1,0} = ($bf[1], $bf[1]); | |
234 | @{$bits{bless}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
235 | @{$bits{caller}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
236 | @{$bits{chdir}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
237 | @{$bits{chmod}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
238 | $bits{chomp}{0} = $bf[0]; | |
239 | $bits{chop}{0} = $bf[0]; | |
240 | @{$bits{chown}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
241 | $bits{chr}{0} = $bf[0]; | |
242 | $bits{chroot}{0} = $bf[0]; | |
243 | @{$bits{close}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
244 | $bits{closedir}{0} = $bf[0]; | |
245 | $bits{complement}{0} = $bf[0]; | |
246 | @{$bits{concat}}{1,0} = ($bf[1], $bf[1]); | |
247 | $bits{cond_expr}{0} = $bf[0]; | |
248 | @{$bits{connect}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
249 | @{$bits{const}}{6,4,3,2,1} = ('OPpCONST_BARE', 'OPpCONST_ENTERED', 'OPpCONST_STRICT', 'OPpCONST_SHORTCIRCUIT', 'OPpCONST_NOVER'); | |
250 | @{$bits{coreargs}}{7,6,1,0} = ('OPpCOREARGS_PUSHMARK', 'OPpCOREARGS_SCALARMOD', 'OPpCOREARGS_DEREF2', 'OPpCOREARGS_DEREF1'); | |
251 | $bits{cos}{0} = $bf[0]; | |
252 | @{$bits{crypt}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
253 | $bits{dbmclose}{0} = $bf[0]; | |
254 | @{$bits{dbmopen}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
255 | $bits{defined}{0} = $bf[0]; | |
256 | @{$bits{delete}}{6,0} = ('OPpSLICE', $bf[0]); | |
257 | @{$bits{die}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
258 | @{$bits{divide}}{1,0} = ($bf[1], $bf[1]); | |
259 | $bits{dofile}{0} = $bf[0]; | |
260 | $bits{dor}{0} = $bf[0]; | |
261 | $bits{dorassign}{0} = $bf[0]; | |
262 | $bits{dump}{0} = $bf[0]; | |
263 | $bits{each}{0} = $bf[0]; | |
264 | @{$bits{entereval}}{5,4,3,2,1,0} = ('OPpEVAL_RE_REPARSING', 'OPpEVAL_COPHH', 'OPpEVAL_BYTES', 'OPpEVAL_UNICODE', 'OPpEVAL_HAS_HH', $bf[0]); | |
265 | $bits{entergiven}{0} = $bf[0]; | |
266 | $bits{enteriter}{3} = 'OPpITER_DEF'; | |
267 | @{$bits{entersub}}{6,5,0} = ($bf[6], $bf[6], 'OPpENTERSUB_INARGS'); | |
268 | $bits{entertry}{0} = $bf[0]; | |
269 | $bits{enterwhen}{0} = $bf[0]; | |
270 | @{$bits{enterwrite}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
271 | @{$bits{eof}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
272 | @{$bits{eq}}{1,0} = ($bf[1], $bf[1]); | |
273 | @{$bits{exec}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
274 | @{$bits{exists}}{6,0} = ('OPpEXISTS_SUB', $bf[0]); | |
275 | @{$bits{exit}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
276 | $bits{exp}{0} = $bf[0]; | |
277 | $bits{fc}{0} = $bf[0]; | |
278 | @{$bits{fcntl}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
279 | @{$bits{fileno}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
280 | $bits{flip}{0} = $bf[0]; | |
281 | @{$bits{flock}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
282 | $bits{flop}{0} = $bf[0]; | |
283 | @{$bits{formline}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
284 | $bits{ftatime}{0} = $bf[0]; | |
285 | $bits{ftbinary}{0} = $bf[0]; | |
286 | $bits{ftblk}{0} = $bf[0]; | |
287 | $bits{ftchr}{0} = $bf[0]; | |
288 | $bits{ftctime}{0} = $bf[0]; | |
289 | $bits{ftdir}{0} = $bf[0]; | |
290 | $bits{fteexec}{0} = $bf[0]; | |
291 | $bits{fteowned}{0} = $bf[0]; | |
292 | $bits{fteread}{0} = $bf[0]; | |
293 | $bits{ftewrite}{0} = $bf[0]; | |
294 | $bits{ftfile}{0} = $bf[0]; | |
295 | $bits{ftis}{0} = $bf[0]; | |
296 | $bits{ftlink}{0} = $bf[0]; | |
297 | $bits{ftmtime}{0} = $bf[0]; | |
298 | $bits{ftpipe}{0} = $bf[0]; | |
299 | $bits{ftrexec}{0} = $bf[0]; | |
300 | $bits{ftrowned}{0} = $bf[0]; | |
301 | $bits{ftrread}{0} = $bf[0]; | |
302 | $bits{ftrwrite}{0} = $bf[0]; | |
303 | $bits{ftsgid}{0} = $bf[0]; | |
304 | $bits{ftsize}{0} = $bf[0]; | |
305 | $bits{ftsock}{0} = $bf[0]; | |
306 | $bits{ftsuid}{0} = $bf[0]; | |
307 | $bits{ftsvtx}{0} = $bf[0]; | |
308 | $bits{fttext}{0} = $bf[0]; | |
309 | $bits{fttty}{0} = $bf[0]; | |
310 | $bits{ftzero}{0} = $bf[0]; | |
311 | @{$bits{ge}}{1,0} = ($bf[1], $bf[1]); | |
312 | @{$bits{gelem}}{1,0} = ($bf[1], $bf[1]); | |
313 | @{$bits{getc}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
314 | $bits{getpeername}{0} = $bf[0]; | |
315 | @{$bits{getpgrp}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
316 | @{$bits{getpriority}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
317 | $bits{getsockname}{0} = $bf[0]; | |
318 | $bits{ggrgid}{0} = $bf[0]; | |
319 | $bits{ggrnam}{0} = $bf[0]; | |
320 | @{$bits{ghbyaddr}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
321 | $bits{ghbyname}{0} = $bf[0]; | |
322 | @{$bits{glob}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
323 | @{$bits{gmtime}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
324 | @{$bits{gnbyaddr}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
325 | $bits{gnbyname}{0} = $bf[0]; | |
326 | $bits{goto}{0} = $bf[0]; | |
327 | $bits{gpbyname}{0} = $bf[0]; | |
328 | @{$bits{gpbynumber}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
329 | $bits{gpwnam}{0} = $bf[0]; | |
330 | $bits{gpwuid}{0} = $bf[0]; | |
331 | $bits{grepwhile}{0} = $bf[0]; | |
332 | @{$bits{gsbyname}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
333 | @{$bits{gsbyport}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
334 | @{$bits{gsockopt}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
335 | @{$bits{gt}}{1,0} = ($bf[1], $bf[1]); | |
336 | $bits{gv}{5} = 'OPpEARLY_CV'; | |
337 | @{$bits{helem}}{6,5,1,0} = ($bf[6], $bf[6], $bf[1], $bf[1]); | |
338 | $bits{hex}{0} = $bf[0]; | |
339 | @{$bits{i_add}}{1,0} = ($bf[1], $bf[1]); | |
340 | @{$bits{i_divide}}{1,0} = ($bf[1], $bf[1]); | |
341 | @{$bits{i_eq}}{1,0} = ($bf[1], $bf[1]); | |
342 | @{$bits{i_ge}}{1,0} = ($bf[1], $bf[1]); | |
343 | @{$bits{i_gt}}{1,0} = ($bf[1], $bf[1]); | |
344 | @{$bits{i_le}}{1,0} = ($bf[1], $bf[1]); | |
345 | @{$bits{i_lt}}{1,0} = ($bf[1], $bf[1]); | |
346 | @{$bits{i_modulo}}{1,0} = ($bf[1], $bf[1]); | |
347 | @{$bits{i_multiply}}{1,0} = ($bf[1], $bf[1]); | |
348 | @{$bits{i_ncmp}}{1,0} = ($bf[1], $bf[1]); | |
349 | @{$bits{i_ne}}{1,0} = ($bf[1], $bf[1]); | |
350 | $bits{i_negate}{0} = $bf[0]; | |
351 | $bits{i_postdec}{0} = $bf[0]; | |
352 | $bits{i_postinc}{0} = $bf[0]; | |
353 | $bits{i_predec}{0} = $bf[0]; | |
354 | $bits{i_preinc}{0} = $bf[0]; | |
355 | @{$bits{i_subtract}}{1,0} = ($bf[1], $bf[1]); | |
356 | @{$bits{index}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
357 | $bits{int}{0} = $bf[0]; | |
358 | @{$bits{ioctl}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
359 | @{$bits{join}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
360 | $bits{keys}{0} = $bf[0]; | |
361 | @{$bits{kill}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
362 | $bits{last}{0} = $bf[0]; | |
363 | $bits{lc}{0} = $bf[0]; | |
364 | $bits{lcfirst}{0} = $bf[0]; | |
365 | @{$bits{le}}{1,0} = ($bf[1], $bf[1]); | |
366 | $bits{leaveeval}{0} = $bf[0]; | |
367 | $bits{leavegiven}{0} = $bf[0]; | |
368 | @{$bits{leaveloop}}{1,0} = ($bf[1], $bf[1]); | |
369 | $bits{leavesub}{0} = $bf[0]; | |
370 | $bits{leavesublv}{0} = $bf[0]; | |
371 | $bits{leavewhen}{0} = $bf[0]; | |
372 | $bits{leavewrite}{0} = $bf[0]; | |
373 | @{$bits{left_shift}}{1,0} = ($bf[1], $bf[1]); | |
374 | $bits{length}{0} = $bf[0]; | |
375 | @{$bits{link}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
376 | $bits{list}{6} = 'OPpLIST_GUESSED'; | |
377 | @{$bits{listen}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
378 | $bits{localtime}{0} = $bf[0]; | |
379 | $bits{lock}{0} = $bf[0]; | |
380 | $bits{log}{0} = $bf[0]; | |
381 | @{$bits{lslice}}{1,0} = ($bf[1], $bf[1]); | |
382 | $bits{lstat}{0} = $bf[0]; | |
383 | @{$bits{lt}}{1,0} = ($bf[1], $bf[1]); | |
384 | $bits{mapwhile}{0} = $bf[0]; | |
385 | $bits{method}{0} = $bf[0]; | |
386 | @{$bits{mkdir}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
387 | @{$bits{modulo}}{1,0} = ($bf[1], $bf[1]); | |
388 | @{$bits{msgctl}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
389 | @{$bits{msgget}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
390 | @{$bits{msgrcv}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
391 | @{$bits{msgsnd}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
392 | @{$bits{multiply}}{1,0} = ($bf[1], $bf[1]); | |
393 | @{$bits{ncmp}}{1,0} = ($bf[1], $bf[1]); | |
394 | @{$bits{ne}}{1,0} = ($bf[1], $bf[1]); | |
395 | $bits{negate}{0} = $bf[0]; | |
396 | $bits{next}{0} = $bf[0]; | |
397 | $bits{not}{0} = $bf[0]; | |
398 | $bits{oct}{0} = $bf[0]; | |
399 | $bits{once}{0} = $bf[0]; | |
400 | @{$bits{open}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
401 | @{$bits{open_dir}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
402 | $bits{or}{0} = $bf[0]; | |
403 | $bits{orassign}{0} = $bf[0]; | |
404 | $bits{ord}{0} = $bf[0]; | |
405 | @{$bits{pack}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
406 | @{$bits{padrange}}{6,5,4,3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4], $bf[4], $bf[4], $bf[4]); | |
407 | @{$bits{padsv}}{6,5} = ($bf[6], $bf[6]); | |
408 | @{$bits{pipe_op}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
409 | $bits{pop}{0} = $bf[0]; | |
410 | $bits{pos}{0} = $bf[0]; | |
411 | $bits{postdec}{0} = $bf[0]; | |
412 | $bits{postinc}{0} = $bf[0]; | |
413 | @{$bits{pow}}{1,0} = ($bf[1], $bf[1]); | |
414 | $bits{predec}{0} = $bf[0]; | |
415 | $bits{preinc}{0} = $bf[0]; | |
416 | $bits{prototype}{0} = $bf[0]; | |
417 | @{$bits{push}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
418 | $bits{quotemeta}{0} = $bf[0]; | |
419 | @{$bits{rand}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
420 | $bits{range}{0} = $bf[0]; | |
421 | $bits{reach}{0} = $bf[0]; | |
422 | @{$bits{read}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
423 | $bits{readdir}{0} = $bf[0]; | |
424 | $bits{readline}{0} = $bf[0]; | |
425 | $bits{readlink}{0} = $bf[0]; | |
426 | @{$bits{recv}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
427 | $bits{redo}{0} = $bf[0]; | |
428 | $bits{ref}{0} = $bf[0]; | |
429 | $bits{refgen}{0} = $bf[0]; | |
430 | $bits{regcmaybe}{0} = $bf[0]; | |
431 | $bits{regcomp}{0} = $bf[0]; | |
432 | $bits{regcreset}{0} = $bf[0]; | |
433 | @{$bits{rename}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
434 | @{$bits{repeat}}{6,1,0} = ('OPpREPEAT_DOLIST', $bf[1], $bf[1]); | |
435 | $bits{require}{0} = $bf[0]; | |
436 | @{$bits{reset}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
437 | @{$bits{reverse}}{3,0} = ('OPpREVERSE_INPLACE', $bf[0]); | |
438 | $bits{rewinddir}{0} = $bf[0]; | |
439 | @{$bits{right_shift}}{1,0} = ($bf[1], $bf[1]); | |
440 | @{$bits{rindex}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
441 | $bits{rkeys}{0} = $bf[0]; | |
442 | $bits{rmdir}{0} = $bf[0]; | |
443 | $bits{rv2av}{0} = $bf[0]; | |
444 | @{$bits{rv2cv}}{7,6,0} = ('OPpENTERSUB_NOPAREN', 'OPpMAY_RETURN_CONSTANT', $bf[0]); | |
445 | @{$bits{rv2gv}}{6,5,4,2,0} = ($bf[6], $bf[6], 'OPpALLOW_FAKE', 'OPpDONT_INIT_GV', $bf[0]); | |
446 | $bits{rv2hv}{0} = $bf[0]; | |
447 | @{$bits{rv2sv}}{6,5,0} = ($bf[6], $bf[6], $bf[0]); | |
448 | $bits{rvalues}{0} = $bf[0]; | |
449 | @{$bits{sassign}}{7,6,1,0} = ('OPpASSIGN_CV_TO_GV', 'OPpASSIGN_BACKWARDS', $bf[1], $bf[1]); | |
450 | $bits{scalar}{0} = $bf[0]; | |
451 | $bits{schomp}{0} = $bf[0]; | |
452 | $bits{schop}{0} = $bf[0]; | |
453 | @{$bits{scmp}}{1,0} = ($bf[1], $bf[1]); | |
454 | @{$bits{seek}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
455 | @{$bits{seekdir}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
456 | @{$bits{select}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
457 | @{$bits{semctl}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
458 | @{$bits{semget}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
459 | @{$bits{semop}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
460 | @{$bits{send}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
461 | @{$bits{seq}}{1,0} = ($bf[1], $bf[1]); | |
462 | @{$bits{setpgrp}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
463 | @{$bits{setpriority}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
464 | @{$bits{sge}}{1,0} = ($bf[1], $bf[1]); | |
465 | @{$bits{sgt}}{1,0} = ($bf[1], $bf[1]); | |
466 | $bits{shift}{0} = $bf[0]; | |
467 | @{$bits{shmctl}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
468 | @{$bits{shmget}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
469 | @{$bits{shmread}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
470 | @{$bits{shmwrite}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
471 | $bits{shostent}{0} = $bf[0]; | |
472 | @{$bits{shutdown}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
473 | $bits{sin}{0} = $bf[0]; | |
474 | @{$bits{sle}}{1,0} = ($bf[1], $bf[1]); | |
475 | @{$bits{sleep}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
476 | @{$bits{slt}}{1,0} = ($bf[1], $bf[1]); | |
477 | @{$bits{smartmatch}}{1,0} = ($bf[1], $bf[1]); | |
478 | @{$bits{sne}}{1,0} = ($bf[1], $bf[1]); | |
479 | $bits{snetent}{0} = $bf[0]; | |
480 | @{$bits{socket}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
481 | @{$bits{sockpair}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
482 | @{$bits{sort}}{6,5,4,3,2,1,0} = ('OPpSORT_STABLE', 'OPpSORT_QSORT', 'OPpSORT_DESCEND', 'OPpSORT_INPLACE', 'OPpSORT_REVERSE', 'OPpSORT_INTEGER', 'OPpSORT_NUMERIC'); | |
483 | @{$bits{splice}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
484 | $bits{split}{7} = 'OPpSPLIT_IMPLIM'; | |
485 | @{$bits{sprintf}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
486 | $bits{sprotoent}{0} = $bf[0]; | |
487 | $bits{sqrt}{0} = $bf[0]; | |
488 | @{$bits{srand}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
489 | $bits{srefgen}{0} = $bf[0]; | |
490 | @{$bits{sselect}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
491 | $bits{sservent}{0} = $bf[0]; | |
492 | @{$bits{ssockopt}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
493 | $bits{stat}{0} = $bf[0]; | |
494 | @{$bits{stringify}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
495 | $bits{study}{0} = $bf[0]; | |
496 | $bits{substcont}{0} = $bf[0]; | |
497 | @{$bits{substr}}{4,2,1,0} = ('OPpSUBSTR_REPL_FIRST', $bf[2], $bf[2], $bf[2]); | |
498 | @{$bits{subtract}}{1,0} = ($bf[1], $bf[1]); | |
499 | @{$bits{symlink}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
500 | @{$bits{syscall}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
501 | @{$bits{sysopen}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
502 | @{$bits{sysread}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
503 | @{$bits{sysseek}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
504 | @{$bits{system}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
505 | @{$bits{syswrite}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
506 | @{$bits{tell}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
507 | $bits{telldir}{0} = $bf[0]; | |
508 | @{$bits{tie}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
509 | $bits{tied}{0} = $bf[0]; | |
510 | @{$bits{truncate}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
511 | $bits{uc}{0} = $bf[0]; | |
512 | $bits{ucfirst}{0} = $bf[0]; | |
513 | @{$bits{umask}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
514 | $bits{undef}{0} = $bf[0]; | |
515 | @{$bits{unlink}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
516 | @{$bits{unpack}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
517 | @{$bits{unshift}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
518 | $bits{untie}{0} = $bf[0]; | |
519 | @{$bits{utime}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
520 | $bits{values}{0} = $bf[0]; | |
521 | @{$bits{vec}}{1,0} = ($bf[1], $bf[1]); | |
522 | @{$bits{waitpid}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
523 | @{$bits{warn}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]); | |
524 | @{$bits{xor}}{1,0} = ($bf[1], $bf[1]); | |
525 | ||
526 | ||
527 | our %defines = ( | |
528 | OPpALLOW_FAKE => 16, | |
529 | OPpARG1_MASK => 1, | |
530 | OPpARG2_MASK => 3, | |
531 | OPpARG3_MASK => 7, | |
532 | OPpARG4_MASK => 15, | |
533 | OPpASSIGN_BACKWARDS => 64, | |
534 | OPpASSIGN_COMMON => 64, | |
535 | OPpASSIGN_CV_TO_GV => 128, | |
536 | OPpCONST_BARE => 64, | |
537 | OPpCONST_ENTERED => 16, | |
538 | OPpCONST_NOVER => 2, | |
539 | OPpCONST_SHORTCIRCUIT => 4, | |
540 | OPpCONST_STRICT => 8, | |
541 | OPpCOREARGS_DEREF1 => 1, | |
542 | OPpCOREARGS_DEREF2 => 2, | |
543 | OPpCOREARGS_PUSHMARK => 128, | |
544 | OPpCOREARGS_SCALARMOD => 64, | |
545 | OPpDEREF => 96, | |
546 | OPpDEREF_AV => 32, | |
547 | OPpDEREF_HV => 64, | |
548 | OPpDEREF_SV => 96, | |
549 | OPpDONT_INIT_GV => 4, | |
550 | OPpEARLY_CV => 32, | |
551 | OPpENTERSUB_AMPER => 8, | |
552 | OPpENTERSUB_DB => 16, | |
553 | OPpENTERSUB_HASTARG => 4, | |
554 | OPpENTERSUB_INARGS => 1, | |
555 | OPpENTERSUB_NOPAREN => 128, | |
556 | OPpEVAL_BYTES => 8, | |
557 | OPpEVAL_COPHH => 16, | |
558 | OPpEVAL_HAS_HH => 2, | |
559 | OPpEVAL_RE_REPARSING => 32, | |
560 | OPpEVAL_UNICODE => 4, | |
561 | OPpEXISTS_SUB => 64, | |
562 | OPpFLIP_LINENUM => 64, | |
563 | OPpFT_ACCESS => 2, | |
564 | OPpFT_AFTER_t => 16, | |
565 | OPpFT_STACKED => 4, | |
566 | OPpFT_STACKING => 8, | |
567 | OPpGREP_LEX => 2, | |
568 | OPpHINT_M_VMSISH_STATUS => 64, | |
569 | OPpHINT_M_VMSISH_TIME => 128, | |
570 | OPpHINT_STRICT_REFS => 2, | |
571 | OPpHUSH_VMSISH => 32, | |
572 | OPpITER_DEF => 8, | |
573 | OPpITER_REVERSED => 4, | |
574 | OPpLIST_GUESSED => 64, | |
575 | OPpLVALUE => 128, | |
576 | OPpLVAL_DEFER => 16, | |
577 | OPpLVAL_INTRO => 128, | |
578 | OPpMAYBE_LVSUB => 8, | |
579 | OPpMAYBE_TRUEBOOL => 64, | |
580 | OPpMAY_RETURN_CONSTANT => 64, | |
581 | OPpOFFBYONE => 128, | |
582 | OPpOPEN_IN_CRLF => 32, | |
583 | OPpOPEN_IN_RAW => 16, | |
584 | OPpOPEN_OUT_CRLF => 128, | |
585 | OPpOPEN_OUT_RAW => 64, | |
586 | OPpOUR_INTRO => 16, | |
587 | OPpPADRANGE_COUNTMASK => 127, | |
588 | OPpPADRANGE_COUNTSHIFT => 7, | |
589 | OPpPAD_STATE => 16, | |
590 | OPpPV_IS_UTF8 => 128, | |
591 | OPpREFCOUNTED => 64, | |
592 | OPpREPEAT_DOLIST => 64, | |
593 | OPpREVERSE_INPLACE => 8, | |
594 | OPpRUNTIME => 64, | |
595 | OPpSLICE => 64, | |
596 | OPpSLICEWARNING => 4, | |
597 | OPpSORT_DESCEND => 16, | |
598 | OPpSORT_INPLACE => 8, | |
599 | OPpSORT_INTEGER => 2, | |
600 | OPpSORT_NUMERIC => 1, | |
601 | OPpSORT_QSORT => 32, | |
602 | OPpSORT_REVERSE => 4, | |
603 | OPpSORT_STABLE => 64, | |
604 | OPpSPLIT_IMPLIM => 128, | |
605 | OPpSUBSTR_REPL_FIRST => 16, | |
606 | OPpTARGET_MY => 16, | |
607 | OPpTRANS_COMPLEMENT => 32, | |
608 | OPpTRANS_DELETE => 128, | |
609 | OPpTRANS_FROM_UTF => 1, | |
610 | OPpTRANS_GROWS => 64, | |
611 | OPpTRANS_IDENTICAL => 4, | |
612 | OPpTRANS_SQUASH => 8, | |
613 | OPpTRANS_TO_UTF => 2, | |
614 | OPpTRUEBOOL => 32, | |
615 | ); | |
616 | ||
617 | our %labels = ( | |
618 | OPpALLOW_FAKE => 'FAKE', | |
619 | OPpASSIGN_BACKWARDS => 'BKWARD', | |
620 | OPpASSIGN_COMMON => 'COMMON', | |
621 | OPpASSIGN_CV_TO_GV => 'CV2GV', | |
622 | OPpCONST_BARE => 'BARE', | |
623 | OPpCONST_ENTERED => 'ENTERED', | |
624 | OPpCONST_NOVER => 'NOVER', | |
625 | OPpCONST_SHORTCIRCUIT => 'SHORT', | |
626 | OPpCONST_STRICT => 'STRICT', | |
627 | OPpCOREARGS_DEREF1 => 'DEREF1', | |
628 | OPpCOREARGS_DEREF2 => 'DEREF2', | |
629 | OPpCOREARGS_PUSHMARK => 'MARK', | |
630 | OPpCOREARGS_SCALARMOD => '$MOD', | |
631 | OPpDEREF_AV => 'DREFAV', | |
632 | OPpDEREF_HV => 'DREFHV', | |
633 | OPpDEREF_SV => 'DREFSV', | |
634 | OPpDONT_INIT_GV => 'NOINIT', | |
635 | OPpEARLY_CV => 'EARLYCV', | |
636 | OPpENTERSUB_AMPER => 'AMPER', | |
637 | OPpENTERSUB_DB => 'DBG', | |
638 | OPpENTERSUB_HASTARG => 'TARG', | |
639 | OPpENTERSUB_INARGS => 'INARGS', | |
640 | OPpENTERSUB_NOPAREN => 'NO()', | |
641 | OPpEVAL_BYTES => 'BYTES', | |
642 | OPpEVAL_COPHH => 'COPHH', | |
643 | OPpEVAL_HAS_HH => 'HAS_HH', | |
c486bd5c | 644 | OPpEVAL_RE_REPARSING => 'REPARSE', |
f3574cc6 DM |
645 | OPpEVAL_UNICODE => 'UNI', |
646 | OPpEXISTS_SUB => 'SUB', | |
647 | OPpFLIP_LINENUM => 'LINENUM', | |
648 | OPpFT_ACCESS => 'FTACCESS', | |
649 | OPpFT_AFTER_t => 'FTAFTERt', | |
650 | OPpFT_STACKED => 'FTSTACKED', | |
651 | OPpFT_STACKING => 'FTSTACKING', | |
652 | OPpGREP_LEX => 'GREPLEX', | |
653 | OPpHINT_M_VMSISH_STATUS => 'VMSISH_STATUS', | |
654 | OPpHINT_M_VMSISH_TIME => 'VMSISH_TIME', | |
c486bd5c | 655 | OPpHINT_STRICT_REFS => 'STRICT', |
f3574cc6 | 656 | OPpHUSH_VMSISH => 'HUSH', |
c486bd5c | 657 | OPpITER_DEF => 'DEF', |
f3574cc6 DM |
658 | OPpITER_REVERSED => 'REVERSED', |
659 | OPpLIST_GUESSED => 'GUESSED', | |
660 | OPpLVALUE => 'LV', | |
661 | OPpLVAL_DEFER => 'LVDEFER', | |
662 | OPpLVAL_INTRO => 'LVINTRO', | |
663 | OPpMAYBE_LVSUB => 'LVSUB', | |
664 | OPpMAYBE_TRUEBOOL => 'BOOL?', | |
665 | OPpMAY_RETURN_CONSTANT => 'CONST', | |
666 | OPpOFFBYONE => '+1', | |
667 | OPpOPEN_IN_CRLF => 'INCR', | |
668 | OPpOPEN_IN_RAW => 'INBIN', | |
669 | OPpOPEN_OUT_CRLF => 'OUTCR', | |
670 | OPpOPEN_OUT_RAW => 'OUTBIN', | |
671 | OPpOUR_INTRO => 'OURINTR', | |
672 | OPpPAD_STATE => 'STATE', | |
673 | OPpPV_IS_UTF8 => 'UTF', | |
674 | OPpREFCOUNTED => 'REFC', | |
675 | OPpREPEAT_DOLIST => 'DOLIST', | |
676 | OPpREVERSE_INPLACE => 'INPLACE', | |
677 | OPpRUNTIME => 'RTIME', | |
678 | OPpSLICE => 'SLICE', | |
679 | OPpSLICEWARNING => 'SLICEWARN', | |
680 | OPpSORT_DESCEND => 'DESC', | |
681 | OPpSORT_INPLACE => 'INPLACE', | |
682 | OPpSORT_INTEGER => 'INT', | |
683 | OPpSORT_NUMERIC => 'NUM', | |
684 | OPpSORT_QSORT => 'QSORT', | |
685 | OPpSORT_REVERSE => 'REV', | |
686 | OPpSORT_STABLE => 'STABLE', | |
687 | OPpSPLIT_IMPLIM => 'IMPLIM', | |
688 | OPpSUBSTR_REPL_FIRST => 'REPL1ST', | |
689 | OPpTARGET_MY => 'TARGMY', | |
690 | OPpTRANS_COMPLEMENT => 'COMPL', | |
691 | OPpTRANS_DELETE => 'DEL', | |
692 | OPpTRANS_FROM_UTF => '<UTF', | |
693 | OPpTRANS_GROWS => 'GROWS', | |
694 | OPpTRANS_IDENTICAL => 'IDENT', | |
695 | OPpTRANS_SQUASH => 'SQUASH', | |
696 | OPpTRANS_TO_UTF => '>UTF', | |
697 | OPpTRUEBOOL => 'BOOL', | |
698 | ); | |
699 | ||
700 | # ex: set ro: |