1 # -*- buffer-read-only: t -*-
5 # Copyright (C) 2014 by Larry Wall and others
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.
10 # !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
11 # This file is built by regen/opcode.pl from data in
12 # regen/op_private and pod embedded in regen/opcode.pl.
13 # Any changes made here will be lost!
17 B::Op_private - OP op_private flag definitions
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
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
34 This module provides four global hashes:
37 %B::Op_private::defines
38 %B::Op_private::labels
39 %B::Op_private::ops_using
41 which contain information about the per-op meanings of the bits in the
46 This is indexed by op name and then bit number (0..7). For single bit flags,
47 it returns the name of the define (if any) for that bit:
49 $B::Op_private::bits{aelem}{7} eq 'OPpLVAL_INTRO';
51 For bit fields, it returns a hash ref containing details about the field.
52 The same reference will be returned for all bit positions that make
53 up the bit field; so for example these both return the same hash ref:
55 $bitfield = $B::Op_private::bits{aelem}{5};
56 $bitfield = $B::Op_private::bits{aelem}{6};
58 The general format of this hash ref is
61 # The bit range and mask; these are always present.
66 # (The remaining keys are optional)
68 # The names of any defines that were requested:
69 mask_def => 'OPpFOO_MASK',
70 baseshift_def => 'OPpFOO_SHIFT',
71 bitcount_def => 'OPpFOO_BITS',
73 # If present, Concise etc will display the value with a 'FOO='
74 # prefix. If it equals '-', then Concise will treat the bit
75 # field as raw bits and not try to interpret it.
78 # If present, specifies the names of some defines and the
79 # display labels that are used to assign meaning to particu-
80 # lar integer values within the bit field; e.g. 3 is dis-
93 This gives the value of every C<OPp> define, e.g.
95 $B::Op_private::defines{OPpLVAL_INTRO} == 128;
99 This gives the short display label for each define, as used by C<B::Concise>
100 and C<perl -Dx>, e.g.
102 $B::Op_private::labels{OPpLVAL_INTRO} eq 'LVINTRO';
104 If the label equals '-', then Concise will treat the bit as a raw bit and
105 not try to display it symbolically.
109 For each define, this gives a reference to an array of op names that use
112 @ops_using_lvintro = @{ $B::Op_private::ops_using{OPp_LVAL_INTRO} };
116 package B::Op_private;
121 our $VERSION = "5.033006";
123 $bits{$_}{3} = 'OPpENTERSUB_AMPER' for qw(entersub rv2cv);
124 $bits{$_}{6} = 'OPpENTERSUB_DB' for qw(entersub rv2cv);
125 $bits{$_}{2} = 'OPpENTERSUB_HASTARG' for qw(entersub rv2cv);
126 $bits{$_}{6} = 'OPpFLIP_LINENUM' for qw(flip flop);
127 $bits{$_}{1} = 'OPpFT_ACCESS' for qw(fteexec fteread ftewrite ftrexec ftrread ftrwrite);
128 $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);
129 $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);
130 $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);
131 $bits{$_}{1} = 'OPpHINT_STRICT_REFS' for qw(entersub multideref rv2av rv2cv rv2gv rv2hv rv2sv);
132 $bits{$_}{5} = 'OPpHUSH_VMSISH' for qw(dbstate nextstate);
133 $bits{$_}{6} = 'OPpINDEX_BOOLNEG' for qw(index rindex);
134 $bits{$_}{1} = 'OPpITER_REVERSED' for qw(enteriter iter);
135 $bits{$_}{7} = 'OPpLVALUE' for qw(leave leaveloop);
136 $bits{$_}{6} = 'OPpLVAL_DEFER' for qw(aelem helem multideref);
137 $bits{$_}{7} = 'OPpLVAL_INTRO' for qw(aelem aslice cond_expr delete enteriter entersub gvsv helem hslice list lvavref lvref lvrefslice multiconcat multideref padav padhv padrange padsv pushmark refassign rv2av rv2gv rv2hv rv2sv split);
138 $bits{$_}{2} = 'OPpLVREF_ELEM' for qw(lvref refassign);
139 $bits{$_}{3} = 'OPpLVREF_ITER' for qw(lvref refassign);
140 $bits{$_}{3} = 'OPpMAYBE_LVSUB' for qw(aassign aelem akeys aslice av2arylen avhvswitch helem hslice keys kvaslice kvhslice multideref padav padhv pos rv2av rv2gv rv2hv substr values vec);
141 $bits{$_}{4} = 'OPpMAYBE_TRUEBOOL' for qw(padhv ref rv2hv);
142 $bits{$_}{7} = 'OPpOFFBYONE' for qw(caller runcv wantarray);
143 $bits{$_}{5} = 'OPpOPEN_IN_CRLF' for qw(backtick open);
144 $bits{$_}{4} = 'OPpOPEN_IN_RAW' for qw(backtick open);
145 $bits{$_}{7} = 'OPpOPEN_OUT_CRLF' for qw(backtick open);
146 $bits{$_}{6} = 'OPpOPEN_OUT_RAW' for qw(backtick open);
147 $bits{$_}{6} = 'OPpOUR_INTRO' for qw(enteriter gvsv rv2av rv2hv rv2sv split);
148 $bits{$_}{6} = 'OPpPAD_STATE' for qw(lvavref lvref padav padhv padsv pushmark refassign);
149 $bits{$_}{7} = 'OPpPV_IS_UTF8' for qw(dump goto last next redo);
150 $bits{$_}{6} = 'OPpREFCOUNTED' for qw(leave leaveeval leavesub leavesublv leavewrite);
151 $bits{$_}{2} = 'OPpSLICEWARNING' for qw(aslice hslice padav padhv rv2av rv2hv);
152 $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_subtract index int kill left_shift length link log mkdir modulo multiconcat multiply nbit_and nbit_or nbit_xor ncomplement oct ord pow push rand rename right_shift rindex rmdir schomp scomplement setpgrp setpriority sin sleep sqrt srand stringify subtract symlink system time unlink unshift utime wait waitpid);
153 $bits{$_}{0} = 'OPpTRANS_CAN_FORCE_UTF8' for qw(trans transr);
154 $bits{$_}{5} = 'OPpTRANS_COMPLEMENT' for qw(trans transr);
155 $bits{$_}{7} = 'OPpTRANS_DELETE' for qw(trans transr);
156 $bits{$_}{6} = 'OPpTRANS_GROWS' for qw(trans transr);
157 $bits{$_}{2} = 'OPpTRANS_IDENTICAL' for qw(trans transr);
158 $bits{$_}{3} = 'OPpTRANS_SQUASH' for qw(trans transr);
159 $bits{$_}{1} = 'OPpTRANS_USE_SVOP' for qw(trans transr);
160 $bits{$_}{5} = 'OPpTRUEBOOL' for qw(grepwhile index length padav padhv pos ref rindex rv2av rv2hv subst);
165 mask_def => 'OPpARG1_MASK',
172 mask_def => 'OPpARG2_MASK',
179 mask_def => 'OPpAVHVSWITCH_MASK',
186 mask_def => 'OPpARG3_MASK',
193 mask_def => 'OPpARG4_MASK',
200 mask_def => 'OPpPADRANGE_COUNTMASK',
201 bitcount_def => 'OPpPADRANGE_COUNTSHIFT',
213 mask_def => 'OPpARGELEM_MASK',
218 0, 'OPpARGELEM_SV', 'SV',
219 1, 'OPpARGELEM_AV', 'AV',
220 2, 'OPpARGELEM_HV', 'HV',
224 mask_def => 'OPpDEREF',
229 1, 'OPpDEREF_AV', 'DREFAV',
230 2, 'OPpDEREF_HV', 'DREFHV',
231 3, 'OPpDEREF_SV', 'DREFSV',
235 mask_def => 'OPpLVREF_TYPE',
240 0, 'OPpLVREF_SV', 'SV',
241 1, 'OPpLVREF_AV', 'AV',
242 2, 'OPpLVREF_HV', 'HV',
243 3, 'OPpLVREF_CV', 'CV',
248 @{$bits{aassign}}{6,5,4,2,1,0} = ('OPpASSIGN_COMMON_SCALAR', 'OPpASSIGN_COMMON_RC1', 'OPpASSIGN_COMMON_AGG', 'OPpASSIGN_TRUEBOOL', $bf[1], $bf[1]);
249 $bits{abs}{0} = $bf[0];
250 @{$bits{accept}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
251 @{$bits{add}}{1,0} = ($bf[1], $bf[1]);
252 $bits{aeach}{0} = $bf[0];
253 @{$bits{aelem}}{5,4,1,0} = ($bf[8], $bf[8], $bf[1], $bf[1]);
254 @{$bits{aelemfast}}{7,6,5,4,3,2,1,0} = ($bf[6], $bf[6], $bf[6], $bf[6], $bf[6], $bf[6], $bf[6], $bf[6]);
255 @{$bits{aelemfast_lex}}{7,6,5,4,3,2,1,0} = ($bf[6], $bf[6], $bf[6], $bf[6], $bf[6], $bf[6], $bf[6], $bf[6]);
256 $bits{akeys}{0} = $bf[0];
257 $bits{alarm}{0} = $bf[0];
258 $bits{and}{0} = $bf[0];
259 $bits{andassign}{0} = $bf[0];
260 $bits{anonconst}{0} = $bf[0];
261 @{$bits{anonhash}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
262 @{$bits{anonlist}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
263 $bits{argcheck}{0} = $bf[0];
264 $bits{argdefelem}{0} = $bf[0];
265 @{$bits{argelem}}{2,1,0} = ($bf[7], $bf[7], $bf[0]);
266 @{$bits{atan2}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
267 $bits{av2arylen}{0} = $bf[0];
268 $bits{avalues}{0} = $bf[0];
269 @{$bits{avhvswitch}}{1,0} = ($bf[2], $bf[2]);
270 $bits{backtick}{0} = $bf[0];
271 @{$bits{bind}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
272 @{$bits{binmode}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
273 @{$bits{bit_and}}{1,0} = ($bf[1], $bf[1]);
274 @{$bits{bit_or}}{1,0} = ($bf[1], $bf[1]);
275 @{$bits{bit_xor}}{1,0} = ($bf[1], $bf[1]);
276 @{$bits{bless}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
277 @{$bits{caller}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
278 @{$bits{chdir}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
279 @{$bits{chmod}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
280 $bits{chomp}{0} = $bf[0];
281 $bits{chop}{0} = $bf[0];
282 @{$bits{chown}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
283 $bits{chr}{0} = $bf[0];
284 $bits{chroot}{0} = $bf[0];
285 @{$bits{close}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
286 $bits{closedir}{0} = $bf[0];
287 $bits{cmpchain_and}{0} = $bf[0];
288 $bits{cmpchain_dup}{0} = $bf[0];
289 $bits{complement}{0} = $bf[0];
290 @{$bits{concat}}{6,1,0} = ('OPpCONCAT_NESTED', $bf[1], $bf[1]);
291 $bits{cond_expr}{0} = $bf[0];
292 @{$bits{connect}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
293 @{$bits{const}}{6,4,3,2,1} = ('OPpCONST_BARE', 'OPpCONST_ENTERED', 'OPpCONST_STRICT', 'OPpCONST_SHORTCIRCUIT', 'OPpCONST_NOVER');
294 @{$bits{coreargs}}{7,6,1,0} = ('OPpCOREARGS_PUSHMARK', 'OPpCOREARGS_SCALARMOD', 'OPpCOREARGS_DEREF2', 'OPpCOREARGS_DEREF1');
295 $bits{cos}{0} = $bf[0];
296 @{$bits{crypt}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
297 $bits{dbmclose}{0} = $bf[0];
298 @{$bits{dbmopen}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
299 $bits{defined}{0} = $bf[0];
300 @{$bits{delete}}{6,5,0} = ('OPpSLICE', 'OPpKVSLICE', $bf[0]);
301 @{$bits{die}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
302 @{$bits{divide}}{1,0} = ($bf[1], $bf[1]);
303 $bits{dofile}{0} = $bf[0];
304 $bits{dor}{0} = $bf[0];
305 $bits{dorassign}{0} = $bf[0];
306 $bits{dump}{0} = $bf[0];
307 $bits{each}{0} = $bf[0];
308 @{$bits{entereval}}{5,4,3,2,1,0} = ('OPpEVAL_RE_REPARSING', 'OPpEVAL_COPHH', 'OPpEVAL_BYTES', 'OPpEVAL_UNICODE', 'OPpEVAL_HAS_HH', $bf[0]);
309 $bits{entergiven}{0} = $bf[0];
310 $bits{enteriter}{3} = 'OPpITER_DEF';
311 @{$bits{entersub}}{5,4,0} = ($bf[8], $bf[8], 'OPpENTERSUB_INARGS');
312 $bits{entertry}{0} = $bf[0];
313 $bits{enterwhen}{0} = $bf[0];
314 @{$bits{enterwrite}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
315 @{$bits{eof}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
316 @{$bits{eq}}{1,0} = ($bf[1], $bf[1]);
317 @{$bits{exec}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
318 @{$bits{exists}}{6,0} = ('OPpEXISTS_SUB', $bf[0]);
319 @{$bits{exit}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
320 $bits{exp}{0} = $bf[0];
321 $bits{fc}{0} = $bf[0];
322 @{$bits{fcntl}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
323 @{$bits{fileno}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
324 $bits{flip}{0} = $bf[0];
325 @{$bits{flock}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
326 $bits{flop}{0} = $bf[0];
327 @{$bits{formline}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
328 $bits{ftatime}{0} = $bf[0];
329 $bits{ftbinary}{0} = $bf[0];
330 $bits{ftblk}{0} = $bf[0];
331 $bits{ftchr}{0} = $bf[0];
332 $bits{ftctime}{0} = $bf[0];
333 $bits{ftdir}{0} = $bf[0];
334 $bits{fteexec}{0} = $bf[0];
335 $bits{fteowned}{0} = $bf[0];
336 $bits{fteread}{0} = $bf[0];
337 $bits{ftewrite}{0} = $bf[0];
338 $bits{ftfile}{0} = $bf[0];
339 $bits{ftis}{0} = $bf[0];
340 $bits{ftlink}{0} = $bf[0];
341 $bits{ftmtime}{0} = $bf[0];
342 $bits{ftpipe}{0} = $bf[0];
343 $bits{ftrexec}{0} = $bf[0];
344 $bits{ftrowned}{0} = $bf[0];
345 $bits{ftrread}{0} = $bf[0];
346 $bits{ftrwrite}{0} = $bf[0];
347 $bits{ftsgid}{0} = $bf[0];
348 $bits{ftsize}{0} = $bf[0];
349 $bits{ftsock}{0} = $bf[0];
350 $bits{ftsuid}{0} = $bf[0];
351 $bits{ftsvtx}{0} = $bf[0];
352 $bits{fttext}{0} = $bf[0];
353 $bits{fttty}{0} = $bf[0];
354 $bits{ftzero}{0} = $bf[0];
355 @{$bits{ge}}{1,0} = ($bf[1], $bf[1]);
356 @{$bits{gelem}}{1,0} = ($bf[1], $bf[1]);
357 @{$bits{getc}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
358 $bits{getpeername}{0} = $bf[0];
359 @{$bits{getpgrp}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
360 @{$bits{getpriority}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
361 $bits{getsockname}{0} = $bf[0];
362 $bits{ggrgid}{0} = $bf[0];
363 $bits{ggrnam}{0} = $bf[0];
364 @{$bits{ghbyaddr}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
365 $bits{ghbyname}{0} = $bf[0];
366 @{$bits{glob}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
367 @{$bits{gmtime}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
368 @{$bits{gnbyaddr}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
369 $bits{gnbyname}{0} = $bf[0];
370 $bits{goto}{0} = $bf[0];
371 $bits{gpbyname}{0} = $bf[0];
372 @{$bits{gpbynumber}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
373 $bits{gpwnam}{0} = $bf[0];
374 $bits{gpwuid}{0} = $bf[0];
375 $bits{grepstart}{0} = $bf[0];
376 $bits{grepwhile}{0} = $bf[0];
377 @{$bits{gsbyname}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
378 @{$bits{gsbyport}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
379 @{$bits{gsockopt}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
380 @{$bits{gt}}{1,0} = ($bf[1], $bf[1]);
381 $bits{gv}{5} = 'OPpEARLY_CV';
382 @{$bits{helem}}{5,4,1,0} = ($bf[8], $bf[8], $bf[1], $bf[1]);
383 $bits{hex}{0} = $bf[0];
384 @{$bits{i_add}}{1,0} = ($bf[1], $bf[1]);
385 @{$bits{i_divide}}{1,0} = ($bf[1], $bf[1]);
386 @{$bits{i_eq}}{1,0} = ($bf[1], $bf[1]);
387 @{$bits{i_ge}}{1,0} = ($bf[1], $bf[1]);
388 @{$bits{i_gt}}{1,0} = ($bf[1], $bf[1]);
389 @{$bits{i_le}}{1,0} = ($bf[1], $bf[1]);
390 @{$bits{i_lt}}{1,0} = ($bf[1], $bf[1]);
391 @{$bits{i_modulo}}{1,0} = ($bf[1], $bf[1]);
392 @{$bits{i_multiply}}{1,0} = ($bf[1], $bf[1]);
393 @{$bits{i_ncmp}}{1,0} = ($bf[1], $bf[1]);
394 @{$bits{i_ne}}{1,0} = ($bf[1], $bf[1]);
395 $bits{i_negate}{0} = $bf[0];
396 $bits{i_postdec}{0} = $bf[0];
397 $bits{i_postinc}{0} = $bf[0];
398 $bits{i_predec}{0} = $bf[0];
399 $bits{i_preinc}{0} = $bf[0];
400 @{$bits{i_subtract}}{1,0} = ($bf[1], $bf[1]);
401 @{$bits{index}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
402 $bits{int}{0} = $bf[0];
403 @{$bits{ioctl}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
404 @{$bits{isa}}{1,0} = ($bf[1], $bf[1]);
405 @{$bits{join}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
406 $bits{keys}{0} = $bf[0];
407 @{$bits{kill}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
408 $bits{last}{0} = $bf[0];
409 $bits{lc}{0} = $bf[0];
410 $bits{lcfirst}{0} = $bf[0];
411 @{$bits{le}}{1,0} = ($bf[1], $bf[1]);
412 $bits{leaveeval}{0} = $bf[0];
413 $bits{leavegiven}{0} = $bf[0];
414 @{$bits{leaveloop}}{1,0} = ($bf[1], $bf[1]);
415 $bits{leavesub}{0} = $bf[0];
416 $bits{leavesublv}{0} = $bf[0];
417 $bits{leavewhen}{0} = $bf[0];
418 $bits{leavewrite}{0} = $bf[0];
419 @{$bits{left_shift}}{1,0} = ($bf[1], $bf[1]);
420 $bits{length}{0} = $bf[0];
421 @{$bits{link}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
422 $bits{list}{6} = 'OPpLIST_GUESSED';
423 @{$bits{listen}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
424 $bits{localtime}{0} = $bf[0];
425 $bits{lock}{0} = $bf[0];
426 $bits{log}{0} = $bf[0];
427 @{$bits{lslice}}{1,0} = ($bf[1], $bf[1]);
428 $bits{lstat}{0} = $bf[0];
429 @{$bits{lt}}{1,0} = ($bf[1], $bf[1]);
430 $bits{lvavref}{0} = $bf[0];
431 @{$bits{lvref}}{5,4,0} = ($bf[9], $bf[9], $bf[0]);
432 $bits{mapstart}{0} = $bf[0];
433 $bits{mapwhile}{0} = $bf[0];
434 $bits{method}{0} = $bf[0];
435 $bits{method_named}{0} = $bf[0];
436 $bits{method_redir}{0} = $bf[0];
437 $bits{method_redir_super}{0} = $bf[0];
438 $bits{method_super}{0} = $bf[0];
439 @{$bits{mkdir}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
440 @{$bits{modulo}}{1,0} = ($bf[1], $bf[1]);
441 @{$bits{msgctl}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
442 @{$bits{msgget}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
443 @{$bits{msgrcv}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
444 @{$bits{msgsnd}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
445 @{$bits{multiconcat}}{6,5,3,0} = ('OPpMULTICONCAT_APPEND', 'OPpMULTICONCAT_FAKE', 'OPpMULTICONCAT_STRINGIFY', $bf[0]);
446 @{$bits{multideref}}{5,4,0} = ('OPpMULTIDEREF_DELETE', 'OPpMULTIDEREF_EXISTS', $bf[0]);
447 @{$bits{multiply}}{1,0} = ($bf[1], $bf[1]);
448 @{$bits{nbit_and}}{1,0} = ($bf[1], $bf[1]);
449 @{$bits{nbit_or}}{1,0} = ($bf[1], $bf[1]);
450 @{$bits{nbit_xor}}{1,0} = ($bf[1], $bf[1]);
451 @{$bits{ncmp}}{1,0} = ($bf[1], $bf[1]);
452 $bits{ncomplement}{0} = $bf[0];
453 @{$bits{ne}}{1,0} = ($bf[1], $bf[1]);
454 $bits{negate}{0} = $bf[0];
455 $bits{next}{0} = $bf[0];
456 $bits{not}{0} = $bf[0];
457 $bits{oct}{0} = $bf[0];
458 $bits{once}{0} = $bf[0];
459 @{$bits{open}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
460 @{$bits{open_dir}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
461 $bits{or}{0} = $bf[0];
462 $bits{orassign}{0} = $bf[0];
463 $bits{ord}{0} = $bf[0];
464 @{$bits{pack}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
465 $bits{padhv}{0} = 'OPpPADHV_ISKEYS';
466 @{$bits{padrange}}{6,5,4,3,2,1,0} = ($bf[5], $bf[5], $bf[5], $bf[5], $bf[5], $bf[5], $bf[5]);
467 @{$bits{padsv}}{5,4} = ($bf[8], $bf[8]);
468 @{$bits{pipe_op}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
469 $bits{pop}{0} = $bf[0];
470 $bits{pos}{0} = $bf[0];
471 $bits{postdec}{0} = $bf[0];
472 $bits{postinc}{0} = $bf[0];
473 @{$bits{pow}}{1,0} = ($bf[1], $bf[1]);
474 $bits{predec}{0} = $bf[0];
475 $bits{preinc}{0} = $bf[0];
476 $bits{prototype}{0} = $bf[0];
477 @{$bits{push}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
478 $bits{quotemeta}{0} = $bf[0];
479 @{$bits{rand}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
480 $bits{range}{0} = $bf[0];
481 @{$bits{read}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
482 $bits{readdir}{0} = $bf[0];
483 $bits{readline}{0} = $bf[0];
484 $bits{readlink}{0} = $bf[0];
485 @{$bits{recv}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
486 $bits{redo}{0} = $bf[0];
487 $bits{ref}{0} = $bf[0];
488 @{$bits{refassign}}{5,4,1,0} = ($bf[9], $bf[9], $bf[1], $bf[1]);
489 $bits{refgen}{0} = $bf[0];
490 $bits{regcmaybe}{0} = $bf[0];
491 $bits{regcomp}{0} = $bf[0];
492 $bits{regcreset}{0} = $bf[0];
493 @{$bits{rename}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
494 @{$bits{repeat}}{6,1,0} = ('OPpREPEAT_DOLIST', $bf[1], $bf[1]);
495 $bits{require}{0} = $bf[0];
496 @{$bits{reset}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
497 @{$bits{reverse}}{3,0} = ('OPpREVERSE_INPLACE', $bf[0]);
498 $bits{rewinddir}{0} = $bf[0];
499 @{$bits{right_shift}}{1,0} = ($bf[1], $bf[1]);
500 @{$bits{rindex}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
501 $bits{rmdir}{0} = $bf[0];
502 $bits{rv2av}{0} = $bf[0];
503 @{$bits{rv2cv}}{7,5,0} = ('OPpENTERSUB_NOPAREN', 'OPpMAY_RETURN_CONSTANT', $bf[0]);
504 @{$bits{rv2gv}}{6,5,4,2,0} = ('OPpALLOW_FAKE', $bf[8], $bf[8], 'OPpDONT_INIT_GV', $bf[0]);
505 $bits{rv2hv}{0} = 'OPpRV2HV_ISKEYS';
506 @{$bits{rv2sv}}{5,4,0} = ($bf[8], $bf[8], $bf[0]);
507 @{$bits{sassign}}{7,6,1,0} = ('OPpASSIGN_CV_TO_GV', 'OPpASSIGN_BACKWARDS', $bf[1], $bf[1]);
508 @{$bits{sbit_and}}{1,0} = ($bf[1], $bf[1]);
509 @{$bits{sbit_or}}{1,0} = ($bf[1], $bf[1]);
510 @{$bits{sbit_xor}}{1,0} = ($bf[1], $bf[1]);
511 $bits{scalar}{0} = $bf[0];
512 $bits{schomp}{0} = $bf[0];
513 $bits{schop}{0} = $bf[0];
514 @{$bits{scmp}}{1,0} = ($bf[1], $bf[1]);
515 $bits{scomplement}{0} = $bf[0];
516 @{$bits{seek}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
517 @{$bits{seekdir}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
518 @{$bits{select}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
519 @{$bits{semctl}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
520 @{$bits{semget}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
521 @{$bits{semop}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
522 @{$bits{send}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
523 @{$bits{seq}}{1,0} = ($bf[1], $bf[1]);
524 @{$bits{setpgrp}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
525 @{$bits{setpriority}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
526 @{$bits{sge}}{1,0} = ($bf[1], $bf[1]);
527 @{$bits{sgt}}{1,0} = ($bf[1], $bf[1]);
528 $bits{shift}{0} = $bf[0];
529 @{$bits{shmctl}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
530 @{$bits{shmget}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
531 @{$bits{shmread}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
532 @{$bits{shmwrite}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
533 $bits{shostent}{0} = $bf[0];
534 @{$bits{shutdown}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
535 $bits{sin}{0} = $bf[0];
536 @{$bits{sle}}{1,0} = ($bf[1], $bf[1]);
537 @{$bits{sleep}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
538 @{$bits{slt}}{1,0} = ($bf[1], $bf[1]);
539 @{$bits{smartmatch}}{1,0} = ($bf[1], $bf[1]);
540 @{$bits{sne}}{1,0} = ($bf[1], $bf[1]);
541 $bits{snetent}{0} = $bf[0];
542 @{$bits{socket}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
543 @{$bits{sockpair}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
544 @{$bits{sort}}{7,6,4,3,2,1,0} = ('OPpSORT_UNSTABLE', 'OPpSORT_STABLE', 'OPpSORT_DESCEND', 'OPpSORT_INPLACE', 'OPpSORT_REVERSE', 'OPpSORT_INTEGER', 'OPpSORT_NUMERIC');
545 @{$bits{splice}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
546 @{$bits{split}}{4,3,2} = ('OPpSPLIT_ASSIGN', 'OPpSPLIT_LEX', 'OPpSPLIT_IMPLIM');
547 @{$bits{sprintf}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
548 $bits{sprotoent}{0} = $bf[0];
549 $bits{sqrt}{0} = $bf[0];
550 @{$bits{srand}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
551 $bits{srefgen}{0} = $bf[0];
552 @{$bits{sselect}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
553 $bits{sservent}{0} = $bf[0];
554 @{$bits{ssockopt}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
555 $bits{stat}{0} = $bf[0];
556 @{$bits{stringify}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
557 $bits{study}{0} = $bf[0];
558 $bits{substcont}{0} = $bf[0];
559 @{$bits{substr}}{4,2,1,0} = ('OPpSUBSTR_REPL_FIRST', $bf[3], $bf[3], $bf[3]);
560 @{$bits{subtract}}{1,0} = ($bf[1], $bf[1]);
561 @{$bits{symlink}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
562 @{$bits{syscall}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
563 @{$bits{sysopen}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
564 @{$bits{sysread}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
565 @{$bits{sysseek}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
566 @{$bits{system}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
567 @{$bits{syswrite}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
568 @{$bits{tell}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
569 $bits{telldir}{0} = $bf[0];
570 @{$bits{tie}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
571 $bits{tied}{0} = $bf[0];
572 @{$bits{truncate}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
573 $bits{uc}{0} = $bf[0];
574 $bits{ucfirst}{0} = $bf[0];
575 @{$bits{umask}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
576 $bits{undef}{0} = $bf[0];
577 @{$bits{unlink}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
578 @{$bits{unpack}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
579 @{$bits{unshift}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
580 $bits{untie}{0} = $bf[0];
581 @{$bits{utime}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
582 $bits{values}{0} = $bf[0];
583 @{$bits{vec}}{1,0} = ($bf[1], $bf[1]);
584 @{$bits{waitpid}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
585 @{$bits{warn}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
586 @{$bits{xor}}{1,0} = ($bf[1], $bf[1]);
597 OPpARGELEM_MASK => 6,
599 OPpASSIGN_BACKWARDS => 64,
600 OPpASSIGN_COMMON_AGG => 16,
601 OPpASSIGN_COMMON_RC1 => 32,
602 OPpASSIGN_COMMON_SCALAR => 64,
603 OPpASSIGN_CV_TO_GV => 128,
604 OPpASSIGN_TRUEBOOL => 4,
605 OPpAVHVSWITCH_MASK => 3,
606 OPpCONCAT_NESTED => 64,
608 OPpCONST_ENTERED => 16,
610 OPpCONST_SHORTCIRCUIT => 4,
611 OPpCONST_STRICT => 8,
612 OPpCOREARGS_DEREF1 => 1,
613 OPpCOREARGS_DEREF2 => 2,
614 OPpCOREARGS_PUSHMARK => 128,
615 OPpCOREARGS_SCALARMOD => 64,
620 OPpDONT_INIT_GV => 4,
622 OPpENTERSUB_AMPER => 8,
623 OPpENTERSUB_DB => 64,
624 OPpENTERSUB_HASTARG => 4,
625 OPpENTERSUB_INARGS => 1,
626 OPpENTERSUB_NOPAREN => 128,
630 OPpEVAL_RE_REPARSING => 32,
631 OPpEVAL_UNICODE => 4,
633 OPpFLIP_LINENUM => 64,
638 OPpHINT_STRICT_REFS => 2,
639 OPpHUSH_VMSISH => 32,
640 OPpINDEX_BOOLNEG => 64,
642 OPpITER_REVERSED => 2,
644 OPpLIST_GUESSED => 64,
647 OPpLVAL_INTRO => 128,
656 OPpMAYBE_TRUEBOOL => 16,
657 OPpMAY_RETURN_CONSTANT => 32,
658 OPpMULTICONCAT_APPEND => 64,
659 OPpMULTICONCAT_FAKE => 32,
660 OPpMULTICONCAT_STRINGIFY => 8,
661 OPpMULTIDEREF_DELETE => 32,
662 OPpMULTIDEREF_EXISTS => 16,
664 OPpOPEN_IN_CRLF => 32,
665 OPpOPEN_IN_RAW => 16,
666 OPpOPEN_OUT_CRLF => 128,
667 OPpOPEN_OUT_RAW => 64,
669 OPpPADHV_ISKEYS => 1,
670 OPpPADRANGE_COUNTMASK => 127,
671 OPpPADRANGE_COUNTSHIFT => 7,
673 OPpPV_IS_UTF8 => 128,
675 OPpREPEAT_DOLIST => 64,
676 OPpREVERSE_INPLACE => 8,
677 OPpRV2HV_ISKEYS => 1,
679 OPpSLICEWARNING => 4,
680 OPpSORT_DESCEND => 16,
681 OPpSORT_INPLACE => 8,
682 OPpSORT_INTEGER => 2,
683 OPpSORT_NUMERIC => 1,
684 OPpSORT_REVERSE => 4,
685 OPpSORT_STABLE => 64,
686 OPpSORT_UNSTABLE => 128,
687 OPpSPLIT_ASSIGN => 16,
688 OPpSPLIT_IMPLIM => 4,
690 OPpSUBSTR_REPL_FIRST => 16,
692 OPpTRANS_CAN_FORCE_UTF8 => 1,
693 OPpTRANS_COMPLEMENT => 32,
694 OPpTRANS_DELETE => 128,
695 OPpTRANS_GROWS => 64,
696 OPpTRANS_IDENTICAL => 4,
697 OPpTRANS_SQUASH => 8,
698 OPpTRANS_USE_SVOP => 2,
703 OPpALLOW_FAKE => 'FAKE',
704 OPpARGELEM_AV => 'AV',
705 OPpARGELEM_HV => 'HV',
706 OPpARGELEM_SV => 'SV',
707 OPpASSIGN_BACKWARDS => 'BKWARD',
708 OPpASSIGN_COMMON_AGG => 'COM_AGG',
709 OPpASSIGN_COMMON_RC1 => 'COM_RC1',
710 OPpASSIGN_COMMON_SCALAR => 'COM_SCALAR',
711 OPpASSIGN_CV_TO_GV => 'CV2GV',
712 OPpASSIGN_TRUEBOOL => 'BOOL',
713 OPpCONCAT_NESTED => 'NESTED',
714 OPpCONST_BARE => 'BARE',
715 OPpCONST_ENTERED => 'ENTERED',
716 OPpCONST_NOVER => 'NOVER',
717 OPpCONST_SHORTCIRCUIT => 'SHORT',
718 OPpCONST_STRICT => 'STRICT',
719 OPpCOREARGS_DEREF1 => 'DEREF1',
720 OPpCOREARGS_DEREF2 => 'DEREF2',
721 OPpCOREARGS_PUSHMARK => 'MARK',
722 OPpCOREARGS_SCALARMOD => '$MOD',
723 OPpDEREF_AV => 'DREFAV',
724 OPpDEREF_HV => 'DREFHV',
725 OPpDEREF_SV => 'DREFSV',
726 OPpDONT_INIT_GV => 'NOINIT',
727 OPpEARLY_CV => 'EARLYCV',
728 OPpENTERSUB_AMPER => 'AMPER',
729 OPpENTERSUB_DB => 'DBG',
730 OPpENTERSUB_HASTARG => 'TARG',
731 OPpENTERSUB_INARGS => 'INARGS',
732 OPpENTERSUB_NOPAREN => 'NO()',
733 OPpEVAL_BYTES => 'BYTES',
734 OPpEVAL_COPHH => 'COPHH',
735 OPpEVAL_HAS_HH => 'HAS_HH',
736 OPpEVAL_RE_REPARSING => 'REPARSE',
737 OPpEVAL_UNICODE => 'UNI',
738 OPpEXISTS_SUB => 'SUB',
739 OPpFLIP_LINENUM => 'LINENUM',
740 OPpFT_ACCESS => 'FTACCESS',
741 OPpFT_AFTER_t => 'FTAFTERt',
742 OPpFT_STACKED => 'FTSTACKED',
743 OPpFT_STACKING => 'FTSTACKING',
744 OPpHINT_STRICT_REFS => 'STRICT',
745 OPpHUSH_VMSISH => 'HUSH',
746 OPpINDEX_BOOLNEG => 'NEG',
747 OPpITER_DEF => 'DEF',
748 OPpITER_REVERSED => 'REVERSED',
749 OPpKVSLICE => 'KVSLICE',
750 OPpLIST_GUESSED => 'GUESSED',
752 OPpLVAL_DEFER => 'LVDEFER',
753 OPpLVAL_INTRO => 'LVINTRO',
756 OPpLVREF_ELEM => 'ELEM',
758 OPpLVREF_ITER => 'ITER',
760 OPpMAYBE_LVSUB => 'LVSUB',
761 OPpMAYBE_TRUEBOOL => 'BOOL?',
762 OPpMAY_RETURN_CONSTANT => 'CONST',
763 OPpMULTICONCAT_APPEND => 'APPEND',
764 OPpMULTICONCAT_FAKE => 'FAKE',
765 OPpMULTICONCAT_STRINGIFY => 'STRINGIFY',
766 OPpMULTIDEREF_DELETE => 'DELETE',
767 OPpMULTIDEREF_EXISTS => 'EXISTS',
769 OPpOPEN_IN_CRLF => 'INCR',
770 OPpOPEN_IN_RAW => 'INBIN',
771 OPpOPEN_OUT_CRLF => 'OUTCR',
772 OPpOPEN_OUT_RAW => 'OUTBIN',
773 OPpOUR_INTRO => 'OURINTR',
774 OPpPADHV_ISKEYS => 'KEYS',
775 OPpPAD_STATE => 'STATE',
776 OPpPV_IS_UTF8 => 'UTF',
777 OPpREFCOUNTED => 'REFC',
778 OPpREPEAT_DOLIST => 'DOLIST',
779 OPpREVERSE_INPLACE => 'INPLACE',
780 OPpRV2HV_ISKEYS => 'KEYS',
782 OPpSLICEWARNING => 'SLICEWARN',
783 OPpSORT_DESCEND => 'DESC',
784 OPpSORT_INPLACE => 'INPLACE',
785 OPpSORT_INTEGER => 'INT',
786 OPpSORT_NUMERIC => 'NUM',
787 OPpSORT_REVERSE => 'REV',
788 OPpSORT_STABLE => 'STABLE',
789 OPpSORT_UNSTABLE => 'UNSTABLE',
790 OPpSPLIT_ASSIGN => 'ASSIGN',
791 OPpSPLIT_IMPLIM => 'IMPLIM',
792 OPpSPLIT_LEX => 'LEX',
793 OPpSUBSTR_REPL_FIRST => 'REPL1ST',
794 OPpTARGET_MY => 'TARGMY',
795 OPpTRANS_CAN_FORCE_UTF8 => 'CAN_FORCE_UTF8',
796 OPpTRANS_COMPLEMENT => 'COMPL',
797 OPpTRANS_DELETE => 'DEL',
798 OPpTRANS_GROWS => 'GROWS',
799 OPpTRANS_IDENTICAL => 'IDENT',
800 OPpTRANS_SQUASH => 'SQUASH',
801 OPpTRANS_USE_SVOP => 'USE_SVOP',
802 OPpTRUEBOOL => 'BOOL',
807 OPpALLOW_FAKE => [qw(rv2gv)],
808 OPpASSIGN_BACKWARDS => [qw(sassign)],
809 OPpASSIGN_COMMON_AGG => [qw(aassign)],
810 OPpCONCAT_NESTED => [qw(concat)],
811 OPpCONST_BARE => [qw(const)],
812 OPpCOREARGS_DEREF1 => [qw(coreargs)],
813 OPpEARLY_CV => [qw(gv)],
814 OPpENTERSUB_AMPER => [qw(entersub rv2cv)],
815 OPpENTERSUB_INARGS => [qw(entersub)],
816 OPpENTERSUB_NOPAREN => [qw(rv2cv)],
817 OPpEVAL_BYTES => [qw(entereval)],
818 OPpEXISTS_SUB => [qw(exists)],
819 OPpFLIP_LINENUM => [qw(flip flop)],
820 OPpFT_ACCESS => [qw(fteexec fteread ftewrite ftrexec ftrread ftrwrite)],
821 OPpFT_AFTER_t => [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)],
822 OPpHINT_STRICT_REFS => [qw(entersub multideref rv2av rv2cv rv2gv rv2hv rv2sv)],
823 OPpHUSH_VMSISH => [qw(dbstate nextstate)],
824 OPpINDEX_BOOLNEG => [qw(index rindex)],
825 OPpITER_DEF => [qw(enteriter)],
826 OPpITER_REVERSED => [qw(enteriter iter)],
827 OPpKVSLICE => [qw(delete)],
828 OPpLIST_GUESSED => [qw(list)],
829 OPpLVALUE => [qw(leave leaveloop)],
830 OPpLVAL_DEFER => [qw(aelem helem multideref)],
831 OPpLVAL_INTRO => [qw(aelem aslice cond_expr delete enteriter entersub gvsv helem hslice list lvavref lvref lvrefslice multiconcat multideref padav padhv padrange padsv pushmark refassign rv2av rv2gv rv2hv rv2sv split)],
832 OPpLVREF_ELEM => [qw(lvref refassign)],
833 OPpMAYBE_LVSUB => [qw(aassign aelem akeys aslice av2arylen avhvswitch helem hslice keys kvaslice kvhslice multideref padav padhv pos rv2av rv2gv rv2hv substr values vec)],
834 OPpMAYBE_TRUEBOOL => [qw(padhv ref rv2hv)],
835 OPpMULTICONCAT_APPEND => [qw(multiconcat)],
836 OPpMULTIDEREF_DELETE => [qw(multideref)],
837 OPpOFFBYONE => [qw(caller runcv wantarray)],
838 OPpOPEN_IN_CRLF => [qw(backtick open)],
839 OPpOUR_INTRO => [qw(enteriter gvsv rv2av rv2hv rv2sv split)],
840 OPpPADHV_ISKEYS => [qw(padhv)],
841 OPpPAD_STATE => [qw(lvavref lvref padav padhv padsv pushmark refassign)],
842 OPpPV_IS_UTF8 => [qw(dump goto last next redo)],
843 OPpREFCOUNTED => [qw(leave leaveeval leavesub leavesublv leavewrite)],
844 OPpREPEAT_DOLIST => [qw(repeat)],
845 OPpREVERSE_INPLACE => [qw(reverse)],
846 OPpRV2HV_ISKEYS => [qw(rv2hv)],
847 OPpSLICEWARNING => [qw(aslice hslice padav padhv rv2av rv2hv)],
848 OPpSORT_DESCEND => [qw(sort)],
849 OPpSPLIT_ASSIGN => [qw(split)],
850 OPpSUBSTR_REPL_FIRST => [qw(substr)],
851 OPpTARGET_MY => [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_subtract index int kill left_shift length link log mkdir modulo multiconcat multiply nbit_and nbit_or nbit_xor ncomplement oct ord pow push rand rename right_shift rindex rmdir schomp scomplement setpgrp setpriority sin sleep sqrt srand stringify subtract symlink system time unlink unshift utime wait waitpid)],
852 OPpTRANS_CAN_FORCE_UTF8 => [qw(trans transr)],
853 OPpTRUEBOOL => [qw(grepwhile index length padav padhv pos ref rindex rv2av rv2hv subst)],
856 $ops_using{OPpASSIGN_COMMON_RC1} = $ops_using{OPpASSIGN_COMMON_AGG};
857 $ops_using{OPpASSIGN_COMMON_SCALAR} = $ops_using{OPpASSIGN_COMMON_AGG};
858 $ops_using{OPpASSIGN_CV_TO_GV} = $ops_using{OPpASSIGN_BACKWARDS};
859 $ops_using{OPpASSIGN_TRUEBOOL} = $ops_using{OPpASSIGN_COMMON_AGG};
860 $ops_using{OPpCONST_ENTERED} = $ops_using{OPpCONST_BARE};
861 $ops_using{OPpCONST_NOVER} = $ops_using{OPpCONST_BARE};
862 $ops_using{OPpCONST_SHORTCIRCUIT} = $ops_using{OPpCONST_BARE};
863 $ops_using{OPpCONST_STRICT} = $ops_using{OPpCONST_BARE};
864 $ops_using{OPpCOREARGS_DEREF2} = $ops_using{OPpCOREARGS_DEREF1};
865 $ops_using{OPpCOREARGS_PUSHMARK} = $ops_using{OPpCOREARGS_DEREF1};
866 $ops_using{OPpCOREARGS_SCALARMOD} = $ops_using{OPpCOREARGS_DEREF1};
867 $ops_using{OPpDONT_INIT_GV} = $ops_using{OPpALLOW_FAKE};
868 $ops_using{OPpENTERSUB_DB} = $ops_using{OPpENTERSUB_AMPER};
869 $ops_using{OPpENTERSUB_HASTARG} = $ops_using{OPpENTERSUB_AMPER};
870 $ops_using{OPpEVAL_COPHH} = $ops_using{OPpEVAL_BYTES};
871 $ops_using{OPpEVAL_HAS_HH} = $ops_using{OPpEVAL_BYTES};
872 $ops_using{OPpEVAL_RE_REPARSING} = $ops_using{OPpEVAL_BYTES};
873 $ops_using{OPpEVAL_UNICODE} = $ops_using{OPpEVAL_BYTES};
874 $ops_using{OPpFT_STACKED} = $ops_using{OPpFT_AFTER_t};
875 $ops_using{OPpFT_STACKING} = $ops_using{OPpFT_AFTER_t};
876 $ops_using{OPpLVREF_ITER} = $ops_using{OPpLVREF_ELEM};
877 $ops_using{OPpMAY_RETURN_CONSTANT} = $ops_using{OPpENTERSUB_NOPAREN};
878 $ops_using{OPpMULTICONCAT_FAKE} = $ops_using{OPpMULTICONCAT_APPEND};
879 $ops_using{OPpMULTICONCAT_STRINGIFY} = $ops_using{OPpMULTICONCAT_APPEND};
880 $ops_using{OPpMULTIDEREF_EXISTS} = $ops_using{OPpMULTIDEREF_DELETE};
881 $ops_using{OPpOPEN_IN_RAW} = $ops_using{OPpOPEN_IN_CRLF};
882 $ops_using{OPpOPEN_OUT_CRLF} = $ops_using{OPpOPEN_IN_CRLF};
883 $ops_using{OPpOPEN_OUT_RAW} = $ops_using{OPpOPEN_IN_CRLF};
884 $ops_using{OPpSLICE} = $ops_using{OPpKVSLICE};
885 $ops_using{OPpSORT_INPLACE} = $ops_using{OPpSORT_DESCEND};
886 $ops_using{OPpSORT_INTEGER} = $ops_using{OPpSORT_DESCEND};
887 $ops_using{OPpSORT_NUMERIC} = $ops_using{OPpSORT_DESCEND};
888 $ops_using{OPpSORT_REVERSE} = $ops_using{OPpSORT_DESCEND};
889 $ops_using{OPpSORT_STABLE} = $ops_using{OPpSORT_DESCEND};
890 $ops_using{OPpSORT_UNSTABLE} = $ops_using{OPpSORT_DESCEND};
891 $ops_using{OPpSPLIT_IMPLIM} = $ops_using{OPpSPLIT_ASSIGN};
892 $ops_using{OPpSPLIT_LEX} = $ops_using{OPpSPLIT_ASSIGN};
893 $ops_using{OPpTRANS_COMPLEMENT} = $ops_using{OPpTRANS_CAN_FORCE_UTF8};
894 $ops_using{OPpTRANS_DELETE} = $ops_using{OPpTRANS_CAN_FORCE_UTF8};
895 $ops_using{OPpTRANS_GROWS} = $ops_using{OPpTRANS_CAN_FORCE_UTF8};
896 $ops_using{OPpTRANS_IDENTICAL} = $ops_using{OPpTRANS_CAN_FORCE_UTF8};
897 $ops_using{OPpTRANS_SQUASH} = $ops_using{OPpTRANS_CAN_FORCE_UTF8};
898 $ops_using{OPpTRANS_USE_SVOP} = $ops_using{OPpTRANS_CAN_FORCE_UTF8};