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.021009";
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} = 'OPpGREP_LEX' for qw(grepstart grepwhile mapstart mapwhile);
132 $bits{$_}{1} = 'OPpHINT_STRICT_REFS' for qw(entersub multideref rv2av rv2cv rv2gv rv2hv rv2sv);
133 $bits{$_}{5} = 'OPpHUSH_VMSISH' for qw(dbstate nextstate);
134 $bits{$_}{2} = '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 multideref padav padhv padrange padsv pushmark refassign rv2av rv2gv rv2hv rv2sv);
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 aslice av2arylen helem hslice keys kvaslice kvhslice multideref padav padhv pos rkeys rv2av rv2gv rv2hv substr vec);
141 $bits{$_}{4} = 'OPpMAYBE_TRUEBOOL' for qw(padhv 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{$_}{6} = 'OPpRUNTIME' for qw(match pushre qr subst substcont);
152 $bits{$_}{2} = 'OPpSLICEWARNING' for qw(aslice hslice padav padhv rv2av rv2hv);
153 $bits{$_}{4} = 'OPpTARGET_MY' for qw(abs add atan2 chdir chmod chomp chown chr chroot complement concat cos crypt divide exec exp flock getpgrp getppid getpriority hex i_add i_divide i_modulo i_multiply i_ncmp i_subtract index int kill left_shift length link log match mkdir modulo multiply nbit_and nbit_or nbit_xor ncomplement oct ord pow push rand rename repeat right_shift rindex rmdir schomp scmp scomplement setpgrp setpriority sin sleep split sqrt srand stringify subst subtract symlink system time trans transr unlink unshift utime vec wait waitpid);
154 $bits{$_}{5} = 'OPpTRANS_COMPLEMENT' for qw(trans transr);
155 $bits{$_}{7} = 'OPpTRANS_DELETE' for qw(trans transr);
156 $bits{$_}{0} = 'OPpTRANS_FROM_UTF' for qw(trans transr);
157 $bits{$_}{6} = 'OPpTRANS_GROWS' for qw(trans transr);
158 $bits{$_}{2} = 'OPpTRANS_IDENTICAL' for qw(trans transr);
159 $bits{$_}{3} = 'OPpTRANS_SQUASH' for qw(trans transr);
160 $bits{$_}{1} = 'OPpTRANS_TO_UTF' for qw(trans transr);
161 $bits{$_}{5} = 'OPpTRUEBOOL' for qw(padhv rv2hv);
166 mask_def => 'OPpARG1_MASK',
173 mask_def => 'OPpARG2_MASK',
180 mask_def => 'OPpARG3_MASK',
187 mask_def => 'OPpARG4_MASK',
194 mask_def => 'OPpPADRANGE_COUNTMASK',
195 bitcount_def => 'OPpPADRANGE_COUNTSHIFT',
207 mask_def => 'OPpDEREF',
212 1, 'OPpDEREF_AV', 'DREFAV',
213 2, 'OPpDEREF_HV', 'DREFHV',
214 3, 'OPpDEREF_SV', 'DREFSV',
218 mask_def => 'OPpLVREF_TYPE',
223 0, 'OPpLVREF_SV', 'SV',
224 1, 'OPpLVREF_AV', 'AV',
225 2, 'OPpLVREF_HV', 'HV',
226 3, 'OPpLVREF_CV', 'CV',
231 @{$bits{aassign}}{6,1,0} = ('OPpASSIGN_COMMON', $bf[1], $bf[1]);
232 $bits{abs}{0} = $bf[0];
233 @{$bits{accept}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
234 @{$bits{add}}{1,0} = ($bf[1], $bf[1]);
235 $bits{aeach}{0} = $bf[0];
236 @{$bits{aelem}}{5,4,1,0} = ($bf[6], $bf[6], $bf[1], $bf[1]);
237 @{$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]);
238 @{$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]);
239 $bits{akeys}{0} = $bf[0];
240 $bits{alarm}{0} = $bf[0];
241 $bits{and}{0} = $bf[0];
242 $bits{andassign}{0} = $bf[0];
243 $bits{anonconst}{0} = $bf[0];
244 @{$bits{anonhash}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
245 @{$bits{anonlist}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
246 @{$bits{atan2}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
247 $bits{av2arylen}{0} = $bf[0];
248 $bits{avalues}{0} = $bf[0];
249 $bits{backtick}{0} = $bf[0];
250 @{$bits{bind}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
251 @{$bits{binmode}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
252 @{$bits{bit_and}}{1,0} = ($bf[1], $bf[1]);
253 @{$bits{bit_or}}{1,0} = ($bf[1], $bf[1]);
254 @{$bits{bit_xor}}{1,0} = ($bf[1], $bf[1]);
255 @{$bits{bless}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
256 @{$bits{caller}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
257 @{$bits{chdir}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
258 @{$bits{chmod}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
259 $bits{chomp}{0} = $bf[0];
260 $bits{chop}{0} = $bf[0];
261 @{$bits{chown}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
262 $bits{chr}{0} = $bf[0];
263 $bits{chroot}{0} = $bf[0];
264 @{$bits{close}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
265 $bits{closedir}{0} = $bf[0];
266 $bits{complement}{0} = $bf[0];
267 @{$bits{concat}}{1,0} = ($bf[1], $bf[1]);
268 $bits{cond_expr}{0} = $bf[0];
269 @{$bits{connect}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
270 @{$bits{const}}{6,4,3,2,1} = ('OPpCONST_BARE', 'OPpCONST_ENTERED', 'OPpCONST_STRICT', 'OPpCONST_SHORTCIRCUIT', 'OPpCONST_NOVER');
271 @{$bits{coreargs}}{7,6,1,0} = ('OPpCOREARGS_PUSHMARK', 'OPpCOREARGS_SCALARMOD', 'OPpCOREARGS_DEREF2', 'OPpCOREARGS_DEREF1');
272 $bits{cos}{0} = $bf[0];
273 @{$bits{crypt}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
274 $bits{dbmclose}{0} = $bf[0];
275 @{$bits{dbmopen}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
276 $bits{defined}{0} = $bf[0];
277 @{$bits{delete}}{6,0} = ('OPpSLICE', $bf[0]);
278 @{$bits{die}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
279 @{$bits{divide}}{1,0} = ($bf[1], $bf[1]);
280 $bits{dofile}{0} = $bf[0];
281 $bits{dor}{0} = $bf[0];
282 $bits{dorassign}{0} = $bf[0];
283 $bits{dump}{0} = $bf[0];
284 $bits{each}{0} = $bf[0];
285 @{$bits{entereval}}{5,4,3,2,1,0} = ('OPpEVAL_RE_REPARSING', 'OPpEVAL_COPHH', 'OPpEVAL_BYTES', 'OPpEVAL_UNICODE', 'OPpEVAL_HAS_HH', $bf[0]);
286 $bits{entergiven}{0} = $bf[0];
287 $bits{enteriter}{3} = 'OPpITER_DEF';
288 @{$bits{entersub}}{5,4,0} = ($bf[6], $bf[6], 'OPpENTERSUB_INARGS');
289 $bits{entertry}{0} = $bf[0];
290 $bits{enterwhen}{0} = $bf[0];
291 @{$bits{enterwrite}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
292 @{$bits{eof}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
293 @{$bits{eq}}{1,0} = ($bf[1], $bf[1]);
294 @{$bits{exec}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
295 @{$bits{exists}}{6,0} = ('OPpEXISTS_SUB', $bf[0]);
296 @{$bits{exit}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
297 $bits{exp}{0} = $bf[0];
298 $bits{fc}{0} = $bf[0];
299 @{$bits{fcntl}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
300 @{$bits{fileno}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
301 $bits{flip}{0} = $bf[0];
302 @{$bits{flock}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
303 $bits{flop}{0} = $bf[0];
304 @{$bits{formline}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
305 $bits{ftatime}{0} = $bf[0];
306 $bits{ftbinary}{0} = $bf[0];
307 $bits{ftblk}{0} = $bf[0];
308 $bits{ftchr}{0} = $bf[0];
309 $bits{ftctime}{0} = $bf[0];
310 $bits{ftdir}{0} = $bf[0];
311 $bits{fteexec}{0} = $bf[0];
312 $bits{fteowned}{0} = $bf[0];
313 $bits{fteread}{0} = $bf[0];
314 $bits{ftewrite}{0} = $bf[0];
315 $bits{ftfile}{0} = $bf[0];
316 $bits{ftis}{0} = $bf[0];
317 $bits{ftlink}{0} = $bf[0];
318 $bits{ftmtime}{0} = $bf[0];
319 $bits{ftpipe}{0} = $bf[0];
320 $bits{ftrexec}{0} = $bf[0];
321 $bits{ftrowned}{0} = $bf[0];
322 $bits{ftrread}{0} = $bf[0];
323 $bits{ftrwrite}{0} = $bf[0];
324 $bits{ftsgid}{0} = $bf[0];
325 $bits{ftsize}{0} = $bf[0];
326 $bits{ftsock}{0} = $bf[0];
327 $bits{ftsuid}{0} = $bf[0];
328 $bits{ftsvtx}{0} = $bf[0];
329 $bits{fttext}{0} = $bf[0];
330 $bits{fttty}{0} = $bf[0];
331 $bits{ftzero}{0} = $bf[0];
332 @{$bits{ge}}{1,0} = ($bf[1], $bf[1]);
333 @{$bits{gelem}}{1,0} = ($bf[1], $bf[1]);
334 @{$bits{getc}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
335 $bits{getpeername}{0} = $bf[0];
336 @{$bits{getpgrp}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
337 @{$bits{getpriority}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
338 $bits{getsockname}{0} = $bf[0];
339 $bits{ggrgid}{0} = $bf[0];
340 $bits{ggrnam}{0} = $bf[0];
341 @{$bits{ghbyaddr}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
342 $bits{ghbyname}{0} = $bf[0];
343 @{$bits{glob}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
344 @{$bits{gmtime}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
345 @{$bits{gnbyaddr}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
346 $bits{gnbyname}{0} = $bf[0];
347 $bits{goto}{0} = $bf[0];
348 $bits{gpbyname}{0} = $bf[0];
349 @{$bits{gpbynumber}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
350 $bits{gpwnam}{0} = $bf[0];
351 $bits{gpwuid}{0} = $bf[0];
352 $bits{grepwhile}{0} = $bf[0];
353 @{$bits{gsbyname}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
354 @{$bits{gsbyport}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
355 @{$bits{gsockopt}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
356 @{$bits{gt}}{1,0} = ($bf[1], $bf[1]);
357 $bits{gv}{5} = 'OPpEARLY_CV';
358 @{$bits{helem}}{5,4,1,0} = ($bf[6], $bf[6], $bf[1], $bf[1]);
359 $bits{hex}{0} = $bf[0];
360 @{$bits{i_add}}{1,0} = ($bf[1], $bf[1]);
361 @{$bits{i_divide}}{1,0} = ($bf[1], $bf[1]);
362 @{$bits{i_eq}}{1,0} = ($bf[1], $bf[1]);
363 @{$bits{i_ge}}{1,0} = ($bf[1], $bf[1]);
364 @{$bits{i_gt}}{1,0} = ($bf[1], $bf[1]);
365 @{$bits{i_le}}{1,0} = ($bf[1], $bf[1]);
366 @{$bits{i_lt}}{1,0} = ($bf[1], $bf[1]);
367 @{$bits{i_modulo}}{1,0} = ($bf[1], $bf[1]);
368 @{$bits{i_multiply}}{1,0} = ($bf[1], $bf[1]);
369 @{$bits{i_ncmp}}{1,0} = ($bf[1], $bf[1]);
370 @{$bits{i_ne}}{1,0} = ($bf[1], $bf[1]);
371 $bits{i_negate}{0} = $bf[0];
372 $bits{i_postdec}{0} = $bf[0];
373 $bits{i_postinc}{0} = $bf[0];
374 $bits{i_predec}{0} = $bf[0];
375 $bits{i_preinc}{0} = $bf[0];
376 @{$bits{i_subtract}}{1,0} = ($bf[1], $bf[1]);
377 @{$bits{index}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
378 $bits{int}{0} = $bf[0];
379 @{$bits{ioctl}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
380 @{$bits{join}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
381 $bits{keys}{0} = $bf[0];
382 @{$bits{kill}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
383 $bits{last}{0} = $bf[0];
384 $bits{lc}{0} = $bf[0];
385 $bits{lcfirst}{0} = $bf[0];
386 @{$bits{le}}{1,0} = ($bf[1], $bf[1]);
387 $bits{leaveeval}{0} = $bf[0];
388 $bits{leavegiven}{0} = $bf[0];
389 @{$bits{leaveloop}}{1,0} = ($bf[1], $bf[1]);
390 $bits{leavesub}{0} = $bf[0];
391 $bits{leavesublv}{0} = $bf[0];
392 $bits{leavewhen}{0} = $bf[0];
393 $bits{leavewrite}{0} = $bf[0];
394 @{$bits{left_shift}}{1,0} = ($bf[1], $bf[1]);
395 $bits{length}{0} = $bf[0];
396 @{$bits{link}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
397 $bits{list}{6} = 'OPpLIST_GUESSED';
398 @{$bits{listen}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
399 $bits{localtime}{0} = $bf[0];
400 $bits{lock}{0} = $bf[0];
401 $bits{log}{0} = $bf[0];
402 @{$bits{lslice}}{1,0} = ($bf[1], $bf[1]);
403 $bits{lstat}{0} = $bf[0];
404 @{$bits{lt}}{1,0} = ($bf[1], $bf[1]);
405 $bits{lvavref}{0} = $bf[0];
406 @{$bits{lvref}}{5,4,0} = ($bf[7], $bf[7], $bf[0]);
407 $bits{mapwhile}{0} = $bf[0];
408 $bits{method}{0} = $bf[0];
409 $bits{method_named}{0} = $bf[0];
410 $bits{method_redir}{0} = $bf[0];
411 $bits{method_redir_super}{0} = $bf[0];
412 $bits{method_super}{0} = $bf[0];
413 @{$bits{mkdir}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
414 @{$bits{modulo}}{1,0} = ($bf[1], $bf[1]);
415 @{$bits{msgctl}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
416 @{$bits{msgget}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
417 @{$bits{msgrcv}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
418 @{$bits{msgsnd}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
419 @{$bits{multideref}}{5,4,0} = ('OPpMULTIDEREF_DELETE', 'OPpMULTIDEREF_EXISTS', $bf[0]);
420 @{$bits{multiply}}{1,0} = ($bf[1], $bf[1]);
421 @{$bits{nbit_and}}{1,0} = ($bf[1], $bf[1]);
422 @{$bits{nbit_or}}{1,0} = ($bf[1], $bf[1]);
423 @{$bits{nbit_xor}}{1,0} = ($bf[1], $bf[1]);
424 @{$bits{ncmp}}{1,0} = ($bf[1], $bf[1]);
425 $bits{ncomplement}{0} = $bf[0];
426 @{$bits{ne}}{1,0} = ($bf[1], $bf[1]);
427 $bits{negate}{0} = $bf[0];
428 $bits{next}{0} = $bf[0];
429 $bits{not}{0} = $bf[0];
430 $bits{oct}{0} = $bf[0];
431 $bits{once}{0} = $bf[0];
432 @{$bits{open}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
433 @{$bits{open_dir}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
434 $bits{or}{0} = $bf[0];
435 $bits{orassign}{0} = $bf[0];
436 $bits{ord}{0} = $bf[0];
437 @{$bits{pack}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
438 @{$bits{padrange}}{6,5,4,3,2,1,0} = ($bf[4], $bf[4], $bf[4], $bf[4], $bf[4], $bf[4], $bf[4]);
439 @{$bits{padsv}}{5,4} = ($bf[6], $bf[6]);
440 @{$bits{pipe_op}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
441 $bits{pop}{0} = $bf[0];
442 $bits{pos}{0} = $bf[0];
443 $bits{postdec}{0} = $bf[0];
444 $bits{postinc}{0} = $bf[0];
445 @{$bits{pow}}{1,0} = ($bf[1], $bf[1]);
446 $bits{predec}{0} = $bf[0];
447 $bits{preinc}{0} = $bf[0];
448 $bits{prototype}{0} = $bf[0];
449 @{$bits{push}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
450 $bits{quotemeta}{0} = $bf[0];
451 @{$bits{rand}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
452 $bits{range}{0} = $bf[0];
453 $bits{reach}{0} = $bf[0];
454 @{$bits{read}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
455 $bits{readdir}{0} = $bf[0];
456 $bits{readline}{0} = $bf[0];
457 $bits{readlink}{0} = $bf[0];
458 @{$bits{recv}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
459 $bits{redo}{0} = $bf[0];
460 $bits{ref}{0} = $bf[0];
461 @{$bits{refassign}}{5,4,1,0} = ($bf[7], $bf[7], $bf[1], $bf[1]);
462 $bits{refgen}{0} = $bf[0];
463 $bits{regcmaybe}{0} = $bf[0];
464 $bits{regcomp}{0} = $bf[0];
465 $bits{regcreset}{0} = $bf[0];
466 @{$bits{rename}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
467 @{$bits{repeat}}{6,1,0} = ('OPpREPEAT_DOLIST', $bf[1], $bf[1]);
468 $bits{require}{0} = $bf[0];
469 @{$bits{reset}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
470 @{$bits{reverse}}{3,0} = ('OPpREVERSE_INPLACE', $bf[0]);
471 $bits{rewinddir}{0} = $bf[0];
472 @{$bits{right_shift}}{1,0} = ($bf[1], $bf[1]);
473 @{$bits{rindex}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
474 $bits{rkeys}{0} = $bf[0];
475 $bits{rmdir}{0} = $bf[0];
476 $bits{rv2av}{0} = $bf[0];
477 @{$bits{rv2cv}}{7,5,0} = ('OPpENTERSUB_NOPAREN', 'OPpMAY_RETURN_CONSTANT', $bf[0]);
478 @{$bits{rv2gv}}{6,5,4,2,0} = ('OPpALLOW_FAKE', $bf[6], $bf[6], 'OPpDONT_INIT_GV', $bf[0]);
479 $bits{rv2hv}{0} = $bf[0];
480 @{$bits{rv2sv}}{5,4,0} = ($bf[6], $bf[6], $bf[0]);
481 $bits{rvalues}{0} = $bf[0];
482 @{$bits{sassign}}{7,6,1,0} = ('OPpASSIGN_CV_TO_GV', 'OPpASSIGN_BACKWARDS', $bf[1], $bf[1]);
483 @{$bits{sbit_and}}{1,0} = ($bf[1], $bf[1]);
484 @{$bits{sbit_or}}{1,0} = ($bf[1], $bf[1]);
485 @{$bits{sbit_xor}}{1,0} = ($bf[1], $bf[1]);
486 $bits{scalar}{0} = $bf[0];
487 $bits{schomp}{0} = $bf[0];
488 $bits{schop}{0} = $bf[0];
489 @{$bits{scmp}}{1,0} = ($bf[1], $bf[1]);
490 $bits{scomplement}{0} = $bf[0];
491 @{$bits{seek}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
492 @{$bits{seekdir}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
493 @{$bits{select}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
494 @{$bits{semctl}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
495 @{$bits{semget}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
496 @{$bits{semop}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
497 @{$bits{send}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
498 @{$bits{seq}}{1,0} = ($bf[1], $bf[1]);
499 @{$bits{setpgrp}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
500 @{$bits{setpriority}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
501 @{$bits{sge}}{1,0} = ($bf[1], $bf[1]);
502 @{$bits{sgt}}{1,0} = ($bf[1], $bf[1]);
503 $bits{shift}{0} = $bf[0];
504 @{$bits{shmctl}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
505 @{$bits{shmget}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
506 @{$bits{shmread}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
507 @{$bits{shmwrite}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
508 $bits{shostent}{0} = $bf[0];
509 @{$bits{shutdown}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
510 $bits{sin}{0} = $bf[0];
511 @{$bits{sle}}{1,0} = ($bf[1], $bf[1]);
512 @{$bits{sleep}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
513 @{$bits{slt}}{1,0} = ($bf[1], $bf[1]);
514 @{$bits{smartmatch}}{1,0} = ($bf[1], $bf[1]);
515 @{$bits{sne}}{1,0} = ($bf[1], $bf[1]);
516 $bits{snetent}{0} = $bf[0];
517 @{$bits{socket}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
518 @{$bits{sockpair}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
519 @{$bits{sort}}{6,5,4,3,2,1,0} = ('OPpSORT_STABLE', 'OPpSORT_QSORT', 'OPpSORT_DESCEND', 'OPpSORT_INPLACE', 'OPpSORT_REVERSE', 'OPpSORT_INTEGER', 'OPpSORT_NUMERIC');
520 @{$bits{splice}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
521 $bits{split}{7} = 'OPpSPLIT_IMPLIM';
522 @{$bits{sprintf}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
523 $bits{sprotoent}{0} = $bf[0];
524 $bits{sqrt}{0} = $bf[0];
525 @{$bits{srand}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
526 $bits{srefgen}{0} = $bf[0];
527 @{$bits{sselect}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
528 $bits{sservent}{0} = $bf[0];
529 @{$bits{ssockopt}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
530 $bits{stat}{0} = $bf[0];
531 @{$bits{stringify}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
532 $bits{study}{0} = $bf[0];
533 $bits{substcont}{0} = $bf[0];
534 @{$bits{substr}}{4,2,1,0} = ('OPpSUBSTR_REPL_FIRST', $bf[2], $bf[2], $bf[2]);
535 @{$bits{subtract}}{1,0} = ($bf[1], $bf[1]);
536 @{$bits{symlink}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
537 @{$bits{syscall}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
538 @{$bits{sysopen}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
539 @{$bits{sysread}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
540 @{$bits{sysseek}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
541 @{$bits{system}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
542 @{$bits{syswrite}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
543 @{$bits{tell}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
544 $bits{telldir}{0} = $bf[0];
545 @{$bits{tie}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
546 $bits{tied}{0} = $bf[0];
547 @{$bits{truncate}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
548 $bits{uc}{0} = $bf[0];
549 $bits{ucfirst}{0} = $bf[0];
550 @{$bits{umask}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
551 $bits{undef}{0} = $bf[0];
552 @{$bits{unlink}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
553 @{$bits{unpack}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
554 @{$bits{unshift}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
555 $bits{untie}{0} = $bf[0];
556 @{$bits{utime}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
557 $bits{values}{0} = $bf[0];
558 @{$bits{vec}}{1,0} = ($bf[1], $bf[1]);
559 @{$bits{waitpid}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
560 @{$bits{warn}}{3,2,1,0} = ($bf[3], $bf[3], $bf[3], $bf[3]);
561 @{$bits{xor}}{1,0} = ($bf[1], $bf[1]);
570 OPpASSIGN_BACKWARDS => 64,
571 OPpASSIGN_COMMON => 64,
572 OPpASSIGN_CV_TO_GV => 128,
574 OPpCONST_ENTERED => 16,
576 OPpCONST_SHORTCIRCUIT => 4,
577 OPpCONST_STRICT => 8,
578 OPpCOREARGS_DEREF1 => 1,
579 OPpCOREARGS_DEREF2 => 2,
580 OPpCOREARGS_PUSHMARK => 128,
581 OPpCOREARGS_SCALARMOD => 64,
586 OPpDONT_INIT_GV => 4,
588 OPpENTERSUB_AMPER => 8,
589 OPpENTERSUB_DB => 64,
590 OPpENTERSUB_HASTARG => 4,
591 OPpENTERSUB_INARGS => 1,
592 OPpENTERSUB_NOPAREN => 128,
596 OPpEVAL_RE_REPARSING => 32,
597 OPpEVAL_UNICODE => 4,
599 OPpFLIP_LINENUM => 64,
605 OPpHINT_STRICT_REFS => 2,
606 OPpHUSH_VMSISH => 32,
608 OPpITER_REVERSED => 4,
609 OPpLIST_GUESSED => 64,
612 OPpLVAL_INTRO => 128,
621 OPpMAYBE_TRUEBOOL => 16,
622 OPpMAY_RETURN_CONSTANT => 32,
623 OPpMULTIDEREF_DELETE => 32,
624 OPpMULTIDEREF_EXISTS => 16,
626 OPpOPEN_IN_CRLF => 32,
627 OPpOPEN_IN_RAW => 16,
628 OPpOPEN_OUT_CRLF => 128,
629 OPpOPEN_OUT_RAW => 64,
631 OPpPADRANGE_COUNTMASK => 127,
632 OPpPADRANGE_COUNTSHIFT => 7,
634 OPpPV_IS_UTF8 => 128,
636 OPpREPEAT_DOLIST => 64,
637 OPpREVERSE_INPLACE => 8,
640 OPpSLICEWARNING => 4,
641 OPpSORT_DESCEND => 16,
642 OPpSORT_INPLACE => 8,
643 OPpSORT_INTEGER => 2,
644 OPpSORT_NUMERIC => 1,
646 OPpSORT_REVERSE => 4,
647 OPpSORT_STABLE => 64,
648 OPpSPLIT_IMPLIM => 128,
649 OPpSUBSTR_REPL_FIRST => 16,
651 OPpTRANS_COMPLEMENT => 32,
652 OPpTRANS_DELETE => 128,
653 OPpTRANS_FROM_UTF => 1,
654 OPpTRANS_GROWS => 64,
655 OPpTRANS_IDENTICAL => 4,
656 OPpTRANS_SQUASH => 8,
657 OPpTRANS_TO_UTF => 2,
662 OPpALLOW_FAKE => 'FAKE',
663 OPpASSIGN_BACKWARDS => 'BKWARD',
664 OPpASSIGN_COMMON => 'COMMON',
665 OPpASSIGN_CV_TO_GV => 'CV2GV',
666 OPpCONST_BARE => 'BARE',
667 OPpCONST_ENTERED => 'ENTERED',
668 OPpCONST_NOVER => 'NOVER',
669 OPpCONST_SHORTCIRCUIT => 'SHORT',
670 OPpCONST_STRICT => 'STRICT',
671 OPpCOREARGS_DEREF1 => 'DEREF1',
672 OPpCOREARGS_DEREF2 => 'DEREF2',
673 OPpCOREARGS_PUSHMARK => 'MARK',
674 OPpCOREARGS_SCALARMOD => '$MOD',
675 OPpDEREF_AV => 'DREFAV',
676 OPpDEREF_HV => 'DREFHV',
677 OPpDEREF_SV => 'DREFSV',
678 OPpDONT_INIT_GV => 'NOINIT',
679 OPpEARLY_CV => 'EARLYCV',
680 OPpENTERSUB_AMPER => 'AMPER',
681 OPpENTERSUB_DB => 'DBG',
682 OPpENTERSUB_HASTARG => 'TARG',
683 OPpENTERSUB_INARGS => 'INARGS',
684 OPpENTERSUB_NOPAREN => 'NO()',
685 OPpEVAL_BYTES => 'BYTES',
686 OPpEVAL_COPHH => 'COPHH',
687 OPpEVAL_HAS_HH => 'HAS_HH',
688 OPpEVAL_RE_REPARSING => 'REPARSE',
689 OPpEVAL_UNICODE => 'UNI',
690 OPpEXISTS_SUB => 'SUB',
691 OPpFLIP_LINENUM => 'LINENUM',
692 OPpFT_ACCESS => 'FTACCESS',
693 OPpFT_AFTER_t => 'FTAFTERt',
694 OPpFT_STACKED => 'FTSTACKED',
695 OPpFT_STACKING => 'FTSTACKING',
696 OPpGREP_LEX => 'GREPLEX',
697 OPpHINT_STRICT_REFS => 'STRICT',
698 OPpHUSH_VMSISH => 'HUSH',
699 OPpITER_DEF => 'DEF',
700 OPpITER_REVERSED => 'REVERSED',
701 OPpLIST_GUESSED => 'GUESSED',
703 OPpLVAL_DEFER => 'LVDEFER',
704 OPpLVAL_INTRO => 'LVINTRO',
707 OPpLVREF_ELEM => 'ELEM',
709 OPpLVREF_ITER => 'ITER',
711 OPpMAYBE_LVSUB => 'LVSUB',
712 OPpMAYBE_TRUEBOOL => 'BOOL?',
713 OPpMAY_RETURN_CONSTANT => 'CONST',
714 OPpMULTIDEREF_DELETE => 'DELETE',
715 OPpMULTIDEREF_EXISTS => 'EXISTS',
717 OPpOPEN_IN_CRLF => 'INCR',
718 OPpOPEN_IN_RAW => 'INBIN',
719 OPpOPEN_OUT_CRLF => 'OUTCR',
720 OPpOPEN_OUT_RAW => 'OUTBIN',
721 OPpOUR_INTRO => 'OURINTR',
722 OPpPAD_STATE => 'STATE',
723 OPpPV_IS_UTF8 => 'UTF',
724 OPpREFCOUNTED => 'REFC',
725 OPpREPEAT_DOLIST => 'DOLIST',
726 OPpREVERSE_INPLACE => 'INPLACE',
727 OPpRUNTIME => 'RTIME',
729 OPpSLICEWARNING => 'SLICEWARN',
730 OPpSORT_DESCEND => 'DESC',
731 OPpSORT_INPLACE => 'INPLACE',
732 OPpSORT_INTEGER => 'INT',
733 OPpSORT_NUMERIC => 'NUM',
734 OPpSORT_QSORT => 'QSORT',
735 OPpSORT_REVERSE => 'REV',
736 OPpSORT_STABLE => 'STABLE',
737 OPpSPLIT_IMPLIM => 'IMPLIM',
738 OPpSUBSTR_REPL_FIRST => 'REPL1ST',
739 OPpTARGET_MY => 'TARGMY',
740 OPpTRANS_COMPLEMENT => 'COMPL',
741 OPpTRANS_DELETE => 'DEL',
742 OPpTRANS_FROM_UTF => '<UTF',
743 OPpTRANS_GROWS => 'GROWS',
744 OPpTRANS_IDENTICAL => 'IDENT',
745 OPpTRANS_SQUASH => 'SQUASH',
746 OPpTRANS_TO_UTF => '>UTF',
747 OPpTRUEBOOL => 'BOOL',
752 OPpALLOW_FAKE => [qw(rv2gv)],
753 OPpASSIGN_BACKWARDS => [qw(sassign)],
754 OPpASSIGN_COMMON => [qw(aassign)],
755 OPpCONST_BARE => [qw(const)],
756 OPpCOREARGS_DEREF1 => [qw(coreargs)],
757 OPpEARLY_CV => [qw(gv)],
758 OPpENTERSUB_AMPER => [qw(entersub rv2cv)],
759 OPpENTERSUB_INARGS => [qw(entersub)],
760 OPpENTERSUB_NOPAREN => [qw(rv2cv)],
761 OPpEVAL_BYTES => [qw(entereval)],
762 OPpEXISTS_SUB => [qw(exists)],
763 OPpFLIP_LINENUM => [qw(flip flop)],
764 OPpFT_ACCESS => [qw(fteexec fteread ftewrite ftrexec ftrread ftrwrite)],
765 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)],
766 OPpGREP_LEX => [qw(grepstart grepwhile mapstart mapwhile)],
767 OPpHINT_STRICT_REFS => [qw(entersub multideref rv2av rv2cv rv2gv rv2hv rv2sv)],
768 OPpHUSH_VMSISH => [qw(dbstate nextstate)],
769 OPpITER_DEF => [qw(enteriter)],
770 OPpITER_REVERSED => [qw(enteriter iter)],
771 OPpLIST_GUESSED => [qw(list)],
772 OPpLVALUE => [qw(leave leaveloop)],
773 OPpLVAL_DEFER => [qw(aelem helem multideref)],
774 OPpLVAL_INTRO => [qw(aelem aslice cond_expr delete enteriter entersub gvsv helem hslice list lvavref lvref lvrefslice multideref padav padhv padrange padsv pushmark refassign rv2av rv2gv rv2hv rv2sv)],
775 OPpLVREF_ELEM => [qw(lvref refassign)],
776 OPpMAYBE_LVSUB => [qw(aassign aelem aslice av2arylen helem hslice keys kvaslice kvhslice multideref padav padhv pos rkeys rv2av rv2gv rv2hv substr vec)],
777 OPpMAYBE_TRUEBOOL => [qw(padhv rv2hv)],
778 OPpMULTIDEREF_DELETE => [qw(multideref)],
779 OPpOFFBYONE => [qw(caller runcv wantarray)],
780 OPpOPEN_IN_CRLF => [qw(backtick open)],
781 OPpOUR_INTRO => [qw(enteriter gvsv rv2av rv2hv rv2sv split)],
782 OPpPAD_STATE => [qw(lvavref lvref padav padhv padsv pushmark refassign)],
783 OPpPV_IS_UTF8 => [qw(dump goto last next redo)],
784 OPpREFCOUNTED => [qw(leave leaveeval leavesub leavesublv leavewrite)],
785 OPpREPEAT_DOLIST => [qw(repeat)],
786 OPpREVERSE_INPLACE => [qw(reverse)],
787 OPpRUNTIME => [qw(match pushre qr subst substcont)],
788 OPpSLICE => [qw(delete)],
789 OPpSLICEWARNING => [qw(aslice hslice padav padhv rv2av rv2hv)],
790 OPpSORT_DESCEND => [qw(sort)],
791 OPpSPLIT_IMPLIM => [qw(split)],
792 OPpSUBSTR_REPL_FIRST => [qw(substr)],
793 OPpTARGET_MY => [qw(abs add atan2 chdir chmod chomp chown chr chroot complement concat cos crypt divide exec exp flock getpgrp getppid getpriority hex i_add i_divide i_modulo i_multiply i_ncmp i_subtract index int kill left_shift length link log match mkdir modulo multiply nbit_and nbit_or nbit_xor ncomplement oct ord pow push rand rename repeat right_shift rindex rmdir schomp scmp scomplement setpgrp setpriority sin sleep split sqrt srand stringify subst subtract symlink system time trans transr unlink unshift utime vec wait waitpid)],
794 OPpTRANS_COMPLEMENT => [qw(trans transr)],
797 $ops_using{OPpASSIGN_CV_TO_GV} = $ops_using{OPpASSIGN_BACKWARDS};
798 $ops_using{OPpCONST_ENTERED} = $ops_using{OPpCONST_BARE};
799 $ops_using{OPpCONST_NOVER} = $ops_using{OPpCONST_BARE};
800 $ops_using{OPpCONST_SHORTCIRCUIT} = $ops_using{OPpCONST_BARE};
801 $ops_using{OPpCONST_STRICT} = $ops_using{OPpCONST_BARE};
802 $ops_using{OPpCOREARGS_DEREF2} = $ops_using{OPpCOREARGS_DEREF1};
803 $ops_using{OPpCOREARGS_PUSHMARK} = $ops_using{OPpCOREARGS_DEREF1};
804 $ops_using{OPpCOREARGS_SCALARMOD} = $ops_using{OPpCOREARGS_DEREF1};
805 $ops_using{OPpDONT_INIT_GV} = $ops_using{OPpALLOW_FAKE};
806 $ops_using{OPpENTERSUB_DB} = $ops_using{OPpENTERSUB_AMPER};
807 $ops_using{OPpENTERSUB_HASTARG} = $ops_using{OPpENTERSUB_AMPER};
808 $ops_using{OPpEVAL_COPHH} = $ops_using{OPpEVAL_BYTES};
809 $ops_using{OPpEVAL_HAS_HH} = $ops_using{OPpEVAL_BYTES};
810 $ops_using{OPpEVAL_RE_REPARSING} = $ops_using{OPpEVAL_BYTES};
811 $ops_using{OPpEVAL_UNICODE} = $ops_using{OPpEVAL_BYTES};
812 $ops_using{OPpFT_STACKED} = $ops_using{OPpFT_AFTER_t};
813 $ops_using{OPpFT_STACKING} = $ops_using{OPpFT_AFTER_t};
814 $ops_using{OPpLVREF_ITER} = $ops_using{OPpLVREF_ELEM};
815 $ops_using{OPpMAY_RETURN_CONSTANT} = $ops_using{OPpENTERSUB_NOPAREN};
816 $ops_using{OPpMULTIDEREF_EXISTS} = $ops_using{OPpMULTIDEREF_DELETE};
817 $ops_using{OPpOPEN_IN_RAW} = $ops_using{OPpOPEN_IN_CRLF};
818 $ops_using{OPpOPEN_OUT_CRLF} = $ops_using{OPpOPEN_IN_CRLF};
819 $ops_using{OPpOPEN_OUT_RAW} = $ops_using{OPpOPEN_IN_CRLF};
820 $ops_using{OPpSORT_INPLACE} = $ops_using{OPpSORT_DESCEND};
821 $ops_using{OPpSORT_INTEGER} = $ops_using{OPpSORT_DESCEND};
822 $ops_using{OPpSORT_NUMERIC} = $ops_using{OPpSORT_DESCEND};
823 $ops_using{OPpSORT_QSORT} = $ops_using{OPpSORT_DESCEND};
824 $ops_using{OPpSORT_REVERSE} = $ops_using{OPpSORT_DESCEND};
825 $ops_using{OPpSORT_STABLE} = $ops_using{OPpSORT_DESCEND};
826 $ops_using{OPpTRANS_DELETE} = $ops_using{OPpTRANS_COMPLEMENT};
827 $ops_using{OPpTRANS_FROM_UTF} = $ops_using{OPpTRANS_COMPLEMENT};
828 $ops_using{OPpTRANS_GROWS} = $ops_using{OPpTRANS_COMPLEMENT};
829 $ops_using{OPpTRANS_IDENTICAL} = $ops_using{OPpTRANS_COMPLEMENT};
830 $ops_using{OPpTRANS_SQUASH} = $ops_using{OPpTRANS_COMPLEMENT};
831 $ops_using{OPpTRANS_TO_UTF} = $ops_using{OPpTRANS_COMPLEMENT};
832 $ops_using{OPpTRUEBOOL} = $ops_using{OPpMAYBE_TRUEBOOL};