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.031009";
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{complement}{0} = $bf[0];
288 @{$bits{concat}}{6,1,0} = ('OPpCONCAT_NESTED', $bf[1], $bf[1]);
289 $bits{cond_expr}{0} = $bf[0];
290 @{$bits{connect}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
291 @{$bits{const}}{6,4,3,2,1} = ('OPpCONST_BARE', 'OPpCONST_ENTERED', 'OPpCONST_STRICT', 'OPpCONST_SHORTCIRCUIT', 'OPpCONST_NOVER');
292 @{$bits{coreargs}}{7,6,1,0} = ('OPpCOREARGS_PUSHMARK', 'OPpCOREARGS_SCALARMOD', 'OPpCOREARGS_DEREF2', 'OPpCOREARGS_DEREF1');
293 $bits{cos}{0} = $bf[0];
294 @{$bits{crypt}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
295 $bits{dbmclose}{0} = $bf[0];
296 @{$bits{dbmopen}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
297 $bits{defined}{0} = $bf[0];
298 @{$bits{delete}}{6,5,0} = ('OPpSLICE', 'OPpKVSLICE', $bf[0]);
299 @{$bits{die}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
300 @{$bits{divide}}{1,0} = ($bf[1], $bf[1]);
301 $bits{dofile}{0} = $bf[0];
302 $bits{dor}{0} = $bf[0];
303 $bits{dorassign}{0} = $bf[0];
304 $bits{dump}{0} = $bf[0];
305 $bits{each}{0} = $bf[0];
306 @{$bits{entereval}}{5,4,3,2,1,0} = ('OPpEVAL_RE_REPARSING', 'OPpEVAL_COPHH', 'OPpEVAL_BYTES', 'OPpEVAL_UNICODE', 'OPpEVAL_HAS_HH', $bf[0]);
307 $bits{entergiven}{0} = $bf[0];
308 $bits{enteriter}{3} = 'OPpITER_DEF';
309 @{$bits{entersub}}{5,4,0} = ($bf[8], $bf[8], 'OPpENTERSUB_INARGS');
310 $bits{entertry}{0} = $bf[0];
311 $bits{enterwhen}{0} = $bf[0];
312 @{$bits{enterwrite}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
313 @{$bits{eof}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
314 @{$bits{eq}}{1,0} = ($bf[1], $bf[1]);
315 @{$bits{exec}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
316 @{$bits{exists}}{6,0} = ('OPpEXISTS_SUB', $bf[0]);
317 @{$bits{exit}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
318 $bits{exp}{0} = $bf[0];
319 $bits{fc}{0} = $bf[0];
320 @{$bits{fcntl}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
321 @{$bits{fileno}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
322 $bits{flip}{0} = $bf[0];
323 @{$bits{flock}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
324 $bits{flop}{0} = $bf[0];
325 @{$bits{formline}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
326 $bits{ftatime}{0} = $bf[0];
327 $bits{ftbinary}{0} = $bf[0];
328 $bits{ftblk}{0} = $bf[0];
329 $bits{ftchr}{0} = $bf[0];
330 $bits{ftctime}{0} = $bf[0];
331 $bits{ftdir}{0} = $bf[0];
332 $bits{fteexec}{0} = $bf[0];
333 $bits{fteowned}{0} = $bf[0];
334 $bits{fteread}{0} = $bf[0];
335 $bits{ftewrite}{0} = $bf[0];
336 $bits{ftfile}{0} = $bf[0];
337 $bits{ftis}{0} = $bf[0];
338 $bits{ftlink}{0} = $bf[0];
339 $bits{ftmtime}{0} = $bf[0];
340 $bits{ftpipe}{0} = $bf[0];
341 $bits{ftrexec}{0} = $bf[0];
342 $bits{ftrowned}{0} = $bf[0];
343 $bits{ftrread}{0} = $bf[0];
344 $bits{ftrwrite}{0} = $bf[0];
345 $bits{ftsgid}{0} = $bf[0];
346 $bits{ftsize}{0} = $bf[0];
347 $bits{ftsock}{0} = $bf[0];
348 $bits{ftsuid}{0} = $bf[0];
349 $bits{ftsvtx}{0} = $bf[0];
350 $bits{fttext}{0} = $bf[0];
351 $bits{fttty}{0} = $bf[0];
352 $bits{ftzero}{0} = $bf[0];
353 @{$bits{ge}}{1,0} = ($bf[1], $bf[1]);
354 @{$bits{gelem}}{1,0} = ($bf[1], $bf[1]);
355 @{$bits{getc}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
356 $bits{getpeername}{0} = $bf[0];
357 @{$bits{getpgrp}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
358 @{$bits{getpriority}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
359 $bits{getsockname}{0} = $bf[0];
360 $bits{ggrgid}{0} = $bf[0];
361 $bits{ggrnam}{0} = $bf[0];
362 @{$bits{ghbyaddr}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
363 $bits{ghbyname}{0} = $bf[0];
364 @{$bits{glob}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
365 @{$bits{gmtime}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
366 @{$bits{gnbyaddr}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
367 $bits{gnbyname}{0} = $bf[0];
368 $bits{goto}{0} = $bf[0];
369 $bits{gpbyname}{0} = $bf[0];
370 @{$bits{gpbynumber}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
371 $bits{gpwnam}{0} = $bf[0];
372 $bits{gpwuid}{0} = $bf[0];
373 $bits{grepstart}{0} = $bf[0];
374 $bits{grepwhile}{0} = $bf[0];
375 @{$bits{gsbyname}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
376 @{$bits{gsbyport}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
377 @{$bits{gsockopt}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
378 @{$bits{gt}}{1,0} = ($bf[1], $bf[1]);
379 $bits{gv}{5} = 'OPpEARLY_CV';
380 @{$bits{helem}}{5,4,1,0} = ($bf[8], $bf[8], $bf[1], $bf[1]);
381 $bits{hex}{0} = $bf[0];
382 @{$bits{i_add}}{1,0} = ($bf[1], $bf[1]);
383 @{$bits{i_divide}}{1,0} = ($bf[1], $bf[1]);
384 @{$bits{i_eq}}{1,0} = ($bf[1], $bf[1]);
385 @{$bits{i_ge}}{1,0} = ($bf[1], $bf[1]);
386 @{$bits{i_gt}}{1,0} = ($bf[1], $bf[1]);
387 @{$bits{i_le}}{1,0} = ($bf[1], $bf[1]);
388 @{$bits{i_lt}}{1,0} = ($bf[1], $bf[1]);
389 @{$bits{i_modulo}}{1,0} = ($bf[1], $bf[1]);
390 @{$bits{i_multiply}}{1,0} = ($bf[1], $bf[1]);
391 @{$bits{i_ncmp}}{1,0} = ($bf[1], $bf[1]);
392 @{$bits{i_ne}}{1,0} = ($bf[1], $bf[1]);
393 $bits{i_negate}{0} = $bf[0];
394 $bits{i_postdec}{0} = $bf[0];
395 $bits{i_postinc}{0} = $bf[0];
396 $bits{i_predec}{0} = $bf[0];
397 $bits{i_preinc}{0} = $bf[0];
398 @{$bits{i_subtract}}{1,0} = ($bf[1], $bf[1]);
399 @{$bits{index}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
400 $bits{int}{0} = $bf[0];
401 @{$bits{ioctl}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
402 @{$bits{isa}}{1,0} = ($bf[1], $bf[1]);
403 @{$bits{join}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
404 $bits{keys}{0} = $bf[0];
405 @{$bits{kill}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
406 $bits{last}{0} = $bf[0];
407 $bits{lc}{0} = $bf[0];
408 $bits{lcfirst}{0} = $bf[0];
409 @{$bits{le}}{1,0} = ($bf[1], $bf[1]);
410 $bits{leaveeval}{0} = $bf[0];
411 $bits{leavegiven}{0} = $bf[0];
412 @{$bits{leaveloop}}{1,0} = ($bf[1], $bf[1]);
413 $bits{leavesub}{0} = $bf[0];
414 $bits{leavesublv}{0} = $bf[0];
415 $bits{leavewhen}{0} = $bf[0];
416 $bits{leavewrite}{0} = $bf[0];
417 @{$bits{left_shift}}{1,0} = ($bf[1], $bf[1]);
418 $bits{length}{0} = $bf[0];
419 @{$bits{link}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
420 $bits{list}{6} = 'OPpLIST_GUESSED';
421 @{$bits{listen}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
422 $bits{localtime}{0} = $bf[0];
423 $bits{lock}{0} = $bf[0];
424 $bits{log}{0} = $bf[0];
425 @{$bits{lslice}}{1,0} = ($bf[1], $bf[1]);
426 $bits{lstat}{0} = $bf[0];
427 @{$bits{lt}}{1,0} = ($bf[1], $bf[1]);
428 $bits{lvavref}{0} = $bf[0];
429 @{$bits{lvref}}{5,4,0} = ($bf[9], $bf[9], $bf[0]);
430 $bits{mapstart}{0} = $bf[0];
431 $bits{mapwhile}{0} = $bf[0];
432 $bits{method}{0} = $bf[0];
433 $bits{method_named}{0} = $bf[0];
434 $bits{method_redir}{0} = $bf[0];
435 $bits{method_redir_super}{0} = $bf[0];
436 $bits{method_super}{0} = $bf[0];
437 @{$bits{mkdir}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
438 @{$bits{modulo}}{1,0} = ($bf[1], $bf[1]);
439 @{$bits{msgctl}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
440 @{$bits{msgget}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
441 @{$bits{msgrcv}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
442 @{$bits{msgsnd}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
443 @{$bits{multiconcat}}{6,5,3,0} = ('OPpMULTICONCAT_APPEND', 'OPpMULTICONCAT_FAKE', 'OPpMULTICONCAT_STRINGIFY', $bf[0]);
444 @{$bits{multideref}}{5,4,0} = ('OPpMULTIDEREF_DELETE', 'OPpMULTIDEREF_EXISTS', $bf[0]);
445 @{$bits{multiply}}{1,0} = ($bf[1], $bf[1]);
446 @{$bits{nbit_and}}{1,0} = ($bf[1], $bf[1]);
447 @{$bits{nbit_or}}{1,0} = ($bf[1], $bf[1]);
448 @{$bits{nbit_xor}}{1,0} = ($bf[1], $bf[1]);
449 @{$bits{ncmp}}{1,0} = ($bf[1], $bf[1]);
450 $bits{ncomplement}{0} = $bf[0];
451 @{$bits{ne}}{1,0} = ($bf[1], $bf[1]);
452 $bits{negate}{0} = $bf[0];
453 $bits{next}{0} = $bf[0];
454 $bits{not}{0} = $bf[0];
455 $bits{oct}{0} = $bf[0];
456 $bits{once}{0} = $bf[0];
457 @{$bits{open}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
458 @{$bits{open_dir}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
459 $bits{or}{0} = $bf[0];
460 $bits{orassign}{0} = $bf[0];
461 $bits{ord}{0} = $bf[0];
462 @{$bits{pack}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
463 $bits{padhv}{0} = 'OPpPADHV_ISKEYS';
464 @{$bits{padrange}}{6,5,4,3,2,1,0} = ($bf[5], $bf[5], $bf[5], $bf[5], $bf[5], $bf[5], $bf[5]);
465 @{$bits{padsv}}{5,4} = ($bf[8], $bf[8]);
466 @{$bits{pipe_op}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
467 $bits{pop}{0} = $bf[0];
468 $bits{pos}{0} = $bf[0];
469 $bits{postdec}{0} = $bf[0];
470 $bits{postinc}{0} = $bf[0];
471 @{$bits{pow}}{1,0} = ($bf[1], $bf[1]);
472 $bits{predec}{0} = $bf[0];
473 $bits{preinc}{0} = $bf[0];
474 $bits{prototype}{0} = $bf[0];
475 @{$bits{push}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
476 $bits{quotemeta}{0} = $bf[0];
477 @{$bits{rand}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
478 $bits{range}{0} = $bf[0];
479 @{$bits{read}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
480 $bits{readdir}{0} = $bf[0];
481 $bits{readline}{0} = $bf[0];
482 $bits{readlink}{0} = $bf[0];
483 @{$bits{recv}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
484 $bits{redo}{0} = $bf[0];
485 $bits{ref}{0} = $bf[0];
486 @{$bits{refassign}}{5,4,1,0} = ($bf[9], $bf[9], $bf[1], $bf[1]);
487 $bits{refgen}{0} = $bf[0];
488 $bits{regcmaybe}{0} = $bf[0];
489 $bits{regcomp}{0} = $bf[0];
490 $bits{regcreset}{0} = $bf[0];
491 @{$bits{rename}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
492 @{$bits{repeat}}{6,1,0} = ('OPpREPEAT_DOLIST', $bf[1], $bf[1]);
493 $bits{require}{0} = $bf[0];
494 @{$bits{reset}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
495 @{$bits{reverse}}{3,0} = ('OPpREVERSE_INPLACE', $bf[0]);
496 $bits{rewinddir}{0} = $bf[0];
497 @{$bits{right_shift}}{1,0} = ($bf[1], $bf[1]);
498 @{$bits{rindex}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
499 $bits{rmdir}{0} = $bf[0];
500 $bits{rv2av}{0} = $bf[0];
501 @{$bits{rv2cv}}{7,5,0} = ('OPpENTERSUB_NOPAREN', 'OPpMAY_RETURN_CONSTANT', $bf[0]);
502 @{$bits{rv2gv}}{6,5,4,2,0} = ('OPpALLOW_FAKE', $bf[8], $bf[8], 'OPpDONT_INIT_GV', $bf[0]);
503 $bits{rv2hv}{0} = 'OPpRV2HV_ISKEYS';
504 @{$bits{rv2sv}}{5,4,0} = ($bf[8], $bf[8], $bf[0]);
505 @{$bits{sassign}}{7,6,1,0} = ('OPpASSIGN_CV_TO_GV', 'OPpASSIGN_BACKWARDS', $bf[1], $bf[1]);
506 @{$bits{sbit_and}}{1,0} = ($bf[1], $bf[1]);
507 @{$bits{sbit_or}}{1,0} = ($bf[1], $bf[1]);
508 @{$bits{sbit_xor}}{1,0} = ($bf[1], $bf[1]);
509 $bits{scalar}{0} = $bf[0];
510 $bits{schomp}{0} = $bf[0];
511 $bits{schop}{0} = $bf[0];
512 @{$bits{scmp}}{1,0} = ($bf[1], $bf[1]);
513 $bits{scomplement}{0} = $bf[0];
514 @{$bits{seek}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
515 @{$bits{seekdir}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
516 @{$bits{select}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
517 @{$bits{semctl}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
518 @{$bits{semget}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
519 @{$bits{semop}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
520 @{$bits{send}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
521 @{$bits{seq}}{1,0} = ($bf[1], $bf[1]);
522 @{$bits{setpgrp}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
523 @{$bits{setpriority}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
524 @{$bits{sge}}{1,0} = ($bf[1], $bf[1]);
525 @{$bits{sgt}}{1,0} = ($bf[1], $bf[1]);
526 $bits{shift}{0} = $bf[0];
527 @{$bits{shmctl}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
528 @{$bits{shmget}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
529 @{$bits{shmread}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
530 @{$bits{shmwrite}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
531 $bits{shostent}{0} = $bf[0];
532 @{$bits{shutdown}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
533 $bits{sin}{0} = $bf[0];
534 @{$bits{sle}}{1,0} = ($bf[1], $bf[1]);
535 @{$bits{sleep}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
536 @{$bits{slt}}{1,0} = ($bf[1], $bf[1]);
537 @{$bits{smartmatch}}{1,0} = ($bf[1], $bf[1]);
538 @{$bits{sne}}{1,0} = ($bf[1], $bf[1]);
539 $bits{snetent}{0} = $bf[0];
540 @{$bits{socket}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
541 @{$bits{sockpair}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
542 @{$bits{sort}}{7,6,4,3,2,1,0} = ('OPpSORT_UNSTABLE', 'OPpSORT_STABLE', 'OPpSORT_DESCEND', 'OPpSORT_INPLACE', 'OPpSORT_REVERSE', 'OPpSORT_INTEGER', 'OPpSORT_NUMERIC');
543 @{$bits{splice}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
544 @{$bits{split}}{4,3,2} = ('OPpSPLIT_ASSIGN', 'OPpSPLIT_LEX', 'OPpSPLIT_IMPLIM');
545 @{$bits{sprintf}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
546 $bits{sprotoent}{0} = $bf[0];
547 $bits{sqrt}{0} = $bf[0];
548 @{$bits{srand}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
549 $bits{srefgen}{0} = $bf[0];
550 @{$bits{sselect}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
551 $bits{sservent}{0} = $bf[0];
552 @{$bits{ssockopt}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
553 $bits{stat}{0} = $bf[0];
554 @{$bits{stringify}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
555 $bits{study}{0} = $bf[0];
556 $bits{substcont}{0} = $bf[0];
557 @{$bits{substr}}{4,2,1,0} = ('OPpSUBSTR_REPL_FIRST', $bf[3], $bf[3], $bf[3]);
558 @{$bits{subtract}}{1,0} = ($bf[1], $bf[1]);
559 @{$bits{symlink}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
560 @{$bits{syscall}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
561 @{$bits{sysopen}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
562 @{$bits{sysread}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
563 @{$bits{sysseek}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
564 @{$bits{system}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
565 @{$bits{syswrite}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
566 @{$bits{tell}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
567 $bits{telldir}{0} = $bf[0];
568 @{$bits{tie}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
569 $bits{tied}{0} = $bf[0];
570 @{$bits{truncate}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
571 $bits{uc}{0} = $bf[0];
572 $bits{ucfirst}{0} = $bf[0];
573 @{$bits{umask}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
574 $bits{undef}{0} = $bf[0];
575 @{$bits{unlink}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
576 @{$bits{unpack}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
577 @{$bits{unshift}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
578 $bits{untie}{0} = $bf[0];
579 @{$bits{utime}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
580 $bits{values}{0} = $bf[0];
581 @{$bits{vec}}{1,0} = ($bf[1], $bf[1]);
582 @{$bits{waitpid}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
583 @{$bits{warn}}{3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4]);
584 @{$bits{xor}}{1,0} = ($bf[1], $bf[1]);
595 OPpARGELEM_MASK => 6,
597 OPpASSIGN_BACKWARDS => 64,
598 OPpASSIGN_COMMON_AGG => 16,
599 OPpASSIGN_COMMON_RC1 => 32,
600 OPpASSIGN_COMMON_SCALAR => 64,
601 OPpASSIGN_CV_TO_GV => 128,
602 OPpASSIGN_TRUEBOOL => 4,
603 OPpAVHVSWITCH_MASK => 3,
604 OPpCONCAT_NESTED => 64,
606 OPpCONST_ENTERED => 16,
608 OPpCONST_SHORTCIRCUIT => 4,
609 OPpCONST_STRICT => 8,
610 OPpCOREARGS_DEREF1 => 1,
611 OPpCOREARGS_DEREF2 => 2,
612 OPpCOREARGS_PUSHMARK => 128,
613 OPpCOREARGS_SCALARMOD => 64,
618 OPpDONT_INIT_GV => 4,
620 OPpENTERSUB_AMPER => 8,
621 OPpENTERSUB_DB => 64,
622 OPpENTERSUB_HASTARG => 4,
623 OPpENTERSUB_INARGS => 1,
624 OPpENTERSUB_NOPAREN => 128,
628 OPpEVAL_RE_REPARSING => 32,
629 OPpEVAL_UNICODE => 4,
631 OPpFLIP_LINENUM => 64,
636 OPpHINT_STRICT_REFS => 2,
637 OPpHUSH_VMSISH => 32,
638 OPpINDEX_BOOLNEG => 64,
640 OPpITER_REVERSED => 2,
642 OPpLIST_GUESSED => 64,
645 OPpLVAL_INTRO => 128,
654 OPpMAYBE_TRUEBOOL => 16,
655 OPpMAY_RETURN_CONSTANT => 32,
656 OPpMULTICONCAT_APPEND => 64,
657 OPpMULTICONCAT_FAKE => 32,
658 OPpMULTICONCAT_STRINGIFY => 8,
659 OPpMULTIDEREF_DELETE => 32,
660 OPpMULTIDEREF_EXISTS => 16,
662 OPpOPEN_IN_CRLF => 32,
663 OPpOPEN_IN_RAW => 16,
664 OPpOPEN_OUT_CRLF => 128,
665 OPpOPEN_OUT_RAW => 64,
667 OPpPADHV_ISKEYS => 1,
668 OPpPADRANGE_COUNTMASK => 127,
669 OPpPADRANGE_COUNTSHIFT => 7,
671 OPpPV_IS_UTF8 => 128,
673 OPpREPEAT_DOLIST => 64,
674 OPpREVERSE_INPLACE => 8,
675 OPpRV2HV_ISKEYS => 1,
677 OPpSLICEWARNING => 4,
678 OPpSORT_DESCEND => 16,
679 OPpSORT_INPLACE => 8,
680 OPpSORT_INTEGER => 2,
681 OPpSORT_NUMERIC => 1,
682 OPpSORT_REVERSE => 4,
683 OPpSORT_STABLE => 64,
684 OPpSORT_UNSTABLE => 128,
685 OPpSPLIT_ASSIGN => 16,
686 OPpSPLIT_IMPLIM => 4,
688 OPpSUBSTR_REPL_FIRST => 16,
690 OPpTRANS_CAN_FORCE_UTF8 => 1,
691 OPpTRANS_COMPLEMENT => 32,
692 OPpTRANS_DELETE => 128,
693 OPpTRANS_GROWS => 64,
694 OPpTRANS_IDENTICAL => 4,
695 OPpTRANS_SQUASH => 8,
696 OPpTRANS_USE_SVOP => 2,
701 OPpALLOW_FAKE => 'FAKE',
702 OPpARGELEM_AV => 'AV',
703 OPpARGELEM_HV => 'HV',
704 OPpARGELEM_SV => 'SV',
705 OPpASSIGN_BACKWARDS => 'BKWARD',
706 OPpASSIGN_COMMON_AGG => 'COM_AGG',
707 OPpASSIGN_COMMON_RC1 => 'COM_RC1',
708 OPpASSIGN_COMMON_SCALAR => 'COM_SCALAR',
709 OPpASSIGN_CV_TO_GV => 'CV2GV',
710 OPpASSIGN_TRUEBOOL => 'BOOL',
711 OPpCONCAT_NESTED => 'NESTED',
712 OPpCONST_BARE => 'BARE',
713 OPpCONST_ENTERED => 'ENTERED',
714 OPpCONST_NOVER => 'NOVER',
715 OPpCONST_SHORTCIRCUIT => 'SHORT',
716 OPpCONST_STRICT => 'STRICT',
717 OPpCOREARGS_DEREF1 => 'DEREF1',
718 OPpCOREARGS_DEREF2 => 'DEREF2',
719 OPpCOREARGS_PUSHMARK => 'MARK',
720 OPpCOREARGS_SCALARMOD => '$MOD',
721 OPpDEREF_AV => 'DREFAV',
722 OPpDEREF_HV => 'DREFHV',
723 OPpDEREF_SV => 'DREFSV',
724 OPpDONT_INIT_GV => 'NOINIT',
725 OPpEARLY_CV => 'EARLYCV',
726 OPpENTERSUB_AMPER => 'AMPER',
727 OPpENTERSUB_DB => 'DBG',
728 OPpENTERSUB_HASTARG => 'TARG',
729 OPpENTERSUB_INARGS => 'INARGS',
730 OPpENTERSUB_NOPAREN => 'NO()',
731 OPpEVAL_BYTES => 'BYTES',
732 OPpEVAL_COPHH => 'COPHH',
733 OPpEVAL_HAS_HH => 'HAS_HH',
734 OPpEVAL_RE_REPARSING => 'REPARSE',
735 OPpEVAL_UNICODE => 'UNI',
736 OPpEXISTS_SUB => 'SUB',
737 OPpFLIP_LINENUM => 'LINENUM',
738 OPpFT_ACCESS => 'FTACCESS',
739 OPpFT_AFTER_t => 'FTAFTERt',
740 OPpFT_STACKED => 'FTSTACKED',
741 OPpFT_STACKING => 'FTSTACKING',
742 OPpHINT_STRICT_REFS => 'STRICT',
743 OPpHUSH_VMSISH => 'HUSH',
744 OPpINDEX_BOOLNEG => 'NEG',
745 OPpITER_DEF => 'DEF',
746 OPpITER_REVERSED => 'REVERSED',
747 OPpKVSLICE => 'KVSLICE',
748 OPpLIST_GUESSED => 'GUESSED',
750 OPpLVAL_DEFER => 'LVDEFER',
751 OPpLVAL_INTRO => 'LVINTRO',
754 OPpLVREF_ELEM => 'ELEM',
756 OPpLVREF_ITER => 'ITER',
758 OPpMAYBE_LVSUB => 'LVSUB',
759 OPpMAYBE_TRUEBOOL => 'BOOL?',
760 OPpMAY_RETURN_CONSTANT => 'CONST',
761 OPpMULTICONCAT_APPEND => 'APPEND',
762 OPpMULTICONCAT_FAKE => 'FAKE',
763 OPpMULTICONCAT_STRINGIFY => 'STRINGIFY',
764 OPpMULTIDEREF_DELETE => 'DELETE',
765 OPpMULTIDEREF_EXISTS => 'EXISTS',
767 OPpOPEN_IN_CRLF => 'INCR',
768 OPpOPEN_IN_RAW => 'INBIN',
769 OPpOPEN_OUT_CRLF => 'OUTCR',
770 OPpOPEN_OUT_RAW => 'OUTBIN',
771 OPpOUR_INTRO => 'OURINTR',
772 OPpPADHV_ISKEYS => 'KEYS',
773 OPpPAD_STATE => 'STATE',
774 OPpPV_IS_UTF8 => 'UTF',
775 OPpREFCOUNTED => 'REFC',
776 OPpREPEAT_DOLIST => 'DOLIST',
777 OPpREVERSE_INPLACE => 'INPLACE',
778 OPpRV2HV_ISKEYS => 'KEYS',
780 OPpSLICEWARNING => 'SLICEWARN',
781 OPpSORT_DESCEND => 'DESC',
782 OPpSORT_INPLACE => 'INPLACE',
783 OPpSORT_INTEGER => 'INT',
784 OPpSORT_NUMERIC => 'NUM',
785 OPpSORT_REVERSE => 'REV',
786 OPpSORT_STABLE => 'STABLE',
787 OPpSORT_UNSTABLE => 'UNSTABLE',
788 OPpSPLIT_ASSIGN => 'ASSIGN',
789 OPpSPLIT_IMPLIM => 'IMPLIM',
790 OPpSPLIT_LEX => 'LEX',
791 OPpSUBSTR_REPL_FIRST => 'REPL1ST',
792 OPpTARGET_MY => 'TARGMY',
793 OPpTRANS_CAN_FORCE_UTF8 => 'CAN_FORCE_UTF8',
794 OPpTRANS_COMPLEMENT => 'COMPL',
795 OPpTRANS_DELETE => 'DEL',
796 OPpTRANS_GROWS => 'GROWS',
797 OPpTRANS_IDENTICAL => 'IDENT',
798 OPpTRANS_SQUASH => 'SQUASH',
799 OPpTRANS_USE_SVOP => 'USE_SVOP',
800 OPpTRUEBOOL => 'BOOL',
805 OPpALLOW_FAKE => [qw(rv2gv)],
806 OPpASSIGN_BACKWARDS => [qw(sassign)],
807 OPpASSIGN_COMMON_AGG => [qw(aassign)],
808 OPpCONCAT_NESTED => [qw(concat)],
809 OPpCONST_BARE => [qw(const)],
810 OPpCOREARGS_DEREF1 => [qw(coreargs)],
811 OPpEARLY_CV => [qw(gv)],
812 OPpENTERSUB_AMPER => [qw(entersub rv2cv)],
813 OPpENTERSUB_INARGS => [qw(entersub)],
814 OPpENTERSUB_NOPAREN => [qw(rv2cv)],
815 OPpEVAL_BYTES => [qw(entereval)],
816 OPpEXISTS_SUB => [qw(exists)],
817 OPpFLIP_LINENUM => [qw(flip flop)],
818 OPpFT_ACCESS => [qw(fteexec fteread ftewrite ftrexec ftrread ftrwrite)],
819 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)],
820 OPpHINT_STRICT_REFS => [qw(entersub multideref rv2av rv2cv rv2gv rv2hv rv2sv)],
821 OPpHUSH_VMSISH => [qw(dbstate nextstate)],
822 OPpINDEX_BOOLNEG => [qw(index rindex)],
823 OPpITER_DEF => [qw(enteriter)],
824 OPpITER_REVERSED => [qw(enteriter iter)],
825 OPpKVSLICE => [qw(delete)],
826 OPpLIST_GUESSED => [qw(list)],
827 OPpLVALUE => [qw(leave leaveloop)],
828 OPpLVAL_DEFER => [qw(aelem helem multideref)],
829 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)],
830 OPpLVREF_ELEM => [qw(lvref refassign)],
831 OPpMAYBE_LVSUB => [qw(aassign aelem akeys aslice av2arylen avhvswitch helem hslice keys kvaslice kvhslice multideref padav padhv pos rv2av rv2gv rv2hv substr values vec)],
832 OPpMAYBE_TRUEBOOL => [qw(padhv ref rv2hv)],
833 OPpMULTICONCAT_APPEND => [qw(multiconcat)],
834 OPpMULTIDEREF_DELETE => [qw(multideref)],
835 OPpOFFBYONE => [qw(caller runcv wantarray)],
836 OPpOPEN_IN_CRLF => [qw(backtick open)],
837 OPpOUR_INTRO => [qw(enteriter gvsv rv2av rv2hv rv2sv split)],
838 OPpPADHV_ISKEYS => [qw(padhv)],
839 OPpPAD_STATE => [qw(lvavref lvref padav padhv padsv pushmark refassign)],
840 OPpPV_IS_UTF8 => [qw(dump goto last next redo)],
841 OPpREFCOUNTED => [qw(leave leaveeval leavesub leavesublv leavewrite)],
842 OPpREPEAT_DOLIST => [qw(repeat)],
843 OPpREVERSE_INPLACE => [qw(reverse)],
844 OPpRV2HV_ISKEYS => [qw(rv2hv)],
845 OPpSLICEWARNING => [qw(aslice hslice padav padhv rv2av rv2hv)],
846 OPpSORT_DESCEND => [qw(sort)],
847 OPpSPLIT_ASSIGN => [qw(split)],
848 OPpSUBSTR_REPL_FIRST => [qw(substr)],
849 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)],
850 OPpTRANS_CAN_FORCE_UTF8 => [qw(trans transr)],
851 OPpTRUEBOOL => [qw(grepwhile index length padav padhv pos ref rindex rv2av rv2hv subst)],
854 $ops_using{OPpASSIGN_COMMON_RC1} = $ops_using{OPpASSIGN_COMMON_AGG};
855 $ops_using{OPpASSIGN_COMMON_SCALAR} = $ops_using{OPpASSIGN_COMMON_AGG};
856 $ops_using{OPpASSIGN_CV_TO_GV} = $ops_using{OPpASSIGN_BACKWARDS};
857 $ops_using{OPpASSIGN_TRUEBOOL} = $ops_using{OPpASSIGN_COMMON_AGG};
858 $ops_using{OPpCONST_ENTERED} = $ops_using{OPpCONST_BARE};
859 $ops_using{OPpCONST_NOVER} = $ops_using{OPpCONST_BARE};
860 $ops_using{OPpCONST_SHORTCIRCUIT} = $ops_using{OPpCONST_BARE};
861 $ops_using{OPpCONST_STRICT} = $ops_using{OPpCONST_BARE};
862 $ops_using{OPpCOREARGS_DEREF2} = $ops_using{OPpCOREARGS_DEREF1};
863 $ops_using{OPpCOREARGS_PUSHMARK} = $ops_using{OPpCOREARGS_DEREF1};
864 $ops_using{OPpCOREARGS_SCALARMOD} = $ops_using{OPpCOREARGS_DEREF1};
865 $ops_using{OPpDONT_INIT_GV} = $ops_using{OPpALLOW_FAKE};
866 $ops_using{OPpENTERSUB_DB} = $ops_using{OPpENTERSUB_AMPER};
867 $ops_using{OPpENTERSUB_HASTARG} = $ops_using{OPpENTERSUB_AMPER};
868 $ops_using{OPpEVAL_COPHH} = $ops_using{OPpEVAL_BYTES};
869 $ops_using{OPpEVAL_HAS_HH} = $ops_using{OPpEVAL_BYTES};
870 $ops_using{OPpEVAL_RE_REPARSING} = $ops_using{OPpEVAL_BYTES};
871 $ops_using{OPpEVAL_UNICODE} = $ops_using{OPpEVAL_BYTES};
872 $ops_using{OPpFT_STACKED} = $ops_using{OPpFT_AFTER_t};
873 $ops_using{OPpFT_STACKING} = $ops_using{OPpFT_AFTER_t};
874 $ops_using{OPpLVREF_ITER} = $ops_using{OPpLVREF_ELEM};
875 $ops_using{OPpMAY_RETURN_CONSTANT} = $ops_using{OPpENTERSUB_NOPAREN};
876 $ops_using{OPpMULTICONCAT_FAKE} = $ops_using{OPpMULTICONCAT_APPEND};
877 $ops_using{OPpMULTICONCAT_STRINGIFY} = $ops_using{OPpMULTICONCAT_APPEND};
878 $ops_using{OPpMULTIDEREF_EXISTS} = $ops_using{OPpMULTIDEREF_DELETE};
879 $ops_using{OPpOPEN_IN_RAW} = $ops_using{OPpOPEN_IN_CRLF};
880 $ops_using{OPpOPEN_OUT_CRLF} = $ops_using{OPpOPEN_IN_CRLF};
881 $ops_using{OPpOPEN_OUT_RAW} = $ops_using{OPpOPEN_IN_CRLF};
882 $ops_using{OPpSLICE} = $ops_using{OPpKVSLICE};
883 $ops_using{OPpSORT_INPLACE} = $ops_using{OPpSORT_DESCEND};
884 $ops_using{OPpSORT_INTEGER} = $ops_using{OPpSORT_DESCEND};
885 $ops_using{OPpSORT_NUMERIC} = $ops_using{OPpSORT_DESCEND};
886 $ops_using{OPpSORT_REVERSE} = $ops_using{OPpSORT_DESCEND};
887 $ops_using{OPpSORT_STABLE} = $ops_using{OPpSORT_DESCEND};
888 $ops_using{OPpSORT_UNSTABLE} = $ops_using{OPpSORT_DESCEND};
889 $ops_using{OPpSPLIT_IMPLIM} = $ops_using{OPpSPLIT_ASSIGN};
890 $ops_using{OPpSPLIT_LEX} = $ops_using{OPpSPLIT_ASSIGN};
891 $ops_using{OPpTRANS_COMPLEMENT} = $ops_using{OPpTRANS_CAN_FORCE_UTF8};
892 $ops_using{OPpTRANS_DELETE} = $ops_using{OPpTRANS_CAN_FORCE_UTF8};
893 $ops_using{OPpTRANS_GROWS} = $ops_using{OPpTRANS_CAN_FORCE_UTF8};
894 $ops_using{OPpTRANS_IDENTICAL} = $ops_using{OPpTRANS_CAN_FORCE_UTF8};
895 $ops_using{OPpTRANS_SQUASH} = $ops_using{OPpTRANS_CAN_FORCE_UTF8};
896 $ops_using{OPpTRANS_USE_SVOP} = $ops_using{OPpTRANS_CAN_FORCE_UTF8};