[svn:parrot] r46974 - in branches/ucs4_encoding: . compilers/imcc compilers/opsc compilers/opsc/gen compilers/opsc/gen/Ops compilers/opsc/gen/Ops/Compiler compilers/opsc/gen/Ops/Trans compilers/opsc/src compilers/opsc/src/Ops compilers/opsc/src/Ops/Compiler compilers/opsc/src/Ops/Trans compilers/pct config/auto config/gen/makefiles docs docs/pdds docs/pdds/draft editor examples/io examples/languages/squaak/t examples/tools ext/nqp-rx/src/stage0 include/parrot include/parrot/oplib lib/Parrot lib/Parrot/Configure/Options/Test lib/Parrot/Docs/Section lib/Parrot/Harness lib/Parrot/OpTrans lib/Parrot/Ops2c lib/Parrot/Ops2pm lib/Parrot/Test runtime/parrot/library runtime/parrot/library/HTTP runtime/parrot/library/LWP src src/dynoplibs src/interp src/ops src/packfile src/pmc src/runcore src/string t t/codingstd t/compilers/imcc/syn t/compilers/opsc t/library t/op t/pmc t/src t/tools t/tools/ops2cutils t/tools/ops2pm tools/build tools/dev
darbelo at svn.parrot.org
darbelo at svn.parrot.org
Mon May 24 21:18:46 UTC 2010
Author: darbelo
Date: Mon May 24 21:18:41 2010
New Revision: 46974
URL: https://trac.parrot.org/parrot/changeset/46974
Log:
Sync with trunk.
Added:
branches/ucs4_encoding/compilers/opsc/
- copied from r46972, trunk/compilers/opsc/
branches/ucs4_encoding/include/parrot/oplib/core_ops.h
- copied unchanged from r46972, trunk/include/parrot/oplib/core_ops.h
branches/ucs4_encoding/include/parrot/oplib/ops.h
- copied unchanged from r46972, trunk/include/parrot/oplib/ops.h
branches/ucs4_encoding/include/parrot/opsenum.h
- copied unchanged from r46972, trunk/include/parrot/opsenum.h
branches/ucs4_encoding/runtime/parrot/library/LWP/ (props changed)
- copied from r46972, trunk/runtime/parrot/library/LWP/
branches/ucs4_encoding/src/ops/core_ops.c
- copied unchanged from r46972, trunk/src/ops/core_ops.c
branches/ucs4_encoding/t/compilers/opsc/
- copied from r46972, trunk/t/compilers/opsc/
Replaced:
branches/ucs4_encoding/compilers/opsc/Defines.mak
- copied unchanged from r46972, trunk/compilers/opsc/Defines.mak
branches/ucs4_encoding/compilers/opsc/Rules.mak
- copied unchanged from r46972, trunk/compilers/opsc/Rules.mak
branches/ucs4_encoding/compilers/opsc/TODO
- copied unchanged from r46972, trunk/compilers/opsc/TODO
branches/ucs4_encoding/compilers/opsc/gen/
- copied from r46972, trunk/compilers/opsc/gen/
branches/ucs4_encoding/compilers/opsc/gen/Ops/ (props changed)
- copied from r46972, trunk/compilers/opsc/gen/Ops/
branches/ucs4_encoding/compilers/opsc/gen/Ops/Compiler/ (props changed)
- copied from r46972, trunk/compilers/opsc/gen/Ops/Compiler/
branches/ucs4_encoding/compilers/opsc/gen/Ops/Compiler/IGNOREME
- copied unchanged from r46972, trunk/compilers/opsc/gen/Ops/Compiler/IGNOREME
branches/ucs4_encoding/compilers/opsc/gen/Ops/Trans/ (props changed)
- copied from r46972, trunk/compilers/opsc/gen/Ops/Trans/
branches/ucs4_encoding/compilers/opsc/gen/Ops/Trans/IGNOREME
- copied unchanged from r46972, trunk/compilers/opsc/gen/Ops/Trans/IGNOREME
branches/ucs4_encoding/compilers/opsc/ops2c.nqp
- copied unchanged from r46972, trunk/compilers/opsc/ops2c.nqp
branches/ucs4_encoding/compilers/opsc/opsc.pir
- copied unchanged from r46972, trunk/compilers/opsc/opsc.pir
branches/ucs4_encoding/compilers/opsc/src/
- copied from r46972, trunk/compilers/opsc/src/
branches/ucs4_encoding/compilers/opsc/src/Ops/
- copied from r46972, trunk/compilers/opsc/src/Ops/
branches/ucs4_encoding/compilers/opsc/src/Ops/Compiler/
- copied from r46972, trunk/compilers/opsc/src/Ops/Compiler/
branches/ucs4_encoding/compilers/opsc/src/Ops/Compiler.pm
- copied unchanged from r46972, trunk/compilers/opsc/src/Ops/Compiler.pm
branches/ucs4_encoding/compilers/opsc/src/Ops/Compiler/Actions.pm
- copied unchanged from r46972, trunk/compilers/opsc/src/Ops/Compiler/Actions.pm
branches/ucs4_encoding/compilers/opsc/src/Ops/Compiler/Grammar.pm
- copied unchanged from r46972, trunk/compilers/opsc/src/Ops/Compiler/Grammar.pm
branches/ucs4_encoding/compilers/opsc/src/Ops/Emitter.pm
- copied unchanged from r46972, trunk/compilers/opsc/src/Ops/Emitter.pm
branches/ucs4_encoding/compilers/opsc/src/Ops/File.pm
- copied unchanged from r46972, trunk/compilers/opsc/src/Ops/File.pm
branches/ucs4_encoding/compilers/opsc/src/Ops/Op.pm
- copied unchanged from r46972, trunk/compilers/opsc/src/Ops/Op.pm
branches/ucs4_encoding/compilers/opsc/src/Ops/OpLib.pm
- copied unchanged from r46972, trunk/compilers/opsc/src/Ops/OpLib.pm
branches/ucs4_encoding/compilers/opsc/src/Ops/Renumberer.pm
- copied unchanged from r46972, trunk/compilers/opsc/src/Ops/Renumberer.pm
branches/ucs4_encoding/compilers/opsc/src/Ops/Trans/
- copied from r46972, trunk/compilers/opsc/src/Ops/Trans/
branches/ucs4_encoding/compilers/opsc/src/Ops/Trans.pm
- copied unchanged from r46972, trunk/compilers/opsc/src/Ops/Trans.pm
branches/ucs4_encoding/compilers/opsc/src/Ops/Trans/C.pm
- copied unchanged from r46972, trunk/compilers/opsc/src/Ops/Trans/C.pm
branches/ucs4_encoding/compilers/opsc/src/builtins.pir
- copied unchanged from r46972, trunk/compilers/opsc/src/builtins.pir
branches/ucs4_encoding/runtime/parrot/library/LWP/Protocol.pir
- copied unchanged from r46972, trunk/runtime/parrot/library/LWP/Protocol.pir
branches/ucs4_encoding/runtime/parrot/library/LWP/UserAgent.pir
- copied unchanged from r46972, trunk/runtime/parrot/library/LWP/UserAgent.pir
branches/ucs4_encoding/t/compilers/opsc/01-parse.t
- copied unchanged from r46972, trunk/t/compilers/opsc/01-parse.t
branches/ucs4_encoding/t/compilers/opsc/02-parse-all-ops.t
- copied unchanged from r46972, trunk/t/compilers/opsc/02-parse-all-ops.t
branches/ucs4_encoding/t/compilers/opsc/03-past.t
- copied unchanged from r46972, trunk/t/compilers/opsc/03-past.t
branches/ucs4_encoding/t/compilers/opsc/04-op.t
- copied unchanged from r46972, trunk/t/compilers/opsc/04-op.t
branches/ucs4_encoding/t/compilers/opsc/05-oplib.t
- copied unchanged from r46972, trunk/t/compilers/opsc/05-oplib.t
branches/ucs4_encoding/t/compilers/opsc/06-opsfile.t
- copied unchanged from r46972, trunk/t/compilers/opsc/06-opsfile.t
branches/ucs4_encoding/t/compilers/opsc/07-emitter.t
- copied unchanged from r46972, trunk/t/compilers/opsc/07-emitter.t
branches/ucs4_encoding/t/compilers/opsc/common.pir
- copied unchanged from r46972, trunk/t/compilers/opsc/common.pir
Deleted:
branches/ucs4_encoding/lib/Parrot/Op.pm
branches/ucs4_encoding/lib/Parrot/OpTrans/
branches/ucs4_encoding/lib/Parrot/OpTrans.pm
branches/ucs4_encoding/lib/Parrot/Ops2c/
branches/ucs4_encoding/lib/Parrot/Ops2pm/
branches/ucs4_encoding/lib/Parrot/Ops2pm.pm
branches/ucs4_encoding/lib/Parrot/OpsFile.pm
branches/ucs4_encoding/lib/Parrot/OpsRenumber.pm
branches/ucs4_encoding/runtime/parrot/library/LWP.pir
branches/ucs4_encoding/t/op/01-parse_ops.t
branches/ucs4_encoding/t/tools/ops2cutils/
branches/ucs4_encoding/t/tools/ops2pm/
branches/ucs4_encoding/tools/build/ops2pm.pl
branches/ucs4_encoding/tools/dev/opsrenumber.pl
Modified:
branches/ucs4_encoding/ (props changed)
branches/ucs4_encoding/MANIFEST
branches/ucs4_encoding/MANIFEST.SKIP
branches/ucs4_encoding/MANIFEST.generated
branches/ucs4_encoding/NEWS
branches/ucs4_encoding/compilers/imcc/debug.c
branches/ucs4_encoding/compilers/imcc/debug.h
branches/ucs4_encoding/compilers/imcc/imc.c
branches/ucs4_encoding/compilers/imcc/imc.h
branches/ucs4_encoding/compilers/imcc/imcc.l
branches/ucs4_encoding/compilers/imcc/imclexer.c
branches/ucs4_encoding/compilers/imcc/instructions.c
branches/ucs4_encoding/compilers/imcc/instructions.h
branches/ucs4_encoding/compilers/imcc/main.c
branches/ucs4_encoding/compilers/imcc/optimizer.c
branches/ucs4_encoding/compilers/imcc/parser.h
branches/ucs4_encoding/compilers/imcc/parser_util.c
branches/ucs4_encoding/compilers/imcc/pbc.c
branches/ucs4_encoding/compilers/pct/Rules.mak
branches/ucs4_encoding/config/auto/extra_nci_thunks.pm
branches/ucs4_encoding/config/auto/warnings.pm
branches/ucs4_encoding/config/gen/makefiles/root.in
branches/ucs4_encoding/docs/pdds/draft/pdd31_hll.pod
branches/ucs4_encoding/docs/pdds/pdd13_bytecode.pod
branches/ucs4_encoding/docs/tests.pod
branches/ucs4_encoding/editor/pir-mode.el
branches/ucs4_encoding/examples/io/get.pir
branches/ucs4_encoding/examples/io/post.pir
branches/ucs4_encoding/examples/languages/squaak/t/00-sanity.t
branches/ucs4_encoding/examples/tools/pbc_checker.cpp
branches/ucs4_encoding/ext/nqp-rx/src/stage0/ (props changed)
branches/ucs4_encoding/ext/nqp-rx/src/stage0/HLL-s0.pir
branches/ucs4_encoding/ext/nqp-rx/src/stage0/NQP-s0.pir
branches/ucs4_encoding/ext/nqp-rx/src/stage0/P6Regex-s0.pir
branches/ucs4_encoding/ext/nqp-rx/src/stage0/Regex-s0.pir
branches/ucs4_encoding/ext/nqp-rx/src/stage0/nqp-setting.nqp
branches/ucs4_encoding/include/parrot/charset.h
branches/ucs4_encoding/include/parrot/compiler.h
branches/ucs4_encoding/include/parrot/embed.h
branches/ucs4_encoding/include/parrot/hash.h
branches/ucs4_encoding/include/parrot/imcc.h
branches/ucs4_encoding/include/parrot/interpreter.h
branches/ucs4_encoding/include/parrot/longopt.h
branches/ucs4_encoding/include/parrot/packfile.h
branches/ucs4_encoding/include/parrot/pmc.h
branches/ucs4_encoding/include/parrot/runcore_trace.h (contents, props changed)
branches/ucs4_encoding/include/parrot/string_funcs.h
branches/ucs4_encoding/lib/Parrot/Configure/Options/Test/Prepare.pm
branches/ucs4_encoding/lib/Parrot/Distribution.pm
branches/ucs4_encoding/lib/Parrot/Docs/Section/Ops.pm
branches/ucs4_encoding/lib/Parrot/Docs/Section/Tools.pm
branches/ucs4_encoding/lib/Parrot/Harness/DefaultTests.pm
branches/ucs4_encoding/lib/Parrot/Test/Pod.pm
branches/ucs4_encoding/runtime/parrot/library/HTTP/Message.pir
branches/ucs4_encoding/runtime/parrot/library/URI.pir
branches/ucs4_encoding/runtime/parrot/library/distutils.pir
branches/ucs4_encoding/src/debug.c
branches/ucs4_encoding/src/dynoplibs/Rules.in
branches/ucs4_encoding/src/embed.c
branches/ucs4_encoding/src/hash.c
branches/ucs4_encoding/src/interp/inter_create.c (props changed)
branches/ucs4_encoding/src/interp/inter_misc.c
branches/ucs4_encoding/src/longopt.c
branches/ucs4_encoding/src/main.c
branches/ucs4_encoding/src/ops/var.ops
branches/ucs4_encoding/src/packfile/pf_items.c
branches/ucs4_encoding/src/parrot_debugger.c
branches/ucs4_encoding/src/pmc.c
branches/ucs4_encoding/src/pmc/nci.pmc
branches/ucs4_encoding/src/runcore/cores.c (props changed)
branches/ucs4_encoding/src/runcore/trace.c (contents, props changed)
branches/ucs4_encoding/src/string/api.c
branches/ucs4_encoding/src/string/charset.c
branches/ucs4_encoding/t/codingstd/linelength.t
branches/ucs4_encoding/t/codingstd/perlcritic.t
branches/ucs4_encoding/t/compilers/imcc/syn/regressions.t
branches/ucs4_encoding/t/harness.pir
branches/ucs4_encoding/t/library/lwp.t
branches/ucs4_encoding/t/library/uri.t
branches/ucs4_encoding/t/op/stringu.t
branches/ucs4_encoding/t/pmc/resizablestringarray.t
branches/ucs4_encoding/t/src/embed.t (props changed)
branches/ucs4_encoding/t/tools/ (props changed)
branches/ucs4_encoding/tools/build/ops2c.pl
branches/ucs4_encoding/tools/dev/mk_gitignore.pl (props changed)
Modified: branches/ucs4_encoding/MANIFEST
==============================================================================
--- branches/ucs4_encoding/MANIFEST Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/MANIFEST Mon May 24 21:18:41 2010 (r46974)
@@ -28,13 +28,13 @@
RESPONSIBLE_PARTIES [main]doc
TODO [devel]doc
VERSION [devel]
-compilers/data_json/Defines.mak [data_json]
-compilers/data_json/Rules.mak [data_json]
+compilers/data_json/Defines.mak []
+compilers/data_json/Rules.mak []
compilers/data_json/data_json.pir [data_json]
compilers/data_json/data_json/grammar.pg [data_json]
compilers/data_json/data_json/pge2pir.tg [data_json]
-compilers/imcc/Defines.mak [imcc]
-compilers/imcc/Rules.in [imcc]
+compilers/imcc/Defines.mak []
+compilers/imcc/Rules.in []
compilers/imcc/cfg.c [imcc]
compilers/imcc/cfg.h [imcc]
compilers/imcc/debug.c [imcc]
@@ -62,10 +62,28 @@
compilers/imcc/symreg.c [imcc]
compilers/imcc/symreg.h [imcc]
compilers/imcc/unit.h [imcc]
-compilers/pct/Defines.mak [pct]
+compilers/opsc/Defines.mak []
+compilers/opsc/Rules.mak []
+compilers/opsc/TODO [opsc]
+compilers/opsc/gen/Ops/Compiler/IGNOREME [opsc]
+compilers/opsc/gen/Ops/Trans/IGNOREME [opsc]
+compilers/opsc/ops2c.nqp [opsc]
+compilers/opsc/opsc.pir [opsc]
+compilers/opsc/src/Ops/Compiler.pm [opsc]
+compilers/opsc/src/Ops/Compiler/Actions.pm [opsc]
+compilers/opsc/src/Ops/Compiler/Grammar.pm [opsc]
+compilers/opsc/src/Ops/Emitter.pm [opsc]
+compilers/opsc/src/Ops/File.pm [opsc]
+compilers/opsc/src/Ops/Op.pm [opsc]
+compilers/opsc/src/Ops/OpLib.pm [opsc]
+compilers/opsc/src/Ops/Renumberer.pm [opsc]
+compilers/opsc/src/Ops/Trans.pm [opsc]
+compilers/opsc/src/Ops/Trans/C.pm [opsc]
+compilers/opsc/src/builtins.pir [opsc]
+compilers/pct/Defines.mak []
compilers/pct/PCT.pir [pct]
compilers/pct/README.pod []doc
-compilers/pct/Rules.mak [pct]
+compilers/pct/Rules.mak []
compilers/pct/src/PAST.pir [pct]
compilers/pct/src/PAST/Compiler.pir [pct]
compilers/pct/src/PAST/Node.pir [pct]
@@ -75,7 +93,7 @@
compilers/pct/src/PCT/Node.pir [pct]
compilers/pct/src/POST/Compiler.pir [pct]
compilers/pct/src/POST/Node.pir [pct]
-compilers/pge/Defines.mak [pge]
+compilers/pge/Defines.mak []
compilers/pge/P6Rule.grammar [pge]
compilers/pge/PGE.pir [pge]
compilers/pge/PGE/Exp.pir [pge]
@@ -86,11 +104,11 @@
compilers/pge/PGE/Regex.pir [pge]
compilers/pge/PGE/builtins.pg [pge]
compilers/pge/README.pod []doc
-compilers/pge/Rules.mak [pge]
+compilers/pge/Rules.mak []
compilers/pge/STATUS [pge]
-compilers/pirc/Defines.mak [pirc]
+compilers/pirc/Defines.mak []
compilers/pirc/README.pod []doc
-compilers/pirc/Rules.mak [pirc]
+compilers/pirc/Rules.mak []
compilers/pirc/TODO [pirc]
compilers/pirc/heredoc/heredocmain.c [pirc]
compilers/pirc/macro/lexer.h [pirc]
@@ -141,9 +159,9 @@
compilers/pirc/t/macro.t [test]
compilers/pirc/t/stmts.t [test]
compilers/pirc/t/subflags.t [test]
-compilers/tge/Defines.mak [tge]
+compilers/tge/Defines.mak []
compilers/tge/README []doc
-compilers/tge/Rules.mak [tge]
+compilers/tge/Rules.mak []
compilers/tge/TGE.pir [tge]
compilers/tge/TGE/Compiler.pir [tge]
compilers/tge/TGE/Grammar.pir [tge]
@@ -963,6 +981,9 @@
include/parrot/oo_private.h [main]include
include/parrot/op.h [main]include
include/parrot/oplib.h [main]include
+include/parrot/oplib/core_ops.h [main]include
+include/parrot/oplib/ops.h [main]include
+include/parrot/opsenum.h [main]include
include/parrot/packfile.h [main]include
include/parrot/parrot.h [main]include
include/parrot/platform_interface.h [main]include
@@ -1044,16 +1065,6 @@
lib/Parrot/IO/Path.pm [devel]lib
lib/Parrot/Install.pm [devel]lib
lib/Parrot/Manifest.pm [devel]lib
-lib/Parrot/Op.pm [devel]lib
-lib/Parrot/OpTrans.pm [devel]lib
-lib/Parrot/OpTrans/C.pm [devel]lib
-lib/Parrot/Ops2c/Auxiliary.pm [devel]lib
-lib/Parrot/Ops2c/Utils.pm [devel]lib
-lib/Parrot/Ops2pm.pm [devel]lib
-lib/Parrot/Ops2pm/Auxiliary.pm [devel]lib
-lib/Parrot/Ops2pm/Base.pm [devel]lib
-lib/Parrot/OpsFile.pm [devel]lib
-lib/Parrot/OpsRenumber.pm [devel]lib
lib/Parrot/Pmc2c/Attribute.pm [devel]lib
lib/Parrot/Pmc2c/ComposedMethod.pm [devel]lib
lib/Parrot/Pmc2c/Dumper.pm [devel]lib
@@ -1146,7 +1157,8 @@
runtime/parrot/library/HTTP/Message.pir [library]
runtime/parrot/library/Iter.pir [library]
runtime/parrot/library/JSON.pir [library]
-runtime/parrot/library/LWP.pir [library]
+runtime/parrot/library/LWP/Protocol.pir [library]
+runtime/parrot/library/LWP/UserAgent.pir [library]
runtime/parrot/library/MIME/Base64.pir [library]
runtime/parrot/library/Math/Rand.pir [library]
runtime/parrot/library/NCI/Utils.pir [library]
@@ -1169,7 +1181,7 @@
runtime/parrot/library/ProfTest/Want.nqp [library]
runtime/parrot/library/Protoobject.pir [library]
runtime/parrot/library/Range.pir [library]
-runtime/parrot/library/Rules.mak [library]
+runtime/parrot/library/Rules.mak []
runtime/parrot/library/SDL.pir [library]
runtime/parrot/library/SDL/App.pir [library]
runtime/parrot/library/SDL/Button.pir [library]
@@ -1311,6 +1323,7 @@
src/ops/bit.ops []
src/ops/cmp.ops []
src/ops/core.ops []
+src/ops/core_ops.c []
src/ops/debug.ops []
src/ops/experimental.ops []
src/ops/io.ops []
@@ -1522,6 +1535,14 @@
t/compilers/imcc/syn/symbols.t [test]
t/compilers/imcc/syn/tail.t [test]
t/compilers/imcc/syn/veracity.t [test]
+t/compilers/opsc/01-parse.t [test]
+t/compilers/opsc/02-parse-all-ops.t [test]
+t/compilers/opsc/03-past.t [test]
+t/compilers/opsc/04-op.t [test]
+t/compilers/opsc/05-oplib.t [test]
+t/compilers/opsc/06-opsfile.t [test]
+t/compilers/opsc/07-emitter.t [test]
+t/compilers/opsc/common.pir [test]
t/compilers/pct/complete_workflow.t [test]
t/compilers/pct/past.t [test]
t/compilers/pct/pct_hllcompiler.t [test]
@@ -1742,7 +1763,6 @@
t/oo/vtableoverride.t [test]
t/op/00ff-dos.t [test]
t/op/00ff-unix.t [test]
-t/op/01-parse_ops.t [test]
t/op/64bit.t [test]
t/op/annotate-old.t [test]
t/op/annotate.t [test]
@@ -2035,34 +2055,6 @@
t/tools/install/testlib/src/pmc/pmc_object.h [test]
t/tools/install/testlib/tools/build/ops2c.pl [test]
t/tools/install/testlib/vtable.dump [test]
-t/tools/ops2cutils/01-new.t [test]
-t/tools/ops2cutils/02-usage.t [test]
-t/tools/ops2cutils/03-print_c_header_file.t [test]
-t/tools/ops2cutils/04-print_c_source_top.t [test]
-t/tools/ops2cutils/05-print_c_source_bottom.t [test]
-t/tools/ops2cutils/06-dynamic.t [test]
-t/tools/ops2cutils/07-make_incdir.t [test]
-t/tools/ops2cutils/08-nolines.t [test]
-t/tools/ops2cutils/09-dynamic_nolines.t [test]
-t/tools/ops2cutils/10-print_c_source_file.t [test]
-t/tools/ops2cutils/testlib/GenerateCore.pm [test]
-t/tools/ops2pm/00-qualify.t [test]
-t/tools/ops2pm/01-ops2pm.t [test]
-t/tools/ops2pm/02-usage.t [test]
-t/tools/ops2pm/03-new.t [test]
-t/tools/ops2pm/04-prepare_ops.t [test]
-t/tools/ops2pm/05-renum_op_map_file.t [test]
-t/tools/ops2pm/06-load_op_map_files.t [test]
-t/tools/ops2pm/07-no_ops_skip.t [test]
-t/tools/ops2pm/08-sort_ops.t [test]
-t/tools/ops2pm/09-prepare_real_ops.t [test]
-t/tools/ops2pm/10-print_module.t [test]
-t/tools/ops2pm/11-print_h.t [test]
-t/tools/ops2pm/samples/bit_ops.original [test]
-t/tools/ops2pm/samples/bit_ops.second [test]
-t/tools/ops2pm/samples/core_ops.original [test]
-t/tools/ops2pm/samples/ops_num.original [test]
-t/tools/ops2pm/samples/pic_ops.original [test]
t/tools/parrot_debugger.t [test]
t/tools/pbc_disassemble.t [test]
t/tools/pbc_dump.t [test]
@@ -2082,7 +2074,6 @@
tools/build/h2inc.pl []
tools/build/headerizer.pl []
tools/build/ops2c.pl [devel]
-tools/build/ops2pm.pl []
tools/build/parrot_config_c.pl []
tools/build/pbcversion_h.pl []
tools/build/pmc2c.pl [devel]
@@ -2120,7 +2111,6 @@
tools/dev/nm.pl []
tools/dev/nopaste.pl []
tools/dev/ops_not_tested.pl []
-tools/dev/opsrenumber.pl []
tools/dev/parrot-fuzzer []
tools/dev/parrot.supp []
tools/dev/parrot_api.pl []
Modified: branches/ucs4_encoding/MANIFEST.SKIP
==============================================================================
--- branches/ucs4_encoding/MANIFEST.SKIP Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/MANIFEST.SKIP Mon May 24 21:18:41 2010 (r46974)
@@ -1,6 +1,6 @@
# ex: set ro:
# $Id$
-# generated by tools/dev/mk_manifest_and_skip.pl Mon May 17 15:32:39 2010 UT
+# generated by tools/dev/mk_manifest_and_skip.pl Mon May 24 03:29:34 2010 UT
#
# This file should contain a transcript of the svn:ignore properties
# of the directories in the Parrot subversion repository. (Needed for
@@ -81,6 +81,14 @@
^miniparrot/
^myconfig$
^myconfig/
+^ops2c$
+^ops2c/
+^ops2c\.c$
+^ops2c\.c/
+^ops2c\.pbc$
+^ops2c\.pbc/
+^ops2c\.pir$
+^ops2c\.pir/
^parrot$
^parrot/
^parrot-nqp$
@@ -188,6 +196,15 @@
^compilers/imcc/imcparser\.h/
^compilers/imcc/imcparser\.output$
^compilers/imcc/imcparser\.output/
+# generated from svn:ignore of 'compilers/opsc/gen/Ops/'
+^compilers/opsc/gen/Ops/.*\.pir$
+^compilers/opsc/gen/Ops/.*\.pir/
+# generated from svn:ignore of 'compilers/opsc/gen/Ops/Compiler/'
+^compilers/opsc/gen/Ops/Compiler/.*\.pir$
+^compilers/opsc/gen/Ops/Compiler/.*\.pir/
+# generated from svn:ignore of 'compilers/opsc/gen/Ops/Trans/'
+^compilers/opsc/gen/Ops/Trans/.*\.pir$
+^compilers/opsc/gen/Ops/Trans/.*\.pir/
# generated from svn:ignore of 'compilers/pct/src/PAST/'
^compilers/pct/src/PAST/.*\.pbc$
^compilers/pct/src/PAST/.*\.pbc/
@@ -428,6 +445,9 @@
# generated from svn:ignore of 'ext/Parrot-Embed/t/'
^ext/Parrot-Embed/t/.*\.pbc$
^ext/Parrot-Embed/t/.*\.pbc/
+# generated from svn:ignore of 'ext/nqp-rx/src/stage0/'
+^ext/nqp-rx/src/stage0/nqp-setting\.pir$
+^ext/nqp-rx/src/stage0/nqp-setting\.pir/
# generated from svn:ignore of 'include/parrot/'
^include/parrot/.*\.tmp$
^include/parrot/.*\.tmp/
@@ -566,6 +586,9 @@
# generated from svn:ignore of 'runtime/parrot/library/HTTP/'
^runtime/parrot/library/HTTP/.*\.pbc$
^runtime/parrot/library/HTTP/.*\.pbc/
+# generated from svn:ignore of 'runtime/parrot/library/LWP/'
+^runtime/parrot/library/LWP/.*\.pbc$
+^runtime/parrot/library/LWP/.*\.pbc/
# generated from svn:ignore of 'runtime/parrot/library/MIME/'
^runtime/parrot/library/MIME/.*\.pbc$
^runtime/parrot/library/MIME/.*\.pbc/
@@ -1046,6 +1069,8 @@
^t/tools/.*\.pbc/
^t/tools/.*\.pir$
^t/tools/.*\.pir/
+^t/tools/.*\.stdout$
+^t/tools/.*\.stdout/
^t/tools/pdb\.t\..*$
^t/tools/pdb\.t\..*/
^t/tools/pmc2c\..*\.c$
Modified: branches/ucs4_encoding/MANIFEST.generated
==============================================================================
--- branches/ucs4_encoding/MANIFEST.generated Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/MANIFEST.generated Mon May 24 21:18:41 2010 (r46974)
@@ -125,6 +125,8 @@
include/pmc/pmc_undef.h [devel]include
include/pmc/pmc_unmanagedstruct.h [devel]include
install_config.fpmc [main]lib
+installable_ops2c [main]bin
+installable_ops2c.exe [main]bin
installable_parrot [main]bin
installable_parrot-nqp [main]bin
installable_parrot-nqp.exe [main]bin
@@ -145,7 +147,6 @@
installable_pbc_to_exe [main]bin
installable_pbc_to_exe.exe [main]bin
lib/Parrot/Config/Generated.pm [devel]lib
-lib/Parrot/OpLib/core.pm [devel]lib
lib/Parrot/PMC.pm [devel]lib
lib/Parrot/Pmc2c/PCCMETHOD_BITS.pm [devel]lib
libparrot.dll [main]bin
@@ -232,7 +233,8 @@
runtime/parrot/library/HTTP/Message.pbc [main]
runtime/parrot/library/Iter.pbc [main]
runtime/parrot/library/JSON.pbc [main]
-runtime/parrot/library/LWP.pbc [main]
+runtime/parrot/library/LWP/Protocol.pbc [main]
+runtime/parrot/library/LWP/UserAgent.pbc [main]
runtime/parrot/library/MIME/Base64.pbc [main]
runtime/parrot/library/Math/Rand.pbc [main]
runtime/parrot/library/NCI/call_toolkit_init.pbc [main]
@@ -271,7 +273,7 @@
runtime/parrot/library/TAP/Formatter.pbc [main]
runtime/parrot/library/TAP/Harness.pbc [main]
runtime/parrot/library/TAP/Parser.pbc [main]
-runtime/parrot/library/TGE.pbc [tge]
+runtime/parrot/library/TGE.pbc [main]
runtime/parrot/library/Tcl/Glob.pbc [main]
runtime/parrot/library/TclLibrary.pbc [main]
runtime/parrot/library/Test/Builder.pbc [main]
@@ -293,6 +295,7 @@
runtime/parrot/library/ncurses.pbc [main]
runtime/parrot/library/nqp-rx.pbc [nqp]
runtime/parrot/library/nqp-setting.pbc [nqp]
+runtime/parrot/library/opsc.pbc [main]
runtime/parrot/library/osutils.pbc [main]
runtime/parrot/library/parrotlib.pbc [main]
runtime/parrot/library/pcore.pbc [main]
Modified: branches/ucs4_encoding/NEWS
==============================================================================
--- branches/ucs4_encoding/NEWS Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/NEWS Mon May 24 21:18:41 2010 (r46974)
@@ -1,5 +1,9 @@
# $Id$
+New in 2.5.0
+- Platforms
+ + EPEL (Extra Packages for Enterprise Linux) packages for RHEL6.beta are available
+
New in 2.4.0
- Core
+ Various long-standing bugs in IMCC were fixed
Modified: branches/ucs4_encoding/compilers/imcc/debug.c
==============================================================================
--- branches/ucs4_encoding/compilers/imcc/debug.c Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/compilers/imcc/debug.c Mon May 24 21:18:41 2010 (r46974)
@@ -39,7 +39,6 @@
*/
-PARROT_EXPORT
PARROT_DOES_NOT_RETURN
void
IMCC_fatal(PARROT_INTERP, SHIM(int code), ARGIN(const char *fmt), ...)
@@ -63,7 +62,6 @@
*/
-PARROT_EXPORT
PARROT_DOES_NOT_RETURN
void
IMCC_fataly(PARROT_INTERP, SHIM(int code), ARGIN(const char *fmt), ...)
@@ -89,7 +87,6 @@
*/
-PARROT_EXPORT
PARROT_DOES_NOT_RETURN
void
IMCC_fatal_standalone(PARROT_INTERP, int code, ARGIN(const char *fmt), ...)
@@ -114,7 +111,6 @@
*/
-PARROT_EXPORT
void
IMCC_warning(PARROT_INTERP, ARGIN(const char *fmt), ...)
{
@@ -139,7 +135,6 @@
*/
-PARROT_EXPORT
void
IMCC_info(PARROT_INTERP, int level, ARGIN(const char *fmt), ...)
{
@@ -164,7 +159,6 @@
*/
-PARROT_EXPORT
void
IMCC_debug(PARROT_INTERP, int level, ARGIN(const char *fmt), ...)
{
Modified: branches/ucs4_encoding/compilers/imcc/debug.h
==============================================================================
--- branches/ucs4_encoding/compilers/imcc/debug.h Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/compilers/imcc/debug.h Mon May 24 21:18:41 2010 (r46974)
@@ -27,12 +27,32 @@
/* HEADERIZER BEGIN: compilers/imcc/debug.c */
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
-PARROT_EXPORT
+void dump_cfg(ARGIN(const IMC_Unit *unit))
+ __attribute__nonnull__(1);
+
+void dump_dominance_frontiers(ARGIN(const IMC_Unit *unit))
+ __attribute__nonnull__(1);
+
+void dump_dominators(ARGIN(const IMC_Unit *unit))
+ __attribute__nonnull__(1);
+
+void dump_instructions(PARROT_INTERP, ARGIN(const IMC_Unit *unit))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2);
+
+void dump_labels(ARGIN(const IMC_Unit *unit))
+ __attribute__nonnull__(1);
+
+void dump_loops(ARGIN(const IMC_Unit *unit))
+ __attribute__nonnull__(1);
+
+void dump_symreg(ARGIN(const IMC_Unit *unit))
+ __attribute__nonnull__(1);
+
void IMCC_debug(PARROT_INTERP, int level, ARGIN(const char *fmt), ...)
__attribute__nonnull__(1)
__attribute__nonnull__(3);
-PARROT_EXPORT
PARROT_DOES_NOT_RETURN
void IMCC_fatal(PARROT_INTERP,
NULLOK(int code),
@@ -41,7 +61,6 @@
__attribute__nonnull__(1)
__attribute__nonnull__(3);
-PARROT_EXPORT
PARROT_DOES_NOT_RETURN
void IMCC_fatal_standalone(PARROT_INTERP,
int code,
@@ -50,7 +69,6 @@
__attribute__nonnull__(1)
__attribute__nonnull__(3);
-PARROT_EXPORT
PARROT_DOES_NOT_RETURN
void IMCC_fataly(PARROT_INTERP,
NULLOK(int code),
@@ -59,38 +77,29 @@
__attribute__nonnull__(1)
__attribute__nonnull__(3);
-PARROT_EXPORT
void IMCC_info(PARROT_INTERP, int level, ARGIN(const char *fmt), ...)
__attribute__nonnull__(1)
__attribute__nonnull__(3);
-PARROT_EXPORT
void IMCC_warning(PARROT_INTERP, ARGIN(const char *fmt), ...)
__attribute__nonnull__(1)
__attribute__nonnull__(2);
-void dump_cfg(ARGIN(const IMC_Unit *unit))
- __attribute__nonnull__(1);
-
-void dump_dominance_frontiers(ARGIN(const IMC_Unit *unit))
- __attribute__nonnull__(1);
-
-void dump_dominators(ARGIN(const IMC_Unit *unit))
- __attribute__nonnull__(1);
-
-void dump_instructions(PARROT_INTERP, ARGIN(const IMC_Unit *unit))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2);
-
-void dump_labels(ARGIN(const IMC_Unit *unit))
- __attribute__nonnull__(1);
-
-void dump_loops(ARGIN(const IMC_Unit *unit))
- __attribute__nonnull__(1);
-
-void dump_symreg(ARGIN(const IMC_Unit *unit))
- __attribute__nonnull__(1);
-
+#define ASSERT_ARGS_dump_cfg __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(unit))
+#define ASSERT_ARGS_dump_dominance_frontiers __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(unit))
+#define ASSERT_ARGS_dump_dominators __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(unit))
+#define ASSERT_ARGS_dump_instructions __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(interp) \
+ , PARROT_ASSERT_ARG(unit))
+#define ASSERT_ARGS_dump_labels __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(unit))
+#define ASSERT_ARGS_dump_loops __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(unit))
+#define ASSERT_ARGS_dump_symreg __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(unit))
#define ASSERT_ARGS_IMCC_debug __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(fmt))
@@ -109,21 +118,6 @@
#define ASSERT_ARGS_IMCC_warning __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(fmt))
-#define ASSERT_ARGS_dump_cfg __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(unit))
-#define ASSERT_ARGS_dump_dominance_frontiers __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(unit))
-#define ASSERT_ARGS_dump_dominators __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(unit))
-#define ASSERT_ARGS_dump_instructions __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(unit))
-#define ASSERT_ARGS_dump_labels __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(unit))
-#define ASSERT_ARGS_dump_loops __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(unit))
-#define ASSERT_ARGS_dump_symreg __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(unit))
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
/* HEADERIZER END: compilers/imcc/debug.c */
Modified: branches/ucs4_encoding/compilers/imcc/imc.c
==============================================================================
--- branches/ucs4_encoding/compilers/imcc/imc.c Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/compilers/imcc/imc.c Mon May 24 21:18:41 2010 (r46974)
@@ -63,7 +63,6 @@
*/
-PARROT_EXPORT
void
imc_compile_all_units(PARROT_INTERP)
{
@@ -113,7 +112,6 @@
*/
-PARROT_EXPORT
void
imc_compile_unit(PARROT_INTERP, ARGIN(IMC_Unit *unit))
{
@@ -136,7 +134,6 @@
*/
-PARROT_EXPORT
void
imc_cleanup(PARROT_INTERP, ARGIN_NULLOK(void *yyscanner))
{
Modified: branches/ucs4_encoding/compilers/imcc/imc.h
==============================================================================
--- branches/ucs4_encoding/compilers/imcc/imc.h Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/compilers/imcc/imc.h Mon May 24 21:18:41 2010 (r46974)
@@ -106,35 +106,32 @@
/* HEADERIZER BEGIN: compilers/imcc/imc.c */
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
-PARROT_EXPORT
void imc_cleanup(PARROT_INTERP, ARGIN_NULLOK(void *yyscanner))
__attribute__nonnull__(1);
-PARROT_EXPORT
+void imc_close_unit(PARROT_INTERP, ARGIN_NULLOK(IMC_Unit *unit))
+ __attribute__nonnull__(1);
+
void imc_compile_all_units(PARROT_INTERP)
__attribute__nonnull__(1);
-PARROT_EXPORT
void imc_compile_unit(PARROT_INTERP, ARGIN(IMC_Unit *unit))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
-void imc_close_unit(PARROT_INTERP, ARGIN_NULLOK(IMC_Unit *unit))
- __attribute__nonnull__(1);
-
PARROT_CANNOT_RETURN_NULL
IMC_Unit * imc_open_unit(PARROT_INTERP, IMC_Unit_Type t)
__attribute__nonnull__(1);
#define ASSERT_ARGS_imc_cleanup __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
+#define ASSERT_ARGS_imc_close_unit __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_imc_compile_all_units __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_imc_compile_unit __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(unit))
-#define ASSERT_ARGS_imc_close_unit __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_imc_open_unit __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
@@ -189,20 +186,6 @@
/* HEADERIZER BEGIN: compilers/imcc/parser_util.c */
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
-PARROT_EXPORT
-int do_yylex_init(PARROT_INTERP, ARGOUT(yyscan_t* yyscanner))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- FUNC_MODIFIES(* yyscanner);
-
-PARROT_EXPORT
-void imcc_destroy(PARROT_INTERP)
- __attribute__nonnull__(1);
-
-PARROT_EXPORT
-void imcc_init(PARROT_INTERP)
- __attribute__nonnull__(1);
-
PARROT_WARN_UNUSED_RESULT
int check_op(PARROT_INTERP,
ARGOUT(char *fullname),
@@ -285,6 +268,12 @@
__attribute__nonnull__(3)
FUNC_MODIFIES(*error_message);
+void imcc_destroy(PARROT_INTERP)
+ __attribute__nonnull__(1);
+
+void imcc_init(PARROT_INTERP)
+ __attribute__nonnull__(1);
+
PARROT_IGNORABLE_RESULT
int /*@alt void@*/
imcc_vfprintf(PARROT_INTERP,
@@ -346,13 +335,6 @@
FUNC_MODIFIES(*unit)
FUNC_MODIFIES(*r);
-#define ASSERT_ARGS_do_yylex_init __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(yyscanner))
-#define ASSERT_ARGS_imcc_destroy __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_imcc_init __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_check_op __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(fullname) \
@@ -389,6 +371,10 @@
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(s) \
, PARROT_ASSERT_ARG(error_message))
+#define ASSERT_ARGS_imcc_destroy __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(interp))
+#define ASSERT_ARGS_imcc_init __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_imcc_vfprintf __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(io) \
@@ -512,8 +498,8 @@
AsmInYield
} AsmState;
-PARROT_EXPORT void IMCC_push_parser_state(PARROT_INTERP);
-PARROT_EXPORT void IMCC_pop_parser_state(PARROT_INTERP, void *yyscanner);
+void IMCC_push_parser_state(PARROT_INTERP);
+void IMCC_pop_parser_state(PARROT_INTERP, void *yyscanner);
/* globals store the state between individual e_pbc_emit calls */
typedef struct subs_t {
@@ -545,7 +531,6 @@
} imcc_globals;
typedef struct _imc_info_t {
- void *yyscanner;
struct _imc_info_t *prev;
IMC_Unit *imc_units;
IMC_Unit *last_unit;
@@ -592,7 +577,6 @@
int error_code; /* The Error code. */
int expect_pasm;
int gc_off;
- int has_compile;
int imcc_warn;
int in_pod;
int ins_line;
@@ -656,9 +640,8 @@
#define UNSET_STATE_RUN_FROM_FILE(i) (COMPILER_STATE(i) &= ~PBC_RUN_FILE)
/* imclexer.c */
-PARROT_EXPORT FILE * imc_yyin_set(FILE *new_yyin, void *yyscanner);
-PARROT_EXPORT FILE * imc_yyin_get(void *yyscanner);
-
+FILE * imc_yyin_set(FILE *new_yyin, void *yyscanner);
+FILE * imc_yyin_get(void *yyscanner);
#endif /* PARROT_IMCC_IMC_H_GUARD */
Modified: branches/ucs4_encoding/compilers/imcc/imcc.l
==============================================================================
--- branches/ucs4_encoding/compilers/imcc/imcc.l Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/compilers/imcc/imcc.l Mon May 24 21:18:41 2010 (r46974)
@@ -41,7 +41,6 @@
#include "imc.h"
#include "parser.h"
-// typedef struct yyguts_t yyguts_t;
typedef struct parser_state_t parser_state_t;
/* parser state structure
@@ -125,7 +124,6 @@
BIN 0[bB][01]+
DOT [.]
SIGN [-+]
-BIGINT {SIGN}?{DIGITS}"L"
FLOATNUM {SIGN}?(({DIGITS}{DOT}{DIGIT}*|{DOT}{DIGITS})([eE]{SIGN}?{DIGITS})?|{DIGITS}[eE]{SIGN}?{DIGITS})
LETTERDIGIT [a-zA-Z0-9_]
LABELLETTERDIGIT([a-zA-Z0-9_@])
@@ -137,7 +135,6 @@
UNICODE {ENC}{ENC}?{DQ_STRING}
STRINGCONSTANT {SQ_STRING}|{DQ_STRING}
SQ_STRING \'[^'\n]*\'
-RANKSPEC \[[,]*\]
EOL \r?\n
WS [\t\f\r\x1a ]
SP [ ]
@@ -217,8 +214,6 @@
yy_pop_state(yyscanner);
yy_scan_string(IMCC_INFO(interp)->frames->heredoc_rest, yyscanner);
- /* not sure we need this decrement; more testing needed */
- IMCC_INFO(interp)->line--;
return STRINGC;
}
else {
@@ -542,16 +537,6 @@
<*>{BIN} DUP_AND_RET(valp, INTC);
<*>{OCT} DUP_AND_RET(valp, INTC);
-<*>{BIGINT} {
- valp->s = mem_sys_strdup(yytext);
-
- /* trailing 'L' */
- valp->s[strlen(valp->s) - 1] = '\0';
-
- /* no BIGINT native format yet */
- return STRINGC;
- }
-
<*>{STRINGCONSTANT} {
valp->s = mem_sys_strdup(yytext);
Modified: branches/ucs4_encoding/compilers/imcc/imclexer.c
==============================================================================
--- branches/ucs4_encoding/compilers/imcc/imclexer.c Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/compilers/imcc/imclexer.c Mon May 24 21:18:41 2010 (r46974)
@@ -380,8 +380,8 @@
*yy_cp = '\0'; \
yyg->yy_c_buf_p = yy_cp;
-#define YY_NUM_RULES 148
-#define YY_END_OF_BUFFER 149
+#define YY_NUM_RULES 147
+#define YY_END_OF_BUFFER 148
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -389,129 +389,127 @@
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_accept[1095] =
+static yyconst flex_int16_t yy_accept[1088] =
{ 0,
0, 1, 0, 1, 0, 1, 17, 1, 0, 1,
0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
- 4, 1, 149, 136, 135, 11, 135, 136, 136, 12,
- 136, 136, 136, 136, 136, 136, 116, 136, 96, 136,
- 120, 120, 136, 88, 136, 90, 134, 134, 134, 134,
- 134, 134, 134, 134, 136, 136, 1, 1, 136, 135,
- 135, 136, 136, 136, 136, 134, 1, 1, 136, 147,
- 142, 138, 142, 147, 147, 147, 147, 147, 120, 120,
- 147, 145, 145, 145, 1, 1, 147, 17, 18, 17,
+ 4, 1, 148, 135, 134, 11, 134, 135, 135, 12,
+ 135, 135, 135, 135, 135, 135, 116, 135, 96, 135,
+ 120, 120, 135, 88, 135, 90, 133, 133, 133, 133,
+ 133, 133, 133, 133, 135, 135, 1, 1, 135, 134,
+ 134, 135, 135, 135, 135, 133, 1, 1, 135, 146,
+ 141, 137, 141, 146, 146, 146, 146, 146, 120, 120,
+ 146, 144, 144, 144, 1, 1, 146, 17, 18, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 1,
- 1, 17, 148, 136, 9, 9, 136, 136, 1, 5,
+ 1, 17, 147, 135, 9, 9, 135, 135, 1, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 1,
- 6, 136, 10, 136, 136, 136, 136, 136, 120, 120,
- 136, 136, 136, 1, 1, 136, 13, 136, 136, 136,
- 136, 136, 120, 120, 136, 136, 136, 1, 1, 148,
- 2, 148, 148, 148, 148, 148, 120, 120, 148, 148,
- 148, 1, 1, 4, 3, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 1, 1, 135, 0, 11,
- 93, 0, 125, 0, 132, 132, 132, 132, 132, 101,
+ 6, 135, 10, 135, 135, 135, 135, 135, 120, 120,
+ 135, 135, 135, 1, 1, 135, 13, 135, 135, 135,
+ 135, 135, 120, 120, 135, 135, 135, 1, 1, 147,
+ 2, 147, 147, 147, 147, 147, 120, 120, 147, 147,
+ 147, 1, 1, 4, 3, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 1, 1, 134, 0, 11,
+ 93, 0, 124, 0, 131, 131, 131, 131, 131, 101,
85, 104, 0, 94, 99, 0, 120, 97, 98, 119,
110, 118, 118, 118, 118, 118, 118, 118, 118, 118,
118, 118, 118, 118, 118, 118, 118, 118, 102, 100,
- 119, 0, 0, 124, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82, 89,
- 92, 65, 91, 83, 115, 0, 134, 117, 133, 134,
- 75, 134, 134, 134, 134, 134, 134, 105, 86, 106,
- 87, 1, 0, 15, 0, 92, 65, 0, 135, 118,
- 118, 118, 118, 118, 118, 0, 0, 0, 0, 1,
- 142, 138, 142, 0, 0, 0, 146, 146, 146, 146,
- 145, 0, 143, 145, 1, 1, 17, 18, 17, 17,
+ 119, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 82, 89, 92,
+ 65, 91, 83, 115, 0, 133, 117, 132, 133, 75,
+ 133, 133, 133, 133, 133, 133, 105, 86, 106, 87,
+ 1, 0, 15, 0, 92, 65, 0, 134, 118, 118,
+ 118, 118, 118, 118, 0, 0, 0, 0, 1, 141,
+ 137, 141, 0, 0, 0, 145, 145, 145, 145, 144,
+ 0, 142, 144, 1, 1, 17, 18, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 1, 17, 0,
- 0, 9, 0, 1, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 1, 0, 10, 0, 0, 0, 125, 0,
- 0, 0, 0, 120, 119, 0, 0, 119, 0, 0,
- 124, 0, 0, 0, 0, 0, 0, 1, 1, 0,
- 13, 0, 0, 0, 125, 0, 0, 0, 0, 120,
- 119, 0, 0, 119, 0, 0, 124, 0, 0, 0,
- 0, 0, 0, 1, 1, 0, 2, 0, 0, 0,
-
- 125, 0, 0, 0, 0, 120, 119, 0, 0, 119,
- 0, 0, 124, 0, 0, 0, 0, 0, 0, 1,
- 1, 4, 3, 4, 4, 4, 4, 4, 4, 4,
+ 17, 17, 17, 17, 17, 1, 17, 0, 0, 9,
+ 0, 1, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, 5, 5, 5, 5, 5, 1,
+ 0, 10, 0, 0, 0, 124, 0, 0, 0, 0,
+ 120, 119, 0, 0, 119, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1, 1, 0, 13, 0, 0, 0,
+ 124, 0, 0, 0, 0, 120, 119, 0, 0, 119,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+ 0, 2, 0, 0, 0, 124, 0, 0, 0, 0,
+
+ 120, 119, 0, 0, 119, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1, 1, 4, 3, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 1, 95, 128, 129, 131, 130, 0, 118,
+ 4, 4, 4, 4, 4, 1, 95, 127, 128, 130,
+ 129, 0, 118, 118, 118, 118, 118, 118, 118, 118,
118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
- 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
- 118, 118, 118, 118, 103, 119, 122, 0, 119, 123,
- 121, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
- 0, 0, 108, 107, 84, 114, 0, 0, 133, 134,
- 78, 134, 79, 80, 134, 134, 134, 0, 118, 118,
- 0, 0, 139, 144, 141, 146, 146, 146, 146, 146,
- 145, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 0, 0, 0, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 0, 0, 0, 119, 122, 0, 119, 123, 121,
- 0, 0, 0, 0, 0, 0, 0, 0, 119, 122,
+ 118, 118, 118, 118, 118, 118, 118, 103, 119, 122,
0, 119, 123, 121, 0, 0, 0, 0, 0, 0,
- 0, 0, 119, 122, 0, 119, 123, 121, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 108, 107, 84, 114, 0,
- 0, 0, 0, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 0, 119, 69,
- 118, 118, 118, 118, 25, 118, 118, 118, 118, 118,
- 22, 118, 118, 118, 118, 118, 118, 118, 118, 118,
- 118, 118, 24, 118, 118, 0, 0, 0, 0, 0,
- 0, 0, 46, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 126, 0, 0,
- 109, 0, 127, 0, 0, 0, 74, 77, 134, 134,
- 134, 134, 0, 141, 146, 146, 146, 146, 145, 145,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
+ 0, 132, 133, 78, 133, 79, 80, 133, 133, 133,
+ 0, 118, 118, 0, 0, 138, 143, 140, 145, 145,
+ 145, 145, 145, 144, 17, 17, 17, 17, 17, 17,
+ 17, 17, 17, 17, 17, 17, 17, 17, 17, 0,
+ 0, 0, 5, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 5, 0, 0, 0, 119, 122, 0,
+ 119, 123, 121, 0, 0, 0, 0, 0, 0, 0,
+ 0, 119, 122, 0, 119, 123, 121, 0, 0, 0,
+ 0, 0, 0, 0, 0, 119, 122, 0, 119, 123,
+ 121, 0, 0, 0, 0, 0, 4, 4, 4, 4,
- 17, 17, 17, 17, 17, 17, 0, 0, 0, 0,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 0, 119, 0, 0, 0, 0, 126, 0, 0, 0,
- 0, 0, 127, 0, 0, 0, 0, 0, 0, 119,
- 0, 0, 0, 0, 126, 0, 0, 0, 0, 0,
- 127, 0, 0, 0, 0, 0, 0, 119, 0, 0,
- 0, 0, 126, 0, 0, 0, 0, 0, 127, 0,
- 0, 0, 0, 0, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 118,
- 118, 28, 118, 118, 20, 118, 118, 118, 118, 19,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 0, 119, 69, 118, 118, 118, 118, 25, 118, 118,
+ 118, 118, 118, 22, 118, 118, 118, 118, 118, 118,
+ 118, 118, 118, 118, 118, 24, 118, 118, 0, 0,
+ 0, 0, 0, 0, 0, 46, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 125, 0, 0, 109, 0, 126, 0, 0, 0, 74,
+ 77, 133, 133, 133, 133, 0, 140, 145, 145, 145,
+ 145, 144, 144, 17, 17, 17, 17, 17, 17, 17,
+ 17, 17, 17, 17, 17, 17, 17, 17, 17, 0,
+
+ 0, 0, 0, 5, 5, 5, 5, 5, 5, 5,
+ 5, 5, 5, 0, 119, 0, 0, 0, 0, 125,
+ 0, 0, 0, 0, 0, 126, 0, 0, 0, 0,
+ 0, 0, 119, 0, 0, 0, 0, 125, 0, 0,
+ 0, 0, 0, 126, 0, 0, 0, 0, 0, 0,
+ 119, 0, 0, 0, 0, 125, 0, 0, 0, 0,
+ 0, 126, 0, 0, 0, 0, 0, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 118, 118, 28, 118, 118, 20, 118, 118,
+ 118, 118, 19, 118, 118, 118, 118, 118, 118, 118,
+ 118, 118, 118, 118, 118, 44, 0, 60, 0, 41,
+ 0, 0, 40, 39, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 133, 133, 133, 133,
+ 14, 0, 136, 20, 145, 19, 144, 144, 17, 17,
+ 17, 17, 16, 17, 20, 19, 0, 0, 5, 5,
+ 5, 5, 20, 19, 0, 0, 20, 19, 0, 0,
+ 20, 19, 0, 0, 4, 4, 4, 4, 118, 118,
+ 71, 118, 118, 118, 118, 118, 118, 118, 118, 70,
+ 112, 118, 118, 118, 73, 118, 118, 118, 118, 118,
+ 118, 54, 0, 0, 0, 0, 0, 38, 64, 0,
+
+ 0, 0, 45, 0, 0, 51, 0, 0, 133, 133,
+ 81, 76, 145, 144, 144, 17, 17, 0, 0, 5,
+ 5, 0, 0, 0, 0, 0, 0, 4, 4, 118,
118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
- 118, 118, 44, 0, 60, 0, 41, 0, 0, 40,
- 39, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 134, 134, 134, 134, 14, 0, 137,
- 20, 146, 19, 145, 145, 17, 17, 17, 17, 16,
- 17, 20, 19, 0, 0, 5, 5, 5, 5, 20,
- 19, 0, 0, 20, 19, 0, 0, 20, 19, 0,
- 0, 4, 4, 4, 4, 118, 118, 71, 118, 118,
- 118, 118, 118, 118, 118, 118, 70, 112, 118, 118,
- 118, 73, 118, 118, 118, 118, 118, 118, 54, 0,
-
- 0, 0, 0, 0, 38, 64, 0, 0, 0, 45,
- 0, 0, 51, 0, 0, 134, 134, 81, 76, 146,
- 145, 145, 17, 17, 0, 0, 5, 5, 0, 0,
- 0, 0, 0, 0, 4, 4, 118, 118, 118, 118,
- 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
- 118, 56, 118, 118, 118, 118, 0, 0, 0, 0,
- 37, 0, 0, 0, 0, 61, 0, 47, 134, 134,
- 140, 145, 145, 17, 17, 0, 0, 5, 5, 0,
- 0, 0, 0, 0, 0, 4, 4, 118, 118, 118,
- 118, 118, 118, 118, 118, 118, 113, 118, 59, 118,
-
- 118, 118, 118, 32, 23, 118, 118, 118, 0, 0,
- 0, 0, 48, 0, 0, 0, 0, 0, 8, 17,
- 8, 5, 5, 0, 8, 0, 8, 0, 8, 4,
- 4, 21, 118, 118, 118, 27, 118, 118, 118, 118,
- 31, 118, 118, 118, 29, 118, 118, 58, 67, 0,
- 0, 66, 63, 62, 43, 0, 7, 7, 7, 7,
- 7, 4, 118, 118, 118, 118, 36, 118, 118, 118,
- 30, 68, 118, 55, 42, 0, 0, 26, 118, 118,
- 34, 52, 118, 118, 57, 50, 49, 118, 35, 53,
- 72, 111, 33, 0
-
+ 118, 118, 118, 118, 56, 118, 118, 118, 118, 0,
+ 0, 0, 0, 37, 0, 0, 0, 0, 61, 0,
+ 47, 133, 133, 139, 144, 144, 17, 17, 0, 0,
+ 5, 5, 0, 0, 0, 0, 0, 0, 4, 4,
+ 118, 118, 118, 118, 118, 118, 118, 118, 118, 113,
+ 118, 59, 118, 118, 118, 118, 32, 23, 118, 118,
+
+ 118, 0, 0, 0, 0, 48, 0, 0, 0, 0,
+ 0, 8, 17, 8, 5, 5, 0, 8, 0, 8,
+ 0, 8, 4, 4, 21, 118, 118, 118, 27, 118,
+ 118, 118, 118, 31, 118, 118, 118, 29, 118, 118,
+ 58, 67, 0, 0, 66, 63, 62, 43, 0, 7,
+ 7, 7, 7, 7, 4, 118, 118, 118, 118, 36,
+ 118, 118, 118, 30, 68, 118, 55, 42, 0, 0,
+ 26, 118, 118, 34, 52, 118, 118, 57, 50, 49,
+ 118, 35, 53, 72, 111, 33, 0
} ;
static yyconst flex_int32_t yy_ec[256] =
@@ -557,289 +555,289 @@
10, 10, 10, 1, 1
} ;
-static yyconst flex_int16_t yy_base[1251] =
+static yyconst flex_int16_t yy_base[1244] =
{ 0,
0, 64, 88, 70, 153, 75, 218, 82, 283, 113,
348, 117, 109, 412, 434, 121, 499, 130, 564, 135,
- 629, 140, 4665, 7097, 693, 7097, 697, 4639, 63, 7097,
- 385, 4638, 56, 4648, 58, 686, 7097, 696, 703, 60,
- 750, 780, 785, 72, 83, 124, 703, 797, 767, 825,
- 765, 759, 769, 833, 63, 766, 848, 856, 851, 422,
- 864, 862, 871, 838, 4623, 848, 803, 898, 819, 7097,
- 902, 7097, 906, 84, 898, 4570, 920, 929, 0, 935,
- 4553, 405, 951, 828, 941, 956, 909, 0, 7097, 4573,
- 689, 4563, 965, 969, 1004, 965, 4550, 1066, 1131, 991,
-
- 995, 4529, 7097, 990, 1009, 1077, 4549, 87, 1001, 0,
- 0, 791, 1032, 1066, 1180, 1003, 4547, 1242, 1307, 1013,
- 878, 426, 7097, 894, 1111, 1010, 1105, 1160, 1370, 1129,
- 959, 1432, 1497, 1057, 1098, 974, 7097, 1032, 1163, 1052,
- 1218, 1276, 1560, 1300, 1149, 1622, 1687, 1157, 1182, 1041,
- 7097, 1101, 1185, 1116, 1266, 1337, 1750, 1306, 1209, 1812,
- 1877, 1225, 1259, 0, 7097, 4567, 880, 4557, 1254, 1356,
- 1926, 1369, 4544, 1988, 2053, 1213, 1287, 1297, 1346, 7097,
- 7097, 1168, 7097, 0, 0, 1344, 1360, 1374, 1398, 7097,
- 7097, 7097, 4555, 7097, 7097, 1406, 1443, 7097, 7097, 1448,
-
- 7097, 0, 4532, 4512, 4518, 1136, 4510, 4512, 658, 4508,
- 1425, 105, 883, 922, 4514, 727, 4517, 4508, 4532, 7097,
- 1505, 1174, 1466, 7097, 1185, 0, 4503, 4513, 4502, 1179,
- 816, 1292, 685, 947, 4498, 22, 4498, 4491, 1109, 7097,
- 7097, 7097, 7097, 1252, 4526, 4525, 1406, 4540, 1525, 1533,
- 1443, 1543, 1467, 1544, 1549, 1560, 1562, 7097, 7097, 7097,
- 7097, 1593, 1290, 7097, 1300, 1366, 1382, 1513, 1449, 4492,
- 4492, 1482, 4502, 4501, 4498, 1349, 4483, 4476, 1162, 1582,
- 1616, 7097, 1639, 4512, 1630, 0, 0, 4481, 4483, 1199,
- 1321, 4523, 1638, 1515, 1661, 1665, 0, 7097, 1265, 0,
-
- 0, 4505, 1652, 1698, 1704, 4458, 4457, 1716, 1391, 1661,
- 0, 1472, 2100, 1543, 2147, 2212, 2277, 1607, 4446, 4455,
- 4454, 1744, 909, 1674, 0, 1736, 0, 1687, 1823, 1828,
- 4453, 4452, 1885, 1510, 1778, 0, 1710, 2324, 1563, 2371,
- 2436, 2501, 1753, 1536, 7097, 1597, 1799, 1856, 1601, 1612,
- 1737, 1756, 1851, 2564, 1905, 1778, 1784, 2004, 1894, 1918,
- 1652, 1954, 2608, 1964, 2655, 2720, 2785, 1805, 1862, 1681,
- 7097, 1718, 1926, 1946, 1772, 1828, 1907, 1975, 2016, 2848,
- 2026, 1960, 1981, 2070, 2013, 2082, 1858, 2091, 2892, 2037,
- 2939, 3004, 3069, 2078, 2103, 1978, 7097, 2018, 2128, 2134,
-
- 2039, 2084, 2111, 2121, 2163, 3132, 2293, 2136, 2301, 2387,
- 2172, 2174, 2123, 2305, 3176, 2194, 3223, 3288, 3353, 2200,
- 2205, 0, 7097, 1321, 0, 0, 4489, 2299, 2382, 2310,
- 4450, 4449, 2501, 2160, 2341, 0, 2314, 3400, 1735, 3447,
- 3512, 3577, 2345, 2416, 2403, 2410, 2513, 2517, 2529, 0,
- 4464, 4441, 4445, 4441, 4438, 4445, 4367, 4358, 4362, 786,
- 4353, 4361, 1051, 4369, 4353, 4359, 4360, 4352, 4364, 4348,
- 4347, 4362, 4354, 4357, 7097, 2533, 2180, 2537, 2550, 2394,
- 0, 4348, 4350, 4358, 4347, 2249, 4336, 4355, 4346, 4335,
- 4342, 4340, 4345, 4331, 4330, 4330, 4327, 4343, 4335, 4342,
-
- 1390, 4371, 7097, 7097, 4357, 7097, 1441, 4354, 2564, 2566,
- 2579, 2581, 2583, 2584, 2592, 2624, 2600, 2334, 4332, 4333,
- 4324, 4348, 7097, 2663, 0, 0, 4304, 4297, 4304, 4293,
- 2598, 2677, 4294, 4291, 2785, 2308, 2668, 2681, 2509, 3624,
- 1921, 4331, 1937, 3671, 3736, 4283, 4290, 4287, 1754, 2690,
- 4288, 4282, 2797, 2339, 2694, 2801, 2557, 3783, 2610, 3830,
- 3895, 2826, 2809, 2622, 2834, 2615, 2854, 2868, 2880, 3958,
- 2920, 2829, 2926, 4005, 4070, 2888, 2922, 2832, 2955, 2912,
- 2967, 2977, 3085, 4133, 3104, 2894, 3110, 4180, 4245, 3126,
- 3087, 2914, 3153, 3096, 3099, 3165, 3173, 4308, 3119, 2979,
-
- 3160, 4355, 4420, 3193, 4283, 4280, 3223, 2345, 2973, 3169,
- 2842, 4467, 2011, 4320, 2129, 4514, 4579, 3235, 3239, 0,
- 4277, 4276, 4274, 4266, 4282, 4276, 4280, 4277, 4268, 4264,
- 0, 4271, 4271, 4273, 4257, 4264, 4197, 4201, 4199, 4199,
- 4179, 4197, 0, 4186, 4185, 4182, 4183, 4174, 4186, 4172,
- 4171, 4175, 7097, 4183, 4174, 4177, 4166, 4178, 4170, 783,
- 4176, 4162, 4162, 4168, 4161, 4173, 2584, 7097, 0, 4203,
- 7097, 2637, 7097, 0, 4191, 4206, 2870, 3116, 3364, 3365,
- 3373, 3194, 2423, 0, 4160, 4165, 4164, 4163, 3108, 3374,
- 3245, 3251, 4162, 4161, 2794, 0, 0, 4190, 2819, 0,
-
- 0, 4644, 4193, 4709, 4149, 2558, 4128, 4126, 1733, 1818,
- 3255, 3259, 4124, 4123, 3158, 0, 4774, 4161, 4839, 4117,
- 3380, 3388, 3391, 3428, 3475, 3607, 2638, 2704, 3401, 3463,
- 3609, 3615, 2714, 2965, 4904, 3094, 4969, 4115, 3473, 3477,
- 3437, 3593, 3617, 3622, 3178, 3198, 3497, 3595, 3624, 3699,
- 3247, 3279, 5034, 3431, 5099, 4110, 3485, 3688, 3602, 3605,
- 3811, 3817, 3281, 3382, 3701, 3711, 3862, 3986, 3465, 3481,
- 5164, 3630, 5229, 4108, 3639, 3679, 4110, 4105, 2921, 0,
- 0, 4138, 3103, 0, 0, 5294, 4142, 5359, 4098, 4088,
- 4093, 0, 4086, 1855, 0, 4087, 4101, 4082, 4097, 0,
-
- 4089, 4088, 4084, 4027, 4009, 4022, 4013, 4005, 4005, 1006,
- 4017, 4015, 7097, 4018, 7097, 4013, 7097, 4015, 4012, 7097,
- 7097, 4001, 4000, 3996, 3965, 3950, 3942, 3925, 3931, 3915,
- 3923, 3906, 3842, 3976, 4148, 4016, 3800, 7097, 3487, 0,
- 0, 3834, 0, 2580, 3640, 0, 0, 5424, 1059, 7097,
- 3878, 7097, 7097, 1332, 1986, 0, 0, 5489, 1540, 3499,
- 3713, 3668, 1097, 3717, 3721, 3676, 1231, 3725, 3727, 3682,
- 1504, 0, 0, 3756, 3158, 3821, 3796, 0, 3780, 3773,
- 3767, 3764, 3757, 3689, 3680, 3662, 0, 3649, 3643, 3619,
- 3623, 0, 3580, 3582, 3566, 3569, 3530, 3468, 0, 3428,
-
- 3400, 3386, 3394, 3388, 7097, 7097, 3370, 3365, 3358, 7097,
- 3352, 3340, 7097, 3352, 3329, 3975, 4150, 3851, 3852, 3874,
- 3836, 3948, 1800, 1908, 1438, 1810, 2247, 2260, 1174, 1745,
- 1870, 2063, 2494, 2496, 2778, 2831, 3313, 3820, 3318, 3227,
- 3222, 3181, 3127, 3114, 3102, 3094, 3083, 3070, 3043, 2951,
- 2947, 0, 2936, 2919, 2926, 2868, 2816, 2797, 2770, 2652,
- 7097, 2629, 2634, 2629, 2553, 7097, 2533, 7097, 3958, 3960,
- 3882, 2382, 3857, 1295, 2643, 772, 1490, 3211, 3599, 942,
- 1965, 2950, 3091, 3458, 3588, 3841, 3990, 2518, 2475, 2462,
- 2384, 2368, 2350, 2349, 2332, 2324, 0, 2289, 0, 2268,
-
- 2265, 2236, 2164, 0, 0, 2129, 2130, 2112, 2102, 2075,
- 2051, 2025, 7097, 2027, 2018, 1972, 1947, 1709, 1986, 2898,
- 1978, 3418, 1947, 3885, 4030, 4039, 4033, 4044, 4049, 3625,
- 1931, 0, 1842, 1816, 1765, 0, 1728, 1728, 1694, 1650,
- 0, 1585, 1556, 1522, 0, 1476, 1429, 0, 7097, 1375,
- 1360, 7097, 7097, 7097, 7097, 1321, 7097, 0, 3846, 3868,
- 3969, 0, 1275, 1198, 1185, 1145, 0, 1117, 1071, 1024,
- 0, 0, 926, 0, 7097, 869, 827, 0, 752, 675,
- 0, 367, 356, 61, 0, 7097, 7097, 23, 0, 0,
- 0, 0, 0, 7097, 5554, 5560, 5570, 5578, 5589, 5593,
-
- 5601, 5608, 5619, 5630, 5641, 5652, 5659, 5670, 5681, 5692,
- 5703, 5714, 5725, 5736, 5747, 5758, 5769, 5780, 5791, 5802,
- 5813, 5824, 5835, 5846, 5857, 5868, 5874, 5884, 5890, 5896,
- 5901, 5909, 5918, 5929, 5935, 5939, 5945, 5952, 5963, 5974,
- 5985, 5996, 6007, 6018, 6029, 6040, 6051, 6062, 6073, 6084,
- 6095, 6106, 6117, 6128, 6139, 6150, 6161, 6172, 6183, 6194,
- 6205, 6211, 6216, 6222, 6231, 6242, 6253, 6260, 6268, 6279,
- 6285, 6291, 6297, 6304, 6315, 6326, 6337, 6348, 6359, 6366,
- 6377, 6388, 6399, 6410, 6421, 6432, 6443, 6454, 6465, 6476,
- 6487, 6498, 6509, 6520, 6531, 6542, 6553, 6564, 6575, 6586,
-
- 6597, 6608, 6619, 6625, 6636, 6647, 6658, 6665, 6673, 6684,
- 6690, 6696, 6703, 6714, 6725, 6736, 6747, 6758, 6765, 6776,
- 6787, 6798, 6809, 6820, 6831, 6842, 6853, 6864, 6875, 6886,
- 6897, 6908, 6919, 6930, 6941, 6952, 6963, 6974, 6985, 6996,
- 7007, 7018, 7024, 7032, 7043, 7049, 7056, 7067, 7074, 7085
+ 629, 140, 4821, 6967, 693, 6967, 697, 4795, 63, 6967,
+ 385, 4794, 56, 4806, 58, 686, 6967, 696, 703, 60,
+ 750, 778, 783, 72, 83, 124, 703, 794, 765, 823,
+ 768, 759, 831, 767, 63, 753, 846, 854, 849, 422,
+ 862, 861, 869, 845, 4793, 846, 884, 899, 798, 6967,
+ 905, 6967, 931, 84, 904, 4804, 926, 931, 0, 937,
+ 4791, 405, 949, 845, 958, 971, 881, 0, 6967, 4810,
+ 689, 4800, 967, 971, 1006, 967, 4787, 1068, 1133, 993,
+
+ 997, 4766, 6967, 992, 1011, 1079, 4786, 87, 1003, 0,
+ 0, 819, 1034, 1068, 1182, 1005, 4784, 1244, 1309, 1015,
+ 766, 426, 6967, 869, 1109, 926, 1101, 1149, 1372, 1151,
+ 1034, 1434, 1499, 1059, 1124, 976, 6967, 1012, 1174, 1099,
+ 1212, 1188, 1562, 1235, 1151, 1624, 1689, 1158, 1162, 1043,
+ 6967, 1062, 1179, 1181, 1273, 1337, 1752, 1244, 1219, 1814,
+ 1879, 1297, 1326, 0, 6967, 4804, 904, 4794, 1325, 1317,
+ 1928, 1324, 4781, 1990, 2055, 1222, 1367, 1378, 1236, 6967,
+ 6967, 909, 6967, 0, 0, 1377, 1384, 1400, 1408, 6967,
+ 6967, 6967, 4792, 6967, 6967, 1434, 1445, 6967, 6967, 1449,
+
+ 6967, 0, 4769, 4749, 4755, 767, 4743, 4745, 658, 4741,
+ 1060, 105, 743, 750, 4747, 1011, 4748, 4657, 4681, 6967,
+ 1507, 1111, 1462, 1284, 0, 4652, 4662, 4652, 1136, 877,
+ 1306, 685, 949, 4648, 22, 4648, 4641, 1400, 6967, 6967,
+ 6967, 6967, 1240, 4676, 4675, 1263, 4690, 1527, 1471, 1400,
+ 1535, 1545, 1546, 1551, 1562, 1564, 6967, 6967, 6967, 6967,
+ 1516, 1278, 6967, 1347, 1358, 1410, 1428, 1488, 4642, 4642,
+ 1331, 4652, 4651, 4648, 1420, 4633, 4630, 1230, 1530, 1609,
+ 6967, 1618, 4666, 1632, 0, 0, 4635, 4637, 1246, 1101,
+ 4678, 1640, 1536, 1641, 1663, 0, 6967, 1223, 0, 0,
+
+ 4671, 1650, 1700, 1704, 4632, 4631, 1717, 1466, 1659, 1521,
+ 2102, 1563, 2149, 2214, 2279, 1584, 4620, 4628, 4627, 1740,
+ 1113, 1598, 0, 1737, 0, 1663, 1825, 1746, 4626, 4625,
+ 1829, 1477, 1780, 1689, 2326, 1565, 2373, 2438, 2503, 1602,
+ 1553, 6967, 1614, 1724, 1738, 1654, 1673, 1781, 1800, 1895,
+ 1907, 2006, 1683, 1786, 2028, 1849, 1919, 1853, 2566, 1858,
+ 2613, 2678, 2743, 1805, 1904, 1748, 6967, 1776, 1860, 1948,
+ 1830, 1873, 1909, 1956, 1958, 2072, 2095, 1962, 1969, 2165,
+ 1966, 2019, 2084, 2806, 2017, 2853, 2918, 2983, 2040, 2080,
+ 1927, 6967, 1972, 2093, 2103, 1980, 2014, 2123, 2125, 2177,
+
+ 2295, 2307, 2167, 2317, 2389, 2173, 2187, 2303, 3046, 2327,
+ 3093, 3158, 3223, 2347, 2355, 0, 6967, 1347, 0, 0,
+ 4662, 2342, 2384, 2503, 4623, 4621, 2515, 2089, 2401, 2092,
+ 3270, 1704, 3317, 3382, 3447, 2134, 2200, 2405, 2412, 2519,
+ 2531, 2544, 0, 4632, 4612, 4616, 4612, 4607, 4606, 4531,
+ 4518, 4521, 920, 4512, 4520, 763, 4528, 4512, 4518, 4519,
+ 4511, 4523, 4507, 4506, 4521, 4513, 4516, 6967, 2552, 2159,
+ 2535, 2556, 2511, 0, 4507, 4509, 4517, 4506, 2531, 4495,
+ 4514, 4505, 4494, 4501, 4499, 4504, 4490, 4488, 4488, 4485,
+ 4501, 4493, 4500, 1393, 4524, 6967, 6967, 4510, 6967, 1410,
+
+ 4510, 2574, 2761, 2584, 2624, 2625, 2626, 2765, 2755, 2771,
+ 2543, 4486, 4475, 4397, 4423, 6967, 2635, 0, 0, 4400,
+ 4393, 4400, 4389, 2285, 2645, 4390, 4387, 2776, 2163, 2584,
+ 2624, 2631, 3494, 1569, 4427, 1790, 3541, 3606, 4379, 4386,
+ 4383, 1895, 2823, 4384, 4381, 2853, 2346, 2649, 2770, 2653,
+ 3653, 2306, 3700, 3765, 2881, 2769, 2576, 2999, 2810, 2885,
+ 3011, 3007, 3828, 3031, 2820, 3033, 3875, 3940, 3040, 2782,
+ 2837, 3109, 3060, 3121, 3131, 3066, 4003, 3074, 3001, 3253,
+ 4050, 4115, 3248, 2796, 3079, 3255, 3117, 3275, 3333, 3341,
+ 4178, 3299, 3013, 3477, 4225, 4290, 2894, 4382, 4379, 3328,
+
+ 2375, 3125, 3223, 2861, 4337, 1894, 4419, 1947, 4384, 4449,
+ 3288, 3344, 0, 4376, 4379, 4377, 4369, 4385, 4379, 4382,
+ 4379, 4370, 4366, 0, 4372, 4372, 4372, 4356, 4363, 4360,
+ 4363, 4361, 4346, 4316, 4332, 0, 4320, 4313, 4309, 4310,
+ 4301, 4242, 4228, 4227, 4231, 6967, 4238, 4229, 4232, 4221,
+ 4233, 4225, 864, 4231, 4217, 4218, 4224, 4217, 4229, 1949,
+ 6967, 0, 4259, 6967, 2046, 6967, 0, 4247, 4262, 2795,
+ 3030, 3459, 3460, 3476, 3470, 2425, 0, 4216, 4221, 4220,
+ 4218, 3099, 3288, 3348, 3356, 4217, 4216, 2293, 0, 0,
+ 4248, 2592, 0, 0, 4514, 4252, 4579, 4208, 2659, 4211,
+
+ 4210, 1293, 1682, 3469, 3475, 4209, 4207, 2884, 0, 4644,
+ 4238, 4709, 4194, 3499, 3557, 3522, 3527, 3681, 3687, 2759,
+ 2772, 3268, 3368, 3732, 3856, 2908, 3048, 4774, 3497, 4839,
+ 4168, 3566, 3571, 3673, 3676, 3862, 4031, 3054, 3123, 3559,
+ 3591, 4037, 4206, 3250, 3262, 4904, 3593, 4969, 4167, 3725,
+ 3729, 3848, 3851, 4212, 4365, 3280, 3463, 3749, 3751, 4371,
+ 4412, 3474, 3504, 5034, 3595, 5099, 4164, 3513, 3737, 4166,
+ 4159, 3015, 0, 0, 4191, 3116, 0, 0, 5164, 4195,
+ 5229, 4151, 4137, 4142, 0, 4135, 3847, 0, 4136, 4150,
+ 4131, 4146, 0, 4138, 4137, 4133, 4145, 4127, 4140, 4131,
+
+ 4055, 4055, 3674, 4066, 4064, 6967, 4067, 6967, 4062, 6967,
+ 4060, 4050, 6967, 6967, 4035, 4038, 4040, 4025, 4023, 4012,
+ 3980, 3986, 3965, 3970, 3953, 3960, 4525, 4663, 4063, 4020,
+ 6967, 3579, 0, 0, 3957, 0, 3817, 4188, 0, 0,
+ 5294, 1044, 6967, 3932, 6967, 6967, 943, 826, 0, 0,
+ 5359, 1123, 3683, 3689, 3691, 1167, 3831, 3833, 3788, 1984,
+ 3838, 3840, 3795, 2729, 0, 0, 3811, 3306, 3891, 3887,
+ 0, 3882, 3865, 3859, 3849, 3816, 3819, 3811, 3712, 0,
+ 3719, 3699, 3683, 3678, 0, 3647, 3636, 3621, 3563, 3554,
+ 3559, 0, 3531, 3507, 3491, 3463, 3453, 6967, 6967, 3417,
+
+ 3412, 3397, 6967, 3331, 3310, 6967, 3300, 3274, 4238, 4354,
+ 3896, 3897, 3912, 3993, 3996, 1697, 1960, 1061, 1492, 2000,
+ 2289, 1737, 1886, 2366, 2498, 2848, 3534, 3684, 3857, 3227,
+ 3864, 3230, 3214, 3215, 3197, 3206, 3193, 3095, 3095, 3040,
+ 3030, 2999, 2973, 2969, 0, 2951, 2850, 2840, 2818, 2781,
+ 2779, 2775, 2712, 6967, 2696, 2634, 2618, 2549, 6967, 2550,
+ 6967, 3913, 4005, 3921, 2384, 4064, 2137, 2841, 1302, 1958,
+ 3300, 3328, 1201, 1360, 1374, 1808, 2160, 2788, 3104, 3522,
+ 2538, 2517, 2496, 2469, 2459, 2376, 2367, 2342, 2326, 0,
+ 2283, 0, 2241, 2231, 2168, 2149, 0, 0, 2134, 2101,
+
+ 2089, 2086, 2031, 2031, 2012, 6967, 1945, 1869, 1840, 1809,
+ 1456, 1855, 1770, 1830, 1836, 1806, 3927, 4078, 4088, 4093,
+ 4096, 4101, 2796, 1800, 0, 1707, 1659, 1628, 0, 1583,
+ 1554, 1542, 1478, 0, 1466, 1438, 1431, 0, 1333, 1246,
+ 0, 6967, 1239, 1221, 6967, 6967, 6967, 6967, 1214, 6967,
+ 0, 3934, 4014, 4023, 0, 1144, 990, 989, 971, 0,
+ 926, 897, 860, 0, 0, 807, 0, 6967, 798, 781,
+ 0, 766, 675, 0, 367, 356, 61, 0, 6967, 6967,
+ 23, 0, 0, 0, 0, 0, 6967, 5424, 5430, 5440,
+ 5448, 5459, 5463, 5471, 5478, 5489, 5500, 5511, 5522, 5529,
+
+ 5540, 5551, 5562, 5573, 5584, 5595, 5606, 5617, 5628, 5639,
+ 5650, 5661, 5672, 5683, 5694, 5705, 5716, 5727, 5738, 5744,
+ 5754, 5760, 5766, 5771, 5779, 5788, 5799, 5805, 5809, 5815,
+ 5822, 5833, 5844, 5855, 5866, 5877, 5888, 5899, 5910, 5921,
+ 5932, 5943, 5954, 5965, 5976, 5987, 5998, 6009, 6020, 6031,
+ 6042, 6053, 6064, 6075, 6081, 6086, 6092, 6101, 6112, 6123,
+ 6130, 6138, 6149, 6155, 6161, 6167, 6174, 6185, 6196, 6207,
+ 6218, 6229, 6236, 6247, 6258, 6269, 6280, 6291, 6302, 6313,
+ 6324, 6335, 6346, 6357, 6368, 6379, 6390, 6401, 6412, 6423,
+ 6434, 6445, 6456, 6467, 6478, 6489, 6495, 6506, 6517, 6528,
+
+ 6535, 6543, 6554, 6560, 6566, 6573, 6584, 6595, 6606, 6617,
+ 6628, 6635, 6646, 6657, 6668, 6679, 6690, 6701, 6712, 6723,
+ 6734, 6745, 6756, 6767, 6778, 6789, 6800, 6811, 6822, 6833,
+ 6844, 6855, 6866, 6877, 6888, 6894, 6902, 6913, 6919, 6926,
+ 6937, 6944, 6955
} ;
-static yyconst flex_int16_t yy_def[1251] =
+static yyconst flex_int16_t yy_def[1244] =
{ 0,
- 1094, 1, 1, 3, 1094, 5, 1094, 7, 1094, 9,
- 1094, 11, 9, 9, 1094, 15, 1094, 17, 1094, 19,
- 1094, 21, 1094, 1094, 1094, 1094, 1094, 1094, 1095, 1094,
- 1096, 1094, 1094, 1097, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1098, 1098, 1098, 1098,
- 1098, 1098, 1098, 1098, 1094, 1094, 1094, 1094, 1099, 1094,
- 1094, 1094, 39, 1094, 1094, 1098, 1094, 1094, 1099, 1094,
- 1094, 1094, 1094, 1095, 1100, 1097, 1094, 1101, 41, 1094,
- 1094, 1102, 1102, 1102, 1094, 1094, 1099, 1103, 1094, 1103,
- 1104, 1105, 1103, 1103, 1103, 95, 1103, 1106, 1106, 1103,
-
- 1103, 1103, 1094, 1094, 41, 1094, 1107, 1107, 1094, 1108,
- 1108, 1109, 1108, 1108, 1108, 115, 1108, 1110, 1110, 1108,
- 1095, 1111, 1094, 1111, 1112, 1113, 1111, 1111, 1111, 129,
- 1111, 1114, 1114, 1111, 1111, 1115, 1094, 1115, 1116, 1117,
- 1115, 1115, 1115, 143, 1115, 1118, 1118, 1115, 1115, 1119,
- 1094, 1119, 1120, 1121, 1119, 1119, 1119, 157, 1119, 1122,
- 1122, 1119, 1119, 1123, 1094, 1123, 1124, 1125, 1123, 1123,
- 1123, 171, 1123, 1126, 1126, 1123, 1123, 1094, 1094, 1094,
- 1094, 1095, 1094, 1095, 1127, 1127, 1127, 1127, 1127, 1094,
- 1094, 1094, 1128, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
-
- 1094, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129,
- 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1130, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1131, 1132, 1133, 1132, 1132,
- 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1094, 1094, 1094,
- 1094, 1094, 1134, 1094, 1134, 1134, 1134, 1134, 1094, 1129,
- 1129, 1129, 1129, 1129, 1129, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1135, 1135, 1136, 1137, 1137, 1137, 1137,
- 1138, 1133, 1138, 1138, 1094, 1094, 1139, 1094, 1140, 1139,
-
- 1140, 1141, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139,
- 1139, 1139, 1139, 1139, 1142, 1094, 1142, 1139, 1139, 1094,
- 1094, 1094, 1131, 1094, 1143, 1144, 1143, 1143, 1143, 1143,
- 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1145,
- 1094, 1145, 1143, 1146, 1094, 1146, 1147, 1147, 1146, 1147,
- 1148, 1148, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
- 1146, 1146, 1146, 1146, 1149, 1094, 1149, 1146, 1146, 1150,
- 1094, 1150, 1151, 1151, 1150, 1151, 1152, 1152, 1150, 1150,
- 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
- 1153, 1094, 1153, 1150, 1150, 1154, 1094, 1154, 1155, 1155,
-
- 1154, 1155, 1156, 1156, 1154, 1154, 1154, 1154, 1154, 1154,
- 1154, 1154, 1154, 1154, 1154, 1154, 1157, 1094, 1157, 1154,
- 1154, 1158, 1094, 1159, 1158, 1159, 1160, 1158, 1158, 1158,
- 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1161,
- 1094, 1161, 1158, 1094, 1162, 1162, 1162, 1162, 1094, 1163,
- 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163,
- 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163,
- 1163, 1163, 1163, 1163, 1094, 1094, 1094, 1094, 1094, 1094,
- 1164, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
-
- 1165, 1166, 1094, 1094, 1094, 1094, 1167, 1168, 1169, 1169,
- 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1170, 1163, 1163,
- 1094, 1171, 1094, 1171, 1172, 1173, 1173, 1173, 1173, 1173,
- 1174, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175,
- 1176, 1177, 1178, 1179, 1094, 1175, 1094, 1094, 1180, 1181,
- 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1182, 1183,
- 1094, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184,
- 1185, 1186, 1187, 1188, 1094, 1189, 1189, 1189, 1189, 1189,
- 1189, 1189, 1189, 1189, 1190, 1191, 1192, 1193, 1094, 1194,
- 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1195, 1196,
-
- 1197, 1198, 1094, 1199, 1199, 1199, 1199, 1199, 1199, 1199,
- 1199, 1199, 1200, 1201, 1202, 1203, 1094, 1094, 1094, 1204,
- 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204,
- 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204,
- 1204, 1204, 1204, 1204, 1204, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1205, 1094, 1205, 1206,
- 1094, 1207, 1094, 1207, 1208, 1094, 1209, 1209, 1209, 1209,
- 1209, 1209, 1210, 1211, 1212, 1212, 1212, 1212, 1213, 1213,
- 1214, 1214, 1214, 1214, 1215, 1214, 1215, 1216, 1217, 1214,
-
- 1217, 1218, 1214, 1094, 704, 1214, 1094, 1094, 1219, 1219,
- 1220, 1220, 1220, 1220, 1221, 1220, 1222, 1220, 1094, 719,
- 1223, 1223, 1223, 1223, 1224, 1224, 1223, 1224, 1225, 1225,
- 1226, 1226, 1223, 1226, 1227, 1223, 1094, 737, 1228, 1228,
- 1228, 1228, 1229, 1229, 1228, 1229, 1230, 1230, 1231, 1231,
- 1228, 1231, 1232, 1228, 1094, 755, 1233, 1233, 1233, 1233,
- 1234, 1234, 1233, 1234, 1235, 1235, 1236, 1236, 1233, 1236,
- 1237, 1233, 1094, 773, 1238, 1238, 1238, 1238, 1239, 1238,
- 1239, 1240, 1241, 1238, 1241, 1242, 1238, 1094, 788, 1243,
- 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243,
-
- 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243,
- 1243, 1243, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1244, 1244, 1244, 1244, 1094, 1245, 1246,
- 1246, 1246, 1246, 1247, 1247, 1248, 1248, 1094, 848, 1094,
- 1248, 1094, 1094, 1249, 1249, 1250, 1250, 1094, 858, 1223,
- 1223, 737, 737, 1228, 1228, 755, 755, 1233, 1233, 773,
- 773, 1238, 1238, 788, 788, 1243, 1243, 1243, 1243, 1243,
- 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243,
- 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1094,
-
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1244, 1244, 1244, 1244, 1246,
- 1247, 1247, 848, 848, 1249, 1249, 858, 858, 737, 737,
- 755, 755, 773, 773, 788, 788, 1243, 1243, 1243, 1243,
- 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243,
- 1243, 1243, 1243, 1243, 1243, 1243, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1244, 1244,
- 1094, 1247, 1247, 848, 848, 1249, 1249, 858, 858, 737,
- 737, 755, 755, 773, 773, 788, 788, 1243, 1243, 1243,
- 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243,
-
- 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1248,
- 1248, 1250, 1250, 1223, 1223, 1228, 1228, 1233, 1233, 1238,
- 1238, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243,
- 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1248, 1223, 1228,
- 1233, 1238, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 1243,
- 1243, 1243, 1243, 1243, 1094, 1094, 1094, 1243, 1243, 1243,
- 1243, 1243, 1243, 1243, 1243, 1094, 1094, 1243, 1243, 1243,
- 1243, 1243, 1243, 0, 1094, 1094, 1094, 1094, 1094, 1094,
-
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
-
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094
+ 1087, 1, 1, 3, 1087, 5, 1087, 7, 1087, 9,
+ 1087, 11, 9, 9, 1087, 15, 1087, 17, 1087, 19,
+ 1087, 21, 1087, 1087, 1087, 1087, 1087, 1087, 1088, 1087,
+ 1089, 1087, 1087, 1090, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1091, 1091, 1091, 1091,
+ 1091, 1091, 1091, 1091, 1087, 1087, 1087, 1087, 1092, 1087,
+ 1087, 1087, 39, 1087, 1087, 1091, 1087, 1087, 1092, 1087,
+ 1087, 1087, 1087, 1088, 1093, 1090, 1087, 1094, 41, 1087,
+ 1087, 1095, 1095, 1095, 1087, 1087, 1092, 1096, 1087, 1096,
+ 1097, 1098, 1096, 1096, 1096, 95, 1096, 1099, 1099, 1096,
+
+ 1096, 1096, 1087, 1087, 41, 1087, 1100, 1100, 1087, 1101,
+ 1101, 1102, 1101, 1101, 1101, 115, 1101, 1103, 1103, 1101,
+ 1088, 1104, 1087, 1104, 1105, 1106, 1104, 1104, 1104, 129,
+ 1104, 1107, 1107, 1104, 1104, 1108, 1087, 1108, 1109, 1110,
+ 1108, 1108, 1108, 143, 1108, 1111, 1111, 1108, 1108, 1112,
+ 1087, 1112, 1113, 1114, 1112, 1112, 1112, 157, 1112, 1115,
+ 1115, 1112, 1112, 1116, 1087, 1116, 1117, 1118, 1116, 1116,
+ 1116, 171, 1116, 1119, 1119, 1116, 1116, 1087, 1087, 1087,
+ 1087, 1088, 1087, 1088, 1120, 1120, 1120, 1120, 1120, 1087,
+ 1087, 1087, 1121, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+
+ 1087, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122,
+ 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1123, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1124, 1125, 1126, 1125, 1125, 1125,
+ 1125, 1125, 1125, 1125, 1125, 1125, 1087, 1087, 1087, 1087,
+ 1087, 1127, 1087, 1127, 1127, 1127, 1127, 1087, 1122, 1122,
+ 1122, 1122, 1122, 1122, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1128, 1128, 1129, 1130, 1130, 1130, 1130, 1131,
+ 1126, 1131, 1131, 1087, 1087, 1132, 1087, 1133, 1132, 1133,
+
+ 1134, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132,
+ 1132, 1132, 1135, 1087, 1135, 1132, 1132, 1087, 1087, 1087,
+ 1124, 1087, 1136, 1137, 1136, 1136, 1136, 1136, 1136, 1136,
+ 1136, 1136, 1136, 1136, 1136, 1136, 1138, 1087, 1138, 1136,
+ 1139, 1087, 1139, 1140, 1140, 1139, 1140, 1141, 1141, 1139,
+ 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139,
+ 1142, 1087, 1142, 1139, 1139, 1143, 1087, 1143, 1144, 1144,
+ 1143, 1144, 1145, 1145, 1143, 1143, 1143, 1143, 1143, 1143,
+ 1143, 1143, 1143, 1143, 1143, 1146, 1087, 1146, 1143, 1143,
+ 1147, 1087, 1147, 1148, 1148, 1147, 1148, 1149, 1149, 1147,
+
+ 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147,
+ 1150, 1087, 1150, 1147, 1147, 1151, 1087, 1152, 1151, 1152,
+ 1153, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
+ 1151, 1151, 1154, 1087, 1154, 1151, 1087, 1155, 1155, 1155,
+ 1155, 1087, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156,
+ 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156,
+ 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1157, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1158, 1159, 1087, 1087, 1087, 1087, 1160,
+
+ 1161, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162,
+ 1163, 1156, 1156, 1087, 1164, 1087, 1164, 1165, 1166, 1166,
+ 1166, 1166, 1166, 1167, 1168, 1168, 1168, 1168, 1168, 1168,
+ 1168, 1168, 1168, 1169, 1170, 1171, 1172, 1087, 1168, 1087,
+ 1087, 1173, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174,
+ 1174, 1175, 1176, 1087, 1177, 1177, 1177, 1177, 1177, 1177,
+ 1177, 1177, 1177, 1178, 1179, 1180, 1181, 1087, 1182, 1182,
+ 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1183, 1184, 1185,
+ 1186, 1087, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187,
+ 1187, 1188, 1189, 1190, 1191, 1087, 1192, 1192, 1192, 1192,
+
+ 1192, 1192, 1192, 1192, 1192, 1193, 1194, 1195, 1196, 1087,
+ 1087, 1087, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197,
+ 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197,
+ 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1198,
+ 1087, 1198, 1199, 1087, 1200, 1087, 1200, 1201, 1087, 1202,
+ 1202, 1202, 1202, 1202, 1202, 1203, 1204, 1205, 1205, 1205,
+ 1205, 1206, 1206, 1207, 1207, 1207, 1207, 1208, 1207, 1208,
+ 1209, 1210, 1207, 1210, 1211, 1207, 1087, 697, 1207, 1087,
+
+ 1087, 1212, 1212, 1213, 1213, 1213, 1213, 1214, 1213, 1215,
+ 1213, 1087, 712, 1216, 1216, 1216, 1216, 1217, 1217, 1216,
+ 1217, 1218, 1218, 1219, 1219, 1216, 1219, 1220, 1216, 1087,
+ 730, 1221, 1221, 1221, 1221, 1222, 1222, 1221, 1222, 1223,
+ 1223, 1224, 1224, 1221, 1224, 1225, 1221, 1087, 748, 1226,
+ 1226, 1226, 1226, 1227, 1227, 1226, 1227, 1228, 1228, 1229,
+ 1229, 1226, 1229, 1230, 1226, 1087, 766, 1231, 1231, 1231,
+ 1231, 1232, 1231, 1232, 1233, 1234, 1231, 1234, 1235, 1231,
+ 1087, 781, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236,
+ 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236,
+
+ 1236, 1236, 1236, 1236, 1236, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1237, 1237, 1237, 1237,
+ 1087, 1238, 1239, 1239, 1239, 1239, 1240, 1240, 1241, 1241,
+ 1087, 841, 1087, 1241, 1087, 1087, 1242, 1242, 1243, 1243,
+ 1087, 851, 1216, 1216, 730, 730, 1221, 1221, 748, 748,
+ 1226, 1226, 766, 766, 1231, 1231, 781, 781, 1236, 1236,
+ 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236,
+ 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236,
+ 1236, 1236, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1237, 1237,
+ 1237, 1237, 1239, 1240, 1240, 841, 841, 1242, 1242, 851,
+ 851, 730, 730, 748, 748, 766, 766, 781, 781, 1236,
+ 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236,
+ 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1237, 1237, 1087, 1240, 1240, 841, 841, 1242, 1242,
+ 851, 851, 730, 730, 748, 748, 766, 766, 781, 781,
+ 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236,
+ 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236,
+
+ 1236, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1241, 1241, 1243, 1243, 1216, 1216, 1221, 1221,
+ 1226, 1226, 1231, 1231, 1236, 1236, 1236, 1236, 1236, 1236,
+ 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236,
+ 1236, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1241, 1216, 1221, 1226, 1231, 1236, 1236, 1236, 1236, 1236,
+ 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1087, 1087, 1087,
+ 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1087, 1087,
+ 1236, 1236, 1236, 1236, 1236, 1236, 0, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087
} ;
-static yyconst flex_int16_t yy_nxt[7163] =
+static yyconst flex_int16_t yy_nxt[7033] =
{ 0,
24, 25, 26, 27, 25, 28, 29, 30, 31, 32,
33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
@@ -848,16 +846,16 @@
47, 47, 47, 47, 47, 47, 47, 49, 47, 50,
47, 47, 51, 47, 52, 47, 47, 53, 47, 54,
47, 47, 47, 55, 56, 57, 191, 58, 57, 183,
- 194, 67, 497, 68, 67, 1093, 85, 219, 86, 85,
- 192, 498, 195, 100, 220, 101, 100, 258, 59, 60,
- 183, 61, 60, 24, 69, 239, 240, 24, 24, 87,
-
- 24, 62, 184, 62, 63, 24, 102, 241, 242, 292,
- 64, 65, 24, 24, 109, 121, 109, 109, 120, 1092,
- 120, 120, 134, 184, 135, 134, 259, 41, 42, 42,
- 42, 148, 323, 149, 148, 47, 162, 47, 163, 162,
- 47, 176, 47, 177, 176, 66, 464, 47, 243, 244,
- 465, 24, 24, 70, 71, 72, 73, 71, 70, 74,
+ 194, 67, 490, 68, 67, 1086, 85, 219, 86, 85,
+ 192, 491, 195, 100, 220, 101, 100, 257, 59, 60,
+ 183, 61, 60, 24, 69, 238, 239, 24, 24, 87,
+
+ 24, 62, 184, 62, 63, 24, 102, 240, 241, 291,
+ 64, 65, 24, 24, 109, 121, 109, 109, 120, 1085,
+ 120, 120, 134, 184, 135, 134, 258, 41, 42, 42,
+ 42, 148, 321, 149, 148, 47, 162, 47, 163, 162,
+ 47, 176, 47, 177, 176, 66, 457, 47, 242, 243,
+ 458, 24, 24, 70, 71, 72, 73, 71, 70, 74,
70, 75, 70, 70, 76, 70, 77, 70, 77, 78,
70, 79, 80, 80, 80, 70, 81, 70, 70, 82,
82, 82, 82, 82, 82, 83, 82, 83, 82, 83,
@@ -886,8 +884,8 @@
118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
118, 118, 118, 118, 118, 119, 118, 118, 118, 118,
- 118, 110, 110, 109, 1091, 109, 109, 186, 121, 187,
- 246, 188, 189, 269, 1090, 269, 269, 292, 345, 346,
+ 118, 110, 110, 109, 1084, 109, 109, 186, 121, 187,
+ 245, 188, 189, 268, 1083, 268, 268, 291, 342, 343,
41, 42, 42, 42, 122, 122, 123, 124, 122, 122,
125, 122, 122, 122, 122, 126, 122, 127, 122, 127,
128, 122, 129, 130, 130, 130, 122, 131, 122, 122,
@@ -916,722 +914,708 @@
174, 174, 174, 174, 174, 174, 174, 174, 164, 174,
174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
174, 174, 174, 174, 174, 174, 175, 174, 174, 174,
- 174, 174, 164, 164, 178, 300, 178, 178, 178, 180,
+ 174, 174, 164, 164, 178, 299, 178, 178, 178, 180,
- 178, 178, 196, 458, 197, 197, 197, 197, 459, 179,
- 198, 245, 196, 179, 197, 197, 197, 197, 246, 1089,
- 199, 200, 200, 200, 200, 248, 492, 201, 301, 202,
+ 178, 178, 196, 451, 197, 197, 197, 197, 452, 179,
+ 198, 244, 196, 179, 197, 197, 197, 197, 245, 1082,
+ 199, 200, 200, 200, 200, 247, 485, 201, 300, 202,
202, 202, 202, 202, 203, 202, 202, 202, 202, 202,
- 202, 202, 493, 202, 204, 205, 206, 202, 207, 208,
+ 202, 202, 486, 202, 204, 205, 206, 202, 207, 208,
209, 202, 210, 211, 212, 213, 202, 214, 202, 215,
- 216, 217, 202, 202, 202, 218, 221, 245, 197, 197,
- 197, 197, 471, 245, 246, 245, 1018, 245, 222, 223,
- 246, 248, 246, 224, 246, 225, 472, 248, 226, 248,
- 260, 248, 222, 325, 292, 223, 221, 193, 197, 197,
-
- 197, 197, 327, 225, 280, 245, 280, 280, 1088, 223,
- 254, 226, 246, 224, 255, 249, 249, 249, 249, 248,
- 250, 264, 265, 826, 253, 223, 227, 256, 228, 629,
- 261, 229, 827, 245, 230, 231, 232, 233, 234, 235,
- 246, 245, 236, 246, 237, 238, 630, 248, 246, 262,
- 292, 262, 262, 264, 265, 248, 245, 262, 180, 262,
- 262, 487, 268, 246, 179, 269, 180, 269, 269, 488,
- 248, 251, 179, 294, 1087, 266, 267, 252, 196, 227,
- 197, 197, 197, 197, 183, 257, 425, 276, 231, 232,
- 277, 278, 235, 255, 268, 1094, 345, 346, 238, 280,
-
- 180, 280, 280, 281, 282, 283, 281, 281, 282, 283,
- 281, 264, 265, 202, 270, 1086, 202, 184, 202, 426,
- 271, 272, 273, 274, 466, 275, 467, 202, 202, 202,
- 285, 292, 285, 202, 285, 285, 196, 286, 197, 197,
- 197, 197, 295, 282, 296, 295, 1024, 200, 200, 200,
- 200, 221, 268, 197, 197, 197, 197, 295, 282, 296,
- 295, 345, 346, 468, 223, 469, 246, 549, 224, 293,
- 293, 293, 293, 292, 288, 289, 371, 372, 1085, 290,
- 223, 303, 364, 304, 304, 304, 304, 305, 305, 305,
- 305, 365, 318, 297, 318, 318, 318, 298, 318, 318,
-
- 297, 494, 324, 297, 324, 324, 495, 297, 200, 200,
- 200, 200, 345, 352, 343, 306, 343, 343, 297, 307,
- 308, 349, 304, 304, 304, 304, 297, 322, 322, 322,
- 322, 325, 309, 310, 371, 372, 320, 311, 325, 312,
- 321, 325, 313, 397, 398, 325, 309, 895, 328, 310,
- 329, 329, 329, 329, 371, 378, 325, 312, 368, 345,
- 369, 368, 896, 375, 325, 313, 297, 297, 897, 297,
- 297, 297, 297, 297, 297, 297, 297, 297, 297, 297,
- 297, 1084, 297, 297, 330, 330, 330, 330, 316, 297,
- 297, 297, 633, 221, 634, 322, 322, 322, 322, 368,
-
- 345, 369, 368, 397, 398, 297, 223, 345, 346, 315,
- 224, 924, 331, 345, 348, 501, 332, 349, 397, 404,
- 502, 353, 223, 354, 354, 354, 354, 401, 1083, 297,
- 297, 297, 297, 503, 297, 297, 297, 297, 297, 297,
- 297, 297, 297, 297, 297, 297, 365, 297, 297, 930,
- 350, 371, 372, 316, 297, 297, 297, 344, 394, 371,
- 395, 394, 345, 346, 344, 371, 374, 344, 501, 375,
- 297, 344, 390, 502, 183, 1082, 317, 454, 355, 355,
- 355, 355, 344, 394, 371, 395, 394, 397, 400, 455,
- 344, 401, 477, 477, 297, 297, 333, 1081, 329, 329,
-
- 329, 329, 376, 480, 480, 480, 356, 184, 334, 335,
- 357, 397, 398, 336, 443, 337, 443, 443, 338, 980,
- 371, 372, 334, 365, 402, 335, 420, 397, 421, 420,
- 485, 486, 416, 337, 379, 1080, 380, 380, 380, 380,
- 529, 338, 325, 325, 325, 325, 325, 325, 530, 325,
- 325, 325, 325, 325, 325, 325, 325, 1079, 325, 325,
- 420, 397, 421, 420, 341, 325, 325, 325, 397, 398,
- 428, 300, 429, 429, 429, 429, 504, 505, 371, 372,
- 391, 325, 405, 932, 406, 406, 406, 406, 443, 423,
- 443, 443, 264, 265, 381, 381, 381, 381, 178, 1020,
-
- 178, 178, 264, 265, 301, 325, 325, 325, 325, 325,
- 325, 325, 325, 179, 325, 325, 325, 325, 325, 325,
- 325, 325, 382, 325, 325, 1078, 383, 425, 370, 341,
- 325, 325, 325, 489, 396, 370, 246, 490, 370, 397,
- 398, 396, 370, 292, 396, 315, 325, 444, 396, 444,
- 444, 491, 342, 370, 292, 407, 407, 407, 407, 396,
- 426, 370, 445, 445, 445, 445, 1077, 396, 264, 265,
- 325, 325, 345, 346, 430, 430, 430, 430, 446, 446,
- 446, 446, 925, 408, 264, 265, 358, 409, 354, 354,
- 354, 354, 447, 447, 447, 447, 668, 422, 359, 360,
-
- 485, 521, 431, 361, 422, 362, 432, 422, 363, 536,
- 536, 422, 359, 1076, 245, 360, 448, 448, 448, 448,
- 1075, 246, 422, 362, 200, 200, 200, 200, 248, 669,
- 422, 363, 344, 344, 345, 346, 344, 344, 344, 344,
- 344, 344, 344, 344, 344, 344, 344, 673, 344, 344,
- 269, 245, 269, 269, 366, 344, 344, 344, 246, 221,
- 292, 197, 197, 197, 197, 248, 200, 200, 200, 200,
- 461, 344, 223, 1074, 462, 245, 224, 449, 463, 478,
- 674, 478, 246, 976, 479, 479, 479, 479, 223, 248,
- 539, 539, 539, 449, 1019, 344, 344, 344, 344, 345,
-
- 346, 344, 344, 344, 344, 344, 344, 344, 344, 344,
- 344, 344, 292, 344, 344, 264, 265, 512, 513, 366,
- 344, 344, 344, 476, 476, 476, 476, 461, 554, 554,
- 246, 462, 1073, 245, 449, 520, 344, 292, 345, 346,
- 246, 245, 367, 509, 509, 509, 509, 248, 246, 541,
- 449, 245, 245, 417, 542, 248, 934, 245, 246, 246,
- 344, 344, 371, 372, 246, 248, 248, 1072, 245, 501,
- 245, 248, 518, 531, 559, 246, 384, 246, 380, 380,
- 380, 380, 248, 280, 248, 280, 280, 514, 385, 386,
- 340, 510, 928, 387, 262, 388, 262, 262, 389, 345,
-
- 346, 511, 385, 345, 346, 386, 1071, 515, 318, 179,
- 318, 318, 517, 388, 345, 348, 516, 281, 282, 283,
- 281, 389, 370, 370, 371, 372, 370, 370, 370, 370,
- 370, 370, 370, 370, 370, 370, 370, 1070, 370, 370,
- 281, 282, 283, 281, 392, 370, 370, 370, 524, 524,
- 524, 524, 523, 246, 345, 346, 293, 293, 293, 293,
- 292, 370, 295, 282, 296, 295, 295, 282, 296, 295,
- 305, 305, 305, 305, 537, 324, 537, 324, 324, 538,
- 538, 538, 538, 371, 372, 370, 370, 370, 370, 371,
- 372, 370, 370, 370, 370, 370, 370, 370, 370, 370,
-
- 370, 370, 1069, 370, 370, 330, 330, 330, 330, 392,
- 370, 370, 370, 1018, 308, 1057, 304, 304, 304, 304,
- 371, 372, 305, 305, 305, 305, 370, 310, 557, 557,
- 557, 311, 393, 532, 535, 535, 535, 535, 325, 345,
- 352, 613, 193, 310, 1068, 532, 614, 327, 349, 532,
- 370, 370, 397, 398, 343, 292, 343, 343, 345, 352,
- 221, 532, 322, 322, 322, 322, 410, 349, 406, 406,
- 406, 406, 1067, 223, 371, 372, 292, 224, 411, 412,
- 345, 346, 854, 413, 1066, 414, 345, 346, 415, 223,
- 981, 555, 411, 555, 365, 412, 556, 556, 556, 556,
-
- 709, 345, 348, 414, 710, 349, 368, 345, 369, 368,
- 1065, 415, 396, 396, 397, 398, 396, 396, 396, 396,
- 396, 396, 396, 396, 396, 396, 396, 563, 396, 396,
- 371, 374, 292, 564, 418, 396, 396, 396, 350, 333,
- 292, 329, 329, 329, 329, 974, 330, 330, 330, 330,
- 315, 396, 335, 345, 346, 977, 336, 550, 345, 348,
- 371, 372, 349, 368, 345, 369, 368, 855, 335, 355,
- 355, 355, 355, 550, 1064, 396, 396, 396, 396, 397,
- 398, 396, 396, 396, 396, 396, 396, 396, 396, 396,
- 396, 396, 1063, 396, 396, 350, 345, 346, 879, 418,
-
- 396, 396, 396, 553, 553, 553, 553, 345, 346, 371,
- 378, 880, 566, 566, 550, 982, 396, 881, 375, 391,
- 345, 346, 419, 355, 355, 355, 355, 696, 371, 374,
- 550, 567, 375, 567, 562, 1031, 568, 568, 568, 568,
- 396, 396, 433, 700, 429, 429, 429, 429, 371, 374,
- 562, 1023, 375, 975, 434, 435, 345, 346, 315, 436,
- 697, 437, 371, 372, 438, 376, 345, 346, 434, 1025,
- 571, 435, 569, 569, 569, 572, 701, 371, 378, 437,
- 397, 398, 1021, 371, 372, 376, 375, 438, 422, 422,
- 1019, 422, 422, 422, 422, 422, 422, 422, 422, 422,
-
- 422, 422, 422, 1056, 422, 422, 345, 346, 292, 577,
- 441, 422, 422, 422, 365, 371, 372, 780, 371, 372,
- 397, 398, 565, 565, 565, 565, 1055, 422, 371, 372,
- 578, 580, 580, 562, 381, 381, 381, 381, 926, 371,
- 372, 397, 398, 585, 381, 381, 381, 381, 586, 562,
- 781, 422, 422, 422, 422, 576, 422, 422, 422, 422,
- 422, 422, 422, 422, 422, 422, 422, 422, 1054, 422,
- 422, 576, 371, 372, 1053, 441, 422, 422, 422, 394,
- 371, 395, 394, 1052, 371, 372, 397, 400, 579, 579,
- 579, 579, 422, 371, 372, 581, 1051, 581, 442, 576,
-
- 582, 582, 582, 582, 394, 371, 395, 394, 983, 583,
- 583, 583, 391, 397, 404, 576, 422, 422, 540, 540,
- 540, 540, 401, 397, 404, 397, 398, 540, 540, 540,
- 397, 400, 401, 1050, 401, 784, 397, 400, 397, 398,
- 401, 540, 540, 540, 540, 540, 540, 297, 297, 1049,
- 297, 297, 297, 297, 297, 297, 297, 297, 297, 297,
- 297, 297, 1048, 297, 297, 397, 398, 402, 785, 316,
- 297, 297, 297, 402, 397, 398, 397, 398, 608, 608,
- 1047, 407, 407, 407, 407, 591, 297, 595, 1046, 595,
- 594, 594, 596, 596, 596, 596, 397, 398, 477, 477,
-
- 599, 420, 397, 421, 420, 600, 420, 397, 421, 420,
- 297, 297, 297, 297, 1045, 297, 297, 297, 543, 297,
- 297, 297, 297, 297, 297, 297, 297, 297, 297, 297,
- 297, 297, 297, 297, 297, 297, 297, 297, 544, 544,
- 544, 544, 544, 544, 544, 544, 544, 544, 544, 544,
- 544, 297, 544, 544, 544, 544, 544, 544, 544, 544,
- 544, 544, 544, 544, 544, 544, 544, 544, 544, 544,
- 544, 544, 544, 544, 544, 297, 297, 297, 297, 1044,
- 297, 297, 297, 297, 297, 297, 297, 297, 297, 297,
- 297, 297, 978, 297, 297, 397, 398, 340, 650, 316,
-
- 297, 297, 297, 397, 398, 979, 651, 397, 398, 652,
- 340, 407, 407, 407, 407, 1043, 297, 430, 430, 430,
- 430, 1042, 590, 597, 597, 597, 536, 536, 430, 430,
- 430, 430, 611, 611, 611, 545, 264, 265, 590, 604,
- 297, 297, 558, 558, 558, 558, 443, 1041, 443, 443,
- 592, 558, 558, 558, 609, 604, 609, 554, 554, 610,
- 610, 610, 610, 608, 608, 558, 558, 558, 558, 558,
- 558, 325, 325, 325, 325, 325, 325, 1040, 325, 325,
- 325, 325, 325, 325, 325, 325, 1018, 325, 325, 397,
- 398, 1039, 683, 341, 325, 325, 325, 246, 433, 1038,
-
- 429, 429, 429, 429, 292, 593, 593, 593, 593, 1037,
- 325, 435, 480, 480, 480, 436, 590, 444, 1036, 444,
- 444, 445, 445, 445, 445, 838, 839, 435, 446, 446,
- 446, 446, 590, 1035, 325, 325, 325, 325, 325, 325,
- 325, 325, 507, 325, 325, 325, 325, 325, 325, 325,
- 325, 325, 325, 325, 325, 325, 325, 325, 325, 325,
- 325, 325, 560, 560, 560, 560, 560, 560, 560, 560,
- 560, 560, 560, 560, 560, 325, 560, 560, 560, 560,
- 560, 560, 560, 560, 560, 560, 560, 560, 560, 560,
- 560, 560, 560, 560, 560, 560, 560, 560, 560, 325,
-
- 325, 325, 325, 325, 325, 325, 325, 1034, 325, 325,
- 325, 325, 325, 325, 325, 325, 1033, 325, 325, 607,
- 607, 607, 607, 341, 325, 325, 325, 539, 539, 539,
- 604, 447, 447, 447, 447, 448, 448, 448, 448, 984,
- 325, 985, 618, 417, 618, 417, 604, 619, 619, 619,
- 619, 476, 476, 476, 476, 479, 479, 479, 479, 561,
- 850, 851, 449, 1032, 325, 325, 345, 346, 479, 479,
- 479, 479, 245, 1017, 245, 557, 557, 557, 449, 246,
- 358, 246, 354, 354, 354, 354, 248, 245, 248, 245,
- 668, 245, 245, 360, 246, 246, 246, 361, 246, 246,
-
- 245, 248, 292, 248, 1016, 248, 248, 246, 245, 360,
- 345, 346, 325, 246, 248, 246, 670, 345, 346, 677,
- 292, 716, 248, 669, 345, 346, 570, 570, 570, 570,
- 921, 678, 245, 566, 566, 570, 570, 570, 679, 246,
- 345, 346, 680, 673, 689, 682, 248, 1021, 690, 570,
- 570, 570, 570, 570, 570, 344, 344, 345, 346, 344,
- 344, 344, 344, 344, 344, 344, 344, 344, 344, 344,
- 1015, 344, 344, 681, 724, 1014, 674, 366, 344, 344,
- 344, 524, 524, 524, 524, 523, 538, 538, 538, 538,
- 691, 1013, 691, 315, 344, 692, 692, 692, 692, 538,
-
- 538, 538, 538, 711, 1012, 711, 345, 726, 712, 712,
- 712, 712, 556, 556, 556, 556, 345, 346, 344, 344,
- 344, 344, 345, 346, 344, 344, 573, 344, 344, 344,
- 344, 344, 344, 344, 344, 344, 344, 344, 344, 344,
- 344, 344, 344, 344, 344, 344, 574, 574, 574, 574,
- 574, 574, 574, 574, 574, 574, 574, 574, 574, 344,
- 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
- 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
- 574, 574, 574, 344, 344, 344, 344, 345, 346, 344,
- 344, 344, 344, 344, 344, 344, 344, 344, 344, 344,
-
- 696, 344, 344, 535, 535, 535, 535, 366, 344, 344,
- 344, 345, 346, 1011, 532, 553, 553, 553, 553, 556,
- 556, 556, 556, 986, 344, 700, 550, 440, 345, 346,
- 532, 345, 730, 697, 371, 372, 345, 346, 1010, 721,
- 727, 721, 550, 575, 722, 722, 722, 722, 344, 344,
- 371, 372, 565, 565, 565, 565, 345, 346, 701, 723,
- 611, 611, 611, 562, 384, 1009, 380, 380, 380, 380,
- 345, 346, 568, 568, 568, 568, 987, 386, 245, 562,
- 440, 387, 345, 346, 742, 246, 568, 568, 568, 568,
- 371, 372, 248, 386, 371, 372, 371, 748, 569, 569,
-
- 569, 739, 1020, 739, 1058, 745, 740, 740, 740, 740,
- 584, 584, 584, 584, 371, 372, 397, 398, 1008, 584,
- 584, 584, 345, 726, 371, 372, 727, 780, 345, 732,
- 580, 580, 733, 584, 584, 584, 584, 584, 584, 370,
- 370, 371, 372, 370, 370, 370, 370, 370, 370, 370,
- 370, 370, 370, 370, 1026, 370, 370, 371, 372, 728,
- 781, 392, 370, 370, 370, 734, 760, 345, 732, 371,
- 372, 1007, 741, 579, 579, 579, 579, 1006, 370, 371,
- 372, 397, 766, 1005, 576, 582, 582, 582, 582, 1004,
- 763, 610, 610, 610, 610, 582, 582, 582, 582, 391,
-
- 576, 1003, 370, 370, 370, 370, 371, 372, 370, 370,
- 587, 370, 370, 370, 370, 370, 370, 370, 370, 370,
- 370, 370, 370, 370, 370, 370, 370, 370, 370, 370,
- 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
- 588, 588, 588, 370, 588, 588, 588, 588, 588, 588,
- 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
- 588, 588, 588, 588, 588, 588, 588, 370, 370, 370,
- 370, 371, 372, 370, 370, 370, 370, 370, 370, 370,
- 370, 370, 370, 370, 1002, 370, 370, 371, 372, 397,
- 398, 392, 370, 370, 370, 1027, 345, 346, 397, 398,
-
- 573, 397, 398, 583, 583, 583, 371, 744, 370, 784,
- 745, 1001, 371, 750, 594, 594, 751, 596, 596, 596,
- 596, 397, 762, 246, 245, 763, 1000, 589, 397, 398,
- 292, 246, 370, 370, 397, 398, 999, 759, 248, 757,
- 391, 757, 785, 746, 758, 758, 758, 758, 410, 752,
- 406, 406, 406, 406, 998, 397, 398, 844, 764, 997,
- 325, 412, 397, 768, 670, 413, 769, 397, 398, 716,
- 996, 593, 593, 593, 593, 397, 398, 412, 397, 398,
- 371, 372, 590, 596, 596, 596, 596, 610, 610, 610,
- 610, 597, 597, 597, 598, 598, 598, 598, 590, 770,
-
- 371, 744, 245, 598, 598, 598, 775, 440, 775, 246,
- 936, 776, 776, 776, 776, 1022, 248, 598, 598, 598,
- 598, 598, 598, 396, 396, 397, 398, 396, 396, 396,
- 396, 396, 396, 396, 396, 396, 396, 396, 995, 396,
- 396, 607, 607, 607, 607, 418, 396, 396, 396, 371,
- 372, 837, 604, 619, 619, 619, 619, 619, 619, 619,
- 619, 340, 396, 692, 692, 692, 692, 994, 604, 692,
- 692, 692, 692, 712, 712, 712, 712, 712, 712, 712,
- 712, 371, 750, 397, 398, 993, 396, 396, 396, 396,
- 397, 398, 396, 396, 601, 396, 396, 396, 396, 396,
-
- 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
- 396, 396, 396, 396, 602, 602, 602, 602, 602, 602,
- 602, 602, 602, 602, 602, 602, 602, 396, 602, 602,
- 602, 602, 602, 602, 602, 602, 602, 602, 602, 602,
- 602, 602, 602, 602, 602, 602, 602, 602, 602, 602,
- 602, 396, 396, 396, 396, 397, 398, 396, 396, 396,
- 396, 396, 396, 396, 396, 396, 396, 396, 992, 396,
- 396, 988, 245, 245, 968, 418, 396, 396, 396, 246,
- 246, 245, 345, 346, 397, 762, 248, 248, 246, 246,
- 345, 346, 396, 345, 346, 248, 292, 967, 722, 722,
-
- 722, 722, 966, 345, 730, 965, 722, 722, 722, 722,
- 964, 603, 727, 834, 835, 963, 396, 396, 612, 612,
- 612, 612, 1022, 845, 1057, 836, 962, 612, 612, 612,
- 345, 346, 961, 371, 372, 960, 860, 587, 959, 371,
- 372, 612, 612, 612, 612, 612, 612, 422, 422, 958,
- 422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
- 422, 422, 1028, 422, 422, 345, 730, 397, 398, 441,
- 422, 422, 422, 861, 727, 371, 372, 345, 726, 371,
- 372, 727, 864, 397, 768, 957, 422, 397, 398, 838,
- 265, 740, 740, 740, 740, 740, 740, 740, 740, 371,
-
- 748, 345, 346, 758, 758, 758, 758, 417, 745, 956,
- 422, 422, 422, 422, 728, 422, 422, 422, 615, 422,
- 422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
- 422, 422, 422, 422, 422, 422, 422, 422, 616, 616,
- 616, 616, 616, 616, 616, 616, 616, 616, 616, 616,
- 616, 422, 616, 616, 616, 616, 616, 616, 616, 616,
- 616, 616, 616, 616, 616, 616, 616, 616, 616, 616,
- 616, 616, 616, 616, 616, 422, 422, 422, 422, 955,
- 422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
- 422, 422, 1029, 422, 422, 371, 372, 371, 748, 441,
-
- 422, 422, 422, 1023, 397, 398, 745, 397, 398, 345,
- 726, 345, 732, 727, 954, 733, 422, 345, 732, 371,
- 744, 733, 953, 745, 371, 744, 371, 750, 745, 1030,
- 751, 1062, 397, 398, 952, 617, 601, 417, 865, 951,
- 422, 422, 540, 540, 540, 540, 728, 868, 734, 340,
- 869, 540, 540, 540, 734, 246, 746, 776, 776, 776,
- 776, 746, 292, 752, 950, 540, 540, 540, 540, 540,
- 540, 297, 297, 949, 297, 297, 297, 297, 297, 297,
- 297, 297, 297, 297, 297, 297, 948, 297, 297, 947,
- 397, 398, 922, 703, 297, 297, 297, 776, 776, 776,
-
- 776, 371, 750, 397, 766, 751, 758, 758, 758, 758,
- 297, 946, 763, 397, 766, 345, 346, 365, 929, 371,
- 372, 945, 763, 371, 372, 391, 931, 397, 398, 397,
- 398, 417, 933, 944, 297, 297, 297, 297, 752, 297,
- 297, 297, 297, 297, 297, 297, 297, 297, 297, 297,
- 297, 315, 297, 297, 315, 315, 315, 315, 316, 297,
- 297, 297, 315, 315, 315, 315, 315, 315, 315, 315,
- 315, 315, 315, 315, 315, 297, 315, 315, 315, 315,
- 315, 315, 704, 315, 315, 315, 705, 315, 315, 315,
- 315, 315, 315, 315, 315, 315, 315, 315, 315, 297,
-
- 297, 558, 558, 558, 558, 440, 935, 943, 245, 942,
- 558, 558, 558, 397, 762, 246, 941, 763, 940, 397,
- 762, 939, 248, 763, 558, 558, 558, 558, 558, 558,
- 325, 325, 325, 325, 325, 325, 938, 325, 325, 325,
- 325, 325, 325, 325, 325, 1030, 325, 325, 345, 346,
- 764, 246, 718, 325, 325, 325, 764, 919, 292, 245,
- 245, 1019, 937, 989, 397, 768, 246, 246, 769, 325,
- 371, 372, 246, 248, 248, 971, 990, 971, 971, 292,
- 850, 972, 991, 971, 920, 971, 971, 345, 346, 1024,
- 440, 1059, 915, 325, 325, 325, 325, 325, 325, 325,
-
- 325, 770, 325, 325, 325, 325, 325, 325, 325, 325,
- 340, 325, 325, 340, 340, 340, 340, 341, 325, 325,
- 325, 340, 340, 340, 340, 340, 340, 340, 340, 340,
- 340, 340, 340, 340, 325, 340, 340, 340, 340, 340,
- 340, 719, 340, 340, 340, 720, 340, 340, 340, 340,
- 340, 340, 340, 340, 340, 340, 340, 340, 325, 325,
- 345, 346, 1018, 246, 1019, 914, 245, 913, 245, 912,
- 292, 397, 398, 246, 911, 246, 570, 570, 570, 570,
- 248, 910, 248, 245, 245, 570, 570, 570, 397, 768,
- 246, 246, 769, 973, 1031, 909, 908, 248, 248, 570,
-
- 570, 570, 570, 570, 570, 344, 344, 345, 346, 344,
- 344, 344, 344, 344, 344, 344, 344, 344, 344, 344,
- 969, 344, 344, 907, 245, 770, 916, 736, 344, 344,
- 344, 246, 345, 346, 1025, 371, 372, 1027, 248, 440,
- 906, 371, 372, 1026, 344, 1060, 397, 398, 1028, 905,
- 1061, 397, 398, 1029, 904, 903, 902, 901, 900, 899,
- 898, 894, 893, 918, 892, 891, 890, 889, 344, 344,
- 344, 344, 345, 346, 344, 344, 344, 344, 344, 344,
- 344, 344, 344, 344, 344, 365, 344, 344, 365, 365,
- 365, 365, 366, 344, 344, 344, 365, 365, 365, 365,
-
- 365, 365, 365, 365, 365, 365, 365, 365, 365, 344,
- 365, 365, 365, 365, 365, 365, 737, 365, 365, 365,
- 738, 365, 365, 365, 365, 365, 365, 365, 365, 365,
- 365, 365, 365, 344, 344, 371, 372, 888, 887, 886,
- 885, 884, 883, 882, 878, 877, 876, 875, 615, 780,
- 873, 584, 584, 584, 584, 872, 245, 871, 245, 867,
- 584, 584, 584, 246, 863, 246, 859, 507, 857, 856,
- 248, 853, 248, 852, 584, 584, 584, 584, 584, 584,
- 370, 370, 371, 372, 370, 370, 370, 370, 370, 370,
- 370, 370, 370, 370, 370, 970, 370, 370, 849, 543,
-
- 917, 696, 754, 370, 370, 370, 847, 846, 843, 842,
- 841, 840, 507, 676, 668, 833, 832, 831, 830, 370,
- 829, 828, 825, 824, 823, 822, 821, 820, 819, 818,
- 817, 816, 815, 814, 813, 812, 811, 810, 809, 808,
- 807, 806, 805, 370, 370, 370, 370, 371, 372, 370,
- 370, 370, 370, 370, 370, 370, 370, 370, 370, 370,
- 391, 370, 370, 391, 391, 391, 391, 392, 370, 370,
- 370, 391, 391, 391, 391, 391, 391, 391, 391, 391,
- 391, 391, 391, 391, 370, 391, 391, 391, 391, 391,
- 391, 755, 391, 391, 391, 756, 391, 391, 391, 391,
-
- 391, 391, 391, 391, 391, 391, 391, 391, 370, 370,
- 397, 398, 804, 803, 802, 801, 800, 799, 798, 797,
- 796, 795, 794, 793, 792, 791, 598, 598, 598, 598,
- 790, 780, 778, 777, 714, 598, 598, 598, 713, 708,
- 707, 706, 696, 694, 693, 688, 687, 686, 685, 598,
- 598, 598, 598, 598, 598, 396, 396, 397, 398, 396,
- 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
- 523, 396, 396, 650, 633, 629, 676, 772, 396, 396,
- 396, 671, 668, 666, 665, 664, 663, 662, 661, 660,
- 659, 658, 657, 656, 396, 655, 654, 653, 649, 648,
-
- 647, 646, 645, 644, 643, 642, 641, 640, 639, 638,
- 637, 636, 635, 632, 631, 628, 627, 626, 396, 396,
- 396, 396, 397, 398, 396, 396, 396, 396, 396, 396,
- 396, 396, 396, 396, 396, 417, 396, 396, 417, 417,
- 417, 417, 418, 396, 396, 396, 417, 417, 417, 417,
- 417, 417, 417, 417, 417, 417, 417, 417, 417, 396,
- 417, 417, 417, 417, 417, 417, 773, 417, 417, 417,
- 774, 417, 417, 417, 417, 417, 417, 417, 417, 417,
- 417, 417, 417, 396, 396, 612, 612, 612, 612, 625,
- 624, 623, 622, 621, 612, 612, 612, 620, 606, 605,
-
- 425, 552, 551, 548, 547, 546, 534, 533, 612, 612,
- 612, 612, 612, 612, 422, 422, 300, 422, 422, 422,
- 422, 422, 422, 422, 422, 422, 422, 422, 422, 507,
- 422, 422, 528, 527, 523, 495, 787, 422, 422, 422,
- 493, 469, 466, 464, 519, 455, 507, 292, 506, 500,
- 499, 496, 484, 422, 483, 482, 475, 474, 473, 470,
- 460, 457, 456, 453, 452, 451, 183, 439, 425, 423,
- 339, 292, 319, 314, 300, 298, 279, 422, 422, 422,
- 422, 183, 422, 422, 422, 422, 422, 422, 422, 422,
- 422, 422, 422, 422, 440, 422, 422, 440, 440, 440,
-
- 440, 441, 422, 422, 422, 440, 440, 440, 440, 440,
- 440, 440, 440, 440, 440, 440, 440, 440, 422, 440,
- 440, 440, 440, 440, 440, 788, 440, 440, 440, 789,
- 440, 440, 440, 440, 440, 440, 440, 440, 440, 440,
- 440, 440, 422, 422, 297, 297, 279, 297, 297, 297,
- 297, 297, 297, 297, 297, 297, 297, 297, 297, 183,
- 297, 297, 190, 181, 1094, 1094, 703, 297, 297, 297,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 297, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
-
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 297, 297, 297,
- 297, 1094, 297, 297, 297, 297, 297, 297, 297, 297,
- 297, 297, 297, 297, 315, 297, 297, 315, 315, 315,
- 315, 316, 297, 297, 297, 315, 315, 315, 315, 315,
- 315, 315, 315, 315, 315, 315, 315, 315, 297, 315,
- 315, 315, 315, 315, 315, 315, 315, 315, 848, 315,
- 315, 315, 315, 315, 315, 315, 315, 315, 315, 315,
- 315, 315, 297, 297, 325, 325, 325, 325, 325, 325,
- 1094, 325, 325, 325, 325, 325, 325, 325, 325, 1094,
- 325, 325, 1094, 1094, 1094, 1094, 718, 325, 325, 325,
-
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 325, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 325, 325, 325,
- 325, 325, 325, 325, 325, 1094, 325, 325, 325, 325,
- 325, 325, 325, 325, 340, 325, 325, 340, 340, 340,
- 340, 341, 325, 325, 325, 340, 340, 340, 340, 340,
- 340, 340, 340, 340, 340, 340, 340, 340, 325, 340,
- 340, 340, 340, 340, 340, 340, 340, 340, 858, 340,
- 340, 340, 340, 340, 340, 340, 340, 340, 340, 340,
-
- 340, 340, 325, 325, 344, 344, 345, 346, 344, 344,
- 344, 344, 344, 344, 344, 344, 344, 344, 344, 1094,
- 344, 344, 1094, 1094, 1094, 1094, 736, 344, 344, 344,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 344, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 344, 344, 344,
- 344, 345, 346, 344, 344, 344, 344, 344, 344, 344,
- 344, 344, 344, 344, 365, 344, 344, 365, 365, 365,
- 365, 366, 344, 344, 344, 365, 365, 365, 365, 365,
-
- 365, 365, 365, 365, 365, 365, 365, 365, 344, 365,
- 365, 365, 365, 365, 365, 365, 365, 365, 862, 365,
- 365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
- 365, 365, 344, 344, 370, 370, 371, 372, 370, 370,
- 370, 370, 370, 370, 370, 370, 370, 370, 370, 1094,
- 370, 370, 1094, 1094, 1094, 1094, 754, 370, 370, 370,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 370, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 370, 370, 370,
-
- 370, 371, 372, 370, 370, 370, 370, 370, 370, 370,
- 370, 370, 370, 370, 391, 370, 370, 391, 391, 391,
- 391, 392, 370, 370, 370, 391, 391, 391, 391, 391,
- 391, 391, 391, 391, 391, 391, 391, 391, 370, 391,
- 391, 391, 391, 391, 391, 391, 391, 391, 866, 391,
+ 216, 217, 202, 202, 202, 218, 221, 244, 197, 197,
+ 197, 197, 183, 244, 245, 244, 244, 259, 222, 223,
+ 245, 247, 245, 245, 459, 224, 460, 247, 225, 247,
+ 247, 461, 222, 462, 221, 223, 197, 197, 197, 197,
+
+ 263, 264, 244, 224, 626, 184, 627, 223, 447, 245,
+ 253, 225, 248, 248, 248, 248, 247, 260, 249, 256,
+ 448, 323, 1081, 223, 226, 193, 227, 252, 1080, 228,
+ 325, 244, 229, 230, 231, 232, 233, 234, 245, 244,
+ 235, 267, 236, 237, 1079, 247, 245, 261, 291, 261,
+ 261, 263, 264, 247, 244, 261, 180, 261, 261, 1078,
+ 245, 245, 179, 268, 180, 268, 268, 291, 247, 250,
+ 179, 342, 343, 265, 266, 251, 254, 196, 919, 197,
+ 197, 197, 197, 263, 264, 279, 226, 279, 279, 255,
+ 293, 254, 267, 1087, 275, 230, 231, 276, 277, 234,
+
+ 279, 180, 279, 279, 819, 237, 280, 281, 282, 280,
+ 419, 202, 269, 820, 202, 183, 202, 1077, 270, 271,
+ 272, 273, 480, 274, 267, 202, 202, 202, 342, 349,
+ 481, 202, 280, 281, 282, 280, 284, 346, 284, 285,
+ 284, 284, 196, 420, 197, 197, 197, 197, 184, 200,
+ 200, 200, 200, 221, 1076, 197, 197, 197, 197, 294,
+ 281, 295, 294, 622, 245, 291, 223, 292, 292, 292,
+ 292, 291, 294, 281, 295, 294, 287, 288, 367, 368,
+ 623, 289, 223, 302, 1075, 303, 303, 303, 303, 304,
+ 304, 304, 304, 918, 316, 296, 316, 316, 316, 297,
+
+ 316, 316, 296, 487, 322, 296, 322, 322, 488, 296,
+ 200, 200, 200, 200, 367, 368, 340, 305, 340, 340,
+ 296, 306, 307, 1074, 303, 303, 303, 303, 296, 320,
+ 320, 320, 320, 323, 308, 309, 342, 343, 318, 1073,
+ 323, 310, 319, 323, 311, 392, 393, 323, 308, 1072,
+ 326, 309, 327, 327, 327, 327, 464, 360, 323, 310,
+ 364, 342, 365, 364, 392, 393, 323, 311, 296, 296,
+ 465, 296, 296, 296, 296, 296, 296, 296, 296, 296,
+ 296, 296, 296, 291, 296, 296, 328, 328, 328, 328,
+ 314, 296, 296, 296, 313, 221, 917, 320, 320, 320,
+
+ 320, 367, 374, 342, 343, 454, 969, 296, 223, 455,
+ 371, 342, 345, 456, 329, 346, 245, 350, 330, 351,
+ 351, 351, 351, 291, 223, 364, 342, 365, 364, 470,
+ 470, 296, 296, 296, 296, 291, 296, 296, 296, 296,
+ 296, 296, 296, 296, 296, 296, 296, 296, 347, 296,
+ 296, 342, 343, 367, 368, 314, 296, 296, 296, 389,
+ 367, 390, 389, 389, 367, 390, 389, 352, 352, 352,
+ 352, 542, 296, 337, 385, 921, 367, 370, 315, 341,
+ 371, 392, 395, 392, 399, 396, 341, 478, 479, 341,
+ 367, 368, 396, 341, 1071, 353, 296, 296, 331, 354,
+
+ 327, 327, 327, 327, 341, 1017, 377, 377, 377, 377,
+ 332, 333, 341, 372, 367, 368, 361, 334, 397, 923,
+ 335, 392, 393, 436, 332, 436, 436, 333, 375, 299,
+ 376, 376, 376, 376, 378, 334, 494, 437, 379, 437,
+ 437, 495, 410, 335, 323, 323, 323, 323, 323, 323,
+ 361, 323, 323, 323, 323, 323, 323, 323, 323, 1070,
+ 323, 323, 300, 366, 497, 498, 338, 323, 323, 323,
+ 366, 244, 391, 366, 1069, 392, 393, 366, 245, 391,
+ 263, 264, 391, 323, 1068, 247, 391, 522, 366, 400,
+ 1067, 401, 401, 401, 401, 523, 366, 391, 414, 392,
+
+ 415, 414, 473, 473, 473, 391, 1011, 323, 323, 323,
+ 323, 323, 323, 323, 323, 291, 323, 323, 323, 323,
+ 323, 323, 323, 323, 291, 323, 323, 414, 392, 415,
+ 414, 338, 323, 323, 323, 424, 424, 424, 424, 392,
+ 393, 422, 847, 423, 423, 423, 423, 482, 323, 263,
+ 264, 483, 416, 419, 339, 402, 402, 402, 402, 416,
+ 263, 264, 416, 425, 1018, 484, 416, 426, 436, 417,
+ 436, 436, 323, 323, 342, 343, 454, 416, 1019, 178,
+ 455, 178, 178, 403, 513, 416, 420, 404, 355, 1066,
+ 351, 351, 351, 351, 179, 438, 438, 438, 438, 661,
+
+ 356, 357, 439, 439, 439, 439, 494, 358, 244, 361,
+ 359, 495, 263, 264, 356, 245, 666, 357, 440, 440,
+ 440, 440, 247, 386, 496, 358, 441, 441, 441, 441,
+ 263, 264, 662, 359, 341, 341, 342, 343, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 667,
+ 341, 341, 200, 200, 200, 200, 362, 341, 341, 341,
+ 1011, 221, 1050, 197, 197, 197, 197, 200, 200, 200,
+ 200, 478, 514, 341, 223, 471, 1065, 471, 442, 244,
+ 472, 472, 472, 472, 529, 529, 245, 511, 1064, 268,
+ 223, 268, 268, 247, 442, 547, 547, 341, 341, 341,
+
+ 341, 342, 343, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 291, 341, 341, 261, 1063, 261,
+ 261, 362, 341, 341, 341, 469, 469, 469, 469, 503,
+ 1062, 279, 179, 279, 279, 244, 442, 970, 341, 532,
+ 532, 532, 245, 244, 363, 502, 502, 502, 502, 247,
+ 245, 245, 442, 244, 244, 342, 343, 247, 291, 244,
+ 245, 245, 341, 341, 367, 368, 245, 247, 247, 534,
+ 244, 494, 244, 247, 535, 689, 552, 245, 380, 245,
+ 376, 376, 376, 376, 247, 316, 247, 316, 316, 507,
+ 381, 382, 1061, 504, 524, 505, 506, 383, 1060, 322,
+
+ 384, 322, 322, 340, 381, 340, 340, 382, 690, 508,
+ 280, 281, 282, 280, 510, 383, 342, 343, 509, 280,
+ 281, 282, 280, 384, 366, 366, 367, 368, 366, 366,
+ 366, 366, 366, 366, 366, 366, 366, 366, 366, 1059,
+ 366, 366, 294, 281, 295, 294, 387, 366, 366, 366,
+ 517, 517, 517, 517, 516, 245, 342, 343, 292, 292,
+ 292, 292, 291, 366, 294, 281, 295, 294, 304, 304,
+ 304, 304, 530, 1058, 530, 342, 345, 531, 531, 531,
+ 531, 328, 328, 328, 328, 342, 343, 366, 366, 366,
+ 366, 367, 368, 366, 366, 366, 366, 366, 366, 366,
+
+ 366, 366, 366, 366, 291, 366, 366, 550, 550, 550,
+ 606, 387, 366, 366, 366, 607, 307, 1057, 303, 303,
+ 303, 303, 304, 304, 304, 304, 342, 345, 366, 309,
+ 346, 848, 556, 525, 388, 528, 528, 528, 528, 323,
+ 342, 345, 967, 193, 346, 309, 525, 313, 325, 525,
+ 367, 368, 366, 366, 392, 393, 221, 1056, 320, 320,
+ 320, 320, 525, 347, 328, 328, 328, 328, 405, 223,
+ 401, 401, 401, 401, 1013, 543, 1051, 347, 367, 368,
+ 406, 407, 973, 342, 349, 223, 361, 408, 342, 343,
+ 409, 543, 346, 548, 406, 548, 693, 407, 549, 549,
+
+ 549, 549, 342, 349, 1024, 408, 364, 342, 365, 364,
+ 1016, 346, 1020, 409, 391, 391, 392, 393, 391, 391,
+ 391, 391, 391, 391, 391, 391, 391, 391, 391, 694,
+ 391, 391, 367, 368, 1014, 557, 412, 391, 391, 391,
+ 1015, 331, 1050, 327, 327, 327, 327, 546, 546, 546,
+ 546, 342, 343, 391, 333, 342, 343, 386, 543, 1012,
+ 342, 343, 367, 370, 564, 1049, 371, 559, 559, 565,
+ 333, 562, 562, 562, 543, 367, 370, 391, 391, 391,
+ 391, 392, 393, 391, 391, 391, 391, 391, 391, 391,
+ 391, 391, 391, 391, 1048, 391, 391, 342, 343, 372,
+
+ 773, 412, 391, 391, 391, 364, 342, 365, 364, 342,
+ 343, 367, 374, 352, 352, 352, 352, 291, 391, 1047,
+ 371, 342, 343, 355, 413, 351, 351, 351, 351, 392,
+ 393, 974, 560, 774, 560, 361, 357, 561, 561, 561,
+ 561, 702, 391, 391, 427, 703, 423, 423, 423, 423,
+ 367, 370, 357, 777, 371, 661, 428, 429, 367, 374,
+ 367, 368, 1012, 430, 367, 368, 431, 371, 367, 368,
+ 428, 367, 368, 429, 392, 393, 377, 377, 377, 377,
+ 291, 430, 392, 393, 573, 573, 778, 372, 662, 431,
+ 416, 416, 1046, 416, 416, 416, 416, 416, 416, 416,
+
+ 416, 416, 416, 416, 416, 968, 416, 416, 342, 343,
+ 313, 570, 434, 416, 416, 416, 392, 395, 571, 367,
+ 368, 367, 368, 578, 352, 352, 352, 352, 579, 416,
+ 342, 343, 574, 386, 574, 555, 925, 575, 575, 575,
+ 575, 389, 367, 390, 389, 971, 558, 558, 558, 558,
+ 337, 555, 666, 416, 416, 416, 416, 555, 416, 416,
+ 416, 416, 416, 416, 416, 416, 416, 416, 416, 416,
+ 1045, 416, 416, 555, 367, 368, 1044, 434, 416, 416,
+ 416, 389, 367, 390, 389, 667, 367, 368, 380, 1043,
+ 376, 376, 376, 376, 416, 392, 395, 367, 368, 396,
+
+ 435, 382, 576, 576, 576, 392, 395, 601, 601, 396,
+ 604, 604, 604, 377, 377, 377, 377, 382, 416, 416,
+ 533, 533, 533, 533, 569, 392, 399, 392, 399, 533,
+ 533, 533, 397, 1042, 396, 436, 396, 436, 436, 1041,
+ 569, 1013, 397, 533, 533, 533, 533, 533, 533, 296,
+ 296, 1040, 296, 296, 296, 296, 296, 296, 296, 296,
+ 296, 296, 296, 296, 1021, 296, 296, 367, 368, 392,
+ 393, 314, 296, 296, 296, 392, 393, 470, 470, 392,
+ 393, 529, 529, 572, 572, 572, 572, 313, 296, 392,
+ 393, 587, 587, 1039, 569, 402, 402, 402, 402, 1038,
+
+ 588, 437, 588, 437, 437, 589, 589, 589, 589, 411,
+ 569, 1037, 296, 296, 296, 296, 584, 296, 296, 296,
+ 536, 296, 296, 296, 296, 296, 296, 296, 296, 296,
+ 296, 296, 296, 296, 296, 296, 296, 296, 296, 296,
+ 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
+ 537, 537, 537, 296, 537, 537, 537, 537, 537, 537,
+ 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
+ 537, 537, 537, 537, 537, 537, 537, 296, 296, 296,
+ 296, 1036, 296, 296, 296, 296, 296, 296, 296, 296,
+ 296, 296, 296, 296, 1035, 296, 296, 392, 393, 689,
+
+ 245, 314, 296, 296, 296, 392, 393, 291, 323, 392,
+ 393, 405, 663, 401, 401, 401, 401, 709, 296, 392,
+ 393, 590, 590, 590, 407, 402, 402, 402, 402, 392,
+ 393, 682, 690, 592, 972, 683, 583, 538, 593, 337,
+ 407, 1034, 296, 296, 551, 551, 551, 551, 414, 392,
+ 415, 414, 583, 551, 551, 551, 414, 392, 415, 414,
+ 424, 424, 424, 424, 547, 547, 585, 551, 551, 551,
+ 551, 551, 551, 323, 323, 323, 323, 323, 323, 1033,
+ 323, 323, 323, 323, 323, 323, 323, 323, 1011, 323,
+ 323, 392, 393, 601, 601, 338, 323, 323, 323, 245,
+
+ 427, 1032, 423, 423, 423, 423, 291, 586, 586, 586,
+ 586, 975, 323, 429, 602, 386, 602, 1031, 583, 603,
+ 603, 603, 603, 438, 438, 438, 438, 831, 832, 429,
+ 439, 439, 439, 439, 583, 1030, 323, 323, 323, 323,
+ 323, 323, 323, 323, 500, 323, 323, 323, 323, 323,
+ 323, 323, 323, 323, 323, 323, 323, 323, 323, 323,
+ 323, 323, 323, 323, 553, 553, 553, 553, 553, 553,
+ 553, 553, 553, 553, 553, 553, 553, 323, 553, 553,
+ 553, 553, 553, 553, 553, 553, 553, 553, 553, 553,
+ 553, 553, 553, 553, 553, 553, 553, 553, 553, 553,
+
+ 553, 323, 323, 323, 323, 323, 323, 323, 323, 1029,
+ 323, 323, 323, 323, 323, 323, 323, 323, 1028, 323,
+ 323, 424, 424, 424, 424, 338, 323, 323, 323, 473,
+ 473, 473, 597, 600, 600, 600, 600, 440, 440, 440,
+ 440, 1027, 323, 976, 597, 263, 264, 386, 597, 441,
+ 441, 441, 441, 472, 472, 472, 472, 611, 1026, 611,
+ 597, 554, 612, 612, 612, 612, 323, 323, 342, 343,
+ 469, 469, 469, 469, 472, 472, 472, 472, 342, 343,
+ 643, 442, 244, 1025, 563, 563, 563, 563, 644, 245,
+ 1010, 645, 244, 563, 563, 563, 247, 442, 693, 245,
+
+ 1009, 676, 531, 531, 531, 531, 247, 563, 563, 563,
+ 563, 563, 563, 341, 341, 342, 343, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 717, 341,
+ 341, 694, 244, 244, 244, 362, 341, 341, 341, 245,
+ 245, 245, 531, 531, 531, 531, 247, 247, 247, 532,
+ 532, 532, 341, 517, 517, 517, 517, 516, 684, 1008,
+ 684, 843, 844, 685, 685, 685, 685, 549, 549, 549,
+ 549, 550, 550, 550, 671, 1007, 341, 341, 341, 341,
+ 342, 343, 341, 341, 566, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+
+ 341, 341, 341, 341, 567, 567, 567, 567, 567, 567,
+ 567, 567, 567, 567, 567, 567, 567, 341, 567, 567,
+ 567, 567, 567, 567, 567, 567, 567, 567, 567, 567,
+ 567, 567, 567, 567, 567, 567, 567, 567, 567, 567,
+ 567, 341, 341, 341, 341, 342, 343, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 1006, 341,
+ 341, 342, 343, 244, 1005, 362, 341, 341, 341, 244,
+ 245, 342, 343, 244, 342, 719, 245, 247, 411, 244,
+ 245, 927, 341, 247, 367, 368, 245, 247, 549, 549,
+ 549, 549, 1022, 247, 528, 528, 528, 528, 392, 393,
+
+ 1023, 568, 1055, 244, 674, 525, 341, 341, 367, 368,
+ 245, 672, 342, 343, 670, 673, 675, 247, 1004, 716,
+ 1003, 525, 342, 723, 577, 577, 577, 577, 559, 559,
+ 1002, 720, 734, 577, 577, 577, 704, 411, 704, 367,
+ 368, 705, 705, 705, 705, 1014, 752, 577, 577, 577,
+ 577, 577, 577, 366, 366, 367, 368, 366, 366, 366,
+ 366, 366, 366, 366, 366, 366, 366, 366, 1001, 366,
+ 366, 546, 546, 546, 546, 387, 366, 366, 366, 604,
+ 604, 604, 543, 342, 343, 1000, 323, 342, 343, 735,
+ 663, 313, 366, 977, 714, 709, 714, 411, 543, 715,
+
+ 715, 715, 715, 561, 561, 561, 561, 768, 999, 768,
+ 342, 343, 769, 769, 769, 769, 366, 366, 366, 366,
+ 367, 368, 366, 366, 580, 366, 366, 366, 366, 366,
+ 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
+ 366, 366, 366, 366, 581, 581, 581, 581, 581, 581,
+ 581, 581, 581, 581, 581, 581, 581, 366, 581, 581,
+ 581, 581, 581, 581, 581, 581, 581, 581, 581, 581,
+ 581, 581, 581, 581, 581, 581, 581, 581, 581, 581,
+ 581, 366, 366, 366, 366, 367, 368, 366, 366, 366,
+ 366, 366, 366, 366, 366, 366, 366, 366, 998, 366,
+
+ 366, 342, 343, 367, 741, 387, 366, 366, 366, 342,
+ 343, 997, 738, 342, 343, 392, 759, 558, 558, 558,
+ 558, 773, 366, 996, 756, 562, 562, 562, 555, 561,
+ 561, 561, 561, 342, 719, 342, 725, 720, 244, 726,
+ 995, 582, 367, 368, 555, 245, 366, 366, 392, 393,
+ 342, 725, 247, 732, 774, 732, 367, 368, 733, 733,
+ 733, 733, 367, 368, 591, 591, 591, 591, 367, 368,
+ 721, 994, 727, 591, 591, 591, 367, 737, 573, 573,
+ 738, 392, 393, 993, 576, 576, 576, 591, 591, 591,
+ 591, 591, 591, 391, 391, 392, 393, 391, 391, 391,
+
+ 391, 391, 391, 391, 391, 391, 391, 391, 1023, 391,
+ 391, 367, 368, 739, 245, 412, 391, 391, 391, 392,
+ 393, 291, 777, 367, 368, 367, 737, 572, 572, 572,
+ 572, 753, 391, 367, 368, 587, 587, 992, 569, 575,
+ 575, 575, 575, 603, 603, 603, 603, 991, 837, 575,
+ 575, 575, 575, 433, 569, 778, 391, 391, 391, 391,
+ 392, 393, 391, 391, 594, 391, 391, 391, 391, 391,
+ 391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
+ 391, 391, 391, 391, 595, 595, 595, 595, 595, 595,
+ 595, 595, 595, 595, 595, 595, 595, 391, 595, 595,
+
+ 595, 595, 595, 595, 595, 595, 595, 595, 595, 595,
+ 595, 595, 595, 595, 595, 595, 595, 595, 595, 595,
+ 595, 391, 391, 391, 391, 392, 393, 391, 391, 391,
+ 391, 391, 391, 391, 391, 391, 391, 391, 990, 391,
+ 391, 603, 603, 603, 603, 412, 391, 391, 391, 989,
+ 392, 393, 367, 368, 988, 367, 743, 392, 393, 744,
+ 987, 750, 391, 750, 367, 743, 751, 751, 751, 751,
+ 342, 723, 986, 586, 586, 586, 586, 392, 393, 720,
+ 985, 596, 392, 393, 583, 981, 391, 391, 605, 605,
+ 605, 605, 745, 589, 589, 589, 589, 605, 605, 605,
+
+ 583, 392, 755, 245, 1015, 756, 612, 612, 612, 612,
+ 291, 605, 605, 605, 605, 605, 605, 416, 416, 961,
+ 416, 416, 416, 416, 416, 416, 416, 416, 416, 416,
+ 416, 416, 1016, 416, 416, 392, 393, 838, 757, 434,
+ 416, 416, 416, 392, 393, 960, 600, 600, 600, 600,
+ 337, 589, 589, 589, 589, 433, 416, 597, 929, 590,
+ 590, 590, 612, 612, 612, 612, 685, 685, 685, 685,
+ 342, 723, 959, 597, 685, 685, 685, 685, 337, 720,
+ 416, 416, 416, 416, 958, 416, 416, 416, 608, 416,
+ 416, 416, 416, 416, 416, 416, 416, 416, 416, 416,
+
+ 416, 416, 416, 416, 416, 416, 416, 416, 609, 609,
+ 609, 609, 609, 609, 609, 609, 609, 609, 609, 609,
+ 609, 416, 609, 609, 609, 609, 609, 609, 609, 609,
+ 609, 609, 609, 609, 609, 609, 609, 609, 609, 609,
+ 609, 609, 609, 609, 609, 416, 416, 416, 416, 957,
+ 416, 416, 416, 416, 416, 416, 416, 416, 416, 416,
+ 416, 416, 956, 416, 416, 392, 755, 244, 244, 434,
+ 416, 416, 416, 955, 245, 245, 392, 393, 244, 392,
+ 761, 247, 247, 762, 244, 245, 416, 705, 705, 705,
+ 705, 245, 247, 705, 705, 705, 705, 954, 247, 342,
+
+ 343, 342, 343, 566, 953, 610, 392, 761, 827, 828,
+ 416, 416, 533, 533, 533, 533, 763, 715, 715, 715,
+ 715, 533, 533, 533, 342, 343, 1024, 830, 829, 342,
+ 343, 769, 769, 769, 769, 533, 533, 533, 533, 533,
+ 533, 296, 296, 952, 296, 296, 296, 296, 296, 296,
+ 296, 296, 296, 296, 296, 296, 951, 296, 296, 342,
+ 343, 367, 741, 696, 296, 296, 296, 853, 367, 368,
+ 738, 433, 854, 367, 368, 715, 715, 715, 715, 978,
+ 296, 831, 264, 411, 733, 733, 733, 733, 950, 733,
+ 733, 733, 733, 367, 741, 367, 368, 392, 393, 580,
+
+ 949, 594, 738, 948, 296, 296, 296, 296, 947, 296,
+ 296, 296, 296, 296, 296, 296, 296, 296, 296, 296,
+ 296, 313, 296, 296, 313, 313, 313, 313, 314, 296,
+ 296, 296, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 296, 313, 313, 313, 313,
+ 313, 313, 697, 313, 313, 313, 698, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 296,
+ 296, 551, 551, 551, 551, 367, 368, 946, 367, 368,
+ 551, 551, 551, 342, 719, 342, 343, 720, 945, 342,
+ 719, 342, 343, 720, 551, 551, 551, 551, 551, 551,
+
+ 323, 323, 323, 323, 323, 323, 944, 323, 323, 323,
+ 323, 323, 323, 323, 323, 888, 323, 323, 857, 943,
+ 721, 858, 711, 323, 323, 323, 721, 392, 393, 979,
+ 889, 392, 393, 433, 342, 725, 890, 942, 726, 323,
+ 361, 922, 941, 751, 751, 751, 751, 751, 751, 751,
+ 751, 392, 759, 392, 759, 769, 769, 769, 769, 940,
+ 756, 939, 756, 323, 323, 323, 323, 323, 323, 323,
+ 323, 727, 323, 323, 323, 323, 323, 323, 323, 323,
+ 337, 323, 323, 337, 337, 337, 337, 338, 323, 323,
+ 323, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+
+ 337, 337, 337, 337, 323, 337, 337, 337, 337, 337,
+ 337, 712, 337, 337, 337, 713, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 323, 323,
+ 342, 343, 245, 367, 368, 367, 368, 386, 924, 291,
+ 392, 393, 392, 393, 411, 926, 563, 563, 563, 563,
+ 392, 393, 938, 392, 393, 563, 563, 563, 342, 725,
+ 433, 928, 726, 937, 367, 737, 936, 914, 738, 563,
+ 563, 563, 563, 563, 563, 341, 341, 342, 343, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 872, 341, 341, 861, 935, 727, 862, 729, 341, 341,
+
+ 341, 739, 980, 873, 244, 244, 433, 982, 934, 874,
+ 933, 245, 245, 964, 341, 964, 964, 1011, 247, 247,
+ 983, 244, 964, 932, 964, 964, 984, 931, 245, 342,
+ 343, 1017, 930, 1052, 843, 247, 342, 343, 341, 341,
+ 341, 341, 342, 343, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 361, 341, 341, 361, 361,
+ 361, 361, 362, 341, 341, 341, 361, 361, 361, 361,
+ 361, 361, 361, 361, 361, 361, 361, 361, 361, 341,
+ 361, 361, 361, 361, 361, 361, 730, 361, 361, 361,
+ 731, 361, 361, 361, 361, 361, 361, 361, 361, 361,
+
+ 361, 361, 361, 341, 341, 367, 368, 913, 245, 1012,
+ 908, 245, 907, 244, 906, 291, 367, 368, 291, 905,
+ 245, 577, 577, 577, 577, 392, 393, 247, 244, 904,
+ 577, 577, 577, 367, 737, 245, 903, 738, 965, 367,
+ 743, 966, 247, 744, 577, 577, 577, 577, 577, 577,
+ 366, 366, 367, 368, 366, 366, 366, 366, 366, 366,
+ 366, 366, 366, 366, 366, 902, 366, 366, 1012, 901,
+ 739, 244, 747, 366, 366, 366, 745, 912, 245, 245,
+ 342, 343, 1018, 900, 899, 247, 291, 898, 897, 366,
+ 367, 368, 1019, 896, 1053, 367, 368, 1020, 392, 393,
+
+ 1021, 895, 1054, 392, 393, 1022, 894, 893, 892, 891,
+ 911, 887, 886, 366, 366, 366, 366, 367, 368, 366,
+ 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
+ 386, 366, 366, 386, 386, 386, 386, 387, 366, 366,
+ 366, 386, 386, 386, 386, 386, 386, 386, 386, 386,
+ 386, 386, 386, 386, 366, 386, 386, 386, 386, 386,
+ 386, 748, 386, 386, 386, 749, 386, 386, 386, 386,
+ 386, 386, 386, 386, 386, 386, 386, 386, 366, 366,
+ 392, 393, 885, 884, 883, 882, 881, 880, 879, 878,
+ 877, 876, 875, 871, 870, 869, 591, 591, 591, 591,
+
+ 868, 608, 773, 245, 866, 591, 591, 591, 367, 743,
+ 291, 865, 744, 864, 392, 755, 860, 856, 756, 591,
+ 591, 591, 591, 591, 591, 391, 391, 392, 393, 391,
391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
- 391, 391, 370, 370, 396, 396, 397, 398, 396, 396,
- 396, 396, 396, 396, 396, 396, 396, 396, 396, 1094,
- 396, 396, 1094, 1094, 1094, 1094, 772, 396, 396, 396,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
-
- 1094, 1094, 1094, 396, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 396, 396, 396,
- 396, 397, 398, 396, 396, 396, 396, 396, 396, 396,
- 396, 396, 396, 396, 417, 396, 396, 417, 417, 417,
- 417, 418, 396, 396, 396, 417, 417, 417, 417, 417,
- 417, 417, 417, 417, 417, 417, 417, 417, 396, 417,
- 417, 417, 417, 417, 417, 417, 417, 417, 870, 417,
- 417, 417, 417, 417, 417, 417, 417, 417, 417, 417,
- 417, 417, 396, 396, 422, 422, 1094, 422, 422, 422,
-
- 422, 422, 422, 422, 422, 422, 422, 422, 422, 1094,
- 422, 422, 1094, 1094, 1094, 1094, 787, 422, 422, 422,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 422, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 422, 422, 422,
- 422, 1094, 422, 422, 422, 422, 422, 422, 422, 422,
- 422, 422, 422, 422, 440, 422, 422, 440, 440, 440,
- 440, 441, 422, 422, 422, 440, 440, 440, 440, 440,
- 440, 440, 440, 440, 440, 440, 440, 440, 422, 440,
-
- 440, 440, 440, 440, 440, 440, 440, 440, 874, 440,
- 440, 440, 440, 440, 440, 440, 440, 440, 440, 440,
- 440, 440, 422, 422, 297, 297, 1094, 297, 297, 297,
- 297, 297, 297, 297, 297, 297, 297, 297, 297, 315,
- 297, 297, 315, 315, 315, 315, 316, 297, 297, 297,
- 315, 315, 315, 315, 315, 315, 315, 315, 315, 315,
- 315, 315, 315, 297, 315, 315, 315, 315, 315, 315,
- 315, 315, 315, 315, 923, 315, 315, 315, 315, 315,
- 315, 315, 315, 315, 315, 315, 315, 297, 297, 325,
- 325, 325, 325, 325, 325, 1094, 325, 325, 325, 325,
-
- 325, 325, 325, 325, 340, 325, 325, 340, 340, 340,
- 340, 341, 325, 325, 325, 340, 340, 340, 340, 340,
- 340, 340, 340, 340, 340, 340, 340, 340, 325, 340,
- 340, 340, 340, 340, 340, 340, 340, 340, 340, 927,
- 340, 340, 340, 340, 340, 340, 340, 340, 340, 340,
- 340, 340, 325, 325, 182, 1094, 182, 182, 182, 182,
- 182, 182, 182, 182, 182, 185, 1094, 1094, 185, 185,
- 193, 1094, 193, 193, 193, 193, 193, 193, 193, 193,
- 193, 247, 247, 247, 247, 247, 247, 247, 247, 263,
- 263, 263, 263, 263, 263, 263, 263, 263, 263, 263,
-
- 284, 284, 284, 284, 287, 1094, 287, 1094, 287, 287,
- 287, 287, 291, 291, 291, 291, 291, 291, 291, 297,
- 1094, 297, 297, 297, 297, 297, 297, 297, 297, 297,
- 299, 1094, 299, 299, 299, 299, 299, 299, 299, 299,
- 299, 302, 1094, 302, 302, 302, 302, 302, 302, 302,
- 302, 302, 315, 1094, 315, 315, 315, 315, 315, 315,
- 315, 315, 315, 246, 246, 246, 246, 246, 246, 246,
- 325, 325, 1094, 325, 325, 325, 325, 325, 325, 325,
- 325, 326, 326, 326, 326, 326, 326, 326, 326, 326,
- 326, 326, 340, 340, 1094, 340, 340, 340, 340, 340,
-
- 340, 340, 340, 344, 344, 344, 344, 344, 344, 344,
- 344, 344, 344, 344, 347, 347, 347, 347, 347, 347,
- 347, 347, 347, 347, 347, 351, 351, 351, 351, 351,
- 351, 351, 351, 351, 351, 351, 365, 365, 365, 365,
- 365, 365, 365, 365, 365, 365, 365, 370, 370, 370,
- 370, 370, 370, 370, 370, 370, 370, 370, 373, 373,
- 373, 373, 373, 373, 373, 373, 373, 373, 373, 377,
- 377, 377, 377, 377, 377, 377, 377, 377, 377, 377,
+ 915, 391, 391, 852, 500, 745, 244, 765, 391, 391,
+ 391, 757, 850, 245, 849, 846, 845, 842, 536, 689,
+ 247, 840, 839, 836, 391, 835, 834, 833, 500, 669,
+ 661, 826, 825, 824, 823, 822, 821, 818, 817, 816,
+ 815, 814, 813, 962, 812, 811, 810, 809, 391, 391,
+ 391, 391, 392, 393, 391, 391, 391, 391, 391, 391,
+
+ 391, 391, 391, 391, 391, 411, 391, 391, 411, 411,
+ 411, 411, 412, 391, 391, 391, 411, 411, 411, 411,
+ 411, 411, 411, 411, 411, 411, 411, 411, 411, 391,
+ 411, 411, 411, 411, 411, 411, 766, 411, 411, 411,
+ 767, 411, 411, 411, 411, 411, 411, 411, 411, 411,
+ 411, 411, 411, 391, 391, 605, 605, 605, 605, 808,
+ 807, 806, 244, 805, 605, 605, 605, 392, 755, 245,
+ 804, 756, 803, 392, 761, 802, 247, 762, 605, 605,
+ 605, 605, 605, 605, 416, 416, 801, 416, 416, 416,
+ 416, 416, 416, 416, 416, 416, 416, 416, 416, 963,
+
+ 416, 416, 800, 799, 757, 798, 780, 416, 416, 416,
+ 763, 797, 796, 795, 392, 761, 794, 793, 762, 792,
+ 791, 790, 789, 416, 788, 787, 786, 785, 784, 783,
+ 773, 771, 770, 707, 706, 701, 700, 699, 689, 687,
+ 686, 681, 680, 679, 678, 516, 643, 416, 416, 416,
+ 416, 763, 416, 416, 416, 416, 416, 416, 416, 416,
+ 416, 416, 416, 416, 433, 416, 416, 433, 433, 433,
+ 433, 434, 416, 416, 416, 433, 433, 433, 433, 433,
+ 433, 433, 433, 433, 433, 433, 433, 433, 416, 433,
+ 433, 433, 433, 433, 433, 781, 433, 433, 433, 782,
+
+ 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
+ 433, 433, 416, 416, 296, 296, 626, 296, 296, 296,
+ 296, 296, 296, 296, 296, 296, 296, 296, 296, 622,
+ 296, 296, 669, 244, 664, 661, 696, 296, 296, 296,
+ 245, 659, 658, 657, 656, 655, 654, 247, 653, 652,
+ 651, 650, 649, 296, 648, 647, 646, 642, 641, 640,
+ 639, 638, 637, 636, 635, 634, 633, 632, 631, 630,
+ 629, 628, 625, 624, 621, 909, 620, 296, 296, 296,
+ 296, 619, 296, 296, 296, 296, 296, 296, 296, 296,
+ 296, 296, 296, 296, 313, 296, 296, 313, 313, 313,
+
+ 313, 314, 296, 296, 296, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 296, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 841, 313,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 296, 296, 323, 323, 323, 323, 323, 323,
+ 618, 323, 323, 323, 323, 323, 323, 323, 323, 617,
+ 323, 323, 616, 615, 614, 613, 711, 323, 323, 323,
+ 599, 244, 598, 419, 545, 544, 541, 540, 245, 539,
+ 527, 526, 299, 323, 500, 247, 521, 520, 516, 488,
+ 486, 462, 459, 457, 512, 448, 500, 291, 499, 493,
+
+ 492, 489, 477, 476, 475, 468, 467, 323, 323, 323,
+ 323, 323, 323, 323, 323, 910, 323, 323, 323, 323,
+ 323, 323, 323, 323, 337, 323, 323, 337, 337, 337,
+ 337, 338, 323, 323, 323, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 323, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 851, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 323, 323, 341, 341, 342, 343, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 466,
+ 341, 341, 463, 453, 450, 449, 729, 341, 341, 341,
+
+ 446, 445, 444, 183, 432, 419, 417, 336, 291, 317,
+ 312, 299, 297, 341, 278, 183, 278, 183, 190, 181,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 341, 341, 341,
+ 341, 342, 343, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 361, 341, 341, 361, 361, 361,
+ 361, 362, 341, 341, 341, 361, 361, 361, 361, 361,
+ 361, 361, 361, 361, 361, 361, 361, 361, 341, 361,
+ 361, 361, 361, 361, 361, 361, 361, 361, 855, 361,
+ 361, 361, 361, 361, 361, 361, 361, 361, 361, 361,
+
+ 361, 361, 341, 341, 366, 366, 367, 368, 366, 366,
+ 366, 366, 366, 366, 366, 366, 366, 366, 366, 1087,
+ 366, 366, 1087, 1087, 1087, 1087, 747, 366, 366, 366,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 366, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 366, 366, 366,
+ 366, 367, 368, 366, 366, 366, 366, 366, 366, 366,
+ 366, 366, 366, 366, 386, 366, 366, 386, 386, 386,
+ 386, 387, 366, 366, 366, 386, 386, 386, 386, 386,
+
+ 386, 386, 386, 386, 386, 386, 386, 386, 366, 386,
+ 386, 386, 386, 386, 386, 386, 386, 386, 859, 386,
+ 386, 386, 386, 386, 386, 386, 386, 386, 386, 386,
+ 386, 386, 366, 366, 391, 391, 392, 393, 391, 391,
+ 391, 391, 391, 391, 391, 391, 391, 391, 391, 1087,
+ 391, 391, 1087, 1087, 1087, 1087, 765, 391, 391, 391,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 391, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 391, 391, 391,
+
+ 391, 392, 393, 391, 391, 391, 391, 391, 391, 391,
+ 391, 391, 391, 391, 411, 391, 391, 411, 411, 411,
+ 411, 412, 391, 391, 391, 411, 411, 411, 411, 411,
+ 411, 411, 411, 411, 411, 411, 411, 411, 391, 411,
+ 411, 411, 411, 411, 411, 411, 411, 411, 863, 411,
+ 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
+ 411, 411, 391, 391, 416, 416, 1087, 416, 416, 416,
+ 416, 416, 416, 416, 416, 416, 416, 416, 416, 1087,
+ 416, 416, 1087, 1087, 1087, 1087, 780, 416, 416, 416,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+
+ 1087, 1087, 1087, 416, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 416, 416, 416,
+ 416, 1087, 416, 416, 416, 416, 416, 416, 416, 416,
+ 416, 416, 416, 416, 433, 416, 416, 433, 433, 433,
+ 433, 434, 416, 416, 416, 433, 433, 433, 433, 433,
+ 433, 433, 433, 433, 433, 433, 433, 433, 416, 433,
+ 433, 433, 433, 433, 433, 433, 433, 433, 867, 433,
+ 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
+ 433, 433, 416, 416, 296, 296, 1087, 296, 296, 296,
+
+ 296, 296, 296, 296, 296, 296, 296, 296, 296, 313,
+ 296, 296, 313, 313, 313, 313, 314, 296, 296, 296,
+ 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 296, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 916, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 296, 296, 323,
+ 323, 323, 323, 323, 323, 1087, 323, 323, 323, 323,
+ 323, 323, 323, 323, 337, 323, 323, 337, 337, 337,
+ 337, 338, 323, 323, 323, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 323, 337,
+
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 920,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 323, 323, 182, 1087, 182, 182, 182, 182,
+ 182, 182, 182, 182, 182, 185, 1087, 1087, 185, 185,
+ 193, 1087, 193, 193, 193, 193, 193, 193, 193, 193,
+ 193, 246, 246, 246, 246, 246, 246, 246, 246, 262,
+ 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
+ 283, 283, 283, 283, 286, 1087, 286, 1087, 286, 286,
+ 286, 286, 290, 290, 290, 290, 290, 290, 290, 296,
+ 1087, 296, 296, 296, 296, 296, 296, 296, 296, 296,
+
+ 298, 1087, 298, 298, 298, 298, 298, 298, 298, 298,
+ 298, 301, 1087, 301, 301, 301, 301, 301, 301, 301,
+ 301, 301, 313, 1087, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 245, 245, 245, 245, 245, 245, 245,
+ 323, 323, 1087, 323, 323, 323, 323, 323, 323, 323,
+ 323, 324, 324, 324, 324, 324, 324, 324, 324, 324,
+ 324, 324, 337, 337, 1087, 337, 337, 337, 337, 337,
+ 337, 337, 337, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 344, 344, 344, 344, 344, 344,
+ 344, 344, 344, 344, 344, 348, 348, 348, 348, 348,
+
+ 348, 348, 348, 348, 348, 348, 361, 361, 361, 361,
+ 361, 361, 361, 361, 361, 361, 361, 366, 366, 366,
+ 366, 366, 366, 366, 366, 366, 366, 366, 369, 369,
+ 369, 369, 369, 369, 369, 369, 369, 369, 369, 373,
+ 373, 373, 373, 373, 373, 373, 373, 373, 373, 373,
+ 386, 386, 386, 386, 386, 386, 386, 386, 386, 386,
+ 386, 391, 391, 391, 391, 391, 391, 391, 391, 391,
+ 391, 391, 394, 394, 394, 394, 394, 394, 394, 394,
+ 394, 394, 394, 398, 398, 398, 398, 398, 398, 398,
+ 398, 398, 398, 398, 411, 411, 411, 411, 411, 411,
+
+ 411, 411, 411, 411, 411, 416, 1087, 416, 416, 416,
+ 416, 416, 416, 416, 416, 416, 418, 1087, 418, 418,
+ 418, 418, 418, 418, 418, 418, 418, 421, 1087, 421,
+ 421, 421, 421, 421, 421, 421, 421, 421, 433, 1087,
+ 433, 433, 433, 433, 433, 433, 433, 433, 433, 185,
+ 1087, 1087, 185, 185, 193, 1087, 193, 193, 193, 193,
+ 193, 193, 193, 193, 193, 443, 1087, 1087, 443, 443,
+ 443, 474, 1087, 1087, 474, 245, 245, 245, 245, 245,
+ 245, 245, 246, 246, 246, 246, 246, 246, 246, 246,
+ 501, 1087, 1087, 1087, 1087, 501, 501, 501, 501, 262,
+
+ 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
+ 515, 515, 515, 515, 515, 515, 518, 518, 518, 518,
+ 519, 1087, 519, 519, 519, 519, 290, 290, 290, 290,
+ 290, 290, 290, 296, 1087, 296, 296, 296, 296, 296,
+ 296, 296, 296, 296, 298, 1087, 298, 298, 298, 298,
+ 298, 298, 298, 298, 298, 301, 1087, 301, 301, 301,
+ 301, 301, 301, 301, 301, 301, 313, 1087, 313, 313,
+ 313, 313, 313, 313, 313, 313, 313, 323, 323, 1087,
+ 323, 323, 323, 323, 323, 323, 323, 323, 324, 324,
+ 324, 324, 324, 324, 324, 324, 324, 324, 324, 337,
+
+ 337, 1087, 337, 337, 337, 337, 337, 337, 337, 337,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 344, 344, 344, 344, 344, 344, 344, 344, 344,
+ 344, 344, 348, 348, 348, 348, 348, 348, 348, 348,
+ 348, 348, 348, 361, 361, 361, 361, 361, 361, 361,
+ 361, 361, 361, 361, 366, 366, 366, 366, 366, 366,
+ 366, 366, 366, 366, 366, 369, 369, 369, 369, 369,
+ 369, 369, 369, 369, 369, 369, 373, 373, 373, 373,
+ 373, 373, 373, 373, 373, 373, 373, 386, 386, 386,
+ 386, 386, 386, 386, 386, 386, 386, 386, 391, 391,
+
+ 391, 391, 391, 391, 391, 391, 391, 391, 391, 394,
+ 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
+ 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
+ 398, 411, 411, 411, 411, 411, 411, 411, 411, 411,
+ 411, 411, 416, 1087, 416, 416, 416, 416, 416, 416,
+ 416, 416, 416, 418, 1087, 418, 418, 418, 418, 418,
+ 418, 418, 418, 418, 421, 1087, 421, 421, 421, 421,
+ 421, 421, 421, 421, 421, 433, 1087, 433, 433, 433,
+ 433, 433, 433, 433, 433, 433, 185, 1087, 1087, 185,
+ 185, 443, 1087, 1087, 443, 443, 443, 474, 1087, 1087,
+
+ 474, 660, 1087, 660, 660, 660, 660, 660, 660, 660,
+ 660, 660, 663, 1087, 663, 663, 663, 663, 663, 663,
+ 663, 663, 663, 665, 1087, 665, 665, 665, 665, 665,
+ 665, 665, 665, 665, 668, 668, 668, 668, 668, 668,
+ 668, 246, 246, 246, 246, 246, 246, 246, 246, 262,
+ 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
+ 515, 515, 515, 515, 515, 515, 677, 1087, 677, 677,
+ 677, 677, 519, 1087, 519, 519, 519, 519, 290, 290,
+ 290, 290, 290, 290, 290, 296, 1087, 296, 296, 296,
+ 296, 296, 296, 296, 296, 296, 688, 1087, 688, 688,
+
+ 688, 688, 688, 688, 688, 688, 688, 691, 1087, 691,
+ 691, 691, 691, 691, 691, 691, 691, 691, 692, 1087,
+ 692, 692, 692, 692, 692, 692, 692, 692, 692, 695,
+ 1087, 695, 695, 695, 695, 695, 695, 695, 695, 695,
+ 245, 245, 245, 245, 245, 245, 245, 323, 323, 1087,
+ 323, 323, 323, 323, 323, 323, 323, 323, 708, 708,
+ 708, 708, 708, 708, 708, 708, 708, 708, 708, 710,
+ 710, 1087, 710, 710, 710, 710, 710, 710, 710, 710,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 718, 718, 718, 718, 718, 718, 718, 718, 718,
+
+ 718, 718, 722, 722, 722, 722, 722, 722, 722, 722,
+ 722, 722, 722, 724, 724, 724, 724, 724, 724, 724,
+ 724, 724, 724, 724, 728, 728, 728, 728, 728, 728,
+ 728, 728, 728, 728, 728, 366, 366, 366, 366, 366,
+ 366, 366, 366, 366, 366, 366, 736, 736, 736, 736,
+ 736, 736, 736, 736, 736, 736, 736, 740, 740, 740,
+ 740, 740, 740, 740, 740, 740, 740, 740, 742, 742,
+ 742, 742, 742, 742, 742, 742, 742, 742, 742, 746,
+ 746, 746, 746, 746, 746, 746, 746, 746, 746, 746,
391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
- 391, 396, 396, 396, 396, 396, 396, 396, 396, 396,
- 396, 396, 399, 399, 399, 399, 399, 399, 399, 399,
- 399, 399, 399, 403, 403, 403, 403, 403, 403, 403,
- 403, 403, 403, 403, 417, 417, 417, 417, 417, 417,
- 417, 417, 417, 417, 417, 422, 1094, 422, 422, 422,
- 422, 422, 422, 422, 422, 422, 424, 1094, 424, 424,
- 424, 424, 424, 424, 424, 424, 424, 427, 1094, 427,
- 427, 427, 427, 427, 427, 427, 427, 427, 440, 1094,
- 440, 440, 440, 440, 440, 440, 440, 440, 440, 185,
- 1094, 1094, 185, 185, 193, 1094, 193, 193, 193, 193,
- 193, 193, 193, 193, 193, 450, 1094, 1094, 450, 450,
-
- 450, 481, 1094, 1094, 481, 246, 246, 246, 246, 246,
- 246, 246, 247, 247, 247, 247, 247, 247, 247, 247,
- 508, 1094, 1094, 1094, 1094, 508, 508, 508, 508, 263,
- 263, 263, 263, 263, 263, 263, 263, 263, 263, 263,
- 522, 522, 522, 522, 522, 522, 525, 525, 525, 525,
- 526, 1094, 526, 526, 526, 526, 291, 291, 291, 291,
- 291, 291, 291, 297, 1094, 297, 297, 297, 297, 297,
- 297, 297, 297, 297, 299, 1094, 299, 299, 299, 299,
- 299, 299, 299, 299, 299, 302, 1094, 302, 302, 302,
- 302, 302, 302, 302, 302, 302, 315, 1094, 315, 315,
-
- 315, 315, 315, 315, 315, 315, 315, 325, 325, 1094,
- 325, 325, 325, 325, 325, 325, 325, 325, 326, 326,
- 326, 326, 326, 326, 326, 326, 326, 326, 326, 340,
- 340, 1094, 340, 340, 340, 340, 340, 340, 340, 340,
- 344, 344, 344, 344, 344, 344, 344, 344, 344, 344,
- 344, 347, 347, 347, 347, 347, 347, 347, 347, 347,
- 347, 347, 351, 351, 351, 351, 351, 351, 351, 351,
- 351, 351, 351, 365, 365, 365, 365, 365, 365, 365,
- 365, 365, 365, 365, 370, 370, 370, 370, 370, 370,
- 370, 370, 370, 370, 370, 373, 373, 373, 373, 373,
-
- 373, 373, 373, 373, 373, 373, 377, 377, 377, 377,
- 377, 377, 377, 377, 377, 377, 377, 391, 391, 391,
- 391, 391, 391, 391, 391, 391, 391, 391, 396, 396,
- 396, 396, 396, 396, 396, 396, 396, 396, 396, 399,
- 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
- 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
- 403, 417, 417, 417, 417, 417, 417, 417, 417, 417,
- 417, 417, 422, 1094, 422, 422, 422, 422, 422, 422,
- 422, 422, 422, 424, 1094, 424, 424, 424, 424, 424,
- 424, 424, 424, 424, 427, 1094, 427, 427, 427, 427,
-
- 427, 427, 427, 427, 427, 440, 1094, 440, 440, 440,
- 440, 440, 440, 440, 440, 440, 185, 1094, 1094, 185,
- 185, 450, 1094, 1094, 450, 450, 450, 481, 1094, 1094,
- 481, 667, 1094, 667, 667, 667, 667, 667, 667, 667,
- 667, 667, 670, 1094, 670, 670, 670, 670, 670, 670,
- 670, 670, 670, 672, 1094, 672, 672, 672, 672, 672,
- 672, 672, 672, 672, 675, 675, 675, 675, 675, 675,
- 675, 247, 247, 247, 247, 247, 247, 247, 247, 263,
- 263, 263, 263, 263, 263, 263, 263, 263, 263, 263,
- 522, 522, 522, 522, 522, 522, 684, 1094, 684, 684,
-
- 684, 684, 526, 1094, 526, 526, 526, 526, 291, 291,
- 291, 291, 291, 291, 291, 297, 1094, 297, 297, 297,
- 297, 297, 297, 297, 297, 297, 695, 1094, 695, 695,
- 695, 695, 695, 695, 695, 695, 695, 698, 1094, 698,
- 698, 698, 698, 698, 698, 698, 698, 698, 699, 1094,
- 699, 699, 699, 699, 699, 699, 699, 699, 699, 702,
- 1094, 702, 702, 702, 702, 702, 702, 702, 702, 702,
- 246, 246, 246, 246, 246, 246, 246, 325, 325, 1094,
- 325, 325, 325, 325, 325, 325, 325, 325, 715, 715,
- 715, 715, 715, 715, 715, 715, 715, 715, 715, 717,
-
- 717, 1094, 717, 717, 717, 717, 717, 717, 717, 717,
- 344, 344, 344, 344, 344, 344, 344, 344, 344, 344,
- 344, 725, 725, 725, 725, 725, 725, 725, 725, 725,
- 725, 725, 729, 729, 729, 729, 729, 729, 729, 729,
- 729, 729, 729, 731, 731, 731, 731, 731, 731, 731,
- 731, 731, 731, 731, 735, 735, 735, 735, 735, 735,
- 735, 735, 735, 735, 735, 370, 370, 370, 370, 370,
- 370, 370, 370, 370, 370, 370, 743, 743, 743, 743,
- 743, 743, 743, 743, 743, 743, 743, 747, 747, 747,
- 747, 747, 747, 747, 747, 747, 747, 747, 749, 749,
-
- 749, 749, 749, 749, 749, 749, 749, 749, 749, 753,
- 753, 753, 753, 753, 753, 753, 753, 753, 753, 753,
- 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
- 396, 761, 761, 761, 761, 761, 761, 761, 761, 761,
- 761, 761, 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 765, 767, 767, 767, 767, 767, 767, 767,
- 767, 767, 767, 767, 771, 771, 771, 771, 771, 771,
- 771, 771, 771, 771, 771, 422, 1094, 422, 422, 422,
- 422, 422, 422, 422, 422, 422, 779, 1094, 779, 779,
- 779, 779, 779, 779, 779, 779, 779, 782, 1094, 782,
-
- 782, 782, 782, 782, 782, 782, 782, 782, 783, 1094,
- 783, 783, 783, 783, 783, 783, 783, 783, 783, 786,
- 1094, 786, 786, 786, 786, 786, 786, 786, 786, 786,
- 450, 1094, 1094, 450, 450, 450, 667, 1094, 667, 667,
- 667, 667, 667, 667, 667, 667, 667, 670, 1094, 670,
- 670, 670, 670, 670, 670, 670, 670, 670, 672, 1094,
- 672, 672, 672, 672, 672, 672, 672, 672, 672, 675,
- 675, 675, 675, 675, 675, 675, 247, 247, 247, 247,
- 247, 247, 247, 247, 263, 263, 263, 263, 263, 263,
- 263, 263, 263, 263, 263, 684, 1094, 684, 684, 684,
-
- 684, 526, 1094, 526, 526, 526, 526, 291, 291, 291,
- 291, 291, 291, 291, 297, 1094, 297, 297, 297, 297,
- 297, 297, 297, 297, 297, 695, 1094, 695, 695, 695,
- 695, 695, 695, 695, 695, 695, 698, 1094, 698, 698,
- 698, 698, 698, 698, 698, 698, 698, 699, 1094, 699,
- 699, 699, 699, 699, 699, 699, 699, 699, 702, 1094,
- 702, 702, 702, 702, 702, 702, 702, 702, 702, 246,
- 246, 246, 246, 246, 246, 246, 325, 325, 1094, 325,
- 325, 325, 325, 325, 325, 325, 325, 715, 715, 715,
- 715, 715, 715, 715, 715, 715, 715, 715, 717, 717,
-
- 1094, 717, 717, 717, 717, 717, 717, 717, 717, 344,
- 344, 344, 344, 344, 344, 344, 344, 344, 344, 344,
- 725, 725, 725, 725, 725, 725, 725, 725, 725, 725,
- 725, 729, 729, 729, 729, 729, 729, 729, 729, 729,
- 729, 729, 731, 731, 731, 731, 731, 731, 731, 731,
- 731, 731, 731, 735, 735, 735, 735, 735, 735, 735,
- 735, 735, 735, 735, 370, 370, 370, 370, 370, 370,
- 370, 370, 370, 370, 370, 743, 743, 743, 743, 743,
- 743, 743, 743, 743, 743, 743, 747, 747, 747, 747,
- 747, 747, 747, 747, 747, 747, 747, 749, 749, 749,
-
- 749, 749, 749, 749, 749, 749, 749, 749, 753, 753,
- 753, 753, 753, 753, 753, 753, 753, 753, 753, 396,
- 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
- 761, 761, 761, 761, 761, 761, 761, 761, 761, 761,
- 761, 765, 765, 765, 765, 765, 765, 765, 765, 765,
- 765, 765, 767, 767, 767, 767, 767, 767, 767, 767,
- 767, 767, 767, 771, 771, 771, 771, 771, 771, 771,
- 771, 771, 771, 771, 422, 1094, 422, 422, 422, 422,
- 422, 422, 422, 422, 422, 779, 1094, 779, 779, 779,
- 779, 779, 779, 779, 779, 779, 782, 1094, 782, 782,
-
- 782, 782, 782, 782, 782, 782, 782, 783, 1094, 783,
- 783, 783, 783, 783, 783, 783, 783, 783, 786, 1094,
- 786, 786, 786, 786, 786, 786, 786, 786, 786, 450,
- 1094, 1094, 450, 450, 450, 247, 247, 247, 247, 247,
- 247, 247, 247, 263, 263, 263, 263, 263, 263, 263,
- 263, 263, 263, 263, 526, 1094, 526, 526, 526, 526,
- 291, 291, 291, 291, 291, 291, 291, 297, 1094, 297,
- 297, 297, 297, 297, 297, 297, 297, 297, 246, 246,
- 246, 246, 246, 246, 246, 325, 325, 1094, 325, 325,
- 325, 325, 325, 325, 325, 325, 23, 1094, 1094, 1094,
-
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094
+ 391, 754, 754, 754, 754, 754, 754, 754, 754, 754,
+ 754, 754, 758, 758, 758, 758, 758, 758, 758, 758,
+ 758, 758, 758, 760, 760, 760, 760, 760, 760, 760,
+ 760, 760, 760, 760, 764, 764, 764, 764, 764, 764,
+ 764, 764, 764, 764, 764, 416, 1087, 416, 416, 416,
+ 416, 416, 416, 416, 416, 416, 772, 1087, 772, 772,
+ 772, 772, 772, 772, 772, 772, 772, 775, 1087, 775,
+ 775, 775, 775, 775, 775, 775, 775, 775, 776, 1087,
+ 776, 776, 776, 776, 776, 776, 776, 776, 776, 779,
+ 1087, 779, 779, 779, 779, 779, 779, 779, 779, 779,
+
+ 443, 1087, 1087, 443, 443, 443, 660, 1087, 660, 660,
+ 660, 660, 660, 660, 660, 660, 660, 663, 1087, 663,
+ 663, 663, 663, 663, 663, 663, 663, 663, 665, 1087,
+ 665, 665, 665, 665, 665, 665, 665, 665, 665, 668,
+ 668, 668, 668, 668, 668, 668, 246, 246, 246, 246,
+ 246, 246, 246, 246, 262, 262, 262, 262, 262, 262,
+ 262, 262, 262, 262, 262, 677, 1087, 677, 677, 677,
+ 677, 519, 1087, 519, 519, 519, 519, 290, 290, 290,
+ 290, 290, 290, 290, 296, 1087, 296, 296, 296, 296,
+ 296, 296, 296, 296, 296, 688, 1087, 688, 688, 688,
+
+ 688, 688, 688, 688, 688, 688, 691, 1087, 691, 691,
+ 691, 691, 691, 691, 691, 691, 691, 692, 1087, 692,
+ 692, 692, 692, 692, 692, 692, 692, 692, 695, 1087,
+ 695, 695, 695, 695, 695, 695, 695, 695, 695, 245,
+ 245, 245, 245, 245, 245, 245, 323, 323, 1087, 323,
+ 323, 323, 323, 323, 323, 323, 323, 708, 708, 708,
+ 708, 708, 708, 708, 708, 708, 708, 708, 710, 710,
+ 1087, 710, 710, 710, 710, 710, 710, 710, 710, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 718, 718, 718, 718, 718, 718, 718, 718, 718, 718,
+
+ 718, 722, 722, 722, 722, 722, 722, 722, 722, 722,
+ 722, 722, 724, 724, 724, 724, 724, 724, 724, 724,
+ 724, 724, 724, 728, 728, 728, 728, 728, 728, 728,
+ 728, 728, 728, 728, 366, 366, 366, 366, 366, 366,
+ 366, 366, 366, 366, 366, 736, 736, 736, 736, 736,
+ 736, 736, 736, 736, 736, 736, 740, 740, 740, 740,
+ 740, 740, 740, 740, 740, 740, 740, 742, 742, 742,
+ 742, 742, 742, 742, 742, 742, 742, 742, 746, 746,
+ 746, 746, 746, 746, 746, 746, 746, 746, 746, 391,
+ 391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
+
+ 754, 754, 754, 754, 754, 754, 754, 754, 754, 754,
+ 754, 758, 758, 758, 758, 758, 758, 758, 758, 758,
+ 758, 758, 760, 760, 760, 760, 760, 760, 760, 760,
+ 760, 760, 760, 764, 764, 764, 764, 764, 764, 764,
+ 764, 764, 764, 764, 416, 1087, 416, 416, 416, 416,
+ 416, 416, 416, 416, 416, 772, 1087, 772, 772, 772,
+ 772, 772, 772, 772, 772, 772, 775, 1087, 775, 775,
+ 775, 775, 775, 775, 775, 775, 775, 776, 1087, 776,
+ 776, 776, 776, 776, 776, 776, 776, 776, 779, 1087,
+ 779, 779, 779, 779, 779, 779, 779, 779, 779, 443,
+
+ 1087, 1087, 443, 443, 443, 246, 246, 246, 246, 246,
+ 246, 246, 246, 262, 262, 262, 262, 262, 262, 262,
+ 262, 262, 262, 262, 519, 1087, 519, 519, 519, 519,
+ 290, 290, 290, 290, 290, 290, 290, 296, 1087, 296,
+ 296, 296, 296, 296, 296, 296, 296, 296, 245, 245,
+ 245, 245, 245, 245, 245, 323, 323, 1087, 323, 323,
+ 323, 323, 323, 323, 323, 323, 23, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087
} ;
-static yyconst flex_int16_t yy_chk[7163] =
+static yyconst flex_int16_t yy_chk[7033] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -1640,12 +1624,12 @@
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 2, 33, 2, 2, 29,
- 35, 4, 236, 4, 4, 1088, 6, 40, 6, 6,
- 33, 236, 35, 8, 40, 8, 8, 55, 2, 3,
+ 35, 4, 235, 4, 4, 1081, 6, 40, 6, 6,
+ 33, 235, 35, 8, 40, 8, 8, 55, 2, 3,
74, 3, 3, 3, 4, 44, 44, 3, 3, 6,
3, 3, 29, 3, 3, 3, 8, 45, 45, 108,
- 3, 3, 3, 3, 10, 13, 10, 10, 12, 1084,
+ 3, 3, 3, 3, 10, 13, 10, 10, 12, 1077,
12, 12, 16, 74, 16, 16, 55, 13, 13, 13,
13, 18, 108, 18, 18, 3, 20, 3, 20, 20,
3, 22, 3, 22, 22, 3, 212, 3, 46, 46,
@@ -1678,8 +1662,8 @@
11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
- 11, 11, 11, 14, 1083, 14, 14, 31, 14, 31,
- 82, 31, 31, 60, 1082, 60, 60, 82, 122, 122,
+ 11, 11, 11, 14, 1076, 14, 14, 31, 14, 31,
+ 82, 31, 31, 60, 1075, 60, 60, 82, 122, 122,
14, 14, 14, 14, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
@@ -1711,720 +1695,706 @@
21, 21, 21, 21, 25, 91, 25, 25, 27, 27,
27, 27, 36, 209, 36, 36, 36, 36, 209, 25,
- 36, 47, 38, 27, 38, 38, 38, 38, 47, 1080,
- 38, 39, 39, 39, 39, 47, 233, 39, 91, 39,
+ 36, 47, 38, 27, 38, 38, 38, 38, 47, 1073,
+ 38, 39, 39, 39, 39, 47, 232, 39, 91, 39,
39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
- 39, 39, 233, 39, 39, 39, 39, 39, 39, 39,
+ 39, 39, 232, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 41, 52, 41, 41,
- 41, 41, 216, 51, 52, 49, 976, 53, 41, 41,
- 51, 52, 49, 41, 53, 41, 216, 51, 41, 49,
- 56, 53, 41, 112, 976, 41, 42, 112, 42, 42,
-
- 42, 42, 112, 41, 67, 48, 67, 67, 1079, 42,
- 52, 41, 48, 42, 53, 48, 48, 48, 48, 48,
- 49, 69, 69, 660, 51, 42, 43, 53, 43, 460,
- 56, 43, 660, 50, 43, 43, 43, 43, 43, 43,
- 50, 54, 43, 84, 43, 43, 460, 50, 54, 57,
- 84, 57, 57, 59, 59, 54, 66, 58, 58, 58,
- 58, 231, 69, 66, 57, 61, 61, 61, 61, 231,
- 66, 50, 58, 84, 1077, 59, 59, 50, 62, 64,
- 62, 62, 62, 62, 121, 54, 167, 64, 64, 64,
- 64, 64, 64, 66, 59, 63, 124, 124, 64, 68,
-
- 68, 68, 68, 71, 71, 71, 71, 73, 73, 73,
- 73, 87, 87, 63, 63, 1076, 63, 121, 63, 167,
- 63, 63, 63, 63, 213, 63, 213, 63, 63, 63,
- 75, 323, 75, 63, 75, 75, 77, 78, 77, 77,
- 77, 77, 85, 85, 85, 85, 980, 78, 78, 78,
- 78, 80, 87, 80, 80, 80, 80, 86, 86, 86,
- 86, 131, 131, 214, 80, 214, 83, 323, 80, 83,
- 83, 83, 83, 83, 78, 78, 136, 136, 1073, 78,
- 80, 93, 131, 93, 93, 93, 93, 94, 94, 94,
- 94, 980, 100, 96, 100, 100, 101, 101, 101, 101,
-
- 96, 234, 109, 96, 109, 109, 234, 96, 104, 104,
- 104, 104, 126, 126, 120, 94, 120, 120, 96, 94,
- 95, 126, 95, 95, 95, 95, 96, 105, 105, 105,
- 105, 116, 95, 95, 138, 138, 104, 95, 116, 95,
- 104, 116, 95, 150, 150, 116, 95, 810, 113, 95,
- 113, 113, 113, 113, 140, 140, 116, 95, 134, 134,
- 134, 134, 810, 140, 116, 95, 98, 98, 810, 98,
- 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 1070, 98, 98, 114, 114, 114, 114, 98, 98,
- 98, 98, 463, 106, 463, 106, 106, 106, 106, 135,
-
- 135, 135, 135, 152, 152, 98, 106, 127, 127, 849,
- 106, 849, 114, 125, 125, 239, 114, 125, 154, 154,
- 239, 127, 106, 127, 127, 127, 127, 154, 1069, 98,
- 98, 99, 99, 239, 99, 99, 99, 99, 99, 99,
- 99, 99, 99, 99, 99, 99, 863, 99, 99, 863,
- 125, 145, 145, 99, 99, 99, 99, 130, 148, 148,
- 148, 148, 128, 128, 130, 139, 139, 130, 279, 139,
- 99, 130, 145, 279, 182, 1068, 99, 206, 128, 128,
- 128, 128, 130, 149, 149, 149, 149, 153, 153, 206,
- 130, 153, 222, 222, 99, 99, 115, 1066, 115, 115,
-
- 115, 115, 139, 225, 225, 225, 128, 182, 115, 115,
- 128, 159, 159, 115, 176, 115, 176, 176, 115, 929,
- 141, 141, 115, 929, 153, 115, 162, 162, 162, 162,
- 230, 230, 159, 115, 141, 1065, 141, 141, 141, 141,
- 290, 115, 118, 118, 118, 118, 118, 118, 290, 118,
- 118, 118, 118, 118, 118, 118, 118, 1064, 118, 118,
- 163, 163, 163, 163, 118, 118, 118, 118, 155, 155,
- 169, 299, 169, 169, 169, 169, 244, 244, 142, 142,
- 867, 118, 155, 867, 155, 155, 155, 155, 177, 177,
- 177, 177, 263, 263, 142, 142, 142, 142, 178, 974,
-
- 178, 178, 265, 265, 299, 118, 118, 119, 119, 119,
- 119, 119, 119, 178, 119, 119, 119, 119, 119, 119,
- 119, 119, 142, 119, 119, 1063, 142, 424, 144, 119,
- 119, 119, 119, 232, 158, 144, 291, 232, 144, 156,
- 156, 158, 144, 291, 158, 974, 119, 179, 158, 179,
- 179, 232, 119, 144, 854, 156, 156, 156, 156, 158,
- 424, 144, 186, 186, 186, 186, 1056, 158, 266, 266,
- 119, 119, 129, 129, 170, 170, 170, 170, 187, 187,
- 187, 187, 854, 156, 267, 267, 129, 156, 129, 129,
- 129, 129, 188, 188, 188, 188, 501, 172, 129, 129,
-
- 276, 276, 170, 129, 172, 129, 170, 172, 129, 309,
- 309, 172, 129, 1051, 247, 129, 189, 189, 189, 189,
- 1050, 247, 172, 129, 196, 196, 196, 196, 247, 501,
- 172, 129, 132, 132, 132, 132, 132, 132, 132, 132,
- 132, 132, 132, 132, 132, 132, 132, 507, 132, 132,
- 269, 251, 269, 269, 132, 132, 132, 132, 251, 197,
- 925, 197, 197, 197, 197, 251, 200, 200, 200, 200,
- 211, 132, 197, 1047, 211, 253, 197, 200, 211, 223,
- 507, 223, 253, 925, 223, 223, 223, 223, 197, 253,
- 312, 312, 312, 200, 977, 132, 132, 133, 133, 133,
+ 41, 41, 121, 49, 52, 54, 51, 56, 41, 41,
+ 49, 52, 54, 51, 213, 41, 213, 49, 41, 54,
+ 51, 214, 41, 214, 42, 41, 42, 42, 42, 42,
+
+ 69, 69, 48, 41, 456, 121, 456, 42, 206, 48,
+ 52, 41, 48, 48, 48, 48, 48, 56, 49, 54,
+ 206, 112, 1072, 42, 43, 112, 43, 51, 1070, 43,
+ 112, 50, 43, 43, 43, 43, 43, 43, 50, 53,
+ 43, 69, 43, 43, 1069, 50, 53, 57, 848, 57,
+ 57, 59, 59, 53, 66, 58, 58, 58, 58, 1066,
+ 84, 66, 57, 61, 61, 61, 61, 84, 66, 50,
+ 58, 124, 124, 59, 59, 50, 53, 62, 848, 62,
+ 62, 62, 62, 87, 87, 67, 64, 67, 67, 53,
+ 84, 66, 59, 63, 64, 64, 64, 64, 64, 64,
+
+ 68, 68, 68, 68, 653, 64, 71, 71, 71, 71,
+ 167, 63, 63, 653, 63, 182, 63, 1063, 63, 63,
+ 63, 63, 230, 63, 87, 63, 63, 63, 126, 126,
+ 230, 63, 73, 73, 73, 73, 75, 126, 75, 78,
+ 75, 75, 77, 167, 77, 77, 77, 77, 182, 78,
+ 78, 78, 78, 80, 1062, 80, 80, 80, 80, 85,
+ 85, 85, 85, 453, 83, 847, 80, 83, 83, 83,
+ 83, 83, 86, 86, 86, 86, 78, 78, 136, 136,
+ 453, 78, 80, 93, 1061, 93, 93, 93, 93, 94,
+ 94, 94, 94, 847, 100, 96, 100, 100, 101, 101,
+
+ 101, 101, 96, 233, 109, 96, 109, 109, 233, 96,
+ 104, 104, 104, 104, 138, 138, 120, 94, 120, 120,
+ 96, 94, 95, 1059, 95, 95, 95, 95, 96, 105,
+ 105, 105, 105, 116, 95, 95, 131, 131, 104, 1058,
+ 116, 95, 104, 116, 95, 150, 150, 116, 95, 1057,
+ 113, 95, 113, 113, 113, 113, 216, 131, 116, 95,
+ 134, 134, 134, 134, 152, 152, 116, 95, 98, 98,
+ 216, 98, 98, 98, 98, 98, 98, 98, 98, 98,
+ 98, 98, 98, 918, 98, 98, 114, 114, 114, 114,
+ 98, 98, 98, 98, 842, 106, 842, 106, 106, 106,
+
+ 106, 140, 140, 127, 127, 211, 918, 98, 106, 211,
+ 140, 125, 125, 211, 114, 125, 290, 127, 114, 127,
+ 127, 127, 127, 290, 106, 135, 135, 135, 135, 222,
+ 222, 98, 98, 99, 99, 321, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99, 125, 99,
+ 99, 128, 128, 145, 145, 99, 99, 99, 99, 148,
+ 148, 148, 148, 149, 149, 149, 149, 128, 128, 128,
+ 128, 321, 99, 852, 145, 852, 139, 139, 99, 130,
+ 139, 153, 153, 154, 154, 153, 130, 229, 229, 130,
+ 142, 142, 154, 130, 1056, 128, 99, 99, 115, 128,
+
+ 115, 115, 115, 115, 130, 973, 142, 142, 142, 142,
+ 115, 115, 130, 139, 141, 141, 856, 115, 153, 856,
+ 115, 159, 159, 176, 115, 176, 176, 115, 141, 298,
+ 141, 141, 141, 141, 142, 115, 278, 179, 142, 179,
+ 179, 278, 159, 115, 118, 118, 118, 118, 118, 118,
+ 973, 118, 118, 118, 118, 118, 118, 118, 118, 1049,
+ 118, 118, 298, 144, 243, 243, 118, 118, 118, 118,
+ 144, 246, 158, 144, 1044, 155, 155, 144, 246, 158,
+ 262, 262, 158, 118, 1043, 246, 158, 289, 144, 155,
+ 1040, 155, 155, 155, 155, 289, 144, 158, 162, 162,
+
+ 162, 162, 224, 224, 224, 158, 969, 118, 118, 119,
+ 119, 119, 119, 119, 119, 702, 119, 119, 119, 119,
+ 119, 119, 119, 119, 969, 119, 119, 163, 163, 163,
+ 163, 119, 119, 119, 119, 170, 170, 170, 170, 156,
+ 156, 169, 702, 169, 169, 169, 169, 231, 119, 264,
+ 264, 231, 172, 418, 119, 156, 156, 156, 156, 172,
+ 265, 265, 172, 170, 974, 231, 172, 170, 177, 177,
+ 177, 177, 119, 119, 129, 129, 271, 172, 975, 178,
+ 271, 178, 178, 156, 271, 172, 418, 156, 129, 1039,
+ 129, 129, 129, 129, 178, 186, 186, 186, 186, 494,
+
+ 129, 129, 187, 187, 187, 187, 238, 129, 250, 974,
+ 129, 238, 266, 266, 129, 250, 500, 129, 188, 188,
+ 188, 188, 250, 975, 238, 129, 189, 189, 189, 189,
+ 267, 267, 494, 129, 132, 132, 132, 132, 132, 132,
+ 132, 132, 132, 132, 132, 132, 132, 132, 132, 500,
+ 132, 132, 196, 196, 196, 196, 132, 132, 132, 132,
+ 1011, 197, 1011, 197, 197, 197, 197, 200, 200, 200,
+ 200, 275, 275, 132, 197, 223, 1037, 223, 200, 249,
+ 223, 223, 223, 223, 308, 308, 249, 267, 1036, 268,
+ 197, 268, 268, 249, 200, 332, 332, 132, 132, 133,
133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
- 133, 133, 977, 133, 133, 268, 268, 253, 253, 133,
- 133, 133, 133, 221, 221, 221, 221, 272, 334, 334,
- 294, 272, 1046, 249, 221, 272, 133, 294, 344, 344,
- 249, 250, 133, 249, 249, 249, 249, 249, 250, 314,
- 221, 252, 254, 871, 314, 250, 871, 255, 252, 254,
- 133, 133, 143, 143, 255, 252, 254, 1044, 256, 339,
- 257, 255, 268, 294, 339, 256, 143, 257, 143, 143,
- 143, 143, 256, 280, 257, 280, 280, 254, 143, 143,
- 859, 250, 859, 143, 262, 143, 262, 262, 143, 346,
-
- 346, 252, 143, 349, 349, 143, 1043, 255, 318, 262,
- 318, 318, 257, 143, 350, 350, 256, 281, 281, 281,
- 281, 143, 146, 146, 146, 146, 146, 146, 146, 146,
- 146, 146, 146, 146, 146, 146, 146, 1042, 146, 146,
- 283, 283, 283, 283, 146, 146, 146, 146, 285, 285,
- 285, 285, 285, 293, 361, 361, 293, 293, 293, 293,
- 293, 146, 295, 295, 295, 295, 296, 296, 296, 296,
- 303, 303, 303, 303, 310, 324, 310, 324, 324, 310,
- 310, 310, 310, 370, 370, 146, 146, 147, 147, 147,
+ 133, 133, 133, 133, 919, 133, 133, 261, 1035, 261,
+ 261, 133, 133, 133, 133, 221, 221, 221, 221, 249,
+ 1033, 279, 261, 279, 279, 248, 221, 919, 133, 310,
+ 310, 310, 248, 251, 133, 248, 248, 248, 248, 248,
+ 251, 293, 221, 252, 253, 341, 341, 251, 293, 254,
+ 252, 253, 133, 133, 143, 143, 254, 252, 253, 312,
+ 255, 336, 256, 254, 312, 534, 336, 255, 143, 256,
+ 143, 143, 143, 143, 255, 316, 256, 316, 316, 253,
+ 143, 143, 1032, 251, 293, 252, 252, 143, 1031, 322,
+
+ 143, 322, 322, 340, 143, 340, 340, 143, 534, 254,
+ 280, 280, 280, 280, 256, 143, 343, 343, 255, 282,
+ 282, 282, 282, 143, 146, 146, 146, 146, 146, 146,
+ 146, 146, 146, 146, 146, 146, 146, 146, 146, 1030,
+ 146, 146, 294, 294, 294, 294, 146, 146, 146, 146,
+ 284, 284, 284, 284, 284, 292, 346, 346, 292, 292,
+ 292, 292, 292, 146, 295, 295, 295, 295, 302, 302,
+ 302, 302, 309, 1028, 309, 347, 347, 309, 309, 309,
+ 309, 326, 326, 326, 326, 353, 353, 146, 146, 147,
147, 147, 147, 147, 147, 147, 147, 147, 147, 147,
- 147, 147, 1040, 147, 147, 328, 328, 328, 328, 147,
- 147, 147, 147, 1018, 304, 1018, 304, 304, 304, 304,
- 372, 372, 305, 305, 305, 305, 147, 304, 337, 337,
- 337, 304, 147, 305, 308, 308, 308, 308, 326, 351,
- 351, 439, 326, 304, 1039, 308, 439, 326, 351, 305,
- 147, 147, 157, 157, 343, 709, 343, 343, 352, 352,
- 322, 308, 322, 322, 322, 322, 157, 352, 157, 157,
- 157, 157, 1038, 322, 375, 375, 549, 322, 157, 157,
- 356, 356, 709, 157, 1037, 157, 357, 357, 157, 322,
- 930, 335, 157, 335, 930, 157, 335, 335, 335, 335,
-
- 549, 347, 347, 157, 549, 347, 368, 368, 368, 368,
- 1035, 157, 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 356, 160, 160,
- 376, 376, 926, 357, 160, 160, 160, 160, 347, 329,
- 710, 329, 329, 329, 329, 923, 330, 330, 330, 330,
- 923, 160, 329, 353, 353, 926, 329, 330, 348, 348,
- 387, 387, 348, 369, 369, 369, 369, 710, 329, 353,
- 353, 353, 353, 330, 1034, 160, 160, 161, 161, 161,
+ 147, 147, 147, 147, 703, 147, 147, 334, 334, 334,
+ 432, 147, 147, 147, 147, 432, 303, 1027, 303, 303,
+ 303, 303, 304, 304, 304, 304, 344, 344, 147, 303,
+ 344, 703, 353, 304, 147, 307, 307, 307, 307, 324,
+ 345, 345, 916, 324, 345, 303, 307, 916, 324, 304,
+ 366, 366, 147, 147, 157, 157, 320, 1026, 320, 320,
+ 320, 320, 307, 344, 328, 328, 328, 328, 157, 320,
+ 157, 157, 157, 157, 1013, 328, 1013, 345, 368, 368,
+ 157, 157, 922, 348, 348, 320, 922, 157, 354, 354,
+ 157, 328, 348, 333, 157, 333, 536, 157, 333, 333,
+
+ 333, 333, 349, 349, 1024, 157, 364, 364, 364, 364,
+ 1016, 349, 976, 157, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160, 160, 536,
+ 160, 160, 371, 371, 1014, 354, 160, 160, 160, 160,
+ 1015, 327, 1015, 327, 327, 327, 327, 331, 331, 331,
+ 331, 356, 356, 160, 327, 358, 358, 976, 331, 1012,
+ 360, 360, 369, 369, 360, 1010, 369, 356, 356, 360,
+ 327, 358, 358, 358, 331, 372, 372, 160, 160, 161,
161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
- 161, 161, 1033, 161, 161, 348, 359, 359, 794, 161,
-
- 161, 161, 161, 333, 333, 333, 333, 355, 355, 377,
- 377, 794, 359, 359, 333, 931, 161, 794, 377, 931,
- 360, 360, 161, 355, 355, 355, 355, 541, 373, 373,
- 333, 360, 373, 360, 355, 1031, 360, 360, 360, 360,
- 161, 161, 171, 543, 171, 171, 171, 171, 374, 374,
- 355, 1023, 374, 924, 171, 171, 362, 362, 924, 171,
- 541, 171, 382, 382, 171, 373, 364, 364, 171, 981,
- 364, 171, 362, 362, 362, 364, 543, 378, 378, 171,
- 396, 396, 1021, 383, 383, 374, 378, 171, 174, 174,
- 1019, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-
- 174, 174, 174, 1017, 174, 174, 358, 358, 855, 382,
- 174, 174, 174, 174, 981, 385, 385, 613, 379, 379,
- 398, 398, 358, 358, 358, 358, 1016, 174, 381, 381,
- 383, 385, 385, 358, 379, 379, 379, 379, 855, 390,
- 390, 401, 401, 390, 381, 381, 381, 381, 390, 358,
- 613, 174, 174, 175, 175, 381, 175, 175, 175, 175,
- 175, 175, 175, 175, 175, 175, 175, 175, 1015, 175,
- 175, 381, 384, 384, 1014, 175, 175, 175, 175, 394,
- 394, 394, 394, 1012, 386, 386, 402, 402, 384, 384,
- 384, 384, 175, 388, 388, 386, 1011, 386, 175, 384,
-
- 386, 386, 386, 386, 395, 395, 395, 395, 932, 388,
- 388, 388, 932, 403, 403, 384, 175, 175, 313, 313,
- 313, 313, 403, 404, 404, 413, 413, 313, 313, 313,
- 399, 399, 404, 1010, 399, 615, 400, 400, 408, 408,
- 400, 313, 313, 313, 313, 313, 313, 315, 315, 1009,
- 315, 315, 315, 315, 315, 315, 315, 315, 315, 315,
- 315, 315, 1008, 315, 315, 405, 405, 399, 615, 315,
- 315, 315, 315, 400, 411, 411, 412, 412, 434, 434,
- 1007, 405, 405, 405, 405, 408, 315, 412, 1006, 412,
- 411, 411, 412, 412, 412, 412, 416, 416, 477, 477,
-
- 416, 420, 420, 420, 420, 416, 421, 421, 421, 421,
- 315, 315, 316, 316, 1003, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
- 316, 316, 316, 316, 316, 316, 316, 317, 317, 1002,
- 317, 317, 317, 317, 317, 317, 317, 317, 317, 317,
- 317, 317, 927, 317, 317, 407, 407, 927, 486, 317,
-
- 317, 317, 317, 409, 409, 928, 486, 414, 414, 486,
- 928, 407, 407, 407, 407, 1001, 317, 428, 428, 428,
- 428, 1000, 407, 414, 414, 414, 536, 536, 430, 430,
- 430, 430, 437, 437, 437, 317, 518, 518, 407, 430,
- 317, 317, 338, 338, 338, 338, 443, 998, 443, 443,
- 409, 338, 338, 338, 435, 430, 435, 554, 554, 435,
- 435, 435, 435, 608, 608, 338, 338, 338, 338, 338,
- 338, 340, 340, 340, 340, 340, 340, 996, 340, 340,
- 340, 340, 340, 340, 340, 340, 972, 340, 340, 410,
- 410, 995, 518, 340, 340, 340, 340, 972, 429, 994,
-
- 429, 429, 429, 429, 972, 410, 410, 410, 410, 993,
- 340, 429, 480, 480, 480, 429, 410, 444, 992, 444,
- 444, 445, 445, 445, 445, 683, 683, 429, 446, 446,
- 446, 446, 410, 991, 340, 340, 341, 341, 341, 341,
- 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
- 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
- 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
- 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
- 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
- 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
-
- 341, 342, 342, 342, 342, 342, 342, 990, 342, 342,
- 342, 342, 342, 342, 342, 342, 989, 342, 342, 433,
- 433, 433, 433, 342, 342, 342, 342, 539, 539, 539,
- 433, 447, 447, 447, 447, 448, 448, 448, 448, 933,
- 342, 934, 449, 933, 449, 934, 433, 449, 449, 449,
- 449, 476, 476, 476, 476, 478, 478, 478, 478, 342,
- 706, 706, 476, 988, 342, 342, 354, 354, 479, 479,
- 479, 479, 509, 967, 510, 557, 557, 557, 476, 509,
- 354, 510, 354, 354, 354, 354, 509, 511, 510, 512,
- 667, 513, 514, 354, 511, 844, 512, 354, 513, 514,
-
- 515, 511, 844, 512, 965, 513, 514, 515, 517, 354,
- 363, 363, 559, 531, 515, 517, 559, 566, 566, 510,
- 531, 559, 517, 667, 564, 564, 363, 363, 363, 363,
- 844, 512, 516, 566, 566, 363, 363, 363, 515, 516,
- 727, 727, 515, 672, 531, 517, 516, 975, 531, 363,
- 363, 363, 363, 363, 363, 365, 365, 365, 365, 365,
- 365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
- 964, 365, 365, 516, 564, 963, 672, 365, 365, 365,
- 365, 524, 524, 524, 524, 524, 537, 537, 537, 537,
- 532, 962, 532, 975, 365, 532, 532, 532, 532, 538,
-
- 538, 538, 538, 550, 960, 550, 728, 728, 550, 550,
- 550, 550, 555, 555, 555, 555, 733, 733, 365, 365,
- 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
- 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
- 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
- 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
- 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
- 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
- 366, 366, 366, 366, 366, 367, 367, 367, 367, 367,
- 367, 367, 367, 367, 367, 367, 367, 367, 367, 367,
-
- 695, 367, 367, 535, 535, 535, 535, 367, 367, 367,
- 367, 563, 563, 959, 535, 553, 553, 553, 553, 556,
- 556, 556, 556, 935, 367, 699, 553, 935, 562, 562,
- 535, 572, 572, 695, 578, 578, 565, 565, 958, 562,
- 572, 562, 553, 367, 562, 562, 562, 562, 367, 367,
- 380, 380, 565, 565, 565, 565, 567, 567, 699, 563,
- 611, 611, 611, 565, 380, 957, 380, 380, 380, 380,
- 568, 568, 567, 567, 567, 567, 936, 380, 677, 565,
- 936, 380, 569, 569, 578, 677, 568, 568, 568, 568,
- 576, 576, 677, 380, 389, 389, 586, 586, 569, 569,
-
- 569, 576, 1020, 576, 1020, 586, 576, 576, 576, 576,
- 389, 389, 389, 389, 580, 580, 592, 592, 956, 389,
- 389, 389, 571, 571, 577, 577, 571, 779, 573, 573,
- 580, 580, 573, 389, 389, 389, 389, 389, 389, 391,
- 391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
- 391, 391, 391, 391, 982, 391, 391, 579, 579, 571,
- 779, 391, 391, 391, 391, 573, 592, 734, 734, 581,
- 581, 955, 577, 579, 579, 579, 579, 954, 391, 582,
- 582, 600, 600, 953, 579, 581, 581, 581, 581, 951,
- 600, 609, 609, 609, 609, 582, 582, 582, 582, 982,
-
- 579, 950, 391, 391, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392, 392, 392,
- 392, 392, 392, 392, 392, 392, 392, 392, 392, 393,
- 393, 393, 393, 393, 393, 393, 393, 393, 393, 393,
- 393, 393, 393, 393, 949, 393, 393, 583, 583, 591,
- 591, 393, 393, 393, 393, 983, 736, 736, 594, 594,
-
- 736, 595, 595, 583, 583, 583, 585, 585, 393, 783,
- 585, 948, 587, 587, 594, 594, 587, 595, 595, 595,
- 595, 599, 599, 689, 678, 599, 947, 393, 590, 590,
- 689, 678, 393, 393, 406, 406, 946, 591, 678, 590,
- 983, 590, 783, 585, 590, 590, 590, 590, 406, 587,
- 406, 406, 406, 406, 945, 593, 593, 689, 599, 944,
- 715, 406, 601, 601, 715, 406, 601, 596, 596, 715,
- 943, 593, 593, 593, 593, 597, 597, 406, 415, 415,
- 745, 745, 593, 596, 596, 596, 596, 610, 610, 610,
- 610, 597, 597, 597, 415, 415, 415, 415, 593, 601,
-
- 746, 746, 682, 415, 415, 415, 604, 875, 604, 682,
- 875, 604, 604, 604, 604, 978, 682, 415, 415, 415,
- 415, 415, 415, 417, 417, 417, 417, 417, 417, 417,
- 417, 417, 417, 417, 417, 417, 417, 417, 942, 417,
- 417, 607, 607, 607, 607, 417, 417, 417, 417, 751,
- 751, 682, 607, 618, 618, 618, 618, 619, 619, 619,
- 619, 978, 417, 691, 691, 691, 691, 941, 607, 692,
- 692, 692, 692, 711, 711, 711, 711, 712, 712, 712,
- 712, 752, 752, 763, 763, 940, 417, 417, 418, 418,
- 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
-
- 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
- 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
- 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
- 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
- 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
- 418, 418, 418, 419, 419, 419, 419, 419, 419, 419,
- 419, 419, 419, 419, 419, 419, 419, 419, 939, 419,
- 419, 937, 679, 680, 915, 419, 419, 419, 419, 679,
- 680, 681, 721, 721, 764, 764, 679, 680, 681, 690,
- 722, 722, 419, 723, 723, 681, 690, 914, 721, 721,
-
- 721, 721, 912, 729, 729, 911, 722, 722, 722, 722,
- 909, 419, 729, 679, 680, 908, 419, 419, 438, 438,
- 438, 438, 1022, 690, 1022, 681, 907, 438, 438, 438,
- 724, 724, 904, 754, 754, 903, 723, 754, 902, 741,
- 741, 438, 438, 438, 438, 438, 438, 440, 440, 901,
- 440, 440, 440, 440, 440, 440, 440, 440, 440, 440,
- 440, 440, 984, 440, 440, 730, 730, 769, 769, 440,
- 440, 440, 440, 724, 730, 739, 739, 725, 725, 740,
- 740, 725, 741, 770, 770, 900, 440, 757, 757, 839,
- 839, 739, 739, 739, 739, 740, 740, 740, 740, 747,
-
- 747, 860, 860, 757, 757, 757, 757, 984, 747, 898,
- 440, 440, 441, 441, 725, 441, 441, 441, 441, 441,
- 441, 441, 441, 441, 441, 441, 441, 441, 441, 441,
- 441, 441, 441, 441, 441, 441, 441, 441, 441, 441,
- 441, 441, 441, 441, 441, 441, 441, 441, 441, 441,
- 441, 441, 441, 441, 441, 441, 441, 441, 441, 441,
- 441, 441, 441, 441, 441, 441, 441, 441, 441, 441,
- 441, 441, 441, 441, 441, 441, 441, 442, 442, 897,
- 442, 442, 442, 442, 442, 442, 442, 442, 442, 442,
- 442, 442, 985, 442, 442, 742, 742, 748, 748, 442,
-
- 442, 442, 442, 979, 759, 759, 748, 760, 760, 726,
- 726, 731, 731, 726, 896, 731, 442, 732, 732, 743,
- 743, 732, 895, 743, 744, 744, 749, 749, 744, 1030,
- 749, 1030, 772, 772, 894, 442, 772, 985, 742, 893,
- 442, 442, 540, 540, 540, 540, 726, 759, 731, 979,
- 760, 540, 540, 540, 732, 845, 743, 775, 775, 775,
- 775, 744, 845, 749, 891, 540, 540, 540, 540, 540,
- 540, 544, 544, 890, 544, 544, 544, 544, 544, 544,
- 544, 544, 544, 544, 544, 544, 889, 544, 544, 888,
- 758, 758, 845, 544, 544, 544, 544, 776, 776, 776,
-
- 776, 750, 750, 765, 765, 750, 758, 758, 758, 758,
- 544, 886, 765, 766, 766, 861, 861, 862, 862, 864,
- 864, 885, 766, 865, 865, 866, 866, 868, 868, 869,
- 869, 870, 870, 884, 544, 544, 545, 545, 750, 545,
- 545, 545, 545, 545, 545, 545, 545, 545, 545, 545,
- 545, 545, 545, 545, 545, 545, 545, 545, 545, 545,
- 545, 545, 545, 545, 545, 545, 545, 545, 545, 545,
- 545, 545, 545, 545, 545, 545, 545, 545, 545, 545,
- 545, 545, 545, 545, 545, 545, 545, 545, 545, 545,
- 545, 545, 545, 545, 545, 545, 545, 545, 545, 545,
-
- 545, 558, 558, 558, 558, 874, 874, 883, 837, 882,
- 558, 558, 558, 761, 761, 837, 881, 761, 880, 762,
- 762, 879, 837, 762, 558, 558, 558, 558, 558, 558,
- 560, 560, 560, 560, 560, 560, 877, 560, 560, 560,
- 560, 560, 560, 560, 560, 986, 560, 560, 1059, 1059,
- 761, 921, 560, 560, 560, 560, 762, 837, 921, 918,
- 919, 973, 876, 938, 767, 767, 918, 919, 767, 560,
- 1060, 1060, 973, 918, 919, 920, 938, 920, 920, 973,
- 851, 921, 938, 971, 842, 971, 971, 1024, 1024, 1024,
- 986, 1024, 833, 560, 560, 561, 561, 561, 561, 561,
-
- 561, 767, 561, 561, 561, 561, 561, 561, 561, 561,
- 561, 561, 561, 561, 561, 561, 561, 561, 561, 561,
- 561, 561, 561, 561, 561, 561, 561, 561, 561, 561,
- 561, 561, 561, 561, 561, 561, 561, 561, 561, 561,
- 561, 561, 561, 561, 561, 561, 561, 561, 561, 561,
- 561, 561, 561, 561, 561, 561, 561, 561, 561, 561,
- 570, 570, 969, 922, 970, 832, 969, 831, 970, 830,
- 922, 1061, 1061, 969, 829, 970, 570, 570, 570, 570,
- 969, 828, 970, 916, 834, 570, 570, 570, 768, 768,
- 916, 834, 768, 922, 987, 827, 826, 916, 834, 570,
-
- 570, 570, 570, 570, 570, 574, 574, 574, 574, 574,
- 574, 574, 574, 574, 574, 574, 574, 574, 574, 574,
- 916, 574, 574, 825, 836, 768, 834, 574, 574, 574,
- 574, 836, 1025, 1025, 1025, 1027, 1027, 1027, 836, 987,
- 824, 1026, 1026, 1026, 574, 1026, 1028, 1028, 1028, 823,
- 1028, 1029, 1029, 1029, 822, 819, 818, 816, 814, 812,
- 811, 809, 808, 836, 807, 806, 805, 804, 574, 574,
- 575, 575, 575, 575, 575, 575, 575, 575, 575, 575,
- 575, 575, 575, 575, 575, 575, 575, 575, 575, 575,
- 575, 575, 575, 575, 575, 575, 575, 575, 575, 575,
-
- 575, 575, 575, 575, 575, 575, 575, 575, 575, 575,
- 575, 575, 575, 575, 575, 575, 575, 575, 575, 575,
- 575, 575, 575, 575, 575, 575, 575, 575, 575, 575,
- 575, 575, 575, 575, 575, 584, 584, 803, 802, 801,
- 799, 798, 797, 796, 793, 791, 790, 789, 787, 782,
- 778, 584, 584, 584, 584, 777, 835, 774, 917, 756,
- 584, 584, 584, 835, 738, 917, 720, 718, 714, 713,
- 835, 708, 917, 707, 584, 584, 584, 584, 584, 584,
- 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
- 588, 588, 588, 588, 588, 917, 588, 588, 705, 703,
-
- 835, 698, 588, 588, 588, 588, 694, 693, 688, 687,
- 686, 685, 676, 675, 670, 666, 665, 664, 663, 588,
- 662, 661, 659, 658, 657, 656, 655, 654, 652, 651,
- 650, 649, 648, 647, 646, 645, 644, 642, 641, 640,
- 639, 638, 637, 588, 588, 589, 589, 589, 589, 589,
- 589, 589, 589, 589, 589, 589, 589, 589, 589, 589,
- 589, 589, 589, 589, 589, 589, 589, 589, 589, 589,
- 589, 589, 589, 589, 589, 589, 589, 589, 589, 589,
- 589, 589, 589, 589, 589, 589, 589, 589, 589, 589,
- 589, 589, 589, 589, 589, 589, 589, 589, 589, 589,
-
- 589, 589, 589, 589, 589, 589, 589, 589, 589, 589,
- 598, 598, 636, 635, 634, 633, 632, 630, 629, 628,
- 627, 626, 625, 624, 623, 622, 598, 598, 598, 598,
- 621, 614, 606, 605, 552, 598, 598, 598, 551, 548,
- 547, 546, 542, 534, 533, 530, 529, 528, 527, 598,
- 598, 598, 598, 598, 598, 602, 602, 602, 602, 602,
- 602, 602, 602, 602, 602, 602, 602, 602, 602, 602,
- 522, 602, 602, 521, 520, 519, 508, 602, 602, 602,
- 602, 505, 502, 500, 499, 498, 497, 496, 495, 494,
- 493, 492, 491, 490, 602, 489, 488, 487, 485, 484,
-
- 483, 482, 474, 473, 472, 471, 470, 469, 468, 467,
- 466, 465, 464, 462, 461, 459, 458, 457, 602, 602,
- 603, 603, 603, 603, 603, 603, 603, 603, 603, 603,
- 603, 603, 603, 603, 603, 603, 603, 603, 603, 603,
- 603, 603, 603, 603, 603, 603, 603, 603, 603, 603,
- 603, 603, 603, 603, 603, 603, 603, 603, 603, 603,
- 603, 603, 603, 603, 603, 603, 603, 603, 603, 603,
- 603, 603, 603, 603, 603, 603, 603, 603, 603, 603,
- 603, 603, 603, 603, 603, 612, 612, 612, 612, 456,
- 455, 454, 453, 452, 612, 612, 612, 451, 432, 431,
-
- 427, 332, 331, 321, 320, 319, 307, 306, 612, 612,
- 612, 612, 612, 612, 616, 616, 302, 616, 616, 616,
- 616, 616, 616, 616, 616, 616, 616, 616, 616, 292,
- 616, 616, 289, 288, 284, 278, 616, 616, 616, 616,
- 277, 275, 274, 273, 271, 270, 248, 246, 245, 238,
- 237, 235, 229, 616, 228, 227, 219, 218, 217, 215,
- 210, 208, 207, 205, 204, 203, 193, 173, 168, 166,
- 117, 107, 102, 97, 92, 90, 81, 616, 616, 617,
- 617, 76, 617, 617, 617, 617, 617, 617, 617, 617,
- 617, 617, 617, 617, 617, 617, 617, 617, 617, 617,
-
- 617, 617, 617, 617, 617, 617, 617, 617, 617, 617,
- 617, 617, 617, 617, 617, 617, 617, 617, 617, 617,
- 617, 617, 617, 617, 617, 617, 617, 617, 617, 617,
- 617, 617, 617, 617, 617, 617, 617, 617, 617, 617,
- 617, 617, 617, 617, 702, 702, 65, 702, 702, 702,
- 702, 702, 702, 702, 702, 702, 702, 702, 702, 34,
- 702, 702, 32, 28, 23, 0, 702, 702, 702, 702,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 702, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
- 0, 0, 0, 0, 0, 0, 0, 702, 702, 704,
- 704, 0, 704, 704, 704, 704, 704, 704, 704, 704,
- 704, 704, 704, 704, 704, 704, 704, 704, 704, 704,
- 704, 704, 704, 704, 704, 704, 704, 704, 704, 704,
- 704, 704, 704, 704, 704, 704, 704, 704, 704, 704,
- 704, 704, 704, 704, 704, 704, 704, 704, 704, 704,
- 704, 704, 704, 704, 704, 704, 704, 704, 704, 704,
- 704, 704, 704, 704, 717, 717, 717, 717, 717, 717,
- 0, 717, 717, 717, 717, 717, 717, 717, 717, 0,
- 717, 717, 0, 0, 0, 0, 717, 717, 717, 717,
+ 161, 161, 161, 161, 1009, 161, 161, 350, 350, 369,
+ 606, 161, 161, 161, 161, 365, 365, 365, 365, 351,
+ 351, 373, 373, 350, 350, 350, 350, 542, 161, 1008,
+ 373, 357, 357, 351, 161, 351, 351, 351, 351, 391,
+ 391, 923, 357, 606, 357, 923, 351, 357, 357, 357,
+ 357, 542, 161, 161, 171, 542, 171, 171, 171, 171,
+ 370, 370, 351, 608, 370, 660, 171, 171, 374, 374,
+ 375, 375, 970, 171, 378, 378, 171, 374, 381, 381,
+ 171, 379, 379, 171, 393, 393, 375, 375, 375, 375,
+ 970, 171, 396, 396, 381, 381, 608, 370, 660, 171,
+ 174, 174, 1007, 174, 174, 174, 174, 174, 174, 174,
+
+ 174, 174, 174, 174, 174, 917, 174, 174, 352, 352,
+ 917, 378, 174, 174, 174, 174, 397, 397, 379, 385,
+ 385, 382, 382, 385, 352, 352, 352, 352, 385, 174,
+ 355, 355, 382, 860, 382, 352, 860, 382, 382, 382,
+ 382, 389, 389, 389, 389, 920, 355, 355, 355, 355,
+ 920, 352, 665, 174, 174, 175, 175, 355, 175, 175,
+ 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+ 1005, 175, 175, 355, 376, 376, 1004, 175, 175, 175,
+ 175, 390, 390, 390, 390, 665, 383, 383, 376, 1003,
+ 376, 376, 376, 376, 175, 394, 394, 377, 377, 394,
+
+ 175, 376, 383, 383, 383, 395, 395, 428, 428, 395,
+ 430, 430, 430, 377, 377, 377, 377, 376, 175, 175,
+ 311, 311, 311, 311, 377, 398, 398, 399, 399, 311,
+ 311, 311, 394, 1002, 398, 436, 399, 436, 436, 1001,
+ 377, 967, 395, 311, 311, 311, 311, 311, 311, 313,
+ 313, 1000, 313, 313, 313, 313, 313, 313, 313, 313,
+ 313, 313, 313, 313, 977, 313, 313, 380, 380, 403,
+ 403, 313, 313, 313, 313, 406, 406, 470, 470, 400,
+ 400, 529, 529, 380, 380, 380, 380, 967, 313, 407,
+ 407, 406, 406, 999, 380, 400, 400, 400, 400, 996,
+
+ 407, 437, 407, 437, 437, 407, 407, 407, 407, 977,
+ 380, 995, 313, 313, 314, 314, 403, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 315,
+ 315, 994, 315, 315, 315, 315, 315, 315, 315, 315,
+ 315, 315, 315, 315, 993, 315, 315, 401, 401, 688,
+
+ 524, 315, 315, 315, 315, 408, 408, 524, 552, 402,
+ 402, 401, 552, 401, 401, 401, 401, 552, 315, 404,
+ 404, 408, 408, 408, 401, 402, 402, 402, 402, 410,
+ 410, 524, 688, 410, 921, 524, 402, 315, 410, 921,
+ 401, 991, 315, 315, 335, 335, 335, 335, 414, 414,
+ 414, 414, 402, 335, 335, 335, 415, 415, 415, 415,
+ 422, 422, 422, 422, 547, 547, 404, 335, 335, 335,
+ 335, 335, 335, 337, 337, 337, 337, 337, 337, 989,
+ 337, 337, 337, 337, 337, 337, 337, 337, 965, 337,
+ 337, 405, 405, 601, 601, 337, 337, 337, 337, 965,
+
+ 423, 988, 423, 423, 423, 423, 965, 405, 405, 405,
+ 405, 924, 337, 423, 429, 924, 429, 987, 405, 429,
+ 429, 429, 429, 438, 438, 438, 438, 676, 676, 423,
+ 439, 439, 439, 439, 405, 986, 337, 337, 338, 338,
+ 338, 338, 338, 338, 338, 338, 338, 338, 338, 338,
+ 338, 338, 338, 338, 338, 338, 338, 338, 338, 338,
+ 338, 338, 338, 338, 338, 338, 338, 338, 338, 338,
+ 338, 338, 338, 338, 338, 338, 338, 338, 338, 338,
+ 338, 338, 338, 338, 338, 338, 338, 338, 338, 338,
+ 338, 338, 338, 338, 338, 338, 338, 338, 338, 338,
+
+ 338, 338, 338, 339, 339, 339, 339, 339, 339, 985,
+ 339, 339, 339, 339, 339, 339, 339, 339, 984, 339,
+ 339, 424, 424, 424, 424, 339, 339, 339, 339, 473,
+ 473, 473, 424, 427, 427, 427, 427, 440, 440, 440,
+ 440, 983, 339, 925, 427, 511, 511, 925, 424, 441,
+ 441, 441, 441, 471, 471, 471, 471, 442, 982, 442,
+ 427, 339, 442, 442, 442, 442, 339, 339, 359, 359,
+ 469, 469, 469, 469, 472, 472, 472, 472, 557, 557,
+ 479, 469, 502, 981, 359, 359, 359, 359, 479, 502,
+ 960, 479, 504, 359, 359, 359, 502, 469, 692, 504,
+
+ 958, 511, 530, 530, 530, 530, 504, 359, 359, 359,
+ 359, 359, 359, 361, 361, 361, 361, 361, 361, 361,
+ 361, 361, 361, 361, 361, 361, 361, 361, 557, 361,
+ 361, 692, 505, 506, 507, 361, 361, 361, 361, 505,
+ 506, 507, 531, 531, 531, 531, 505, 506, 507, 532,
+ 532, 532, 361, 517, 517, 517, 517, 517, 525, 957,
+ 525, 699, 699, 525, 525, 525, 525, 548, 548, 548,
+ 548, 550, 550, 550, 505, 956, 361, 361, 362, 362,
+ 362, 362, 362, 362, 362, 362, 362, 362, 362, 362,
+ 362, 362, 362, 362, 362, 362, 362, 362, 362, 362,
+
+ 362, 362, 362, 362, 362, 362, 362, 362, 362, 362,
+ 362, 362, 362, 362, 362, 362, 362, 362, 362, 362,
+ 362, 362, 362, 362, 362, 362, 362, 362, 362, 362,
+ 362, 362, 362, 362, 362, 362, 362, 362, 362, 362,
+ 362, 362, 362, 363, 363, 363, 363, 363, 363, 363,
+ 363, 363, 363, 363, 363, 363, 363, 363, 955, 363,
+ 363, 720, 720, 509, 953, 363, 363, 363, 363, 503,
+ 509, 556, 556, 508, 721, 721, 503, 509, 864, 510,
+ 508, 864, 363, 503, 570, 570, 510, 508, 549, 549,
+ 549, 549, 978, 510, 528, 528, 528, 528, 584, 584,
+
+ 1023, 363, 1023, 670, 509, 528, 363, 363, 384, 384,
+ 670, 508, 559, 559, 503, 508, 510, 670, 952, 556,
+ 951, 528, 565, 565, 384, 384, 384, 384, 559, 559,
+ 950, 565, 570, 384, 384, 384, 543, 978, 543, 571,
+ 571, 543, 543, 543, 543, 968, 584, 384, 384, 384,
+ 384, 384, 384, 386, 386, 386, 386, 386, 386, 386,
+ 386, 386, 386, 386, 386, 386, 386, 386, 949, 386,
+ 386, 546, 546, 546, 546, 386, 386, 386, 386, 604,
+ 604, 604, 546, 555, 555, 948, 708, 560, 560, 571,
+ 708, 968, 386, 926, 555, 708, 555, 926, 546, 555,
+
+ 555, 555, 555, 560, 560, 560, 560, 597, 947, 597,
+ 726, 726, 597, 597, 597, 597, 386, 386, 387, 387,
+ 387, 387, 387, 387, 387, 387, 387, 387, 387, 387,
+ 387, 387, 387, 387, 387, 387, 387, 387, 387, 387,
+ 387, 387, 387, 387, 387, 387, 387, 387, 387, 387,
+ 387, 387, 387, 387, 387, 387, 387, 387, 387, 387,
+ 387, 387, 387, 387, 387, 387, 387, 387, 387, 387,
+ 387, 387, 387, 387, 387, 387, 387, 387, 387, 387,
+ 387, 387, 387, 388, 388, 388, 388, 388, 388, 388,
+ 388, 388, 388, 388, 388, 388, 388, 388, 946, 388,
+
+ 388, 558, 558, 579, 579, 388, 388, 388, 388, 562,
+ 562, 944, 579, 561, 561, 593, 593, 558, 558, 558,
+ 558, 772, 388, 943, 593, 562, 562, 562, 558, 561,
+ 561, 561, 561, 564, 564, 566, 566, 564, 671, 566,
+ 942, 388, 569, 569, 558, 671, 388, 388, 409, 409,
+ 727, 727, 671, 569, 772, 569, 738, 738, 569, 569,
+ 569, 569, 573, 573, 409, 409, 409, 409, 576, 576,
+ 564, 941, 566, 409, 409, 409, 578, 578, 573, 573,
+ 578, 585, 585, 940, 576, 576, 576, 409, 409, 409,
+ 409, 409, 409, 411, 411, 411, 411, 411, 411, 411,
+
+ 411, 411, 411, 411, 411, 411, 411, 411, 979, 411,
+ 411, 572, 572, 578, 682, 411, 411, 411, 411, 587,
+ 587, 682, 776, 574, 574, 739, 739, 572, 572, 572,
+ 572, 585, 411, 575, 575, 587, 587, 939, 572, 574,
+ 574, 574, 574, 602, 602, 602, 602, 938, 682, 575,
+ 575, 575, 575, 979, 572, 776, 411, 411, 412, 412,
+ 412, 412, 412, 412, 412, 412, 412, 412, 412, 412,
+ 412, 412, 412, 412, 412, 412, 412, 412, 412, 412,
+ 412, 412, 412, 412, 412, 412, 412, 412, 412, 412,
+ 412, 412, 412, 412, 412, 412, 412, 412, 412, 412,
+
+ 412, 412, 412, 412, 412, 412, 412, 412, 412, 412,
+ 412, 412, 412, 412, 412, 412, 412, 412, 412, 412,
+ 412, 412, 412, 413, 413, 413, 413, 413, 413, 413,
+ 413, 413, 413, 413, 413, 413, 413, 413, 937, 413,
+ 413, 603, 603, 603, 603, 413, 413, 413, 413, 936,
+ 583, 583, 744, 744, 935, 580, 580, 586, 586, 580,
+ 934, 583, 413, 583, 745, 745, 583, 583, 583, 583,
+ 722, 722, 933, 586, 586, 586, 586, 588, 588, 722,
+ 932, 413, 756, 756, 586, 930, 413, 413, 431, 431,
+ 431, 431, 580, 588, 588, 588, 588, 431, 431, 431,
+
+ 586, 592, 592, 683, 971, 592, 611, 611, 611, 611,
+ 683, 431, 431, 431, 431, 431, 431, 433, 433, 908,
+ 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
+ 433, 433, 972, 433, 433, 589, 589, 683, 592, 433,
+ 433, 433, 433, 590, 590, 907, 600, 600, 600, 600,
+ 971, 589, 589, 589, 589, 868, 433, 600, 868, 590,
+ 590, 590, 612, 612, 612, 612, 684, 684, 684, 684,
+ 723, 723, 905, 600, 685, 685, 685, 685, 972, 723,
+ 433, 433, 434, 434, 904, 434, 434, 434, 434, 434,
+ 434, 434, 434, 434, 434, 434, 434, 434, 434, 434,
+
+ 434, 434, 434, 434, 434, 434, 434, 434, 434, 434,
+ 434, 434, 434, 434, 434, 434, 434, 434, 434, 434,
+ 434, 434, 434, 434, 434, 434, 434, 434, 434, 434,
+ 434, 434, 434, 434, 434, 434, 434, 434, 434, 434,
+ 434, 434, 434, 434, 434, 434, 434, 435, 435, 902,
+ 435, 435, 435, 435, 435, 435, 435, 435, 435, 435,
+ 435, 435, 901, 435, 435, 757, 757, 672, 673, 435,
+ 435, 435, 435, 900, 672, 673, 762, 762, 675, 594,
+ 594, 672, 673, 594, 674, 675, 435, 704, 704, 704,
+ 704, 674, 675, 705, 705, 705, 705, 897, 674, 729,
+
+ 729, 714, 714, 729, 896, 435, 763, 763, 672, 673,
+ 435, 435, 533, 533, 533, 533, 594, 714, 714, 714,
+ 714, 533, 533, 533, 716, 716, 980, 675, 674, 717,
+ 717, 768, 768, 768, 768, 533, 533, 533, 533, 533,
+ 533, 537, 537, 895, 537, 537, 537, 537, 537, 537,
+ 537, 537, 537, 537, 537, 537, 894, 537, 537, 715,
+ 715, 740, 740, 537, 537, 537, 537, 716, 732, 732,
+ 740, 980, 717, 733, 733, 715, 715, 715, 715, 927,
+ 537, 832, 832, 927, 732, 732, 732, 732, 893, 733,
+ 733, 733, 733, 741, 741, 747, 747, 765, 765, 747,
+
+ 891, 765, 741, 890, 537, 537, 538, 538, 889, 538,
+ 538, 538, 538, 538, 538, 538, 538, 538, 538, 538,
+ 538, 538, 538, 538, 538, 538, 538, 538, 538, 538,
+ 538, 538, 538, 538, 538, 538, 538, 538, 538, 538,
+ 538, 538, 538, 538, 538, 538, 538, 538, 538, 538,
+ 538, 538, 538, 538, 538, 538, 538, 538, 538, 538,
+ 538, 538, 538, 538, 538, 538, 538, 538, 538, 538,
+ 538, 551, 551, 551, 551, 734, 734, 888, 735, 735,
+ 551, 551, 551, 718, 718, 853, 853, 718, 887, 719,
+ 719, 854, 854, 719, 551, 551, 551, 551, 551, 551,
+
+ 553, 553, 553, 553, 553, 553, 886, 553, 553, 553,
+ 553, 553, 553, 553, 553, 803, 553, 553, 734, 884,
+ 718, 735, 553, 553, 553, 553, 719, 750, 750, 928,
+ 803, 751, 751, 928, 724, 724, 803, 883, 724, 553,
+ 855, 855, 882, 750, 750, 750, 750, 751, 751, 751,
+ 751, 758, 758, 759, 759, 769, 769, 769, 769, 881,
+ 758, 879, 759, 553, 553, 554, 554, 554, 554, 554,
+ 554, 724, 554, 554, 554, 554, 554, 554, 554, 554,
+ 554, 554, 554, 554, 554, 554, 554, 554, 554, 554,
+ 554, 554, 554, 554, 554, 554, 554, 554, 554, 554,
+
+ 554, 554, 554, 554, 554, 554, 554, 554, 554, 554,
+ 554, 554, 554, 554, 554, 554, 554, 554, 554, 554,
+ 554, 554, 554, 554, 554, 554, 554, 554, 554, 554,
+ 563, 563, 837, 857, 857, 858, 858, 859, 859, 837,
+ 861, 861, 862, 862, 863, 863, 563, 563, 563, 563,
+ 752, 752, 878, 753, 753, 563, 563, 563, 725, 725,
+ 867, 867, 725, 877, 736, 736, 876, 837, 736, 563,
+ 563, 563, 563, 563, 563, 567, 567, 567, 567, 567,
+ 567, 567, 567, 567, 567, 567, 567, 567, 567, 567,
+ 787, 567, 567, 752, 875, 725, 753, 567, 567, 567,
+
+ 567, 736, 929, 787, 911, 912, 929, 931, 874, 787,
+ 873, 911, 912, 913, 567, 913, 913, 962, 911, 912,
+ 931, 962, 964, 872, 964, 964, 931, 870, 962, 1017,
+ 1017, 1017, 869, 1017, 844, 962, 1052, 1052, 567, 567,
+ 568, 568, 568, 568, 568, 568, 568, 568, 568, 568,
+ 568, 568, 568, 568, 568, 568, 568, 568, 568, 568,
+ 568, 568, 568, 568, 568, 568, 568, 568, 568, 568,
+ 568, 568, 568, 568, 568, 568, 568, 568, 568, 568,
+ 568, 568, 568, 568, 568, 568, 568, 568, 568, 568,
+ 568, 568, 568, 568, 568, 568, 568, 568, 568, 568,
+
+ 568, 568, 568, 568, 568, 577, 577, 835, 914, 963,
+ 826, 915, 825, 963, 824, 914, 1053, 1053, 915, 823,
+ 963, 577, 577, 577, 577, 1054, 1054, 963, 830, 822,
+ 577, 577, 577, 737, 737, 830, 821, 737, 914, 742,
+ 742, 915, 830, 742, 577, 577, 577, 577, 577, 577,
+ 581, 581, 581, 581, 581, 581, 581, 581, 581, 581,
+ 581, 581, 581, 581, 581, 820, 581, 581, 966, 819,
+ 737, 829, 581, 581, 581, 581, 742, 830, 829, 966,
+ 1018, 1018, 1018, 818, 817, 829, 966, 816, 815, 581,
+ 1019, 1019, 1019, 812, 1019, 1020, 1020, 1020, 1021, 1021,
+
+ 1021, 811, 1021, 1022, 1022, 1022, 809, 807, 805, 804,
+ 829, 802, 801, 581, 581, 582, 582, 582, 582, 582,
+ 582, 582, 582, 582, 582, 582, 582, 582, 582, 582,
+ 582, 582, 582, 582, 582, 582, 582, 582, 582, 582,
+ 582, 582, 582, 582, 582, 582, 582, 582, 582, 582,
+ 582, 582, 582, 582, 582, 582, 582, 582, 582, 582,
+ 582, 582, 582, 582, 582, 582, 582, 582, 582, 582,
+ 582, 582, 582, 582, 582, 582, 582, 582, 582, 582,
+ 591, 591, 800, 799, 798, 797, 796, 795, 794, 792,
+ 791, 790, 789, 786, 784, 783, 591, 591, 591, 591,
+
+ 782, 780, 775, 838, 771, 591, 591, 591, 743, 743,
+ 838, 770, 743, 767, 754, 754, 749, 731, 754, 591,
+ 591, 591, 591, 591, 591, 595, 595, 595, 595, 595,
+ 595, 595, 595, 595, 595, 595, 595, 595, 595, 595,
+ 838, 595, 595, 713, 711, 743, 909, 595, 595, 595,
+ 595, 754, 707, 909, 706, 701, 700, 698, 696, 691,
+ 909, 687, 686, 681, 595, 680, 679, 678, 669, 668,
+ 663, 659, 658, 657, 656, 655, 654, 652, 651, 650,
+ 649, 648, 647, 909, 645, 644, 643, 642, 595, 595,
+ 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
+
+ 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
+ 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
+ 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
+ 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
+ 596, 596, 596, 596, 596, 596, 596, 596, 596, 596,
+ 596, 596, 596, 596, 596, 605, 605, 605, 605, 641,
+ 640, 639, 910, 638, 605, 605, 605, 755, 755, 910,
+ 637, 755, 635, 760, 760, 634, 910, 760, 605, 605,
+ 605, 605, 605, 605, 609, 609, 633, 609, 609, 609,
+ 609, 609, 609, 609, 609, 609, 609, 609, 609, 910,
+
+ 609, 609, 632, 631, 755, 630, 609, 609, 609, 609,
+ 760, 629, 628, 627, 761, 761, 626, 625, 761, 623,
+ 622, 621, 620, 609, 619, 618, 617, 616, 615, 614,
+ 607, 599, 598, 545, 544, 541, 540, 539, 535, 527,
+ 526, 523, 522, 521, 520, 515, 514, 609, 609, 610,
+ 610, 761, 610, 610, 610, 610, 610, 610, 610, 610,
+ 610, 610, 610, 610, 610, 610, 610, 610, 610, 610,
+ 610, 610, 610, 610, 610, 610, 610, 610, 610, 610,
+ 610, 610, 610, 610, 610, 610, 610, 610, 610, 610,
+ 610, 610, 610, 610, 610, 610, 610, 610, 610, 610,
+
+ 610, 610, 610, 610, 610, 610, 610, 610, 610, 610,
+ 610, 610, 610, 610, 695, 695, 513, 695, 695, 695,
+ 695, 695, 695, 695, 695, 695, 695, 695, 695, 512,
+ 695, 695, 501, 827, 498, 495, 695, 695, 695, 695,
+ 827, 493, 492, 491, 490, 489, 488, 827, 487, 486,
+ 485, 484, 483, 695, 482, 481, 480, 478, 477, 476,
+ 475, 467, 466, 465, 464, 463, 462, 461, 460, 459,
+ 458, 457, 455, 454, 452, 827, 451, 695, 695, 697,
+ 697, 450, 697, 697, 697, 697, 697, 697, 697, 697,
+ 697, 697, 697, 697, 697, 697, 697, 697, 697, 697,
+
+ 697, 697, 697, 697, 697, 697, 697, 697, 697, 697,
+ 697, 697, 697, 697, 697, 697, 697, 697, 697, 697,
+ 697, 697, 697, 697, 697, 697, 697, 697, 697, 697,
+ 697, 697, 697, 697, 697, 697, 697, 697, 697, 697,
+ 697, 697, 697, 697, 710, 710, 710, 710, 710, 710,
+ 449, 710, 710, 710, 710, 710, 710, 710, 710, 448,
+ 710, 710, 447, 446, 445, 444, 710, 710, 710, 710,
+ 426, 828, 425, 421, 330, 329, 319, 318, 828, 317,
+ 306, 305, 301, 710, 291, 828, 288, 287, 283, 277,
+ 276, 274, 273, 272, 270, 269, 247, 245, 244, 237,
+
+ 236, 234, 228, 227, 226, 219, 218, 710, 710, 712,
+ 712, 712, 712, 712, 712, 828, 712, 712, 712, 712,
+ 712, 712, 712, 712, 712, 712, 712, 712, 712, 712,
+ 712, 712, 712, 712, 712, 712, 712, 712, 712, 712,
+ 712, 712, 712, 712, 712, 712, 712, 712, 712, 712,
+ 712, 712, 712, 712, 712, 712, 712, 712, 712, 712,
+ 712, 712, 712, 712, 712, 712, 712, 712, 712, 712,
+ 712, 712, 712, 712, 728, 728, 728, 728, 728, 728,
+ 728, 728, 728, 728, 728, 728, 728, 728, 728, 217,
+ 728, 728, 215, 210, 208, 207, 728, 728, 728, 728,
+
+ 205, 204, 203, 193, 173, 168, 166, 117, 107, 102,
+ 97, 92, 90, 728, 81, 76, 65, 34, 32, 28,
+ 23, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 728, 728, 730,
+ 730, 730, 730, 730, 730, 730, 730, 730, 730, 730,
+ 730, 730, 730, 730, 730, 730, 730, 730, 730, 730,
+ 730, 730, 730, 730, 730, 730, 730, 730, 730, 730,
+ 730, 730, 730, 730, 730, 730, 730, 730, 730, 730,
+ 730, 730, 730, 730, 730, 730, 730, 730, 730, 730,
+ 730, 730, 730, 730, 730, 730, 730, 730, 730, 730,
+
+ 730, 730, 730, 730, 746, 746, 746, 746, 746, 746,
+ 746, 746, 746, 746, 746, 746, 746, 746, 746, 0,
+ 746, 746, 0, 0, 0, 0, 746, 746, 746, 746,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 717, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 717, 717, 719,
- 719, 719, 719, 719, 719, 0, 719, 719, 719, 719,
- 719, 719, 719, 719, 719, 719, 719, 719, 719, 719,
- 719, 719, 719, 719, 719, 719, 719, 719, 719, 719,
- 719, 719, 719, 719, 719, 719, 719, 719, 719, 719,
- 719, 719, 719, 719, 719, 719, 719, 719, 719, 719,
- 719, 719, 719, 719, 719, 719, 719, 719, 719, 719,
-
- 719, 719, 719, 719, 735, 735, 735, 735, 735, 735,
- 735, 735, 735, 735, 735, 735, 735, 735, 735, 0,
- 735, 735, 0, 0, 0, 0, 735, 735, 735, 735,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 735, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 746, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 735, 735, 737,
- 737, 737, 737, 737, 737, 737, 737, 737, 737, 737,
- 737, 737, 737, 737, 737, 737, 737, 737, 737, 737,
- 737, 737, 737, 737, 737, 737, 737, 737, 737, 737,
-
- 737, 737, 737, 737, 737, 737, 737, 737, 737, 737,
- 737, 737, 737, 737, 737, 737, 737, 737, 737, 737,
- 737, 737, 737, 737, 737, 737, 737, 737, 737, 737,
- 737, 737, 737, 737, 753, 753, 753, 753, 753, 753,
- 753, 753, 753, 753, 753, 753, 753, 753, 753, 0,
- 753, 753, 0, 0, 0, 0, 753, 753, 753, 753,
+ 0, 0, 0, 0, 0, 0, 0, 746, 746, 748,
+ 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
+ 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
+ 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
+
+ 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
+ 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
+ 748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
+ 748, 748, 748, 748, 764, 764, 764, 764, 764, 764,
+ 764, 764, 764, 764, 764, 764, 764, 764, 764, 0,
+ 764, 764, 0, 0, 0, 0, 764, 764, 764, 764,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 753, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 764, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 753, 753, 755,
+ 0, 0, 0, 0, 0, 0, 0, 764, 764, 766,
- 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
- 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
- 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
- 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
- 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
- 755, 755, 755, 755, 755, 755, 755, 755, 755, 755,
- 755, 755, 755, 755, 771, 771, 771, 771, 771, 771,
- 771, 771, 771, 771, 771, 771, 771, 771, 771, 0,
- 771, 771, 0, 0, 0, 0, 771, 771, 771, 771,
+ 766, 766, 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 766, 766, 766, 766, 766, 766,
+ 766, 766, 766, 766, 779, 779, 0, 779, 779, 779,
+ 779, 779, 779, 779, 779, 779, 779, 779, 779, 0,
+ 779, 779, 0, 0, 0, 0, 779, 779, 779, 779,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 771, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 779, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 771, 771, 773,
- 773, 773, 773, 773, 773, 773, 773, 773, 773, 773,
- 773, 773, 773, 773, 773, 773, 773, 773, 773, 773,
- 773, 773, 773, 773, 773, 773, 773, 773, 773, 773,
- 773, 773, 773, 773, 773, 773, 773, 773, 773, 773,
- 773, 773, 773, 773, 773, 773, 773, 773, 773, 773,
- 773, 773, 773, 773, 773, 773, 773, 773, 773, 773,
- 773, 773, 773, 773, 786, 786, 0, 786, 786, 786,
+ 0, 0, 0, 0, 0, 0, 0, 779, 779, 781,
+ 781, 0, 781, 781, 781, 781, 781, 781, 781, 781,
+ 781, 781, 781, 781, 781, 781, 781, 781, 781, 781,
+ 781, 781, 781, 781, 781, 781, 781, 781, 781, 781,
+ 781, 781, 781, 781, 781, 781, 781, 781, 781, 781,
+ 781, 781, 781, 781, 781, 781, 781, 781, 781, 781,
+ 781, 781, 781, 781, 781, 781, 781, 781, 781, 781,
+ 781, 781, 781, 781, 841, 841, 0, 841, 841, 841,
+
+ 841, 841, 841, 841, 841, 841, 841, 841, 841, 841,
+ 841, 841, 841, 841, 841, 841, 841, 841, 841, 841,
+ 841, 841, 841, 841, 841, 841, 841, 841, 841, 841,
+ 841, 841, 841, 841, 841, 841, 841, 841, 841, 841,
+ 841, 841, 841, 841, 841, 841, 841, 841, 841, 841,
+ 841, 841, 841, 841, 841, 841, 841, 841, 841, 851,
+ 851, 851, 851, 851, 851, 0, 851, 851, 851, 851,
+ 851, 851, 851, 851, 851, 851, 851, 851, 851, 851,
+ 851, 851, 851, 851, 851, 851, 851, 851, 851, 851,
+ 851, 851, 851, 851, 851, 851, 851, 851, 851, 851,
+
+ 851, 851, 851, 851, 851, 851, 851, 851, 851, 851,
+ 851, 851, 851, 851, 851, 851, 851, 851, 851, 851,
+ 851, 851, 851, 851, 1088, 0, 1088, 1088, 1088, 1088,
+ 1088, 1088, 1088, 1088, 1088, 1089, 0, 0, 1089, 1089,
+ 1090, 0, 1090, 1090, 1090, 1090, 1090, 1090, 1090, 1090,
+ 1090, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1092,
+ 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092, 1092,
+ 1093, 1093, 1093, 1093, 1094, 0, 1094, 0, 1094, 1094,
+ 1094, 1094, 1095, 1095, 1095, 1095, 1095, 1095, 1095, 1096,
+ 0, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096,
- 786, 786, 786, 786, 786, 786, 786, 786, 786, 0,
- 786, 786, 0, 0, 0, 0, 786, 786, 786, 786,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 786, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 786, 786, 788,
- 788, 0, 788, 788, 788, 788, 788, 788, 788, 788,
- 788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
- 788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
- 788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
-
- 788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
- 788, 788, 788, 788, 788, 788, 788, 788, 788, 788,
- 788, 788, 788, 788, 848, 848, 0, 848, 848, 848,
- 848, 848, 848, 848, 848, 848, 848, 848, 848, 848,
- 848, 848, 848, 848, 848, 848, 848, 848, 848, 848,
- 848, 848, 848, 848, 848, 848, 848, 848, 848, 848,
- 848, 848, 848, 848, 848, 848, 848, 848, 848, 848,
- 848, 848, 848, 848, 848, 848, 848, 848, 848, 848,
- 848, 848, 848, 848, 848, 848, 848, 848, 848, 858,
- 858, 858, 858, 858, 858, 0, 858, 858, 858, 858,
-
- 858, 858, 858, 858, 858, 858, 858, 858, 858, 858,
- 858, 858, 858, 858, 858, 858, 858, 858, 858, 858,
- 858, 858, 858, 858, 858, 858, 858, 858, 858, 858,
- 858, 858, 858, 858, 858, 858, 858, 858, 858, 858,
- 858, 858, 858, 858, 858, 858, 858, 858, 858, 858,
- 858, 858, 858, 858, 1095, 0, 1095, 1095, 1095, 1095,
- 1095, 1095, 1095, 1095, 1095, 1096, 0, 0, 1096, 1096,
1097, 0, 1097, 1097, 1097, 1097, 1097, 1097, 1097, 1097,
- 1097, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1098, 1099,
- 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
-
- 1100, 1100, 1100, 1100, 1101, 0, 1101, 0, 1101, 1101,
- 1101, 1101, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1103,
- 0, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103,
- 1104, 0, 1104, 1104, 1104, 1104, 1104, 1104, 1104, 1104,
- 1104, 1105, 0, 1105, 1105, 1105, 1105, 1105, 1105, 1105,
- 1105, 1105, 1106, 0, 1106, 1106, 1106, 1106, 1106, 1106,
- 1106, 1106, 1106, 1107, 1107, 1107, 1107, 1107, 1107, 1107,
- 1108, 1108, 0, 1108, 1108, 1108, 1108, 1108, 1108, 1108,
- 1108, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
- 1109, 1109, 1110, 1110, 0, 1110, 1110, 1110, 1110, 1110,
-
- 1110, 1110, 1110, 1111, 1111, 1111, 1111, 1111, 1111, 1111,
- 1111, 1111, 1111, 1111, 1112, 1112, 1112, 1112, 1112, 1112,
- 1112, 1112, 1112, 1112, 1112, 1113, 1113, 1113, 1113, 1113,
- 1113, 1113, 1113, 1113, 1113, 1113, 1114, 1114, 1114, 1114,
- 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1115, 1115, 1115,
- 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1116, 1116,
- 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1117,
- 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117,
- 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118,
- 1118, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119,
-
- 1119, 1119, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
- 1120, 1120, 1120, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
- 1121, 1121, 1121, 1121, 1122, 1122, 1122, 1122, 1122, 1122,
- 1122, 1122, 1122, 1122, 1122, 1123, 0, 1123, 1123, 1123,
- 1123, 1123, 1123, 1123, 1123, 1123, 1124, 0, 1124, 1124,
- 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1125, 0, 1125,
- 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1126, 0,
- 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1127,
- 0, 0, 1127, 1127, 1128, 0, 1128, 1128, 1128, 1128,
- 1128, 1128, 1128, 1128, 1128, 1129, 0, 0, 1129, 1129,
-
- 1129, 1130, 0, 0, 1130, 1131, 1131, 1131, 1131, 1131,
- 1131, 1131, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132,
- 1133, 0, 0, 0, 0, 1133, 1133, 1133, 1133, 1134,
- 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134,
- 1135, 1135, 1135, 1135, 1135, 1135, 1136, 1136, 1136, 1136,
- 1137, 0, 1137, 1137, 1137, 1137, 1138, 1138, 1138, 1138,
- 1138, 1138, 1138, 1139, 0, 1139, 1139, 1139, 1139, 1139,
- 1139, 1139, 1139, 1139, 1140, 0, 1140, 1140, 1140, 1140,
- 1140, 1140, 1140, 1140, 1140, 1141, 0, 1141, 1141, 1141,
- 1141, 1141, 1141, 1141, 1141, 1141, 1142, 0, 1142, 1142,
-
- 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1143, 1143, 0,
- 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1144, 1144,
- 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1145,
- 1145, 0, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
- 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
- 1146, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147,
- 1147, 1147, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148,
- 1148, 1148, 1148, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
- 1149, 1149, 1149, 1149, 1150, 1150, 1150, 1150, 1150, 1150,
- 1150, 1150, 1150, 1150, 1150, 1151, 1151, 1151, 1151, 1151,
-
- 1151, 1151, 1151, 1151, 1151, 1151, 1152, 1152, 1152, 1152,
- 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1153, 1153, 1153,
- 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1154, 1154,
- 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1155,
- 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155,
- 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156,
- 1156, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
- 1157, 1157, 1158, 0, 1158, 1158, 1158, 1158, 1158, 1158,
- 1158, 1158, 1158, 1159, 0, 1159, 1159, 1159, 1159, 1159,
- 1159, 1159, 1159, 1159, 1160, 0, 1160, 1160, 1160, 1160,
-
- 1160, 1160, 1160, 1160, 1160, 1161, 0, 1161, 1161, 1161,
- 1161, 1161, 1161, 1161, 1161, 1161, 1162, 0, 0, 1162,
- 1162, 1163, 0, 0, 1163, 1163, 1163, 1164, 0, 0,
- 1164, 1165, 0, 1165, 1165, 1165, 1165, 1165, 1165, 1165,
- 1165, 1165, 1166, 0, 1166, 1166, 1166, 1166, 1166, 1166,
- 1166, 1166, 1166, 1167, 0, 1167, 1167, 1167, 1167, 1167,
- 1167, 1167, 1167, 1167, 1168, 1168, 1168, 1168, 1168, 1168,
- 1168, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1170,
- 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170,
- 1171, 1171, 1171, 1171, 1171, 1171, 1172, 0, 1172, 1172,
-
- 1172, 1172, 1173, 0, 1173, 1173, 1173, 1173, 1174, 1174,
- 1174, 1174, 1174, 1174, 1174, 1175, 0, 1175, 1175, 1175,
- 1175, 1175, 1175, 1175, 1175, 1175, 1176, 0, 1176, 1176,
- 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1177, 0, 1177,
- 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1178, 0,
- 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1179,
- 0, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179,
- 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1181, 1181, 0,
- 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1182, 1182,
- 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1183,
-
- 1183, 0, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183,
- 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184,
- 1184, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185,
- 1185, 1185, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186,
- 1186, 1186, 1186, 1187, 1187, 1187, 1187, 1187, 1187, 1187,
- 1187, 1187, 1187, 1187, 1188, 1188, 1188, 1188, 1188, 1188,
- 1188, 1188, 1188, 1188, 1188, 1189, 1189, 1189, 1189, 1189,
- 1189, 1189, 1189, 1189, 1189, 1189, 1190, 1190, 1190, 1190,
- 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1191, 1191, 1191,
- 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1192, 1192,
-
- 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1193,
- 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193,
- 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194,
- 1194, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195,
- 1195, 1195, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196,
- 1196, 1196, 1196, 1197, 1197, 1197, 1197, 1197, 1197, 1197,
- 1197, 1197, 1197, 1197, 1198, 1198, 1198, 1198, 1198, 1198,
- 1198, 1198, 1198, 1198, 1198, 1199, 0, 1199, 1199, 1199,
- 1199, 1199, 1199, 1199, 1199, 1199, 1200, 0, 1200, 1200,
- 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1201, 0, 1201,
-
- 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1202, 0,
- 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1203,
- 0, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203,
- 1204, 0, 0, 1204, 1204, 1204, 1205, 0, 1205, 1205,
- 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1206, 0, 1206,
- 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1207, 0,
- 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1207, 1208,
- 1208, 1208, 1208, 1208, 1208, 1208, 1209, 1209, 1209, 1209,
- 1209, 1209, 1209, 1209, 1210, 1210, 1210, 1210, 1210, 1210,
- 1210, 1210, 1210, 1210, 1210, 1211, 0, 1211, 1211, 1211,
-
- 1211, 1212, 0, 1212, 1212, 1212, 1212, 1213, 1213, 1213,
- 1213, 1213, 1213, 1213, 1214, 0, 1214, 1214, 1214, 1214,
- 1214, 1214, 1214, 1214, 1214, 1215, 0, 1215, 1215, 1215,
- 1215, 1215, 1215, 1215, 1215, 1215, 1216, 0, 1216, 1216,
- 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1217, 0, 1217,
- 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1218, 0,
- 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1219,
- 1219, 1219, 1219, 1219, 1219, 1219, 1220, 1220, 0, 1220,
- 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1221, 1221, 1221,
- 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1221, 1222, 1222,
-
- 0, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1223,
- 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1223,
- 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224,
- 1224, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225,
- 1225, 1225, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226,
- 1226, 1226, 1226, 1227, 1227, 1227, 1227, 1227, 1227, 1227,
- 1227, 1227, 1227, 1227, 1228, 1228, 1228, 1228, 1228, 1228,
- 1228, 1228, 1228, 1228, 1228, 1229, 1229, 1229, 1229, 1229,
- 1229, 1229, 1229, 1229, 1229, 1229, 1230, 1230, 1230, 1230,
- 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1231, 1231, 1231,
-
- 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1231, 1232, 1232,
- 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1232, 1233,
- 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1233,
- 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
- 1234, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235,
- 1235, 1235, 1236, 1236, 1236, 1236, 1236, 1236, 1236, 1236,
- 1236, 1236, 1236, 1237, 1237, 1237, 1237, 1237, 1237, 1237,
- 1237, 1237, 1237, 1237, 1238, 0, 1238, 1238, 1238, 1238,
- 1238, 1238, 1238, 1238, 1238, 1239, 0, 1239, 1239, 1239,
- 1239, 1239, 1239, 1239, 1239, 1239, 1240, 0, 1240, 1240,
-
+ 1097, 1098, 0, 1098, 1098, 1098, 1098, 1098, 1098, 1098,
+ 1098, 1098, 1099, 0, 1099, 1099, 1099, 1099, 1099, 1099,
+ 1099, 1099, 1099, 1100, 1100, 1100, 1100, 1100, 1100, 1100,
+ 1101, 1101, 0, 1101, 1101, 1101, 1101, 1101, 1101, 1101,
+ 1101, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102, 1102,
+ 1102, 1102, 1103, 1103, 0, 1103, 1103, 1103, 1103, 1103,
+ 1103, 1103, 1103, 1104, 1104, 1104, 1104, 1104, 1104, 1104,
+ 1104, 1104, 1104, 1104, 1105, 1105, 1105, 1105, 1105, 1105,
+ 1105, 1105, 1105, 1105, 1105, 1106, 1106, 1106, 1106, 1106,
+
+ 1106, 1106, 1106, 1106, 1106, 1106, 1107, 1107, 1107, 1107,
+ 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1108, 1108, 1108,
+ 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1110,
+ 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110,
+ 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111,
+ 1111, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112,
+ 1112, 1112, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
+ 1113, 1113, 1113, 1114, 1114, 1114, 1114, 1114, 1114, 1114,
+ 1114, 1114, 1114, 1114, 1115, 1115, 1115, 1115, 1115, 1115,
+
+ 1115, 1115, 1115, 1115, 1115, 1116, 0, 1116, 1116, 1116,
+ 1116, 1116, 1116, 1116, 1116, 1116, 1117, 0, 1117, 1117,
+ 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1118, 0, 1118,
+ 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1119, 0,
+ 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1120,
+ 0, 0, 1120, 1120, 1121, 0, 1121, 1121, 1121, 1121,
+ 1121, 1121, 1121, 1121, 1121, 1122, 0, 0, 1122, 1122,
+ 1122, 1123, 0, 0, 1123, 1124, 1124, 1124, 1124, 1124,
+ 1124, 1124, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125,
+ 1126, 0, 0, 0, 0, 1126, 1126, 1126, 1126, 1127,
+
+ 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127,
+ 1128, 1128, 1128, 1128, 1128, 1128, 1129, 1129, 1129, 1129,
+ 1130, 0, 1130, 1130, 1130, 1130, 1131, 1131, 1131, 1131,
+ 1131, 1131, 1131, 1132, 0, 1132, 1132, 1132, 1132, 1132,
+ 1132, 1132, 1132, 1132, 1133, 0, 1133, 1133, 1133, 1133,
+ 1133, 1133, 1133, 1133, 1133, 1134, 0, 1134, 1134, 1134,
+ 1134, 1134, 1134, 1134, 1134, 1134, 1135, 0, 1135, 1135,
+ 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1136, 1136, 0,
+ 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1137, 1137,
+ 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1138,
+
+ 1138, 0, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138,
+ 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139,
+ 1139, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140,
+ 1140, 1140, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141,
+ 1141, 1141, 1141, 1142, 1142, 1142, 1142, 1142, 1142, 1142,
+ 1142, 1142, 1142, 1142, 1143, 1143, 1143, 1143, 1143, 1143,
+ 1143, 1143, 1143, 1143, 1143, 1144, 1144, 1144, 1144, 1144,
+ 1144, 1144, 1144, 1144, 1144, 1144, 1145, 1145, 1145, 1145,
+ 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1146, 1146, 1146,
+ 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1147, 1147,
+
+ 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1148,
+ 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148,
+ 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
+ 1149, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
+ 1150, 1150, 1151, 0, 1151, 1151, 1151, 1151, 1151, 1151,
+ 1151, 1151, 1151, 1152, 0, 1152, 1152, 1152, 1152, 1152,
+ 1152, 1152, 1152, 1152, 1153, 0, 1153, 1153, 1153, 1153,
+ 1153, 1153, 1153, 1153, 1153, 1154, 0, 1154, 1154, 1154,
+ 1154, 1154, 1154, 1154, 1154, 1154, 1155, 0, 0, 1155,
+ 1155, 1156, 0, 0, 1156, 1156, 1156, 1157, 0, 0,
+
+ 1157, 1158, 0, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
+ 1158, 1158, 1159, 0, 1159, 1159, 1159, 1159, 1159, 1159,
+ 1159, 1159, 1159, 1160, 0, 1160, 1160, 1160, 1160, 1160,
+ 1160, 1160, 1160, 1160, 1161, 1161, 1161, 1161, 1161, 1161,
+ 1161, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1163,
+ 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163,
+ 1164, 1164, 1164, 1164, 1164, 1164, 1165, 0, 1165, 1165,
+ 1165, 1165, 1166, 0, 1166, 1166, 1166, 1166, 1167, 1167,
+ 1167, 1167, 1167, 1167, 1167, 1168, 0, 1168, 1168, 1168,
+ 1168, 1168, 1168, 1168, 1168, 1168, 1169, 0, 1169, 1169,
+
+ 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1170, 0, 1170,
+ 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1171, 0,
+ 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1172,
+ 0, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172,
+ 1173, 1173, 1173, 1173, 1173, 1173, 1173, 1174, 1174, 0,
+ 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1175, 1175,
+ 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1176,
+ 1176, 0, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176,
+ 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177,
+ 1177, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
+
+ 1178, 1178, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179,
+ 1179, 1179, 1179, 1180, 1180, 1180, 1180, 1180, 1180, 1180,
+ 1180, 1180, 1180, 1180, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1182, 1182, 1182, 1182, 1182,
+ 1182, 1182, 1182, 1182, 1182, 1182, 1183, 1183, 1183, 1183,
+ 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1184, 1184, 1184,
+ 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1185, 1185,
+ 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1186,
+ 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186,
+ 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187,
+
+ 1187, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188,
+ 1188, 1188, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189,
+ 1189, 1189, 1189, 1190, 1190, 1190, 1190, 1190, 1190, 1190,
+ 1190, 1190, 1190, 1190, 1191, 1191, 1191, 1191, 1191, 1191,
+ 1191, 1191, 1191, 1191, 1191, 1192, 0, 1192, 1192, 1192,
+ 1192, 1192, 1192, 1192, 1192, 1192, 1193, 0, 1193, 1193,
+ 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1194, 0, 1194,
+ 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1195, 0,
+ 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1196,
+ 0, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196,
+
+ 1197, 0, 0, 1197, 1197, 1197, 1198, 0, 1198, 1198,
+ 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1199, 0, 1199,
+ 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1200, 0,
+ 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1201,
+ 1201, 1201, 1201, 1201, 1201, 1201, 1202, 1202, 1202, 1202,
+ 1202, 1202, 1202, 1202, 1203, 1203, 1203, 1203, 1203, 1203,
+ 1203, 1203, 1203, 1203, 1203, 1204, 0, 1204, 1204, 1204,
+ 1204, 1205, 0, 1205, 1205, 1205, 1205, 1206, 1206, 1206,
+ 1206, 1206, 1206, 1206, 1207, 0, 1207, 1207, 1207, 1207,
+ 1207, 1207, 1207, 1207, 1207, 1208, 0, 1208, 1208, 1208,
+
+ 1208, 1208, 1208, 1208, 1208, 1208, 1209, 0, 1209, 1209,
+ 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1210, 0, 1210,
+ 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1211, 0,
+ 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1212,
+ 1212, 1212, 1212, 1212, 1212, 1212, 1213, 1213, 0, 1213,
+ 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1214, 1214, 1214,
+ 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1214, 1215, 1215,
+ 0, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1216,
+ 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216,
+ 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
+
+ 1217, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218,
+ 1218, 1218, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219,
+ 1219, 1219, 1219, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
+ 1220, 1220, 1220, 1220, 1221, 1221, 1221, 1221, 1221, 1221,
+ 1221, 1221, 1221, 1221, 1221, 1222, 1222, 1222, 1222, 1222,
+ 1222, 1222, 1222, 1222, 1222, 1222, 1223, 1223, 1223, 1223,
+ 1223, 1223, 1223, 1223, 1223, 1223, 1223, 1224, 1224, 1224,
+ 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1224, 1225, 1225,
+ 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1226,
+ 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226, 1226,
+
+ 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227, 1227,
+ 1227, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228, 1228,
+ 1228, 1228, 1229, 1229, 1229, 1229, 1229, 1229, 1229, 1229,
+ 1229, 1229, 1229, 1230, 1230, 1230, 1230, 1230, 1230, 1230,
+ 1230, 1230, 1230, 1230, 1231, 0, 1231, 1231, 1231, 1231,
+ 1231, 1231, 1231, 1231, 1231, 1232, 0, 1232, 1232, 1232,
+ 1232, 1232, 1232, 1232, 1232, 1232, 1233, 0, 1233, 1233,
+ 1233, 1233, 1233, 1233, 1233, 1233, 1233, 1234, 0, 1234,
+ 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1235, 0,
+ 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1236,
+
+ 0, 0, 1236, 1236, 1236, 1237, 1237, 1237, 1237, 1237,
+ 1237, 1237, 1237, 1238, 1238, 1238, 1238, 1238, 1238, 1238,
+ 1238, 1238, 1238, 1238, 1239, 0, 1239, 1239, 1239, 1239,
1240, 1240, 1240, 1240, 1240, 1240, 1240, 1241, 0, 1241,
- 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1242, 0,
- 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1242, 1243,
- 0, 0, 1243, 1243, 1243, 1244, 1244, 1244, 1244, 1244,
- 1244, 1244, 1244, 1245, 1245, 1245, 1245, 1245, 1245, 1245,
- 1245, 1245, 1245, 1245, 1246, 0, 1246, 1246, 1246, 1246,
- 1247, 1247, 1247, 1247, 1247, 1247, 1247, 1248, 0, 1248,
- 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1248, 1249, 1249,
- 1249, 1249, 1249, 1249, 1249, 1250, 1250, 0, 1250, 1250,
- 1250, 1250, 1250, 1250, 1250, 1250, 1094, 1094, 1094, 1094,
-
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
- 1094, 1094
+ 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1242, 1242,
+ 1242, 1242, 1242, 1242, 1242, 1243, 1243, 0, 1243, 1243,
+ 1243, 1243, 1243, 1243, 1243, 1243, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087,
+ 1087, 1087
} ;
/* Table of booleans, true if rule could match eol. */
-static yyconst flex_int32_t yy_rule_can_match_eol[149] =
+static yyconst flex_int32_t yy_rule_can_match_eol[148] =
{ 0,
0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2432,8 +2402,8 @@
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, };
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, };
/* The intent behind this definition is that it'll catch
* any uses of REJECT which flex missed.
@@ -2466,7 +2436,6 @@
#include "imc.h"
#include "parser.h"
-// typedef struct yyguts_t yyguts_t;
typedef struct parser_state_t parser_state_t;
/* parser state structure
@@ -2545,7 +2514,7 @@
-#line 2549 "compilers/imcc/imclexer.c"
+#line 2518 "compilers/imcc/imclexer.c"
#define INITIAL 0
#define emit 1
@@ -2785,7 +2754,7 @@
register int yy_act;
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
-#line 157 "compilers/imcc/imcc.l"
+#line 154 "compilers/imcc/imcc.l"
/* for emacs "*/
if (IMCC_INFO(interp)->expect_pasm == 1 && !IMCC_INFO(interp)->in_pod) {
@@ -2804,7 +2773,7 @@
return 0;
}
-#line 2808 "compilers/imcc/imclexer.c"
+#line 2777 "compilers/imcc/imclexer.c"
if ( !yyg->yy_init )
{
@@ -2858,13 +2827,13 @@
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 1095 )
+ if ( yy_current_state >= 1088 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++yy_cp;
}
- while ( yy_current_state != 1094 );
+ while ( yy_current_state != 1087 );
yy_cp = yyg->yy_last_accepting_cpos;
yy_current_state = yyg->yy_last_accepting_state;
@@ -2898,13 +2867,13 @@
case 1:
YY_RULE_SETUP
-#line 175 "compilers/imcc/imcc.l"
+#line 172 "compilers/imcc/imcc.l"
{ SET_LINE_NUMBER; }
YY_BREAK
case 2:
/* rule 2 can match eol */
YY_RULE_SETUP
-#line 177 "compilers/imcc/imcc.l"
+#line 174 "compilers/imcc/imcc.l"
{
SET_LINE_NUMBER;
IMCC_INFO(interp)->frames->heredoc_rest = mem_sys_strdup(yytext);
@@ -2914,7 +2883,7 @@
case 3:
/* rule 3 can match eol */
YY_RULE_SETUP
-#line 183 "compilers/imcc/imcc.l"
+#line 180 "compilers/imcc/imcc.l"
{
/* heredocs have highest priority
* arrange them before all wildcard state matches */
@@ -2930,7 +2899,7 @@
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 196 "compilers/imcc/imcc.l"
+#line 193 "compilers/imcc/imcc.l"
{
SET_LINE_NUMBER;
/* Are we at the end of the heredoc? */
@@ -2955,8 +2924,6 @@
yy_pop_state(yyscanner);
yy_scan_string(IMCC_INFO(interp)->frames->heredoc_rest,yyscanner);
- /* not sure we need this decrement; more testing needed */
- IMCC_INFO(interp)->line--;
return STRINGC;
}
else {
@@ -2973,7 +2940,7 @@
case 5:
/* rule 5 can match eol */
YY_RULE_SETUP
-#line 235 "compilers/imcc/imcc.l"
+#line 230 "compilers/imcc/imcc.l"
{
yy_pop_state(yyscanner);
yy_push_state(cmt3, yyscanner);
@@ -2986,7 +2953,7 @@
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 245 "compilers/imcc/imcc.l"
+#line 240 "compilers/imcc/imcc.l"
{
yy_pop_state(yyscanner);
yy_push_state(cmt4, yyscanner);
@@ -2994,17 +2961,17 @@
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 250 "compilers/imcc/imcc.l"
+#line 245 "compilers/imcc/imcc.l"
{ yy_push_state(cmt2, yyscanner); }
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 252 "compilers/imcc/imcc.l"
+#line 247 "compilers/imcc/imcc.l"
{ yy_push_state(cmt1, yyscanner); }
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 254 "compilers/imcc/imcc.l"
+#line 249 "compilers/imcc/imcc.l"
{
yylineno = IMCC_INFO(interp)->line = atoi(yytext);
yy_pop_state(yyscanner);
@@ -3015,7 +2982,7 @@
case 10:
/* rule 10 can match eol */
YY_RULE_SETUP
-#line 261 "compilers/imcc/imcc.l"
+#line 256 "compilers/imcc/imcc.l"
{
yy_pop_state(yyscanner);
}
@@ -3023,7 +2990,7 @@
case 11:
/* rule 11 can match eol */
YY_RULE_SETUP
-#line 265 "compilers/imcc/imcc.l"
+#line 260 "compilers/imcc/imcc.l"
{
if (IMCC_INFO(interp)->expect_pasm == 2)
BEGIN(INITIAL);
@@ -3035,7 +3002,7 @@
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 274 "compilers/imcc/imcc.l"
+#line 269 "compilers/imcc/imcc.l"
{
yy_push_state(cmt5, yyscanner);
}
@@ -3043,7 +3010,7 @@
case 13:
/* rule 13 can match eol */
YY_RULE_SETUP
-#line 278 "compilers/imcc/imcc.l"
+#line 273 "compilers/imcc/imcc.l"
{
if (IMCC_INFO(interp)->expect_pasm == 2)
BEGIN(INITIAL);
@@ -3058,7 +3025,7 @@
case 14:
/* rule 14 can match eol */
YY_RULE_SETUP
-#line 290 "compilers/imcc/imcc.l"
+#line 285 "compilers/imcc/imcc.l"
{
/* this is a stand-alone =cut, but we're not in POD mode, so ignore. */
SET_LINE_NUMBER;
@@ -3067,7 +3034,7 @@
case 15:
/* rule 15 can match eol */
YY_RULE_SETUP
-#line 295 "compilers/imcc/imcc.l"
+#line 290 "compilers/imcc/imcc.l"
{
SET_LINE_NUMBER;
IMCC_INFO(interp)->in_pod = 1;
@@ -3077,7 +3044,7 @@
case 16:
/* rule 16 can match eol */
YY_RULE_SETUP
-#line 301 "compilers/imcc/imcc.l"
+#line 296 "compilers/imcc/imcc.l"
{
SET_LINE_NUMBER;
IMCC_INFO(interp)->in_pod = 0;
@@ -3086,478 +3053,478 @@
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 307 "compilers/imcc/imcc.l"
+#line 302 "compilers/imcc/imcc.l"
{ SET_LINE_NUMBER; }
YY_BREAK
case 18:
/* rule 18 can match eol */
YY_RULE_SETUP
-#line 309 "compilers/imcc/imcc.l"
+#line 304 "compilers/imcc/imcc.l"
{ /* ignore */ }
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 311 "compilers/imcc/imcc.l"
+#line 306 "compilers/imcc/imcc.l"
return TK_LINE;
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 312 "compilers/imcc/imcc.l"
+#line 307 "compilers/imcc/imcc.l"
return TK_FILE;
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 313 "compilers/imcc/imcc.l"
+#line 308 "compilers/imcc/imcc.l"
return ANNOTATE;
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 314 "compilers/imcc/imcc.l"
+#line 309 "compilers/imcc/imcc.l"
return LEXICAL;
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 315 "compilers/imcc/imcc.l"
+#line 310 "compilers/imcc/imcc.l"
return ARG;
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 316 "compilers/imcc/imcc.l"
+#line 311 "compilers/imcc/imcc.l"
return SUB;
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 317 "compilers/imcc/imcc.l"
+#line 312 "compilers/imcc/imcc.l"
return ESUB;
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 318 "compilers/imcc/imcc.l"
+#line 313 "compilers/imcc/imcc.l"
return PCC_BEGIN;
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 319 "compilers/imcc/imcc.l"
+#line 314 "compilers/imcc/imcc.l"
return PCC_END;
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 320 "compilers/imcc/imcc.l"
+#line 315 "compilers/imcc/imcc.l"
return PCC_CALL;
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 321 "compilers/imcc/imcc.l"
+#line 316 "compilers/imcc/imcc.l"
return NCI_CALL;
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 322 "compilers/imcc/imcc.l"
+#line 317 "compilers/imcc/imcc.l"
return METH_CALL;
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 323 "compilers/imcc/imcc.l"
+#line 318 "compilers/imcc/imcc.l"
return INVOCANT;
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 324 "compilers/imcc/imcc.l"
+#line 319 "compilers/imcc/imcc.l"
return PCC_SUB;
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 325 "compilers/imcc/imcc.l"
+#line 320 "compilers/imcc/imcc.l"
return PCC_BEGIN_RETURN;
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 326 "compilers/imcc/imcc.l"
+#line 321 "compilers/imcc/imcc.l"
return PCC_END_RETURN;
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 327 "compilers/imcc/imcc.l"
+#line 322 "compilers/imcc/imcc.l"
return PCC_BEGIN_YIELD;
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 328 "compilers/imcc/imcc.l"
+#line 323 "compilers/imcc/imcc.l"
return PCC_END_YIELD;
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 330 "compilers/imcc/imcc.l"
+#line 325 "compilers/imcc/imcc.l"
return METHOD;
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 331 "compilers/imcc/imcc.l"
+#line 326 "compilers/imcc/imcc.l"
return MULTI;
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 332 "compilers/imcc/imcc.l"
+#line 327 "compilers/imcc/imcc.l"
return MAIN;
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 333 "compilers/imcc/imcc.l"
+#line 328 "compilers/imcc/imcc.l"
return LOAD;
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 334 "compilers/imcc/imcc.l"
+#line 329 "compilers/imcc/imcc.l"
return INIT;
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 335 "compilers/imcc/imcc.l"
+#line 330 "compilers/imcc/imcc.l"
return IMMEDIATE;
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 336 "compilers/imcc/imcc.l"
+#line 331 "compilers/imcc/imcc.l"
return POSTCOMP;
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 337 "compilers/imcc/imcc.l"
+#line 332 "compilers/imcc/imcc.l"
return ANON;
YY_BREAK
case 45:
YY_RULE_SETUP
-#line 338 "compilers/imcc/imcc.l"
+#line 333 "compilers/imcc/imcc.l"
return OUTER;
YY_BREAK
case 46:
YY_RULE_SETUP
-#line 339 "compilers/imcc/imcc.l"
+#line 334 "compilers/imcc/imcc.l"
return NEED_LEX;
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 340 "compilers/imcc/imcc.l"
+#line 335 "compilers/imcc/imcc.l"
return VTABLE_METHOD;
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 341 "compilers/imcc/imcc.l"
+#line 336 "compilers/imcc/imcc.l"
return NS_ENTRY;
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 342 "compilers/imcc/imcc.l"
+#line 337 "compilers/imcc/imcc.l"
return UNIQUE_REG;
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 343 "compilers/imcc/imcc.l"
+#line 338 "compilers/imcc/imcc.l"
return SUB_INSTANCE_OF;
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 344 "compilers/imcc/imcc.l"
+#line 339 "compilers/imcc/imcc.l"
return SUBID;
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 346 "compilers/imcc/imcc.l"
+#line 341 "compilers/imcc/imcc.l"
return RESULT;
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 347 "compilers/imcc/imcc.l"
+#line 342 "compilers/imcc/imcc.l"
return GET_RESULTS;
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 348 "compilers/imcc/imcc.l"
+#line 343 "compilers/imcc/imcc.l"
return YIELDT;
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 349 "compilers/imcc/imcc.l"
+#line 344 "compilers/imcc/imcc.l"
return SET_YIELD;
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 350 "compilers/imcc/imcc.l"
+#line 345 "compilers/imcc/imcc.l"
return RETURN;
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 351 "compilers/imcc/imcc.l"
+#line 346 "compilers/imcc/imcc.l"
return SET_RETURN;
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 352 "compilers/imcc/imcc.l"
+#line 347 "compilers/imcc/imcc.l"
return TAILCALL;
YY_BREAK
case 59:
YY_RULE_SETUP
-#line 353 "compilers/imcc/imcc.l"
+#line 348 "compilers/imcc/imcc.l"
return LOADLIB;
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 355 "compilers/imcc/imcc.l"
+#line 350 "compilers/imcc/imcc.l"
return ADV_FLAT;
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 356 "compilers/imcc/imcc.l"
+#line 351 "compilers/imcc/imcc.l"
return ADV_SLURPY;
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 357 "compilers/imcc/imcc.l"
+#line 352 "compilers/imcc/imcc.l"
return ADV_OPTIONAL;
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 358 "compilers/imcc/imcc.l"
+#line 353 "compilers/imcc/imcc.l"
return ADV_OPT_FLAG;
YY_BREAK
case 64:
YY_RULE_SETUP
-#line 359 "compilers/imcc/imcc.l"
+#line 354 "compilers/imcc/imcc.l"
return ADV_NAMED;
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 360 "compilers/imcc/imcc.l"
+#line 355 "compilers/imcc/imcc.l"
return ADV_ARROW;
YY_BREAK
case 66:
YY_RULE_SETUP
-#line 361 "compilers/imcc/imcc.l"
+#line 356 "compilers/imcc/imcc.l"
return ADV_INVOCANT;
YY_BREAK
case 67:
YY_RULE_SETUP
-#line 362 "compilers/imcc/imcc.l"
+#line 357 "compilers/imcc/imcc.l"
return ADV_CALL_SIG;
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 364 "compilers/imcc/imcc.l"
+#line 359 "compilers/imcc/imcc.l"
return NAMESPACE;
YY_BREAK
case 69:
YY_RULE_SETUP
-#line 365 "compilers/imcc/imcc.l"
+#line 360 "compilers/imcc/imcc.l"
return HLL;
YY_BREAK
case 70:
YY_RULE_SETUP
-#line 367 "compilers/imcc/imcc.l"
+#line 362 "compilers/imcc/imcc.l"
return LOCAL;
YY_BREAK
case 71:
YY_RULE_SETUP
-#line 368 "compilers/imcc/imcc.l"
+#line 363 "compilers/imcc/imcc.l"
return CONST;
YY_BREAK
case 72:
YY_RULE_SETUP
-#line 369 "compilers/imcc/imcc.l"
+#line 364 "compilers/imcc/imcc.l"
return GLOBAL_CONST;
YY_BREAK
case 73:
YY_RULE_SETUP
-#line 370 "compilers/imcc/imcc.l"
+#line 365 "compilers/imcc/imcc.l"
return PARAM;
YY_BREAK
case 74:
YY_RULE_SETUP
-#line 371 "compilers/imcc/imcc.l"
+#line 366 "compilers/imcc/imcc.l"
return GOTO;
YY_BREAK
case 75:
YY_RULE_SETUP
-#line 372 "compilers/imcc/imcc.l"
+#line 367 "compilers/imcc/imcc.l"
return IF;
YY_BREAK
case 76:
YY_RULE_SETUP
-#line 373 "compilers/imcc/imcc.l"
+#line 368 "compilers/imcc/imcc.l"
return UNLESS;
YY_BREAK
case 77:
YY_RULE_SETUP
-#line 374 "compilers/imcc/imcc.l"
+#line 369 "compilers/imcc/imcc.l"
return PNULL;
YY_BREAK
case 78:
YY_RULE_SETUP
-#line 375 "compilers/imcc/imcc.l"
+#line 370 "compilers/imcc/imcc.l"
return INTV;
YY_BREAK
case 79:
YY_RULE_SETUP
-#line 376 "compilers/imcc/imcc.l"
+#line 371 "compilers/imcc/imcc.l"
return FLOATV;
YY_BREAK
case 80:
YY_RULE_SETUP
-#line 378 "compilers/imcc/imcc.l"
+#line 373 "compilers/imcc/imcc.l"
return PMCV;
YY_BREAK
case 81:
YY_RULE_SETUP
-#line 379 "compilers/imcc/imcc.l"
+#line 374 "compilers/imcc/imcc.l"
return STRINGV;
YY_BREAK
case 82:
YY_RULE_SETUP
-#line 380 "compilers/imcc/imcc.l"
+#line 375 "compilers/imcc/imcc.l"
return SHIFT_LEFT;
YY_BREAK
case 83:
YY_RULE_SETUP
-#line 381 "compilers/imcc/imcc.l"
+#line 376 "compilers/imcc/imcc.l"
return SHIFT_RIGHT;
YY_BREAK
case 84:
YY_RULE_SETUP
-#line 382 "compilers/imcc/imcc.l"
+#line 377 "compilers/imcc/imcc.l"
return SHIFT_RIGHT_U;
YY_BREAK
case 85:
YY_RULE_SETUP
-#line 383 "compilers/imcc/imcc.l"
+#line 378 "compilers/imcc/imcc.l"
return LOG_AND;
YY_BREAK
case 86:
YY_RULE_SETUP
-#line 384 "compilers/imcc/imcc.l"
+#line 379 "compilers/imcc/imcc.l"
return LOG_OR;
YY_BREAK
case 87:
YY_RULE_SETUP
-#line 385 "compilers/imcc/imcc.l"
+#line 380 "compilers/imcc/imcc.l"
return LOG_XOR;
YY_BREAK
case 88:
YY_RULE_SETUP
-#line 386 "compilers/imcc/imcc.l"
+#line 381 "compilers/imcc/imcc.l"
return RELOP_LT;
YY_BREAK
case 89:
YY_RULE_SETUP
-#line 387 "compilers/imcc/imcc.l"
+#line 382 "compilers/imcc/imcc.l"
return RELOP_LTE;
YY_BREAK
case 90:
YY_RULE_SETUP
-#line 388 "compilers/imcc/imcc.l"
+#line 383 "compilers/imcc/imcc.l"
return RELOP_GT;
YY_BREAK
case 91:
YY_RULE_SETUP
-#line 389 "compilers/imcc/imcc.l"
+#line 384 "compilers/imcc/imcc.l"
return RELOP_GTE;
YY_BREAK
case 92:
YY_RULE_SETUP
-#line 390 "compilers/imcc/imcc.l"
+#line 385 "compilers/imcc/imcc.l"
return RELOP_EQ;
YY_BREAK
case 93:
YY_RULE_SETUP
-#line 391 "compilers/imcc/imcc.l"
+#line 386 "compilers/imcc/imcc.l"
return RELOP_NE;
YY_BREAK
case 94:
YY_RULE_SETUP
-#line 392 "compilers/imcc/imcc.l"
+#line 387 "compilers/imcc/imcc.l"
return POW;
YY_BREAK
case 95:
YY_RULE_SETUP
-#line 394 "compilers/imcc/imcc.l"
+#line 389 "compilers/imcc/imcc.l"
return CONCAT;
YY_BREAK
case 96:
YY_RULE_SETUP
-#line 395 "compilers/imcc/imcc.l"
+#line 390 "compilers/imcc/imcc.l"
return DOT;
YY_BREAK
case 97:
YY_RULE_SETUP
-#line 397 "compilers/imcc/imcc.l"
+#line 392 "compilers/imcc/imcc.l"
return PLUS_ASSIGN;
YY_BREAK
case 98:
YY_RULE_SETUP
-#line 398 "compilers/imcc/imcc.l"
+#line 393 "compilers/imcc/imcc.l"
return MINUS_ASSIGN;
YY_BREAK
case 99:
YY_RULE_SETUP
-#line 399 "compilers/imcc/imcc.l"
+#line 394 "compilers/imcc/imcc.l"
return MUL_ASSIGN;
YY_BREAK
case 100:
YY_RULE_SETUP
-#line 400 "compilers/imcc/imcc.l"
+#line 395 "compilers/imcc/imcc.l"
return DIV_ASSIGN;
YY_BREAK
case 101:
YY_RULE_SETUP
-#line 401 "compilers/imcc/imcc.l"
+#line 396 "compilers/imcc/imcc.l"
return MOD_ASSIGN;
YY_BREAK
case 102:
YY_RULE_SETUP
-#line 402 "compilers/imcc/imcc.l"
+#line 397 "compilers/imcc/imcc.l"
return FDIV;
YY_BREAK
case 103:
YY_RULE_SETUP
-#line 403 "compilers/imcc/imcc.l"
+#line 398 "compilers/imcc/imcc.l"
return FDIV_ASSIGN;
YY_BREAK
case 104:
YY_RULE_SETUP
-#line 404 "compilers/imcc/imcc.l"
+#line 399 "compilers/imcc/imcc.l"
return BAND_ASSIGN;
YY_BREAK
case 105:
YY_RULE_SETUP
-#line 405 "compilers/imcc/imcc.l"
+#line 400 "compilers/imcc/imcc.l"
return BOR_ASSIGN;
YY_BREAK
case 106:
YY_RULE_SETUP
-#line 406 "compilers/imcc/imcc.l"
+#line 401 "compilers/imcc/imcc.l"
return BXOR_ASSIGN;
YY_BREAK
case 107:
YY_RULE_SETUP
-#line 407 "compilers/imcc/imcc.l"
+#line 402 "compilers/imcc/imcc.l"
return SHR_ASSIGN;
YY_BREAK
case 108:
YY_RULE_SETUP
-#line 408 "compilers/imcc/imcc.l"
+#line 403 "compilers/imcc/imcc.l"
return SHL_ASSIGN;
YY_BREAK
case 109:
YY_RULE_SETUP
-#line 409 "compilers/imcc/imcc.l"
+#line 404 "compilers/imcc/imcc.l"
return SHR_U_ASSIGN;
YY_BREAK
case 110:
YY_RULE_SETUP
-#line 410 "compilers/imcc/imcc.l"
+#line 405 "compilers/imcc/imcc.l"
return CONCAT_ASSIGN;
YY_BREAK
case 111:
YY_RULE_SETUP
-#line 412 "compilers/imcc/imcc.l"
+#line 407 "compilers/imcc/imcc.l"
{
char *macro_name = NULL;
int start_cond = YY_START;
@@ -3603,7 +3570,7 @@
YY_BREAK
case 112:
YY_RULE_SETUP
-#line 455 "compilers/imcc/imcc.l"
+#line 450 "compilers/imcc/imcc.l"
{
/* the initial whitespace catcher misses this one */
SET_LINE_NUMBER;
@@ -3612,7 +3579,7 @@
YY_BREAK
case 113:
YY_RULE_SETUP
-#line 461 "compilers/imcc/imcc.l"
+#line 456 "compilers/imcc/imcc.l"
{
const int c = yylex(valp,yyscanner,interp);
@@ -3627,7 +3594,7 @@
YY_BREAK
case 114:
YY_RULE_SETUP
-#line 473 "compilers/imcc/imcc.l"
+#line 468 "compilers/imcc/imcc.l"
{
if (valp) {
char *label;
@@ -3652,7 +3619,7 @@
YY_BREAK
case 115:
YY_RULE_SETUP
-#line 495 "compilers/imcc/imcc.l"
+#line 490 "compilers/imcc/imcc.l"
{
if (valp) {
char *label;
@@ -3675,12 +3642,12 @@
YY_BREAK
case 116:
YY_RULE_SETUP
-#line 515 "compilers/imcc/imcc.l"
+#line 510 "compilers/imcc/imcc.l"
return COMMA;
YY_BREAK
case 117:
YY_RULE_SETUP
-#line 517 "compilers/imcc/imcc.l"
+#line 512 "compilers/imcc/imcc.l"
{
/* trim last ':' */
YYCHOP();
@@ -3693,7 +3660,7 @@
YY_BREAK
case 118:
YY_RULE_SETUP
-#line 527 "compilers/imcc/imcc.l"
+#line 522 "compilers/imcc/imcc.l"
{
char * const macro_name = mem_sys_strdup(yytext + 1);
int failed = expand_macro(interp, macro_name, yyscanner);
@@ -3706,54 +3673,41 @@
YY_BREAK
case 119:
YY_RULE_SETUP
-#line 539 "compilers/imcc/imcc.l"
+#line 534 "compilers/imcc/imcc.l"
DUP_AND_RET(valp, FLOATC);
YY_BREAK
case 120:
YY_RULE_SETUP
-#line 540 "compilers/imcc/imcc.l"
+#line 535 "compilers/imcc/imcc.l"
DUP_AND_RET(valp, INTC);
YY_BREAK
case 121:
YY_RULE_SETUP
-#line 541 "compilers/imcc/imcc.l"
+#line 536 "compilers/imcc/imcc.l"
DUP_AND_RET(valp, INTC);
YY_BREAK
case 122:
YY_RULE_SETUP
-#line 542 "compilers/imcc/imcc.l"
+#line 537 "compilers/imcc/imcc.l"
DUP_AND_RET(valp, INTC);
YY_BREAK
case 123:
YY_RULE_SETUP
-#line 543 "compilers/imcc/imcc.l"
+#line 538 "compilers/imcc/imcc.l"
DUP_AND_RET(valp, INTC);
YY_BREAK
case 124:
YY_RULE_SETUP
-#line 545 "compilers/imcc/imcc.l"
+#line 540 "compilers/imcc/imcc.l"
{
valp->s = mem_sys_strdup(yytext);
- /* trailing 'L' */
- valp->s[strlen(valp->s) - 1] = '\0';
-
- /* no BIGINT native format yet */
return STRINGC;
}
YY_BREAK
case 125:
YY_RULE_SETUP
-#line 555 "compilers/imcc/imcc.l"
-{
- valp->s = mem_sys_strdup(yytext);
-
- return STRINGC;
- }
- YY_BREAK
-case 126:
-YY_RULE_SETUP
-#line 561 "compilers/imcc/imcc.l"
+#line 546 "compilers/imcc/imcc.l"
{
macro_frame_t *frame;
@@ -3782,9 +3736,9 @@
yy_push_state(heredoc1, yyscanner);
}
YY_BREAK
-case 127:
+case 126:
YY_RULE_SETUP
-#line 589 "compilers/imcc/imcc.l"
+#line 574 "compilers/imcc/imcc.l"
{
/* charset:"..." */
valp->s = mem_sys_strdup(yytext);
@@ -3793,9 +3747,9 @@
return USTRINGC;
}
YY_BREAK
-case 128:
+case 127:
YY_RULE_SETUP
-#line 597 "compilers/imcc/imcc.l"
+#line 582 "compilers/imcc/imcc.l"
{
if (valp) (valp)->s = yytext;
if (IMCC_INFO(interp)->state->pasm_file)
@@ -3804,9 +3758,9 @@
return IREG;
}
YY_BREAK
-case 129:
+case 128:
YY_RULE_SETUP
-#line 605 "compilers/imcc/imcc.l"
+#line 590 "compilers/imcc/imcc.l"
{
if (valp) (valp)->s = yytext;
if (IMCC_INFO(interp)->state->pasm_file)
@@ -3815,9 +3769,9 @@
return NREG;
}
YY_BREAK
-case 130:
+case 129:
YY_RULE_SETUP
-#line 613 "compilers/imcc/imcc.l"
+#line 598 "compilers/imcc/imcc.l"
{
if (valp) (valp)->s = yytext;
if (IMCC_INFO(interp)->state->pasm_file)
@@ -3826,9 +3780,9 @@
return SREG;
}
YY_BREAK
-case 131:
+case 130:
YY_RULE_SETUP
-#line 621 "compilers/imcc/imcc.l"
+#line 606 "compilers/imcc/imcc.l"
{
if (valp) (valp)->s = yytext;
if (IMCC_INFO(interp)->state->pasm_file)
@@ -3837,17 +3791,17 @@
return PREG;
}
YY_BREAK
-case 132:
+case 131:
YY_RULE_SETUP
-#line 629 "compilers/imcc/imcc.l"
+#line 614 "compilers/imcc/imcc.l"
{
IMCC_fataly(interp, EXCEPTION_SYNTAX_ERROR,
"'%s' is not a valid register name", yytext);
}
YY_BREAK
-case 133:
+case 132:
YY_RULE_SETUP
-#line 634 "compilers/imcc/imcc.l"
+#line 619 "compilers/imcc/imcc.l"
{
if (IMCC_INFO(interp)->state->pasm_file == 0)
IMCC_fataly(interp, EXCEPTION_SYNTAX_ERROR,
@@ -3859,26 +3813,26 @@
return REG;
}
YY_BREAK
-case 134:
+case 133:
YY_RULE_SETUP
-#line 646 "compilers/imcc/imcc.l"
+#line 631 "compilers/imcc/imcc.l"
{ return handle_identifier(interp, valp, yytext); }
YY_BREAK
-case 135:
+case 134:
YY_RULE_SETUP
-#line 648 "compilers/imcc/imcc.l"
+#line 633 "compilers/imcc/imcc.l"
/* skip */;
YY_BREAK
-case 136:
+case 135:
YY_RULE_SETUP
-#line 650 "compilers/imcc/imcc.l"
+#line 635 "compilers/imcc/imcc.l"
{
/* catch all except for state macro */
return yytext[0];
}
YY_BREAK
case YY_STATE_EOF(emit):
-#line 655 "compilers/imcc/imcc.l"
+#line 640 "compilers/imcc/imcc.l"
{
BEGIN(INITIAL);
@@ -3891,34 +3845,34 @@
}
YY_BREAK
case YY_STATE_EOF(INITIAL):
-#line 666 "compilers/imcc/imcc.l"
+#line 651 "compilers/imcc/imcc.l"
yyterminate();
YY_BREAK
-case 137:
+case 136:
YY_RULE_SETUP
-#line 668 "compilers/imcc/imcc.l"
+#line 653 "compilers/imcc/imcc.l"
{
/* the initial whitespace catcher misses this one */
SET_LINE_NUMBER;
DUP_AND_RET(valp, ENDM);
}
YY_BREAK
-case 138:
-/* rule 138 can match eol */
+case 137:
+/* rule 137 can match eol */
YY_RULE_SETUP
-#line 674 "compilers/imcc/imcc.l"
+#line 659 "compilers/imcc/imcc.l"
{
DUP_AND_RET(valp, '\n');
}
YY_BREAK
-case 139:
+case 138:
YY_RULE_SETUP
-#line 678 "compilers/imcc/imcc.l"
+#line 663 "compilers/imcc/imcc.l"
return LABEL;
YY_BREAK
-case 140:
+case 139:
YY_RULE_SETUP
-#line 680 "compilers/imcc/imcc.l"
+#line 665 "compilers/imcc/imcc.l"
{
if (yylex(valp,yyscanner,interp) != LABEL)
@@ -3943,9 +3897,9 @@
return LABEL;
}
YY_BREAK
-case 141:
+case 140:
YY_RULE_SETUP
-#line 704 "compilers/imcc/imcc.l"
+#line 689 "compilers/imcc/imcc.l"
{
if (valp) {
if (!IMCC_INFO(interp)->cur_macro_name) {
@@ -3974,46 +3928,46 @@
return IDENTIFIER;
}
YY_BREAK
-case 142:
+case 141:
YY_RULE_SETUP
-#line 732 "compilers/imcc/imcc.l"
+#line 717 "compilers/imcc/imcc.l"
DUP_AND_RET(valp, ' ');
YY_BREAK
-case 143:
+case 142:
YY_RULE_SETUP
-#line 733 "compilers/imcc/imcc.l"
+#line 718 "compilers/imcc/imcc.l"
DUP_AND_RET(valp, REG);
YY_BREAK
-case 144:
+case 143:
YY_RULE_SETUP
-#line 734 "compilers/imcc/imcc.l"
+#line 719 "compilers/imcc/imcc.l"
DUP_AND_RET(valp, REG);
YY_BREAK
-case 145:
+case 144:
YY_RULE_SETUP
-#line 735 "compilers/imcc/imcc.l"
+#line 720 "compilers/imcc/imcc.l"
DUP_AND_RET(valp, IDENTIFIER);
YY_BREAK
-case 146:
+case 145:
YY_RULE_SETUP
-#line 736 "compilers/imcc/imcc.l"
+#line 721 "compilers/imcc/imcc.l"
DUP_AND_RET(valp, MACRO);
YY_BREAK
-case 147:
+case 146:
YY_RULE_SETUP
-#line 737 "compilers/imcc/imcc.l"
+#line 722 "compilers/imcc/imcc.l"
DUP_AND_RET(valp, yytext[0]);
YY_BREAK
case YY_STATE_EOF(macro):
-#line 738 "compilers/imcc/imcc.l"
+#line 723 "compilers/imcc/imcc.l"
yyterminate();
YY_BREAK
-case 148:
+case 147:
YY_RULE_SETUP
-#line 740 "compilers/imcc/imcc.l"
+#line 725 "compilers/imcc/imcc.l"
ECHO;
YY_BREAK
-#line 4017 "compilers/imcc/imclexer.c"
+#line 3971 "compilers/imcc/imclexer.c"
case YY_STATE_EOF(pod):
case YY_STATE_EOF(cmt1):
case YY_STATE_EOF(cmt2):
@@ -4316,7 +4270,7 @@
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 1095 )
+ if ( yy_current_state >= 1088 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -4345,11 +4299,11 @@
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 1095 )
+ if ( yy_current_state >= 1088 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
- yy_is_jam = (yy_current_state == 1094);
+ yy_is_jam = (yy_current_state == 1087);
return yy_is_jam ? 0 : yy_current_state;
}
@@ -5225,7 +5179,7 @@
#define YYTABLES_NAME "yytables"
-#line 740 "compilers/imcc/imcc.l"
+#line 725 "compilers/imcc/imcc.l"
@@ -5849,7 +5803,7 @@
imcc_run_compilation(PARROT_INTERP, void *yyscanner) {
IMCC_TRY(IMCC_INFO(interp)->jump_buf, IMCC_INFO(interp)->error_code) {
if (yyparse(yyscanner, interp)) {
- IMCC_INFO(interp)->error_code = IMCC_PARSEFAIL_EXCEPTION;
+ IMCC_INFO(interp)->error_code = IMCC_PARSEFAIL_EXCEPTION;
IMCC_INFO(interp)->error_message = string_from_literal(interp, "syntax error ... somewhere");
return;
}
Modified: branches/ucs4_encoding/compilers/imcc/instructions.c
==============================================================================
--- branches/ucs4_encoding/compilers/imcc/instructions.c Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/compilers/imcc/instructions.c Mon May 24 21:18:41 2010 (r46974)
@@ -794,13 +794,11 @@
*/
-PARROT_EXPORT
int
emit_open(PARROT_INTERP, int type, ARGIN_NULLOK(const char *param))
{
ASSERT_ARGS(emit_open)
IMCC_INFO(interp)->emitter = type;
- IMCC_INFO(interp)->has_compile = 0;
IMCC_INFO(interp)->dont_optimize = 0;
return (emitters[IMCC_INFO(interp)->emitter]).open(interp, param);
@@ -817,7 +815,6 @@
*/
-PARROT_EXPORT
int
emit_flush(PARROT_INTERP, ARGIN_NULLOK(void *param), ARGIN(IMC_Unit *unit))
{
@@ -849,7 +846,6 @@
*/
-PARROT_EXPORT
int
emit_close(PARROT_INTERP, ARGIN_NULLOK(void *param))
{
Modified: branches/ucs4_encoding/compilers/imcc/instructions.h
==============================================================================
--- branches/ucs4_encoding/compilers/imcc/instructions.h Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/compilers/imcc/instructions.h Mon May 24 21:18:41 2010 (r46974)
@@ -91,21 +91,6 @@
/* HEADERIZER BEGIN: compilers/imcc/instructions.c */
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
-PARROT_EXPORT
-int emit_close(PARROT_INTERP, ARGIN_NULLOK(void *param))
- __attribute__nonnull__(1);
-
-PARROT_EXPORT
-int emit_flush(PARROT_INTERP,
- ARGIN_NULLOK(void *param),
- ARGIN(IMC_Unit *unit))
- __attribute__nonnull__(1)
- __attribute__nonnull__(3);
-
-PARROT_EXPORT
-int emit_open(PARROT_INTERP, int type, ARGIN_NULLOK(const char *param))
- __attribute__nonnull__(1);
-
PARROT_WARN_UNUSED_RESULT
PARROT_CAN_RETURN_NULL
Instruction * _delete_ins(ARGMOD(IMC_Unit *unit), ARGIN(Instruction *ins))
@@ -133,6 +118,18 @@
FUNC_MODIFIES(*unit)
FUNC_MODIFIES(*ins);
+int emit_close(PARROT_INTERP, ARGIN_NULLOK(void *param))
+ __attribute__nonnull__(1);
+
+int emit_flush(PARROT_INTERP,
+ ARGIN_NULLOK(void *param),
+ ARGIN(IMC_Unit *unit))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(3);
+
+int emit_open(PARROT_INTERP, int type, ARGIN_NULLOK(const char *param))
+ __attribute__nonnull__(1);
+
PARROT_CAN_RETURN_NULL
Instruction * emitb(PARROT_INTERP,
ARGMOD_NULLOK(IMC_Unit *unit),
@@ -215,13 +212,6 @@
FUNC_MODIFIES(*ins)
FUNC_MODIFIES(*tmp);
-#define ASSERT_ARGS_emit_close __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_emit_flush __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(unit))
-#define ASSERT_ARGS_emit_open __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS__delete_ins __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(unit) \
, PARROT_ASSERT_ARG(ins))
@@ -232,6 +222,13 @@
#define ASSERT_ARGS_delete_ins __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(unit) \
, PARROT_ASSERT_ARG(ins))
+#define ASSERT_ARGS_emit_close __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(interp))
+#define ASSERT_ARGS_emit_flush __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(interp) \
+ , PARROT_ASSERT_ARG(unit))
+#define ASSERT_ARGS_emit_open __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_emitb __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_free_ins __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
Modified: branches/ucs4_encoding/compilers/imcc/main.c
==============================================================================
--- branches/ucs4_encoding/compilers/imcc/main.c Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/compilers/imcc/main.c Mon May 24 21:18:41 2010 (r46974)
@@ -47,24 +47,25 @@
static void compile_to_bytecode(PARROT_INTERP,
ARGIN(const char * const sourcefile),
- ARGIN_NULLOK(const char * const output_file))
+ ARGIN_NULLOK(const char * const output_file),
+ ARGIN(yyscan_t yyscanner))
__attribute__nonnull__(1)
- __attribute__nonnull__(2);
+ __attribute__nonnull__(2)
+ __attribute__nonnull__(4);
static void determine_input_file_type(PARROT_INTERP,
- ARGIN(const char * const sourcefile))
+ ARGIN(const char * const sourcefile),
+ ARGIN(yyscan_t yyscanner))
__attribute__nonnull__(1)
- __attribute__nonnull__(2);
+ __attribute__nonnull__(2)
+ __attribute__nonnull__(3);
static void determine_output_file_type(PARROT_INTERP,
- ARGMOD(int *obj_file),
ARGIN(const char *output_file))
__attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(3)
- FUNC_MODIFIES(*obj_file);
+ __attribute__nonnull__(2);
-static void do_pre_process(PARROT_INTERP)
+static void do_pre_process(PARROT_INTERP, yyscan_t yyscanner)
__attribute__nonnull__(1);
static void imcc_get_optimization_description(
@@ -74,13 +75,11 @@
__attribute__nonnull__(3)
FUNC_MODIFIES(*opt_desc);
-static void imcc_run_pbc(PARROT_INTERP,
- int obj_file,
- ARGIN_NULLOK(const char *output_file),
+static void imcc_parseflags(PARROT_INTERP,
int argc,
ARGIN(const char **argv))
__attribute__nonnull__(1)
- __attribute__nonnull__(5);
+ __attribute__nonnull__(3);
static void imcc_write_pbc(PARROT_INTERP, ARGIN(const char *output_file))
__attribute__nonnull__(1)
@@ -93,20 +92,21 @@
#define ASSERT_ARGS_compile_to_bytecode __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(sourcefile))
+ , PARROT_ASSERT_ARG(sourcefile) \
+ , PARROT_ASSERT_ARG(yyscanner))
#define ASSERT_ARGS_determine_input_file_type __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(sourcefile))
+ , PARROT_ASSERT_ARG(sourcefile) \
+ , PARROT_ASSERT_ARG(yyscanner))
#define ASSERT_ARGS_determine_output_file_type __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(obj_file) \
, PARROT_ASSERT_ARG(output_file))
#define ASSERT_ARGS_do_pre_process __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_imcc_get_optimization_description \
__attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(opt_desc))
-#define ASSERT_ARGS_imcc_run_pbc __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+#define ASSERT_ARGS_imcc_parseflags __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(argv))
#define ASSERT_ARGS_imcc_write_pbc __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
@@ -149,119 +149,102 @@
/*
-=item C<void imcc_start_handling_flags(PARROT_INTERP)>
+=item C<static void imcc_parseflags(PARROT_INTERP, int argc, const char **argv)>
-Initialize handling of IMCC related command line flags.
+Parse flags ans set approptiate state(s)
=cut
*/
-void
-imcc_start_handling_flags(PARROT_INTERP)
-{
- SET_STATE_RUN_PBC(interp);
-}
-
-/*
-
-=item C<int imcc_handle_flag(PARROT_INTERP, struct longopt_opt_info *opt,
-Parrot_Run_core_t *core)>
-Handle Parrot's command line for IMCC related option and set appropriate flags.
+static void
+imcc_parseflags(PARROT_INTERP, int argc, ARGIN(const char **argv))
+{
+ ASSERT_ARGS(imcc_parseflags)
+ struct longopt_opt_info opt = LONGOPT_OPT_INFO_INIT;
-Return 1 if flag handled, 0 if not.
+ /* default state: run pbc */
+ SET_STATE_RUN_PBC(interp);
-=cut
+ while (longopt_get(interp, argc, argv, Parrot_cmd_options(), &opt) > 0) {
+ switch (opt.opt_id) {
+ case 'd':
+ if (opt.opt_arg && is_all_hex_digits(opt.opt_arg)) {
+ IMCC_INFO(interp)->debug = strtoul(opt.opt_arg, NULL, 16);
+ }
+ else {
+ IMCC_INFO(interp)->debug++;
+ }
+ break;
+ case 'w':
+ /* FIXME It's not best way to set warnings... */
+ Parrot_setwarnings(interp, PARROT_WARNINGS_ALL_FLAG);
+ IMCC_INFO(interp)->imcc_warn = 1;
+ break;
+ case 'G':
+ IMCC_INFO(interp)->gc_off = 1;
+ break;
+ case 'a':
+ SET_STATE_PASM_FILE(interp);
+ break;
+ case 'r':
+ if (STATE_RUN_PBC(interp))
+ SET_STATE_RUN_FROM_FILE(interp);
+ SET_STATE_RUN_PBC(interp);
+ break;
+ case 'c':
+ SET_STATE_LOAD_PBC(interp);
+ break;
+ case 'v':
+ IMCC_INFO(interp)->verbose++;
+ break;
+ case 'y':
+ yydebug = 1;
+ break;
+ case 'E':
+ SET_STATE_PRE_PROCESS(interp);
+ break;
+ case 'o':
+ UNSET_STATE_RUN_PBC(interp);
+ interp->output_file = opt.opt_arg;
+ break;
-*/
+ case OPT_PBC_OUTPUT:
+ UNSET_STATE_RUN_PBC(interp);
+ SET_STATE_WRITE_PBC(interp);
+ if (!interp->output_file)
+ interp->output_file = "-";
+ break;
-PARROT_WARN_UNUSED_RESULT
-PARROT_CAN_RETURN_NULL
-int
-imcc_handle_flag(PARROT_INTERP, struct longopt_opt_info *opt,
- Parrot_Run_core_t *core)
-{
- PARROT_ASSERT(opt);
- PARROT_ASSERT(core);
+ case 'O':
+ if (!opt.opt_arg) {
+ IMCC_INFO(interp)->optimizer_level |= OPT_PRE;
+ break;
+ }
+ if (strchr(opt.opt_arg, 'p'))
+ IMCC_INFO(interp)->optimizer_level |= OPT_PASM;
+ if (strchr(opt.opt_arg, 'c'))
+ IMCC_INFO(interp)->optimizer_level |= OPT_SUB;
+
+ /* currently not ok due to different register allocation */
+ if (strchr(opt.opt_arg, '1')) {
+ IMCC_INFO(interp)->optimizer_level |= OPT_PRE;
+ }
+ if (strchr(opt.opt_arg, '2')) {
+ IMCC_INFO(interp)->optimizer_level |= (OPT_PRE | OPT_CFG);
+ }
+ break;
- switch (opt->opt_id) {
- case 'd':
- if (opt->opt_arg && is_all_hex_digits(opt->opt_arg)) {
- IMCC_INFO(interp)->debug = strtoul(opt->opt_arg, NULL, 16);
- }
- else {
- IMCC_INFO(interp)->debug++;
- }
- break;
- case 'w':
- /* FIXME It's not best way to set warnings... */
- Parrot_setwarnings(interp, PARROT_WARNINGS_ALL_FLAG);
- IMCC_INFO(interp)->imcc_warn = 1;
- break;
- case 'G':
- IMCC_INFO(interp)->gc_off = 1;
- break;
- case 'a':
- SET_STATE_PASM_FILE(interp);
- break;
- case 'r':
- if (STATE_RUN_PBC(interp))
- SET_STATE_RUN_FROM_FILE(interp);
- SET_STATE_RUN_PBC(interp);
- break;
- case 'c':
- SET_STATE_LOAD_PBC(interp);
- break;
- case 'v':
- IMCC_INFO(interp)->verbose++;
- break;
- case 'y':
- yydebug = 1;
- break;
- case 'E':
- SET_STATE_PRE_PROCESS(interp);
- break;
- case 'o':
- UNSET_STATE_RUN_PBC(interp);
- interp->output_file = opt->opt_arg;
- break;
-
- case OPT_PBC_OUTPUT:
- UNSET_STATE_RUN_PBC(interp);
- SET_STATE_WRITE_PBC(interp);
- if (!interp->output_file)
- interp->output_file = "-";
- break;
-
- case 'O':
- if (!opt->opt_arg) {
- IMCC_INFO(interp)->optimizer_level |= OPT_PRE;
+ default:
+ /* skip already processed arguments */
break;
}
- if (strchr(opt->opt_arg, 'p'))
- IMCC_INFO(interp)->optimizer_level |= OPT_PASM;
- if (strchr(opt->opt_arg, 'c'))
- IMCC_INFO(interp)->optimizer_level |= OPT_SUB;
-
- /* currently not ok due to different register allocation */
- if (strchr(opt->opt_arg, '1')) {
- IMCC_INFO(interp)->optimizer_level |= OPT_PRE;
- }
- if (strchr(opt->opt_arg, '2')) {
- IMCC_INFO(interp)->optimizer_level |= (OPT_PRE | OPT_CFG);
- }
- break;
-
- default:
- return 0;
}
-
- return 1;
}
/*
-=item C<static void do_pre_process(PARROT_INTERP)>
+=item C<static void do_pre_process(PARROT_INTERP, yyscan_t yyscanner)>
Pre-processor step. Turn parser's output codes into Parrot instructions.
@@ -270,14 +253,12 @@
*/
static void
-do_pre_process(PARROT_INTERP)
+do_pre_process(PARROT_INTERP, yyscan_t yyscanner)
{
ASSERT_ARGS(do_pre_process)
int c;
YYSTYPE val;
- const yyscan_t yyscanner = IMCC_INFO(interp)->yyscanner;
-
IMCC_push_parser_state(interp);
c = yylex(&val, yyscanner, interp); /* is reset at end of while loop */
while (c) {
@@ -409,42 +390,8 @@
/*
-=item C<void imcc_initialize(PARROT_INTERP)>
-
-Initialise interpreter and set optimisation level.
-
-=cut
-
-*/
-
-void
-imcc_initialize(PARROT_INTERP)
-{
- yyscan_t yyscanner = IMCC_INFO(interp)->yyscanner;
-
- do_yylex_init(interp, &yyscanner);
-
- Parrot_block_GC_mark(interp);
- Parrot_block_GC_sweep(interp);
-
- IMCC_INFO(interp)->yyscanner = yyscanner;
-
- /* Default optimization level is zero; see optimizer.c, imc.h */
- if (!IMCC_INFO(interp)->optimizer_level) {
-#if 1
- IMCC_INFO(interp)->optimizer_level = 0;
-#else
- /* won't even make with this: something with Data::Dumper and
- * set_i_p_i*/
- IMCC_INFO(interp)->optimizer_level = OPT_PRE;
-#endif
- }
-}
-
-/*
-
-=item C<static void imcc_run_pbc(PARROT_INTERP, int obj_file, const char
-*output_file, int argc, const char **argv)>
+=item C<void imcc_run_pbc(PARROT_INTERP, const char *output_file, int argc,
+const char **argv)>
Write out or run Parrot bytecode.
@@ -452,25 +399,13 @@
*/
-static void
-imcc_run_pbc(PARROT_INTERP, int obj_file, ARGIN_NULLOK(const char *output_file),
+void
+imcc_run_pbc(PARROT_INTERP, ARGIN_NULLOK(const char *output_file),
int argc, ARGIN(const char **argv))
{
- ASSERT_ARGS(imcc_run_pbc)
- if (IMCC_INFO(interp)->imcc_warn)
- PARROT_WARNINGS_on(interp, PARROT_WARNINGS_ALL_FLAG);
- else
- PARROT_WARNINGS_off(interp, PARROT_WARNINGS_ALL_FLAG);
+ /* ASSERT_ARGS(imcc_run_pbc) */
- if (!IMCC_INFO(interp)->gc_off) {
- Parrot_unblock_GC_mark(interp);
- Parrot_unblock_GC_sweep(interp);
- }
-
- if (obj_file)
- IMCC_info(interp, 1, "Writing %s\n", output_file);
- else
- IMCC_info(interp, 1, "Running...\n");
+ IMCC_info(interp, 1, "Running...\n");
/* runs :init functions */
PackFile_fixup_subs(interp, PBC_IMMEDIATE, NULL);
@@ -522,7 +457,7 @@
/*
=item C<static void determine_input_file_type(PARROT_INTERP, const char * const
-sourcefile)>
+sourcefile, yyscan_t yyscanner)>
Read in the source and determine whether it's Parrot bytecode or PASM
@@ -531,10 +466,10 @@
*/
static void
-determine_input_file_type(PARROT_INTERP, ARGIN(const char * const sourcefile))
+determine_input_file_type(PARROT_INTERP, ARGIN(const char * const sourcefile),
+ ARGIN(yyscan_t yyscanner))
{
ASSERT_ARGS(determine_input_file_type)
- yyscan_t yyscanner = IMCC_INFO(interp)->yyscanner;
/* Read in the source and check the file extension for the input type;
a file extension .pbc means it's parrot bytecode;
@@ -566,8 +501,8 @@
/*
-=item C<static void determine_output_file_type(PARROT_INTERP, int *obj_file,
-const char *output_file)>
+=item C<static void determine_output_file_type(PARROT_INTERP, const char
+*output_file)>
Decide what kind of file we are to output.
@@ -576,8 +511,7 @@
*/
static void
-determine_output_file_type(PARROT_INTERP,
- ARGMOD(int *obj_file), ARGIN(const char *output_file))
+determine_output_file_type(PARROT_INTERP, ARGIN(const char *output_file))
{
ASSERT_ARGS(determine_output_file_type)
const char * const ext = strrchr(output_file, '.');
@@ -585,17 +519,13 @@
if (ext) {
if (STREQ(ext, ".pbc"))
SET_STATE_WRITE_PBC(interp);
- else if (STREQ(ext, PARROT_OBJ_EXT)) {
- UNUSED(obj_file);
- IMCC_fatal_standalone(interp, 1, "main: can't produce object file");
- }
}
}
/*
=item C<static void compile_to_bytecode(PARROT_INTERP, const char * const
-sourcefile, const char * const output_file)>
+sourcefile, const char * const output_file, yyscan_t yyscanner)>
Compile source code into bytecode (or die trying).
@@ -606,11 +536,11 @@
static void
compile_to_bytecode(PARROT_INTERP,
ARGIN(const char * const sourcefile),
- ARGIN_NULLOK(const char * const output_file))
+ ARGIN_NULLOK(const char * const output_file),
+ ARGIN(yyscan_t yyscanner))
{
ASSERT_ARGS(compile_to_bytecode)
PackFile *pf;
- yyscan_t yyscanner = IMCC_INFO(interp)->yyscanner;
const int per_pbc = STATE_WRITE_PBC(interp) || STATE_RUN_PBC(interp);
const int opt_level = IMCC_INFO(interp)->optimizer_level;
@@ -672,29 +602,34 @@
imcc_run(PARROT_INTERP, ARGIN(const char *sourcefile), int argc,
ARGIN(const char **argv))
{
- int obj_file;
- yyscan_t yyscanner = IMCC_INFO(interp)->yyscanner;
+ yyscan_t yyscanner;
const char * const output_file = interp->output_file;
+ imcc_parseflags(interp, argc, argv);
+
+ /* PMCs in IMCC_INFO won't get marked */
+ Parrot_block_GC_mark(interp);
+ Parrot_block_GC_sweep(interp);
+
+ yylex_init_extra(interp, &yyscanner);
+
/* Figure out what kind of source file we have -- if we have one */
if (!sourcefile || !*sourcefile)
IMCC_fatal_standalone(interp, 1, "main: No source file specified.\n");
else
- determine_input_file_type(interp, sourcefile);
+ determine_input_file_type(interp, sourcefile, yyscanner);
if (STATE_PRE_PROCESS(interp)) {
- do_pre_process(interp);
+ do_pre_process(interp, yyscanner);
Parrot_destroy(interp);
yylex_destroy(yyscanner);
- IMCC_INFO(interp)->yyscanner = NULL;
return 0;
}
/* Do we need to produce an output file? If so, what type? */
- obj_file = 0;
if (output_file) {
- determine_output_file_type(interp, &obj_file, output_file);
+ determine_output_file_type(interp, output_file);
if (STREQ(sourcefile, output_file) && !STREQ(sourcefile, "-"))
IMCC_fatal_standalone(interp, 1, "main: outputfile is sourcefile\n");
@@ -718,7 +653,7 @@
Parrot_pbc_load(interp, pf);
}
else
- compile_to_bytecode(interp, sourcefile, output_file);
+ compile_to_bytecode(interp, sourcefile, output_file, yyscanner);
/* Produce a PBC output file, if one was requested */
if (STATE_WRITE_PBC(interp)) {
@@ -741,13 +676,24 @@
}
}
- /* Run the bytecode */
- if (STATE_RUN_PBC(interp))
- imcc_run_pbc(interp, obj_file, output_file, argc, argv);
+ /* tear down the compilation context */
+ if (IMCC_INFO(interp)->imcc_warn)
+ PARROT_WARNINGS_on(interp, PARROT_WARNINGS_ALL_FLAG);
+ else
+ PARROT_WARNINGS_off(interp, PARROT_WARNINGS_ALL_FLAG);
+
+ if (!IMCC_INFO(interp)->gc_off) {
+ Parrot_unblock_GC_mark(interp);
+ Parrot_unblock_GC_sweep(interp);
+ }
yylex_destroy(yyscanner);
- IMCC_INFO(interp)->yyscanner = NULL;
- return 0;
+
+ /* should the bytecode be run */
+ if (STATE_RUN_PBC(interp))
+ return 1;
+ else
+ return 0;
}
/*
Modified: branches/ucs4_encoding/compilers/imcc/optimizer.c
==============================================================================
--- branches/ucs4_encoding/compilers/imcc/optimizer.c Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/compilers/imcc/optimizer.c Mon May 24 21:18:41 2010 (r46974)
@@ -824,18 +824,19 @@
case PARROT_ARG_S:
eval[i + 1] = i; /* regs used are I0, I1, I2 */
if (ops <= 2 || i) { /* fill source regs */
+ SymReg *r_ = r[i]->type & VT_CONSTP ? r[i]->reg : r[i];
switch (r[i]->set) {
case 'I':
- REG_INT(interp, i) = IMCC_int_from_reg(interp, r[i]);
+ REG_INT(interp, i) = IMCC_int_from_reg(interp, r_);
break;
case 'N':
{
- STRING * const s = Parrot_str_new(interp, r[i]->name, 0);
+ STRING * const s = Parrot_str_new(interp, r_->name, 0);
REG_NUM(interp, i) = Parrot_str_to_num(interp, s);
}
break;
case 'S':
- REG_STR(interp, i) = IMCC_string_from_reg(interp, r[i]);
+ REG_STR(interp, i) = IMCC_string_from_reg(interp, r_);
break;
default:
break;
@@ -1416,7 +1417,7 @@
Instruction *ins = unit->bb_list[i]->start;
if ((ins->type & ITLABEL) && *ins->symregs[0]->name != '_') {
const SymReg * const lab = ins->symregs[0];
- used = IMCC_INFO(interp)->has_compile ? 1 : 0;
+ used = 0;
if (!lab->first_ins)
continue;
Modified: branches/ucs4_encoding/compilers/imcc/parser.h
==============================================================================
--- branches/ucs4_encoding/compilers/imcc/parser.h Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/compilers/imcc/parser.h Mon May 24 21:18:41 2010 (r46974)
@@ -27,11 +27,12 @@
SymReg * macro(PARROT_INTERP, char *name);
-PARROT_EXPORT int yyparse(yyscan_t, PARROT_INTERP);
-PARROT_EXPORT int yylex(YYSTYPE *, yyscan_t, PARROT_INTERP);
-PARROT_EXPORT int yylex_destroy(yyscan_t);
+int yyparse(yyscan_t, PARROT_INTERP);
+int yylex(YYSTYPE *, yyscan_t, PARROT_INTERP);
+int yylex_destroy(yyscan_t);
int yylex_init(yyscan_t*);
+int yylex_init_extra(PARROT_INTERP, yyscan_t*);
int yyget_column(yyscan_t);
void yyset_column(int column_no , yyscan_t);
int yyerror(yyscan_t, Interp*, const char *);
Modified: branches/ucs4_encoding/compilers/imcc/parser_util.c
==============================================================================
--- branches/ucs4_encoding/compilers/imcc/parser_util.c Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/compilers/imcc/parser_util.c Mon May 24 21:18:41 2010 (r46974)
@@ -479,8 +479,6 @@
if (r[0]->set == r[1]->set && REG_NEEDS_ALLOC(r[1]))
ins->type |= ITALIAS;
}
- else if (STREQ(name, "compile"))
- ++IMCC_INFO(interp)->has_compile;
found_ins:
if (emit)
@@ -494,28 +492,6 @@
/*
-=item C<int do_yylex_init(PARROT_INTERP, yyscan_t* yyscanner)>
-
-=cut
-
-*/
-
-PARROT_EXPORT
-int
-do_yylex_init(PARROT_INTERP, ARGOUT(yyscan_t* yyscanner))
-{
- ASSERT_ARGS(do_yylex_init)
- const int retval = yylex_init(yyscanner);
-
- /* This way we can get the interpreter via yyscanner */
- if (!retval)
- yyset_extra(interp, *yyscanner);
-
- return retval;
-}
-
-/*
-
=item C<PMC * imcc_compile(PARROT_INTERP, const char *s, int pasm_file, STRING
**error_message)>
@@ -547,7 +523,7 @@
UINTVAL regs_used[4] = {3, 3, 3, 3};
INTVAL eval_number;
- do_yylex_init(interp, &yyscanner);
+ yylex_init_extra(interp, &yyscanner);
/* we create not yet anchored PMCs - e.g. Subs: turn off GC */
Parrot_block_GC_mark(interp);
@@ -865,7 +841,7 @@
if (ext && STREQ(ext, ".pasm")) {
void *yyscanner;
- do_yylex_init(interp, &yyscanner);
+ yylex_init_extra(interp, &yyscanner);
IMCC_INFO(interp)->state->pasm_file = 1;
/* see imcc.l */
@@ -875,7 +851,7 @@
}
else {
void *yyscanner;
- do_yylex_init(interp, &yyscanner);
+ yylex_init_extra(interp, &yyscanner);
IMCC_INFO(interp)->state->pasm_file = 0;
compile_file(interp, fp, yyscanner);
@@ -1191,7 +1167,6 @@
*/
-PARROT_EXPORT
void
imcc_init(PARROT_INTERP)
{
@@ -1240,7 +1215,6 @@
*/
-PARROT_EXPORT
void
imcc_destroy(PARROT_INTERP)
{
Modified: branches/ucs4_encoding/compilers/imcc/pbc.c
==============================================================================
--- branches/ucs4_encoding/compilers/imcc/pbc.c Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/compilers/imcc/pbc.c Mon May 24 21:18:41 2010 (r46974)
@@ -913,13 +913,25 @@
charset_name[p- p2 - 2] = '\0';
/*fprintf(stderr, "%s:%s\n", charset_name, encoding_name);*/
s_charset = Parrot_find_charset(interp, charset_name);
+ if (s_charset == NULL)
+ Parrot_ex_throw_from_c_args(interp, NULL,
+ EXCEPTION_INVALID_STRING_REPRESENTATION,
+ "Unknown charset '%s'", charset_name);
s_encoding = Parrot_find_encoding(interp, encoding_name);
+ if (s_encoding == NULL)
+ Parrot_ex_throw_from_c_args(interp, NULL,
+ EXCEPTION_INVALID_STRING_REPRESENTATION,
+ "Unknown encoding '%s'", encoding_name);
}
else {
strncpy(charset_name, buf, p - buf - 1);
charset_name[p - buf - 1] = '\0';
/*fprintf(stderr, "%s\n", charset_name);*/
s_charset = Parrot_find_charset(interp, charset_name);
+ if (s_charset == NULL)
+ Parrot_ex_throw_from_c_args(interp, NULL,
+ EXCEPTION_INVALID_STRING_REPRESENTATION,
+ "Unknown charset '%s'", charset_name);
}
if (strcmp(charset_name, "unicode") == 0)
src_encoding = Parrot_utf8_encoding_ptr;
@@ -932,7 +944,7 @@
buf = p + 1;
if (strcmp(charset_name, "unicode") == 0 && strcmp(encoding_name, "utf8") == 0) {
/* Special case needed for backward compatibility with utf8 literals
- * using \xHH\xHH byte sequences */
+ * using \xHH\xHH byte sequences */
s = Parrot_str_unescape(interp, buf, '"', "utf8:unicode");
}
else {
Copied: branches/ucs4_encoding/compilers/opsc/Defines.mak (from r46972, trunk/compilers/opsc/Defines.mak)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ucs4_encoding/compilers/opsc/Defines.mak Mon May 24 21:18:41 2010 (r46974, copy of r46972, trunk/compilers/opsc/Defines.mak)
@@ -0,0 +1,24 @@
+OPSC_DIR = compilers/opsc
+
+OPSC_SOURCES_GENERATED = \
+ $(OPSC_DIR)/gen/Ops/Compiler.pir \
+ $(OPSC_DIR)/gen/Ops/Compiler/Actions.pir \
+ $(OPSC_DIR)/gen/Ops/Compiler/Grammar.pir \
+ $(OPSC_DIR)/gen/Ops/Emitter.pir \
+ $(OPSC_DIR)/gen/Ops/Trans.pir \
+ $(OPSC_DIR)/gen/Ops/Trans/C.pir \
+ $(OPSC_DIR)/gen/Ops/Op.pir \
+ $(OPSC_DIR)/gen/Ops/OpLib.pir \
+ $(OPSC_DIR)/gen/Ops/File.pir \
+ $(OPSC_DIR)/gen/Ops/Renumberer.pir
+
+OPSC_SOURCES = \
+ $(OPSC_DIR)/opsc.pir \
+ $(OPSC_DIR)/src/builtins.pir \
+ $(OPSC_SOURCES_GENERATED)
+
+OPSC_CLEANUPS = \
+ $(OPSC_DIR)/opsc.pbc \
+ $(LIBRARY_DIR)/opsc.pbc \
+ $(OPSC_SOURCES_GENERATED)
+
Copied: branches/ucs4_encoding/compilers/opsc/Rules.mak (from r46972, trunk/compilers/opsc/Rules.mak)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ucs4_encoding/compilers/opsc/Rules.mak Mon May 24 21:18:41 2010 (r46974, copy of r46972, trunk/compilers/opsc/Rules.mak)
@@ -0,0 +1,50 @@
+$(LIBRARY_DIR)/opsc.pbc: $(NQP_RX) $(OPSC_SOURCES) $(NQPRX_LIB_SETTING)
+ $(PARROT) -o $(LIBRARY_DIR)/opsc.pbc $(OPSC_DIR)/opsc.pir
+
+$(OPSC_DIR)/gen/Ops/Compiler.pir: $(OPSC_DIR)/src/Ops/Compiler.pm $(NQP_RX)
+ $(NQP_RX) --target=pir --output=$@ $(OPSC_DIR)/src/Ops/Compiler.pm
+
+$(OPSC_DIR)/gen/Ops/Compiler/Actions.pir: $(OPSC_DIR)/src/Ops/Compiler/Actions.pm $(NQP_RX)
+ $(NQP_RX) --target=pir --output=$@ $(OPSC_DIR)/src/Ops/Compiler/Actions.pm
+
+$(OPSC_DIR)/gen/Ops/Compiler/Grammar.pir: $(OPSC_DIR)/src/Ops/Compiler/Grammar.pm $(NQP_RX)
+ $(NQP_RX) --target=pir --output=$@ $(OPSC_DIR)/src/Ops/Compiler/Grammar.pm
+
+$(OPSC_DIR)/gen/Ops/Emitter.pir: $(OPSC_DIR)/src/Ops/Emitter.pm $(NQP_RX)
+ $(NQP_RX) --target=pir --output=$@ $(OPSC_DIR)/src/Ops/Emitter.pm
+
+$(OPSC_DIR)/gen/Ops/File.pir: $(OPSC_DIR)/src/Ops/File.pm $(NQP_RX)
+ $(NQP_RX) --target=pir --output=$@ $(OPSC_DIR)/src/Ops/File.pm
+
+$(OPSC_DIR)/gen/Ops/Op.pir: $(OPSC_DIR)/src/Ops/Op.pm $(NQP_RX)
+ $(NQP_RX) --target=pir --output=$@ $(OPSC_DIR)/src/Ops/Op.pm
+
+$(OPSC_DIR)/gen/Ops/OpLib.pir: $(OPSC_DIR)/src/Ops/OpLib.pm $(NQP_RX)
+ $(NQP_RX) --target=pir --output=$@ $(OPSC_DIR)/src/Ops/OpLib.pm
+
+$(OPSC_DIR)/gen/Ops/Trans.pir: $(OPSC_DIR)/src/Ops/Trans.pm $(NQP_RX)
+ $(NQP_RX) --target=pir --output=$@ $(OPSC_DIR)/src/Ops/Trans.pm
+
+$(OPSC_DIR)/gen/Ops/Trans/C.pir: $(OPSC_DIR)/src/Ops/Trans/C.pm $(NQP_RX)
+ $(NQP_RX) --target=pir --output=$@ $(OPSC_DIR)/src/Ops/Trans/C.pm
+
+$(OPSC_DIR)/gen/Ops/Renumberer.pir: $(OPSC_DIR)/src/Ops/Renumberer.pm $(NQP_RX)
+ $(NQP_RX) --target=pir --output=$@ $(OPSC_DIR)/src/Ops/Renumberer.pm
+
+# Target to force rebuild opsc from main Makefile
+$(OPSC_DIR)/ops2c.nqp: $(LIBRARY_DIR)/opsc.pbc
+
+$(OPS2C): $(OPSC_DIR)/ops2c.nqp $(LIBRARY_DIR)/opsc.pbc $(NQP_RX) $(PBC_TO_EXE)
+ $(NQP_RX) --target=pir $(OPSC_DIR)/ops2c.nqp >ops2c.pir
+ $(PARROT) -o ops2c.pbc ops2c.pir
+ $(PBC_TO_EXE) ops2c.pbc
+
+$(INSTALLABLEOPS2C): $(OPS2C) src/install_config$(O)
+ $(PBC_TO_EXE) ops2c.pbc --install
+
+opsc: $(LIBRARY_DIR)/opsc.pbc
+
+# Local variables:
+# mode: makefile
+# End:
+# vim: ft=make:
Copied: branches/ucs4_encoding/compilers/opsc/TODO (from r46972, trunk/compilers/opsc/TODO)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ucs4_encoding/compilers/opsc/TODO Mon May 24 21:18:41 2010 (r46974, copy of r46972, trunk/compilers/opsc/TODO)
@@ -0,0 +1,14 @@
+Simple todo.
+
+Required for initial self-hosting:
+
+ * NONE! We are selfhosted now!
+
+Required for full implementation:
+ * Handling #line directives.
+ * A LOT OF DOCUMENTATION.
+ * Add tests for Trans::C independent from 06-emitter.t
+ * Add tests for dynamic mode of Emitter.
+
+Nice to have:
+ * Profiling and performance tuning of ops parsing (we need pmichaud).
Copied: branches/ucs4_encoding/compilers/opsc/gen/Ops/Compiler/IGNOREME (from r46972, trunk/compilers/opsc/gen/Ops/Compiler/IGNOREME)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ucs4_encoding/compilers/opsc/gen/Ops/Compiler/IGNOREME Mon May 24 21:18:41 2010 (r46974, copy of r46972, trunk/compilers/opsc/gen/Ops/Compiler/IGNOREME)
@@ -0,0 +1 @@
+I just dummy file. Please ignore me. Please...
Copied: branches/ucs4_encoding/compilers/opsc/gen/Ops/Trans/IGNOREME (from r46972, trunk/compilers/opsc/gen/Ops/Trans/IGNOREME)
==============================================================================
Copied: branches/ucs4_encoding/compilers/opsc/ops2c.nqp (from r46972, trunk/compilers/opsc/ops2c.nqp)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ucs4_encoding/compilers/opsc/ops2c.nqp Mon May 24 21:18:41 2010 (r46974, copy of r46972, trunk/compilers/opsc/ops2c.nqp)
@@ -0,0 +1,113 @@
+#! ./parrot-nqp
+# $Id$
+
+pir::load_bytecode("opsc.pbc");
+pir::load_bytecode("Getopt/Obj.pbc");
+
+my $core := 0;
+my @files;
+my $emit_lines := 1;
+
+my $getopts := Q:PIR{ %r = new ['Getopt';'Obj'] };
+
+$getopts.notOptStop();
+my $arg := $getopts.add();
+$arg.long('core');
+$arg.short('c');
+
+$arg := $getopts.add();
+$arg.long('dynamic');
+$arg.short('d');
+$arg.type('String');
+
+$arg := $getopts.add();
+$arg.long('debug');
+$arg.short('g');
+
+$arg := $getopts.add();
+$arg.long('no-lines');
+$arg.short('n');
+
+$arg := $getopts.add();
+$arg.long('help');
+$arg.short('h');
+
+$arg := $getopts.add();
+$arg.long('force-regen');
+$arg.short('f');
+
+my $opts := $getopts.get_options(pir::getinterp__p()[2]);
+
+if $opts<core> {
+ @files := <
+ src/ops/core.ops
+ src/ops/bit.ops
+ src/ops/cmp.ops
+ src/ops/debug.ops
+ src/ops/io.ops
+ src/ops/math.ops
+ src/ops/object.ops
+ src/ops/pmc.ops
+ src/ops/set.ops
+ src/ops/string.ops
+ src/ops/sys.ops
+ src/ops/var.ops
+ src/ops/experimental.ops
+ >;
+ $core := 1;
+}
+elsif $opts<dynamic> {
+ $core := 0;
+ @files.push( $opts<dynamic>);
+}
+elsif (+$opts == 0 || $opts<help>) {
+ say("This is ops2c, part of Parrot build infrastructure.
+usage:
+ops2c --core
+ops2c --dynamic path/to/dynops.ops");
+ pir::exit(0);
+}
+
+my $force_regen := ?$opts<force-regen>;
+
+if ($opts<no-lines>) {
+ #TODO: figure out how to generate line numbers
+ # $emit_lines is currently ignored
+ $emit_lines := 0;
+}
+
+my $trans := Ops::Trans::C.new();
+my $start_time := pir::time__N();
+my $debug := ?$opts<debug>;
+my $f;
+my $renum;
+
+if $core {
+ my $lib := Ops::OpLib.new(
+ :num_file('src/ops/ops.num'),
+ :skip_file('src/ops/ops.skip'),
+ );
+ $f := Ops::File.new(|@files, :oplib($lib), :core(1));
+}
+else {
+ $f := Ops::File.new(|@files, :core(0));
+}
+
+#pir::sprintf(my $time, "%.3f", [pir::time__N() - $start_time] );
+#say("# Ops parsed in $time seconds.");
+
+my $emitter := Ops::Emitter.new(
+ :ops_file($f), :trans($trans),
+ :script('ops2c.nqp'), :file(@files[0]),
+ :flags( hash( core => $core ) ),
+);
+
+unless $debug {
+ if $force_regen || $f<renum>.need_regeneration {
+ $emitter.print_ops_num_files();
+ }
+ $emitter.print_c_header_files();
+ $emitter.print_c_source_file();
+}
+
+# vim: expandtab shiftwidth=4 ft=perl6:
Copied: branches/ucs4_encoding/compilers/opsc/opsc.pir (from r46972, trunk/compilers/opsc/opsc.pir)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ucs4_encoding/compilers/opsc/opsc.pir Mon May 24 21:18:41 2010 (r46974, copy of r46972, trunk/compilers/opsc/opsc.pir)
@@ -0,0 +1,37 @@
+#! parrot
+# Copyright (C) 2009-2010, Parrot Foundation.
+# $Id$
+
+.namespace [ 'Ops';'Compiler' ]
+
+.include 'compilers/opsc/src/builtins.pir'
+.include 'compilers/opsc/gen/Ops/Compiler/Grammar.pir'
+.include 'compilers/opsc/gen/Ops/Compiler/Actions.pir'
+.include 'compilers/opsc/gen/Ops/Compiler.pir'
+
+.include 'compilers/opsc/gen/Ops/Emitter.pir'
+.include 'compilers/opsc/gen/Ops/Trans.pir'
+.include 'compilers/opsc/gen/Ops/Trans/C.pir'
+
+.include 'compilers/opsc/gen/Ops/Op.pir'
+.include 'compilers/opsc/gen/Ops/OpLib.pir'
+.include 'compilers/opsc/gen/Ops/File.pir'
+.include 'compilers/opsc/gen/Ops/Renumberer.pir'
+
+
+.namespace []
+.sub 'main' :main
+ .param pmc args
+
+ $P0 = compreg 'Ops'
+ $P0.'command_line'(args)
+ exit 0
+.end
+
+
+
+# Local Variables:
+# mode: pir
+# fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4 ft=pir:
Copied: branches/ucs4_encoding/compilers/opsc/src/Ops/Compiler.pm (from r46972, trunk/compilers/opsc/src/Ops/Compiler.pm)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ucs4_encoding/compilers/opsc/src/Ops/Compiler.pm Mon May 24 21:18:41 2010 (r46974, copy of r46972, trunk/compilers/opsc/src/Ops/Compiler.pm)
@@ -0,0 +1,17 @@
+#! nqp
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+class Ops::Compiler is HLL::Compiler;
+
+INIT {
+ Ops::Compiler.language('Ops');
+ Ops::Compiler.parsegrammar(Ops::Compiler::Grammar);
+ Ops::Compiler.parseactions(Ops::Compiler::Actions);
+}
+
+method set_oplib($oplib) {
+ $Ops::Compiler::Actions::OPLIB := $oplib;
+}
+
+# vim: ft=perl6 expandtab shiftwidth=4:
Copied: branches/ucs4_encoding/compilers/opsc/src/Ops/Compiler/Actions.pm (from r46972, trunk/compilers/opsc/src/Ops/Compiler/Actions.pm)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ucs4_encoding/compilers/opsc/src/Ops/Compiler/Actions.pm Mon May 24 21:18:41 2010 (r46974, copy of r46972, trunk/compilers/opsc/src/Ops/Compiler/Actions.pm)
@@ -0,0 +1,410 @@
+#! nqp
+# Copyright (C) 2009-2010, Parrot Foundation.
+# $Id$
+
+class Ops::Compiler::Actions is HLL::Actions;
+
+our $OPLIB;
+
+INIT {
+ pir::load_bytecode("nqp-setting.pbc");
+ $OPLIB := 0;
+}
+
+method TOP($/) {
+ make $<body>.ast;
+}
+
+method body($/) {
+ my $past := PAST::Stmts.new(
+ :node($/)
+ );
+
+ $past<preamble> := PAST::Stmts.new(
+ :node($/)
+ );
+ $past<ops> := PAST::Stmts.new(
+ :node($/)
+ );
+
+ for $<preamble> {
+ $past<preamble>.push($_<preamble_guts>);
+ }
+
+ for $<op> {
+ my $ops := $_.ast;
+ my $op_skip_table;
+ if $OPLIB {
+ $op_skip_table := $OPLIB.op_skip_table;
+ }
+ for @($ops) -> $op {
+ if $OPLIB && !$op_skip_table.exists($op.full_name) || !$OPLIB {
+ $past<ops>.push($op);
+ }
+ }
+ }
+
+ make $past;
+}
+
+method preamble($/) {
+ make PAST::Op.new(
+ :node($/),
+ :pasttype('preamble'),
+ ~$<preamble_guts>
+ );
+}
+
+method op($/) {
+
+ # Handling flags.
+ my %flags := hash();
+ for $<op_flag> {
+ %flags{~$_<identifier>} := 1;
+ }
+
+ my @args := @($<signature>.ast);
+
+ my @norm_args := normalize_args(@args);
+ # We have to clone @norm_args. Otherwise it will be destroyed...
+ my @variants := expand_args(pir::clone__PP(@norm_args));
+
+ my $op := Ops::Op.new(
+ :name(~$<op_name>),
+ );
+
+ # Flatten PAST::Stmts into Op.
+ for @($<op_body>.ast) {
+ $op.push($_);
+ }
+
+ for $<op_body>.ast<jump> {
+ $op.add_jump($_);
+ }
+ if ~$<op_name> eq 'runinterp' {
+ $op.add_jump('PARROT_JUMP_RELATIVE');
+ }
+ $op<flags> := %flags;
+ $op<args> := @args;
+ $op<type> := ~$<op_type>;
+ $op<normalized_args> := @norm_args;
+
+ if !%flags<flow> {
+ my $goto_next := PAST::Op.new(
+ :pasttype('call'),
+ :name('goto_offset'),
+ PAST::Op.new(
+ :pasttype<call>,
+ :name<OPSIZE>,
+ )
+ );
+
+ my $nl := "\n";
+ $op.push(PAST::Op.new(
+ :pasttype<inline>,
+ :inline($nl)
+ ));
+ $op.push($goto_next);
+ $op.push(PAST::Op.new(
+ :pasttype<inline>,
+ :inline<;>
+ ));
+ }
+
+ my $past := PAST::Stmts.new(
+ :node($/)
+ );
+
+ if @variants {
+ for @variants {
+ my $new_op := pir::clone__PP($op);
+ $new_op<arg_types> := $_;
+ $past.push($new_op);
+ }
+ }
+ else {
+ $past.push($op);
+ }
+
+ make $past;
+}
+
+# Normalize args
+# For each arg produce LoL of all available variants
+# E.g. "in" will produce "i" and "ic" variants
+#
+# type one of <i p s n>
+# direction one of <i o io>
+# is_label one of <0 1>
+
+sub normalize_args(@args) {
+ my @result;
+ for @args -> $arg {
+ my $res := PAST::Var.new(
+ :isdecl(1)
+ );
+
+ if $arg<type> eq 'LABEL' {
+ $res<type> := 'i';
+ $res<is_label> := 1;
+ }
+ else {
+ $res<is_label> := 0;
+ }
+
+ if $arg<type> eq 'INTKEY' {
+ $res<type> := 'ki';
+ }
+ elsif $arg<type> ne 'LABEL' {
+ $res<type> := lc(substr($arg<type>, 0, 1));
+ }
+
+ my $use := $arg<direction>;
+
+ if $use eq 'in' {
+ $res<variant> := $res<type> ~ "c";
+ $res<direction> := 'i';
+ }
+ elsif $use eq 'invar' {
+ $res<direction> := 'i';
+ }
+ elsif $use eq 'inconst' {
+ $res<type> := $res<type> ~ "c";
+ $res<direction> := 'i';
+ }
+ elsif $use eq 'inout' {
+ $res<direction> := 'io';
+ }
+ else {
+ $res<direction> := 'o';
+ }
+
+ @result.push($res);
+ }
+ @result;
+}
+
+=begin
+
+=item C<expand_args(@args)>
+
+Given an argument list, returns a list of all the possible argument
+combinations.
+
+=end
+sub expand_args(@args) {
+
+ return list() unless @args;
+
+ my $arg := @args.shift;
+
+ my @var := list($arg<type>);
+ if $arg<variant> {
+ @var.push($arg<variant>);
+ }
+
+ my @list := expand_args(@args);
+ unless + at list {
+ return @var;
+ }
+
+ my @results;
+ for @list -> $l {
+ for @var -> $v {
+ # NQP can't handle it automagically. So wrap $l into list.
+ my @l := pir::does__IPS($l, 'array') ?? $l !! list($l);
+ @results.push(list($v, |@l));
+ }
+ }
+
+ @results;
+}
+
+
+method signature($/) {
+ my $past := PAST::Stmts.new(
+ :node($/)
+ );
+
+ for $<op_param> {
+ $past.push($_.ast);
+ }
+
+ make $past;
+}
+
+method op_param($/) {
+ my $past := PAST::Var.new(
+ :node($/),
+ :isdecl(1)
+ );
+
+ # We have to store 2 "types". Just set 2 properties on Var for now
+ $past<direction> := ~$<op_param_direction>;
+ $past<type> := ~$<op_param_type>;
+
+ make $past;
+}
+
+method op_body($/) {
+ my $past := PAST::Stmts.new(
+ :node($/),
+ );
+ $past<jump> := list();
+ my $prev_words := '';
+ for $<body_word> {
+ if $prev_words && $_<word> {
+ $prev_words := $prev_words ~ ~$_<word>;
+ }
+ elsif $_<word> {
+ $prev_words := ~$_<word>;
+ }
+ else {
+ $past.push(PAST::Op.new(
+ :pasttype('inline'),
+ :inline($prev_words),
+ ));
+ $prev_words := '';
+
+ if $_<macro_param> {
+ $past.push($_<macro_param>.ast);
+ }
+ elsif $_<op_macro> {
+ $past.push($_<op_macro>.ast);
+ for $_<op_macro>.ast<jump> {
+ $past<jump>.push($_);
+ }
+ }
+ }
+ }
+ if $prev_words {
+ $past.push(PAST::Op.new(
+ :pasttype('inline'),
+ :inline($prev_words)
+ ));
+ }
+ make $past;
+}
+
+method macro_param($/) {
+ make PAST::Var.new(
+ :name(~$<num>),
+ :node($/),
+ );
+}
+
+method body_word($/) {
+ #say('# body_word: '~ ~$<word>);
+ my $past;
+ if $<word> {
+ $past := PAST::Op.new(
+ :pasttype('inline'),
+ :inline(~$<word>)
+ );
+ }
+ elsif $<macro_param> {
+ $past := $<macro_param>.ast;
+ }
+ elsif $<op_macro> {
+ $past := $<op_macro>.ast;
+ }
+ else {
+ die('horribly');
+ }
+ #_dumper($past);
+ make $past;
+}
+
+method op_macro($/) {
+ #say('# op_macro');
+ # Generate set of calls to Trans:
+ # goto NEXT() -> goto_offset(opsize())
+ # goto OFFSET($addr) -> goto_offset($addr)
+ # goto ADDRESS($addr) -> goto_address($addr)
+ # expr NEXT() -> expr_offset(opsize())
+ # expr OFFSET($addr) -> expr_offset($addr)
+ # expr ADDRERR($addr) -> expr_address($addr)
+ # restart NEXT() -> restart_offset(opsize()); goto_address(0)
+ # restart OFFSET() -> restart_offset($addr); goto_offset($addr)
+ # XXX In trunk "restart ADDRESS" equivalent of "goto ADDRESS".
+ # restart ADDRESS() -> restart_address($addr); goto_address($addr)
+
+ my $macro_type := ~$<macro_type>;
+ my $macro_dest := ~$<macro_destination>;
+ my $is_next := $macro_dest eq 'NEXT';
+ my $macro_name := $macro_type ~ '_' ~ lc($is_next ?? 'offset' !! $macro_dest);
+
+ my $past := PAST::Stmts.new;
+
+ my $macro := PAST::Op.new(
+ :pasttype('call'),
+ :name($macro_name),
+ );
+ $past.push($macro);
+
+ $past<jump> := list();
+
+ if $macro_type ne 'expr' && $macro_dest eq 'OFFSET' {
+ $past<jump>.push('PARROT_JUMP_RELATIVE');
+ }
+
+ if $macro_type eq 'expr' || $macro_type eq 'goto' {
+ if $is_next {
+ $macro.push(PAST::Op.new(
+ :pasttype<call>,
+ :name<OPSIZE>,
+ ));
+ }
+ else {
+ process_op_macro_body_word($/, $macro);
+ }
+ }
+ elsif $macro_type eq 'restart' {
+ if $is_next {
+ $macro.push(PAST::Op.new(
+ :pasttype<call>,
+ :name<OPSIZE>,
+ ));
+ }
+ else {
+ process_op_macro_body_word($/, $macro);
+ }
+
+ $macro := PAST::Op.new(
+ :pasttype<call>,
+ :name<goto_address>,
+ );
+ if $is_next {
+ $macro.push(PAST::Op.new(
+ :pasttype<inline>,
+ :inline<0>,
+ ));
+ }
+ else {
+ process_op_macro_body_word($/, $macro);
+ }
+ $past.push($macro);
+ }
+ else {
+ pir::die("Horribly");
+ }
+
+ make $past;
+}
+
+sub process_op_macro_body_word($/, $macro) {
+ #_dumper($<body_word>);
+ if $<body_word> {
+ for $<body_word> {
+ #say(' word ' ~ $_);
+ my $bit := $_.ast;
+ $macro.push($_.ast) if defined($bit);
+ }
+ }
+}
+
+# Local Variables:
+# mode: perl6
+# fill-column: 100
+# End:
+# vim: expandtab ft=perl6 shiftwidth=4:
Copied: branches/ucs4_encoding/compilers/opsc/src/Ops/Compiler/Grammar.pm (from r46972, trunk/compilers/opsc/src/Ops/Compiler/Grammar.pm)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ucs4_encoding/compilers/opsc/src/Ops/Compiler/Grammar.pm Mon May 24 21:18:41 2010 (r46974, copy of r46972, trunk/compilers/opsc/src/Ops/Compiler/Grammar.pm)
@@ -0,0 +1,151 @@
+#! nqp
+# Copyright (C) 2009-2010, Parrot Foundation.
+# $Id$
+
+INIT { pir::load_bytecode('HLL.pbc'); }
+
+grammar Ops::Compiler::Grammar is HLL::Grammar;
+
+rule TOP {
+ <body>
+ [ $ || <.panic: 'Syntax error'> ]
+}
+
+rule body {
+ [ <preamble> | <op> ]*
+}
+
+token preamble {
+ <begin_preamble>
+ <preamble_guts>
+ <end_preamble>
+}
+
+regex preamble_guts {
+ .*? <?end_preamble>
+}
+
+token begin_preamble {
+ ^^'BEGIN_OPS_PREAMBLE'
+}
+
+token end_preamble {
+ ^^'END_OPS_PREAMBLE'
+}
+
+rule op {
+ <op_type>? 'op' <op_name=identifier>
+ [ '(' <signature> ')' || <.panic: "Fail to parse signature"> ]
+ <op_flag>*
+ [ <op_body> || <.panic: "Fail to parse op body"> ]
+ {*}
+}
+
+token op_type {
+ [ 'inline' | 'function' ]
+}
+
+rule signature { [ [<.ws><op_param><.ws>] ** ',' ]? }
+
+rule op_param {
+ <op_param_direction> <op_param_type>
+}
+
+token op_param_direction {
+ # Order is crucial. NQP doesn't support LTM yet.
+ [
+ | 'inout'
+ | 'inconst'
+ | 'invar'
+ | 'in'
+ | 'out'
+ ]
+}
+
+token op_param_type {
+ # Order is crucial. NQP doesn't support LTM yet.
+ [
+ | 'INTKEY'
+ | 'INT'
+ | 'NUM'
+ | 'STR'
+ | 'PMC'
+ | 'KEY'
+ | 'LABEL'
+ ]
+}
+
+rule op_flag {
+ ':' <identifier>
+}
+
+# OpBody starts with '{' and ends with single '}' on line.
+regex op_body {
+ '{'
+ <body_word>*?
+ ^^ '}'
+}
+
+#Process op body by breaking it into "words" consisting entirely of whitespace,
+#alnums or a single punctuation, then checking for interesting macros (e.g $1
+#or goto NEXT() ) in the midst of the words.
+token body_word {
+ [
+ || <macro_param>
+ || <op_macro>
+ || <word>
+ ]
+}
+
+token word {
+ || <quote>
+ || <ident>
+ || <alnum>
+ || <punct>
+ || <ws>
+}
+
+proto token quote { <...> }
+token quote:sym<apos> { <?[']> <quote_EXPR: ':q'> }
+token quote:sym<dblq> { <?["]> <quote_EXPR: ':q'> }
+
+token macro_param {
+ '$' $<num>=<integer> # Up to nine params.
+}
+
+rule op_macro {
+ <macro_type> <macro_destination> '(' <body_word>*? ')'
+}
+
+token macro_type {
+ [
+ | 'goto'
+ | 'expr'
+ | 'restart'
+ ]
+}
+
+token macro_destination {
+ [
+ | 'OFFSET'
+ | 'ADDRESS'
+ | 'NEXT'
+ ]
+}
+
+token identifier {
+ <.ident>
+}
+
+# ws handles whitespace, pod and perl and C comments
+token ws {
+ [
+ | \s+
+ | '#' \N*
+ | ^^ '=' .*? \n '=cut'
+ | '/*' .*? '*/'
+ ]*
+}
+
+
+# vim: expandtab shiftwidth=4 ft=perl6:
Copied: branches/ucs4_encoding/compilers/opsc/src/Ops/Emitter.pm (from r46972, trunk/compilers/opsc/src/Ops/Emitter.pm)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ucs4_encoding/compilers/opsc/src/Ops/Emitter.pm Mon May 24 21:18:41 2010 (r46974, copy of r46972, trunk/compilers/opsc/src/Ops/Emitter.pm)
@@ -0,0 +1,444 @@
+#! nqp
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+class Ops::Emitter is Hash;
+
+=begin
+
+Emitter.
+
+=end
+
+method new(:$ops_file!, :$trans!, :$script!, :$file, :%flags!) {
+ self<ops_file> := $ops_file;
+ self<trans> := $trans;
+ self<script> := $script;
+ self<file> := $file;
+ self<flags> := %flags;
+
+ # Preparing various bits.
+ my $suffix := $trans.suffix();
+ my $base := 'core';
+
+ if !%flags<core> {
+ $base := subst( $file, /.ops$$/, '');
+ $base := subst( $base, /.*\//, '');
+ }
+
+ my $base_ops_stub := $base ~ '_ops' ~ $suffix;
+ my $base_ops_h := $base_ops_stub ~ '.h';
+
+ self<base> := $base;
+ self<suffix> := $suffix;
+ self<bs> := $base ~ $suffix ~ '_';
+
+ if %flags<core> {
+ self<include> := "parrot/oplib/$base_ops_h";
+ self<func_header> := (~%flags<dir>) ~ "include/" ~ self<include>;
+ self<enum_header> := (~%flags<dir>) ~ "include/parrot/oplib/ops.h";
+ self<source> := (~%flags<dir>) ~ "src/ops/$base_ops_stub.c";
+ }
+ else {
+ my $dynops_dir := subst( $file, /\w+\.ops$$/, '');
+ self<include> := $base ~ "_ops.h";
+ self<func_header> := $dynops_dir ~ self<include>;
+ self<source> := $dynops_dir ~ $base ~ "_ops.c";
+ }
+
+ self<sym_export> := %flags<core>
+ ?? ''
+ !! 'PARROT_DYNEXT_EXPORT';
+
+ self<init_func> := join('_',
+ 'Parrot', 'DynOp', $base ~ $suffix, |$ops_file.version );
+
+ # Prepare ops
+ $trans.prepare_ops(self, $ops_file);
+
+ self;
+};
+
+method ops_file() { self<ops_file> };
+method trans() { self<trans> };
+method script() { self<script> };
+method file() { self<file> };
+method flags() { self<flags> };
+method sym_export() { self<sym_export> };
+method init_func() { self<init_func> };
+
+method base() { self<base> };
+method suffix() { self<suffix> };
+method bs() { self<bs> };
+
+method print_c_header_files() {
+
+ my $fh := pir::open__PSs(self<func_header>, 'w')
+ || die("Can't open "~ self<func_header>);
+ self.emit_c_op_func_header($fh);
+ $fh.close();
+
+ if self.ops_file<core> {
+ $fh := pir::open__PSs(self<enum_header>, 'w')
+ || die("Can't open "~ self<enum_header>);
+ self.emit_c_op_enum_header($fh);
+ $fh.close();
+ }
+}
+
+method emit_c_op_func_header($fh) {
+
+ self._emit_guard_prefix($fh, self<func_header>);
+
+ self._emit_preamble($fh);
+
+ self._emit_includes($fh);
+
+ # Emit runcore specific part.
+ self.trans.emit_c_op_funcs_header_part($fh);
+
+ self._emit_guard_suffix($fh, self<func_header>);
+
+ self._emit_coda($fh);
+}
+
+method emit_c_op_enum_header($fh) {
+
+ self._emit_guard_prefix($fh, self<enum_header>);
+
+ self._emit_preamble($fh);
+
+ self._emit_c_op_enum_header_part($fh);
+
+ self._emit_guard_suffix($fh, self<enum_header>);
+
+ self._emit_coda($fh);
+}
+
+method print_ops_num_files() {
+
+ my $file := ~self<dir> ~ ~self<ops_file>.oplib.num_file;
+ my $fh := pir::open__pss($file, 'w')
+ || die("Can't open $file for writing: " ~ ~pir::err__s());
+ self.emit_ops_num_file($fh);
+ $fh.close();
+
+ $file := ~self<dir> ~ "include/parrot/opsenum.h";
+ $fh := pir::open__pss($file, 'w')
+ || die("Can't open $file for writing: " ~ ~pir::err__s());
+ self.emit_c_opsenum_header($fh, $file);
+ $fh.close();
+}
+
+method emit_ops_num_file($fh) {
+
+ if !self.exists('max_fixed_op_num') {
+ self._prepare_ops_num();
+ }
+
+ $fh.print( join('', |self<ops_num_start>) );
+ my $max_op_num := self<max_fixed_op_num> + 0; #+ 0 to force cloning
+
+ for self.ops_file.ops -> $op {
+ if self<numbered_ops>.exists( $op.full_name ) {
+
+ $max_op_num++;
+
+ my $space := pir::repeat__SsI(' ',
+ 35 - pir::length__Is($op.full_name) - pir::length__Is(~$max_op_num));
+ $fh.print($op.full_name ~ $space ~ $max_op_num ~ "\n");
+ }
+ }
+
+}
+
+method emit_c_opsenum_header($fh, $file) {
+
+ if !self.exists('max_fixed_op_num') {
+ self._prepare_ops_num();
+ }
+
+ self._emit_guard_prefix($fh, $file);
+
+ self._emit_preamble($fh);
+
+ self.emit_opsenum_h_body($fh);
+
+ self._emit_guard_suffix($fh, $file);
+
+ self._emit_coda($fh);
+}
+
+method emit_opsenum_h_body($fh) {
+
+ $fh.print("enum OPS_ENUM \{\n");
+
+ my $max_op_num := self<max_fixed_op_num> + 0;
+ for self.ops_file.ops -> $op {
+ if self<numbered_ops>.exists( $op.full_name ) {
+ $max_op_num++;
+
+ my $space := pir::repeat__SsI(' ', 30 - pir::length__Is($op.full_name));
+ $fh.print(" enum_ops_" ~ $op.full_name ~ $space ~ "=");
+ $space := pir::repeat__SsI(' ', 5 - pir::length__Is(~$max_op_num));
+ $fh.print($space ~ $max_op_num ~ ",\n");
+ }
+ }
+
+ $fh.print("};\n");
+}
+
+method _prepare_ops_num() {
+
+ #grab all ops in ops.num
+ self<numbered_ops> := hash();
+ my $found_dynamic := 0;
+ self<max_fixed_op_num> := 0;
+ self<ops_num_start> := list();
+
+ #record which ones have fixed numbers and which just need to be somewhere in ops.num
+ for self.ops_file.oplib.num_file_lines -> $line {
+
+ #copy all lines through ###DYNAMIC### into the new ops.num verbatim
+ unless $found_dynamic {
+ self<ops_num_start>.push(~$line);
+ }
+
+ if $line<op> {
+ if $found_dynamic {
+ self<numbered_ops>{ $line<op><name> } := 1;
+ #say("# added '"~$line<op><name> ~" to numered ops");
+ }
+ else {
+ #don't need to keep track of fixed ops
+ self<max_fixed_op_num> := +$line<op><number>;
+ #say("# added '"~$line<op><name> ~" to fixed ops");
+ }
+ }
+ elsif $line<dynamic> {
+ $found_dynamic := 1;
+ }
+ }
+}
+
+method print_c_source_file() {
+ # Build file in memeory
+ my $fh := pir::new__Ps('StringHandle');
+ $fh.open('dummy.c', 'w');
+ self.emit_c_source_file($fh);
+ $fh.close();
+
+ # ... and write it to disk
+ my $final := pir::open__PSs(self<source>, 'w') || die("Can't open filehandle");
+ $final.print($fh.readall());
+ $final.close();
+ return self<source>;
+}
+
+method emit_c_source_file($fh) {
+ self._emit_source_preamble($fh);
+
+ self.trans.emit_source_part(self, $fh);
+
+ self._emit_op_lib_descriptor($fh);
+
+ self.trans.emit_op_lookup(self, $fh);
+
+ self._emit_init_func($fh);
+ self._emit_dymanic_lib_load($fh);
+ self._emit_coda($fh);
+}
+
+method _emit_c_op_enum_header_part($fh) {
+ my $sb := pir::new__Ps('StringBuilder');
+ my $last_op_code := +self.ops_file.ops - 1;
+ for self.ops_file.ops -> $op {
+ $sb.append_format(" PARROT_OP_%0%1 %2 /* %3 */\n",
+ $op.full_name,
+ ($op.code == $last_op_code ?? ' ' !! ','),
+ pir::repeat__SsI(' ', 30 - pir::length__Is($op.full_name)),
+ $op.code);
+ }
+ $fh.print(q|
+typedef enum {
+|);
+ $fh.print(~$sb);
+ $fh.print(q|
+} parrot_opcode_enums;
+|);
+}
+
+method _emit_source_preamble($fh) {
+
+ self._emit_preamble($fh);
+ $fh.print(qq|
+#include "{self<include>}"
+#include "pmc/pmc_parrotlibrary.h"
+#include "pmc/pmc_callcontext.h"
+
+{self.trans.defines(self)}
+
+|);
+
+ $fh.print(self.ops_file.preamble);
+}
+
+method _emit_op_lib_descriptor($fh) {
+
+ my $core_type := self.trans.core_type;
+ $fh.print(q|
+/*
+** op lib descriptor:
+*/
+
+static op_lib_t | ~ self.bs ~ q|op_lib = {| ~ qq|
+ "{self.base}", /* name */
+ "{self.suffix}", /* suffix */
+ $core_type, /* core_type = PARROT_XX_CORE */
+ 0, /* flags */
+ {self.ops_file.version_major}, /* major_version */
+ {self.ops_file.version_minor}, /* minor_version */
+ {self.ops_file.version_patch}, /* patch_version */
+ {+self.ops_file.ops}, /* op_count */
+ {self.trans.op_info(self)}, /* op_info_table */
+ {self.trans.op_func(self)}, /* op_func_table */
+ {self.trans.getop(self)} /* op_code() */ | ~ q|
+};
+|);
+}
+
+method _emit_init_func($fh) {
+
+ my $init1 := self.trans.init_func_init1;
+ my $dispatch := self.trans.init_func_disaptch;
+
+ # TODO There is a bug in NQP about \{
+ $fh.print(q|
+op_lib_t *
+| ~ self.init_func ~ q|(PARROT_INTERP, long init) {
+ /* initialize and return op_lib ptr */
+ if (init == 1) {
+| ~ $init1 ~ q|
+ return &| ~ self.bs ~q|op_lib;
+ }
+ /* set op_lib to the passed ptr (in init) */
+ else if (init) {
+| ~ $dispatch ~ q|
+ }
+ /* deinit - free resources */
+ else {
+ hop_deinit(interp);
+ }
+ return NULL;
+}
+
+|);
+}
+
+method _emit_dymanic_lib_load($fh) {
+
+ if self.flags<core> {
+ return;
+ }
+
+ my $load_func := join('_',
+ q{Parrot}, q{lib}, self.base, q{ops} ~ self.suffix, q{load}, );
+ $fh.print(qq|
+/*
+ * dynamic lib load function - called once
+ */
+{self.sym_export} PMC*
+$load_func(PARROT_INTERP);
+
+{self.sym_export} PMC*
+$load_func(PARROT_INTERP)
+| ~ q|
+{
+ PMC *const lib = Parrot_pmc_new(interp, enum_class_ParrotLibrary);
+ ((Parrot_ParrotLibrary_attributes*)PMC_data(lib))->oplib_init = (void *) | ~ self.init_func ~q|;
+ dynop_register(interp, lib);
+ return lib;
+}
+|);
+}
+
+# given a headerfile name like "include/parrot/oplib/core_ops.h", this
+# returns a string like "PARROT_OPLIB_CORE_OPS_H_GUARD"
+method _generate_guard_macro_name($filename) {
+ $filename := subst($filename, /.h$/, '');
+ #my @path = File::Spec->splitdir($filename);
+ my @path := split('/', $filename);
+ @path.shift if @path[0]~'/' eq self<flags><dir>;
+ @path.shift if @path[0] eq 'include';
+ @path.shift if @path[0] eq 'parrot';
+ uc( join( '_', 'parrot', |@path, 'h', 'guard' ) );
+}
+
+
+method _emit_guard_prefix($fh, $filename) {
+ my $guardname := self._generate_guard_macro_name($filename);
+ $fh.print('
+/* $Id' ~ '$ */
+');
+ $fh.print(qq/
+#ifndef $guardname
+#define $guardname
+
+/);
+}
+
+method _emit_guard_suffix($fh, $filename) {
+ my $guardname := self._generate_guard_macro_name($filename);
+ $fh.print(qq|
+
+#endif /* $guardname */
+|);
+}
+
+
+method _emit_coda($fh) {
+ $fh.print(q|
+
+/*
+ * Local variables:
+ * c-file-style: "parrot"
+ * buffer-read-only: t
+ * End:
+ * vim: expandtab shiftwidth=4:
+ */
+|);
+}
+
+method _emit_includes($fh) {
+
+ $fh.print(qq|
+#include "parrot/parrot.h"
+#include "parrot/oplib.h"
+#include "parrot/runcore_api.h"
+
+{self.sym_export} op_lib_t *{self.init_func}(PARROT_INTERP, long init);
+
+|);
+}
+
+method _emit_preamble($fh) {
+
+ $fh.print(qq|
+/* ex: set ro:
+ * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+ *
+ * This file is generated automatically from '{self<file>}' (and possibly other
+ * .ops files). by {self<script>}.
+ *
+ * Any changes made here will be lost!
+ *
+ */
+|);
+
+ if !self.flags<core> {
+ $fh.print("#define PARROT_IN_EXTENSION\n");
+ }
+
+}
+
+# vim: expandtab shiftwidth=4 ft=perl6:
Copied: branches/ucs4_encoding/compilers/opsc/src/Ops/File.pm (from r46972, trunk/compilers/opsc/src/Ops/File.pm)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ucs4_encoding/compilers/opsc/src/Ops/File.pm Mon May 24 21:18:41 2010 (r46974, copy of r46972, trunk/compilers/opsc/src/Ops/File.pm)
@@ -0,0 +1,330 @@
+#! nqp
+# Copyright (C) 2001-2009, Parrot Foundation.
+# $Id$
+
+# XXX Better to put this into docs/ somewhere.
+
+=begin
+
+=head1 NAME
+
+Ops::File - Ops To C Code Generation
+
+=head1 SYNOPSIS
+
+ use Ops::File;
+
+=head1 DESCRIPTION
+
+C<Ops::File> takes one or more files of op functions and
+creates real C code for them.
+
+This class is used by F<tools/build/ops2c.pl>.
+
+=head2 Op Functions
+
+For ops that have trivial bodies (such as just a call to some other
+function and a C<return> statement), opcode functions are in the format:
+
+ inline op opname (args) :flags {
+ ... body of function ...
+ }
+
+Note that currently the C<inline> op type is ignored.
+
+Alternately, for opcode functions that have more internal complexity the
+format is:
+
+ op opname (args) :flags {
+ ... body of function ...
+ }
+
+There may be more than one C<return>.
+
+In both cases the closing brace B<must> be on its own line.
+
+When specifying multiple flags, each flag gets its own prefixing colon.
+
+=head2 Op Arguments
+
+Op arguments are a comma-separated list of direction and type pairs.
+
+Argument direction is one of:
+
+ in the argument passes a value into the op
+ out the argument passes a value out of the op
+ inout the argument passes a value into and out of the op
+ inconst the argument passes a constant value into the op
+ invar the argument passes a variable value into the op
+
+Argument direction is used to determine the life times of symbols and
+their related register allocations. When an argument is passed into an
+op a register is read from, when it's passed out of an op a register is
+written to.
+
+Argument type is one of:
+
+ INT the argument is an integer
+ NUM the argument is an numeric
+ STR the argument is an string
+ PMC the argument is an PMC
+ KEY the argument is an aggregate PMC key
+ INTKEY the argument is an aggregate PMC integer key
+ LABEL the argument is an integer branch offset or address
+
+The size of the return offset is determined from the op function's
+signature.
+
+=head2 Op Flags
+
+The flags are of two types:
+
+=over 4
+
+=item 1 class
+
+The classification of ops is intended to facilitate the selection of
+suitable ops for a Parrot safe mode.
+
+=item 2 behavior
+
+The presence (or absence) of certain flags will change how the op behaves. For
+example, the lack of the C<flow> flag will cause the op to be implicitly
+terminated with C<goto NEXT()>. (See next section).
+
+The :deprecated flag will generate a diagnostic to standard error at
+runtime when a deprecated opcode is invoked and
+C<PARROT_WARNINGS_DEPRECATED_FLAG> has been set.
+
+=back
+
+=head2 Op Body (Macro Substitutions)
+
+In the following macro descriptions, C<PC> and C<PC'> are the current
+and next position within the Parrot code.
+
+=over 4
+
+=item C<goto OFFSET(X)>
+
+Transforms to C<PC' = PC + X>. This is used for branches.
+
+=item C<goto NEXT()>
+
+Transforms to C<PC' = PC + S>, where C<S> is the size of an op.
+
+=item C<goto ADDRESS(X)>
+
+Transforms to C<PC' = X>. This is used for absolute jumps.
+
+=item C<expr OFFSET(X)>
+
+Transforms to C<PC + X>. This is used to give a relative address.
+
+=item C<expr NEXT()>
+
+Transforms to C<PC + S>, the position of the next op.
+
+=item C<expr ADDRESS(X)>
+
+Transforms to C<X>, an absolute address.
+
+=item C<OP_SIZE>
+
+Transforms to C<S>, the size of an op.
+
+=item C<HALT()>
+
+Transforms to C<PC' = 0>. Halts run loop, and resets the current
+position to the start of the Parrot code, without resuming.
+
+=item C<restart OFFSET(X)>
+
+Transforms to C<PC' = 0> and restarts at C<PC + X>.
+
+=item C<restart NEXT()>
+
+Transforms to C<PC' = 0> and restarts at C<PC + S>.
+
+=item C<$n>
+
+Transforms to the op function's nth argument. C<$0> is the opcode itself.
+
+=back
+
+Note that, for ease of parsing, if the argument to one of the above
+notations in a ops file contains parentheses, then double the enclosing
+parentheses and add a space around the argument, like so:
+
+ goto OFFSET(( (void*)interp->happy_place ))
+
+=head2 Class Methods
+
+=over 4
+
+=end
+
+class Ops::File is Hash;
+
+pir::load_bytecode('config.pbc');
+
+=begin
+
+=item C<new(@files)>
+
+Returns a new instance initialized by calling C<read_ops()> on each of
+the specified op files.
+
+=item C<new_str($str)>
+
+Returns a new instance initialized by compiling C<$str> as the contents of an
+ops file.
+
+=end
+
+method new(*@files, :$oplib, :$core!, :$nolines) {
+ self<files> := @files;
+ self<core> := $core;
+ self<ops> := list(); # Ops
+ self<preamble>:= '';
+ self<compiler>:= pir::compreg__Ps('Ops');
+ self<op_order>:= 0;
+ self<renum> := Ops::Renumberer.new( :ops_file(self) );
+
+ if $core {
+ self<oplib> := $oplib;
+ self<compiler>.set_oplib($oplib);
+ }
+ else {
+ self<file> := @files[0];
+ }
+
+ self._set_version();
+
+ for @files { self.read_ops( $_, $nolines ) }
+
+ self._calculate_op_codes();
+
+ self;
+}
+
+method new_str($str, :$oplib) {
+ self<ops> := list(); # Ops
+ self<preamble> := '';
+
+ self<compiler> := pir::compreg__Ps('Ops');
+ self<oplib> := $oplib;
+ self<compiler>.set_oplib($oplib);
+
+ self._set_version();
+
+ self._set_version();
+
+ self.compile_ops($str);
+
+ self;
+}
+
+
+=begin
+
+=back
+
+=head2 Instance Methods
+
+=over 4
+
+=item C<read_ops($file,$nolines)>
+
+Reads in the specified .ops file, gathering information about the ops.
+
+=end
+
+method read_ops($file, $nolines) {
+ $Ops::Compiler::Actions::OPLIB := self<oplib>;
+
+ #say("# Parsing $file...");
+ my $start_time := pir::time__N();
+ my $buffer := slurp($file);
+ self.compile_ops($buffer, :experimental( $file ~~ /experimental\.ops/));
+ #pir::sprintf(my $time, "%.3f", [pir::time__N() - $start_time] );
+ #say("# Parsed $file in $time seconds.");
+}
+
+method compile_ops($str, :$experimental? = 0) {
+ my $compiler := self<compiler>;
+ my $past := $compiler.compile($str, :target('past'));
+
+ for @($past<ops>) {
+ $_<experimental> := $experimental;
+ self<ops>.push($_);
+ #say($_.full_name ~ " is number " ~ self<op_order>);
+ self<op_order>++;
+ }
+
+ for @( $past<preamble> ) {
+ self<preamble> := self<preamble> ~ $_;
+ }
+ $past;
+}
+
+method get_parse_tree($str) {
+ my $compiler := pir::compreg__Ps('Ops');
+ $compiler.compile($str, :target('parse'));
+}
+
+method preamble() { self<preamble> };
+method ops() { self<ops> };
+method oplib() { self<oplib> };
+method version() { self<version>; }
+
+method version_major() { self<version_major> }
+method version_minor() { self<version_minor> }
+method version_patch() { self<version_patch> }
+
+method _calculate_op_codes() {
+
+ my $code := self<oplib> ??
+ self<oplib>.max_op_num + 1 !!
+ 0;
+
+ for self<ops> -> $op {
+ #ops listed in ops.num are non-experimental
+ if self<oplib> {
+ my $full_name := $op.full_name;
+ if self<oplib>.op_num_table.exists($full_name) {
+ $op<code> := self<oplib>.op_num_table{$full_name};
+ }
+ elsif !$op<experimental> && !self<oplib>.op_skip_table.exists($full_name) {
+ die("Non-experimental op " ~ $op.full_name ~ " is not in ops.num.");
+ }
+ #ops not explicitly listed but not skipped are experimental
+ else {
+ $op<code> := $code++;
+ say("# Experimental op " ~ $op.full_name ~ " is not in ops.num.");
+ }
+ }
+ #if there's no oplib, we're compiling dynops and ops aren't experimental
+ else {
+ $op<code> := $code++;
+ }
+ }
+}
+
+method _set_version() {
+ my $config := _config();
+ my $version := $config<VERSION>;
+ #say("# $version");
+ my @bits := split('.', $version);
+ self<version_major> := @bits[0];
+ self<version_minor> := @bits[1];
+ self<version_patch> := @bits[2];
+ self<version> := @bits;
+}
+
+# Local Variables:
+# mode: cperl
+# cperl-indent-level: 4
+# fill-column: 100
+# End:
+# vim: ft=perl6 expandtab shiftwidth=4:
Copied: branches/ucs4_encoding/compilers/opsc/src/Ops/Op.pm (from r46972, trunk/compilers/opsc/src/Ops/Op.pm)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ucs4_encoding/compilers/opsc/src/Ops/Op.pm Mon May 24 21:18:41 2010 (r46974, copy of r46972, trunk/compilers/opsc/src/Ops/Op.pm)
@@ -0,0 +1,388 @@
+#! nqp
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+=begin
+
+=head1 NAME
+
+Ops::Op - Parrot Operation
+
+=head1 SYNOPSIS
+
+ use Ops::Op;
+
+=head1 DESCRIPTION
+
+C<Ops::Op> represents a Parrot operation (op, for short), as read
+from an ops file via C<Ops::OpsFile>, or perhaps even generated by
+some other means. It is the Perl equivalent of the C<op_info_t> C
+C<struct> defined in F<include/parrot/op.h>.
+
+=head2 Op Type
+
+Ops are either I<auto> or I<manual>. Manual ops are responsible for
+having explicit next-op C<RETURN()> statements, while auto ops can count
+on an automatically generated next-op to be appended to the op body.
+
+Note that F<tools/build/ops2c.pl> supplies either 'inline' or 'function'
+as the op's type, depending on whether the C<inline> keyword is present
+in the op definition. This has the effect of causing all ops to be
+considered manual.
+
+=head2 Op Arguments
+
+Note that argument 0 is considered to be the op itself, with arguments
+1..9 being the arguments passed to the op.
+
+Op argument direction and type are represented by short one or two letter
+descriptors.
+
+Op Direction:
+
+ i The argument is incoming
+ o The argument is outgoing
+ io The argument is both incoming and outgoing
+
+Op Type:
+
+ i The argument is an integer register index.
+ n The argument is a number register index.
+ p The argument is a PMC register index.
+ s The argument is a string register index.
+ ic The argument is an integer constant (in-line).
+ nc The argument is a number constant index.
+ pc The argument is a PMC constant index.
+ sc The argument is a string constant index.
+ kc The argument is a key constant index.
+ ki The argument is a key integer register index.
+ kic The argument is a key integer constant (in-line).
+
+=head2 Class Methods
+
+=over 4
+
+=end
+
+class Ops::Op is PAST::Block;
+
+INIT {
+ pir::load_bytecode("dumper.pbc");
+}
+
+=begin
+
+=item C<new(:$code, :$type, :$name, :@args, :%flags)>
+
+Allocates a new bodyless op. A body must be provided eventually for the
+op to be usable.
+
+C<$code> is the integer identifier for the op.
+
+C<$type> is the type of op (see the note on op types above).
+
+C<$name> is the name of the op.
+
+C<@args> is a reference to an array of argument type descriptors.
+
+C<$flags> is a hash reference containing zero or more I<hints> or
+I<directives>.
+
+
+=back
+
+=head2 Instance Methods
+
+=over 4
+
+=item C<code()>
+
+Returns the op code.
+
+=item C<type()>
+
+The type of the op, either 'inline' or 'function'.
+
+=item C<name()>
+
+The (short or root) name of the op.
+
+=item C<full_name()>
+
+For argumentless ops, it's the same as C<name()>. For ops with
+arguments, an underscore followed by underscore-separated argument types
+are appended to the name.
+
+=item C<func_name()>
+
+The same as C<full_name()>, but with 'C<Parrot_>' prefixed.
+
+=end
+
+method code($code?) { self.attr('code', $code, defined($code)) }
+
+method type($type?) { self.attr('type', $type, defined($type)) }
+
+method name($name?) { self.attr('name', $name, defined($name)) }
+
+method args($args?) { self.attr('args', $args, defined($args)) }
+
+method arg_types($args?) {
+ my $res := self.attr('arg_types', $args, defined($args));
+
+ return list() if !defined($res);
+ pir::does__IPS($res, 'array') ?? $res !! list($res);
+}
+
+method arg_dirs($args?) { self.attr('arg_dirs', $args, defined($args)) }
+
+method arg_type($arg_num) {
+ my @arg_types := self.arg_types;
+ @arg_types[$arg_num];
+}
+
+method full_name() {
+ my $name := self.name;
+ my @arg_types := self.arg_types;
+
+ #say("# $name arg_types " ~ @arg_types);
+ join('_', $name, |@arg_types);
+}
+
+method func_name($trans) {
+ return $trans.prefix ~ self.full_name;
+}
+
+
+=begin
+
+=item C<flags()>
+
+Sets the op's flags. This returns a hash reference, whose keys are any
+flags (passed as ":flag") specified for the op.
+
+=end
+
+method flags(%flags?) { self.attr('flags', %flags, defined(%flags)) }
+
+=begin
+
+=item C<body($body)>
+
+=item C<body()>
+
+Sets/gets the op's code body.
+
+=end
+
+method body() {
+ my $res := '';
+ for @(self) -> $part {
+ $res := $res ~ $part<inline>;
+ }
+ $res;
+}
+
+=begin
+
+=item C<jump($jump)>
+
+=item C<jump()>
+
+Sets/gets a string containing one or more C<op_jump_t> values joined with
+C<|> (see F<include/parrot/op.h>). This indicates if and how an op
+may jump.
+
+=end
+
+method jump($jump?) { self.attr('jump', $jump, defined($jump)) }
+
+=begin
+
+=item C<add_jump($jump)>
+
+=item C<add_jump($jump)>
+
+Add a jump flag to this op if it's not there already.
+
+=end
+
+method add_jump($jump) {
+ my $found_jump := 0;
+
+ unless self.jump { self.jump(list()) }
+
+ for self.jump {
+ if $_ eq $jump { $found_jump := 1 }
+ }
+
+ unless $found_jump {
+ self.jump.push($jump);
+ }
+}
+
+=begin
+
+=item C<get_jump()>
+
+=item C<get_jump()>
+
+Get the jump flags that apply to this op.
+
+=end
+
+method get_jump() {
+
+ if self.jump {
+ return join( '|', |self.jump );
+ }
+ else {
+ return '0';
+ }
+}
+
+=begin
+
+=item C<source($trans, $op)>
+
+Returns the L<C<body()>> of the op with substitutions made by
+C<$trans> (a subclass of C<Ops::Trans>).
+
+=end
+
+method source( $trans ) {
+
+ my $prelude := $trans.body_prelude;
+ return $prelude ~ self.get_body( $trans );
+}
+
+=begin
+
+=item C<get_body($trans)>
+
+Performs the various macro substitutions using the specified transform,
+correctly handling nested substitions, and repeating over the whole string
+until no more substitutions can be made.
+
+C<VTABLE_> macros are enforced by converting C<<< I<< x >>->vtable->I<<
+method >> >>> to C<VTABLE_I<method>>.
+
+=end
+
+method get_body( $trans ) {
+
+ my @body := list();
+
+ #work through the op_body tree
+ for @(self) {
+ my $chunk := self.process_body_chunk($trans, $_);
+ #pir::say('# chunk ' ~ $chunk);
+ @body.push($chunk);
+ }
+
+ join('', |@body);
+}
+
+# Recursively process body chunks returning string.
+# Ideally bunch of multisubs, but...
+method process_body_chunk($trans, $chunk) {
+ my $what := $chunk.WHAT;
+ # Poor man multis...
+ if $what eq 'PAST::Var()' {
+ my $n := +$chunk.name;
+ return $trans.access_arg( self.arg_type($n - 1), $n);
+ }
+ elsif $what eq 'PAST::Op()' {
+ my $type := $chunk.pasttype;
+ #say('OP ' ~ $type);
+ if $type eq 'inline' {
+ #_dumper($chunk);
+ #pir::say('RET ' ~ $chunk<inline>);
+ return $chunk.inline;
+ }
+ elsif $type eq 'call' {
+ my $name := $chunk.name;
+ #say('NAME '~$name ~ ' ' ~ $is_next);
+ if $name eq 'OPSIZE' {
+ #say('is_next');
+ return ~self.size;
+ }
+
+ my @children := list();
+ for @($chunk) {
+ @children.push(self.process_body_chunk($trans, $_));
+ }
+ my $children := join('', |@children);
+
+ #pir::say('children ' ~ $children);
+ my $ret := Q:PIR<
+ $P0 = find_lex '$trans'
+ $P1 = find_lex '$name'
+ $S0 = $P1
+ $P1 = find_lex '$children'
+ %r = $P0.$S0($P1)
+ >;
+ #pir::say('RET ' ~ $ret);
+ return $ret;
+ }
+ }
+ elsif $what eq 'PAST::Stmts()' {
+ my @children := list();
+ for @($chunk) {
+ @children.push(self.process_body_chunk($trans, $_));
+ }
+ my $children := join('', |@children);
+ return $children;
+ }
+ else {
+ pir::die('HOLEY');
+ }
+}
+
+
+=begin
+
+=item C<size()>
+
+Returns the op's number of arguments. Note that this also includes
+the op itself as one argument.
+
+=end
+
+method size() {
+ return pir::does__IPs(self.arg_types, 'array') ?? +self.arg_types + 1 !! 2;
+}
+
+=begin
+
+=back
+
+=head1 SEE ALSO
+
+=over 4
+
+=item C<Ops::OpsFile>
+
+=item C<Ops::OpTrans>
+
+=item F<tools/build/ops2c.pl>
+
+=back
+
+=head1 HISTORY
+
+Author: Gregor N. Purdy E<lt>gregor at focusresearch.comE<gt>
+
+Migrate to NQP: Vasily Chekalkin E<lt>bacek at bacek.comE<gt>
+
+=end
+
+1;
+
+# Local Variables:
+# mode: cperl
+# cperl-indent-level: 4
+# fill-column: 100
+# End:
+# vim: ft=perl6 expandtab shiftwidth=4:
+
Copied: branches/ucs4_encoding/compilers/opsc/src/Ops/OpLib.pm (from r46972, trunk/compilers/opsc/src/Ops/OpLib.pm)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ucs4_encoding/compilers/opsc/src/Ops/OpLib.pm Mon May 24 21:18:41 2010 (r46974, copy of r46972, trunk/compilers/opsc/src/Ops/OpLib.pm)
@@ -0,0 +1,234 @@
+#! nqp
+# Copyright (C) 2009-2010, Parrot Foundation.
+# $Id$
+
+INIT {
+ pir::load_bytecode("dumper.pbc");
+};
+
+class Ops::OpLib is Hash;
+
+=begin NAME
+
+C<Ops::OpLib> - library of Parrot Operations.
+
+=end NAME
+
+=begin DESCRIPTION
+
+Responsible for loading F<src/ops/ops.num> and F<src/ops/ops.skip> files,
+parse F<.ops> files, sort them, etc.
+
+Heavily inspired by Perl5 Parrot::Ops2pm.
+
+=end DESCRIPTION
+
+=begin SYNOPSIS
+
+ my $oplib := Ops::OpLib.new(
+ :num_file('../../src/ops/ops.num'),
+ :skip_file('../../src/ops/ops.skip'),
+ ));
+
+=end SYNOPSIS
+
+=begin ATTRIBUTES
+
+=over 4
+
+=item * C<$.max_op_num>
+
+Scalar holding number of highest non-experimental op. Example:
+
+ 'max_op_num' => 1246,
+
+=item * C<%.op_num_table>
+
+Hash holding mapping of opcode names ops to their numbers.
+Example:
+
+ 'op_num_table' => {
+ 'pow_p_p_i' => 650,
+ 'say_s' => 463,
+ 'lsr_p_p_i' => 207,
+ 'lt_s_sc_ic' => 289,
+ # ...
+ 'debug_init' => 429,
+ 'iseq_i_nc_n' => 397,
+ 'eq_addr_sc_s_ic' => 254
+ },
+
+Per F<src/ops/ops.num>, this mapping exists so that we can nail down
+the op numbers for the core opcodes in a particular version of the
+bytecode and provide backward-compatibility for bytecode.
+
+=item * C<%.op_skip_table>
+
+Reference to a 'seen-hash' of skipped opcodes.
+
+ 'op_skip_table' => {
+ 'bor_i_ic_ic' => 1,
+ 'xor_i_ic_ic' => 1,
+ 'tanh_n_nc' => 1,
+ # ...
+ },
+
+As F<src/ops/ops.skip> states, these are "... opcodes that could be listed in
+F<[src/ops/]ops.num> but aren't ever to be generated or implemented because
+they are useless and/or silly."
+
+=back
+
+=end ATTRIBUTES
+
+=begin METHODS
+
+=over 4
+
+=item C<new>
+
+Build OpLib.
+
+(It's NQP. In Perl 6 it should be submethod and invoked automatically)
+
+=end METHODS
+
+method new(:$num_file, :$skip_file) {
+ self<num_file> := $num_file // './src/ops/ops.num';
+ self<skip_file> := $skip_file // './src/ops/ops.skip';
+
+ # Initialize self.
+ self<max_op_num> := 0;
+ self<op_num_table> := hash();
+ self<op_skip_table> := hash();
+ self<num_file_lines>:= list();
+ self<ops_past> := list();
+ self<regen_ops_num> := 0;
+
+ self.load_op_map_files();
+
+ self;
+}
+
+=begin METHODS
+
+=item C<load_op_map_files>
+
+Load ops.num and ops.skip files.
+
+=end METHODS
+
+method load_op_map_files() {
+ self._load_num_file;
+ self._load_skip_file;
+}
+
+my method _load_num_file() {
+ # slurp isn't very efficient. But extending NQP beyond bare minimum is not in scope.
+ my $buf := slurp(self<num_file>);
+ grammar NUM {
+ rule TOP { <line>+ }
+
+ rule line {
+ [
+ | <op>
+ | <dynamic>
+ | <comment>
+ ]
+ }
+ rule op { $<name>=(\w+) $<number>=(\d+) }
+ rule dynamic { '###DYNAMIC###' \N* }
+ rule comment { '#' \N* }
+ }
+
+ #say("Parsing NUM");
+ my $ops := NUM.parse($buf);
+ #_dumper($ops);
+ #pir::exit(0);
+
+ my $prev := -1;
+ for $ops<line> {
+ self<num_file_lines>.push($_);
+ if $_<op> {
+ my $name := ~$_<op><name>;
+ my $number := +$_<op><number>;
+ if (+$number) eq $number {
+ if ($prev + 1 != $number) {
+ self<regen_ops_num> := 1;
+ say("# hole in ops.num before #$number: will regenerate ops.num");
+ }
+ if self<op_num_table>.exists($name) {
+ self<regen_ops_num> := 1;
+ say("# duplicate opcode $name and $number: will regenerate ops.num");
+ }
+
+ $prev := $number;
+ self<op_num_table>{$name} := $number;
+ if ( $number > self<max_op_num> ) {
+ self<max_op_num> := $number;
+ }
+ }
+ }
+ }
+
+ #_dumper(self<op_num_table>);
+}
+
+method _load_skip_file() {
+ my $buf := slurp(self<skip_file>);
+ grammar SKIP {
+ rule TOP { <op>+ }
+
+ rule op { $<name>=(\w+) }
+ token ws {
+ [
+ | \s+
+ | '#' \N*
+ ]*
+ }
+ }
+
+ my $lines := SKIP.parse($buf);
+
+ for $lines<op> {
+ if self<op_num_table> && self<op_num_table>.exists($_<name>) {
+ die("skipped opcode '$_' is also in num_file");
+ }
+ self<op_skip_table>{$_<name>} := 1;
+ }
+}
+
+
+=begin ACCESSORS
+
+Various methods for accessing internals.
+
+=over 4
+
+=item * C<max_op_num>
+
+=item * C<op_num_table>
+
+=item * C<op_skip_table>
+
+=item * C<num_file>
+
+=item * C<num_file_lines>
+
+=end ACCESSORS
+
+method max_op_num() { self<max_op_num>; }
+
+method op_num_table() { self<op_num_table>; }
+
+method op_skip_table() { self<op_skip_table>; }
+
+method num_file() { self<num_file>; }
+
+method num_file_lines() { self<num_file_lines>; }
+
+# Local Variables:
+# mode: perl6
+# fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4 ft=perl6:
Copied: branches/ucs4_encoding/compilers/opsc/src/Ops/Renumberer.pm (from r46972, trunk/compilers/opsc/src/Ops/Renumberer.pm)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ucs4_encoding/compilers/opsc/src/Ops/Renumberer.pm Mon May 24 21:18:41 2010 (r46974, copy of r46972, trunk/compilers/opsc/src/Ops/Renumberer.pm)
@@ -0,0 +1,108 @@
+#! nqp
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+INIT {
+ pir::load_bytecode("dumper.pbc");
+};
+
+class Ops::Renumberer is Hash;
+
+=begin NAME
+
+C<Ops::Renumberer> - renumber ops.num.
+
+=end NAME
+
+=begin DESCRIPTION
+
+This class is responsible for regenerating src/ops/ops.num when the number or
+order of ops there needs to be changed.
+
+=end DESCRIPTION
+
+=begin SYNOPSIS
+
+ my $renum := Ops::Renumberer.new( :ops_file($f) );
+
+=end SYNOPSIS
+
+=begin ATTRIBUTES
+
+=over 4
+
+=item * C<$.max_op_num>
+
+Scalar holding number of highest non-experimental op. Example:
+
+ 'max_op_num' => 1246,
+
+=back
+
+=end ATTRIBUTES
+
+=begin METHODS
+
+=over 4
+
+=item C<new>
+
+Build an Ope::Renumberer.
+
+(It's NQP. In Perl 6 it should be submethod and invoked automatically)
+
+=end METHODS
+
+method new(:$ops_file!) {
+ self<ops_file> := $ops_file;
+
+ self;
+}
+
+=begin METHODS
+
+=item C<need_regeneration>
+
+Check if ops.num needs to be regenerated.
+
+=end METHODS
+
+method need_regeneration() {
+
+ #only need regeneration for core ops
+ unless self<ops_file>.oplib {
+ return 0;
+ }
+
+ #shortcut in case the oplib found an invalid ops.num
+ if self<ops_file>.oplib<regen_ops_num>{
+ return 1;
+ }
+
+ my $op_num_table := self<ops_file>.oplib.op_num_table;
+ my $opsfile_ops := self<ops_file>.ops;
+ my $opsfile_num := 0;
+ my $need_regeneration := 0;
+
+ #find out if the order in ops.num reflects the order in Ops::File
+ for $opsfile_ops -> $opsfile_op {
+
+ my $op_name := $opsfile_op.full_name;
+ my $op_num_table_num := +$op_num_table{ $op_name };
+ #say("ops.num says $op_name is $op_num_table_num, opsfile says $opsfile_num");
+
+ if (!$opsfile_op<experimental> && $opsfile_num != $op_num_table_num) {
+ say("# Opsfile and ops.num disagree about $op_name: $opsfile_num vs $op_num_table_num");
+ $need_regeneration := 1;
+ }
+ $opsfile_num++;
+ }
+
+ $need_regeneration;
+}
+
+# Local Variables:
+# mode: perl6
+# fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4 ft=perl6:
Copied: branches/ucs4_encoding/compilers/opsc/src/Ops/Trans.pm (from r46972, trunk/compilers/opsc/src/Ops/Trans.pm)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ucs4_encoding/compilers/opsc/src/Ops/Trans.pm Mon May 24 21:18:41 2010 (r46974, copy of r46972, trunk/compilers/opsc/src/Ops/Trans.pm)
@@ -0,0 +1,58 @@
+#! nqp
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+class Ops::Trans is Hash;
+
+=begin
+
+Base class for Runcode transformations.
+
+=end
+
+method prefix() { 'Parrot_' };
+
+# We can't use yada-yada-yada
+method suffix() { die("...") }
+
+method core_type() { die("...") }
+
+# Prepare internal structures from Ops::File.ops.
+method prepare_ops($emitter, $ops_file) { die('...') }
+
+#
+method emit_c_op_funcs_header_part($fh) { die('...') }
+
+# Called from Ops::Op.
+method body_prelude() { '' }
+
+method defines($emitter) { die('...') }
+
+method emit_source_part($emitter, $fh) { die('...') }
+
+# Default op lookup do nothing. But op_deinit referenced anyway.
+method emit_op_lookup($fh) {
+ $fh.print(q|static void hop_deinit(SHIM_INTERP) {}|);
+}
+
+method init_func_init1() { '' }
+method init_func_disaptch() { '' }
+
+method op_info($emitter) { 'NULL' }
+method op_func($emitter) { 'NULL' }
+method getop($emitter) { '( int (*)(PARROT_INTERP, const char *, int) )NULL' };
+
+our %arg_maps := {};
+
+method access_arg($type, $num) { die('...'); }
+
+method restart_address($addr) { die('...'); }
+method restart_offset($offset) { die('...'); }
+
+method goto_address($addr) { die('...'); }
+method goto_offset($offset) { die('...'); }
+
+method expr_address($addr) { die('...'); }
+method expr_offset($offset) { die('...'); }
+
+# vim: expandtab shiftwidth=4 ft=perl6:
Copied: branches/ucs4_encoding/compilers/opsc/src/Ops/Trans/C.pm (from r46972, trunk/compilers/opsc/src/Ops/Trans/C.pm)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ucs4_encoding/compilers/opsc/src/Ops/Trans/C.pm Mon May 24 21:18:41 2010 (r46974, copy of r46972, trunk/compilers/opsc/src/Ops/Trans/C.pm)
@@ -0,0 +1,367 @@
+#! nqp
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+class Ops::Trans::C is Ops::Trans;
+
+method new() {
+ # Storage for generated ops functions.
+ self<op_funcs> := list();
+ # Storage for generated ops functions prototypes.
+ self<op_protos> := list();
+
+ self<names> := hash();
+
+ self<num_entries> := 0;
+
+ self<arg_maps> := hash(
+ :op("cur_opcode[NUM]"),
+
+ :i("IREG(NUM)"),
+ :n("NREG(NUM)"),
+ :p("PREG(NUM)"),
+ :s("SREG(NUM)"),
+ :k("PREG(NUM)"),
+ :ki("IREG(NUM)"),
+
+ :ic("cur_opcode[NUM]"),
+ :nc("CONST(NUM)->u.number"),
+ :pc("CONST(NUM)->u.key"),
+ :sc("CONST(NUM)->u.string"),
+ :kc("CONST(NUM)->u.key"),
+ :kic("cur_opcode[NUM]")
+ );
+
+ self;
+}
+
+method suffix() { '' };
+
+method core_type() { 'PARROT_FUNCTION_CORE' }
+
+method prepare_ops($emitter, $ops_file) {
+
+ my $index := 0;
+ my @op_protos;
+ my @op_funcs;
+ my @op_func_table;
+
+ for $ops_file.ops -> $op {
+ #say("# preparing " ~ $op);
+ my $func_name := $op.func_name( self );
+ my $definition := "opcode_t *\n$func_name(opcode_t *cur_opcode, PARROT_INTERP)";
+ my $prototype := $emitter.sym_export
+ ~ " opcode_t * $func_name(opcode_t *, PARROT_INTERP);\n";
+
+ my $src := $op.source( self );
+
+ @op_func_table.push(sprintf( " %-50s /* %6ld */\n", "$func_name,", $index ));
+
+ my $body := join('', $definition, ' {', "\n", $src, '}', "\n\n");
+ @op_funcs.push($body);
+ @op_protos.push($prototype);
+ $index++;
+ }
+
+ self<op_funcs> := @op_funcs;
+ self<op_protos> := @op_protos;
+ self<op_func_table> := @op_func_table;
+ self<num_entries> := + at op_funcs + 1;
+}
+
+method emit_c_op_funcs_header_part($fh) {
+ for self<op_protos> -> $proto {
+ $fh.print($proto);
+ }
+}
+
+method access_arg($type, $num) {
+ my $access := self<arg_maps>{$type};
+ die("unrecognized arg type '$type'") unless $access;
+ subst($access, /NUM/, $num);
+}
+
+method restart_address($addr) {
+ "interp->resume_offset = $addr; interp->resume_flag = 1;";
+}
+
+method restart_offset($offset) {
+ "interp->resume_offset = REL_PC + $offset; interp->resume_flag = 1;";
+}
+
+method goto_address($addr) { "return (opcode_t *)$addr"; }
+
+method goto_offset($offset) { "return (opcode_t *)cur_opcode + $offset"; }
+
+method expr_address($addr) { $addr; }
+
+method expr_offset($offset) { "cur_opcode + $offset"; }
+
+=begin
+
+=item C<defines()>
+
+Returns the C C<#define> macros for register access etc.
+
+=end
+
+method defines($emitter) {
+ return qq|
+/* defines - Ops::Trans::C */
+#undef CONST
+#define REL_PC ((size_t)(cur_opcode - (opcode_t *)interp->code->base.data))
+#define CUR_OPCODE cur_opcode
+#define IREG(i) (CUR_CTX->bp.regs_i[cur_opcode[i]])
+#define NREG(i) (CUR_CTX->bp.regs_n[-1L - cur_opcode[i]])
+#define PREG(i) (CUR_CTX->bp_ps.regs_p[-1L - cur_opcode[i]])
+#define SREG(i) (CUR_CTX->bp_ps.regs_s[cur_opcode[i]])
+#define CONST(i) Parrot_pcc_get_constants(interp, interp->ctx)[cur_opcode[i]]
+
+static int get_op(PARROT_INTERP, const char * name, int full);
+|;
+}
+
+method op_info($emitter) { $emitter.bs ~ 'op_info_table' }
+method op_func($emitter) { $emitter.bs ~ 'op_func_table' }
+method getop($emitter) { 'get_op' };
+
+method body_prelude() { ' const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);' }
+
+method emit_source_part($emitter, $fh) {
+ self._emit_op_func_table($emitter, $fh);
+ self._emit_op_info_table($emitter, $fh);
+ self._emit_op_function_definitions($emitter, $fh);
+}
+
+method _emit_op_func_table($emitter, $fh) {
+
+ $fh.print(qq|
+
+INTVAL {$emitter.bs}numops{self.suffix} = {self<num_entries>};
+
+/*
+** Op Function Table:
+*/
+
+static op_func{self.suffix}_t {self.op_func($emitter)}[{self<num_entries>}] = | ~ '{'
+);
+
+ for self<op_func_table> {
+ $fh.print($_)
+ }
+
+ $fh.print(q|
+ NULL /* NULL function pointer */
+};
+
+|);
+}
+
+
+method _emit_op_info_table($emitter, $fh) {
+
+ my %names := self<names>;
+ my %arg_dir_mapping := hash(
+ :i('PARROT_ARGDIR_IN'),
+ :o('PARROT_ARGDIR_OUT'),
+ :io('PARROT_ARGDIR_INOUT')
+ );
+
+ #
+ # Op Info Table:
+ #
+ $fh.print(qq|
+
+/*
+** Op Info Table:
+*/
+
+static op_info_t {self.op_info($emitter)}[{self<num_entries>}] = | ~ q|{
+|);
+
+ my $index := 0;
+
+ for $emitter.ops_file.ops -> $op {
+ my $type := sprintf( "PARROT_%s_OP", uc($op.type ?? 'INLINE' !! 'FUNCTION') );
+ my $name := $op.name;
+ %names{$name} := 1;
+ my $full_name := $op.full_name;
+ my $func_name := $op.func_name( self );
+ my $body := $op.body;
+ my $jump := $op.get_jump;
+ my $arg_count := $op.size;
+
+ ## 0 inserted if arrays are empty to prevent msvc compiler errors
+ my $arg_types := +$op.arg_types
+ ?? '{ ' ~ join( ", ",
+ |map( -> $t { sprintf( "PARROT_ARG_%s", uc($t) ) }, |$op.arg_types)
+ ) ~ ' }'
+ !! '{ (arg_type_t) 0 }';
+ my $arg_dirs := $op<normalized_args>
+ ?? '{ ' ~ join(", ",
+ |map( -> $d { %arg_dir_mapping{$d<direction>} }, |$op<normalized_args>)
+ ) ~ ' }'
+ !! '{ (arg_dir_t) 0 }';
+ my $labels := $op<normalized_args>
+ ?? '{ ' ~ join(", ",
+ |map( -> $d { $d<is_label> ?? 1 !! 0 }, |$op<normalized_args>)
+ ) ~ ' }'
+ !! '{ 0 }';
+
+ $fh.print(' { ' ~ qq|/* $index */
+ /* type $type, */
+ "$name",
+ "$full_name",
+ "$func_name",
+ /* "", body */
+ $jump,
+ $arg_count,
+ $arg_types,
+ $arg_dirs,
+ $labels
+ | ~ '},
+',
+ );
+
+ $index++;
+ }
+ $fh.print(q|
+};
+
+|);
+}
+
+method _emit_op_function_definitions($emitter, $fh) {
+ $fh.print(q|
+/*
+** Op Function Definitions:
+*/
+
+|);
+
+ for self<op_funcs> -> $op {
+ $fh.print($op);
+ }
+}
+
+method emit_op_lookup($emitter, $fh) {
+
+ if !$emitter.flags<core> {
+ return;
+ }
+
+ my $hash_size := 3041;
+# my $tot := $self->{index} + scalar keys( %{ $self->{names} } );
+# if ( $hash_size < $tot * 1.2 ) {
+# print STDERR "please increase hash_size ($hash_size) in lib/Parrot/Ops2c/Utils.pm "
+# . "to a prime number > ", $tot * 1.2, "\n";
+# }
+ # Due bug in NQP do it in two passes.
+ my $res := q|
+/*
+** Op lookup function:
+*/
+
+#define OP_HASH_SIZE 3041
+
+/* we could calculate a prime somewhat bigger than
+ * n of fullnames + n of names
+ * for now this should be ok
+ *
+ * look up an op_code: at first call to op_code() a hash
+ * of short and full opcode names is created
+ * hash functions are from imcc, thanks to Melvin.
+ */
+
+
+typedef struct hop {
+ op_info_t * info;
+ struct hop *next;
+} HOP;
+static HOP **hop;
+
+static void hop_init(PARROT_INTERP);
+static size_t hash_str(const char *str);
+static void store_op(PARROT_INTERP, op_info_t *info, int full);
+
+/* XXX on changing interpreters, this should be called,
+ through a hook */
+
+static void hop_deinit(PARROT_INTERP);
+
+/*
+ * find a short or full opcode
+ * usage:
+ *
+ * interp->op_lib->op_code("set", 0)
+ * interp->op_lib->op_code("set_i_i", 1)
+ *
+ * returns >= 0 (found idx into info_table), -1 if not
+ */
+
+static size_t hash_str(const char *str) {
+ size_t key = 0;
+ const char *s = str;
+
+ while (*s) {
+ key *= 65599;
+ key += *s++;
+ }
+
+ return key;
+}
+
+static void store_op(PARROT_INTERP, op_info_t *info, int full) {
+ HOP * const p = mem_gc_allocate_zeroed_typed(interp, HOP);
+ const size_t hidx =
+ hash_str(full ? info->full_name : info->name) % OP_HASH_SIZE;
+
+ p->info = info;
+ p->next = hop[hidx];
+ hop[hidx] = p;
+}
+static int get_op(PARROT_INTERP, const char * name, int full) {
+ const HOP * p;
+ const size_t hidx = hash_str(name) % OP_HASH_SIZE;
+ if (!hop) {
+ hop = mem_gc_allocate_n_zeroed_typed(interp, OP_HASH_SIZE,HOP *);
+ hop_init(interp);
+ }
+ for (p = hop[hidx]; p; p = p->next) {
+ if(STREQ(name, full ? p->info->full_name : p->info->name))
+ return p->info - [[BS]]op_lib.op_info_table;
+ }
+ return -1;
+}
+static void hop_init(PARROT_INTERP) {
+ size_t i;
+ op_info_t * const info = [[BS]]op_lib.op_info_table;
+ /* store full names */
+ for (i = 0; i < [[BS]]op_lib.op_count; i++)
+ store_op(interp, info + i, 1);
+ /* plus one short name */
+ for (i = 0; i < [[BS]]op_lib.op_count; i++)
+ if (get_op(interp, info[i].name, 0) == -1)
+ store_op(interp, info + i, 0);
+}
+static void hop_deinit(PARROT_INTERP)
+{
+ if (hop) {
+ size_t i;
+ for (i = 0; i < OP_HASH_SIZE; i++) {
+ HOP *p = hop[i];
+ while (p) {
+ HOP * const next = p->next;
+ mem_gc_free(interp, p);
+ p = next;
+ }
+ }
+ mem_sys_free(hop);
+ hop = NULL;
+ }
+}|;
+
+ $fh.print(subst($res, /'[[' BS ']]'/, $emitter.bs, :global));
+}
+
+# vim: expandtab shiftwidth=4 ft=perl6:
Copied: branches/ucs4_encoding/compilers/opsc/src/builtins.pir (from r46972, trunk/compilers/opsc/src/builtins.pir)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ucs4_encoding/compilers/opsc/src/builtins.pir Mon May 24 21:18:41 2010 (r46974, copy of r46972, trunk/compilers/opsc/src/builtins.pir)
@@ -0,0 +1,196 @@
+#! parrot
+# Copyright (C) 2009-2010, Parrot Foundation.
+# $Id$
+
+=head1 Builtins
+
+Variour helper builtins.
+
+=cut
+.namespace []
+
+.sub 'lc'
+ .param string arg
+ $S0 = downcase arg
+ .return ($S0)
+.end
+
+.sub 'uc'
+ .param string arg
+ $S0 = upcase arg
+ .return ($S0)
+.end
+
+.sub 'defined'
+ .param pmc thing
+ $I0 = defined thing
+ .return ($I0)
+.end
+
+.sub 'clone'
+ .param pmc what
+ $P0 = clone what
+ .return ($P0)
+.end
+
+.sub 'elements'
+ .param pmc p
+ $I0 = elements p
+ .return ($I0)
+.end
+
+
+.sub 'substr'
+ .param string orig
+ .param int from
+ .param int len
+ $S0 = substr orig, from, len
+ .return ($S0)
+.end
+
+.sub 'match'
+ .param string pattern
+ .param string subject
+
+ .local pmc recomp, resub, match, recache
+
+ load_bytecode 'PGE.pbc'
+
+ #hash cache mapping patterns to subs, avoiding unneeded recompilation
+ recache = get_hll_global ['Ops';'Op'], '%recache'
+ $I0 = isnull recache
+ if $I0 goto no_cache
+ $I0 = exists recache[pattern]
+ if $I0 goto found_re
+ goto no_re
+
+ no_cache:
+ recache = new ['Hash']
+
+ no_re:
+ recomp = compreg 'PGE::Perl6Regex'
+ resub = recomp(pattern)
+ recache[pattern] = resub
+
+ found_re:
+ resub = recache[pattern]
+ set_hll_global ['Ops';'Op'], '%recache', recache
+
+ match = resub(subject)
+ if match goto found_match
+ .return (0)
+ found_match:
+ .return (1)
+.end
+
+.sub 'die'
+ .param string why :optional
+ .param int has_why :opt_flag
+
+ die why
+.end
+
+.sub 'slurp'
+ .param string file
+ .local pmc pio
+ pio = open file
+ $S0 = pio.'readall'()
+ close pio
+ .return ($S0)
+.end
+
+.sub 'split' :multi(_,_)
+ .param string splitter
+ .param string buf
+
+ $P0 = split splitter, buf
+ .return ($P0)
+.end
+
+.sub 'split' :multi('Sub', _)
+ .param pmc regex
+ .param pmc str
+ .param int count :optional
+ .param int has_count :opt_flag
+ .local pmc match
+ .local pmc retv
+ .local int start_pos
+ .local int end_pos
+ .local int zwm_start
+
+ $S0 = str
+ retv = new 'ResizableStringArray'
+ start_pos = 0
+
+ # per Perl 5's negative LIMIT behavior
+ unless has_count goto positive_count
+ if count < 1 goto done
+
+ positive_count:
+ match = regex($S0)
+ if match goto loop
+ retv.'push'($S0)
+ goto done
+
+ loop:
+ unless has_count goto skip_count
+ dec count
+ unless count < 1 goto skip_count
+ $S1 = substr $S0, start_pos
+ retv.'push'($S1)
+ goto done
+ next_zwm:
+ zwm_start = start_pos
+ inc_zwm:
+ inc start_pos
+ match = regex($S0, 'continue' => start_pos)
+ end_pos = match.'from'()
+ unless start_pos == end_pos goto inc_zwm
+ start_pos = zwm_start
+ end_pos -= start_pos
+ goto add_str
+ skip_count:
+ match = regex($S0, 'continue' => start_pos)
+ end_pos = match.'from'()
+ $I99 = match.'to'()
+ if $I99 == end_pos goto next_zwm
+ end_pos -= start_pos
+ add_str:
+ $S1 = substr $S0, start_pos, end_pos
+ retv.'push'($S1)
+ unless match goto done
+ $I0 = match.'to'()
+ if $I0 == start_pos goto zero_width
+ start_pos = $I0
+ goto loop
+ zero_width:
+ inc start_pos
+ goto loop
+
+ done:
+ .return(retv)
+.end
+
+.sub 'list'
+ .param pmc l :slurpy
+ .return (l)
+.end
+
+.sub 'sprintf'
+ .param string format
+ .param pmc args :slurpy
+
+ $S0 = sprintf format, args
+ .return($S0)
+.end
+
+.sub 'say'
+ .param string arg
+ say arg
+.end
+
+# Local Variables:
+# mode: pir
+# fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4 ft=pir:
Modified: branches/ucs4_encoding/compilers/pct/Rules.mak
==============================================================================
--- branches/ucs4_encoding/compilers/pct/Rules.mak Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/compilers/pct/Rules.mak Mon May 24 21:18:41 2010 (r46974)
@@ -4,7 +4,7 @@
$(LIBRARY_DIR)/PCT/Grammar.pbc $(LIBRARY_DIR)/PCT/PAST.pbc
$(PARROT) -o $@ compilers/pct/PCT.pir
-$(LIBRARY_DIR)/PCT/PAST.pbc : compilers/pct/src/PAST.pir $(PARROT) \
+$(LIBRARY_DIR)/PCT/PAST.pbc : compilers/pct/src/PAST.pir $(PARROT) $(PBC_MERGE) \
$(LIBRARY_DIR)/PCT/HLLCompiler.pbc \
compilers/pct/src/PCT/Node.pbc \
compilers/pct/src/PAST/Node.pbc \
Modified: branches/ucs4_encoding/config/auto/extra_nci_thunks.pm
==============================================================================
--- branches/ucs4_encoding/config/auto/extra_nci_thunks.pm Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/config/auto/extra_nci_thunks.pm Mon May 24 21:18:41 2010 (r46974)
@@ -1,4 +1,3 @@
-#! perl
# Copyright (C) 2010, Parrot Foundation.
# $Id$
Modified: branches/ucs4_encoding/config/auto/warnings.pm
==============================================================================
--- branches/ucs4_encoding/config/auto/warnings.pm Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/config/auto/warnings.pm Mon May 24 21:18:41 2010 (r46974)
@@ -182,6 +182,8 @@
-Wdeprecated-declarations
-Wno-format-extra-args
-Wno-import
+ -Wsuggest-attribute=pure
+ -Wsuggest-attribute=const
-Wunreachable-code
-Wunused
-Wunused-function
Modified: branches/ucs4_encoding/config/gen/makefiles/root.in
==============================================================================
--- branches/ucs4_encoding/config/gen/makefiles/root.in Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/config/gen/makefiles/root.in Mon May 24 21:18:41 2010 (r46974)
@@ -125,6 +125,7 @@
include compilers/tge/Defines.mak
include compilers/pge/Defines.mak
include compilers/pct/Defines.mak
+include compilers/opsc/Defines.mak
include ext/nqp-rx/Defines.mak
include compilers/data_json/Defines.mak
@@ -172,8 +173,7 @@
config_lib.pir \
parrot.pc \
compilers/imcc/imcc.y.flag \
- compilers/imcc/imcc.l.flag \
- src/ops/core_ops.c
+ compilers/imcc/imcc.l.flag
GEN_PASM_INCLUDES = \
runtime/parrot/include/cclass.pasm \
@@ -233,17 +233,12 @@
#
###############################################################################
-GEN_OPSFILES =
-
GEN_HEADERS = \
$(INC_DIR)/vtable.h \
- $(INC_DIR)/oplib/core_ops.h \
- $(INC_DIR)/oplib/ops.h \
$(INC_DIR)/extend_vtable.h \
$(INC_DIR)/pbcversion.h
GEN_SOURCES = \
- src/core_ops.c \
src/nci.c \
src/glut_nci_thunks.c \
src/parrot_config.c \
@@ -253,7 +248,6 @@
src/extra_nci_thunks.c
GEN_MODULES = \
- lib/Parrot/OpLib/core.pm
GEN_LIBRARY = \
$(LIBRARY_DIR)/Archive/Tar.pbc \
@@ -274,7 +268,8 @@
$(LIBRARY_DIR)/HTTP/Message.pbc \
$(LIBRARY_DIR)/Iter.pbc \
$(LIBRARY_DIR)/JSON.pbc \
- $(LIBRARY_DIR)/LWP.pbc \
+ $(LIBRARY_DIR)/LWP/Protocol.pbc \
+ $(LIBRARY_DIR)/LWP/UserAgent.pbc \
$(LIBRARY_DIR)/Math/Rand.pbc \
$(LIBRARY_DIR)/MIME/Base64.pbc \
$(LIBRARY_DIR)/NCI/Utils.pbc \
@@ -334,7 +329,6 @@
$(LIBRARY_DIR)/postgres.pbc
FLUID_FILES_1 = \
- $(GEN_OPSFILES) \
$(GEN_HEADERS) \
$(GEN_SOURCES) \
$(GEN_MODULES) \
@@ -356,61 +350,61 @@
# parrot.h and all the includes it causes to be included
PARROT_H_HEADERS = \
- $(INC_DIR)/parrot.h \
- $(INC_DIR)/config.h \
- $(INC_DIR)/settings.h \
- $(INC_DIR)/enums.h \
- $(INC_DIR)/platform.h \
- $(INC_DIR)/platform_interface.h \
- $(INC_DIR)/global_setup.h \
- $(INC_DIR)/caches.h \
- $(INC_DIR)/interpreter.h \
- $(INC_DIR)/datatypes.h \
- $(INC_DIR)/encoding.h \
- $(INC_DIR)/charset.h \
- $(INC_DIR)/string.h \
- $(INC_DIR)/string_primitives.h \
- $(INC_DIR)/hash.h \
- $(INC_DIR)/pmc_freeze.h \
- $(INC_DIR)/vtable.h \
- $(INC_DIR)/context.h \
- $(INC_DIR)/exceptions.h \
- $(INC_DIR)/warnings.h \
- $(INC_DIR)/memory.h \
- $(INC_DIR)/packfile.h \
- $(INC_DIR)/io.h \
- $(INC_DIR)/op.h \
- $(INC_DIR)/pmc.h \
- $(INC_DIR)/gc_api.h \
- $(INC_DIR)/string_funcs.h \
- $(INC_DIR)/misc.h \
- $(INC_DIR)/sub.h \
- $(INC_DIR)/call.h \
- $(INC_DIR)/key.h \
- $(INC_DIR)/exit.h \
- $(INC_DIR)/nci.h \
- $(INC_DIR)/thread.h \
- $(INC_DIR)/scheduler.h \
- $(INC_DIR)/longopt.h \
- $(INC_DIR)/oo.h \
- $(INC_DIR)/vtables.h \
- $(INC_DIR)/multidispatch.h \
- $(INC_DIR)/library.h \
- $(INC_DIR)/global.h \
- $(INC_DIR)/stat.h \
- $(INC_DIR)/hll.h \
- $(INC_DIR)/pbcversion.h \
- $(INC_DIR)/pobj.h \
- $(INC_DIR)/platform_limits.h \
- $(INC_DIR)/has_header.h \
- $(INC_DIR)/oplib.h \
- $(INC_DIR)/feature.h \
- $(INC_DIR)/debugger.h \
- $(INC_DIR)/core_types.h \
- $(INC_DIR)/core_pmcs.h \
- $(INC_DIR)/compiler.h \
- $(INC_DIR)/cclass.h \
- include/pmc/pmc_callcontext.h
+ $(INC_DIR)/parrot.h \
+ $(INC_DIR)/config.h \
+ $(INC_DIR)/settings.h \
+ $(INC_DIR)/enums.h \
+ $(INC_DIR)/platform.h \
+ $(INC_DIR)/platform_interface.h \
+ $(INC_DIR)/global_setup.h \
+ $(INC_DIR)/caches.h \
+ $(INC_DIR)/interpreter.h \
+ $(INC_DIR)/datatypes.h \
+ $(INC_DIR)/encoding.h \
+ $(INC_DIR)/charset.h \
+ $(INC_DIR)/string.h \
+ $(INC_DIR)/string_primitives.h \
+ $(INC_DIR)/hash.h \
+ $(INC_DIR)/pmc_freeze.h \
+ $(INC_DIR)/vtable.h \
+ $(INC_DIR)/context.h \
+ $(INC_DIR)/exceptions.h \
+ $(INC_DIR)/warnings.h \
+ $(INC_DIR)/memory.h \
+ $(INC_DIR)/packfile.h \
+ $(INC_DIR)/io.h \
+ $(INC_DIR)/op.h \
+ $(INC_DIR)/pmc.h \
+ $(INC_DIR)/gc_api.h \
+ $(INC_DIR)/string_funcs.h \
+ $(INC_DIR)/misc.h \
+ $(INC_DIR)/sub.h \
+ $(INC_DIR)/call.h \
+ $(INC_DIR)/key.h \
+ $(INC_DIR)/exit.h \
+ $(INC_DIR)/nci.h \
+ $(INC_DIR)/thread.h \
+ $(INC_DIR)/scheduler.h \
+ $(INC_DIR)/longopt.h \
+ $(INC_DIR)/oo.h \
+ $(INC_DIR)/vtables.h \
+ $(INC_DIR)/multidispatch.h \
+ $(INC_DIR)/library.h \
+ $(INC_DIR)/global.h \
+ $(INC_DIR)/stat.h \
+ $(INC_DIR)/hll.h \
+ $(INC_DIR)/pbcversion.h \
+ $(INC_DIR)/pobj.h \
+ $(INC_DIR)/platform_limits.h \
+ $(INC_DIR)/has_header.h \
+ $(INC_DIR)/oplib.h \
+ $(INC_DIR)/feature.h \
+ $(INC_DIR)/debugger.h \
+ $(INC_DIR)/core_types.h \
+ $(INC_DIR)/core_pmcs.h \
+ $(INC_DIR)/compiler.h \
+ $(INC_DIR)/cclass.h \
+ include/pmc/pmc_callcontext.h
# generated list of header files
GENERAL_H_FILES = $(NONGEN_HEADERS) $(GEN_HEADERS) \
@@ -503,7 +497,7 @@
#IF(platform_asm): src/platform_asm$(O) \
-OPS_FILES = @ops@ $(GEN_OPSFILES)
+OPS_FILES = @ops@
###############################################################################
#
@@ -524,6 +518,7 @@
NQP_RX = . at slash@parrot-nqp$(EXE)
NCI_THUNK_GEN = . at slash@parrot_nci_thunk_gen$(EXE)
PROVE = . at slash@parrot-prove$(EXE)
+OPS2C = . at slash@ops2c$(EXE)
# Installable executables
INSTALLABLEPARROT = . at slash@installable_parrot$(EXE)
@@ -536,6 +531,7 @@
INSTALLABLENQP = . at slash@installable_parrot-nqp$(EXE)
INSTALLABLENCITHUNKGEN = . at slash@installable_parrot_nci_thunk_gen$(EXE)
INSTALLABLEPROVE = . at slash@installable_parrot-prove$(EXE)
+INSTALLABLEOPS2C = . at slash@installable_ops2c$(EXE)
# Libraries
LIBPARROT_STATIC = @blib_dir@/@libparrot_static@
@@ -618,6 +614,7 @@
$(DATA_JSON_LIB_PBCS) \
$(NQP_LIB_PBCS) \
$(GEN_LIBRARY) \
+ $(DYNOPLIBS_TARGETS) \
$(LIBNCI_TEST_SO)
corevm : \
@@ -627,8 +624,7 @@
runtime/parrot/include/parrotlib.pbc \
runtime/parrot/include/config.fpmc \
$(LIBRARY_DIR)/Test/More.pbc \
- $(DYNPMC_TARGETS) \
- $(DYNOPLIBS_TARGETS)
+ $(DYNPMC_TARGETS)
$(GEN_LIBRARY) : $(PARROT) $(GEN_PASM_INCLUDES)
@@ -797,10 +793,13 @@
world : all parrot_utils
-parrot_utils : $(PDUMP) $(DIS) $(PDB) $(PBC_MERGE) $(PBC_TO_EXE) $(PARROT_CONFIG) src/install_config$(O) $(PROVE)
+parrot_utils : $(PDUMP) $(DIS) $(PDB) $(PBC_MERGE) $(PBC_TO_EXE) $(PARROT_CONFIG) src/install_config$(O) $(PROVE) $(OPS2C)
-installable: all $(INSTALLABLEPARROT) $(INSTALLABLEPDUMP) $(INSTALLABLEDIS) $(INSTALLABLEPDB) $(INSTALLABLEPBC_MERGE) $(INSTALLABLEPBCTOEXE) $(INSTALLABLECONFIG) $(INSTALLABLENQP) $(INSTALLABLENCITHUNKGEN) $(INSTALLABLEPROVE)
+installable: all $(INSTALLABLEPARROT) $(INSTALLABLEPDUMP) $(INSTALLABLEDIS) $(INSTALLABLEPDB) $(INSTALLABLEPBC_MERGE) $(INSTALLABLEPBCTOEXE) $(INSTALLABLECONFIG) $(INSTALLABLENQP) $(INSTALLABLENCITHUNKGEN) $(INSTALLABLEPROVE) $(INSTALLABLEOPS2C)
+bootstrap-ops : $(OPS2C)
+ $(OPS2C) --core
+ $(MAKE) .
runtime/parrot/include/parrotlib.pbc: runtime/parrot/library/parrotlib.pir $(PARROT) $(GEN_PASM_INCLUDES)
$(PARROT) -o $@ runtime/parrot/library/parrotlib.pir
@@ -810,14 +809,14 @@
$(MINIPARROT) -Iruntime/parrot/include config_lib.pir > $@
$(PARROT) : src/main$(O) $(GEN_HEADERS) $(LIBPARROT) \
- lib/Parrot/OpLib/core.pm src/parrot_config$(O) \
+ src/parrot_config$(O) \
$(MINIPARROT)
$(LINK) @ld_out@$@ \
src/main$(O) src/parrot_config$(O) \
@rpath_blib@ $(ALL_PARROT_LIBS) $(LINKFLAGS) $(LINK_DYNAMIC)
#IF(win32): if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;1
-$(PBC_TO_EXE) : tools/dev/pbc_to_exe.pir runtime/parrot/library/config.pir $(PARROT) $(DYNEXT_DIR)/os$(LOAD_EXT)
+$(PBC_TO_EXE) : tools/dev/pbc_to_exe.pir runtime/parrot/library/config.pir $(PARROT) $(DYNEXT_DIR)/os$(LOAD_EXT) $(DYNEXT_DIR)/file$(LOAD_EXT)
$(PARROT) -o pbc_to_exe.pbc tools/dev/pbc_to_exe.pir
$(PARROT) pbc_to_exe.pbc pbc_to_exe.pbc
@@ -838,13 +837,13 @@
$(PARROT) pbc_to_exe.pbc parrot_config.pbc
$(MINIPARROT) : src/main$(O) $(GEN_HEADERS) $(LIBPARROT) \
- lib/Parrot/OpLib/core.pm src/null_config$(O)
+ src/null_config$(O)
$(LINK) @ld_out@$@ src/main$(O) src/null_config$(O) \
@rpath_blib@ $(ALL_PARROT_LIBS) $(LINKFLAGS)
#IF(win32): if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;1
$(INSTALLABLEPARROT) : src/main$(O) $(GEN_HEADERS) $(LIBPARROT) \
- lib/Parrot/OpLib/core.pm src/install_config$(O) \
+ src/install_config$(O) \
$(PARROT)
$(LINK) @ld_out@$@ \
src/main$(O) src/install_config$(O) \
@@ -884,10 +883,10 @@
include/pmc/pmc_object.h src/oo.str $(INC_DIR)/oo_private.h
src/scheduler$(O) : $(PARROT_H_HEADERS) src/scheduler.str src/scheduler.c \
- include/pmc/pmc_scheduler.h include/pmc/pmc_task.h \
- include/pmc/pmc_timer.h \
- $(INC_DIR)/scheduler_private.h \
- $(INC_DIR)/runcore_api.h
+ include/pmc/pmc_scheduler.h include/pmc/pmc_task.h \
+ include/pmc/pmc_timer.h \
+ $(INC_DIR)/scheduler_private.h \
+ $(INC_DIR)/runcore_api.h
src/io/core$(O) : $(PARROT_H_HEADERS) src/io/io_private.h src/io/core.c
@@ -898,9 +897,9 @@
src/io/io_private.h src/io/socket_unix.c
src/io/socket_win32$(O) : $(PARROT_H_HEADERS) \
- src/io/io_private.h \
- include/pmc/pmc_socket.h \
- src/io/socket_win32.c
+ src/io/io_private.h \
+ include/pmc/pmc_socket.h \
+ src/io/socket_win32.c
O_FILES = \
$(INTERP_O_FILES) \
@@ -961,17 +960,17 @@
#
src/parrot_debugger$(O) : $(INC_DIR)/embed.h \
- src/parrot_debugger.c \
- $(INC_DIR)/runcore_api.h \
- compilers/imcc/imc.h $(PARROT_H_HEADERS) compilers/imcc/parser.h \
- compilers/imcc/cfg.h \
- compilers/imcc/debug.h \
- compilers/imcc/imcparser.h \
- compilers/imcc/instructions.h \
- compilers/imcc/sets.h \
- compilers/imcc/symreg.h \
- compilers/imcc/unit.h \
- $(INC_DIR)/oplib/ops.h
+ src/parrot_debugger.c \
+ $(INC_DIR)/runcore_api.h \
+ compilers/imcc/imc.h $(PARROT_H_HEADERS) compilers/imcc/parser.h \
+ compilers/imcc/cfg.h \
+ compilers/imcc/debug.h \
+ compilers/imcc/imcparser.h \
+ compilers/imcc/instructions.h \
+ compilers/imcc/sets.h \
+ compilers/imcc/symreg.h \
+ compilers/imcc/unit.h \
+ $(INC_DIR)/oplib/ops.h
$(PDB) : src/parrot_debugger$(O) src/parrot_config$(O) $(LIBPARROT)
$(LINK) @ld_out@$@ \
@@ -1020,7 +1019,7 @@
#IF(win32): if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;1
src/pbc_dump$(O) : $(INC_DIR)/embed.h $(INC_DIR)/oplib/ops.h \
- $(PARROT_H_HEADERS) src/pbc_dump.c
+ $(PARROT_H_HEADERS) src/pbc_dump.c
$(INSTALLABLEPDUMP) : src/pbc_dump$(O) src/packdump$(O) \
src/install_config$(O) $(LIBPARROT)
@@ -1179,15 +1178,6 @@
$(PERL) $(H2INC) src/utils.c $@
-# ops.h is built by ops2pm.pl after it builds core.pm
-$(INC_DIR)/oplib/ops.h: lib/Parrot/OpLib/core.pm
-
-$(BUILD_TOOLS_DIR)/ops2c.pl: lib/Parrot/OpLib/core.pm
-
-lib/Parrot/OpLib/core.pm : $(OPS_FILES) $(BUILD_TOOLS_DIR)/ops2pm.pl \
- lib/Parrot/OpsFile.pm lib/Parrot/Op.pm src/ops/ops.num src/ops/ops.skip
- $(PERL) $(BUILD_TOOLS_DIR)/ops2pm.pl @no_lines_flag@ $(OPS_FILES)
-
###############################################################################
#
# Examples (Assembly):
@@ -1233,7 +1223,7 @@
src/datatypes$(O) : $(PARROT_H_HEADERS) src/datatypes.c
src/extend_vtable$(O) : $(PARROT_H_HEADERS) \
- $(INC_DIR)/extend.h $(INC_DIR)/extend_vtable.h src/extend_vtable.c
+ $(INC_DIR)/extend.h $(INC_DIR)/extend_vtable.h src/extend_vtable.c
src/global_setup$(O) : $(PARROT_H_HEADERS) src/global_setup.str src/global_setup.c
@@ -1248,13 +1238,13 @@
src/hash$(O) : $(PARROT_H_HEADERS) include/pmc/pmc_key.h src/hash.c
src/library$(O) : $(PARROT_H_HEADERS) src/library.str src/library.c\
- $(INC_DIR)/dynext.h
+ $(INC_DIR)/dynext.h
$(INC_DIR)/extend_vtable.h src/extend_vtable.c src/vtable.h : src/vtable.tbl $(BUILD_TOOLS_DIR)/vtable_extend.pl lib/Parrot/Vtable.pm
$(PERL) $(BUILD_TOOLS_DIR)/vtable_extend.pl
src/key$(O) : $(PARROT_H_HEADERS) src/key.str src/key.c \
- include/pmc/pmc_key.h
+ include/pmc/pmc_key.h
src/gc/mark_sweep$(O) : $(PARROT_H_HEADERS) src/gc/gc_private.h src/gc/mark_sweep.c
@@ -1265,7 +1255,7 @@
src/gc/api$(O) : $(PARROT_H_HEADERS) src/gc/gc_private.h src/gc/api.c
src/gc/alloc_resources$(O) : $(PARROT_H_HEADERS) \
- src/gc/gc_private.h src/gc/alloc_resources.c
+ src/gc/gc_private.h src/gc/alloc_resources.c
src/hll$(O) : $(PARROT_H_HEADERS) src/hll.str $(INC_DIR)/dynext.h src/hll.c
@@ -1276,37 +1266,37 @@
src/core_pmcs$(O) : $(PARROT_H_HEADERS) src/core_pmcs.c
src/runcore/trace$(O) : include/pmc/pmc_sub.h src/runcore/trace.c \
- $(INC_DIR)/oplib/ops.h $(INC_DIR)/runcore_trace.h \
- $(PARROT_H_HEADERS)
+ $(INC_DIR)/oplib/ops.h $(INC_DIR)/runcore_trace.h \
+ $(PARROT_H_HEADERS)
src/debug$(O) : $(INC_DIR)/embed.h $(INC_DIR)/extend.h \
- $(PARROT_H_HEADERS) src/debug.c \
- $(INC_DIR)/oplib/ops.h \
- $(INC_DIR)/runcore_api.h $(INC_DIR)/runcore_trace.h \
- src/debug.str include/pmc/pmc_key.h \
- include/pmc/pmc_continuation.h \
- $(INC_DIR)/extend_vtable.h
+ $(PARROT_H_HEADERS) src/debug.c \
+ $(INC_DIR)/oplib/ops.h \
+ $(INC_DIR)/runcore_api.h $(INC_DIR)/runcore_trace.h \
+ src/debug.str include/pmc/pmc_key.h \
+ include/pmc/pmc_continuation.h \
+ $(INC_DIR)/extend_vtable.h
src/sub$(O) : $(PARROT_H_HEADERS) $(INC_DIR)/oplib/ops.h \
- src/sub.str src/sub.c \
+ src/sub.str src/sub.c \
include/pmc/pmc_sub.h include/pmc/pmc_continuation.h
src/string/api$(O) : $(PARROT_H_HEADERS) src/string/api.str \
- src/string/private_cstring.h src/string/api.c
+ src/string/private_cstring.h src/string/api.c
src/string/primitives$(O) : $(PARROT_H_HEADERS) src/string/primitives.c
src/longopt$(O) : $(PARROT_H_HEADERS) src/longopt.c
src/dynext$(O) : $(PARROT_H_HEADERS) $(INC_DIR)/dynext.h \
- src/dynext.str include/pmc/pmc_parrotlibrary.h src/dynext.c
+ src/dynext.str include/pmc/pmc_parrotlibrary.h src/dynext.c
src/exceptions$(O) : $(PARROT_H_HEADERS) \
- src/exceptions.str src/exceptions.c \
+ src/exceptions.str src/exceptions.c \
include/pmc/pmc_continuation.h
src/thread$(O) : $(PARROT_H_HEADERS) $(INC_DIR)/atomic.h src/thread.c \
- include/pmc/pmc_sub.h \
+ include/pmc/pmc_sub.h \
include/pmc/pmc_parrotinterpreter.h \
$(INC_DIR)/runcore_api.h
@@ -1319,31 +1309,31 @@
src/runcore/main.c \
src/runcore/main.str \
include/pmc/pmc_parrotlibrary.h \
- $(INC_DIR)/dynext.h $(INC_DIR)/oplib/core_ops.h \
- $(INC_DIR)/oplib/ops.h \
- $(PARROT_H_HEADERS) $(INC_DIR)/runcore_api.h \
- $(INC_DIR)/runcore_profiling.h
+ $(INC_DIR)/dynext.h $(INC_DIR)/oplib/core_ops.h \
+ $(INC_DIR)/oplib/ops.h \
+ $(PARROT_H_HEADERS) $(INC_DIR)/runcore_api.h \
+ $(INC_DIR)/runcore_profiling.h
src/runcore/profiling$(O) : src/runcore/profiling.str src/runcore/profiling.c \
include/pmc/pmc_sub.h \
include/pmc/pmc_namespace.h \
- $(INC_DIR)/oplib/core_ops.h $(INC_DIR)/runcore_api.h \
- $(INC_DIR)/runcore_profiling.h $(INC_DIR)/embed.h \
- $(PARROT_H_HEADERS)
+ $(INC_DIR)/oplib/core_ops.h $(INC_DIR)/runcore_api.h \
+ $(INC_DIR)/runcore_profiling.h $(INC_DIR)/embed.h \
+ $(PARROT_H_HEADERS)
src/call/args$(O) : \
- $(PARROT_H_HEADERS) $(INC_DIR)/oplib/ops.h \
+ $(PARROT_H_HEADERS) $(INC_DIR)/oplib/ops.h \
src/call/args.c \
src/call/args.str \
include/pmc/pmc_key.h \
include/pmc/pmc_fixedintegerarray.h
src/call/context_accessors$(O): $(PARROT_H_HEADERS) \
- src/call/context_accessors.c
+ src/call/context_accessors.c
src/call/pcc$(O) : $(INC_DIR)/oplib/ops.h \
- $(PARROT_H_HEADERS) \
- $(INC_DIR)/runcore_api.h \
+ $(PARROT_H_HEADERS) \
+ $(INC_DIR)/runcore_api.h \
src/call/pcc.c \
src/call/pcc.str \
include/pmc/pmc_key.h include/pmc/pmc_continuation.h
@@ -1352,12 +1342,12 @@
include/pmc/pmc_sub.h src/call/context.c
src/interp/inter_cb$(O) : $(PARROT_H_HEADERS) \
- include/pmc/pmc_parrotinterpreter.h \
+ include/pmc/pmc_parrotinterpreter.h \
src/interp/inter_cb.str src/interp/inter_cb.c
src/interp/inter_misc$(O) : $(PARROT_H_HEADERS) \
- src/interp/inter_misc.c \
- src/interp/inter_misc.str \
+ src/interp/inter_misc.c \
+ src/interp/inter_misc.str \
compilers/imcc/imc.h \
compilers/imcc/cfg.h \
compilers/imcc/debug.h \
@@ -1365,14 +1355,14 @@
compilers/imcc/sets.h \
compilers/imcc/symreg.h \
compilers/imcc/unit.h \
- $(INC_DIR)/oplib/ops.h \
- $(INC_DIR)/runcore_api.h
+ $(INC_DIR)/oplib/ops.h \
+ $(INC_DIR)/runcore_api.h
src/interp/inter_create$(O) : $(PARROT_H_HEADERS) \
$(INC_DIR)/oplib/core_ops.h \
src/gc/gc_private.h \
- src/interp/inter_create.c \
- src/interp/inter_create.str \
+ src/interp/inter_create.c \
+ src/interp/inter_create.str \
compilers/imcc/imc.h \
compilers/imcc/cfg.h \
compilers/imcc/debug.h \
@@ -1380,19 +1370,19 @@
compilers/imcc/sets.h \
compilers/imcc/symreg.h \
compilers/imcc/unit.h \
- $(INC_DIR)/oplib/ops.h \
- $(INC_DIR)/runcore_api.h
+ $(INC_DIR)/oplib/ops.h \
+ $(INC_DIR)/runcore_api.h
src/call/ops$(O) : $(INC_DIR)/oplib/ops.h \
$(PARROT_H_HEADERS) include/pmc/pmc_continuation.h \
- $(INC_DIR)/runcore_api.h src/call/ops.c
+ $(INC_DIR)/runcore_api.h src/call/ops.c
src/io/api$(O) : $(PARROT_H_HEADERS) src/io/io_private.h \
- src/io/api.c \
- src/io/api.str include/pmc/pmc_filehandle.h \
- include/pmc/pmc_stringhandle.h \
- $(INC_DIR)/extend.h \
- $(INC_DIR)/extend_vtable.h
+ src/io/api.c \
+ src/io/api.str include/pmc/pmc_filehandle.h \
+ include/pmc/pmc_stringhandle.h \
+ $(INC_DIR)/extend.h \
+ $(INC_DIR)/extend_vtable.h
src/io/buffer$(O) : $(PARROT_H_HEADERS) src/io/io_private.h src/io/buffer.c
@@ -1410,28 +1400,28 @@
src/gc/alloc_memory$(O) : $(PARROT_H_HEADERS) src/gc/alloc_memory.c
src/main$(O) : $(INC_DIR)/imcc.h $(PARROT_H_HEADERS) \
- $(INC_DIR)/embed.h $(INC_DIR)/runcore_api.h src/gc/gc_private.h \
- src/main.c
+ $(INC_DIR)/embed.h $(INC_DIR)/runcore_api.h src/gc/gc_private.h \
+ src/main.c
src/multidispatch$(O) : \
- src/multidispatch.c \
- src/multidispatch.str \
- $(INC_DIR)/oplib/ops.h $(PARROT_H_HEADERS) \
+ src/multidispatch.c \
+ src/multidispatch.str \
+ $(INC_DIR)/oplib/ops.h $(PARROT_H_HEADERS) \
include/pmc/pmc_nci.h include/pmc/pmc_sub.h
src/packfile$(O) : src/packfile.str \
- src/packfile.c \
+ src/packfile.c \
include/pmc/pmc_sub.h include/pmc/pmc_key.h \
- compilers/imcc/imc.h \
+ compilers/imcc/imc.h \
compilers/imcc/cfg.h \
compilers/imcc/debug.h \
compilers/imcc/instructions.h \
compilers/imcc/sets.h \
compilers/imcc/symreg.h \
compilers/imcc/unit.h \
- $(INC_DIR)/oplib/ops.h \
- $(INC_DIR)/embed.h $(INC_DIR)/extend.h $(INC_DIR)/extend_vtable.h \
- $(PARROT_H_HEADERS) $(INC_DIR)/runcore_api.h
+ $(INC_DIR)/oplib/ops.h \
+ $(INC_DIR)/embed.h $(INC_DIR)/extend.h $(INC_DIR)/extend_vtable.h \
+ $(PARROT_H_HEADERS) $(INC_DIR)/runcore_api.h
src/packfile/pf_items$(O) : $(PARROT_H_HEADERS) src/packfile/pf_items.c
@@ -1440,12 +1430,12 @@
src/parrot$(O) : $(GENERAL_H_FILES)
src/runcore/cores$(O) : src/runcore/cores.str \
- src/runcore/cores.c \
+ src/runcore/cores.c \
include/pmc/pmc_sub.h \
- $(INC_DIR)/dynext.h $(INC_DIR)/embed.h $(INC_DIR)/oplib/core_ops.h \
- $(INC_DIR)/oplib/ops.h \
- $(INC_DIR)/runcore_api.h $(INC_DIR)/runcore_trace.h \
- $(PARROT_H_HEADERS)
+ $(INC_DIR)/dynext.h $(INC_DIR)/embed.h $(INC_DIR)/oplib/core_ops.h \
+ $(INC_DIR)/oplib/ops.h \
+ $(INC_DIR)/runcore_api.h $(INC_DIR)/runcore_trace.h \
+ $(PARROT_H_HEADERS)
src/embed$(O) : $(PARROT_H_HEADERS) $(INC_DIR)/embed.h \
src/embed.c src/embed.str \
@@ -1457,19 +1447,19 @@
compilers/imcc/sets.h \
compilers/imcc/symreg.h \
compilers/imcc/unit.h \
- include/pmc/pmc_sub.h
+ include/pmc/pmc_sub.h
src/dataypes$(O) : $(GENERAL_H_FILES) src/dataypes.c
src/exit$(O) : $(PARROT_H_HEADERS) src/exit.c
src/nci/api$(O) : src/nci/api.str \
- src/nci/api.c \
- $(PARROT_H_HEADERS)
+ src/nci/api.c \
+ $(PARROT_H_HEADERS)
src/nci/core_thunks$(O) : src/nci/core_thunks.c \
- $(PARROT_H_HEADERS) \
- include/pmc/pmc_nci.h
+ $(PARROT_H_HEADERS) \
+ include/pmc/pmc_nci.h
## SUFFIX OVERRIDE
src/nci/extra_thunks$(O) : \
@@ -1479,11 +1469,11 @@
$(CC) $(CFLAGS) @optimize::src/nci/extra_thunks.c@ @ccwarn::src/nci/extra_thunks.c@ @cc_shared@ -I$(@D) @cc_o_out@$@ -c src/nci/extra_thunks.c
src/frame_builder$(O) : $(PARROT_H_HEADERS) src/frame_builder.h \
- src/frame_builder.c \
- include/pmc/pmc_fixedintegerarray.h \
- include/pmc/pmc_unmanagedstruct.h \
- include/pmc/pmc_managedstruct.h \
- $(INC_DIR)/oplib/ops.h
+ src/frame_builder.c \
+ include/pmc/pmc_fixedintegerarray.h \
+ include/pmc/pmc_unmanagedstruct.h \
+ include/pmc/pmc_managedstruct.h \
+ $(INC_DIR)/oplib/ops.h
src/vtables$(O) : $(PARROT_H_HEADERS) src/vtables.c
@@ -1510,15 +1500,14 @@
src/string/encoding$(O) : $(PARROT_H_HEADERS) src/string/encoding.c
src/string/charset$(O) : $(PARROT_H_HEADERS) src/string/charset.c \
- src/string/encoding/fixed_8.h \
- src/string/encoding/utf8.h \
- src/string/encoding/utf16.h \
- src/string/encoding/ucs2.h \
- src/string/encoding/ucs4.h \
- src/string/charset/ascii.h \
- src/string/charset/binary.h \
- src/string/charset/iso-8859-1.h \
- src/string/charset/unicode.h
+ src/string/encoding/fixed_8.h \
+ src/string/encoding/utf8.h \
+ src/string/encoding/utf16.h \
+ src/string/encoding/ucs2.h \
+ src/string/charset/ascii.h \
+ src/string/charset/binary.h \
+ src/string/charset/iso-8859-1.h \
+ src/string/charset/unicode.h
src/pbc_merge$(O) : $(INC_DIR)/embed.h src/pbc_merge.c \
include/pmc/pmc_sub.h $(INC_DIR)/oplib/ops.h $(PARROT_H_HEADERS)
@@ -1545,15 +1534,6 @@
include/pmc/pmc_parrotlibrary.h \
src/io/io_private.h
-# .h files are built along with .c
-$(INC_DIR)/oplib/core_ops.h: src/ops/core_ops.c
-
-src/ops/core_ops.c : $(OPS_FILES) $(BUILD_TOOLS_DIR)/ops2c.pl \
- lib/Parrot/OpsFile.pm lib/Parrot/Op.pm $(INC_DIR)/config.h \
- lib/Parrot/OpLib/core.pm lib/Parrot/OpTrans/C.pm \
- include/pmc/pmc_continuation.h
- $(PERL) $(BUILD_TOOLS_DIR)/ops2c.pl C --core @no_lines_flag@
-
@TEMP_gc_c@
@TEMP_pmc_build@
@@ -1661,13 +1641,9 @@
t/tools/*.t
LIBRARY_TEST_FILES = @library_tests@
PMC2CUTILS_DIR = t/tools/pmc2cutils
-OPS2PMUTILS_DIR = t/tools/ops2pm
-OPS2CUTILS_DIR = t/tools/ops2cutils
HARNESS_DIR = t/pharness
BUILDTOOLS_TEST_FILES = \
$(PMC2CUTILS_DIR)/*.t \
- $(OPS2PMUTILS_DIR)/*.t \
- $(OPS2CUTILS_DIR)/*.t \
$(HARNESS_DIR)/*.t
MANIFEST_DIR = t/manifest
INSTALL_TOOLS_DIR = t/tools/install
@@ -1834,7 +1810,6 @@
ext-clean \
#UNLESS(win32): cover-clean \
editor-clean
- $(RM_F) $(INC_DIR)/oplib/core_ops_cg.h src/ops/core_ops_cg.c
$(RM_F) chartypes "*.s" "*~"
$(RM_F) $(FLUID_FILES_1)
$(RM_F) $(FLUID_FILES_2)
@@ -1844,7 +1819,7 @@
$(RM_F) $(PIRC_CLEANUPS) $(PCT_CLEANUPS) $(DATA_JSON_CLEANUPS)
$(RM_F) $(DYNOPLIBS_CLEANUPS) $(DYNPMC_CLEANUPS)
$(RM_F) $(GEN_PASM_INCLUDES) $(GEN_PM_INCLUDES)
- $(RM_F) $(NQPRX_CLEANUPS)
+ $(RM_F) $(NQPRX_CLEANUPS) $(OPSC_CLEANUPS)
prog-clean :
$(RM_F) \
@@ -1852,6 +1827,7 @@
$(PARROT) \
$(MINIPARROT) \
$(LIBPARROT) \
+ $(INSTALLABLEOPS2C) \
$(INSTALLABLEPARROT) \
$(INSTALLABLEDIS) \
$(INSTALLABLEPDUMP) \
@@ -1864,6 +1840,7 @@
$(INSTALLABLEPROVE) \
pbc_to_exe.pbc pbc_to_exe.c pbc_to_exe$(O) pbc_to_exe$(EXE) \
$(NCI_THUNK_GEN) parrot_nci_thunk_gen.c parrot_nci_thunk_gen$(O) parrot_nci_thunk_gen.pbc \
+ ops2c.pbc ops2c.c ops2c$(O) ops2c$(EXE) ops2c.pir \
parrot-prove.pbc parrot-prove.c parrot-prove$(O) parrot-prove$(EXE) \
parrot_config$(EXE) parrot_config.c parrot_config$(O) parrot_config.pbc \
compilers/imcc/main$(O) \
@@ -1946,20 +1923,14 @@
# XXX Is there a danger of too long command lines in the $(RM_F) commands,
# or is there an automatic xargs?
test-clean :
- $(RM_F) \
- "t/compilers/*/*.out" \
- "t/compilers/*/*.pasm" \
- "t/compilers/*/*.pbc" \
- "t/compilers/*/*_pbcexe*" \
- "t/compilers/*/*.pir" \
- "t/compilers/*/*.stabs.s"
- $(RM_F) \
- "t/compilers/*/*/*.out" \
- "t/compilers/*/*/*.pasm" \
- "t/compilers/*/*/*.pbc" \
- "t/compilers/*/*/*_pbcexe*" \
- "t/compilers/*/*/*.pir" \
- "t/compilers/*/*/*.stabs.s"
+ $(RM_F) t/compilers/data_json/*.pir
+ $(RM_F) t/compilers/imcc/imcpasm/*.pir
+ $(RM_F) t/compilers/imcc/syn/*.pir t/compilers/imcc/syn/*.pasm
+ $(RM_F) t/compilers/imcc/reg/*.pir t/compilers/imcc/reg/*.pasm
+ $(RM_F) t/compilers/pct/*.pir
+ $(RM_F) t/compilers/pge/perl6regex/*.pir
+ $(RM_F) t/compilers/pge/*.pir
+ $(RM_F) t/compilers/tge/*.pir
$(RM_F) \
"t/*/*$(O)" \
"t/*/*.out" \
@@ -2301,10 +2272,10 @@
build_dir=$$PWD; \
for dir in $(COVER_DIRS); \
do \
- cd $$dir; \
- gcov *.c; \
- cd $$build_dir; \
- gcov2perl $$dir/*.gcov; \
+ cd $$dir; \
+ gcov *.c; \
+ cd $$build_dir; \
+ gcov2perl $$dir/*.gcov; \
done
cover -ignore_re '^\/usr\/local\/bin'
@@ -2418,7 +2389,7 @@
$(PERL) -lane 'print"parrot-$(VERSION)/$$F[0]"unless!length||/#/' MANIFEST | \
tar -zcv -T - -f parrot-$(VERSION).tar.gz
$(PERL) -lane 'print"parrot-$(VERSION)/$$F[0]"unless!length||/#/' \
- MANIFEST | tar -jcv -T - -f parrot-$(VERSION).tar.bz2
+ MANIFEST | tar -jcv -T - -f parrot-$(VERSION).tar.bz2
mv MANIFEST.real MANIFEST
rm parrot-$(VERSION)
@@ -2452,10 +2423,10 @@
src/glut_nci_thunks.c: $(NCI_THUNK_GEN)
$(NCI_THUNK_GEN) \
- --loader-name=Parrot_glut_nci_loader \
- --loader-storage-class=PARROT_DYNEXT_EXPORT \
- --output=src/glut_nci_thunks.c \
- <src/glut_nci_thunks.nci
+ --loader-name=Parrot_glut_nci_loader \
+ --loader-storage-class=PARROT_DYNEXT_EXPORT \
+ --output=src/glut_nci_thunks.c \
+ <src/glut_nci_thunks.nci
src/glut_nci_thunks$(O) : $(PARROT_H_HEADERS) \
src/glut_nci_thunks.c \
@@ -2468,7 +2439,7 @@
src/extra_nci_thunks.c : src/nci/extra_thunks.nci $(NCI_THUNK_GEN)
$(NCI_THUNK_GEN) --dynext --no-warn-dups \
- --output=src/extra_nci_thunks.c <src/nci/extra_thunks.nci
+ --output=src/extra_nci_thunks.c <src/nci/extra_thunks.nci
## SUFFIX OVERRIDE
src/extra_nci_thunks$(O) : $(PARROT_H_HEADERS) src/extra_nci_thunks.c \
@@ -2486,17 +2457,17 @@
tags-emacs: tags.emacs.dummy
$(RM_F) TAGS
@ctags@ -e \
- --links=no --totals \
- -R --exclude=blib --exclude=.svn \
- --languages=c,perl --langmap=c:+.h,c:+.pmc,c:+.ops \
- -I NOTNULL,NULLOK,ARGIN,ARGMOD,ARGOUT,ARGINOUT,ARGIN_NULLOK,ARGOUT_NULLOK,ARGMOD_NULLOK,ARGFREE,ARGFREE_NOTNULL \
- .
+ --links=no --totals \
+ -R --exclude=blib --exclude=.svn \
+ --languages=c,perl --langmap=c:+.h,c:+.pmc,c:+.ops \
+ -I NOTNULL,NULLOK,ARGIN,ARGMOD,ARGOUT,ARGINOUT,ARGIN_NULLOK,ARGOUT_NULLOK,ARGMOD_NULLOK,ARGFREE,ARGFREE_NOTNULL \
+ .
# this works with an old etags (XEmacs 21.5*)
tags-xemacs: tags.emacs.dummy
$(RM_F) TAGS
find . \
- -name \*.c -o -name \*.h -o -name \*.pmc -o -name \*.ops | etags -l c - -o TAGS
+ -name \*.c -o -name \*.h -o -name \*.pmc -o -name \*.ops | etags -l c - -o TAGS
tags.emacs.dummy:
@@ -2556,6 +2527,7 @@
include compilers/pirc/Rules.mak
include compilers/pge/Rules.mak
include compilers/pct/Rules.mak
+include compilers/opsc/Rules.mak
include compilers/tge/Rules.mak
include compilers/data_json/Rules.mak
include ext/nqp-rx/Rules.mak
Modified: branches/ucs4_encoding/docs/pdds/draft/pdd31_hll.pod
==============================================================================
--- branches/ucs4_encoding/docs/pdds/draft/pdd31_hll.pod Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/docs/pdds/draft/pdd31_hll.pod Mon May 24 21:18:41 2010 (r46974)
@@ -77,11 +77,11 @@
=item C<eval>
- $P0 = compiler.'eval'(source [, options :named :slurpy])
+ $P0 = compiler.'eval'(source [, args :slurpy] [, options :named :slurpy])
Compile and evaluate (execute) the code given by C<source>
-according to C<options>. The available options are generally
-the same as for the C<compile> method above; in particular,
+with C<args> and according to C<options>. The available options
+are generally the same as for the C<compile> method above; in particular,
the C<outer_ctx> option can be used to specify the outer lexical
context for the evaluated source.
Modified: branches/ucs4_encoding/docs/pdds/pdd13_bytecode.pod
==============================================================================
--- branches/ucs4_encoding/docs/pdds/pdd13_bytecode.pod Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/docs/pdds/pdd13_bytecode.pod Mon May 24 21:18:41 2010 (r46974)
@@ -389,7 +389,9 @@
| 5 | n | String data with trailing zero padding as required. |
+--------+--------+--------------------------------------------------------+
-Note: The encoding field is not implemented yet and is set to 0.
+Note: The encoding and charset are currently packed together with the Flags,
+using an unique field of Length 1.
+
=item * PMC Constants
Modified: branches/ucs4_encoding/docs/tests.pod
==============================================================================
--- branches/ucs4_encoding/docs/tests.pod Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/docs/tests.pod Mon May 24 21:18:41 2010 (r46974)
@@ -190,10 +190,9 @@
The files in F<t/postconfigure> are tests for build system. The build tools
tests are intended to be run after someone has made changes in modules such as
-F<lib/Parrot/Pmc2cUtils/>, F<Ops2cUtils/> and F<Ops2pmutils/>. They're set up
-to be run after F<Configure.pl> has completed but before make has been invoked.
-(In fact, they will generate errors if make has completed.) You can run them
-with any of the following:
+F<lib/Parrot/Pmc2cUtils/>. They're set up to be run after F<Configure.pl> has
+completed but before make has been invoked. (In fact, they will generate
+errors if make has completed.) You can run them with any of the following:
perl Configure.pl --test
perl Configure.pl --test=build
Modified: branches/ucs4_encoding/editor/pir-mode.el
==============================================================================
--- branches/ucs4_encoding/editor/pir-mode.el Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/editor/pir-mode.el Mon May 24 21:18:41 2010 (r46974)
@@ -66,7 +66,7 @@
:type 'boolean
:group 'pir)
-(defcustom pir-basic-indent 8
+(defcustom pir-basic-indent 4
"*Extra indentation applied to statements in PIR block structures."
:type 'integer
:group 'pir)
Modified: branches/ucs4_encoding/examples/io/get.pir
==============================================================================
--- branches/ucs4_encoding/examples/io/get.pir Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/examples/io/get.pir Mon May 24 21:18:41 2010 (r46974)
@@ -21,12 +21,13 @@
.sub 'main' :main
.param pmc args
- load_bytecode 'LWP.pir'
+ load_bytecode 'LWP/UserAgent.pir'
$S0 = shift args
.local string url
url = shift args
.local pmc ua, response
ua = new ['LWP';'UserAgent']
+ ua.'env_proxy'()
ua.'show_progress'(1)
response = ua.'get'(url, 'close' :named('Connection'))
$S0 = response.'content'()
Modified: branches/ucs4_encoding/examples/io/post.pir
==============================================================================
--- branches/ucs4_encoding/examples/io/post.pir Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/examples/io/post.pir Mon May 24 21:18:41 2010 (r46974)
@@ -30,10 +30,11 @@
set $P0, 1
$P0[0] = 'parrot_test_run.tar.gz'
push contents, $P0
- load_bytecode 'LWP.pir'
+ load_bytecode 'LWP/UserAgent.pir'
.const string url = 'http://smolder.plusthree.com/app/projects/process_add_report/8'
.local pmc ua, response
ua = new ['LWP';'UserAgent']
+ ua.'env_proxy'()
ua.'show_progress'(1)
response = ua.'post'(url, contents :flat, 'form-data' :named('Content-Type'), 'close' :named('Connection'))
$I0 = response.'code'()
Modified: branches/ucs4_encoding/examples/languages/squaak/t/00-sanity.t
==============================================================================
--- branches/ucs4_encoding/examples/languages/squaak/t/00-sanity.t Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/examples/languages/squaak/t/00-sanity.t Mon May 24 21:18:41 2010 (r46974)
@@ -88,7 +88,6 @@
# for-statement
-var i = 1
for var i = 18, 20 do
print("ok ", i)
@@ -104,11 +103,11 @@
#end
-i = 0
-while i < 5 do
+var j = 0
+while j < 5 do
- print("ok ", i + g)
- i = i + 1
+ print("ok ", j + g)
+ j = j + 1
end
Modified: branches/ucs4_encoding/examples/tools/pbc_checker.cpp
==============================================================================
--- branches/ucs4_encoding/examples/tools/pbc_checker.cpp Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/examples/tools/pbc_checker.cpp Mon May 24 21:18:41 2010 (r46974)
@@ -728,10 +728,16 @@
{
opcode flags;
opcode charset;
+ const opcode encoding_none = 0xFFFF;
+ opcode encoding = encoding_none;
if (pbc_major > 5 && pbc_minor > 11) {
opcode flags_charset = read_opcode(pbcfile);
flags = flags_charset & 0xFF;
charset = flags_charset >> 8;
+ if (pbc_major > 6 || pbc_minor >= 17) {
+ encoding = charset >> 8;
+ charset &= 0xFF;
+ }
}
else {
flags = read_opcode(pbcfile);
@@ -740,6 +746,8 @@
cout << "Flags: 0x" << hex << setw(6) << flags << dec;
cout << " Charset: " << charset;
+ if (encoding != encoding_none)
+ cout << " Encoding: " << encoding;
// Encoding not saved, see TT #468
//opcode encoding = read_opcode(pbcfile);
Modified: branches/ucs4_encoding/ext/nqp-rx/src/stage0/HLL-s0.pir
==============================================================================
--- branches/ucs4_encoding/ext/nqp-rx/src/stage0/HLL-s0.pir Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/ext/nqp-rx/src/stage0/HLL-s0.pir Mon May 24 21:18:41 2010 (r46974)
@@ -854,7 +854,7 @@
### .include 'gen/hllgrammar-grammar.pir'
.namespace []
-.sub "_block11" :anon :subid("10_1274022878.64768")
+.sub "_block11" :anon :subid("10_1274564773.54721")
.annotate 'line', 0
get_hll_global $P14, ["HLL";"Grammar"], "_block13"
capture_lex $P14
@@ -864,15 +864,15 @@
$P343 = $P14()
.annotate 'line', 1
.return ($P343)
- .const 'Sub' $P345 = "104_1274022878.64768"
+ .const 'Sub' $P345 = "104_1274564773.54721"
.return ($P345)
.end
.namespace []
-.sub "" :load :init :subid("post105") :outer("10_1274022878.64768")
+.sub "" :load :init :subid("post105") :outer("10_1274564773.54721")
.annotate 'line', 0
- .const 'Sub' $P12 = "10_1274022878.64768"
+ .const 'Sub' $P12 = "10_1274564773.54721"
.local pmc block
set block, $P12
$P348 = get_root_global ["parrot"], "P6metaclass"
@@ -881,94 +881,94 @@
.namespace ["HLL";"Grammar"]
-.sub "_block13" :subid("11_1274022878.64768") :outer("10_1274022878.64768")
+.sub "_block13" :subid("11_1274564773.54721") :outer("10_1274564773.54721")
.annotate 'line', 5
- .const 'Sub' $P329 = "101_1274022878.64768"
+ .const 'Sub' $P329 = "101_1274564773.54721"
capture_lex $P329
- .const 'Sub' $P322 = "99_1274022878.64768"
+ .const 'Sub' $P322 = "99_1274564773.54721"
capture_lex $P322
- .const 'Sub' $P309 = "96_1274022878.64768"
+ .const 'Sub' $P309 = "96_1274564773.54721"
capture_lex $P309
- .const 'Sub' $P277 = "91_1274022878.64768"
+ .const 'Sub' $P277 = "91_1274564773.54721"
capture_lex $P277
- .const 'Sub' $P271 = "89_1274022878.64768"
+ .const 'Sub' $P271 = "89_1274564773.54721"
capture_lex $P271
- .const 'Sub' $P266 = "87_1274022878.64768"
+ .const 'Sub' $P266 = "87_1274564773.54721"
capture_lex $P266
- .const 'Sub' $P260 = "85_1274022878.64768"
+ .const 'Sub' $P260 = "85_1274564773.54721"
capture_lex $P260
- .const 'Sub' $P254 = "83_1274022878.64768"
+ .const 'Sub' $P254 = "83_1274564773.54721"
capture_lex $P254
- .const 'Sub' $P249 = "81_1274022878.64768"
+ .const 'Sub' $P249 = "81_1274564773.54721"
capture_lex $P249
- .const 'Sub' $P244 = "79_1274022878.64768"
+ .const 'Sub' $P244 = "79_1274564773.54721"
capture_lex $P244
- .const 'Sub' $P239 = "77_1274022878.64768"
+ .const 'Sub' $P239 = "77_1274564773.54721"
capture_lex $P239
- .const 'Sub' $P234 = "75_1274022878.64768"
+ .const 'Sub' $P234 = "75_1274564773.54721"
capture_lex $P234
- .const 'Sub' $P229 = "73_1274022878.64768"
+ .const 'Sub' $P229 = "73_1274564773.54721"
capture_lex $P229
- .const 'Sub' $P224 = "71_1274022878.64768"
+ .const 'Sub' $P224 = "71_1274564773.54721"
capture_lex $P224
- .const 'Sub' $P219 = "69_1274022878.64768"
+ .const 'Sub' $P219 = "69_1274564773.54721"
capture_lex $P219
- .const 'Sub' $P208 = "65_1274022878.64768"
+ .const 'Sub' $P208 = "65_1274564773.54721"
capture_lex $P208
- .const 'Sub' $P195 = "63_1274022878.64768"
+ .const 'Sub' $P195 = "63_1274564773.54721"
capture_lex $P195
- .const 'Sub' $P183 = "61_1274022878.64768"
+ .const 'Sub' $P183 = "61_1274564773.54721"
capture_lex $P183
- .const 'Sub' $P176 = "59_1274022878.64768"
+ .const 'Sub' $P176 = "59_1274564773.54721"
capture_lex $P176
- .const 'Sub' $P167 = "57_1274022878.64768"
+ .const 'Sub' $P167 = "57_1274564773.54721"
capture_lex $P167
- .const 'Sub' $P160 = "55_1274022878.64768"
+ .const 'Sub' $P160 = "55_1274564773.54721"
capture_lex $P160
- .const 'Sub' $P151 = "53_1274022878.64768"
+ .const 'Sub' $P151 = "53_1274564773.54721"
capture_lex $P151
- .const 'Sub' $P144 = "51_1274022878.64768"
+ .const 'Sub' $P144 = "51_1274564773.54721"
capture_lex $P144
- .const 'Sub' $P135 = "49_1274022878.64768"
+ .const 'Sub' $P135 = "49_1274564773.54721"
capture_lex $P135
- .const 'Sub' $P128 = "47_1274022878.64768"
+ .const 'Sub' $P128 = "47_1274564773.54721"
capture_lex $P128
- .const 'Sub' $P121 = "45_1274022878.64768"
+ .const 'Sub' $P121 = "45_1274564773.54721"
capture_lex $P121
- .const 'Sub' $P111 = "43_1274022878.64768"
+ .const 'Sub' $P111 = "43_1274564773.54721"
capture_lex $P111
- .const 'Sub' $P103 = "41_1274022878.64768"
+ .const 'Sub' $P103 = "41_1274564773.54721"
capture_lex $P103
- .const 'Sub' $P93 = "40_1274022878.64768"
+ .const 'Sub' $P93 = "40_1274564773.54721"
capture_lex $P93
- .const 'Sub' $P87 = "38_1274022878.64768"
+ .const 'Sub' $P87 = "38_1274564773.54721"
capture_lex $P87
- .const 'Sub' $P82 = "36_1274022878.64768"
+ .const 'Sub' $P82 = "36_1274564773.54721"
capture_lex $P82
- .const 'Sub' $P74 = "34_1274022878.64768"
+ .const 'Sub' $P74 = "34_1274564773.54721"
capture_lex $P74
- .const 'Sub' $P68 = "32_1274022878.64768"
+ .const 'Sub' $P68 = "32_1274564773.54721"
capture_lex $P68
- .const 'Sub' $P62 = "30_1274022878.64768"
+ .const 'Sub' $P62 = "30_1274564773.54721"
capture_lex $P62
- .const 'Sub' $P56 = "28_1274022878.64768"
+ .const 'Sub' $P56 = "28_1274564773.54721"
capture_lex $P56
- .const 'Sub' $P23 = "14_1274022878.64768"
+ .const 'Sub' $P23 = "14_1274564773.54721"
capture_lex $P23
- .const 'Sub' $P15 = "12_1274022878.64768"
+ .const 'Sub' $P15 = "12_1274564773.54721"
capture_lex $P15
.annotate 'line', 33
- .const 'Sub' $P329 = "101_1274022878.64768"
+ .const 'Sub' $P329 = "101_1274564773.54721"
capture_lex $P329
.annotate 'line', 5
.return ($P329)
- .const 'Sub' $P340 = "103_1274022878.64768"
+ .const 'Sub' $P340 = "103_1274564773.54721"
.return ($P340)
.end
.namespace ["HLL";"Grammar"]
-.sub "ws" :subid("12_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "ws" :subid("12_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 5
.local string rx16_tgt
.local int rx16_pos
@@ -1052,7 +1052,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__ws" :subid("13_1274022878.64768") :method
+.sub "!PREFIX__ws" :subid("13_1274564773.54721") :method
.annotate 'line', 5
new $P18, "ResizablePMCArray"
push $P18, ""
@@ -1061,7 +1061,7 @@
.namespace ["HLL";"Grammar"]
-.sub "termish" :subid("14_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "termish" :subid("14_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 5
.local string rx24_tgt
.local int rx24_pos
@@ -1153,7 +1153,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__termish" :subid("15_1274022878.64768") :method
+.sub "!PREFIX__termish" :subid("15_1274564773.54721") :method
.annotate 'line', 5
new $P26, "ResizablePMCArray"
push $P26, ""
@@ -1162,7 +1162,7 @@
.namespace ["HLL";"Grammar"]
-.sub "term" :subid("16_1274022878.64768") :method
+.sub "term" :subid("16_1274564773.54721") :method
.annotate 'line', 13
$P33 = self."!protoregex"("term")
.return ($P33)
@@ -1170,7 +1170,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__term" :subid("17_1274022878.64768") :method
+.sub "!PREFIX__term" :subid("17_1274564773.54721") :method
.annotate 'line', 13
$P35 = self."!PREFIX__!protoregex"("term")
.return ($P35)
@@ -1178,7 +1178,7 @@
.namespace ["HLL";"Grammar"]
-.sub "infix" :subid("18_1274022878.64768") :method
+.sub "infix" :subid("18_1274564773.54721") :method
.annotate 'line', 14
$P37 = self."!protoregex"("infix")
.return ($P37)
@@ -1186,7 +1186,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__infix" :subid("19_1274022878.64768") :method
+.sub "!PREFIX__infix" :subid("19_1274564773.54721") :method
.annotate 'line', 14
$P39 = self."!PREFIX__!protoregex"("infix")
.return ($P39)
@@ -1194,7 +1194,7 @@
.namespace ["HLL";"Grammar"]
-.sub "prefix" :subid("20_1274022878.64768") :method
+.sub "prefix" :subid("20_1274564773.54721") :method
.annotate 'line', 15
$P41 = self."!protoregex"("prefix")
.return ($P41)
@@ -1202,7 +1202,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__prefix" :subid("21_1274022878.64768") :method
+.sub "!PREFIX__prefix" :subid("21_1274564773.54721") :method
.annotate 'line', 15
$P43 = self."!PREFIX__!protoregex"("prefix")
.return ($P43)
@@ -1210,7 +1210,7 @@
.namespace ["HLL";"Grammar"]
-.sub "postfix" :subid("22_1274022878.64768") :method
+.sub "postfix" :subid("22_1274564773.54721") :method
.annotate 'line', 16
$P45 = self."!protoregex"("postfix")
.return ($P45)
@@ -1218,7 +1218,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postfix" :subid("23_1274022878.64768") :method
+.sub "!PREFIX__postfix" :subid("23_1274564773.54721") :method
.annotate 'line', 16
$P47 = self."!PREFIX__!protoregex"("postfix")
.return ($P47)
@@ -1226,7 +1226,7 @@
.namespace ["HLL";"Grammar"]
-.sub "circumfix" :subid("24_1274022878.64768") :method
+.sub "circumfix" :subid("24_1274564773.54721") :method
.annotate 'line', 17
$P49 = self."!protoregex"("circumfix")
.return ($P49)
@@ -1234,7 +1234,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__circumfix" :subid("25_1274022878.64768") :method
+.sub "!PREFIX__circumfix" :subid("25_1274564773.54721") :method
.annotate 'line', 17
$P51 = self."!PREFIX__!protoregex"("circumfix")
.return ($P51)
@@ -1242,7 +1242,7 @@
.namespace ["HLL";"Grammar"]
-.sub "postcircumfix" :subid("26_1274022878.64768") :method
+.sub "postcircumfix" :subid("26_1274564773.54721") :method
.annotate 'line', 18
$P53 = self."!protoregex"("postcircumfix")
.return ($P53)
@@ -1250,7 +1250,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postcircumfix" :subid("27_1274022878.64768") :method
+.sub "!PREFIX__postcircumfix" :subid("27_1274564773.54721") :method
.annotate 'line', 18
$P55 = self."!PREFIX__!protoregex"("postcircumfix")
.return ($P55)
@@ -1258,7 +1258,7 @@
.namespace ["HLL";"Grammar"]
-.sub "term:sym<circumfix>" :subid("28_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "term:sym<circumfix>" :subid("28_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 5
.local string rx57_tgt
.local int rx57_pos
@@ -1316,7 +1316,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__term:sym<circumfix>" :subid("29_1274022878.64768") :method
+.sub "!PREFIX__term:sym<circumfix>" :subid("29_1274564773.54721") :method
.annotate 'line', 5
$P59 = self."!PREFIX__!subrule"("circumfix", "")
new $P60, "ResizablePMCArray"
@@ -1326,7 +1326,7 @@
.namespace ["HLL";"Grammar"]
-.sub "infixish" :subid("30_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "infixish" :subid("30_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 5
.local string rx63_tgt
.local int rx63_pos
@@ -1384,7 +1384,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__infixish" :subid("31_1274022878.64768") :method
+.sub "!PREFIX__infixish" :subid("31_1274564773.54721") :method
.annotate 'line', 5
$P65 = self."!PREFIX__!subrule"("OPER=infix", "")
new $P66, "ResizablePMCArray"
@@ -1394,7 +1394,7 @@
.namespace ["HLL";"Grammar"]
-.sub "prefixish" :subid("32_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "prefixish" :subid("32_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 5
.local string rx69_tgt
.local int rx69_pos
@@ -1457,7 +1457,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__prefixish" :subid("33_1274022878.64768") :method
+.sub "!PREFIX__prefixish" :subid("33_1274564773.54721") :method
.annotate 'line', 5
$P71 = self."!PREFIX__!subrule"("OPER=prefix", "")
new $P72, "ResizablePMCArray"
@@ -1467,7 +1467,7 @@
.namespace ["HLL";"Grammar"]
-.sub "postfixish" :subid("34_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "postfixish" :subid("34_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 5
.local string rx75_tgt
.local int rx75_pos
@@ -1541,7 +1541,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postfixish" :subid("35_1274022878.64768") :method
+.sub "!PREFIX__postfixish" :subid("35_1274564773.54721") :method
.annotate 'line', 5
$P77 = self."!PREFIX__!subrule"("OPER=postcircumfix", "")
$P78 = self."!PREFIX__!subrule"("OPER=postfix", "")
@@ -1553,7 +1553,7 @@
.namespace ["HLL";"Grammar"]
-.sub "nullterm" :subid("36_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "nullterm" :subid("36_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 5
.local string rx83_tgt
.local int rx83_pos
@@ -1604,7 +1604,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__nullterm" :subid("37_1274022878.64768") :method
+.sub "!PREFIX__nullterm" :subid("37_1274564773.54721") :method
.annotate 'line', 5
new $P85, "ResizablePMCArray"
push $P85, ""
@@ -1613,7 +1613,7 @@
.namespace ["HLL";"Grammar"]
-.sub "nullterm_alt" :subid("38_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "nullterm_alt" :subid("38_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 5
.local string rx88_tgt
.local int rx88_pos
@@ -1671,7 +1671,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__nullterm_alt" :subid("39_1274022878.64768") :method
+.sub "!PREFIX__nullterm_alt" :subid("39_1274564773.54721") :method
.annotate 'line', 5
$P90 = self."!PREFIX__!subrule"("term", "")
new $P91, "ResizablePMCArray"
@@ -1681,7 +1681,7 @@
.namespace ["HLL";"Grammar"]
-.sub "nulltermish" :subid("40_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "nulltermish" :subid("40_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 33
new $P95, 'ExceptionHandler'
set_addr $P95, control_94
@@ -1708,7 +1708,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_delimited" :subid("41_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "quote_delimited" :subid("41_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 33
.local string rx104_tgt
.local int rx104_pos
@@ -1790,7 +1790,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_delimited" :subid("42_1274022878.64768") :method
+.sub "!PREFIX__quote_delimited" :subid("42_1274564773.54721") :method
.annotate 'line', 33
$P106 = self."!PREFIX__!subrule"("starter", "")
new $P107, "ResizablePMCArray"
@@ -1800,7 +1800,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_atom" :subid("43_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "quote_atom" :subid("43_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 33
.local string rx112_tgt
.local int rx112_pos
@@ -1891,7 +1891,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_atom" :subid("44_1274022878.64768") :method
+.sub "!PREFIX__quote_atom" :subid("44_1274564773.54721") :method
.annotate 'line', 33
new $P114, "ResizablePMCArray"
push $P114, ""
@@ -1900,7 +1900,7 @@
.namespace ["HLL";"Grammar"]
-.sub "decint" :subid("45_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "decint" :subid("45_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 33
.local string rx122_tgt
.local int rx122_pos
@@ -1972,7 +1972,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__decint" :subid("46_1274022878.64768") :method
+.sub "!PREFIX__decint" :subid("46_1274564773.54721") :method
.annotate 'line', 33
new $P124, "ResizablePMCArray"
push $P124, ""
@@ -1981,7 +1981,7 @@
.namespace ["HLL";"Grammar"]
-.sub "decints" :subid("47_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "decints" :subid("47_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 33
.local string rx129_tgt
.local int rx129_pos
@@ -2065,7 +2065,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__decints" :subid("48_1274022878.64768") :method
+.sub "!PREFIX__decints" :subid("48_1274564773.54721") :method
.annotate 'line', 33
new $P131, "ResizablePMCArray"
push $P131, ""
@@ -2074,7 +2074,7 @@
.namespace ["HLL";"Grammar"]
-.sub "hexint" :subid("49_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "hexint" :subid("49_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 33
.local string rx136_tgt
.local int rx136_pos
@@ -2155,7 +2155,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__hexint" :subid("50_1274022878.64768") :method
+.sub "!PREFIX__hexint" :subid("50_1274564773.54721") :method
.annotate 'line', 33
new $P138, "ResizablePMCArray"
push $P138, ""
@@ -2164,7 +2164,7 @@
.namespace ["HLL";"Grammar"]
-.sub "hexints" :subid("51_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "hexints" :subid("51_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 33
.local string rx145_tgt
.local int rx145_pos
@@ -2248,7 +2248,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__hexints" :subid("52_1274022878.64768") :method
+.sub "!PREFIX__hexints" :subid("52_1274564773.54721") :method
.annotate 'line', 33
new $P147, "ResizablePMCArray"
push $P147, ""
@@ -2257,7 +2257,7 @@
.namespace ["HLL";"Grammar"]
-.sub "octint" :subid("53_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "octint" :subid("53_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 33
.local string rx152_tgt
.local int rx152_pos
@@ -2338,7 +2338,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__octint" :subid("54_1274022878.64768") :method
+.sub "!PREFIX__octint" :subid("54_1274564773.54721") :method
.annotate 'line', 33
new $P154, "ResizablePMCArray"
push $P154, ""
@@ -2347,7 +2347,7 @@
.namespace ["HLL";"Grammar"]
-.sub "octints" :subid("55_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "octints" :subid("55_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 33
.local string rx161_tgt
.local int rx161_pos
@@ -2431,7 +2431,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__octints" :subid("56_1274022878.64768") :method
+.sub "!PREFIX__octints" :subid("56_1274564773.54721") :method
.annotate 'line', 33
new $P163, "ResizablePMCArray"
push $P163, ""
@@ -2440,7 +2440,7 @@
.namespace ["HLL";"Grammar"]
-.sub "binint" :subid("57_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "binint" :subid("57_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 33
.local string rx168_tgt
.local int rx168_pos
@@ -2521,7 +2521,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__binint" :subid("58_1274022878.64768") :method
+.sub "!PREFIX__binint" :subid("58_1274564773.54721") :method
.annotate 'line', 33
new $P170, "ResizablePMCArray"
push $P170, ""
@@ -2530,7 +2530,7 @@
.namespace ["HLL";"Grammar"]
-.sub "binints" :subid("59_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "binints" :subid("59_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 33
.local string rx177_tgt
.local int rx177_pos
@@ -2614,7 +2614,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__binints" :subid("60_1274022878.64768") :method
+.sub "!PREFIX__binints" :subid("60_1274564773.54721") :method
.annotate 'line', 33
new $P179, "ResizablePMCArray"
push $P179, ""
@@ -2623,7 +2623,7 @@
.namespace ["HLL";"Grammar"]
-.sub "integer" :subid("61_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "integer" :subid("61_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 33
.local string rx184_tgt
.local int rx184_pos
@@ -2771,7 +2771,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__integer" :subid("62_1274022878.64768") :method
+.sub "!PREFIX__integer" :subid("62_1274564773.54721") :method
.annotate 'line', 33
$P186 = self."!PREFIX__!subrule"("VALUE=decint", "")
$P187 = self."!PREFIX__!subrule"("VALUE=decint", "0d")
@@ -2789,7 +2789,7 @@
.namespace ["HLL";"Grammar"]
-.sub "dec_number" :subid("63_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "dec_number" :subid("63_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 33
.local string rx196_tgt
.local int rx196_pos
@@ -2968,7 +2968,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__dec_number" :subid("64_1274022878.64768") :method
+.sub "!PREFIX__dec_number" :subid("64_1274564773.54721") :method
.annotate 'line', 33
new $P198, "ResizablePMCArray"
push $P198, ""
@@ -2979,7 +2979,7 @@
.namespace ["HLL";"Grammar"]
-.sub "escale" :subid("65_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "escale" :subid("65_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 33
.local string rx209_tgt
.local int rx209_pos
@@ -3056,7 +3056,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__escale" :subid("66_1274022878.64768") :method
+.sub "!PREFIX__escale" :subid("66_1274564773.54721") :method
.annotate 'line', 33
new $P211, "ResizablePMCArray"
push $P211, "e"
@@ -3066,7 +3066,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape" :subid("67_1274022878.64768") :method
+.sub "quote_escape" :subid("67_1274564773.54721") :method
.annotate 'line', 79
$P216 = self."!protoregex"("quote_escape")
.return ($P216)
@@ -3074,7 +3074,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape" :subid("68_1274022878.64768") :method
+.sub "!PREFIX__quote_escape" :subid("68_1274564773.54721") :method
.annotate 'line', 79
$P218 = self."!PREFIX__!protoregex"("quote_escape")
.return ($P218)
@@ -3082,7 +3082,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<backslash>" :subid("69_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "quote_escape:sym<backslash>" :subid("69_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 33
.local string rx220_tgt
.local int rx220_pos
@@ -3144,7 +3144,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<backslash>" :subid("70_1274022878.64768") :method
+.sub "!PREFIX__quote_escape:sym<backslash>" :subid("70_1274564773.54721") :method
.annotate 'line', 33
new $P222, "ResizablePMCArray"
push $P222, "\\\\"
@@ -3153,7 +3153,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<stopper>" :subid("71_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "quote_escape:sym<stopper>" :subid("71_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 33
.local string rx225_tgt
.local int rx225_pos
@@ -3222,7 +3222,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<stopper>" :subid("72_1274022878.64768") :method
+.sub "!PREFIX__quote_escape:sym<stopper>" :subid("72_1274564773.54721") :method
.annotate 'line', 33
new $P227, "ResizablePMCArray"
push $P227, "\\"
@@ -3231,7 +3231,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<bs>" :subid("73_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "quote_escape:sym<bs>" :subid("73_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 33
.local string rx230_tgt
.local int rx230_pos
@@ -3293,7 +3293,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<bs>" :subid("74_1274022878.64768") :method
+.sub "!PREFIX__quote_escape:sym<bs>" :subid("74_1274564773.54721") :method
.annotate 'line', 33
new $P232, "ResizablePMCArray"
push $P232, "\\b"
@@ -3302,7 +3302,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<nl>" :subid("75_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "quote_escape:sym<nl>" :subid("75_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 33
.local string rx235_tgt
.local int rx235_pos
@@ -3364,7 +3364,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<nl>" :subid("76_1274022878.64768") :method
+.sub "!PREFIX__quote_escape:sym<nl>" :subid("76_1274564773.54721") :method
.annotate 'line', 33
new $P237, "ResizablePMCArray"
push $P237, "\\n"
@@ -3373,7 +3373,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<cr>" :subid("77_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "quote_escape:sym<cr>" :subid("77_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 33
.local string rx240_tgt
.local int rx240_pos
@@ -3435,7 +3435,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<cr>" :subid("78_1274022878.64768") :method
+.sub "!PREFIX__quote_escape:sym<cr>" :subid("78_1274564773.54721") :method
.annotate 'line', 33
new $P242, "ResizablePMCArray"
push $P242, "\\r"
@@ -3444,7 +3444,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<tab>" :subid("79_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "quote_escape:sym<tab>" :subid("79_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 33
.local string rx245_tgt
.local int rx245_pos
@@ -3506,7 +3506,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<tab>" :subid("80_1274022878.64768") :method
+.sub "!PREFIX__quote_escape:sym<tab>" :subid("80_1274564773.54721") :method
.annotate 'line', 33
new $P247, "ResizablePMCArray"
push $P247, "\\t"
@@ -3515,7 +3515,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<ff>" :subid("81_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "quote_escape:sym<ff>" :subid("81_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 33
.local string rx250_tgt
.local int rx250_pos
@@ -3577,7 +3577,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<ff>" :subid("82_1274022878.64768") :method
+.sub "!PREFIX__quote_escape:sym<ff>" :subid("82_1274564773.54721") :method
.annotate 'line', 33
new $P252, "ResizablePMCArray"
push $P252, "\\f"
@@ -3586,7 +3586,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<hex>" :subid("83_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "quote_escape:sym<hex>" :subid("83_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 33
.local string rx255_tgt
.local int rx255_pos
@@ -3684,7 +3684,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<hex>" :subid("84_1274022878.64768") :method
+.sub "!PREFIX__quote_escape:sym<hex>" :subid("84_1274564773.54721") :method
.annotate 'line', 33
new $P257, "ResizablePMCArray"
push $P257, unicode:"\\x"
@@ -3693,7 +3693,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<oct>" :subid("85_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "quote_escape:sym<oct>" :subid("85_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 33
.local string rx261_tgt
.local int rx261_pos
@@ -3791,7 +3791,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<oct>" :subid("86_1274022878.64768") :method
+.sub "!PREFIX__quote_escape:sym<oct>" :subid("86_1274564773.54721") :method
.annotate 'line', 33
new $P263, "ResizablePMCArray"
push $P263, "\\o"
@@ -3800,7 +3800,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<chr>" :subid("87_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "quote_escape:sym<chr>" :subid("87_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 33
.local string rx267_tgt
.local int rx267_pos
@@ -3869,7 +3869,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<chr>" :subid("88_1274022878.64768") :method
+.sub "!PREFIX__quote_escape:sym<chr>" :subid("88_1274564773.54721") :method
.annotate 'line', 33
new $P269, "ResizablePMCArray"
push $P269, "\\c"
@@ -3878,7 +3878,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<0>" :subid("89_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "quote_escape:sym<0>" :subid("89_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 33
.local string rx272_tgt
.local int rx272_pos
@@ -3961,7 +3961,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<0>" :subid("90_1274022878.64768") :method
+.sub "!PREFIX__quote_escape:sym<0>" :subid("90_1274564773.54721") :method
.annotate 'line', 33
new $P274, "ResizablePMCArray"
push $P274, "\\0"
@@ -3970,13 +3970,13 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<misc>" :subid("91_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "quote_escape:sym<misc>" :subid("91_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 33
- .const 'Sub' $P297 = "95_1274022878.64768"
+ .const 'Sub' $P297 = "95_1274564773.54721"
capture_lex $P297
- .const 'Sub' $P290 = "94_1274022878.64768"
+ .const 'Sub' $P290 = "94_1274564773.54721"
capture_lex $P290
- .const 'Sub' $P285 = "93_1274022878.64768"
+ .const 'Sub' $P285 = "93_1274564773.54721"
capture_lex $P285
.local string rx278_tgt
.local int rx278_pos
@@ -4007,13 +4007,13 @@
set_addr $I10, rxscan281_loop
rx278_cur."!mark_push"(0, rx278_pos, $I10)
rxscan281_done:
-.annotate 'line', 98
+.annotate 'line', 99
+ # rx pastnode subtype= negate=
rx278_cur."!cursor_pos"(rx278_pos)
find_lex $P282, unicode:"$\x{a2}"
$P283 = $P282."MATCH"()
store_lex "$/", $P283
-.annotate 'line', 99
- .const 'Sub' $P285 = "93_1274022878.64768"
+ .const 'Sub' $P285 = "93_1274564773.54721"
capture_lex $P285
$P286 = $P285()
# rx literal "\\"
@@ -4039,7 +4039,7 @@
.annotate 'line', 103
# rx subrule $P290 subtype=capture negate=
rx278_cur."!cursor_pos"(rx278_pos)
- .const 'Sub' $P290 = "94_1274022878.64768"
+ .const 'Sub' $P290 = "94_1274564773.54721"
capture_lex $P290
$P10 = rx278_cur.$P290()
unless $P10, rx278_fail
@@ -4069,11 +4069,12 @@
rxcap_293_fail:
goto rx278_fail
rxcap_293_done:
+ # rx pastnode subtype= negate=
rx278_cur."!cursor_pos"(rx278_pos)
find_lex $P294, unicode:"$\x{a2}"
$P295 = $P294."MATCH"()
store_lex "$/", $P295
- .const 'Sub' $P297 = "95_1274022878.64768"
+ .const 'Sub' $P297 = "95_1274564773.54721"
capture_lex $P297
$P307 = $P297()
alt288_end:
@@ -4119,7 +4120,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<misc>" :subid("92_1274022878.64768") :method
+.sub "!PREFIX__quote_escape:sym<misc>" :subid("92_1274564773.54721") :method
.annotate 'line', 33
new $P280, "ResizablePMCArray"
push $P280, ""
@@ -4128,14 +4129,14 @@
.namespace ["HLL";"Grammar"]
-.sub "_block284" :anon :subid("93_1274022878.64768") :outer("91_1274022878.64768")
+.sub "_block284" :anon :subid("93_1274564773.54721") :outer("91_1274564773.54721")
.annotate 'line', 99
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "_block289" :anon :subid("94_1274022878.64768") :method :outer("91_1274022878.64768")
+.sub "_block289" :anon :subid("94_1274564773.54721") :method :outer("91_1274564773.54721")
.annotate 'line', 103
.local string rx291_tgt
.local int rx291_pos
@@ -4190,7 +4191,7 @@
.namespace ["HLL";"Grammar"]
-.sub "_block296" :anon :subid("95_1274022878.64768") :outer("91_1274022878.64768")
+.sub "_block296" :anon :subid("95_1274564773.54721") :outer("91_1274564773.54721")
.annotate 'line', 104
find_lex $P298, "$/"
$P299 = $P298."CURSOR"()
@@ -4213,9 +4214,9 @@
.namespace ["HLL";"Grammar"]
-.sub "charname" :subid("96_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "charname" :subid("96_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 33
- .const 'Sub' $P319 = "98_1274022878.64768"
+ .const 'Sub' $P319 = "98_1274564773.54721"
capture_lex $P319
.local string rx310_tgt
.local int rx310_pos
@@ -4293,7 +4294,7 @@
.annotate 'line', 113
# rx subrule "before" subtype=zerowidth negate=
rx310_cur."!cursor_pos"(rx310_pos)
- .const 'Sub' $P319 = "98_1274022878.64768"
+ .const 'Sub' $P319 = "98_1274564773.54721"
capture_lex $P319
$P10 = rx310_cur."before"($P319)
unless $P10, rx310_fail
@@ -4318,7 +4319,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charname" :subid("97_1274022878.64768") :method
+.sub "!PREFIX__charname" :subid("97_1274564773.54721") :method
.annotate 'line', 33
$P312 = self."!PREFIX__!subrule"("integer", "")
new $P313, "ResizablePMCArray"
@@ -4380,7 +4381,7 @@
.namespace ["HLL";"Grammar"]
-.sub "_block318" :anon :subid("98_1274022878.64768") :method :outer("96_1274022878.64768")
+.sub "_block318" :anon :subid("98_1274564773.54721") :method :outer("96_1274564773.54721")
.annotate 'line', 113
.local string rx320_tgt
.local int rx320_pos
@@ -4440,7 +4441,7 @@
.namespace ["HLL";"Grammar"]
-.sub "charnames" :subid("99_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "charnames" :subid("99_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 33
.local string rx323_tgt
.local int rx323_pos
@@ -4524,7 +4525,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charnames" :subid("100_1274022878.64768") :method
+.sub "!PREFIX__charnames" :subid("100_1274564773.54721") :method
.annotate 'line', 33
new $P325, "ResizablePMCArray"
push $P325, ""
@@ -4533,7 +4534,7 @@
.namespace ["HLL";"Grammar"]
-.sub "charspec" :subid("101_1274022878.64768") :method :outer("11_1274022878.64768")
+.sub "charspec" :subid("101_1274564773.54721") :method :outer("11_1274564773.54721")
.annotate 'line', 33
.local string rx330_tgt
.local int rx330_pos
@@ -4663,7 +4664,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charspec" :subid("102_1274022878.64768") :method
+.sub "!PREFIX__charspec" :subid("102_1274564773.54721") :method
.annotate 'line', 33
$P332 = self."!PREFIX__!subrule"("", "")
$P333 = self."!PREFIX__!subrule"("charnames", "[")
@@ -4704,18 +4705,18 @@
.namespace ["HLL";"Grammar"]
-.sub "_block339" :load :anon :subid("103_1274022878.64768")
+.sub "_block339" :load :anon :subid("103_1274564773.54721")
.annotate 'line', 5
- .const 'Sub' $P341 = "11_1274022878.64768"
+ .const 'Sub' $P341 = "11_1274564773.54721"
$P342 = $P341()
.return ($P342)
.end
.namespace []
-.sub "_block344" :load :anon :subid("104_1274022878.64768")
+.sub "_block344" :load :anon :subid("104_1274564773.54721")
.annotate 'line', 1
- .const 'Sub' $P346 = "10_1274022878.64768"
+ .const 'Sub' $P346 = "10_1274564773.54721"
$P347 = $P346()
.return ($P347)
.end
@@ -4723,7 +4724,7 @@
### .include 'gen/hllgrammar-actions.pir'
.namespace []
-.sub "_block11" :anon :subid("10_1274022880.65586")
+.sub "_block11" :anon :subid("10_1274564775.02458")
.annotate 'line', 0
get_hll_global $P14, ["HLL";"Actions"], "_block13"
capture_lex $P14
@@ -4733,15 +4734,15 @@
$P575 = $P14()
.annotate 'line', 1
.return ($P575)
- .const 'Sub' $P577 = "50_1274022880.65586"
+ .const 'Sub' $P577 = "50_1274564775.02458"
.return ($P577)
.end
.namespace []
-.sub "" :load :init :subid("post51") :outer("10_1274022880.65586")
+.sub "" :load :init :subid("post51") :outer("10_1274564775.02458")
.annotate 'line', 0
- .const 'Sub' $P12 = "10_1274022880.65586"
+ .const 'Sub' $P12 = "10_1274564775.02458"
.local pmc block
set block, $P12
$P580 = get_root_global ["parrot"], "P6metaclass"
@@ -4750,82 +4751,82 @@
.namespace ["HLL";"Actions"]
-.sub "_block13" :subid("11_1274022880.65586") :outer("10_1274022880.65586")
+.sub "_block13" :subid("11_1274564775.02458") :outer("10_1274564775.02458")
.annotate 'line', 3
- .const 'Sub' $P553 = "48_1274022880.65586"
+ .const 'Sub' $P553 = "48_1274564775.02458"
capture_lex $P553
- .const 'Sub' $P528 = "46_1274022880.65586"
+ .const 'Sub' $P528 = "46_1274564775.02458"
capture_lex $P528
- .const 'Sub' $P498 = "45_1274022880.65586"
+ .const 'Sub' $P498 = "45_1274564775.02458"
capture_lex $P498
- .const 'Sub' $P479 = "44_1274022880.65586"
+ .const 'Sub' $P479 = "44_1274564775.02458"
capture_lex $P479
- .const 'Sub' $P472 = "43_1274022880.65586"
+ .const 'Sub' $P472 = "43_1274564775.02458"
capture_lex $P472
- .const 'Sub' $P462 = "42_1274022880.65586"
+ .const 'Sub' $P462 = "42_1274564775.02458"
capture_lex $P462
- .const 'Sub' $P445 = "41_1274022880.65586"
+ .const 'Sub' $P445 = "41_1274564775.02458"
capture_lex $P445
- .const 'Sub' $P428 = "40_1274022880.65586"
+ .const 'Sub' $P428 = "40_1274564775.02458"
capture_lex $P428
- .const 'Sub' $P421 = "39_1274022880.65586"
+ .const 'Sub' $P421 = "39_1274564775.02458"
capture_lex $P421
- .const 'Sub' $P414 = "38_1274022880.65586"
+ .const 'Sub' $P414 = "38_1274564775.02458"
capture_lex $P414
- .const 'Sub' $P407 = "37_1274022880.65586"
+ .const 'Sub' $P407 = "37_1274564775.02458"
capture_lex $P407
- .const 'Sub' $P400 = "36_1274022880.65586"
+ .const 'Sub' $P400 = "36_1274564775.02458"
capture_lex $P400
- .const 'Sub' $P393 = "35_1274022880.65586"
+ .const 'Sub' $P393 = "35_1274564775.02458"
capture_lex $P393
- .const 'Sub' $P383 = "34_1274022880.65586"
+ .const 'Sub' $P383 = "34_1274564775.02458"
capture_lex $P383
- .const 'Sub' $P376 = "33_1274022880.65586"
+ .const 'Sub' $P376 = "33_1274564775.02458"
capture_lex $P376
- .const 'Sub' $P360 = "32_1274022880.65586"
+ .const 'Sub' $P360 = "32_1274564775.02458"
capture_lex $P360
- .const 'Sub' $P285 = "30_1274022880.65586"
+ .const 'Sub' $P285 = "30_1274564775.02458"
capture_lex $P285
- .const 'Sub' $P222 = "27_1274022880.65586"
+ .const 'Sub' $P222 = "27_1274564775.02458"
capture_lex $P222
- .const 'Sub' $P213 = "26_1274022880.65586"
+ .const 'Sub' $P213 = "26_1274564775.02458"
capture_lex $P213
- .const 'Sub' $P204 = "25_1274022880.65586"
+ .const 'Sub' $P204 = "25_1274564775.02458"
capture_lex $P204
- .const 'Sub' $P195 = "24_1274022880.65586"
+ .const 'Sub' $P195 = "24_1274564775.02458"
capture_lex $P195
- .const 'Sub' $P186 = "23_1274022880.65586"
+ .const 'Sub' $P186 = "23_1274564775.02458"
capture_lex $P186
- .const 'Sub' $P177 = "22_1274022880.65586"
+ .const 'Sub' $P177 = "22_1274564775.02458"
capture_lex $P177
- .const 'Sub' $P167 = "21_1274022880.65586"
+ .const 'Sub' $P167 = "21_1274564775.02458"
capture_lex $P167
- .const 'Sub' $P157 = "20_1274022880.65586"
+ .const 'Sub' $P157 = "20_1274564775.02458"
capture_lex $P157
- .const 'Sub' $P149 = "19_1274022880.65586"
+ .const 'Sub' $P149 = "19_1274564775.02458"
capture_lex $P149
- .const 'Sub' $P139 = "18_1274022880.65586"
+ .const 'Sub' $P139 = "18_1274564775.02458"
capture_lex $P139
- .const 'Sub' $P129 = "17_1274022880.65586"
+ .const 'Sub' $P129 = "17_1274564775.02458"
capture_lex $P129
- .const 'Sub' $P28 = "14_1274022880.65586"
+ .const 'Sub' $P28 = "14_1274564775.02458"
capture_lex $P28
- .const 'Sub' $P22 = "13_1274022880.65586"
+ .const 'Sub' $P22 = "13_1274564775.02458"
capture_lex $P22
- .const 'Sub' $P15 = "12_1274022880.65586"
+ .const 'Sub' $P15 = "12_1274564775.02458"
capture_lex $P15
.annotate 'line', 197
- .const 'Sub' $P553 = "48_1274022880.65586"
+ .const 'Sub' $P553 = "48_1274564775.02458"
newclosure $P570, $P553
.annotate 'line', 3
.return ($P570)
- .const 'Sub' $P572 = "49_1274022880.65586"
+ .const 'Sub' $P572 = "49_1274564775.02458"
.return ($P572)
.end
.namespace ["HLL";"Actions"]
-.sub "string_to_int" :subid("12_1274022880.65586") :outer("11_1274022880.65586")
+.sub "string_to_int" :subid("12_1274564775.02458") :outer("11_1274564775.02458")
.param pmc param_18
.param pmc param_19
.annotate 'line', 3
@@ -4878,7 +4879,7 @@
.namespace ["HLL";"Actions"]
-.sub "ints_to_string" :subid("13_1274022880.65586") :outer("11_1274022880.65586")
+.sub "ints_to_string" :subid("13_1274564775.02458") :outer("11_1274564775.02458")
.param pmc param_25
.annotate 'line', 37
new $P24, 'ExceptionHandler'
@@ -4919,14 +4920,14 @@
.namespace ["HLL";"Actions"]
-.sub "EXPR" :subid("14_1274022880.65586") :method :outer("11_1274022880.65586")
+.sub "EXPR" :subid("14_1274564775.02458") :method :outer("11_1274564775.02458")
.param pmc param_31
.param pmc param_32 :optional
.param int has_param_32 :opt_flag
.annotate 'line', 62
- .const 'Sub' $P111 = "16_1274022880.65586"
+ .const 'Sub' $P111 = "16_1274564775.02458"
capture_lex $P111
- .const 'Sub' $P78 = "15_1274022880.65586"
+ .const 'Sub' $P78 = "15_1274564775.02458"
capture_lex $P78
new $P30, 'ExceptionHandler'
set_addr $P30, control_29
@@ -5061,7 +5062,7 @@
find_lex $P75, "$past"
$P76 = $P75."name"()
if $P76, unless_74_end
- .const 'Sub' $P78 = "15_1274022880.65586"
+ .const 'Sub' $P78 = "15_1274564775.02458"
capture_lex $P78
$P78()
unless_74_end:
@@ -5085,7 +5086,7 @@
unless $P105, loop122_done
shift $P109, $P105
loop122_redo:
- .const 'Sub' $P111 = "16_1274022880.65586"
+ .const 'Sub' $P111 = "16_1274564775.02458"
capture_lex $P111
$P111($P109)
loop122_next:
@@ -5130,7 +5131,7 @@
.namespace ["HLL";"Actions"]
-.sub "_block77" :anon :subid("15_1274022880.65586") :outer("14_1274022880.65586")
+.sub "_block77" :anon :subid("15_1274564775.02458") :outer("14_1274564775.02458")
.annotate 'line', 71
new $P79, "Undef"
.lex "$name", $P79
@@ -5180,7 +5181,7 @@
.namespace ["HLL";"Actions"]
-.sub "_block110" :anon :subid("16_1274022880.65586") :outer("14_1274022880.65586")
+.sub "_block110" :anon :subid("16_1274564775.02458") :outer("14_1274564775.02458")
.param pmc param_112
.annotate 'line', 82
.lex "$_", param_112
@@ -5203,7 +5204,7 @@
.namespace ["HLL";"Actions"]
-.sub "term:sym<circumfix>" :subid("17_1274022880.65586") :method :outer("11_1274022880.65586")
+.sub "term:sym<circumfix>" :subid("17_1274564775.02458") :method :outer("11_1274564775.02458")
.param pmc param_132
.annotate 'line', 87
new $P131, 'ExceptionHandler'
@@ -5233,7 +5234,7 @@
.namespace ["HLL";"Actions"]
-.sub "termish" :subid("18_1274022880.65586") :method :outer("11_1274022880.65586")
+.sub "termish" :subid("18_1274564775.02458") :method :outer("11_1274564775.02458")
.param pmc param_142
.annotate 'line', 89
new $P141, 'ExceptionHandler'
@@ -5263,7 +5264,7 @@
.namespace ["HLL";"Actions"]
-.sub "nullterm" :subid("19_1274022880.65586") :method :outer("11_1274022880.65586")
+.sub "nullterm" :subid("19_1274564775.02458") :method :outer("11_1274564775.02458")
.param pmc param_152
.annotate 'line', 90
new $P151, 'ExceptionHandler'
@@ -5285,7 +5286,7 @@
.namespace ["HLL";"Actions"]
-.sub "nullterm_alt" :subid("20_1274022880.65586") :method :outer("11_1274022880.65586")
+.sub "nullterm_alt" :subid("20_1274564775.02458") :method :outer("11_1274564775.02458")
.param pmc param_160
.annotate 'line', 91
new $P159, 'ExceptionHandler'
@@ -5315,7 +5316,7 @@
.namespace ["HLL";"Actions"]
-.sub "integer" :subid("21_1274022880.65586") :method :outer("11_1274022880.65586")
+.sub "integer" :subid("21_1274564775.02458") :method :outer("11_1274564775.02458")
.param pmc param_170
.annotate 'line', 93
new $P169, 'ExceptionHandler'
@@ -5345,7 +5346,7 @@
.namespace ["HLL";"Actions"]
-.sub "dec_number" :subid("22_1274022880.65586") :method :outer("11_1274022880.65586")
+.sub "dec_number" :subid("22_1274564775.02458") :method :outer("11_1274564775.02458")
.param pmc param_180
.annotate 'line', 95
new $P179, 'ExceptionHandler'
@@ -5368,7 +5369,7 @@
.namespace ["HLL";"Actions"]
-.sub "decint" :subid("23_1274022880.65586") :method :outer("11_1274022880.65586")
+.sub "decint" :subid("23_1274564775.02458") :method :outer("11_1274564775.02458")
.param pmc param_189
.annotate 'line', 97
new $P188, 'ExceptionHandler'
@@ -5391,7 +5392,7 @@
.namespace ["HLL";"Actions"]
-.sub "hexint" :subid("24_1274022880.65586") :method :outer("11_1274022880.65586")
+.sub "hexint" :subid("24_1274564775.02458") :method :outer("11_1274564775.02458")
.param pmc param_198
.annotate 'line', 98
new $P197, 'ExceptionHandler'
@@ -5414,7 +5415,7 @@
.namespace ["HLL";"Actions"]
-.sub "octint" :subid("25_1274022880.65586") :method :outer("11_1274022880.65586")
+.sub "octint" :subid("25_1274564775.02458") :method :outer("11_1274564775.02458")
.param pmc param_207
.annotate 'line', 99
new $P206, 'ExceptionHandler'
@@ -5437,7 +5438,7 @@
.namespace ["HLL";"Actions"]
-.sub "binint" :subid("26_1274022880.65586") :method :outer("11_1274022880.65586")
+.sub "binint" :subid("26_1274564775.02458") :method :outer("11_1274564775.02458")
.param pmc param_216
.annotate 'line', 100
new $P215, 'ExceptionHandler'
@@ -5460,10 +5461,10 @@
.namespace ["HLL";"Actions"]
-.sub "quote_EXPR" :subid("27_1274022880.65586") :method :outer("11_1274022880.65586")
+.sub "quote_EXPR" :subid("27_1274564775.02458") :method :outer("11_1274564775.02458")
.param pmc param_225
.annotate 'line', 102
- .const 'Sub' $P241 = "28_1274022880.65586"
+ .const 'Sub' $P241 = "28_1274564775.02458"
capture_lex $P241
new $P224, 'ExceptionHandler'
set_addr $P224, control_223
@@ -5495,7 +5496,7 @@
$P237 = $P235."ACCEPTS"($P236)
if $P237, if_234
.annotate 'line', 108
- .const 'Sub' $P241 = "28_1274022880.65586"
+ .const 'Sub' $P241 = "28_1274564775.02458"
capture_lex $P241
$P241()
goto if_234_end
@@ -5534,9 +5535,9 @@
.namespace ["HLL";"Actions"]
-.sub "_block240" :anon :subid("28_1274022880.65586") :outer("27_1274022880.65586")
+.sub "_block240" :anon :subid("28_1274564775.02458") :outer("27_1274564775.02458")
.annotate 'line', 108
- .const 'Sub' $P260 = "29_1274022880.65586"
+ .const 'Sub' $P260 = "29_1274564775.02458"
capture_lex $P260
.annotate 'line', 109
$P242 = root_new ['parrot';'ResizablePMCArray']
@@ -5587,7 +5588,7 @@
unless $P255, loop265_done
shift $P258, $P255
loop265_redo:
- .const 'Sub' $P260 = "29_1274022880.65586"
+ .const 'Sub' $P260 = "29_1274564775.02458"
capture_lex $P260
$P260($P258)
loop265_next:
@@ -5610,7 +5611,7 @@
.namespace ["HLL";"Actions"]
-.sub "_block259" :anon :subid("29_1274022880.65586") :outer("28_1274022880.65586")
+.sub "_block259" :anon :subid("29_1274564775.02458") :outer("28_1274564775.02458")
.param pmc param_261
.annotate 'line', 112
.lex "$_", param_261
@@ -5622,10 +5623,10 @@
.namespace ["HLL";"Actions"]
-.sub "quote_delimited" :subid("30_1274022880.65586") :method :outer("11_1274022880.65586")
+.sub "quote_delimited" :subid("30_1274564775.02458") :method :outer("11_1274564775.02458")
.param pmc param_288
.annotate 'line', 125
- .const 'Sub' $P300 = "31_1274022880.65586"
+ .const 'Sub' $P300 = "31_1274564775.02458"
capture_lex $P300
new $P287, 'ExceptionHandler'
set_addr $P287, control_286
@@ -5668,7 +5669,7 @@
unless $P294, loop332_done
shift $P298, $P294
loop332_redo:
- .const 'Sub' $P300 = "31_1274022880.65586"
+ .const 'Sub' $P300 = "31_1274564775.02458"
capture_lex $P300
$P300($P298)
loop332_next:
@@ -5746,7 +5747,7 @@
.namespace ["HLL";"Actions"]
-.sub "_block299" :anon :subid("31_1274022880.65586") :outer("30_1274022880.65586")
+.sub "_block299" :anon :subid("31_1274564775.02458") :outer("30_1274564775.02458")
.param pmc param_302
.annotate 'line', 129
new $P301, "Undef"
@@ -5815,7 +5816,7 @@
.namespace ["HLL";"Actions"]
-.sub "quote_atom" :subid("32_1274022880.65586") :method :outer("11_1274022880.65586")
+.sub "quote_atom" :subid("32_1274564775.02458") :method :outer("11_1274564775.02458")
.param pmc param_363
.annotate 'line', 150
new $P362, 'ExceptionHandler'
@@ -5864,7 +5865,7 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<backslash>" :subid("33_1274022880.65586") :method :outer("11_1274022880.65586")
+.sub "quote_escape:sym<backslash>" :subid("33_1274564775.02458") :method :outer("11_1274564775.02458")
.param pmc param_379
.annotate 'line', 154
new $P378, 'ExceptionHandler'
@@ -5885,7 +5886,7 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<stopper>" :subid("34_1274022880.65586") :method :outer("11_1274022880.65586")
+.sub "quote_escape:sym<stopper>" :subid("34_1274564775.02458") :method :outer("11_1274564775.02458")
.param pmc param_386
.annotate 'line', 155
new $P385, 'ExceptionHandler'
@@ -5915,7 +5916,7 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<bs>" :subid("35_1274022880.65586") :method :outer("11_1274022880.65586")
+.sub "quote_escape:sym<bs>" :subid("35_1274564775.02458") :method :outer("11_1274564775.02458")
.param pmc param_396
.annotate 'line', 157
new $P395, 'ExceptionHandler'
@@ -5936,7 +5937,7 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<nl>" :subid("36_1274022880.65586") :method :outer("11_1274022880.65586")
+.sub "quote_escape:sym<nl>" :subid("36_1274564775.02458") :method :outer("11_1274564775.02458")
.param pmc param_403
.annotate 'line', 158
new $P402, 'ExceptionHandler'
@@ -5957,7 +5958,7 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<cr>" :subid("37_1274022880.65586") :method :outer("11_1274022880.65586")
+.sub "quote_escape:sym<cr>" :subid("37_1274564775.02458") :method :outer("11_1274564775.02458")
.param pmc param_410
.annotate 'line', 159
new $P409, 'ExceptionHandler'
@@ -5978,7 +5979,7 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<tab>" :subid("38_1274022880.65586") :method :outer("11_1274022880.65586")
+.sub "quote_escape:sym<tab>" :subid("38_1274564775.02458") :method :outer("11_1274564775.02458")
.param pmc param_417
.annotate 'line', 160
new $P416, 'ExceptionHandler'
@@ -5999,7 +6000,7 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<ff>" :subid("39_1274022880.65586") :method :outer("11_1274022880.65586")
+.sub "quote_escape:sym<ff>" :subid("39_1274564775.02458") :method :outer("11_1274564775.02458")
.param pmc param_424
.annotate 'line', 161
new $P423, 'ExceptionHandler'
@@ -6020,7 +6021,7 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<hex>" :subid("40_1274022880.65586") :method :outer("11_1274022880.65586")
+.sub "quote_escape:sym<hex>" :subid("40_1274564775.02458") :method :outer("11_1274564775.02458")
.param pmc param_431
.annotate 'line', 163
new $P430, 'ExceptionHandler'
@@ -6078,7 +6079,7 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<oct>" :subid("41_1274022880.65586") :method :outer("11_1274022880.65586")
+.sub "quote_escape:sym<oct>" :subid("41_1274564775.02458") :method :outer("11_1274564775.02458")
.param pmc param_448
.annotate 'line', 167
new $P447, 'ExceptionHandler'
@@ -6136,7 +6137,7 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<chr>" :subid("42_1274022880.65586") :method :outer("11_1274022880.65586")
+.sub "quote_escape:sym<chr>" :subid("42_1274564775.02458") :method :outer("11_1274564775.02458")
.param pmc param_465
.annotate 'line', 171
new $P464, 'ExceptionHandler'
@@ -6168,7 +6169,7 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<0>" :subid("43_1274022880.65586") :method :outer("11_1274022880.65586")
+.sub "quote_escape:sym<0>" :subid("43_1274564775.02458") :method :outer("11_1274564775.02458")
.param pmc param_475
.annotate 'line', 175
new $P474, 'ExceptionHandler'
@@ -6191,7 +6192,7 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<misc>" :subid("44_1274022880.65586") :method :outer("11_1274022880.65586")
+.sub "quote_escape:sym<misc>" :subid("44_1274564775.02458") :method :outer("11_1274564775.02458")
.param pmc param_482
.annotate 'line', 179
new $P481, 'ExceptionHandler'
@@ -6249,7 +6250,7 @@
.namespace ["HLL";"Actions"]
-.sub "charname" :subid("45_1274022880.65586") :method :outer("11_1274022880.65586")
+.sub "charname" :subid("45_1274564775.02458") :method :outer("11_1274564775.02458")
.param pmc param_501
.annotate 'line', 183
new $P500, 'ExceptionHandler'
@@ -6322,10 +6323,10 @@
.namespace ["HLL";"Actions"]
-.sub "charnames" :subid("46_1274022880.65586") :method :outer("11_1274022880.65586")
+.sub "charnames" :subid("46_1274564775.02458") :method :outer("11_1274564775.02458")
.param pmc param_531
.annotate 'line', 191
- .const 'Sub' $P540 = "47_1274022880.65586"
+ .const 'Sub' $P540 = "47_1274564775.02458"
capture_lex $P540
new $P530, 'ExceptionHandler'
set_addr $P530, control_529
@@ -6359,7 +6360,7 @@
unless $P534, loop546_done
shift $P538, $P534
loop546_redo:
- .const 'Sub' $P540 = "47_1274022880.65586"
+ .const 'Sub' $P540 = "47_1274564775.02458"
capture_lex $P540
$P540($P538)
loop546_next:
@@ -6388,7 +6389,7 @@
.namespace ["HLL";"Actions"]
-.sub "_block539" :anon :subid("47_1274022880.65586") :outer("46_1274022880.65586")
+.sub "_block539" :anon :subid("47_1274564775.02458") :outer("46_1274564775.02458")
.param pmc param_541
.annotate 'line', 193
.lex "$_", param_541
@@ -6402,7 +6403,7 @@
.namespace ["HLL";"Actions"]
-.sub "charspec" :subid("48_1274022880.65586") :method :outer("11_1274022880.65586")
+.sub "charspec" :subid("48_1274564775.02458") :method :outer("11_1274564775.02458")
.param pmc param_556
.annotate 'line', 197
new $P555, 'ExceptionHandler'
@@ -6452,18 +6453,18 @@
.namespace ["HLL";"Actions"]
-.sub "_block571" :load :anon :subid("49_1274022880.65586")
+.sub "_block571" :load :anon :subid("49_1274564775.02458")
.annotate 'line', 3
- .const 'Sub' $P573 = "11_1274022880.65586"
+ .const 'Sub' $P573 = "11_1274564775.02458"
$P574 = $P573()
.return ($P574)
.end
.namespace []
-.sub "_block576" :load :anon :subid("50_1274022880.65586")
+.sub "_block576" :load :anon :subid("50_1274564775.02458")
.annotate 'line', 1
- .const 'Sub' $P578 = "10_1274022880.65586"
+ .const 'Sub' $P578 = "10_1274564775.02458"
$P579 = $P578()
.return ($P579)
.end
@@ -6471,80 +6472,86 @@
### .include 'gen/hllcompiler.pir'
.namespace []
-.sub "_block11" :anon :subid("10_1274022881.57388")
+.sub "_block11" :anon :subid("10_1274564776.02218")
.annotate 'line', 0
get_hll_global $P14, ["HLL";"Compiler"], "_block13"
capture_lex $P14
.annotate 'line', 6
get_hll_global $P14, ["HLL";"Compiler"], "_block13"
capture_lex $P14
- $P285 = $P14()
+ $P454 = $P14()
.annotate 'line', 1
- .return ($P285)
- .const 'Sub' $P287 = "25_1274022881.57388"
- .return ($P287)
+ .return ($P454)
+ .const 'Sub' $P456 = "33_1274564776.02218"
+ .return ($P456)
.end
.namespace []
-.sub "" :load :init :subid("post26") :outer("10_1274022881.57388")
+.sub "" :load :init :subid("post34") :outer("10_1274564776.02218")
.annotate 'line', 0
- .const 'Sub' $P12 = "10_1274022881.57388"
+ .const 'Sub' $P12 = "10_1274564776.02218"
.local pmc block
set block, $P12
.annotate 'line', 2
load_bytecode "PCT/HLLCompiler.pbc"
.annotate 'line', 1
- $P290 = get_root_global ["parrot"], "P6metaclass"
- new $P291, "ResizablePMCArray"
- push $P291, "$!language"
- $P290."new_class"("HLL::Compiler", "PCT::HLLCompiler" :named("parent"), $P291 :named("attr"))
+ $P459 = get_root_global ["parrot"], "P6metaclass"
+ new $P460, "ResizablePMCArray"
+ push $P460, "$!language"
+ $P459."new_class"("HLL::Compiler", "PCT::HLLCompiler" :named("parent"), $P460 :named("attr"))
.end
.namespace ["HLL";"Compiler"]
-.sub "_block13" :subid("11_1274022881.57388") :outer("10_1274022881.57388")
+.sub "_block13" :subid("11_1274564776.02218") :outer("10_1274564776.02218")
.annotate 'line', 6
- .const 'Sub' $P188 = "20_1274022881.57388"
+ .const 'Sub' $P409 = "31_1274564776.02218"
+ capture_lex $P409
+ .const 'Sub' $P298 = "26_1274564776.02218"
+ capture_lex $P298
+ .const 'Sub' $P283 = "25_1274564776.02218"
+ capture_lex $P283
+ .const 'Sub' $P188 = "20_1274564776.02218"
capture_lex $P188
- .const 'Sub' $P153 = "18_1274022881.57388"
+ .const 'Sub' $P153 = "18_1274564776.02218"
capture_lex $P153
- .const 'Sub' $P138 = "17_1274022881.57388"
+ .const 'Sub' $P138 = "17_1274564776.02218"
capture_lex $P138
- .const 'Sub' $P122 = "16_1274022881.57388"
+ .const 'Sub' $P122 = "16_1274564776.02218"
capture_lex $P122
- .const 'Sub' $P33 = "13_1274022881.57388"
+ .const 'Sub' $P33 = "13_1274564776.02218"
capture_lex $P33
- .const 'Sub' $P15 = "12_1274022881.57388"
+ .const 'Sub' $P15 = "12_1274564776.02218"
capture_lex $P15
.annotate 'line', 14
- .const 'Sub' $P15 = "12_1274022881.57388"
+ .const 'Sub' $P15 = "12_1274564776.02218"
newclosure $P31, $P15
.lex "value_type", $P31
.annotate 'line', 10
find_lex $P32, "value_type"
-.annotate 'line', 69
- .const 'Sub' $P188 = "20_1274022881.57388"
- newclosure $P283, $P188
+.annotate 'line', 135
+ .const 'Sub' $P409 = "31_1274564776.02218"
+ newclosure $P452, $P409
.annotate 'line', 6
- .return ($P283)
+ .return ($P452)
.end
.namespace ["HLL";"Compiler"]
-.sub "" :load :init :subid("post27") :outer("11_1274022881.57388")
+.sub "" :load :init :subid("post35") :outer("11_1274564776.02218")
.annotate 'line', 6
get_hll_global $P14, ["HLL";"Compiler"], "_block13"
.local pmc block
set block, $P14
.annotate 'line', 11
- get_hll_global $P284, ["HLL"], "Compiler"
- $P284."language"("parrot")
+ get_hll_global $P453, ["HLL"], "Compiler"
+ $P453."language"("parrot")
.end
.namespace ["HLL";"Compiler"]
-.sub "value_type" :subid("12_1274022881.57388") :outer("11_1274022881.57388")
+.sub "value_type" :subid("12_1274564776.02218") :outer("11_1274564776.02218")
.param pmc param_18
.annotate 'line', 14
new $P17, 'ExceptionHandler'
@@ -6588,15 +6595,15 @@
.namespace ["HLL";"Compiler"]
-.sub "get_exports" :subid("13_1274022881.57388") :method :outer("11_1274022881.57388")
+.sub "get_exports" :subid("13_1274564776.02218") :method :outer("11_1274564776.02218")
.param pmc param_36
.param pmc param_39 :slurpy
.param pmc param_37 :optional :named("tagset")
.param int has_param_37 :opt_flag
.annotate 'line', 20
- .const 'Sub' $P105 = "15_1274022881.57388"
+ .const 'Sub' $P105 = "15_1274564776.02218"
capture_lex $P105
- .const 'Sub' $P84 = "14_1274022881.57388"
+ .const 'Sub' $P84 = "14_1274564776.02218"
capture_lex $P84
new $P35, 'ExceptionHandler'
set_addr $P35, control_34
@@ -6604,10 +6611,10 @@
push_eh $P35
.lex "self", self
.lex "$module", param_36
- if has_param_37, optparam_28
+ if has_param_37, optparam_36
new $P38, "Undef"
set param_37, $P38
- optparam_28:
+ optparam_36:
.lex "$tagset", param_37
.lex "@symbols", param_39
.annotate 'line', 27
@@ -6653,17 +6660,17 @@
find_lex $P60, "$tagset"
set $S61, $P60
find_lex $P62, "$module"
- unless_null $P62, vivify_29
+ unless_null $P62, vivify_37
$P62 = root_new ['parrot';'Hash']
- vivify_29:
+ vivify_37:
set $P63, $P62["EXPORT"]
- unless_null $P63, vivify_30
+ unless_null $P63, vivify_38
$P63 = root_new ['parrot';'Hash']
- vivify_30:
+ vivify_38:
set $P64, $P63[$S61]
- unless_null $P64, vivify_31
+ unless_null $P64, vivify_39
new $P64, "Undef"
- vivify_31:
+ vivify_39:
store_lex "%source", $P64
.annotate 'line', 29
find_lex $P66, "%source"
@@ -6692,7 +6699,7 @@
.annotate 'line', 39
find_lex $P101, "%source"
defined $I102, $P101
- unless $I102, for_undef_32
+ unless $I102, for_undef_40
iter $P100, $P101
new $P118, 'ExceptionHandler'
set_addr $P118, loop117_handler
@@ -6702,7 +6709,7 @@
unless $P100, loop117_done
shift $P103, $P100
loop117_redo:
- .const 'Sub' $P105 = "15_1274022881.57388"
+ .const 'Sub' $P105 = "15_1274564776.02218"
capture_lex $P105
$P105($P103)
loop117_next:
@@ -6715,14 +6722,14 @@
eq $P119, 66, loop117_redo
loop117_done:
pop_eh
- for_undef_32:
+ for_undef_40:
.annotate 'line', 38
goto if_77_end
if_77:
.annotate 'line', 33
find_lex $P80, "@symbols"
defined $I81, $P80
- unless $I81, for_undef_35
+ unless $I81, for_undef_43
iter $P79, $P80
new $P98, 'ExceptionHandler'
set_addr $P98, loop97_handler
@@ -6732,7 +6739,7 @@
unless $P79, loop97_done
shift $P82, $P79
loop97_redo:
- .const 'Sub' $P84 = "14_1274022881.57388"
+ .const 'Sub' $P84 = "14_1274564776.02218"
capture_lex $P84
$P84($P82)
loop97_next:
@@ -6745,7 +6752,7 @@
eq $P99, 66, loop97_redo
loop97_done:
pop_eh
- for_undef_35:
+ for_undef_43:
if_77_end:
.annotate 'line', 32
find_lex $P120, "%exports"
@@ -6760,7 +6767,7 @@
.namespace ["HLL";"Compiler"]
-.sub "_block104" :anon :subid("15_1274022881.57388") :outer("13_1274022881.57388")
+.sub "_block104" :anon :subid("15_1274564776.02218") :outer("13_1274564776.02218")
.param pmc param_107
.annotate 'line', 40
new $P106, "Undef"
@@ -6776,15 +6783,15 @@
find_lex $P113, "$value"
$P114 = "value_type"($P113)
find_lex $P115, "%exports"
- unless_null $P115, vivify_33
+ unless_null $P115, vivify_41
$P115 = root_new ['parrot';'Hash']
store_lex "%exports", $P115
- vivify_33:
+ vivify_41:
set $P116, $P115[$P114]
- unless_null $P116, vivify_34
+ unless_null $P116, vivify_42
$P116 = root_new ['parrot';'Hash']
set $P115[$P114], $P116
- vivify_34:
+ vivify_42:
set $P116[$P112], $P110
.annotate 'line', 39
.return ($P110)
@@ -6792,7 +6799,7 @@
.namespace ["HLL";"Compiler"]
-.sub "_block83" :anon :subid("14_1274022881.57388") :outer("13_1274022881.57388")
+.sub "_block83" :anon :subid("14_1274564776.02218") :outer("13_1274564776.02218")
.param pmc param_86
.annotate 'line', 34
new $P85, "Undef"
@@ -6801,13 +6808,13 @@
find_lex $P87, "$_"
set $S88, $P87
find_lex $P89, "%source"
- unless_null $P89, vivify_36
+ unless_null $P89, vivify_44
$P89 = root_new ['parrot';'Hash']
- vivify_36:
+ vivify_44:
set $P90, $P89[$S88]
- unless_null $P90, vivify_37
+ unless_null $P90, vivify_45
new $P90, "Undef"
- vivify_37:
+ vivify_45:
store_lex "$value", $P90
.annotate 'line', 35
find_lex $P91, "$value"
@@ -6815,15 +6822,15 @@
find_lex $P93, "$value"
$P94 = "value_type"($P93)
find_lex $P95, "%exports"
- unless_null $P95, vivify_38
+ unless_null $P95, vivify_46
$P95 = root_new ['parrot';'Hash']
store_lex "%exports", $P95
- vivify_38:
+ vivify_46:
set $P96, $P95[$P94]
- unless_null $P96, vivify_39
+ unless_null $P96, vivify_47
$P96 = root_new ['parrot';'Hash']
set $P95[$P94], $P96
- vivify_39:
+ vivify_47:
set $P96[$P92], $P91
.annotate 'line', 33
.return ($P91)
@@ -6831,7 +6838,7 @@
.namespace ["HLL";"Compiler"]
-.sub "get_module" :subid("16_1274022881.57388") :method :outer("11_1274022881.57388")
+.sub "get_module" :subid("16_1274564776.02218") :method :outer("11_1274564776.02218")
.param pmc param_125
.annotate 'line', 47
new $P124, 'ExceptionHandler'
@@ -6851,9 +6858,9 @@
find_lex $P130, "@name"
find_lex $P131, "self"
getattribute $P132, $P131, "$!language"
- unless_null $P132, vivify_40
+ unless_null $P132, vivify_48
new $P132, "Undef"
- vivify_40:
+ vivify_48:
set $S133, $P132
downcase $S134, $S133
$P130."unshift"($S134)
@@ -6871,7 +6878,7 @@
.namespace ["HLL";"Compiler"]
-.sub "language" :subid("17_1274022881.57388") :method :outer("11_1274022881.57388")
+.sub "language" :subid("17_1274564776.02218") :method :outer("11_1274564776.02218")
.param pmc param_141 :optional
.param int has_param_141 :opt_flag
.annotate 'line', 53
@@ -6880,10 +6887,10 @@
$P140."handle_types"(57)
push_eh $P140
.lex "self", self
- if has_param_141, optparam_41
+ if has_param_141, optparam_49
new $P142, "Undef"
set param_141, $P142
- optparam_41:
+ optparam_49:
.lex "$name", param_141
.annotate 'line', 54
find_lex $P144, "$name"
@@ -6901,9 +6908,9 @@
.annotate 'line', 54
find_lex $P150, "self"
getattribute $P151, $P150, "$!language"
- unless_null $P151, vivify_42
+ unless_null $P151, vivify_50
new $P151, "Undef"
- vivify_42:
+ vivify_50:
.annotate 'line', 53
.return ($P151)
control_139:
@@ -6915,10 +6922,10 @@
.namespace ["HLL";"Compiler"]
-.sub "load_module" :subid("18_1274022881.57388") :method :outer("11_1274022881.57388")
+.sub "load_module" :subid("18_1274564776.02218") :method :outer("11_1274564776.02218")
.param pmc param_156
.annotate 'line', 61
- .const 'Sub' $P166 = "19_1274022881.57388"
+ .const 'Sub' $P166 = "19_1274564776.02218"
capture_lex $P166
new $P155, 'ExceptionHandler'
set_addr $P155, control_154
@@ -6945,7 +6952,7 @@
assign $P164, 0
store_lex "$loaded", $P164
.annotate 'line', 64
- .const 'Sub' $P166 = "19_1274022881.57388"
+ .const 'Sub' $P166 = "19_1274564776.02218"
capture_lex $P166
$P166()
.annotate 'line', 65
@@ -6974,7 +6981,7 @@
.namespace ["HLL";"Compiler"]
-.sub "_block165" :anon :subid("19_1274022881.57388") :outer("18_1274022881.57388")
+.sub "_block165" :anon :subid("19_1274564776.02218") :outer("18_1274564776.02218")
.annotate 'line', 64
new $P173, 'ExceptionHandler'
set_addr $P173, control_172
@@ -7007,11 +7014,11 @@
.namespace ["HLL";"Compiler"]
-.sub "import" :subid("20_1274022881.57388") :method :outer("11_1274022881.57388")
+.sub "import" :subid("20_1274564776.02218") :method :outer("11_1274564776.02218")
.param pmc param_191
.param pmc param_192
.annotate 'line', 69
- .const 'Sub' $P198 = "21_1274022881.57388"
+ .const 'Sub' $P198 = "21_1274564776.02218"
capture_lex $P198
new $P190, 'ExceptionHandler'
set_addr $P190, control_189
@@ -7023,7 +7030,7 @@
.annotate 'line', 70
find_lex $P194, "%exports"
defined $I195, $P194
- unless $I195, for_undef_43
+ unless $I195, for_undef_51
iter $P193, $P194
new $P280, 'ExceptionHandler'
set_addr $P280, loop279_handler
@@ -7033,7 +7040,7 @@
unless $P193, loop279_done
shift $P196, $P193
loop279_redo:
- .const 'Sub' $P198 = "21_1274022881.57388"
+ .const 'Sub' $P198 = "21_1274564776.02218"
capture_lex $P198
$P198($P196)
loop279_next:
@@ -7046,7 +7053,7 @@
eq $P281, 66, loop279_redo
loop279_done:
pop_eh
- for_undef_43:
+ for_undef_51:
.annotate 'line', 69
.return ($P193)
control_189:
@@ -7058,14 +7065,14 @@
.namespace ["HLL";"Compiler"]
-.sub "_block197" :anon :subid("21_1274022881.57388") :outer("20_1274022881.57388")
+.sub "_block197" :anon :subid("21_1274564776.02218") :outer("20_1274564776.02218")
.param pmc param_201
.annotate 'line', 70
- .const 'Sub' $P268 = "24_1274022881.57388"
+ .const 'Sub' $P268 = "24_1274564776.02218"
capture_lex $P268
- .const 'Sub' $P248 = "23_1274022881.57388"
+ .const 'Sub' $P248 = "23_1274564776.02218"
capture_lex $P248
- .const 'Sub' $P219 = "22_1274022881.57388"
+ .const 'Sub' $P219 = "22_1274564776.02218"
capture_lex $P219
.annotate 'line', 71
new $P199, "Undef"
@@ -7103,7 +7110,7 @@
.annotate 'line', 80
find_lex $P264, "%items"
defined $I265, $P264
- unless $I265, for_undef_44
+ unless $I265, for_undef_52
iter $P263, $P264
new $P277, 'ExceptionHandler'
set_addr $P277, loop276_handler
@@ -7113,7 +7120,7 @@
unless $P263, loop276_done
shift $P266, $P263
loop276_redo:
- .const 'Sub' $P268 = "24_1274022881.57388"
+ .const 'Sub' $P268 = "24_1274564776.02218"
capture_lex $P268
$P268($P266)
loop276_next:
@@ -7126,7 +7133,7 @@
eq $P278, 66, loop276_redo
loop276_done:
pop_eh
- for_undef_44:
+ for_undef_52:
.annotate 'line', 79
set $P235, $P263
.annotate 'line', 76
@@ -7135,7 +7142,7 @@
.annotate 'line', 77
find_lex $P244, "%items"
defined $I245, $P244
- unless $I245, for_undef_46
+ unless $I245, for_undef_54
iter $P243, $P244
new $P261, 'ExceptionHandler'
set_addr $P261, loop260_handler
@@ -7145,7 +7152,7 @@
unless $P243, loop260_done
shift $P246, $P243
loop260_redo:
- .const 'Sub' $P248 = "23_1274022881.57388"
+ .const 'Sub' $P248 = "23_1274564776.02218"
capture_lex $P248
$P248($P246)
loop260_next:
@@ -7158,7 +7165,7 @@
eq $P262, 66, loop260_redo
loop260_done:
pop_eh
- for_undef_46:
+ for_undef_54:
.annotate 'line', 76
set $P235, $P243
if_236_end:
@@ -7169,7 +7176,7 @@
.annotate 'line', 74
find_lex $P215, "%items"
defined $I216, $P215
- unless $I216, for_undef_47
+ unless $I216, for_undef_55
iter $P214, $P215
new $P233, 'ExceptionHandler'
set_addr $P233, loop232_handler
@@ -7179,7 +7186,7 @@
unless $P214, loop232_done
shift $P217, $P214
loop232_redo:
- .const 'Sub' $P219 = "22_1274022881.57388"
+ .const 'Sub' $P219 = "22_1274564776.02218"
capture_lex $P219
$P219($P217)
loop232_next:
@@ -7192,7 +7199,7 @@
eq $P234, 66, loop232_redo
loop232_done:
pop_eh
- for_undef_47:
+ for_undef_55:
.annotate 'line', 73
set $P206, $P214
if_207_end:
@@ -7202,7 +7209,7 @@
.namespace ["HLL";"Compiler"]
-.sub "_block267" :anon :subid("24_1274022881.57388") :outer("21_1274022881.57388")
+.sub "_block267" :anon :subid("24_1274564776.02218") :outer("21_1274564776.02218")
.param pmc param_269
.annotate 'line', 80
.lex "$_", param_269
@@ -7212,17 +7219,17 @@
$P273 = $P272."key"()
set $S274, $P273
find_lex $P275, "$target"
- unless_null $P275, vivify_45
+ unless_null $P275, vivify_53
$P275 = root_new ['parrot';'Hash']
store_lex "$target", $P275
- vivify_45:
+ vivify_53:
set $P275[$S274], $P271
.return ($P271)
.end
.namespace ["HLL";"Compiler"]
-.sub "_block247" :anon :subid("23_1274022881.57388") :outer("21_1274022881.57388")
+.sub "_block247" :anon :subid("23_1274564776.02218") :outer("21_1274564776.02218")
.param pmc param_249
.annotate 'line', 77
.lex "$_", param_249
@@ -7242,7 +7249,7 @@
.namespace ["HLL";"Compiler"]
-.sub "_block218" :anon :subid("22_1274022881.57388") :outer("21_1274022881.57388")
+.sub "_block218" :anon :subid("22_1274564776.02218") :outer("21_1274564776.02218")
.param pmc param_220
.annotate 'line', 74
.lex "$_", param_220
@@ -7262,12 +7269,488 @@
.end
+.namespace ["HLL";"Compiler"]
+.sub "autoprint" :subid("25_1274564776.02218") :method :outer("11_1274564776.02218")
+ .param pmc param_286
+.annotate 'line', 85
+ new $P285, 'ExceptionHandler'
+ set_addr $P285, control_284
+ $P285."handle_types"(57)
+ push_eh $P285
+ .lex "self", self
+ .lex "$value", param_286
+.annotate 'line', 87
+ getstdout $P289
+ tell $I290, $P289
+ set $N291, $I290
+ find_dynamic_lex $P292, "$*AUTOPRINTPOS"
+ unless_null $P292, vivify_56
+ get_hll_global $P292, "$AUTOPRINTPOS"
+ unless_null $P292, vivify_57
+ die "Contextual $*AUTOPRINTPOS not found"
+ vivify_57:
+ vivify_56:
+ set $N293, $P292
+ isgt $I294, $N291, $N293
+ unless $I294, unless_288
+ new $P287, 'Integer'
+ set $P287, $I294
+ goto unless_288_end
+ unless_288:
+.annotate 'line', 86
+ find_lex $P295, "$value"
+ set $S296, $P295
+ say $S296
+ unless_288_end:
+.annotate 'line', 85
+ .return ($P287)
+ control_284:
+ .local pmc exception
+ .get_results (exception)
+ getattribute $P297, exception, "payload"
+ .return ($P297)
+.end
+
+
+.namespace ["HLL";"Compiler"]
+.sub "interactive" :subid("26_1274564776.02218") :method :outer("11_1274564776.02218")
+ .param pmc param_301 :slurpy :named
+.annotate 'line', 90
+ .const 'Sub' $P328 = "27_1274564776.02218"
+ capture_lex $P328
+ new $P300, 'ExceptionHandler'
+ set_addr $P300, control_299
+ $P300."handle_types"(57)
+ push_eh $P300
+ .lex "self", self
+ .lex "%adverbs", param_301
+.annotate 'line', 91
+ new $P302, "Undef"
+ .lex "$target", $P302
+.annotate 'line', 95
+ new $P303, "Undef"
+ .lex "$stdin", $P303
+.annotate 'line', 96
+ new $P304, "Undef"
+ .lex "$encoding", $P304
+.annotate 'line', 91
+ find_lex $P305, "%adverbs"
+ unless_null $P305, vivify_58
+ $P305 = root_new ['parrot';'Hash']
+ vivify_58:
+ set $P306, $P305["target"]
+ unless_null $P306, vivify_59
+ new $P306, "Undef"
+ vivify_59:
+ set $S307, $P306
+ downcase $S308, $S307
+ new $P309, 'String'
+ set $P309, $S308
+ store_lex "$target", $P309
+.annotate 'line', 93
+ find_lex $P310, "self"
+ $S311 = $P310."commandline_banner"()
+ printerr $S311
+.annotate 'line', 95
+ getstdin $P312
+ store_lex "$stdin", $P312
+.annotate 'line', 96
+ find_lex $P313, "%adverbs"
+ unless_null $P313, vivify_60
+ $P313 = root_new ['parrot';'Hash']
+ vivify_60:
+ set $P314, $P313["encoding"]
+ unless_null $P314, vivify_61
+ new $P314, "Undef"
+ vivify_61:
+ set $S315, $P314
+ new $P316, 'String'
+ set $P316, $S315
+ store_lex "$encoding", $P316
+.annotate 'line', 97
+ find_lex $P320, "$encoding"
+ if $P320, if_319
+ set $P318, $P320
+ goto if_319_end
+ if_319:
+ find_lex $P321, "$encoding"
+ set $S322, $P321
+ isne $I323, $S322, "fixed_8"
+ new $P318, 'Integer'
+ set $P318, $I323
+ if_319_end:
+ unless $P318, if_317_end
+.annotate 'line', 98
+ find_lex $P324, "$stdin"
+ find_lex $P325, "$encoding"
+ $P324."encoding"($P325)
+ if_317_end:
+.annotate 'line', 101
+ new $P406, 'ExceptionHandler'
+ set_addr $P406, loop405_handler
+ $P406."handle_types"(64, 66, 65)
+ push_eh $P406
+ loop405_test:
+ new $P326, "Integer"
+ assign $P326, 1
+ unless $P326, loop405_done
+ loop405_redo:
+ .const 'Sub' $P328 = "27_1274564776.02218"
+ capture_lex $P328
+ $P328()
+ loop405_next:
+ goto loop405_test
+ loop405_handler:
+ .local pmc exception
+ .get_results (exception)
+ getattribute $P407, exception, 'type'
+ eq $P407, 64, loop405_next
+ eq $P407, 66, loop405_redo
+ loop405_done:
+ pop_eh
+.annotate 'line', 90
+ .return ($P326)
+ control_299:
+ .local pmc exception
+ .get_results (exception)
+ getattribute $P408, exception, "payload"
+ .return ($P408)
+.end
+
+
+.namespace ["HLL";"Compiler"]
+.sub "_block327" :anon :subid("27_1274564776.02218") :outer("26_1274564776.02218")
+.annotate 'line', 101
+ .const 'Sub' $P356 = "28_1274564776.02218"
+ capture_lex $P356
+.annotate 'line', 104
+ new $P329, "Undef"
+ .lex "$prompt", $P329
+.annotate 'line', 105
+ new $P330, "Undef"
+ .lex "$code", $P330
+.annotate 'line', 110
+ new $P331, "Undef"
+ .lex "$*AUTOPRINTPOS", $P331
+.annotate 'line', 102
+ find_lex $P333, "$stdin"
+ if $P333, unless_332_end
+.include "except_types.pasm"
+ $P334 = new "Exception"
+ $P334["type"] = .CONTROL_LOOP_LAST
+ throw $P334
+ unless_332_end:
+.annotate 'line', 104
+ find_lex $P336, "self"
+ $P337 = $P336."commandline_prompt"()
+ set $P335, $P337
+ defined $I339, $P335
+ if $I339, default_338
+ new $P340, "String"
+ assign $P340, "> "
+ set $P335, $P340
+ default_338:
+ store_lex "$prompt", $P335
+.annotate 'line', 105
+ find_lex $P341, "$stdin"
+ find_lex $P342, "$prompt"
+ set $S343, $P342
+ $P344 = $P341."readline_interactive"($S343)
+ store_lex "$code", $P344
+.annotate 'line', 107
+ find_lex $P346, "$code"
+ isnull $I347, $P346
+ unless $I347, if_345_end
+.include "except_types.pasm"
+ $P348 = new "Exception"
+ $P348["type"] = .CONTROL_LOOP_LAST
+ throw $P348
+ if_345_end:
+.annotate 'line', 110
+ getstdout $P349
+ tell $I350, $P349
+ new $P351, 'Integer'
+ set $P351, $I350
+ store_lex "$*AUTOPRINTPOS", $P351
+.annotate 'line', 112
+ find_lex $P354, "$code"
+ if $P354, if_353
+ set $P352, $P354
+ goto if_353_end
+ if_353:
+ .const 'Sub' $P356 = "28_1274564776.02218"
+ capture_lex $P356
+ $P404 = $P356()
+ set $P352, $P404
+ if_353_end:
+.annotate 'line', 101
+ .return ($P352)
+.end
+
+
+.namespace ["HLL";"Compiler"]
+.sub "_block355" :anon :subid("28_1274564776.02218") :outer("27_1274564776.02218")
+.annotate 'line', 112
+ .const 'Sub' $P362 = "29_1274564776.02218"
+ capture_lex $P362
+.annotate 'line', 114
+ new $P357, "Undef"
+ .lex "$output", $P357
+.annotate 'line', 113
+ find_lex $P358, "$code"
+ concat $P359, $P358, "\n"
+ store_lex "$code", $P359
+ find_lex $P360, "$output"
+.annotate 'line', 115
+ .const 'Sub' $P362 = "29_1274564776.02218"
+ capture_lex $P362
+ $P362()
+.annotate 'line', 122
+ find_lex $P383, "$output"
+ isnull $I384, $P383
+ unless $I384, if_382_end
+.include "except_types.pasm"
+ $P385 = new "Exception"
+ $P385["type"] = .CONTROL_LOOP_NEXT
+ throw $P385
+ if_382_end:
+.annotate 'line', 124
+ find_lex $P388, "$target"
+ isfalse $I389, $P388
+ if $I389, if_387
+.annotate 'line', 126
+ find_lex $P395, "$target"
+ set $S396, $P395
+ iseq $I397, $S396, "pir"
+ if $I397, if_394
+.annotate 'line', 129
+ find_lex $P399, "self"
+ find_lex $P400, "$output"
+ find_lex $P401, "$target"
+ find_lex $P402, "%adverbs"
+ $P403 = $P399."dumper"($P400, $P401, $P402 :flat)
+.annotate 'line', 128
+ set $P393, $P403
+.annotate 'line', 126
+ goto if_394_end
+ if_394:
+.annotate 'line', 127
+ find_lex $P398, "$output"
+ say $P398
+ if_394_end:
+.annotate 'line', 126
+ set $P386, $P393
+.annotate 'line', 124
+ goto if_387_end
+ if_387:
+.annotate 'line', 125
+ find_lex $P390, "self"
+ find_lex $P391, "$output"
+ $P392 = $P390."autoprint"($P391)
+.annotate 'line', 124
+ set $P386, $P392
+ if_387_end:
+.annotate 'line', 112
+ .return ($P386)
+.end
+
+
+.namespace ["HLL";"Compiler"]
+.sub "_block361" :anon :subid("29_1274564776.02218") :outer("28_1274564776.02218")
+.annotate 'line', 115
+ .const 'Sub' $P373 = "30_1274564776.02218"
+ capture_lex $P373
+ new $P369, 'ExceptionHandler'
+ set_addr $P369, control_368
+ $P369."handle_types_except"(57, 58, 59, 60, 62, 63, 64, 65, 66)
+ push_eh $P369
+.annotate 'line', 116
+ find_lex $P363, "self"
+ find_lex $P364, "$code"
+ find_lex $P365, "%adverbs"
+ $P366 = $P363."eval"($P364, $P365 :flat)
+ store_lex "$output", $P366
+.annotate 'line', 115
+ pop_eh
+ goto skip_handler_367
+ control_368:
+.annotate 'line', 117
+ .local pmc exception
+ .get_results (exception)
+ .const 'Sub' $P373 = "30_1274564776.02218"
+ newclosure $P379, $P373
+ $P379(exception)
+ new $P380, 'Integer'
+ set $P380, 1
+ set exception["handled"], $P380
+ set $I381, exception["handled"]
+ ne $I381, 1, nothandled_371
+ handled_370:
+ .return (exception)
+ nothandled_371:
+ rethrow exception
+ skip_handler_367:
+.annotate 'line', 115
+ .return ()
+.end
+
+
+.namespace ["HLL";"Compiler"]
+.sub "_block372" :anon :subid("30_1274564776.02218") :outer("29_1274564776.02218")
+ .param pmc param_374
+.annotate 'line', 117
+ .lex "$_", param_374
+ find_lex $P375, "$_"
+ .lex "$!", $P375
+.annotate 'line', 118
+ find_lex $P376, "$!"
+ concat $P377, $P376, "\n"
+ print $P377
+.annotate 'line', 119
+.include "except_types.pasm"
+ $P378 = new "Exception"
+ $P378["type"] = .CONTROL_LOOP_NEXT
+ throw $P378
+.annotate 'line', 117
+ .return ($P378)
+.end
+
+
+.namespace ["HLL";"Compiler"]
+.sub "eval" :subid("31_1274564776.02218") :method :outer("11_1274564776.02218")
+ .param pmc param_412
+ .param pmc param_413 :slurpy
+ .param pmc param_414 :slurpy :named
+.annotate 'line', 135
+ .const 'Sub' $P433 = "32_1274564776.02218"
+ capture_lex $P433
+ new $P411, 'ExceptionHandler'
+ set_addr $P411, control_410
+ $P411."handle_types"(57)
+ push_eh $P411
+ .lex "self", self
+ .lex "$code", param_412
+ .lex "@args", param_413
+ .lex "%adverbs", param_414
+.annotate 'line', 136
+ new $P415, "Undef"
+ .lex "$output", $P415
+.annotate 'line', 135
+ find_lex $P416, "$output"
+.annotate 'line', 137
+ find_lex $P417, "self"
+ find_lex $P418, "$code"
+ find_lex $P419, "%adverbs"
+ $P420 = $P417."compile"($P418, $P419 :flat)
+ store_lex "$output", $P420
+.annotate 'line', 139
+ find_lex $P424, "$output"
+ isa $I425, $P424, "String"
+ new $P426, 'Integer'
+ set $P426, $I425
+ isfalse $I427, $P426
+ if $I427, if_423
+ new $P422, 'Integer'
+ set $P422, $I427
+ goto if_423_end
+ if_423:
+.annotate 'line', 140
+ find_lex $P428, "%adverbs"
+ unless_null $P428, vivify_62
+ $P428 = root_new ['parrot';'Hash']
+ vivify_62:
+ set $P429, $P428["target"]
+ unless_null $P429, vivify_63
+ new $P429, "Undef"
+ vivify_63:
+ set $S430, $P429
+ iseq $I431, $S430, ""
+ new $P422, 'Integer'
+ set $P422, $I431
+ if_423_end:
+ unless $P422, if_421_end
+ .const 'Sub' $P433 = "32_1274564776.02218"
+ capture_lex $P433
+ $P433()
+ if_421_end:
+.annotate 'line', 139
+ find_lex $P450, "$output"
+.annotate 'line', 135
+ .return ($P450)
+ control_410:
+ .local pmc exception
+ .get_results (exception)
+ getattribute $P451, exception, "payload"
+ .return ($P451)
+.end
+
+
+.namespace ["HLL";"Compiler"]
+.sub "_block432" :anon :subid("32_1274564776.02218") :outer("31_1274564776.02218")
+.annotate 'line', 141
+ new $P434, "Undef"
+ .lex "$outer_ctx", $P434
+ find_lex $P435, "%adverbs"
+ unless_null $P435, vivify_64
+ $P435 = root_new ['parrot';'Hash']
+ vivify_64:
+ set $P436, $P435["outer_ctx"]
+ unless_null $P436, vivify_65
+ new $P436, "Undef"
+ vivify_65:
+ store_lex "$outer_ctx", $P436
+.annotate 'line', 142
+ find_lex $P438, "$outer_ctx"
+ defined $I439, $P438
+ unless $I439, if_437_end
+.annotate 'line', 143
+ find_lex $P440, "$output"
+ unless_null $P440, vivify_66
+ $P440 = root_new ['parrot';'ResizablePMCArray']
+ vivify_66:
+ set $P441, $P440[0]
+ unless_null $P441, vivify_67
+ new $P441, "Undef"
+ vivify_67:
+ find_lex $P442, "$outer_ctx"
+ unless_null $P442, vivify_68
+ $P442 = root_new ['parrot';'Hash']
+ vivify_68:
+ set $P443, $P442["current_sub"]
+ unless_null $P443, vivify_69
+ new $P443, "Undef"
+ vivify_69:
+ $P441."set_outer"($P443)
+ if_437_end:
+.annotate 'line', 146
+ find_lex $P444, "%adverbs"
+ unless_null $P444, vivify_70
+ $P444 = root_new ['parrot';'Hash']
+ vivify_70:
+ set $P445, $P444["trace"]
+ unless_null $P445, vivify_71
+ new $P445, "Undef"
+ vivify_71:
+ set $I446, $P445
+ trace $I446
+.annotate 'line', 147
+ find_lex $P447, "$output"
+ find_lex $P448, "@args"
+ $P449 = $P447($P448 :flat)
+ store_lex "$output", $P449
+.annotate 'line', 148
+ trace 0
+.annotate 'line', 140
+ .return ()
+.end
+
+
.namespace []
-.sub "_block286" :load :anon :subid("25_1274022881.57388")
+.sub "_block455" :load :anon :subid("33_1274564776.02218")
.annotate 'line', 1
- .const 'Sub' $P288 = "10_1274022881.57388"
- $P289 = $P288()
- .return ($P289)
+ .const 'Sub' $P457 = "10_1274564776.02218"
+ $P458 = $P457()
+ .return ($P458)
.end
Modified: branches/ucs4_encoding/ext/nqp-rx/src/stage0/NQP-s0.pir
==============================================================================
--- branches/ucs4_encoding/ext/nqp-rx/src/stage0/NQP-s0.pir Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/ext/nqp-rx/src/stage0/NQP-s0.pir Mon May 24 21:18:41 2010 (r46974)
@@ -15,403 +15,403 @@
### .include 'gen/nqp-grammar.pir'
.namespace []
-.sub "_block11" :anon :subid("10_1274022894.43745")
+.sub "_block11" :anon :subid("10_1274564776.41408")
.annotate 'line', 0
get_hll_global $P14, ["NQP";"Grammar"], "_block13"
capture_lex $P14
.annotate 'line', 4
get_hll_global $P14, ["NQP";"Grammar"], "_block13"
capture_lex $P14
- $P1350 = $P14()
+ $P1394 = $P14()
.annotate 'line', 1
- .return ($P1350)
- .const 'Sub' $P1352 = "344_1274022894.43745"
- .return ($P1352)
+ .return ($P1394)
+ .const 'Sub' $P1396 = "355_1274564776.41408"
+ .return ($P1396)
.end
.namespace []
-.sub "" :load :init :subid("post345") :outer("10_1274022894.43745")
+.sub "" :load :init :subid("post356") :outer("10_1274564776.41408")
.annotate 'line', 0
- .const 'Sub' $P12 = "10_1274022894.43745"
+ .const 'Sub' $P12 = "10_1274564776.41408"
.local pmc block
set block, $P12
- $P1355 = get_root_global ["parrot"], "P6metaclass"
- $P1355."new_class"("NQP::Grammar", "HLL::Grammar" :named("parent"))
+ $P1399 = get_root_global ["parrot"], "P6metaclass"
+ $P1399."new_class"("NQP::Grammar", "HLL::Grammar" :named("parent"))
.end
.namespace ["NQP";"Grammar"]
-.sub "_block13" :subid("11_1274022894.43745") :outer("10_1274022894.43745")
+.sub "_block13" :subid("11_1274564776.41408") :outer("10_1274564776.41408")
.annotate 'line', 4
get_hll_global $P1290, ["NQP";"Regex"], "_block1289"
capture_lex $P1290
- .const 'Sub' $P1276 = "329_1274022894.43745"
+ .const 'Sub' $P1276 = "329_1274564776.41408"
capture_lex $P1276
- .const 'Sub' $P1270 = "327_1274022894.43745"
+ .const 'Sub' $P1270 = "327_1274564776.41408"
capture_lex $P1270
- .const 'Sub' $P1264 = "325_1274022894.43745"
+ .const 'Sub' $P1264 = "325_1274564776.41408"
capture_lex $P1264
- .const 'Sub' $P1258 = "323_1274022894.43745"
+ .const 'Sub' $P1258 = "323_1274564776.41408"
capture_lex $P1258
- .const 'Sub' $P1252 = "321_1274022894.43745"
+ .const 'Sub' $P1252 = "321_1274564776.41408"
capture_lex $P1252
- .const 'Sub' $P1246 = "319_1274022894.43745"
+ .const 'Sub' $P1246 = "319_1274564776.41408"
capture_lex $P1246
- .const 'Sub' $P1239 = "317_1274022894.43745"
+ .const 'Sub' $P1239 = "317_1274564776.41408"
capture_lex $P1239
- .const 'Sub' $P1232 = "315_1274022894.43745"
+ .const 'Sub' $P1232 = "315_1274564776.41408"
capture_lex $P1232
- .const 'Sub' $P1225 = "313_1274022894.43745"
+ .const 'Sub' $P1225 = "313_1274564776.41408"
capture_lex $P1225
- .const 'Sub' $P1218 = "311_1274022894.43745"
+ .const 'Sub' $P1218 = "311_1274564776.41408"
capture_lex $P1218
- .const 'Sub' $P1212 = "309_1274022894.43745"
+ .const 'Sub' $P1212 = "309_1274564776.41408"
capture_lex $P1212
- .const 'Sub' $P1205 = "307_1274022894.43745"
+ .const 'Sub' $P1205 = "307_1274564776.41408"
capture_lex $P1205
- .const 'Sub' $P1198 = "305_1274022894.43745"
+ .const 'Sub' $P1198 = "305_1274564776.41408"
capture_lex $P1198
- .const 'Sub' $P1191 = "303_1274022894.43745"
+ .const 'Sub' $P1191 = "303_1274564776.41408"
capture_lex $P1191
- .const 'Sub' $P1184 = "301_1274022894.43745"
+ .const 'Sub' $P1184 = "301_1274564776.41408"
capture_lex $P1184
- .const 'Sub' $P1177 = "299_1274022894.43745"
+ .const 'Sub' $P1177 = "299_1274564776.41408"
capture_lex $P1177
- .const 'Sub' $P1170 = "297_1274022894.43745"
+ .const 'Sub' $P1170 = "297_1274564776.41408"
capture_lex $P1170
- .const 'Sub' $P1163 = "295_1274022894.43745"
+ .const 'Sub' $P1163 = "295_1274564776.41408"
capture_lex $P1163
- .const 'Sub' $P1156 = "293_1274022894.43745"
+ .const 'Sub' $P1156 = "293_1274564776.41408"
capture_lex $P1156
- .const 'Sub' $P1149 = "291_1274022894.43745"
+ .const 'Sub' $P1149 = "291_1274564776.41408"
capture_lex $P1149
- .const 'Sub' $P1142 = "289_1274022894.43745"
+ .const 'Sub' $P1142 = "289_1274564776.41408"
capture_lex $P1142
- .const 'Sub' $P1135 = "287_1274022894.43745"
+ .const 'Sub' $P1135 = "287_1274564776.41408"
capture_lex $P1135
- .const 'Sub' $P1128 = "285_1274022894.43745"
+ .const 'Sub' $P1128 = "285_1274564776.41408"
capture_lex $P1128
- .const 'Sub' $P1121 = "283_1274022894.43745"
+ .const 'Sub' $P1121 = "283_1274564776.41408"
capture_lex $P1121
- .const 'Sub' $P1114 = "281_1274022894.43745"
+ .const 'Sub' $P1114 = "281_1274564776.41408"
capture_lex $P1114
- .const 'Sub' $P1107 = "279_1274022894.43745"
+ .const 'Sub' $P1107 = "279_1274564776.41408"
capture_lex $P1107
- .const 'Sub' $P1100 = "277_1274022894.43745"
+ .const 'Sub' $P1100 = "277_1274564776.41408"
capture_lex $P1100
- .const 'Sub' $P1093 = "275_1274022894.43745"
+ .const 'Sub' $P1093 = "275_1274564776.41408"
capture_lex $P1093
- .const 'Sub' $P1086 = "273_1274022894.43745"
+ .const 'Sub' $P1086 = "273_1274564776.41408"
capture_lex $P1086
- .const 'Sub' $P1079 = "271_1274022894.43745"
+ .const 'Sub' $P1079 = "271_1274564776.41408"
capture_lex $P1079
- .const 'Sub' $P1072 = "269_1274022894.43745"
+ .const 'Sub' $P1072 = "269_1274564776.41408"
capture_lex $P1072
- .const 'Sub' $P1065 = "267_1274022894.43745"
+ .const 'Sub' $P1065 = "267_1274564776.41408"
capture_lex $P1065
- .const 'Sub' $P1058 = "265_1274022894.43745"
+ .const 'Sub' $P1058 = "265_1274564776.41408"
capture_lex $P1058
- .const 'Sub' $P1051 = "263_1274022894.43745"
+ .const 'Sub' $P1051 = "263_1274564776.41408"
capture_lex $P1051
- .const 'Sub' $P1044 = "261_1274022894.43745"
+ .const 'Sub' $P1044 = "261_1274564776.41408"
capture_lex $P1044
- .const 'Sub' $P1037 = "259_1274022894.43745"
+ .const 'Sub' $P1037 = "259_1274564776.41408"
capture_lex $P1037
- .const 'Sub' $P1030 = "257_1274022894.43745"
+ .const 'Sub' $P1030 = "257_1274564776.41408"
capture_lex $P1030
- .const 'Sub' $P1024 = "255_1274022894.43745"
+ .const 'Sub' $P1024 = "255_1274564776.41408"
capture_lex $P1024
- .const 'Sub' $P1017 = "253_1274022894.43745"
+ .const 'Sub' $P1017 = "253_1274564776.41408"
capture_lex $P1017
- .const 'Sub' $P1010 = "251_1274022894.43745"
+ .const 'Sub' $P1010 = "251_1274564776.41408"
capture_lex $P1010
- .const 'Sub' $P1003 = "249_1274022894.43745"
+ .const 'Sub' $P1003 = "249_1274564776.41408"
capture_lex $P1003
- .const 'Sub' $P996 = "247_1274022894.43745"
+ .const 'Sub' $P996 = "247_1274564776.41408"
capture_lex $P996
- .const 'Sub' $P989 = "245_1274022894.43745"
+ .const 'Sub' $P989 = "245_1274564776.41408"
capture_lex $P989
- .const 'Sub' $P982 = "243_1274022894.43745"
+ .const 'Sub' $P982 = "243_1274564776.41408"
capture_lex $P982
- .const 'Sub' $P975 = "241_1274022894.43745"
+ .const 'Sub' $P975 = "241_1274564776.41408"
capture_lex $P975
- .const 'Sub' $P969 = "239_1274022894.43745"
+ .const 'Sub' $P969 = "239_1274564776.41408"
capture_lex $P969
- .const 'Sub' $P963 = "237_1274022894.43745"
+ .const 'Sub' $P963 = "237_1274564776.41408"
capture_lex $P963
- .const 'Sub' $P958 = "235_1274022894.43745"
+ .const 'Sub' $P958 = "235_1274564776.41408"
capture_lex $P958
- .const 'Sub' $P952 = "233_1274022894.43745"
+ .const 'Sub' $P952 = "233_1274564776.41408"
capture_lex $P952
- .const 'Sub' $P946 = "231_1274022894.43745"
+ .const 'Sub' $P946 = "231_1274564776.41408"
capture_lex $P946
- .const 'Sub' $P941 = "229_1274022894.43745"
+ .const 'Sub' $P941 = "229_1274564776.41408"
capture_lex $P941
- .const 'Sub' $P936 = "227_1274022894.43745"
+ .const 'Sub' $P936 = "227_1274564776.41408"
capture_lex $P936
- .const 'Sub' $P929 = "225_1274022894.43745"
+ .const 'Sub' $P929 = "225_1274564776.41408"
capture_lex $P929
- .const 'Sub' $P921 = "223_1274022894.43745"
+ .const 'Sub' $P921 = "223_1274564776.41408"
capture_lex $P921
- .const 'Sub' $P916 = "221_1274022894.43745"
+ .const 'Sub' $P916 = "221_1274564776.41408"
capture_lex $P916
- .const 'Sub' $P911 = "219_1274022894.43745"
+ .const 'Sub' $P911 = "219_1274564776.41408"
capture_lex $P911
- .const 'Sub' $P906 = "217_1274022894.43745"
+ .const 'Sub' $P906 = "217_1274564776.41408"
capture_lex $P906
- .const 'Sub' $P898 = "215_1274022894.43745"
+ .const 'Sub' $P898 = "215_1274564776.41408"
capture_lex $P898
- .const 'Sub' $P890 = "213_1274022894.43745"
+ .const 'Sub' $P890 = "213_1274564776.41408"
capture_lex $P890
- .const 'Sub' $P885 = "211_1274022894.43745"
+ .const 'Sub' $P885 = "211_1274564776.41408"
capture_lex $P885
- .const 'Sub' $P880 = "209_1274022894.43745"
+ .const 'Sub' $P880 = "209_1274564776.41408"
capture_lex $P880
- .const 'Sub' $P875 = "207_1274022894.43745"
+ .const 'Sub' $P875 = "207_1274564776.41408"
capture_lex $P875
- .const 'Sub' $P869 = "205_1274022894.43745"
+ .const 'Sub' $P869 = "205_1274564776.41408"
capture_lex $P869
- .const 'Sub' $P863 = "203_1274022894.43745"
+ .const 'Sub' $P863 = "203_1274564776.41408"
capture_lex $P863
- .const 'Sub' $P857 = "201_1274022894.43745"
+ .const 'Sub' $P857 = "201_1274564776.41408"
capture_lex $P857
- .const 'Sub' $P851 = "199_1274022894.43745"
+ .const 'Sub' $P851 = "199_1274564776.41408"
capture_lex $P851
- .const 'Sub' $P845 = "197_1274022894.43745"
+ .const 'Sub' $P845 = "197_1274564776.41408"
capture_lex $P845
- .const 'Sub' $P840 = "195_1274022894.43745"
+ .const 'Sub' $P840 = "195_1274564776.41408"
capture_lex $P840
- .const 'Sub' $P835 = "193_1274022894.43745"
+ .const 'Sub' $P835 = "193_1274564776.41408"
capture_lex $P835
- .const 'Sub' $P822 = "189_1274022894.43745"
+ .const 'Sub' $P822 = "189_1274564776.41408"
capture_lex $P822
- .const 'Sub' $P814 = "187_1274022894.43745"
+ .const 'Sub' $P814 = "187_1274564776.41408"
capture_lex $P814
- .const 'Sub' $P808 = "185_1274022894.43745"
+ .const 'Sub' $P808 = "185_1274564776.41408"
capture_lex $P808
- .const 'Sub' $P801 = "183_1274022894.43745"
+ .const 'Sub' $P801 = "183_1274564776.41408"
capture_lex $P801
- .const 'Sub' $P795 = "181_1274022894.43745"
+ .const 'Sub' $P795 = "181_1274564776.41408"
capture_lex $P795
- .const 'Sub' $P787 = "179_1274022894.43745"
+ .const 'Sub' $P787 = "179_1274564776.41408"
capture_lex $P787
- .const 'Sub' $P779 = "177_1274022894.43745"
+ .const 'Sub' $P779 = "177_1274564776.41408"
capture_lex $P779
- .const 'Sub' $P773 = "175_1274022894.43745"
+ .const 'Sub' $P773 = "175_1274564776.41408"
capture_lex $P773
- .const 'Sub' $P767 = "173_1274022894.43745"
+ .const 'Sub' $P767 = "173_1274564776.41408"
capture_lex $P767
- .const 'Sub' $P752 = "169_1274022894.43745"
+ .const 'Sub' $P752 = "169_1274564776.41408"
capture_lex $P752
- .const 'Sub' $P715 = "167_1274022894.43745"
+ .const 'Sub' $P715 = "167_1274564776.41408"
capture_lex $P715
- .const 'Sub' $P707 = "165_1274022894.43745"
+ .const 'Sub' $P707 = "165_1274564776.41408"
capture_lex $P707
- .const 'Sub' $P701 = "163_1274022894.43745"
+ .const 'Sub' $P701 = "163_1274564776.41408"
capture_lex $P701
- .const 'Sub' $P691 = "161_1274022894.43745"
+ .const 'Sub' $P691 = "161_1274564776.41408"
capture_lex $P691
- .const 'Sub' $P677 = "159_1274022894.43745"
+ .const 'Sub' $P677 = "159_1274564776.41408"
capture_lex $P677
- .const 'Sub' $P668 = "157_1274022894.43745"
+ .const 'Sub' $P668 = "157_1274564776.41408"
capture_lex $P668
- .const 'Sub' $P649 = "155_1274022894.43745"
+ .const 'Sub' $P649 = "155_1274564776.41408"
capture_lex $P649
- .const 'Sub' $P625 = "153_1274022894.43745"
+ .const 'Sub' $P625 = "153_1274564776.41408"
capture_lex $P625
- .const 'Sub' $P618 = "151_1274022894.43745"
+ .const 'Sub' $P618 = "151_1274564776.41408"
capture_lex $P618
- .const 'Sub' $P611 = "149_1274022894.43745"
+ .const 'Sub' $P611 = "149_1274564776.41408"
capture_lex $P611
- .const 'Sub' $P601 = "145_1274022894.43745"
+ .const 'Sub' $P601 = "145_1274564776.41408"
capture_lex $P601
- .const 'Sub' $P593 = "143_1274022894.43745"
+ .const 'Sub' $P593 = "143_1274564776.41408"
capture_lex $P593
- .const 'Sub' $P587 = "141_1274022894.43745"
+ .const 'Sub' $P587 = "141_1274564776.41408"
capture_lex $P587
- .const 'Sub' $P573 = "139_1274022894.43745"
+ .const 'Sub' $P573 = "139_1274564776.41408"
capture_lex $P573
- .const 'Sub' $P566 = "137_1274022894.43745"
+ .const 'Sub' $P566 = "137_1274564776.41408"
capture_lex $P566
- .const 'Sub' $P559 = "135_1274022894.43745"
+ .const 'Sub' $P559 = "135_1274564776.41408"
capture_lex $P559
- .const 'Sub' $P552 = "133_1274022894.43745"
+ .const 'Sub' $P552 = "133_1274564776.41408"
capture_lex $P552
- .const 'Sub' $P525 = "129_1274022894.43745"
+ .const 'Sub' $P525 = "129_1274564776.41408"
capture_lex $P525
- .const 'Sub' $P516 = "127_1274022894.43745"
+ .const 'Sub' $P516 = "127_1274564776.41408"
capture_lex $P516
- .const 'Sub' $P509 = "125_1274022894.43745"
+ .const 'Sub' $P509 = "125_1274564776.41408"
capture_lex $P509
- .const 'Sub' $P500 = "121_1274022894.43745"
+ .const 'Sub' $P500 = "121_1274564776.41408"
capture_lex $P500
- .const 'Sub' $P495 = "119_1274022894.43745"
+ .const 'Sub' $P495 = "119_1274564776.41408"
capture_lex $P495
- .const 'Sub' $P483 = "117_1274022894.43745"
+ .const 'Sub' $P483 = "117_1274564776.41408"
capture_lex $P483
- .const 'Sub' $P471 = "115_1274022894.43745"
+ .const 'Sub' $P471 = "115_1274564776.41408"
capture_lex $P471
- .const 'Sub' $P463 = "113_1274022894.43745"
+ .const 'Sub' $P463 = "113_1274564776.41408"
capture_lex $P463
- .const 'Sub' $P458 = "111_1274022894.43745"
+ .const 'Sub' $P458 = "111_1274564776.41408"
capture_lex $P458
- .const 'Sub' $P452 = "109_1274022894.43745"
+ .const 'Sub' $P452 = "109_1274564776.41408"
capture_lex $P452
- .const 'Sub' $P446 = "107_1274022894.43745"
+ .const 'Sub' $P446 = "107_1274564776.41408"
capture_lex $P446
- .const 'Sub' $P440 = "105_1274022894.43745"
+ .const 'Sub' $P440 = "105_1274564776.41408"
capture_lex $P440
- .const 'Sub' $P434 = "103_1274022894.43745"
+ .const 'Sub' $P434 = "103_1274564776.41408"
capture_lex $P434
- .const 'Sub' $P428 = "101_1274022894.43745"
+ .const 'Sub' $P428 = "101_1274564776.41408"
capture_lex $P428
- .const 'Sub' $P422 = "99_1274022894.43745"
+ .const 'Sub' $P422 = "99_1274564776.41408"
capture_lex $P422
- .const 'Sub' $P416 = "97_1274022894.43745"
+ .const 'Sub' $P416 = "97_1274564776.41408"
capture_lex $P416
- .const 'Sub' $P410 = "95_1274022894.43745"
+ .const 'Sub' $P410 = "95_1274564776.41408"
capture_lex $P410
- .const 'Sub' $P402 = "93_1274022894.43745"
+ .const 'Sub' $P402 = "93_1274564776.41408"
capture_lex $P402
- .const 'Sub' $P394 = "91_1274022894.43745"
+ .const 'Sub' $P394 = "91_1274564776.41408"
capture_lex $P394
- .const 'Sub' $P382 = "87_1274022894.43745"
+ .const 'Sub' $P382 = "87_1274564776.41408"
capture_lex $P382
- .const 'Sub' $P374 = "85_1274022894.43745"
+ .const 'Sub' $P374 = "85_1274564776.41408"
capture_lex $P374
- .const 'Sub' $P364 = "81_1274022894.43745"
+ .const 'Sub' $P364 = "81_1274564776.41408"
capture_lex $P364
- .const 'Sub' $P357 = "79_1274022894.43745"
+ .const 'Sub' $P357 = "79_1274564776.41408"
capture_lex $P357
- .const 'Sub' $P350 = "77_1274022894.43745"
+ .const 'Sub' $P350 = "77_1274564776.41408"
capture_lex $P350
- .const 'Sub' $P338 = "73_1274022894.43745"
+ .const 'Sub' $P338 = "73_1274564776.41408"
capture_lex $P338
- .const 'Sub' $P330 = "71_1274022894.43745"
+ .const 'Sub' $P330 = "71_1274564776.41408"
capture_lex $P330
- .const 'Sub' $P322 = "69_1274022894.43745"
+ .const 'Sub' $P322 = "69_1274564776.41408"
capture_lex $P322
- .const 'Sub' $P302 = "67_1274022894.43745"
+ .const 'Sub' $P302 = "67_1274564776.41408"
capture_lex $P302
- .const 'Sub' $P293 = "65_1274022894.43745"
+ .const 'Sub' $P293 = "65_1274564776.41408"
capture_lex $P293
- .const 'Sub' $P275 = "62_1274022894.43745"
+ .const 'Sub' $P275 = "62_1274564776.41408"
capture_lex $P275
- .const 'Sub' $P255 = "60_1274022894.43745"
+ .const 'Sub' $P255 = "60_1274564776.41408"
capture_lex $P255
- .const 'Sub' $P246 = "56_1274022894.43745"
+ .const 'Sub' $P246 = "56_1274564776.41408"
capture_lex $P246
- .const 'Sub' $P241 = "54_1274022894.43745"
+ .const 'Sub' $P241 = "54_1274564776.41408"
capture_lex $P241
- .const 'Sub' $P232 = "50_1274022894.43745"
+ .const 'Sub' $P232 = "50_1274564776.41408"
capture_lex $P232
- .const 'Sub' $P227 = "48_1274022894.43745"
+ .const 'Sub' $P227 = "48_1274564776.41408"
capture_lex $P227
- .const 'Sub' $P219 = "46_1274022894.43745"
+ .const 'Sub' $P219 = "46_1274564776.41408"
capture_lex $P219
- .const 'Sub' $P212 = "44_1274022894.43745"
+ .const 'Sub' $P212 = "44_1274564776.41408"
capture_lex $P212
- .const 'Sub' $P206 = "42_1274022894.43745"
+ .const 'Sub' $P206 = "42_1274564776.41408"
capture_lex $P206
- .const 'Sub' $P198 = "40_1274022894.43745"
+ .const 'Sub' $P198 = "40_1274564776.41408"
capture_lex $P198
- .const 'Sub' $P192 = "38_1274022894.43745"
+ .const 'Sub' $P192 = "38_1274564776.41408"
capture_lex $P192
- .const 'Sub' $P186 = "36_1274022894.43745"
+ .const 'Sub' $P186 = "36_1274564776.41408"
capture_lex $P186
- .const 'Sub' $P170 = "33_1274022894.43745"
+ .const 'Sub' $P170 = "33_1274564776.41408"
capture_lex $P170
- .const 'Sub' $P157 = "31_1274022894.43745"
+ .const 'Sub' $P157 = "31_1274564776.41408"
capture_lex $P157
- .const 'Sub' $P150 = "29_1274022894.43745"
+ .const 'Sub' $P150 = "29_1274564776.41408"
capture_lex $P150
- .const 'Sub' $P100 = "26_1274022894.43745"
+ .const 'Sub' $P100 = "26_1274564776.41408"
capture_lex $P100
- .const 'Sub' $P82 = "23_1274022894.43745"
+ .const 'Sub' $P82 = "23_1274564776.41408"
capture_lex $P82
- .const 'Sub' $P68 = "21_1274022894.43745"
+ .const 'Sub' $P68 = "21_1274564776.41408"
capture_lex $P68
- .const 'Sub' $P54 = "19_1274022894.43745"
+ .const 'Sub' $P54 = "19_1274564776.41408"
capture_lex $P54
- .const 'Sub' $P46 = "17_1274022894.43745"
+ .const 'Sub' $P46 = "17_1274564776.41408"
capture_lex $P46
- .const 'Sub' $P39 = "15_1274022894.43745"
+ .const 'Sub' $P39 = "15_1274564776.41408"
capture_lex $P39
- .const 'Sub' $P33 = "13_1274022894.43745"
+ .const 'Sub' $P33 = "13_1274564776.41408"
capture_lex $P33
- .const 'Sub' $P15 = "12_1274022894.43745"
+ .const 'Sub' $P15 = "12_1274564776.41408"
capture_lex $P15
.annotate 'line', 548
get_hll_global $P1290, ["NQP";"Regex"], "_block1289"
capture_lex $P1290
- $P1329 = $P1290()
+ $P1373 = $P1290()
.annotate 'line', 4
- .return ($P1329)
- .const 'Sub' $P1331 = "343_1274022894.43745"
- .return ($P1331)
+ .return ($P1373)
+ .const 'Sub' $P1375 = "354_1274564776.41408"
+ .return ($P1375)
.end
.namespace ["NQP";"Grammar"]
-.sub "" :load :init :subid("post346") :outer("11_1274022894.43745")
+.sub "" :load :init :subid("post357") :outer("11_1274564776.41408")
.annotate 'line', 4
get_hll_global $P14, ["NQP";"Grammar"], "_block13"
.local pmc block
set block, $P14
.annotate 'line', 432
- get_hll_global $P1334, ["NQP"], "Grammar"
- $P1334."O"(":prec<y=>, :assoc<unary>", "%methodop")
+ get_hll_global $P1378, ["NQP"], "Grammar"
+ $P1378."O"(":prec<y=>, :assoc<unary>", "%methodop")
.annotate 'line', 433
- get_hll_global $P1335, ["NQP"], "Grammar"
- $P1335."O"(":prec<x=>, :assoc<unary>", "%autoincrement")
+ get_hll_global $P1379, ["NQP"], "Grammar"
+ $P1379."O"(":prec<x=>, :assoc<unary>", "%autoincrement")
.annotate 'line', 434
- get_hll_global $P1336, ["NQP"], "Grammar"
- $P1336."O"(":prec<w=>, :assoc<left>", "%exponentiation")
+ get_hll_global $P1380, ["NQP"], "Grammar"
+ $P1380."O"(":prec<w=>, :assoc<left>", "%exponentiation")
.annotate 'line', 435
- get_hll_global $P1337, ["NQP"], "Grammar"
- $P1337."O"(":prec<v=>, :assoc<unary>", "%symbolic_unary")
+ get_hll_global $P1381, ["NQP"], "Grammar"
+ $P1381."O"(":prec<v=>, :assoc<unary>", "%symbolic_unary")
.annotate 'line', 436
- get_hll_global $P1338, ["NQP"], "Grammar"
- $P1338."O"(":prec<u=>, :assoc<left>", "%multiplicative")
+ get_hll_global $P1382, ["NQP"], "Grammar"
+ $P1382."O"(":prec<u=>, :assoc<left>", "%multiplicative")
.annotate 'line', 437
- get_hll_global $P1339, ["NQP"], "Grammar"
- $P1339."O"(":prec<t=>, :assoc<left>", "%additive")
+ get_hll_global $P1383, ["NQP"], "Grammar"
+ $P1383."O"(":prec<t=>, :assoc<left>", "%additive")
.annotate 'line', 438
- get_hll_global $P1340, ["NQP"], "Grammar"
- $P1340."O"(":prec<r=>, :assoc<left>", "%concatenation")
+ get_hll_global $P1384, ["NQP"], "Grammar"
+ $P1384."O"(":prec<r=>, :assoc<left>", "%concatenation")
.annotate 'line', 439
- get_hll_global $P1341, ["NQP"], "Grammar"
- $P1341."O"(":prec<m=>, :assoc<left>", "%relational")
+ get_hll_global $P1385, ["NQP"], "Grammar"
+ $P1385."O"(":prec<m=>, :assoc<left>", "%relational")
.annotate 'line', 440
- get_hll_global $P1342, ["NQP"], "Grammar"
- $P1342."O"(":prec<l=>, :assoc<left>", "%tight_and")
+ get_hll_global $P1386, ["NQP"], "Grammar"
+ $P1386."O"(":prec<l=>, :assoc<left>", "%tight_and")
.annotate 'line', 441
- get_hll_global $P1343, ["NQP"], "Grammar"
- $P1343."O"(":prec<k=>, :assoc<left>", "%tight_or")
+ get_hll_global $P1387, ["NQP"], "Grammar"
+ $P1387."O"(":prec<k=>, :assoc<left>", "%tight_or")
.annotate 'line', 442
- get_hll_global $P1344, ["NQP"], "Grammar"
- $P1344."O"(":prec<j=>, :assoc<right>", "%conditional")
+ get_hll_global $P1388, ["NQP"], "Grammar"
+ $P1388."O"(":prec<j=>, :assoc<right>", "%conditional")
.annotate 'line', 443
- get_hll_global $P1345, ["NQP"], "Grammar"
- $P1345."O"(":prec<i=>, :assoc<right>", "%assignment")
+ get_hll_global $P1389, ["NQP"], "Grammar"
+ $P1389."O"(":prec<i=>, :assoc<right>", "%assignment")
.annotate 'line', 444
- get_hll_global $P1346, ["NQP"], "Grammar"
- $P1346."O"(":prec<g=>, :assoc<list>, :nextterm<nulltermish>", "%comma")
+ get_hll_global $P1390, ["NQP"], "Grammar"
+ $P1390."O"(":prec<g=>, :assoc<list>, :nextterm<nulltermish>", "%comma")
.annotate 'line', 445
- get_hll_global $P1347, ["NQP"], "Grammar"
- $P1347."O"(":prec<f=>, :assoc<list>", "%list_infix")
+ get_hll_global $P1391, ["NQP"], "Grammar"
+ $P1391."O"(":prec<f=>, :assoc<list>", "%list_infix")
.annotate 'line', 446
- get_hll_global $P1348, ["NQP"], "Grammar"
- $P1348."O"(":prec<e=>, :assoc<unary>", "%list_prefix")
+ get_hll_global $P1392, ["NQP"], "Grammar"
+ $P1392."O"(":prec<e=>, :assoc<unary>", "%list_prefix")
.annotate 'line', 431
- $P1349 = get_root_global ["parrot"], "P6metaclass"
- $P1349."new_class"("NQP::Regex", "Regex::P6Regex::Grammar" :named("parent"))
+ $P1393 = get_root_global ["parrot"], "P6metaclass"
+ $P1393."new_class"("NQP::Regex", "Regex::P6Regex::Grammar" :named("parent"))
.end
.namespace ["NQP";"Grammar"]
-.sub "TOP" :subid("12_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "TOP" :subid("12_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
new $P17, 'ExceptionHandler'
set_addr $P17, control_16
@@ -426,55 +426,55 @@
.lex "$*SCOPE", $P19
.annotate 'line', 4
find_lex $P20, "%*LANG"
- unless_null $P20, vivify_347
+ unless_null $P20, vivify_358
get_hll_global $P20, "%LANG"
- unless_null $P20, vivify_348
+ unless_null $P20, vivify_359
die "Contextual %*LANG not found"
- vivify_348:
- vivify_347:
+ vivify_359:
+ vivify_358:
.annotate 'line', 6
get_hll_global $P21, ["NQP"], "Regex"
find_lex $P22, "%*LANG"
- unless_null $P22, vivify_349
+ unless_null $P22, vivify_360
get_hll_global $P22, "%LANG"
- unless_null $P22, vivify_350
+ unless_null $P22, vivify_361
die "Contextual %*LANG not found"
- vivify_350:
+ vivify_361:
store_lex "%*LANG", $P22
- vivify_349:
+ vivify_360:
set $P22["Regex"], $P21
.annotate 'line', 7
get_hll_global $P23, ["NQP"], "RegexActions"
find_lex $P24, "%*LANG"
- unless_null $P24, vivify_351
+ unless_null $P24, vivify_362
get_hll_global $P24, "%LANG"
- unless_null $P24, vivify_352
+ unless_null $P24, vivify_363
die "Contextual %*LANG not found"
- vivify_352:
+ vivify_363:
store_lex "%*LANG", $P24
- vivify_351:
+ vivify_362:
set $P24["Regex-actions"], $P23
.annotate 'line', 8
get_hll_global $P25, ["NQP"], "Grammar"
find_lex $P26, "%*LANG"
- unless_null $P26, vivify_353
+ unless_null $P26, vivify_364
get_hll_global $P26, "%LANG"
- unless_null $P26, vivify_354
+ unless_null $P26, vivify_365
die "Contextual %*LANG not found"
- vivify_354:
+ vivify_365:
store_lex "%*LANG", $P26
- vivify_353:
+ vivify_364:
set $P26["MAIN"], $P25
.annotate 'line', 9
get_hll_global $P27, ["NQP"], "Actions"
find_lex $P28, "%*LANG"
- unless_null $P28, vivify_355
+ unless_null $P28, vivify_366
get_hll_global $P28, "%LANG"
- unless_null $P28, vivify_356
+ unless_null $P28, vivify_367
die "Contextual %*LANG not found"
- vivify_356:
+ vivify_367:
store_lex "%*LANG", $P28
- vivify_355:
+ vivify_366:
set $P28["MAIN-actions"], $P27
.annotate 'line', 10
new $P29, "String"
@@ -494,7 +494,7 @@
.namespace ["NQP";"Grammar"]
-.sub "identifier" :subid("13_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "identifier" :subid("13_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx34_tgt
.local int rx34_pos
@@ -552,7 +552,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__identifier" :subid("14_1274022894.43745") :method
+.sub "!PREFIX__identifier" :subid("14_1274564776.41408") :method
.annotate 'line', 4
$P36 = self."!PREFIX__!subrule"("ident", "")
new $P37, "ResizablePMCArray"
@@ -562,7 +562,7 @@
.namespace ["NQP";"Grammar"]
-.sub "name" :subid("15_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "name" :subid("15_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx40_tgt
.local int rx40_pos
@@ -636,7 +636,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__name" :subid("16_1274022894.43745") :method
+.sub "!PREFIX__name" :subid("16_1274564776.41408") :method
.annotate 'line', 4
new $P42, "ResizablePMCArray"
push $P42, ""
@@ -645,7 +645,7 @@
.namespace ["NQP";"Grammar"]
-.sub "deflongname" :subid("17_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "deflongname" :subid("17_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx47_tgt
.local int rx47_pos
@@ -718,7 +718,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__deflongname" :subid("18_1274022894.43745") :method
+.sub "!PREFIX__deflongname" :subid("18_1274564776.41408") :method
.annotate 'line', 4
$P49 = self."!PREFIX__!subrule"("identifier", "")
new $P50, "ResizablePMCArray"
@@ -728,7 +728,7 @@
.namespace ["NQP";"Grammar"]
-.sub "ENDSTMT" :subid("19_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "ENDSTMT" :subid("19_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx55_tgt
.local int rx55_pos
@@ -860,7 +860,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__ENDSTMT" :subid("20_1274022894.43745") :method
+.sub "!PREFIX__ENDSTMT" :subid("20_1274564776.41408") :method
.annotate 'line', 4
new $P57, "ResizablePMCArray"
push $P57, ""
@@ -869,7 +869,7 @@
.namespace ["NQP";"Grammar"]
-.sub "ws" :subid("21_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "ws" :subid("21_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx69_tgt
.local int rx69_pos
@@ -1024,7 +1024,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__ws" :subid("22_1274022894.43745") :method
+.sub "!PREFIX__ws" :subid("22_1274564776.41408") :method
.annotate 'line', 4
new $P71, "ResizablePMCArray"
push $P71, ""
@@ -1034,9 +1034,9 @@
.namespace ["NQP";"Grammar"]
-.sub "unv" :subid("23_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "unv" :subid("23_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
- .const 'Sub' $P90 = "25_1274022894.43745"
+ .const 'Sub' $P90 = "25_1274564776.41408"
capture_lex $P90
.local string rx83_tgt
.local int rx83_pos
@@ -1082,7 +1082,7 @@
rxanchor88_done:
# rx subrule "before" subtype=zerowidth negate=
rx83_cur."!cursor_pos"(rx83_pos)
- .const 'Sub' $P90 = "25_1274022894.43745"
+ .const 'Sub' $P90 = "25_1274564776.41408"
capture_lex $P90
$P10 = rx83_cur."before"($P90)
unless $P10, rx83_fail
@@ -1161,7 +1161,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__unv" :subid("24_1274022894.43745") :method
+.sub "!PREFIX__unv" :subid("24_1274564776.41408") :method
.annotate 'line', 4
new $P85, "ResizablePMCArray"
push $P85, ""
@@ -1172,7 +1172,7 @@
.namespace ["NQP";"Grammar"]
-.sub "_block89" :anon :subid("25_1274022894.43745") :method :outer("23_1274022894.43745")
+.sub "_block89" :anon :subid("25_1274564776.41408") :method :outer("23_1274564776.41408")
.annotate 'line', 45
.local string rx91_tgt
.local int rx91_pos
@@ -1262,9 +1262,9 @@
.namespace ["NQP";"Grammar"]
-.sub "pod_comment" :subid("26_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "pod_comment" :subid("26_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
- .const 'Sub' $P141 = "28_1274022894.43745"
+ .const 'Sub' $P141 = "28_1274564776.41408"
capture_lex $P141
.local string rx101_tgt
.local int rx101_pos
@@ -1750,7 +1750,7 @@
rxanchor139_done:
# rx subrule "before" subtype=zerowidth negate=
rx101_cur."!cursor_pos"(rx101_pos)
- .const 'Sub' $P141 = "28_1274022894.43745"
+ .const 'Sub' $P141 = "28_1274564776.41408"
capture_lex $P141
$P10 = rx101_cur."before"($P141)
unless $P10, rx101_fail
@@ -1801,7 +1801,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__pod_comment" :subid("27_1274022894.43745") :method
+.sub "!PREFIX__pod_comment" :subid("27_1274564776.41408") :method
.annotate 'line', 4
new $P103, "ResizablePMCArray"
push $P103, ""
@@ -1810,7 +1810,7 @@
.namespace ["NQP";"Grammar"]
-.sub "_block140" :anon :subid("28_1274022894.43745") :method :outer("26_1274022894.43745")
+.sub "_block140" :anon :subid("28_1274564776.41408") :method :outer("26_1274564776.41408")
.annotate 'line', 68
.local string rx142_tgt
.local int rx142_pos
@@ -1929,7 +1929,7 @@
.namespace ["NQP";"Grammar"]
-.sub "comp_unit" :subid("29_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "comp_unit" :subid("29_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx151_tgt
.local int rx151_pos
@@ -2008,7 +2008,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__comp_unit" :subid("30_1274022894.43745") :method
+.sub "!PREFIX__comp_unit" :subid("30_1274564776.41408") :method
.annotate 'line', 4
$P153 = self."!PREFIX__!subrule"("", "")
new $P154, "ResizablePMCArray"
@@ -2018,7 +2018,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statementlist" :subid("31_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "statementlist" :subid("31_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx158_tgt
.local int rx158_pos
@@ -2126,7 +2126,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statementlist" :subid("32_1274022894.43745") :method
+.sub "!PREFIX__statementlist" :subid("32_1274564776.41408") :method
.annotate 'line', 4
new $P160, "ResizablePMCArray"
push $P160, ""
@@ -2136,9 +2136,9 @@
.namespace ["NQP";"Grammar"]
-.sub "statement" :subid("33_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "statement" :subid("33_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
- .const 'Sub' $P176 = "35_1274022894.43745"
+ .const 'Sub' $P176 = "35_1274564776.41408"
capture_lex $P176
.local string rx171_tgt
.local int rx171_pos
@@ -2173,7 +2173,7 @@
.annotate 'line', 94
# rx subrule "before" subtype=zerowidth negate=1
rx171_cur."!cursor_pos"(rx171_pos)
- .const 'Sub' $P176 = "35_1274022894.43745"
+ .const 'Sub' $P176 = "35_1274564776.41408"
capture_lex $P176
$P10 = rx171_cur."before"($P176)
if $P10, rx171_fail
@@ -2278,7 +2278,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement" :subid("34_1274022894.43745") :method
+.sub "!PREFIX__statement" :subid("34_1274564776.41408") :method
.annotate 'line', 4
new $P173, "ResizablePMCArray"
push $P173, ""
@@ -2287,7 +2287,7 @@
.namespace ["NQP";"Grammar"]
-.sub "_block175" :anon :subid("35_1274022894.43745") :method :outer("33_1274022894.43745")
+.sub "_block175" :anon :subid("35_1274564776.41408") :method :outer("33_1274564776.41408")
.annotate 'line', 94
.local string rx177_tgt
.local int rx177_pos
@@ -2351,7 +2351,7 @@
.namespace ["NQP";"Grammar"]
-.sub "eat_terminator" :subid("36_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "eat_terminator" :subid("36_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx187_tgt
.local int rx187_pos
@@ -2438,7 +2438,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__eat_terminator" :subid("37_1274022894.43745") :method
+.sub "!PREFIX__eat_terminator" :subid("37_1274564776.41408") :method
.annotate 'line', 4
new $P189, "ResizablePMCArray"
push $P189, ""
@@ -2450,7 +2450,7 @@
.namespace ["NQP";"Grammar"]
-.sub "xblock" :subid("38_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "xblock" :subid("38_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx193_tgt
.local int rx193_pos
@@ -2521,7 +2521,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__xblock" :subid("39_1274022894.43745") :method
+.sub "!PREFIX__xblock" :subid("39_1274564776.41408") :method
.annotate 'line', 4
$P195 = self."!PREFIX__!subrule"("EXPR", "")
new $P196, "ResizablePMCArray"
@@ -2531,7 +2531,7 @@
.namespace ["NQP";"Grammar"]
-.sub "pblock" :subid("40_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "pblock" :subid("40_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx199_tgt
.local int rx199_pos
@@ -2650,7 +2650,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__pblock" :subid("41_1274022894.43745") :method
+.sub "!PREFIX__pblock" :subid("41_1274564776.41408") :method
.annotate 'line', 4
$P201 = self."!PREFIX__!subrule"("", "")
$P202 = self."!PREFIX__!subrule"("", "")
@@ -2663,7 +2663,7 @@
.namespace ["NQP";"Grammar"]
-.sub "lambda" :subid("42_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "lambda" :subid("42_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx207_tgt
.local int rx207_pos
@@ -2734,7 +2734,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__lambda" :subid("43_1274022894.43745") :method
+.sub "!PREFIX__lambda" :subid("43_1274564776.41408") :method
.annotate 'line', 4
new $P209, "ResizablePMCArray"
push $P209, "<->"
@@ -2744,7 +2744,7 @@
.namespace ["NQP";"Grammar"]
-.sub "block" :subid("44_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "block" :subid("44_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx213_tgt
.local int rx213_pos
@@ -2827,7 +2827,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__block" :subid("45_1274022894.43745") :method
+.sub "!PREFIX__block" :subid("45_1274564776.41408") :method
.annotate 'line', 4
$P215 = self."!PREFIX__!subrule"("", "")
new $P216, "ResizablePMCArray"
@@ -2838,7 +2838,7 @@
.namespace ["NQP";"Grammar"]
-.sub "blockoid" :subid("46_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "blockoid" :subid("46_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx220_tgt
.local int rx220_pos
@@ -2933,7 +2933,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__blockoid" :subid("47_1274022894.43745") :method
+.sub "!PREFIX__blockoid" :subid("47_1274564776.41408") :method
.annotate 'line', 4
$P222 = self."!PREFIX__!subrule"("", "")
new $P223, "ResizablePMCArray"
@@ -2943,7 +2943,7 @@
.namespace ["NQP";"Grammar"]
-.sub "newpad" :subid("48_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "newpad" :subid("48_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx228_tgt
.local int rx228_pos
@@ -2994,7 +2994,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__newpad" :subid("49_1274022894.43745") :method
+.sub "!PREFIX__newpad" :subid("49_1274564776.41408") :method
.annotate 'line', 4
new $P230, "ResizablePMCArray"
push $P230, ""
@@ -3003,7 +3003,7 @@
.namespace ["NQP";"Grammar"]
-.sub "finishpad" :subid("50_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "finishpad" :subid("50_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx233_tgt
.local int rx233_pos
@@ -3054,7 +3054,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__finishpad" :subid("51_1274022894.43745") :method
+.sub "!PREFIX__finishpad" :subid("51_1274564776.41408") :method
.annotate 'line', 4
new $P235, "ResizablePMCArray"
push $P235, ""
@@ -3063,7 +3063,7 @@
.namespace ["NQP";"Grammar"]
-.sub "terminator" :subid("52_1274022894.43745") :method
+.sub "terminator" :subid("52_1274564776.41408") :method
.annotate 'line', 145
$P238 = self."!protoregex"("terminator")
.return ($P238)
@@ -3071,7 +3071,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator" :subid("53_1274022894.43745") :method
+.sub "!PREFIX__terminator" :subid("53_1274564776.41408") :method
.annotate 'line', 145
$P240 = self."!PREFIX__!protoregex"("terminator")
.return ($P240)
@@ -3079,7 +3079,7 @@
.namespace ["NQP";"Grammar"]
-.sub "terminator:sym<;>" :subid("54_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "terminator:sym<;>" :subid("54_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx242_tgt
.local int rx242_pos
@@ -3136,7 +3136,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator:sym<;>" :subid("55_1274022894.43745") :method
+.sub "!PREFIX__terminator:sym<;>" :subid("55_1274564776.41408") :method
.annotate 'line', 4
new $P244, "ResizablePMCArray"
push $P244, ";"
@@ -3145,7 +3145,7 @@
.namespace ["NQP";"Grammar"]
-.sub "terminator:sym<}>" :subid("56_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "terminator:sym<}>" :subid("56_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx247_tgt
.local int rx247_pos
@@ -3202,7 +3202,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator:sym<}>" :subid("57_1274022894.43745") :method
+.sub "!PREFIX__terminator:sym<}>" :subid("57_1274564776.41408") :method
.annotate 'line', 4
new $P249, "ResizablePMCArray"
push $P249, "}"
@@ -3211,7 +3211,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_control" :subid("58_1274022894.43745") :method
+.sub "statement_control" :subid("58_1274564776.41408") :method
.annotate 'line', 152
$P252 = self."!protoregex"("statement_control")
.return ($P252)
@@ -3219,7 +3219,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control" :subid("59_1274022894.43745") :method
+.sub "!PREFIX__statement_control" :subid("59_1274564776.41408") :method
.annotate 'line', 152
$P254 = self."!PREFIX__!protoregex"("statement_control")
.return ($P254)
@@ -3227,7 +3227,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<if>" :subid("60_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "statement_control:sym<if>" :subid("60_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx256_tgt
.local int rx256_pos
@@ -3237,7 +3237,7 @@
.local pmc rx256_cur
(rx256_cur, rx256_pos, rx256_tgt) = self."!cursor_start"()
rx256_cur."!cursor_debug"("START ", "statement_control:sym<if>")
- rx256_cur."!cursor_caparray"("xblock", "else")
+ rx256_cur."!cursor_caparray"("else", "xblock")
.lex unicode:"$\x{a2}", rx256_cur
.local pmc match
.lex "$/", match
@@ -3421,7 +3421,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<if>" :subid("61_1274022894.43745") :method
+.sub "!PREFIX__statement_control:sym<if>" :subid("61_1274564776.41408") :method
.annotate 'line', 4
new $P258, "ResizablePMCArray"
push $P258, "if"
@@ -3430,9 +3430,9 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<unless>" :subid("62_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "statement_control:sym<unless>" :subid("62_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
- .const 'Sub' $P286 = "64_1274022894.43745"
+ .const 'Sub' $P286 = "64_1274564776.41408"
capture_lex $P286
.local string rx276_tgt
.local int rx276_pos
@@ -3520,7 +3520,7 @@
rx276_pos = $P10."pos"()
# rx subrule "before" subtype=zerowidth negate=1
rx276_cur."!cursor_pos"(rx276_pos)
- .const 'Sub' $P286 = "64_1274022894.43745"
+ .const 'Sub' $P286 = "64_1274564776.41408"
capture_lex $P286
$P10 = rx276_cur."before"($P286)
if $P10, rx276_fail
@@ -3572,7 +3572,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<unless>" :subid("63_1274022894.43745") :method
+.sub "!PREFIX__statement_control:sym<unless>" :subid("63_1274564776.41408") :method
.annotate 'line', 4
new $P278, "ResizablePMCArray"
push $P278, "unless"
@@ -3581,7 +3581,7 @@
.namespace ["NQP";"Grammar"]
-.sub "_block285" :anon :subid("64_1274022894.43745") :method :outer("62_1274022894.43745")
+.sub "_block285" :anon :subid("64_1274564776.41408") :method :outer("62_1274564776.41408")
.annotate 'line', 164
.local string rx287_tgt
.local int rx287_pos
@@ -3637,7 +3637,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<while>" :subid("65_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "statement_control:sym<while>" :subid("65_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx294_tgt
.local int rx294_pos
@@ -3747,7 +3747,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<while>" :subid("66_1274022894.43745") :method
+.sub "!PREFIX__statement_control:sym<while>" :subid("66_1274564776.41408") :method
.annotate 'line', 4
new $P296, "ResizablePMCArray"
push $P296, "until"
@@ -3757,7 +3757,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<repeat>" :subid("67_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "statement_control:sym<repeat>" :subid("67_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx303_tgt
.local int rx303_pos
@@ -3992,7 +3992,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<repeat>" :subid("68_1274022894.43745") :method
+.sub "!PREFIX__statement_control:sym<repeat>" :subid("68_1274564776.41408") :method
.annotate 'line', 4
new $P305, "ResizablePMCArray"
push $P305, "repeat"
@@ -4001,7 +4001,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<for>" :subid("69_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "statement_control:sym<for>" :subid("69_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx323_tgt
.local int rx323_pos
@@ -4098,7 +4098,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<for>" :subid("70_1274022894.43745") :method
+.sub "!PREFIX__statement_control:sym<for>" :subid("70_1274564776.41408") :method
.annotate 'line', 4
new $P325, "ResizablePMCArray"
push $P325, "for"
@@ -4107,7 +4107,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<CATCH>" :subid("71_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "statement_control:sym<CATCH>" :subid("71_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx331_tgt
.local int rx331_pos
@@ -4204,7 +4204,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<CATCH>" :subid("72_1274022894.43745") :method
+.sub "!PREFIX__statement_control:sym<CATCH>" :subid("72_1274564776.41408") :method
.annotate 'line', 4
new $P333, "ResizablePMCArray"
push $P333, "CATCH"
@@ -4213,7 +4213,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<CONTROL>" :subid("73_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "statement_control:sym<CONTROL>" :subid("73_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx339_tgt
.local int rx339_pos
@@ -4310,7 +4310,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<CONTROL>" :subid("74_1274022894.43745") :method
+.sub "!PREFIX__statement_control:sym<CONTROL>" :subid("74_1274564776.41408") :method
.annotate 'line', 4
new $P341, "ResizablePMCArray"
push $P341, "CONTROL"
@@ -4319,7 +4319,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_prefix" :subid("75_1274022894.43745") :method
+.sub "statement_prefix" :subid("75_1274564776.41408") :method
.annotate 'line', 195
$P347 = self."!protoregex"("statement_prefix")
.return ($P347)
@@ -4327,7 +4327,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix" :subid("76_1274022894.43745") :method
+.sub "!PREFIX__statement_prefix" :subid("76_1274564776.41408") :method
.annotate 'line', 195
$P349 = self."!PREFIX__!protoregex"("statement_prefix")
.return ($P349)
@@ -4335,7 +4335,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_prefix:sym<INIT>" :subid("77_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "statement_prefix:sym<INIT>" :subid("77_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx351_tgt
.local int rx351_pos
@@ -4414,7 +4414,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix:sym<INIT>" :subid("78_1274022894.43745") :method
+.sub "!PREFIX__statement_prefix:sym<INIT>" :subid("78_1274564776.41408") :method
.annotate 'line', 4
$P353 = self."!PREFIX__!subrule"("blorst", "INIT")
new $P354, "ResizablePMCArray"
@@ -4424,7 +4424,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_prefix:sym<try>" :subid("79_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "statement_prefix:sym<try>" :subid("79_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx358_tgt
.local int rx358_pos
@@ -4505,7 +4505,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix:sym<try>" :subid("80_1274022894.43745") :method
+.sub "!PREFIX__statement_prefix:sym<try>" :subid("80_1274564776.41408") :method
.annotate 'line', 4
$P360 = self."!PREFIX__!subrule"("blorst", "try")
new $P361, "ResizablePMCArray"
@@ -4515,7 +4515,7 @@
.namespace ["NQP";"Grammar"]
-.sub "blorst" :subid("81_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "blorst" :subid("81_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx365_tgt
.local int rx365_pos
@@ -4604,7 +4604,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__blorst" :subid("82_1274022894.43745") :method
+.sub "!PREFIX__blorst" :subid("82_1274564776.41408") :method
.annotate 'line', 4
new $P367, "ResizablePMCArray"
push $P367, ""
@@ -4613,7 +4613,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond" :subid("83_1274022894.43745") :method
+.sub "statement_mod_cond" :subid("83_1274564776.41408") :method
.annotate 'line', 209
$P371 = self."!protoregex"("statement_mod_cond")
.return ($P371)
@@ -4621,7 +4621,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond" :subid("84_1274022894.43745") :method
+.sub "!PREFIX__statement_mod_cond" :subid("84_1274564776.41408") :method
.annotate 'line', 209
$P373 = self."!PREFIX__!protoregex"("statement_mod_cond")
.return ($P373)
@@ -4629,7 +4629,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond:sym<if>" :subid("85_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "statement_mod_cond:sym<if>" :subid("85_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx375_tgt
.local int rx375_pos
@@ -4718,7 +4718,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond:sym<if>" :subid("86_1274022894.43745") :method
+.sub "!PREFIX__statement_mod_cond:sym<if>" :subid("86_1274564776.41408") :method
.annotate 'line', 4
new $P377, "ResizablePMCArray"
push $P377, "if"
@@ -4727,7 +4727,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond:sym<unless>" :subid("87_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "statement_mod_cond:sym<unless>" :subid("87_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx383_tgt
.local int rx383_pos
@@ -4816,7 +4816,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond:sym<unless>" :subid("88_1274022894.43745") :method
+.sub "!PREFIX__statement_mod_cond:sym<unless>" :subid("88_1274564776.41408") :method
.annotate 'line', 4
new $P385, "ResizablePMCArray"
push $P385, "unless"
@@ -4825,7 +4825,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop" :subid("89_1274022894.43745") :method
+.sub "statement_mod_loop" :subid("89_1274564776.41408") :method
.annotate 'line', 214
$P391 = self."!protoregex"("statement_mod_loop")
.return ($P391)
@@ -4833,7 +4833,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop" :subid("90_1274022894.43745") :method
+.sub "!PREFIX__statement_mod_loop" :subid("90_1274564776.41408") :method
.annotate 'line', 214
$P393 = self."!PREFIX__!protoregex"("statement_mod_loop")
.return ($P393)
@@ -4841,7 +4841,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop:sym<while>" :subid("91_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "statement_mod_loop:sym<while>" :subid("91_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx395_tgt
.local int rx395_pos
@@ -4930,7 +4930,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop:sym<while>" :subid("92_1274022894.43745") :method
+.sub "!PREFIX__statement_mod_loop:sym<while>" :subid("92_1274564776.41408") :method
.annotate 'line', 4
new $P397, "ResizablePMCArray"
push $P397, "while"
@@ -4939,7 +4939,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop:sym<until>" :subid("93_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "statement_mod_loop:sym<until>" :subid("93_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx403_tgt
.local int rx403_pos
@@ -5028,7 +5028,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop:sym<until>" :subid("94_1274022894.43745") :method
+.sub "!PREFIX__statement_mod_loop:sym<until>" :subid("94_1274564776.41408") :method
.annotate 'line', 4
new $P405, "ResizablePMCArray"
push $P405, "until"
@@ -5037,7 +5037,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<fatarrow>" :subid("95_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "term:sym<fatarrow>" :subid("95_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx411_tgt
.local int rx411_pos
@@ -5095,7 +5095,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<fatarrow>" :subid("96_1274022894.43745") :method
+.sub "!PREFIX__term:sym<fatarrow>" :subid("96_1274564776.41408") :method
.annotate 'line', 4
$P413 = self."!PREFIX__!subrule"("fatarrow", "")
new $P414, "ResizablePMCArray"
@@ -5105,7 +5105,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<colonpair>" :subid("97_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "term:sym<colonpair>" :subid("97_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx417_tgt
.local int rx417_pos
@@ -5163,7 +5163,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<colonpair>" :subid("98_1274022894.43745") :method
+.sub "!PREFIX__term:sym<colonpair>" :subid("98_1274564776.41408") :method
.annotate 'line', 4
$P419 = self."!PREFIX__!subrule"("colonpair", "")
new $P420, "ResizablePMCArray"
@@ -5173,7 +5173,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<variable>" :subid("99_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "term:sym<variable>" :subid("99_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx423_tgt
.local int rx423_pos
@@ -5231,7 +5231,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<variable>" :subid("100_1274022894.43745") :method
+.sub "!PREFIX__term:sym<variable>" :subid("100_1274564776.41408") :method
.annotate 'line', 4
$P425 = self."!PREFIX__!subrule"("variable", "")
new $P426, "ResizablePMCArray"
@@ -5241,7 +5241,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<package_declarator>" :subid("101_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "term:sym<package_declarator>" :subid("101_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx429_tgt
.local int rx429_pos
@@ -5299,7 +5299,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<package_declarator>" :subid("102_1274022894.43745") :method
+.sub "!PREFIX__term:sym<package_declarator>" :subid("102_1274564776.41408") :method
.annotate 'line', 4
$P431 = self."!PREFIX__!subrule"("package_declarator", "")
new $P432, "ResizablePMCArray"
@@ -5309,7 +5309,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<scope_declarator>" :subid("103_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "term:sym<scope_declarator>" :subid("103_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx435_tgt
.local int rx435_pos
@@ -5367,7 +5367,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<scope_declarator>" :subid("104_1274022894.43745") :method
+.sub "!PREFIX__term:sym<scope_declarator>" :subid("104_1274564776.41408") :method
.annotate 'line', 4
$P437 = self."!PREFIX__!subrule"("scope_declarator", "")
new $P438, "ResizablePMCArray"
@@ -5377,7 +5377,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<routine_declarator>" :subid("105_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "term:sym<routine_declarator>" :subid("105_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx441_tgt
.local int rx441_pos
@@ -5435,7 +5435,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<routine_declarator>" :subid("106_1274022894.43745") :method
+.sub "!PREFIX__term:sym<routine_declarator>" :subid("106_1274564776.41408") :method
.annotate 'line', 4
$P443 = self."!PREFIX__!subrule"("routine_declarator", "")
new $P444, "ResizablePMCArray"
@@ -5445,7 +5445,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<regex_declarator>" :subid("107_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "term:sym<regex_declarator>" :subid("107_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx447_tgt
.local int rx447_pos
@@ -5503,7 +5503,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<regex_declarator>" :subid("108_1274022894.43745") :method
+.sub "!PREFIX__term:sym<regex_declarator>" :subid("108_1274564776.41408") :method
.annotate 'line', 4
$P449 = self."!PREFIX__!subrule"("regex_declarator", "")
new $P450, "ResizablePMCArray"
@@ -5513,7 +5513,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<statement_prefix>" :subid("109_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "term:sym<statement_prefix>" :subid("109_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx453_tgt
.local int rx453_pos
@@ -5571,7 +5571,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<statement_prefix>" :subid("110_1274022894.43745") :method
+.sub "!PREFIX__term:sym<statement_prefix>" :subid("110_1274564776.41408") :method
.annotate 'line', 4
$P455 = self."!PREFIX__!subrule"("statement_prefix", "")
new $P456, "ResizablePMCArray"
@@ -5581,7 +5581,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<lambda>" :subid("111_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "term:sym<lambda>" :subid("111_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx459_tgt
.local int rx459_pos
@@ -5643,7 +5643,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<lambda>" :subid("112_1274022894.43745") :method
+.sub "!PREFIX__term:sym<lambda>" :subid("112_1274564776.41408") :method
.annotate 'line', 4
new $P461, "ResizablePMCArray"
push $P461, ""
@@ -5652,7 +5652,7 @@
.namespace ["NQP";"Grammar"]
-.sub "fatarrow" :subid("113_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "fatarrow" :subid("113_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx464_tgt
.local int rx464_pos
@@ -5745,7 +5745,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__fatarrow" :subid("114_1274022894.43745") :method
+.sub "!PREFIX__fatarrow" :subid("114_1274564776.41408") :method
.annotate 'line', 4
$P466 = self."!PREFIX__!subrule"("key", "")
new $P467, "ResizablePMCArray"
@@ -5755,7 +5755,7 @@
.namespace ["NQP";"Grammar"]
-.sub "colonpair" :subid("115_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "colonpair" :subid("115_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx472_tgt
.local int rx472_pos
@@ -5884,7 +5884,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__colonpair" :subid("116_1274022894.43745") :method
+.sub "!PREFIX__colonpair" :subid("116_1274564776.41408") :method
.annotate 'line', 4
$P474 = self."!PREFIX__!subrule"("circumfix", ":")
$P475 = self."!PREFIX__!subrule"("identifier", ":")
@@ -5898,7 +5898,7 @@
.namespace ["NQP";"Grammar"]
-.sub "variable" :subid("117_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "variable" :subid("117_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx484_tgt
.local int rx484_pos
@@ -6053,7 +6053,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__variable" :subid("118_1274022894.43745") :method
+.sub "!PREFIX__variable" :subid("118_1274564776.41408") :method
.annotate 'line', 4
$P486 = self."!PREFIX__!subrule"("sigil", "")
$P487 = self."!PREFIX__!subrule"("sigil", "")
@@ -6068,7 +6068,7 @@
.namespace ["NQP";"Grammar"]
-.sub "sigil" :subid("119_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "sigil" :subid("119_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx496_tgt
.local int rx496_pos
@@ -6126,7 +6126,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__sigil" :subid("120_1274022894.43745") :method
+.sub "!PREFIX__sigil" :subid("120_1274564776.41408") :method
.annotate 'line', 4
new $P498, "ResizablePMCArray"
push $P498, "&"
@@ -6138,7 +6138,7 @@
.namespace ["NQP";"Grammar"]
-.sub "twigil" :subid("121_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "twigil" :subid("121_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx501_tgt
.local int rx501_pos
@@ -6196,7 +6196,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__twigil" :subid("122_1274022894.43745") :method
+.sub "!PREFIX__twigil" :subid("122_1274564776.41408") :method
.annotate 'line', 4
new $P503, "ResizablePMCArray"
push $P503, "?"
@@ -6207,7 +6207,7 @@
.namespace ["NQP";"Grammar"]
-.sub "package_declarator" :subid("123_1274022894.43745") :method
+.sub "package_declarator" :subid("123_1274564776.41408") :method
.annotate 'line', 254
$P506 = self."!protoregex"("package_declarator")
.return ($P506)
@@ -6215,7 +6215,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator" :subid("124_1274022894.43745") :method
+.sub "!PREFIX__package_declarator" :subid("124_1274564776.41408") :method
.annotate 'line', 254
$P508 = self."!PREFIX__!protoregex"("package_declarator")
.return ($P508)
@@ -6223,7 +6223,7 @@
.namespace ["NQP";"Grammar"]
-.sub "package_declarator:sym<module>" :subid("125_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "package_declarator:sym<module>" :subid("125_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx510_tgt
.local int rx510_pos
@@ -6302,7 +6302,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator:sym<module>" :subid("126_1274022894.43745") :method
+.sub "!PREFIX__package_declarator:sym<module>" :subid("126_1274564776.41408") :method
.annotate 'line', 4
$P512 = self."!PREFIX__!subrule"("package_def", "module")
new $P513, "ResizablePMCArray"
@@ -6312,7 +6312,7 @@
.namespace ["NQP";"Grammar"]
-.sub "package_declarator:sym<class>" :subid("127_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "package_declarator:sym<class>" :subid("127_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx517_tgt
.local int rx517_pos
@@ -6404,7 +6404,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator:sym<class>" :subid("128_1274022894.43745") :method
+.sub "!PREFIX__package_declarator:sym<class>" :subid("128_1274564776.41408") :method
.annotate 'line', 4
$P519 = self."!PREFIX__!subrule"("package_def", "grammar")
$P520 = self."!PREFIX__!subrule"("package_def", "class")
@@ -6416,7 +6416,7 @@
.namespace ["NQP";"Grammar"]
-.sub "package_def" :subid("129_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "package_def" :subid("129_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx526_tgt
.local int rx526_pos
@@ -6620,7 +6620,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_def" :subid("130_1274022894.43745") :method
+.sub "!PREFIX__package_def" :subid("130_1274564776.41408") :method
.annotate 'line', 4
new $P528, "ResizablePMCArray"
push $P528, ""
@@ -6629,7 +6629,7 @@
.namespace ["NQP";"Grammar"]
-.sub "scope_declarator" :subid("131_1274022894.43745") :method
+.sub "scope_declarator" :subid("131_1274564776.41408") :method
.annotate 'line', 268
$P549 = self."!protoregex"("scope_declarator")
.return ($P549)
@@ -6637,7 +6637,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator" :subid("132_1274022894.43745") :method
+.sub "!PREFIX__scope_declarator" :subid("132_1274564776.41408") :method
.annotate 'line', 268
$P551 = self."!PREFIX__!protoregex"("scope_declarator")
.return ($P551)
@@ -6645,7 +6645,7 @@
.namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<my>" :subid("133_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "scope_declarator:sym<my>" :subid("133_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx553_tgt
.local int rx553_pos
@@ -6724,7 +6724,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<my>" :subid("134_1274022894.43745") :method
+.sub "!PREFIX__scope_declarator:sym<my>" :subid("134_1274564776.41408") :method
.annotate 'line', 4
$P555 = self."!PREFIX__!subrule"("scoped", "my")
new $P556, "ResizablePMCArray"
@@ -6734,7 +6734,7 @@
.namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<our>" :subid("135_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "scope_declarator:sym<our>" :subid("135_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx560_tgt
.local int rx560_pos
@@ -6813,7 +6813,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<our>" :subid("136_1274022894.43745") :method
+.sub "!PREFIX__scope_declarator:sym<our>" :subid("136_1274564776.41408") :method
.annotate 'line', 4
$P562 = self."!PREFIX__!subrule"("scoped", "our")
new $P563, "ResizablePMCArray"
@@ -6823,7 +6823,7 @@
.namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<has>" :subid("137_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "scope_declarator:sym<has>" :subid("137_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx567_tgt
.local int rx567_pos
@@ -6902,7 +6902,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<has>" :subid("138_1274022894.43745") :method
+.sub "!PREFIX__scope_declarator:sym<has>" :subid("138_1274564776.41408") :method
.annotate 'line', 4
$P569 = self."!PREFIX__!subrule"("scoped", "has")
new $P570, "ResizablePMCArray"
@@ -6912,7 +6912,7 @@
.namespace ["NQP";"Grammar"]
-.sub "scoped" :subid("139_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "scoped" :subid("139_1274564776.41408") :method :outer("11_1274564776.41408")
.param pmc param_574
.annotate 'line', 273
.lex "$*SCOPE", param_574
@@ -7030,7 +7030,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scoped" :subid("140_1274022894.43745") :method
+.sub "!PREFIX__scoped" :subid("140_1274564776.41408") :method
.annotate 'line', 4
new $P577, "ResizablePMCArray"
push $P577, ""
@@ -7040,7 +7040,7 @@
.namespace ["NQP";"Grammar"]
-.sub "typename" :subid("141_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "typename" :subid("141_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx588_tgt
.local int rx588_pos
@@ -7098,7 +7098,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__typename" :subid("142_1274022894.43745") :method
+.sub "!PREFIX__typename" :subid("142_1274564776.41408") :method
.annotate 'line', 4
$P590 = self."!PREFIX__!subrule"("name", "")
new $P591, "ResizablePMCArray"
@@ -7108,7 +7108,7 @@
.namespace ["NQP";"Grammar"]
-.sub "declarator" :subid("143_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "declarator" :subid("143_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx594_tgt
.local int rx594_pos
@@ -7182,7 +7182,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__declarator" :subid("144_1274022894.43745") :method
+.sub "!PREFIX__declarator" :subid("144_1274564776.41408") :method
.annotate 'line', 4
$P596 = self."!PREFIX__!subrule"("routine_declarator", "")
$P597 = self."!PREFIX__!subrule"("variable_declarator", "")
@@ -7194,7 +7194,7 @@
.namespace ["NQP";"Grammar"]
-.sub "variable_declarator" :subid("145_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "variable_declarator" :subid("145_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx602_tgt
.local int rx602_pos
@@ -7252,7 +7252,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__variable_declarator" :subid("146_1274022894.43745") :method
+.sub "!PREFIX__variable_declarator" :subid("146_1274564776.41408") :method
.annotate 'line', 4
$P604 = self."!PREFIX__!subrule"("variable", "")
new $P605, "ResizablePMCArray"
@@ -7262,7 +7262,7 @@
.namespace ["NQP";"Grammar"]
-.sub "routine_declarator" :subid("147_1274022894.43745") :method
+.sub "routine_declarator" :subid("147_1274564776.41408") :method
.annotate 'line', 287
$P608 = self."!protoregex"("routine_declarator")
.return ($P608)
@@ -7270,7 +7270,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator" :subid("148_1274022894.43745") :method
+.sub "!PREFIX__routine_declarator" :subid("148_1274564776.41408") :method
.annotate 'line', 287
$P610 = self."!PREFIX__!protoregex"("routine_declarator")
.return ($P610)
@@ -7278,7 +7278,7 @@
.namespace ["NQP";"Grammar"]
-.sub "routine_declarator:sym<sub>" :subid("149_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "routine_declarator:sym<sub>" :subid("149_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx612_tgt
.local int rx612_pos
@@ -7357,7 +7357,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator:sym<sub>" :subid("150_1274022894.43745") :method
+.sub "!PREFIX__routine_declarator:sym<sub>" :subid("150_1274564776.41408") :method
.annotate 'line', 4
$P614 = self."!PREFIX__!subrule"("routine_def", "sub")
new $P615, "ResizablePMCArray"
@@ -7367,7 +7367,7 @@
.namespace ["NQP";"Grammar"]
-.sub "routine_declarator:sym<method>" :subid("151_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "routine_declarator:sym<method>" :subid("151_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx619_tgt
.local int rx619_pos
@@ -7446,7 +7446,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator:sym<method>" :subid("152_1274022894.43745") :method
+.sub "!PREFIX__routine_declarator:sym<method>" :subid("152_1274564776.41408") :method
.annotate 'line', 4
$P621 = self."!PREFIX__!subrule"("method_def", "method")
new $P622, "ResizablePMCArray"
@@ -7456,7 +7456,7 @@
.namespace ["NQP";"Grammar"]
-.sub "routine_def" :subid("153_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "routine_def" :subid("153_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx626_tgt
.local int rx626_pos
@@ -7466,7 +7466,7 @@
.local pmc rx626_cur
(rx626_cur, rx626_pos, rx626_tgt) = self."!cursor_start"()
rx626_cur."!cursor_debug"("START ", "routine_def")
- rx626_cur."!cursor_caparray"("sigil", "deflongname")
+ rx626_cur."!cursor_caparray"("deflongname", "sigil")
.lex unicode:"$\x{a2}", rx626_cur
.local pmc match
.lex "$/", match
@@ -7663,7 +7663,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_def" :subid("154_1274022894.43745") :method
+.sub "!PREFIX__routine_def" :subid("154_1274564776.41408") :method
.annotate 'line', 4
new $P628, "ResizablePMCArray"
push $P628, ""
@@ -7672,7 +7672,7 @@
.namespace ["NQP";"Grammar"]
-.sub "method_def" :subid("155_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "method_def" :subid("155_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx650_tgt
.local int rx650_pos
@@ -7842,7 +7842,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__method_def" :subid("156_1274022894.43745") :method
+.sub "!PREFIX__method_def" :subid("156_1274564776.41408") :method
.annotate 'line', 4
new $P652, "ResizablePMCArray"
push $P652, ""
@@ -7851,7 +7851,7 @@
.namespace ["NQP";"Grammar"]
-.sub "signature" :subid("157_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "signature" :subid("157_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx669_tgt
.local int rx669_pos
@@ -7941,7 +7941,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__signature" :subid("158_1274022894.43745") :method
+.sub "!PREFIX__signature" :subid("158_1274564776.41408") :method
.annotate 'line', 4
new $P671, "ResizablePMCArray"
push $P671, ""
@@ -7950,7 +7950,7 @@
.namespace ["NQP";"Grammar"]
-.sub "parameter" :subid("159_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "parameter" :subid("159_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx678_tgt
.local int rx678_pos
@@ -7960,7 +7960,7 @@
.local pmc rx678_cur
(rx678_cur, rx678_pos, rx678_tgt) = self."!cursor_start"()
rx678_cur."!cursor_debug"("START ", "parameter")
- rx678_cur."!cursor_caparray"("typename", "default_value")
+ rx678_cur."!cursor_caparray"("default_value", "typename")
.lex unicode:"$\x{a2}", rx678_cur
.local pmc match
.lex "$/", match
@@ -8132,7 +8132,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__parameter" :subid("160_1274022894.43745") :method
+.sub "!PREFIX__parameter" :subid("160_1274564776.41408") :method
.annotate 'line', 4
new $P680, "ResizablePMCArray"
push $P680, ""
@@ -8141,7 +8141,7 @@
.namespace ["NQP";"Grammar"]
-.sub "param_var" :subid("161_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "param_var" :subid("161_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx692_tgt
.local int rx692_pos
@@ -8249,7 +8249,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__param_var" :subid("162_1274022894.43745") :method
+.sub "!PREFIX__param_var" :subid("162_1274564776.41408") :method
.annotate 'line', 4
$P694 = self."!PREFIX__!subrule"("sigil", "")
new $P695, "ResizablePMCArray"
@@ -8259,7 +8259,7 @@
.namespace ["NQP";"Grammar"]
-.sub "named_param" :subid("163_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "named_param" :subid("163_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx702_tgt
.local int rx702_pos
@@ -8325,7 +8325,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__named_param" :subid("164_1274022894.43745") :method
+.sub "!PREFIX__named_param" :subid("164_1274564776.41408") :method
.annotate 'line', 4
$P704 = self."!PREFIX__!subrule"("param_var", ":")
new $P705, "ResizablePMCArray"
@@ -8335,7 +8335,7 @@
.namespace ["NQP";"Grammar"]
-.sub "default_value" :subid("165_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "default_value" :subid("165_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx708_tgt
.local int rx708_pos
@@ -8415,7 +8415,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__default_value" :subid("166_1274022894.43745") :method
+.sub "!PREFIX__default_value" :subid("166_1274564776.41408") :method
.annotate 'line', 4
new $P710, "ResizablePMCArray"
push $P710, ""
@@ -8424,7 +8424,7 @@
.namespace ["NQP";"Grammar"]
-.sub "regex_declarator" :subid("167_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "regex_declarator" :subid("167_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx716_tgt
.local int rx716_pos
@@ -8825,7 +8825,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__regex_declarator" :subid("168_1274022894.43745") :method
+.sub "!PREFIX__regex_declarator" :subid("168_1274564776.41408") :method
.annotate 'line', 4
new $P718, "ResizablePMCArray"
push $P718, ""
@@ -8834,7 +8834,7 @@
.namespace ["NQP";"Grammar"]
-.sub "dotty" :subid("169_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "dotty" :subid("169_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx753_tgt
.local int rx753_pos
@@ -8990,7 +8990,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__dotty" :subid("170_1274022894.43745") :method
+.sub "!PREFIX__dotty" :subid("170_1274564776.41408") :method
.annotate 'line', 4
$P755 = self."!PREFIX__!subrule"("longname=identifier", ".")
new $P756, "ResizablePMCArray"
@@ -9002,7 +9002,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term" :subid("171_1274022894.43745") :method
+.sub "term" :subid("171_1274564776.41408") :method
.annotate 'line', 360
$P764 = self."!protoregex"("term")
.return ($P764)
@@ -9010,7 +9010,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term" :subid("172_1274022894.43745") :method
+.sub "!PREFIX__term" :subid("172_1274564776.41408") :method
.annotate 'line', 360
$P766 = self."!PREFIX__!protoregex"("term")
.return ($P766)
@@ -9018,7 +9018,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<self>" :subid("173_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "term:sym<self>" :subid("173_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx768_tgt
.local int rx768_pos
@@ -9098,7 +9098,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<self>" :subid("174_1274022894.43745") :method
+.sub "!PREFIX__term:sym<self>" :subid("174_1274564776.41408") :method
.annotate 'line', 4
new $P770, "ResizablePMCArray"
push $P770, "self"
@@ -9107,7 +9107,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<identifier>" :subid("175_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "term:sym<identifier>" :subid("175_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx774_tgt
.local int rx774_pos
@@ -9179,7 +9179,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<identifier>" :subid("176_1274022894.43745") :method
+.sub "!PREFIX__term:sym<identifier>" :subid("176_1274564776.41408") :method
.annotate 'line', 4
$P776 = self."!PREFIX__!subrule"("identifier", "")
new $P777, "ResizablePMCArray"
@@ -9189,7 +9189,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<name>" :subid("177_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "term:sym<name>" :subid("177_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx780_tgt
.local int rx780_pos
@@ -9262,7 +9262,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<name>" :subid("178_1274022894.43745") :method
+.sub "!PREFIX__term:sym<name>" :subid("178_1274564776.41408") :method
.annotate 'line', 4
$P782 = self."!PREFIX__!subrule"("name", "")
new $P783, "ResizablePMCArray"
@@ -9272,7 +9272,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<pir::op>" :subid("179_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "term:sym<pir::op>" :subid("179_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx788_tgt
.local int rx788_pos
@@ -9365,7 +9365,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<pir::op>" :subid("180_1274022894.43745") :method
+.sub "!PREFIX__term:sym<pir::op>" :subid("180_1274564776.41408") :method
.annotate 'line', 4
new $P790, "ResizablePMCArray"
push $P790, "pir::"
@@ -9374,7 +9374,7 @@
.namespace ["NQP";"Grammar"]
-.sub "args" :subid("181_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "args" :subid("181_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx796_tgt
.local int rx796_pos
@@ -9446,7 +9446,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__args" :subid("182_1274022894.43745") :method
+.sub "!PREFIX__args" :subid("182_1274564776.41408") :method
.annotate 'line', 4
$P798 = self."!PREFIX__!subrule"("arglist", "(")
new $P799, "ResizablePMCArray"
@@ -9456,7 +9456,7 @@
.namespace ["NQP";"Grammar"]
-.sub "arglist" :subid("183_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "arglist" :subid("183_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx802_tgt
.local int rx802_pos
@@ -9528,7 +9528,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__arglist" :subid("184_1274022894.43745") :method
+.sub "!PREFIX__arglist" :subid("184_1274564776.41408") :method
.annotate 'line', 4
$P804 = self."!PREFIX__!subrule"("", "")
new $P805, "ResizablePMCArray"
@@ -9538,7 +9538,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<value>" :subid("185_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "term:sym<value>" :subid("185_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx809_tgt
.local int rx809_pos
@@ -9596,7 +9596,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<value>" :subid("186_1274022894.43745") :method
+.sub "!PREFIX__term:sym<value>" :subid("186_1274564776.41408") :method
.annotate 'line', 4
$P811 = self."!PREFIX__!subrule"("value", "")
new $P812, "ResizablePMCArray"
@@ -9606,7 +9606,7 @@
.namespace ["NQP";"Grammar"]
-.sub "value" :subid("187_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "value" :subid("187_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx815_tgt
.local int rx815_pos
@@ -9680,7 +9680,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__value" :subid("188_1274022894.43745") :method
+.sub "!PREFIX__value" :subid("188_1274564776.41408") :method
.annotate 'line', 4
$P817 = self."!PREFIX__!subrule"("number", "")
$P818 = self."!PREFIX__!subrule"("quote", "")
@@ -9692,7 +9692,7 @@
.namespace ["NQP";"Grammar"]
-.sub "number" :subid("189_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "number" :subid("189_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx823_tgt
.local int rx823_pos
@@ -9792,7 +9792,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__number" :subid("190_1274022894.43745") :method
+.sub "!PREFIX__number" :subid("190_1274564776.41408") :method
.annotate 'line', 4
new $P825, "ResizablePMCArray"
push $P825, ""
@@ -9801,7 +9801,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote" :subid("191_1274022894.43745") :method
+.sub "quote" :subid("191_1274564776.41408") :method
.annotate 'line', 401
$P832 = self."!protoregex"("quote")
.return ($P832)
@@ -9809,7 +9809,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote" :subid("192_1274022894.43745") :method
+.sub "!PREFIX__quote" :subid("192_1274564776.41408") :method
.annotate 'line', 401
$P834 = self."!PREFIX__!protoregex"("quote")
.return ($P834)
@@ -9817,7 +9817,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote:sym<apos>" :subid("193_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "quote:sym<apos>" :subid("193_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx836_tgt
.local int rx836_pos
@@ -9881,7 +9881,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<apos>" :subid("194_1274022894.43745") :method
+.sub "!PREFIX__quote:sym<apos>" :subid("194_1274564776.41408") :method
.annotate 'line', 4
new $P838, "ResizablePMCArray"
push $P838, "'"
@@ -9890,7 +9890,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote:sym<dblq>" :subid("195_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "quote:sym<dblq>" :subid("195_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx841_tgt
.local int rx841_pos
@@ -9954,7 +9954,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<dblq>" :subid("196_1274022894.43745") :method
+.sub "!PREFIX__quote:sym<dblq>" :subid("196_1274564776.41408") :method
.annotate 'line', 4
new $P843, "ResizablePMCArray"
push $P843, "\""
@@ -9963,7 +9963,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote:sym<q>" :subid("197_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "quote:sym<q>" :subid("197_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx846_tgt
.local int rx846_pos
@@ -10047,7 +10047,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<q>" :subid("198_1274022894.43745") :method
+.sub "!PREFIX__quote:sym<q>" :subid("198_1274564776.41408") :method
.annotate 'line', 4
$P848 = self."!PREFIX__!subrule"("", "q")
new $P849, "ResizablePMCArray"
@@ -10057,7 +10057,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote:sym<qq>" :subid("199_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "quote:sym<qq>" :subid("199_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx852_tgt
.local int rx852_pos
@@ -10141,7 +10141,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<qq>" :subid("200_1274022894.43745") :method
+.sub "!PREFIX__quote:sym<qq>" :subid("200_1274564776.41408") :method
.annotate 'line', 4
$P854 = self."!PREFIX__!subrule"("", "qq")
new $P855, "ResizablePMCArray"
@@ -10151,7 +10151,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote:sym<Q>" :subid("201_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "quote:sym<Q>" :subid("201_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx858_tgt
.local int rx858_pos
@@ -10235,7 +10235,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<Q>" :subid("202_1274022894.43745") :method
+.sub "!PREFIX__quote:sym<Q>" :subid("202_1274564776.41408") :method
.annotate 'line', 4
$P860 = self."!PREFIX__!subrule"("", "Q")
new $P861, "ResizablePMCArray"
@@ -10245,7 +10245,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote:sym<Q:PIR>" :subid("203_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "quote:sym<Q:PIR>" :subid("203_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx864_tgt
.local int rx864_pos
@@ -10315,7 +10315,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<Q:PIR>" :subid("204_1274022894.43745") :method
+.sub "!PREFIX__quote:sym<Q:PIR>" :subid("204_1274564776.41408") :method
.annotate 'line', 4
$P866 = self."!PREFIX__!subrule"("", "Q:PIR")
new $P867, "ResizablePMCArray"
@@ -10325,7 +10325,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote:sym</ />" :subid("205_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "quote:sym</ />" :subid("205_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx870_tgt
.local int rx870_pos
@@ -10410,7 +10410,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym</ />" :subid("206_1274022894.43745") :method
+.sub "!PREFIX__quote:sym</ />" :subid("206_1274564776.41408") :method
.annotate 'line', 4
$P872 = self."!PREFIX__!subrule"("", "/")
new $P873, "ResizablePMCArray"
@@ -10420,7 +10420,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<$>" :subid("207_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "quote_escape:sym<$>" :subid("207_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx876_tgt
.local int rx876_pos
@@ -10488,7 +10488,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<$>" :subid("208_1274022894.43745") :method
+.sub "!PREFIX__quote_escape:sym<$>" :subid("208_1274564776.41408") :method
.annotate 'line', 4
new $P878, "ResizablePMCArray"
push $P878, "$"
@@ -10497,7 +10497,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<{ }>" :subid("209_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "quote_escape:sym<{ }>" :subid("209_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx881_tgt
.local int rx881_pos
@@ -10565,7 +10565,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<{ }>" :subid("210_1274022894.43745") :method
+.sub "!PREFIX__quote_escape:sym<{ }>" :subid("210_1274564776.41408") :method
.annotate 'line', 4
new $P883, "ResizablePMCArray"
push $P883, "{"
@@ -10574,7 +10574,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<esc>" :subid("211_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "quote_escape:sym<esc>" :subid("211_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx886_tgt
.local int rx886_pos
@@ -10636,7 +10636,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<esc>" :subid("212_1274022894.43745") :method
+.sub "!PREFIX__quote_escape:sym<esc>" :subid("212_1274564776.41408") :method
.annotate 'line', 4
new $P888, "ResizablePMCArray"
push $P888, "\\e"
@@ -10645,7 +10645,7 @@
.namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<( )>" :subid("213_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "circumfix:sym<( )>" :subid("213_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx891_tgt
.local int rx891_pos
@@ -10729,7 +10729,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<( )>" :subid("214_1274022894.43745") :method
+.sub "!PREFIX__circumfix:sym<( )>" :subid("214_1274564776.41408") :method
.annotate 'line', 4
$P893 = self."!PREFIX__!subrule"("", "(")
new $P894, "ResizablePMCArray"
@@ -10739,7 +10739,7 @@
.namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<[ ]>" :subid("215_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "circumfix:sym<[ ]>" :subid("215_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx899_tgt
.local int rx899_pos
@@ -10823,7 +10823,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<[ ]>" :subid("216_1274022894.43745") :method
+.sub "!PREFIX__circumfix:sym<[ ]>" :subid("216_1274564776.41408") :method
.annotate 'line', 4
$P901 = self."!PREFIX__!subrule"("", "[")
new $P902, "ResizablePMCArray"
@@ -10833,7 +10833,7 @@
.namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<ang>" :subid("217_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "circumfix:sym<ang>" :subid("217_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx907_tgt
.local int rx907_pos
@@ -10897,7 +10897,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<ang>" :subid("218_1274022894.43745") :method
+.sub "!PREFIX__circumfix:sym<ang>" :subid("218_1274564776.41408") :method
.annotate 'line', 4
new $P909, "ResizablePMCArray"
push $P909, "<"
@@ -10906,7 +10906,7 @@
.namespace ["NQP";"Grammar"]
-.sub unicode:"circumfix:sym<\x{ab} \x{bb}>" :subid("219_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub unicode:"circumfix:sym<\x{ab} \x{bb}>" :subid("219_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx912_tgt
.local int rx912_pos
@@ -10970,7 +10970,7 @@
.namespace ["NQP";"Grammar"]
-.sub unicode:"!PREFIX__circumfix:sym<\x{ab} \x{bb}>" :subid("220_1274022894.43745") :method
+.sub unicode:"!PREFIX__circumfix:sym<\x{ab} \x{bb}>" :subid("220_1274564776.41408") :method
.annotate 'line', 4
new $P914, "ResizablePMCArray"
push $P914, unicode:"\x{ab}"
@@ -10979,7 +10979,7 @@
.namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<{ }>" :subid("221_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "circumfix:sym<{ }>" :subid("221_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx917_tgt
.local int rx917_pos
@@ -11043,7 +11043,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<{ }>" :subid("222_1274022894.43745") :method
+.sub "!PREFIX__circumfix:sym<{ }>" :subid("222_1274564776.41408") :method
.annotate 'line', 4
new $P919, "ResizablePMCArray"
push $P919, "{"
@@ -11052,7 +11052,7 @@
.namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<sigil>" :subid("223_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "circumfix:sym<sigil>" :subid("223_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx922_tgt
.local int rx922_pos
@@ -11142,7 +11142,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<sigil>" :subid("224_1274022894.43745") :method
+.sub "!PREFIX__circumfix:sym<sigil>" :subid("224_1274564776.41408") :method
.annotate 'line', 4
$P924 = self."!PREFIX__!subrule"("sigil", "")
new $P925, "ResizablePMCArray"
@@ -11152,7 +11152,7 @@
.namespace ["NQP";"Grammar"]
-.sub "semilist" :subid("225_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "semilist" :subid("225_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 4
.local string rx930_tgt
.local int rx930_pos
@@ -11220,7 +11220,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__semilist" :subid("226_1274022894.43745") :method
+.sub "!PREFIX__semilist" :subid("226_1274564776.41408") :method
.annotate 'line', 4
new $P932, "ResizablePMCArray"
push $P932, ""
@@ -11229,7 +11229,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infixish" :subid("227_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "infixish" :subid("227_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx937_tgt
.local int rx937_pos
@@ -11291,7 +11291,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infixish" :subid("228_1274022894.43745") :method
+.sub "!PREFIX__infixish" :subid("228_1274564776.41408") :method
.annotate 'line', 431
new $P939, "ResizablePMCArray"
push $P939, ""
@@ -11300,7 +11300,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infixstopper" :subid("229_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "infixstopper" :subid("229_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx942_tgt
.local int rx942_pos
@@ -11355,7 +11355,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infixstopper" :subid("230_1274022894.43745") :method
+.sub "!PREFIX__infixstopper" :subid("230_1274564776.41408") :method
.annotate 'line', 431
new $P944, "ResizablePMCArray"
push $P944, ""
@@ -11364,7 +11364,7 @@
.namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<[ ]>" :subid("231_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "postcircumfix:sym<[ ]>" :subid("231_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx947_tgt
.local int rx947_pos
@@ -11450,7 +11450,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<[ ]>" :subid("232_1274022894.43745") :method
+.sub "!PREFIX__postcircumfix:sym<[ ]>" :subid("232_1274564776.41408") :method
.annotate 'line', 431
$P949 = self."!PREFIX__!subrule"("", "[")
new $P950, "ResizablePMCArray"
@@ -11460,7 +11460,7 @@
.namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<{ }>" :subid("233_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "postcircumfix:sym<{ }>" :subid("233_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx953_tgt
.local int rx953_pos
@@ -11546,7 +11546,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<{ }>" :subid("234_1274022894.43745") :method
+.sub "!PREFIX__postcircumfix:sym<{ }>" :subid("234_1274564776.41408") :method
.annotate 'line', 431
$P955 = self."!PREFIX__!subrule"("", "{")
new $P956, "ResizablePMCArray"
@@ -11556,7 +11556,7 @@
.namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<ang>" :subid("235_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "postcircumfix:sym<ang>" :subid("235_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx959_tgt
.local int rx959_pos
@@ -11629,7 +11629,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<ang>" :subid("236_1274022894.43745") :method
+.sub "!PREFIX__postcircumfix:sym<ang>" :subid("236_1274564776.41408") :method
.annotate 'line', 431
new $P961, "ResizablePMCArray"
push $P961, "<"
@@ -11638,7 +11638,7 @@
.namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<( )>" :subid("237_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "postcircumfix:sym<( )>" :subid("237_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx964_tgt
.local int rx964_pos
@@ -11724,7 +11724,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<( )>" :subid("238_1274022894.43745") :method
+.sub "!PREFIX__postcircumfix:sym<( )>" :subid("238_1274564776.41408") :method
.annotate 'line', 431
$P966 = self."!PREFIX__!subrule"("", "(")
new $P967, "ResizablePMCArray"
@@ -11734,7 +11734,7 @@
.namespace ["NQP";"Grammar"]
-.sub "postfix:sym<.>" :subid("239_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "postfix:sym<.>" :subid("239_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx970_tgt
.local int rx970_pos
@@ -11799,7 +11799,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<.>" :subid("240_1274022894.43745") :method
+.sub "!PREFIX__postfix:sym<.>" :subid("240_1274564776.41408") :method
.annotate 'line', 431
$P972 = self."!PREFIX__!subrule"("dotty", "")
new $P973, "ResizablePMCArray"
@@ -11809,7 +11809,7 @@
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<++>" :subid("241_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "prefix:sym<++>" :subid("241_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx976_tgt
.local int rx976_pos
@@ -11888,7 +11888,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<++>" :subid("242_1274022894.43745") :method
+.sub "!PREFIX__prefix:sym<++>" :subid("242_1274564776.41408") :method
.annotate 'line', 431
$P978 = self."!PREFIX__!subrule"("O", "++")
new $P979, "ResizablePMCArray"
@@ -11898,7 +11898,7 @@
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<-->" :subid("243_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "prefix:sym<-->" :subid("243_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx983_tgt
.local int rx983_pos
@@ -11977,7 +11977,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<-->" :subid("244_1274022894.43745") :method
+.sub "!PREFIX__prefix:sym<-->" :subid("244_1274564776.41408") :method
.annotate 'line', 431
$P985 = self."!PREFIX__!subrule"("O", "--")
new $P986, "ResizablePMCArray"
@@ -11987,7 +11987,7 @@
.namespace ["NQP";"Grammar"]
-.sub "postfix:sym<++>" :subid("245_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "postfix:sym<++>" :subid("245_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx990_tgt
.local int rx990_pos
@@ -12066,7 +12066,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<++>" :subid("246_1274022894.43745") :method
+.sub "!PREFIX__postfix:sym<++>" :subid("246_1274564776.41408") :method
.annotate 'line', 431
$P992 = self."!PREFIX__!subrule"("O", "++")
new $P993, "ResizablePMCArray"
@@ -12076,7 +12076,7 @@
.namespace ["NQP";"Grammar"]
-.sub "postfix:sym<-->" :subid("247_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "postfix:sym<-->" :subid("247_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx997_tgt
.local int rx997_pos
@@ -12155,7 +12155,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<-->" :subid("248_1274022894.43745") :method
+.sub "!PREFIX__postfix:sym<-->" :subid("248_1274564776.41408") :method
.annotate 'line', 431
$P999 = self."!PREFIX__!subrule"("O", "--")
new $P1000, "ResizablePMCArray"
@@ -12165,7 +12165,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<**>" :subid("249_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "infix:sym<**>" :subid("249_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1004_tgt
.local int rx1004_pos
@@ -12244,7 +12244,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<**>" :subid("250_1274022894.43745") :method
+.sub "!PREFIX__infix:sym<**>" :subid("250_1274564776.41408") :method
.annotate 'line', 431
$P1006 = self."!PREFIX__!subrule"("O", "**")
new $P1007, "ResizablePMCArray"
@@ -12254,7 +12254,7 @@
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<+>" :subid("251_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "prefix:sym<+>" :subid("251_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1011_tgt
.local int rx1011_pos
@@ -12333,7 +12333,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<+>" :subid("252_1274022894.43745") :method
+.sub "!PREFIX__prefix:sym<+>" :subid("252_1274564776.41408") :method
.annotate 'line', 431
$P1013 = self."!PREFIX__!subrule"("O", "+")
new $P1014, "ResizablePMCArray"
@@ -12343,7 +12343,7 @@
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<~>" :subid("253_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "prefix:sym<~>" :subid("253_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1018_tgt
.local int rx1018_pos
@@ -12422,7 +12422,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<~>" :subid("254_1274022894.43745") :method
+.sub "!PREFIX__prefix:sym<~>" :subid("254_1274564776.41408") :method
.annotate 'line', 431
$P1020 = self."!PREFIX__!subrule"("O", "~")
new $P1021, "ResizablePMCArray"
@@ -12432,7 +12432,7 @@
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<->" :subid("255_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "prefix:sym<->" :subid("255_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1025_tgt
.local int rx1025_pos
@@ -12521,7 +12521,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<->" :subid("256_1274022894.43745") :method
+.sub "!PREFIX__prefix:sym<->" :subid("256_1274564776.41408") :method
.annotate 'line', 431
new $P1027, "ResizablePMCArray"
push $P1027, "-"
@@ -12530,7 +12530,7 @@
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<?>" :subid("257_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "prefix:sym<?>" :subid("257_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1031_tgt
.local int rx1031_pos
@@ -12609,7 +12609,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<?>" :subid("258_1274022894.43745") :method
+.sub "!PREFIX__prefix:sym<?>" :subid("258_1274564776.41408") :method
.annotate 'line', 431
$P1033 = self."!PREFIX__!subrule"("O", "?")
new $P1034, "ResizablePMCArray"
@@ -12619,7 +12619,7 @@
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<!>" :subid("259_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "prefix:sym<!>" :subid("259_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1038_tgt
.local int rx1038_pos
@@ -12698,7 +12698,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<!>" :subid("260_1274022894.43745") :method
+.sub "!PREFIX__prefix:sym<!>" :subid("260_1274564776.41408") :method
.annotate 'line', 431
$P1040 = self."!PREFIX__!subrule"("O", "!")
new $P1041, "ResizablePMCArray"
@@ -12708,7 +12708,7 @@
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<|>" :subid("261_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "prefix:sym<|>" :subid("261_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1045_tgt
.local int rx1045_pos
@@ -12787,7 +12787,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<|>" :subid("262_1274022894.43745") :method
+.sub "!PREFIX__prefix:sym<|>" :subid("262_1274564776.41408") :method
.annotate 'line', 431
$P1047 = self."!PREFIX__!subrule"("O", "|")
new $P1048, "ResizablePMCArray"
@@ -12797,7 +12797,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<*>" :subid("263_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "infix:sym<*>" :subid("263_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1052_tgt
.local int rx1052_pos
@@ -12876,7 +12876,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<*>" :subid("264_1274022894.43745") :method
+.sub "!PREFIX__infix:sym<*>" :subid("264_1274564776.41408") :method
.annotate 'line', 431
$P1054 = self."!PREFIX__!subrule"("O", "*")
new $P1055, "ResizablePMCArray"
@@ -12886,7 +12886,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym</>" :subid("265_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "infix:sym</>" :subid("265_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1059_tgt
.local int rx1059_pos
@@ -12965,7 +12965,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym</>" :subid("266_1274022894.43745") :method
+.sub "!PREFIX__infix:sym</>" :subid("266_1274564776.41408") :method
.annotate 'line', 431
$P1061 = self."!PREFIX__!subrule"("O", "/")
new $P1062, "ResizablePMCArray"
@@ -12975,7 +12975,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<%>" :subid("267_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "infix:sym<%>" :subid("267_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1066_tgt
.local int rx1066_pos
@@ -13054,7 +13054,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<%>" :subid("268_1274022894.43745") :method
+.sub "!PREFIX__infix:sym<%>" :subid("268_1274564776.41408") :method
.annotate 'line', 431
$P1068 = self."!PREFIX__!subrule"("O", "%")
new $P1069, "ResizablePMCArray"
@@ -13064,7 +13064,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<+>" :subid("269_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "infix:sym<+>" :subid("269_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1073_tgt
.local int rx1073_pos
@@ -13143,7 +13143,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<+>" :subid("270_1274022894.43745") :method
+.sub "!PREFIX__infix:sym<+>" :subid("270_1274564776.41408") :method
.annotate 'line', 431
$P1075 = self."!PREFIX__!subrule"("O", "+")
new $P1076, "ResizablePMCArray"
@@ -13153,7 +13153,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<->" :subid("271_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "infix:sym<->" :subid("271_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1080_tgt
.local int rx1080_pos
@@ -13232,7 +13232,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<->" :subid("272_1274022894.43745") :method
+.sub "!PREFIX__infix:sym<->" :subid("272_1274564776.41408") :method
.annotate 'line', 431
$P1082 = self."!PREFIX__!subrule"("O", "-")
new $P1083, "ResizablePMCArray"
@@ -13242,7 +13242,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<~>" :subid("273_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "infix:sym<~>" :subid("273_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1087_tgt
.local int rx1087_pos
@@ -13321,7 +13321,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<~>" :subid("274_1274022894.43745") :method
+.sub "!PREFIX__infix:sym<~>" :subid("274_1274564776.41408") :method
.annotate 'line', 431
$P1089 = self."!PREFIX__!subrule"("O", "~")
new $P1090, "ResizablePMCArray"
@@ -13331,7 +13331,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<==>" :subid("275_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "infix:sym<==>" :subid("275_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1094_tgt
.local int rx1094_pos
@@ -13410,7 +13410,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<==>" :subid("276_1274022894.43745") :method
+.sub "!PREFIX__infix:sym<==>" :subid("276_1274564776.41408") :method
.annotate 'line', 431
$P1096 = self."!PREFIX__!subrule"("O", "==")
new $P1097, "ResizablePMCArray"
@@ -13420,7 +13420,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<!=>" :subid("277_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "infix:sym<!=>" :subid("277_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1101_tgt
.local int rx1101_pos
@@ -13499,7 +13499,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<!=>" :subid("278_1274022894.43745") :method
+.sub "!PREFIX__infix:sym<!=>" :subid("278_1274564776.41408") :method
.annotate 'line', 431
$P1103 = self."!PREFIX__!subrule"("O", "!=")
new $P1104, "ResizablePMCArray"
@@ -13509,7 +13509,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<<=>" :subid("279_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "infix:sym<<=>" :subid("279_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1108_tgt
.local int rx1108_pos
@@ -13588,7 +13588,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<<=>" :subid("280_1274022894.43745") :method
+.sub "!PREFIX__infix:sym<<=>" :subid("280_1274564776.41408") :method
.annotate 'line', 431
$P1110 = self."!PREFIX__!subrule"("O", "<=")
new $P1111, "ResizablePMCArray"
@@ -13598,7 +13598,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<>=>" :subid("281_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "infix:sym<>=>" :subid("281_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1115_tgt
.local int rx1115_pos
@@ -13677,7 +13677,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<>=>" :subid("282_1274022894.43745") :method
+.sub "!PREFIX__infix:sym<>=>" :subid("282_1274564776.41408") :method
.annotate 'line', 431
$P1117 = self."!PREFIX__!subrule"("O", ">=")
new $P1118, "ResizablePMCArray"
@@ -13687,7 +13687,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<<>" :subid("283_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "infix:sym<<>" :subid("283_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1122_tgt
.local int rx1122_pos
@@ -13766,7 +13766,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<<>" :subid("284_1274022894.43745") :method
+.sub "!PREFIX__infix:sym<<>" :subid("284_1274564776.41408") :method
.annotate 'line', 431
$P1124 = self."!PREFIX__!subrule"("O", "<")
new $P1125, "ResizablePMCArray"
@@ -13776,7 +13776,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<>>" :subid("285_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "infix:sym<>>" :subid("285_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1129_tgt
.local int rx1129_pos
@@ -13855,7 +13855,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<>>" :subid("286_1274022894.43745") :method
+.sub "!PREFIX__infix:sym<>>" :subid("286_1274564776.41408") :method
.annotate 'line', 431
$P1131 = self."!PREFIX__!subrule"("O", ">")
new $P1132, "ResizablePMCArray"
@@ -13865,7 +13865,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<eq>" :subid("287_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "infix:sym<eq>" :subid("287_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1136_tgt
.local int rx1136_pos
@@ -13944,7 +13944,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<eq>" :subid("288_1274022894.43745") :method
+.sub "!PREFIX__infix:sym<eq>" :subid("288_1274564776.41408") :method
.annotate 'line', 431
$P1138 = self."!PREFIX__!subrule"("O", "eq")
new $P1139, "ResizablePMCArray"
@@ -13954,7 +13954,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<ne>" :subid("289_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "infix:sym<ne>" :subid("289_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1143_tgt
.local int rx1143_pos
@@ -14033,7 +14033,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<ne>" :subid("290_1274022894.43745") :method
+.sub "!PREFIX__infix:sym<ne>" :subid("290_1274564776.41408") :method
.annotate 'line', 431
$P1145 = self."!PREFIX__!subrule"("O", "ne")
new $P1146, "ResizablePMCArray"
@@ -14043,7 +14043,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<le>" :subid("291_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "infix:sym<le>" :subid("291_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1150_tgt
.local int rx1150_pos
@@ -14122,7 +14122,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<le>" :subid("292_1274022894.43745") :method
+.sub "!PREFIX__infix:sym<le>" :subid("292_1274564776.41408") :method
.annotate 'line', 431
$P1152 = self."!PREFIX__!subrule"("O", "le")
new $P1153, "ResizablePMCArray"
@@ -14132,7 +14132,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<ge>" :subid("293_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "infix:sym<ge>" :subid("293_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1157_tgt
.local int rx1157_pos
@@ -14211,7 +14211,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<ge>" :subid("294_1274022894.43745") :method
+.sub "!PREFIX__infix:sym<ge>" :subid("294_1274564776.41408") :method
.annotate 'line', 431
$P1159 = self."!PREFIX__!subrule"("O", "ge")
new $P1160, "ResizablePMCArray"
@@ -14221,7 +14221,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<lt>" :subid("295_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "infix:sym<lt>" :subid("295_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1164_tgt
.local int rx1164_pos
@@ -14300,7 +14300,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<lt>" :subid("296_1274022894.43745") :method
+.sub "!PREFIX__infix:sym<lt>" :subid("296_1274564776.41408") :method
.annotate 'line', 431
$P1166 = self."!PREFIX__!subrule"("O", "lt")
new $P1167, "ResizablePMCArray"
@@ -14310,7 +14310,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<gt>" :subid("297_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "infix:sym<gt>" :subid("297_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1171_tgt
.local int rx1171_pos
@@ -14389,7 +14389,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<gt>" :subid("298_1274022894.43745") :method
+.sub "!PREFIX__infix:sym<gt>" :subid("298_1274564776.41408") :method
.annotate 'line', 431
$P1173 = self."!PREFIX__!subrule"("O", "gt")
new $P1174, "ResizablePMCArray"
@@ -14399,7 +14399,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<=:=>" :subid("299_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "infix:sym<=:=>" :subid("299_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1178_tgt
.local int rx1178_pos
@@ -14478,7 +14478,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<=:=>" :subid("300_1274022894.43745") :method
+.sub "!PREFIX__infix:sym<=:=>" :subid("300_1274564776.41408") :method
.annotate 'line', 431
$P1180 = self."!PREFIX__!subrule"("O", "=:=")
new $P1181, "ResizablePMCArray"
@@ -14488,7 +14488,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<~~>" :subid("301_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "infix:sym<~~>" :subid("301_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1185_tgt
.local int rx1185_pos
@@ -14567,7 +14567,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<~~>" :subid("302_1274022894.43745") :method
+.sub "!PREFIX__infix:sym<~~>" :subid("302_1274564776.41408") :method
.annotate 'line', 431
$P1187 = self."!PREFIX__!subrule"("O", "~~")
new $P1188, "ResizablePMCArray"
@@ -14577,7 +14577,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<&&>" :subid("303_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "infix:sym<&&>" :subid("303_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1192_tgt
.local int rx1192_pos
@@ -14656,7 +14656,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<&&>" :subid("304_1274022894.43745") :method
+.sub "!PREFIX__infix:sym<&&>" :subid("304_1274564776.41408") :method
.annotate 'line', 431
$P1194 = self."!PREFIX__!subrule"("O", "&&")
new $P1195, "ResizablePMCArray"
@@ -14666,7 +14666,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<||>" :subid("305_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "infix:sym<||>" :subid("305_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1199_tgt
.local int rx1199_pos
@@ -14745,7 +14745,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<||>" :subid("306_1274022894.43745") :method
+.sub "!PREFIX__infix:sym<||>" :subid("306_1274564776.41408") :method
.annotate 'line', 431
$P1201 = self."!PREFIX__!subrule"("O", "||")
new $P1202, "ResizablePMCArray"
@@ -14755,7 +14755,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<//>" :subid("307_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "infix:sym<//>" :subid("307_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1206_tgt
.local int rx1206_pos
@@ -14834,7 +14834,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<//>" :subid("308_1274022894.43745") :method
+.sub "!PREFIX__infix:sym<//>" :subid("308_1274564776.41408") :method
.annotate 'line', 431
$P1208 = self."!PREFIX__!subrule"("O", "//")
new $P1209, "ResizablePMCArray"
@@ -14844,7 +14844,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<?? !!>" :subid("309_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "infix:sym<?? !!>" :subid("309_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1213_tgt
.local int rx1213_pos
@@ -14933,7 +14933,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<?? !!>" :subid("310_1274022894.43745") :method
+.sub "!PREFIX__infix:sym<?? !!>" :subid("310_1274564776.41408") :method
.annotate 'line', 431
$P1215 = self."!PREFIX__!subrule"("", "??")
new $P1216, "ResizablePMCArray"
@@ -14943,7 +14943,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<=>" :subid("311_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "infix:sym<=>" :subid("311_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1219_tgt
.local int rx1219_pos
@@ -15021,7 +15021,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<=>" :subid("312_1274022894.43745") :method
+.sub "!PREFIX__infix:sym<=>" :subid("312_1274564776.41408") :method
.annotate 'line', 431
$P1221 = self."!PREFIX__!subrule"("", "=")
new $P1222, "ResizablePMCArray"
@@ -15031,7 +15031,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<:=>" :subid("313_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "infix:sym<:=>" :subid("313_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1226_tgt
.local int rx1226_pos
@@ -15110,7 +15110,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<:=>" :subid("314_1274022894.43745") :method
+.sub "!PREFIX__infix:sym<:=>" :subid("314_1274564776.41408") :method
.annotate 'line', 431
$P1228 = self."!PREFIX__!subrule"("O", ":=")
new $P1229, "ResizablePMCArray"
@@ -15120,7 +15120,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<::=>" :subid("315_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "infix:sym<::=>" :subid("315_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1233_tgt
.local int rx1233_pos
@@ -15199,7 +15199,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<::=>" :subid("316_1274022894.43745") :method
+.sub "!PREFIX__infix:sym<::=>" :subid("316_1274564776.41408") :method
.annotate 'line', 431
$P1235 = self."!PREFIX__!subrule"("O", "::=")
new $P1236, "ResizablePMCArray"
@@ -15209,7 +15209,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<,>" :subid("317_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "infix:sym<,>" :subid("317_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1240_tgt
.local int rx1240_pos
@@ -15288,7 +15288,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<,>" :subid("318_1274022894.43745") :method
+.sub "!PREFIX__infix:sym<,>" :subid("318_1274564776.41408") :method
.annotate 'line', 431
$P1242 = self."!PREFIX__!subrule"("O", ",")
new $P1243, "ResizablePMCArray"
@@ -15298,7 +15298,7 @@
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<return>" :subid("319_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "prefix:sym<return>" :subid("319_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1247_tgt
.local int rx1247_pos
@@ -15383,7 +15383,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<return>" :subid("320_1274022894.43745") :method
+.sub "!PREFIX__prefix:sym<return>" :subid("320_1274564776.41408") :method
.annotate 'line', 431
new $P1249, "ResizablePMCArray"
push $P1249, "return"
@@ -15392,7 +15392,7 @@
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<make>" :subid("321_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "prefix:sym<make>" :subid("321_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1253_tgt
.local int rx1253_pos
@@ -15477,7 +15477,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<make>" :subid("322_1274022894.43745") :method
+.sub "!PREFIX__prefix:sym<make>" :subid("322_1274564776.41408") :method
.annotate 'line', 431
new $P1255, "ResizablePMCArray"
push $P1255, "make"
@@ -15486,7 +15486,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<last>" :subid("323_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "term:sym<last>" :subid("323_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1259_tgt
.local int rx1259_pos
@@ -15558,7 +15558,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<last>" :subid("324_1274022894.43745") :method
+.sub "!PREFIX__term:sym<last>" :subid("324_1274564776.41408") :method
.annotate 'line', 431
new $P1261, "ResizablePMCArray"
push $P1261, "last"
@@ -15567,7 +15567,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<next>" :subid("325_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "term:sym<next>" :subid("325_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1265_tgt
.local int rx1265_pos
@@ -15639,7 +15639,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<next>" :subid("326_1274022894.43745") :method
+.sub "!PREFIX__term:sym<next>" :subid("326_1274564776.41408") :method
.annotate 'line', 431
new $P1267, "ResizablePMCArray"
push $P1267, "next"
@@ -15648,7 +15648,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<redo>" :subid("327_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "term:sym<redo>" :subid("327_1274564776.41408") :method :outer("11_1274564776.41408")
.annotate 'line', 431
.local string rx1271_tgt
.local int rx1271_pos
@@ -15720,7 +15720,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<redo>" :subid("328_1274022894.43745") :method
+.sub "!PREFIX__term:sym<redo>" :subid("328_1274564776.41408") :method
.annotate 'line', 431
new $P1273, "ResizablePMCArray"
push $P1273, "redo"
@@ -15729,7 +15729,7 @@
.namespace ["NQP";"Grammar"]
-.sub "smartmatch" :subid("329_1274022894.43745") :method :outer("11_1274022894.43745")
+.sub "smartmatch" :subid("329_1274564776.41408") :method :outer("11_1274564776.41408")
.param pmc param_1279
.annotate 'line', 542
new $P1278, 'ExceptionHandler'
@@ -15742,34 +15742,34 @@
new $P1280, "Undef"
.lex "$t", $P1280
find_lex $P1281, "$/"
- unless_null $P1281, vivify_357
+ unless_null $P1281, vivify_368
$P1281 = root_new ['parrot';'ResizablePMCArray']
- vivify_357:
+ vivify_368:
set $P1282, $P1281[0]
- unless_null $P1282, vivify_358
+ unless_null $P1282, vivify_369
new $P1282, "Undef"
- vivify_358:
+ vivify_369:
store_lex "$t", $P1282
find_lex $P1283, "$/"
- unless_null $P1283, vivify_359
+ unless_null $P1283, vivify_370
$P1283 = root_new ['parrot';'ResizablePMCArray']
- vivify_359:
+ vivify_370:
set $P1284, $P1283[1]
- unless_null $P1284, vivify_360
+ unless_null $P1284, vivify_371
new $P1284, "Undef"
- vivify_360:
+ vivify_371:
find_lex $P1285, "$/"
- unless_null $P1285, vivify_361
+ unless_null $P1285, vivify_372
$P1285 = root_new ['parrot';'ResizablePMCArray']
store_lex "$/", $P1285
- vivify_361:
+ vivify_372:
set $P1285[0], $P1284
find_lex $P1286, "$t"
find_lex $P1287, "$/"
- unless_null $P1287, vivify_362
+ unless_null $P1287, vivify_373
$P1287 = root_new ['parrot';'ResizablePMCArray']
store_lex "$/", $P1287
- vivify_362:
+ vivify_373:
set $P1287[1], $P1286
.annotate 'line', 542
.return ($P1286)
@@ -15782,28 +15782,34 @@
.namespace ["NQP";"Regex"]
-.sub "_block1289" :subid("330_1274022894.43745") :outer("11_1274022894.43745")
+.sub "_block1289" :subid("330_1274564776.41408") :outer("11_1274564776.41408")
.annotate 'line', 548
- .const 'Sub' $P1323 = "341_1274022894.43745"
- capture_lex $P1323
- .const 'Sub' $P1310 = "338_1274022894.43745"
+ .const 'Sub' $P1367 = "352_1274564776.41408"
+ capture_lex $P1367
+ .const 'Sub' $P1354 = "349_1274564776.41408"
+ capture_lex $P1354
+ .const 'Sub' $P1349 = "347_1274564776.41408"
+ capture_lex $P1349
+ .const 'Sub' $P1344 = "345_1274564776.41408"
+ capture_lex $P1344
+ .const 'Sub' $P1330 = "341_1274564776.41408"
+ capture_lex $P1330
+ .const 'Sub' $P1310 = "337_1274564776.41408"
capture_lex $P1310
- .const 'Sub' $P1305 = "336_1274022894.43745"
- capture_lex $P1305
- .const 'Sub' $P1300 = "334_1274022894.43745"
+ .const 'Sub' $P1300 = "334_1274564776.41408"
capture_lex $P1300
- .const 'Sub' $P1291 = "331_1274022894.43745"
+ .const 'Sub' $P1291 = "331_1274564776.41408"
capture_lex $P1291
- .const 'Sub' $P1323 = "341_1274022894.43745"
- capture_lex $P1323
- .return ($P1323)
+ .const 'Sub' $P1367 = "352_1274564776.41408"
+ capture_lex $P1367
+ .return ($P1367)
.end
.namespace ["NQP";"Regex"]
-.sub "metachar:sym<:my>" :subid("331_1274022894.43745") :method :outer("330_1274022894.43745")
+.sub "metachar:sym<:my>" :subid("331_1274564776.41408") :method :outer("330_1274564776.41408")
.annotate 'line', 548
- .const 'Sub' $P1297 = "333_1274022894.43745"
+ .const 'Sub' $P1297 = "333_1274564776.41408"
capture_lex $P1297
.local string rx1292_tgt
.local int rx1292_pos
@@ -15844,7 +15850,7 @@
add rx1292_pos, 1
# rx subrule "before" subtype=zerowidth negate=
rx1292_cur."!cursor_pos"(rx1292_pos)
- .const 'Sub' $P1297 = "333_1274022894.43745"
+ .const 'Sub' $P1297 = "333_1274564776.41408"
capture_lex $P1297
$P10 = rx1292_cur."before"($P1297)
unless $P10, rx1292_fail
@@ -15887,7 +15893,7 @@
.namespace ["NQP";"Regex"]
-.sub "!PREFIX__metachar:sym<:my>" :subid("332_1274022894.43745") :method
+.sub "!PREFIX__metachar:sym<:my>" :subid("332_1274564776.41408") :method
.annotate 'line', 548
new $P1294, "ResizablePMCArray"
push $P1294, ":"
@@ -15896,7 +15902,7 @@
.namespace ["NQP";"Regex"]
-.sub "_block1296" :anon :subid("333_1274022894.43745") :method :outer("331_1274022894.43745")
+.sub "_block1296" :anon :subid("333_1274564776.41408") :method :outer("331_1274564776.41408")
.annotate 'line', 550
.local string rx1298_tgt
.local int rx1298_pos
@@ -15952,8 +15958,10 @@
.namespace ["NQP";"Regex"]
-.sub "metachar:sym<{ }>" :subid("334_1274022894.43745") :method :outer("330_1274022894.43745")
+.sub "metachar:sym<$>" :subid("334_1274564776.41408") :method :outer("330_1274564776.41408")
.annotate 'line', 548
+ .const 'Sub' $P1307 = "336_1274564776.41408"
+ capture_lex $P1307
.local string rx1301_tgt
.local int rx1301_pos
.local int rx1301_off
@@ -15961,7 +15969,7 @@
.local int rx1301_rep
.local pmc rx1301_cur
(rx1301_cur, rx1301_pos, rx1301_tgt) = self."!cursor_start"()
- rx1301_cur."!cursor_debug"("START ", "metachar:sym<{ }>")
+ rx1301_cur."!cursor_debug"("START ", "metachar:sym<$>")
.lex unicode:"$\x{a2}", rx1301_cur
.local pmc match
.lex "$/", match
@@ -15984,23 +15992,37 @@
rx1301_cur."!mark_push"(0, rx1301_pos, $I10)
rxscan1304_done:
.annotate 'line', 554
- # rx enumcharlist negate=0 zerowidth
- ge rx1301_pos, rx1301_eos, rx1301_fail
- sub $I10, rx1301_pos, rx1301_off
- substr $S10, rx1301_tgt, $I10, 1
- index $I11, "{", $S10
- lt $I11, 0, rx1301_fail
- # rx subrule "codeblock" subtype=capture negate=
- rx1301_cur."!cursor_pos"(rx1301_pos)
- $P10 = rx1301_cur."codeblock"()
- unless $P10, rx1301_fail
+ # rx subcapture "sym"
+ set_addr $I10, rxcap_1305_fail
+ rx1301_cur."!mark_push"(0, rx1301_pos, $I10)
+ # rx literal "$"
+ add $I11, rx1301_pos, 1
+ gt $I11, rx1301_eos, rx1301_fail
+ sub $I11, rx1301_pos, rx1301_off
+ substr $S10, rx1301_tgt, $I11, 1
+ ne $S10, "$", rx1301_fail
+ add rx1301_pos, 1
+ set_addr $I10, rxcap_1305_fail
+ ($I12, $I11) = rx1301_cur."!mark_peek"($I10)
+ rx1301_cur."!cursor_pos"($I11)
+ ($P10) = rx1301_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1301_pos, "")
rx1301_cur."!mark_push"(0, -1, 0, $P10)
- $P10."!cursor_names"("codeblock")
- rx1301_pos = $P10."pos"()
+ $P10."!cursor_names"("sym")
+ goto rxcap_1305_done
+ rxcap_1305_fail:
+ goto rx1301_fail
+ rxcap_1305_done:
+ # rx subrule "before" subtype=zerowidth negate=1
+ rx1301_cur."!cursor_pos"(rx1301_pos)
+ .const 'Sub' $P1307 = "336_1274564776.41408"
+ capture_lex $P1307
+ $P10 = rx1301_cur."before"($P1307)
+ if $P10, rx1301_fail
.annotate 'line', 553
# rx pass
- rx1301_cur."!cursor_pass"(rx1301_pos, "metachar:sym<{ }>")
- rx1301_cur."!cursor_debug"("PASS ", "metachar:sym<{ }>", " at pos=", rx1301_pos)
+ rx1301_cur."!cursor_pass"(rx1301_pos, "metachar:sym<$>")
+ rx1301_cur."!cursor_debug"("PASS ", "metachar:sym<$>", " at pos=", rx1301_pos)
.return (rx1301_cur)
rx1301_fail:
.annotate 'line', 548
@@ -16010,100 +16032,83 @@
jump $I10
rx1301_done:
rx1301_cur."!cursor_fail"()
- rx1301_cur."!cursor_debug"("FAIL ", "metachar:sym<{ }>")
+ rx1301_cur."!cursor_debug"("FAIL ", "metachar:sym<$>")
.return (rx1301_cur)
.return ()
.end
.namespace ["NQP";"Regex"]
-.sub "!PREFIX__metachar:sym<{ }>" :subid("335_1274022894.43745") :method
+.sub "!PREFIX__metachar:sym<$>" :subid("335_1274564776.41408") :method
.annotate 'line', 548
new $P1303, "ResizablePMCArray"
- push $P1303, "{"
+ push $P1303, "$"
.return ($P1303)
.end
.namespace ["NQP";"Regex"]
-.sub "assertion:sym<{ }>" :subid("336_1274022894.43745") :method :outer("330_1274022894.43745")
-.annotate 'line', 548
- .local string rx1306_tgt
- .local int rx1306_pos
- .local int rx1306_off
- .local int rx1306_eos
- .local int rx1306_rep
- .local pmc rx1306_cur
- (rx1306_cur, rx1306_pos, rx1306_tgt) = self."!cursor_start"()
- rx1306_cur."!cursor_debug"("START ", "assertion:sym<{ }>")
- .lex unicode:"$\x{a2}", rx1306_cur
- .local pmc match
- .lex "$/", match
- length rx1306_eos, rx1306_tgt
- set rx1306_off, 0
- lt rx1306_pos, 2, rx1306_start
- sub rx1306_off, rx1306_pos, 1
- substr rx1306_tgt, rx1306_tgt, rx1306_off
- rx1306_start:
+.sub "_block1306" :anon :subid("336_1274564776.41408") :method :outer("334_1274564776.41408")
+.annotate 'line', 554
+ .local string rx1308_tgt
+ .local int rx1308_pos
+ .local int rx1308_off
+ .local int rx1308_eos
+ .local int rx1308_rep
+ .local pmc rx1308_cur
+ (rx1308_cur, rx1308_pos, rx1308_tgt) = self."!cursor_start"()
+ rx1308_cur."!cursor_debug"("START ", "")
+ .lex unicode:"$\x{a2}", rx1308_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1308_eos, rx1308_tgt
+ set rx1308_off, 0
+ lt rx1308_pos, 2, rx1308_start
+ sub rx1308_off, rx1308_pos, 1
+ substr rx1308_tgt, rx1308_tgt, rx1308_off
+ rx1308_start:
$I10 = self.'from'()
ne $I10, -1, rxscan1309_done
goto rxscan1309_scan
rxscan1309_loop:
- ($P10) = rx1306_cur."from"()
+ ($P10) = rx1308_cur."from"()
inc $P10
- set rx1306_pos, $P10
- ge rx1306_pos, rx1306_eos, rxscan1309_done
+ set rx1308_pos, $P10
+ ge rx1308_pos, rx1308_eos, rxscan1309_done
rxscan1309_scan:
set_addr $I10, rxscan1309_loop
- rx1306_cur."!mark_push"(0, rx1306_pos, $I10)
+ rx1308_cur."!mark_push"(0, rx1308_pos, $I10)
rxscan1309_done:
-.annotate 'line', 558
- # rx enumcharlist negate=0 zerowidth
- ge rx1306_pos, rx1306_eos, rx1306_fail
- sub $I10, rx1306_pos, rx1306_off
- substr $S10, rx1306_tgt, $I10, 1
- index $I11, "{", $S10
- lt $I11, 0, rx1306_fail
- # rx subrule "codeblock" subtype=capture negate=
- rx1306_cur."!cursor_pos"(rx1306_pos)
- $P10 = rx1306_cur."codeblock"()
- unless $P10, rx1306_fail
- rx1306_cur."!mark_push"(0, -1, 0, $P10)
- $P10."!cursor_names"("codeblock")
- rx1306_pos = $P10."pos"()
-.annotate 'line', 557
- # rx pass
- rx1306_cur."!cursor_pass"(rx1306_pos, "assertion:sym<{ }>")
- rx1306_cur."!cursor_debug"("PASS ", "assertion:sym<{ }>", " at pos=", rx1306_pos)
- .return (rx1306_cur)
- rx1306_fail:
-.annotate 'line', 548
- (rx1306_rep, rx1306_pos, $I10, $P10) = rx1306_cur."!mark_fail"(0)
- lt rx1306_pos, -1, rx1306_done
- eq rx1306_pos, -1, rx1306_fail
- jump $I10
- rx1306_done:
- rx1306_cur."!cursor_fail"()
- rx1306_cur."!cursor_debug"("FAIL ", "assertion:sym<{ }>")
- .return (rx1306_cur)
+ # rx charclass w
+ ge rx1308_pos, rx1308_eos, rx1308_fail
+ sub $I10, rx1308_pos, rx1308_off
+ is_cclass $I11, 8192, rx1308_tgt, $I10
+ unless $I11, rx1308_fail
+ inc rx1308_pos
+ # rx pass
+ rx1308_cur."!cursor_pass"(rx1308_pos, "")
+ rx1308_cur."!cursor_debug"("PASS ", "", " at pos=", rx1308_pos)
+ .return (rx1308_cur)
+ rx1308_fail:
+ (rx1308_rep, rx1308_pos, $I10, $P10) = rx1308_cur."!mark_fail"(0)
+ lt rx1308_pos, -1, rx1308_done
+ eq rx1308_pos, -1, rx1308_fail
+ jump $I10
+ rx1308_done:
+ rx1308_cur."!cursor_fail"()
+ rx1308_cur."!cursor_debug"("FAIL ", "")
+ .return (rx1308_cur)
.return ()
.end
.namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<{ }>" :subid("337_1274022894.43745") :method
-.annotate 'line', 548
- new $P1308, "ResizablePMCArray"
- push $P1308, "{"
- .return ($P1308)
-.end
-
-
-.namespace ["NQP";"Regex"]
-.sub "assertion:sym<name>" :subid("338_1274022894.43745") :method :outer("330_1274022894.43745")
+.sub "metachar:sym<var>" :subid("337_1274564776.41408") :method :outer("330_1274564776.41408")
.annotate 'line', 548
- .const 'Sub' $P1319 = "340_1274022894.43745"
- capture_lex $P1319
+ .const 'Sub' $P1325 = "340_1274564776.41408"
+ capture_lex $P1325
+ .const 'Sub' $P1321 = "339_1274564776.41408"
+ capture_lex $P1321
.local string rx1311_tgt
.local int rx1311_pos
.local int rx1311_off
@@ -16111,8 +16116,8 @@
.local int rx1311_rep
.local pmc rx1311_cur
(rx1311_cur, rx1311_pos, rx1311_tgt) = self."!cursor_start"()
- rx1311_cur."!cursor_debug"("START ", "assertion:sym<name>")
- rx1311_cur."!cursor_caparray"("arglist", "nibbler", "assertion")
+ rx1311_cur."!cursor_debug"("START ", "metachar:sym<var>")
+ rx1311_cur."!cursor_caparray"("quantified_atom")
.lex unicode:"$\x{a2}", rx1311_cur
.local pmc match
.lex "$/", match
@@ -16134,130 +16139,154 @@
set_addr $I10, rxscan1314_loop
rx1311_cur."!mark_push"(0, rx1311_pos, $I10)
rxscan1314_done:
-.annotate 'line', 562
- # rx subcapture "longname"
- set_addr $I10, rxcap_1315_fail
+ alt1315_0:
+.annotate 'line', 558
+ set_addr $I10, alt1315_1
rx1311_cur."!mark_push"(0, rx1311_pos, $I10)
- # rx charclass_q w r 1..-1
+.annotate 'line', 559
+ # rx literal "$<"
+ add $I11, rx1311_pos, 2
+ gt $I11, rx1311_eos, rx1311_fail
+ sub $I11, rx1311_pos, rx1311_off
+ substr $S10, rx1311_tgt, $I11, 2
+ ne $S10, "$<", rx1311_fail
+ add rx1311_pos, 2
+ # rx subcapture "name"
+ set_addr $I10, rxcap_1318_fail
+ rx1311_cur."!mark_push"(0, rx1311_pos, $I10)
+ # rx rxquantr1316 ** 1..*
+ set_addr $I1317, rxquantr1316_done
+ rx1311_cur."!mark_push"(0, -1, $I1317)
+ rxquantr1316_loop:
+ # rx enumcharlist negate=1
+ ge rx1311_pos, rx1311_eos, rx1311_fail
sub $I10, rx1311_pos, rx1311_off
- find_not_cclass $I11, 8192, rx1311_tgt, $I10, rx1311_eos
- add $I12, $I10, 1
- lt $I11, $I12, rx1311_fail
- add rx1311_pos, rx1311_off, $I11
- set_addr $I10, rxcap_1315_fail
+ substr $S10, rx1311_tgt, $I10, 1
+ index $I11, ">", $S10
+ ge $I11, 0, rx1311_fail
+ inc rx1311_pos
+ (rx1311_rep) = rx1311_cur."!mark_commit"($I1317)
+ rx1311_cur."!mark_push"(rx1311_rep, rx1311_pos, $I1317)
+ goto rxquantr1316_loop
+ rxquantr1316_done:
+ set_addr $I10, rxcap_1318_fail
($I12, $I11) = rx1311_cur."!mark_peek"($I10)
rx1311_cur."!cursor_pos"($I11)
($P10) = rx1311_cur."!cursor_start"()
$P10."!cursor_pass"(rx1311_pos, "")
rx1311_cur."!mark_push"(0, -1, 0, $P10)
- $P10."!cursor_names"("longname")
- goto rxcap_1315_done
- rxcap_1315_fail:
+ $P10."!cursor_names"("name")
+ goto rxcap_1318_done
+ rxcap_1318_fail:
goto rx1311_fail
- rxcap_1315_done:
-.annotate 'line', 569
- # rx rxquantr1316 ** 0..1
- set_addr $I1322, rxquantr1316_done
- rx1311_cur."!mark_push"(0, rx1311_pos, $I1322)
- rxquantr1316_loop:
- alt1317_0:
-.annotate 'line', 563
- set_addr $I10, alt1317_1
- rx1311_cur."!mark_push"(0, rx1311_pos, $I10)
-.annotate 'line', 564
- # rx subrule "before" subtype=zerowidth negate=
- rx1311_cur."!cursor_pos"(rx1311_pos)
- .const 'Sub' $P1319 = "340_1274022894.43745"
- capture_lex $P1319
- $P10 = rx1311_cur."before"($P1319)
- unless $P10, rx1311_fail
- goto alt1317_end
- alt1317_1:
- set_addr $I10, alt1317_2
- rx1311_cur."!mark_push"(0, rx1311_pos, $I10)
-.annotate 'line', 565
- # rx literal "="
+ rxcap_1318_done:
+ # rx literal ">"
add $I11, rx1311_pos, 1
gt $I11, rx1311_eos, rx1311_fail
sub $I11, rx1311_pos, rx1311_off
substr $S10, rx1311_tgt, $I11, 1
- ne $S10, "=", rx1311_fail
+ ne $S10, ">", rx1311_fail
add rx1311_pos, 1
- # rx subrule "assertion" subtype=capture negate=
- rx1311_cur."!cursor_pos"(rx1311_pos)
- $P10 = rx1311_cur."assertion"()
- unless $P10, rx1311_fail
- rx1311_cur."!mark_push"(0, -1, 0, $P10)
- $P10."!cursor_names"("assertion")
- rx1311_pos = $P10."pos"()
- goto alt1317_end
- alt1317_2:
- set_addr $I10, alt1317_3
+ goto alt1315_end
+ alt1315_1:
+ set_addr $I10, alt1315_2
rx1311_cur."!mark_push"(0, rx1311_pos, $I10)
-.annotate 'line', 566
- # rx literal ":"
+.annotate 'line', 560
+ # rx literal "$"
add $I11, rx1311_pos, 1
gt $I11, rx1311_eos, rx1311_fail
sub $I11, rx1311_pos, rx1311_off
substr $S10, rx1311_tgt, $I11, 1
- ne $S10, ":", rx1311_fail
+ ne $S10, "$", rx1311_fail
add rx1311_pos, 1
- # rx subrule "arglist" subtype=capture negate=
- rx1311_cur."!cursor_pos"(rx1311_pos)
- $P10 = rx1311_cur."arglist"()
- unless $P10, rx1311_fail
+ # rx subcapture "pos"
+ set_addr $I10, rxcap_1319_fail
+ rx1311_cur."!mark_push"(0, rx1311_pos, $I10)
+ # rx charclass_q d r 1..-1
+ sub $I10, rx1311_pos, rx1311_off
+ find_not_cclass $I11, 8, rx1311_tgt, $I10, rx1311_eos
+ add $I12, $I10, 1
+ lt $I11, $I12, rx1311_fail
+ add rx1311_pos, rx1311_off, $I11
+ set_addr $I10, rxcap_1319_fail
+ ($I12, $I11) = rx1311_cur."!mark_peek"($I10)
+ rx1311_cur."!cursor_pos"($I11)
+ ($P10) = rx1311_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1311_pos, "")
rx1311_cur."!mark_push"(0, -1, 0, $P10)
- $P10."!cursor_names"("arglist")
- rx1311_pos = $P10."pos"()
- goto alt1317_end
- alt1317_3:
- set_addr $I10, alt1317_4
+ $P10."!cursor_names"("pos")
+ goto rxcap_1319_done
+ rxcap_1319_fail:
+ goto rx1311_fail
+ rxcap_1319_done:
+ goto alt1315_end
+ alt1315_2:
+ set_addr $I10, alt1315_3
rx1311_cur."!mark_push"(0, rx1311_pos, $I10)
-.annotate 'line', 567
- # rx literal "("
- add $I11, rx1311_pos, 1
- gt $I11, rx1311_eos, rx1311_fail
- sub $I11, rx1311_pos, rx1311_off
- substr $S10, rx1311_tgt, $I11, 1
- ne $S10, "(", rx1311_fail
- add rx1311_pos, 1
+.annotate 'line', 561
+ # rx subrule "before" subtype=zerowidth negate=
+ rx1311_cur."!cursor_pos"(rx1311_pos)
+ .const 'Sub' $P1321 = "339_1274564776.41408"
+ capture_lex $P1321
+ $P10 = rx1311_cur."before"($P1321)
+ unless $P10, rx1311_fail
# rx subrule "LANG" subtype=capture negate=
rx1311_cur."!cursor_pos"(rx1311_pos)
- $P10 = rx1311_cur."LANG"("MAIN", "arglist")
+ $P10 = rx1311_cur."LANG"("MAIN", "variable")
unless $P10, rx1311_fail
rx1311_cur."!mark_push"(0, -1, 0, $P10)
- $P10."!cursor_names"("arglist")
+ $P10."!cursor_names"("var")
rx1311_pos = $P10."pos"()
- # rx literal ")"
+ goto alt1315_end
+ alt1315_3:
+.annotate 'line', 562
+ # rx subrule "before" subtype=zerowidth negate=
+ rx1311_cur."!cursor_pos"(rx1311_pos)
+ .const 'Sub' $P1325 = "340_1274564776.41408"
+ capture_lex $P1325
+ $P10 = rx1311_cur."before"($P1325)
+ unless $P10, rx1311_fail
+ # rx subrule "panic" subtype=method negate=
+ rx1311_cur."!cursor_pos"(rx1311_pos)
+ $P10 = rx1311_cur."panic"("Use of hash variable in patterns is reserved")
+ unless $P10, rx1311_fail
+ rx1311_pos = $P10."pos"()
+ alt1315_end:
+.annotate 'line', 565
+ # rx rxquantr1328 ** 0..1
+ set_addr $I1329, rxquantr1328_done
+ rx1311_cur."!mark_push"(0, rx1311_pos, $I1329)
+ rxquantr1328_loop:
+ # rx subrule "ws" subtype=method negate=
+ rx1311_cur."!cursor_pos"(rx1311_pos)
+ $P10 = rx1311_cur."ws"()
+ unless $P10, rx1311_fail
+ rx1311_pos = $P10."pos"()
+ # rx literal "="
add $I11, rx1311_pos, 1
gt $I11, rx1311_eos, rx1311_fail
sub $I11, rx1311_pos, rx1311_off
substr $S10, rx1311_tgt, $I11, 1
- ne $S10, ")", rx1311_fail
+ ne $S10, "=", rx1311_fail
add rx1311_pos, 1
- goto alt1317_end
- alt1317_4:
-.annotate 'line', 568
- # rx subrule "normspace" subtype=method negate=
+ # rx subrule "ws" subtype=method negate=
rx1311_cur."!cursor_pos"(rx1311_pos)
- $P10 = rx1311_cur."normspace"()
+ $P10 = rx1311_cur."ws"()
unless $P10, rx1311_fail
rx1311_pos = $P10."pos"()
- # rx subrule "nibbler" subtype=capture negate=
+ # rx subrule "quantified_atom" subtype=capture negate=
rx1311_cur."!cursor_pos"(rx1311_pos)
- $P10 = rx1311_cur."nibbler"()
+ $P10 = rx1311_cur."quantified_atom"()
unless $P10, rx1311_fail
rx1311_cur."!mark_push"(0, -1, 0, $P10)
- $P10."!cursor_names"("nibbler")
+ $P10."!cursor_names"("quantified_atom")
rx1311_pos = $P10."pos"()
- alt1317_end:
-.annotate 'line', 569
- (rx1311_rep) = rx1311_cur."!mark_commit"($I1322)
- rxquantr1316_done:
-.annotate 'line', 561
+ (rx1311_rep) = rx1311_cur."!mark_commit"($I1329)
+ rxquantr1328_done:
+.annotate 'line', 557
# rx pass
- rx1311_cur."!cursor_pass"(rx1311_pos, "assertion:sym<name>")
- rx1311_cur."!cursor_debug"("PASS ", "assertion:sym<name>", " at pos=", rx1311_pos)
+ rx1311_cur."!cursor_pass"(rx1311_pos, "metachar:sym<var>")
+ rx1311_cur."!cursor_debug"("PASS ", "metachar:sym<var>", " at pos=", rx1311_pos)
.return (rx1311_cur)
rx1311_fail:
.annotate 'line', 548
@@ -16267,426 +16296,1106 @@
jump $I10
rx1311_done:
rx1311_cur."!cursor_fail"()
- rx1311_cur."!cursor_debug"("FAIL ", "assertion:sym<name>")
+ rx1311_cur."!cursor_debug"("FAIL ", "metachar:sym<var>")
.return (rx1311_cur)
.return ()
.end
.namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<name>" :subid("339_1274022894.43745") :method
+.sub "!PREFIX__metachar:sym<var>" :subid("338_1274564776.41408") :method
.annotate 'line', 548
new $P1313, "ResizablePMCArray"
push $P1313, ""
+ push $P1313, ""
+ push $P1313, "$"
+ push $P1313, "$<"
.return ($P1313)
.end
.namespace ["NQP";"Regex"]
-.sub "_block1318" :anon :subid("340_1274022894.43745") :method :outer("338_1274022894.43745")
-.annotate 'line', 564
- .local string rx1320_tgt
- .local int rx1320_pos
- .local int rx1320_off
- .local int rx1320_eos
- .local int rx1320_rep
- .local pmc rx1320_cur
- (rx1320_cur, rx1320_pos, rx1320_tgt) = self."!cursor_start"()
- rx1320_cur."!cursor_debug"("START ", "")
- .lex unicode:"$\x{a2}", rx1320_cur
- .local pmc match
- .lex "$/", match
- length rx1320_eos, rx1320_tgt
- set rx1320_off, 0
- lt rx1320_pos, 2, rx1320_start
- sub rx1320_off, rx1320_pos, 1
- substr rx1320_tgt, rx1320_tgt, rx1320_off
- rx1320_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1321_done
- goto rxscan1321_scan
- rxscan1321_loop:
- ($P10) = rx1320_cur."from"()
- inc $P10
- set rx1320_pos, $P10
- ge rx1320_pos, rx1320_eos, rxscan1321_done
- rxscan1321_scan:
- set_addr $I10, rxscan1321_loop
- rx1320_cur."!mark_push"(0, rx1320_pos, $I10)
- rxscan1321_done:
- # rx literal ">"
- add $I11, rx1320_pos, 1
- gt $I11, rx1320_eos, rx1320_fail
- sub $I11, rx1320_pos, rx1320_off
- substr $S10, rx1320_tgt, $I11, 1
- ne $S10, ">", rx1320_fail
- add rx1320_pos, 1
- # rx pass
- rx1320_cur."!cursor_pass"(rx1320_pos, "")
- rx1320_cur."!cursor_debug"("PASS ", "", " at pos=", rx1320_pos)
- .return (rx1320_cur)
- rx1320_fail:
- (rx1320_rep, rx1320_pos, $I10, $P10) = rx1320_cur."!mark_fail"(0)
- lt rx1320_pos, -1, rx1320_done
- eq rx1320_pos, -1, rx1320_fail
- jump $I10
- rx1320_done:
- rx1320_cur."!cursor_fail"()
- rx1320_cur."!cursor_debug"("FAIL ", "")
- .return (rx1320_cur)
+.sub "_block1320" :anon :subid("339_1274564776.41408") :method :outer("337_1274564776.41408")
+.annotate 'line', 561
+ .local string rx1322_tgt
+ .local int rx1322_pos
+ .local int rx1322_off
+ .local int rx1322_eos
+ .local int rx1322_rep
+ .local pmc rx1322_cur
+ (rx1322_cur, rx1322_pos, rx1322_tgt) = self."!cursor_start"()
+ rx1322_cur."!cursor_debug"("START ", "")
+ .lex unicode:"$\x{a2}", rx1322_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1322_eos, rx1322_tgt
+ set rx1322_off, 0
+ lt rx1322_pos, 2, rx1322_start
+ sub rx1322_off, rx1322_pos, 1
+ substr rx1322_tgt, rx1322_tgt, rx1322_off
+ rx1322_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1323_done
+ goto rxscan1323_scan
+ rxscan1323_loop:
+ ($P10) = rx1322_cur."from"()
+ inc $P10
+ set rx1322_pos, $P10
+ ge rx1322_pos, rx1322_eos, rxscan1323_done
+ rxscan1323_scan:
+ set_addr $I10, rxscan1323_loop
+ rx1322_cur."!mark_push"(0, rx1322_pos, $I10)
+ rxscan1323_done:
+ # rx enumcharlist negate=0
+ ge rx1322_pos, rx1322_eos, rx1322_fail
+ sub $I10, rx1322_pos, rx1322_off
+ substr $S10, rx1322_tgt, $I10, 1
+ index $I11, "$@", $S10
+ lt $I11, 0, rx1322_fail
+ inc rx1322_pos
+ # rx charclass w
+ ge rx1322_pos, rx1322_eos, rx1322_fail
+ sub $I10, rx1322_pos, rx1322_off
+ is_cclass $I11, 8192, rx1322_tgt, $I10
+ unless $I11, rx1322_fail
+ inc rx1322_pos
+ # rx pass
+ rx1322_cur."!cursor_pass"(rx1322_pos, "")
+ rx1322_cur."!cursor_debug"("PASS ", "", " at pos=", rx1322_pos)
+ .return (rx1322_cur)
+ rx1322_fail:
+ (rx1322_rep, rx1322_pos, $I10, $P10) = rx1322_cur."!mark_fail"(0)
+ lt rx1322_pos, -1, rx1322_done
+ eq rx1322_pos, -1, rx1322_fail
+ jump $I10
+ rx1322_done:
+ rx1322_cur."!cursor_fail"()
+ rx1322_cur."!cursor_debug"("FAIL ", "")
+ .return (rx1322_cur)
+ .return ()
+.end
+
+
+.namespace ["NQP";"Regex"]
+.sub "_block1324" :anon :subid("340_1274564776.41408") :method :outer("337_1274564776.41408")
+.annotate 'line', 562
+ .local string rx1326_tgt
+ .local int rx1326_pos
+ .local int rx1326_off
+ .local int rx1326_eos
+ .local int rx1326_rep
+ .local pmc rx1326_cur
+ (rx1326_cur, rx1326_pos, rx1326_tgt) = self."!cursor_start"()
+ rx1326_cur."!cursor_debug"("START ", "")
+ .lex unicode:"$\x{a2}", rx1326_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1326_eos, rx1326_tgt
+ set rx1326_off, 0
+ lt rx1326_pos, 2, rx1326_start
+ sub rx1326_off, rx1326_pos, 1
+ substr rx1326_tgt, rx1326_tgt, rx1326_off
+ rx1326_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1327_done
+ goto rxscan1327_scan
+ rxscan1327_loop:
+ ($P10) = rx1326_cur."from"()
+ inc $P10
+ set rx1326_pos, $P10
+ ge rx1326_pos, rx1326_eos, rxscan1327_done
+ rxscan1327_scan:
+ set_addr $I10, rxscan1327_loop
+ rx1326_cur."!mark_push"(0, rx1326_pos, $I10)
+ rxscan1327_done:
+ # rx literal "%"
+ add $I11, rx1326_pos, 1
+ gt $I11, rx1326_eos, rx1326_fail
+ sub $I11, rx1326_pos, rx1326_off
+ substr $S10, rx1326_tgt, $I11, 1
+ ne $S10, "%", rx1326_fail
+ add rx1326_pos, 1
+ # rx charclass w
+ ge rx1326_pos, rx1326_eos, rx1326_fail
+ sub $I10, rx1326_pos, rx1326_off
+ is_cclass $I11, 8192, rx1326_tgt, $I10
+ unless $I11, rx1326_fail
+ inc rx1326_pos
+ # rx pass
+ rx1326_cur."!cursor_pass"(rx1326_pos, "")
+ rx1326_cur."!cursor_debug"("PASS ", "", " at pos=", rx1326_pos)
+ .return (rx1326_cur)
+ rx1326_fail:
+ (rx1326_rep, rx1326_pos, $I10, $P10) = rx1326_cur."!mark_fail"(0)
+ lt rx1326_pos, -1, rx1326_done
+ eq rx1326_pos, -1, rx1326_fail
+ jump $I10
+ rx1326_done:
+ rx1326_cur."!cursor_fail"()
+ rx1326_cur."!cursor_debug"("FAIL ", "")
+ .return (rx1326_cur)
.return ()
.end
.namespace ["NQP";"Regex"]
-.sub "codeblock" :subid("341_1274022894.43745") :method :outer("330_1274022894.43745")
+.sub "assertion:sym<var>" :subid("341_1274564776.41408") :method :outer("330_1274564776.41408")
.annotate 'line', 548
- .local string rx1324_tgt
- .local int rx1324_pos
- .local int rx1324_off
- .local int rx1324_eos
- .local int rx1324_rep
- .local pmc rx1324_cur
- (rx1324_cur, rx1324_pos, rx1324_tgt) = self."!cursor_start"()
- rx1324_cur."!cursor_debug"("START ", "codeblock")
- .lex unicode:"$\x{a2}", rx1324_cur
- .local pmc match
- .lex "$/", match
- length rx1324_eos, rx1324_tgt
- set rx1324_off, 0
- lt rx1324_pos, 2, rx1324_start
- sub rx1324_off, rx1324_pos, 1
- substr rx1324_tgt, rx1324_tgt, rx1324_off
- rx1324_start:
- $I10 = self.'from'()
- ne $I10, -1, rxscan1328_done
- goto rxscan1328_scan
- rxscan1328_loop:
- ($P10) = rx1324_cur."from"()
- inc $P10
- set rx1324_pos, $P10
- ge rx1324_pos, rx1324_eos, rxscan1328_done
- rxscan1328_scan:
- set_addr $I10, rxscan1328_loop
- rx1324_cur."!mark_push"(0, rx1324_pos, $I10)
- rxscan1328_done:
-.annotate 'line', 574
+ .const 'Sub' $P1341 = "344_1274564776.41408"
+ capture_lex $P1341
+ .const 'Sub' $P1337 = "343_1274564776.41408"
+ capture_lex $P1337
+ .local string rx1331_tgt
+ .local int rx1331_pos
+ .local int rx1331_off
+ .local int rx1331_eos
+ .local int rx1331_rep
+ .local pmc rx1331_cur
+ (rx1331_cur, rx1331_pos, rx1331_tgt) = self."!cursor_start"()
+ rx1331_cur."!cursor_debug"("START ", "assertion:sym<var>")
+ .lex unicode:"$\x{a2}", rx1331_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1331_eos, rx1331_tgt
+ set rx1331_off, 0
+ lt rx1331_pos, 2, rx1331_start
+ sub rx1331_off, rx1331_pos, 1
+ substr rx1331_tgt, rx1331_tgt, rx1331_off
+ rx1331_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1334_done
+ goto rxscan1334_scan
+ rxscan1334_loop:
+ ($P10) = rx1331_cur."from"()
+ inc $P10
+ set rx1331_pos, $P10
+ ge rx1331_pos, rx1331_eos, rxscan1334_done
+ rxscan1334_scan:
+ set_addr $I10, rxscan1334_loop
+ rx1331_cur."!mark_push"(0, rx1331_pos, $I10)
+ rxscan1334_done:
+ alt1335_0:
+.annotate 'line', 568
+ set_addr $I10, alt1335_1
+ rx1331_cur."!mark_push"(0, rx1331_pos, $I10)
+.annotate 'line', 569
+ # rx subrule "before" subtype=zerowidth negate=
+ rx1331_cur."!cursor_pos"(rx1331_pos)
+ .const 'Sub' $P1337 = "343_1274564776.41408"
+ capture_lex $P1337
+ $P10 = rx1331_cur."before"($P1337)
+ unless $P10, rx1331_fail
# rx subrule "LANG" subtype=capture negate=
- rx1324_cur."!cursor_pos"(rx1324_pos)
- $P10 = rx1324_cur."LANG"("MAIN", "pblock")
- unless $P10, rx1324_fail
- rx1324_cur."!mark_push"(0, -1, 0, $P10)
- $P10."!cursor_names"("block")
- rx1324_pos = $P10."pos"()
-.annotate 'line', 573
+ rx1331_cur."!cursor_pos"(rx1331_pos)
+ $P10 = rx1331_cur."LANG"("MAIN", "variable")
+ unless $P10, rx1331_fail
+ rx1331_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("var")
+ rx1331_pos = $P10."pos"()
+ goto alt1335_end
+ alt1335_1:
+.annotate 'line', 570
+ # rx subrule "before" subtype=zerowidth negate=
+ rx1331_cur."!cursor_pos"(rx1331_pos)
+ .const 'Sub' $P1341 = "344_1274564776.41408"
+ capture_lex $P1341
+ $P10 = rx1331_cur."before"($P1341)
+ unless $P10, rx1331_fail
+ # rx subrule "panic" subtype=method negate=
+ rx1331_cur."!cursor_pos"(rx1331_pos)
+ $P10 = rx1331_cur."panic"("Use of hash variable in patterns is reserved")
+ unless $P10, rx1331_fail
+ rx1331_pos = $P10."pos"()
+ alt1335_end:
+.annotate 'line', 568
# rx pass
- rx1324_cur."!cursor_pass"(rx1324_pos, "codeblock")
- rx1324_cur."!cursor_debug"("PASS ", "codeblock", " at pos=", rx1324_pos)
- .return (rx1324_cur)
- rx1324_fail:
+ rx1331_cur."!cursor_pass"(rx1331_pos, "assertion:sym<var>")
+ rx1331_cur."!cursor_debug"("PASS ", "assertion:sym<var>", " at pos=", rx1331_pos)
+ .return (rx1331_cur)
+ rx1331_fail:
.annotate 'line', 548
- (rx1324_rep, rx1324_pos, $I10, $P10) = rx1324_cur."!mark_fail"(0)
- lt rx1324_pos, -1, rx1324_done
- eq rx1324_pos, -1, rx1324_fail
- jump $I10
- rx1324_done:
- rx1324_cur."!cursor_fail"()
- rx1324_cur."!cursor_debug"("FAIL ", "codeblock")
- .return (rx1324_cur)
+ (rx1331_rep, rx1331_pos, $I10, $P10) = rx1331_cur."!mark_fail"(0)
+ lt rx1331_pos, -1, rx1331_done
+ eq rx1331_pos, -1, rx1331_fail
+ jump $I10
+ rx1331_done:
+ rx1331_cur."!cursor_fail"()
+ rx1331_cur."!cursor_debug"("FAIL ", "assertion:sym<var>")
+ .return (rx1331_cur)
.return ()
.end
.namespace ["NQP";"Regex"]
-.sub "!PREFIX__codeblock" :subid("342_1274022894.43745") :method
+.sub "!PREFIX__assertion:sym<var>" :subid("342_1274564776.41408") :method
.annotate 'line', 548
- $P1326 = self."!PREFIX__!subrule"("block", "")
- new $P1327, "ResizablePMCArray"
- push $P1327, $P1326
- .return ($P1327)
+ new $P1333, "ResizablePMCArray"
+ push $P1333, ""
+ push $P1333, ""
+ .return ($P1333)
.end
-.namespace ["NQP";"Grammar"]
-.sub "_block1330" :load :anon :subid("343_1274022894.43745")
-.annotate 'line', 4
- .const 'Sub' $P1332 = "11_1274022894.43745"
- $P1333 = $P1332()
- .return ($P1333)
+.namespace ["NQP";"Regex"]
+.sub "_block1336" :anon :subid("343_1274564776.41408") :method :outer("341_1274564776.41408")
+.annotate 'line', 569
+ .local string rx1338_tgt
+ .local int rx1338_pos
+ .local int rx1338_off
+ .local int rx1338_eos
+ .local int rx1338_rep
+ .local pmc rx1338_cur
+ (rx1338_cur, rx1338_pos, rx1338_tgt) = self."!cursor_start"()
+ rx1338_cur."!cursor_debug"("START ", "")
+ .lex unicode:"$\x{a2}", rx1338_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1338_eos, rx1338_tgt
+ set rx1338_off, 0
+ lt rx1338_pos, 2, rx1338_start
+ sub rx1338_off, rx1338_pos, 1
+ substr rx1338_tgt, rx1338_tgt, rx1338_off
+ rx1338_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1339_done
+ goto rxscan1339_scan
+ rxscan1339_loop:
+ ($P10) = rx1338_cur."from"()
+ inc $P10
+ set rx1338_pos, $P10
+ ge rx1338_pos, rx1338_eos, rxscan1339_done
+ rxscan1339_scan:
+ set_addr $I10, rxscan1339_loop
+ rx1338_cur."!mark_push"(0, rx1338_pos, $I10)
+ rxscan1339_done:
+ # rx enumcharlist negate=0
+ ge rx1338_pos, rx1338_eos, rx1338_fail
+ sub $I10, rx1338_pos, rx1338_off
+ substr $S10, rx1338_tgt, $I10, 1
+ index $I11, "$@", $S10
+ lt $I11, 0, rx1338_fail
+ inc rx1338_pos
+ # rx charclass w
+ ge rx1338_pos, rx1338_eos, rx1338_fail
+ sub $I10, rx1338_pos, rx1338_off
+ is_cclass $I11, 8192, rx1338_tgt, $I10
+ unless $I11, rx1338_fail
+ inc rx1338_pos
+ # rx pass
+ rx1338_cur."!cursor_pass"(rx1338_pos, "")
+ rx1338_cur."!cursor_debug"("PASS ", "", " at pos=", rx1338_pos)
+ .return (rx1338_cur)
+ rx1338_fail:
+ (rx1338_rep, rx1338_pos, $I10, $P10) = rx1338_cur."!mark_fail"(0)
+ lt rx1338_pos, -1, rx1338_done
+ eq rx1338_pos, -1, rx1338_fail
+ jump $I10
+ rx1338_done:
+ rx1338_cur."!cursor_fail"()
+ rx1338_cur."!cursor_debug"("FAIL ", "")
+ .return (rx1338_cur)
+ .return ()
.end
-.namespace []
-.sub "_block1351" :load :anon :subid("344_1274022894.43745")
-.annotate 'line', 1
- .const 'Sub' $P1353 = "10_1274022894.43745"
- $P1354 = $P1353()
- .return ($P1354)
+.namespace ["NQP";"Regex"]
+.sub "_block1340" :anon :subid("344_1274564776.41408") :method :outer("341_1274564776.41408")
+.annotate 'line', 570
+ .local string rx1342_tgt
+ .local int rx1342_pos
+ .local int rx1342_off
+ .local int rx1342_eos
+ .local int rx1342_rep
+ .local pmc rx1342_cur
+ (rx1342_cur, rx1342_pos, rx1342_tgt) = self."!cursor_start"()
+ rx1342_cur."!cursor_debug"("START ", "")
+ .lex unicode:"$\x{a2}", rx1342_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1342_eos, rx1342_tgt
+ set rx1342_off, 0
+ lt rx1342_pos, 2, rx1342_start
+ sub rx1342_off, rx1342_pos, 1
+ substr rx1342_tgt, rx1342_tgt, rx1342_off
+ rx1342_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1343_done
+ goto rxscan1343_scan
+ rxscan1343_loop:
+ ($P10) = rx1342_cur."from"()
+ inc $P10
+ set rx1342_pos, $P10
+ ge rx1342_pos, rx1342_eos, rxscan1343_done
+ rxscan1343_scan:
+ set_addr $I10, rxscan1343_loop
+ rx1342_cur."!mark_push"(0, rx1342_pos, $I10)
+ rxscan1343_done:
+ # rx literal "%"
+ add $I11, rx1342_pos, 1
+ gt $I11, rx1342_eos, rx1342_fail
+ sub $I11, rx1342_pos, rx1342_off
+ substr $S10, rx1342_tgt, $I11, 1
+ ne $S10, "%", rx1342_fail
+ add rx1342_pos, 1
+ # rx charclass w
+ ge rx1342_pos, rx1342_eos, rx1342_fail
+ sub $I10, rx1342_pos, rx1342_off
+ is_cclass $I11, 8192, rx1342_tgt, $I10
+ unless $I11, rx1342_fail
+ inc rx1342_pos
+ # rx pass
+ rx1342_cur."!cursor_pass"(rx1342_pos, "")
+ rx1342_cur."!cursor_debug"("PASS ", "", " at pos=", rx1342_pos)
+ .return (rx1342_cur)
+ rx1342_fail:
+ (rx1342_rep, rx1342_pos, $I10, $P10) = rx1342_cur."!mark_fail"(0)
+ lt rx1342_pos, -1, rx1342_done
+ eq rx1342_pos, -1, rx1342_fail
+ jump $I10
+ rx1342_done:
+ rx1342_cur."!cursor_fail"()
+ rx1342_cur."!cursor_debug"("FAIL ", "")
+ .return (rx1342_cur)
+ .return ()
.end
-### .include 'gen/nqp-actions.pir'
-.namespace []
-.sub "_block11" :anon :subid("10_1274022903.56472")
-.annotate 'line', 0
- get_hll_global $P14, ["NQP";"Actions"], "_block13"
- capture_lex $P14
-.annotate 'line', 3
- get_hll_global $P14, ["NQP";"Actions"], "_block13"
- capture_lex $P14
- $P2262 = $P14()
-.annotate 'line', 1
- .return ($P2262)
- .const 'Sub' $P2264 = "133_1274022903.56472"
- .return ($P2264)
+.namespace ["NQP";"Regex"]
+.sub "metachar:sym<{ }>" :subid("345_1274564776.41408") :method :outer("330_1274564776.41408")
+.annotate 'line', 548
+ .local string rx1345_tgt
+ .local int rx1345_pos
+ .local int rx1345_off
+ .local int rx1345_eos
+ .local int rx1345_rep
+ .local pmc rx1345_cur
+ (rx1345_cur, rx1345_pos, rx1345_tgt) = self."!cursor_start"()
+ rx1345_cur."!cursor_debug"("START ", "metachar:sym<{ }>")
+ .lex unicode:"$\x{a2}", rx1345_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1345_eos, rx1345_tgt
+ set rx1345_off, 0
+ lt rx1345_pos, 2, rx1345_start
+ sub rx1345_off, rx1345_pos, 1
+ substr rx1345_tgt, rx1345_tgt, rx1345_off
+ rx1345_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1348_done
+ goto rxscan1348_scan
+ rxscan1348_loop:
+ ($P10) = rx1345_cur."from"()
+ inc $P10
+ set rx1345_pos, $P10
+ ge rx1345_pos, rx1345_eos, rxscan1348_done
+ rxscan1348_scan:
+ set_addr $I10, rxscan1348_loop
+ rx1345_cur."!mark_push"(0, rx1345_pos, $I10)
+ rxscan1348_done:
+.annotate 'line', 574
+ # rx enumcharlist negate=0 zerowidth
+ ge rx1345_pos, rx1345_eos, rx1345_fail
+ sub $I10, rx1345_pos, rx1345_off
+ substr $S10, rx1345_tgt, $I10, 1
+ index $I11, "{", $S10
+ lt $I11, 0, rx1345_fail
+ # rx subrule "codeblock" subtype=capture negate=
+ rx1345_cur."!cursor_pos"(rx1345_pos)
+ $P10 = rx1345_cur."codeblock"()
+ unless $P10, rx1345_fail
+ rx1345_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("codeblock")
+ rx1345_pos = $P10."pos"()
+.annotate 'line', 573
+ # rx pass
+ rx1345_cur."!cursor_pass"(rx1345_pos, "metachar:sym<{ }>")
+ rx1345_cur."!cursor_debug"("PASS ", "metachar:sym<{ }>", " at pos=", rx1345_pos)
+ .return (rx1345_cur)
+ rx1345_fail:
+.annotate 'line', 548
+ (rx1345_rep, rx1345_pos, $I10, $P10) = rx1345_cur."!mark_fail"(0)
+ lt rx1345_pos, -1, rx1345_done
+ eq rx1345_pos, -1, rx1345_fail
+ jump $I10
+ rx1345_done:
+ rx1345_cur."!cursor_fail"()
+ rx1345_cur."!cursor_debug"("FAIL ", "metachar:sym<{ }>")
+ .return (rx1345_cur)
+ .return ()
.end
-.namespace []
-.sub "" :load :init :subid("post134") :outer("10_1274022903.56472")
-.annotate 'line', 0
- .const 'Sub' $P12 = "10_1274022903.56472"
- .local pmc block
- set block, $P12
- $P2267 = get_root_global ["parrot"], "P6metaclass"
- $P2267."new_class"("NQP::Actions", "HLL::Actions" :named("parent"))
+.namespace ["NQP";"Regex"]
+.sub "!PREFIX__metachar:sym<{ }>" :subid("346_1274564776.41408") :method
+.annotate 'line', 548
+ new $P1347, "ResizablePMCArray"
+ push $P1347, "{"
+ .return ($P1347)
.end
-.namespace ["NQP";"Actions"]
-.sub "_block13" :subid("11_1274022903.56472") :outer("10_1274022903.56472")
-.annotate 'line', 3
- .const 'Sub' $P2258 = "132_1274022903.56472"
- capture_lex $P2258
- get_hll_global $P2189, ["NQP";"RegexActions"], "_block2188"
- capture_lex $P2189
- .const 'Sub' $P2178 = "125_1274022903.56472"
- capture_lex $P2178
- .const 'Sub' $P2171 = "124_1274022903.56472"
- capture_lex $P2171
- .const 'Sub' $P2164 = "123_1274022903.56472"
- capture_lex $P2164
- .const 'Sub' $P2157 = "122_1274022903.56472"
- capture_lex $P2157
- .const 'Sub' $P2144 = "121_1274022903.56472"
- capture_lex $P2144
- .const 'Sub' $P2134 = "120_1274022903.56472"
- capture_lex $P2134
- .const 'Sub' $P2124 = "119_1274022903.56472"
- capture_lex $P2124
- .const 'Sub' $P2114 = "118_1274022903.56472"
- capture_lex $P2114
- .const 'Sub' $P2107 = "117_1274022903.56472"
- capture_lex $P2107
- .const 'Sub' $P2093 = "116_1274022903.56472"
- capture_lex $P2093
- .const 'Sub' $P2083 = "115_1274022903.56472"
- capture_lex $P2083
- .const 'Sub' $P2046 = "114_1274022903.56472"
- capture_lex $P2046
- .const 'Sub' $P2032 = "113_1274022903.56472"
- capture_lex $P2032
- .const 'Sub' $P2022 = "112_1274022903.56472"
- capture_lex $P2022
- .const 'Sub' $P2012 = "111_1274022903.56472"
- capture_lex $P2012
- .const 'Sub' $P2002 = "110_1274022903.56472"
- capture_lex $P2002
- .const 'Sub' $P1992 = "109_1274022903.56472"
- capture_lex $P1992
- .const 'Sub' $P1982 = "108_1274022903.56472"
- capture_lex $P1982
- .const 'Sub' $P1954 = "107_1274022903.56472"
- capture_lex $P1954
- .const 'Sub' $P1937 = "106_1274022903.56472"
- capture_lex $P1937
- .const 'Sub' $P1927 = "105_1274022903.56472"
- capture_lex $P1927
- .const 'Sub' $P1914 = "104_1274022903.56472"
- capture_lex $P1914
- .const 'Sub' $P1901 = "103_1274022903.56472"
- capture_lex $P1901
- .const 'Sub' $P1888 = "102_1274022903.56472"
- capture_lex $P1888
- .const 'Sub' $P1878 = "101_1274022903.56472"
- capture_lex $P1878
- .const 'Sub' $P1849 = "100_1274022903.56472"
- capture_lex $P1849
- .const 'Sub' $P1825 = "99_1274022903.56472"
- capture_lex $P1825
- .const 'Sub' $P1815 = "98_1274022903.56472"
- capture_lex $P1815
- .const 'Sub' $P1805 = "97_1274022903.56472"
- capture_lex $P1805
- .const 'Sub' $P1778 = "96_1274022903.56472"
- capture_lex $P1778
- .const 'Sub' $P1760 = "95_1274022903.56472"
- capture_lex $P1760
- .const 'Sub' $P1750 = "94_1274022903.56472"
- capture_lex $P1750
- .const 'Sub' $P1646 = "91_1274022903.56472"
- capture_lex $P1646
- .const 'Sub' $P1636 = "90_1274022903.56472"
- capture_lex $P1636
- .const 'Sub' $P1607 = "89_1274022903.56472"
- capture_lex $P1607
- .const 'Sub' $P1565 = "88_1274022903.56472"
- capture_lex $P1565
- .const 'Sub' $P1549 = "87_1274022903.56472"
+.namespace ["NQP";"Regex"]
+.sub "assertion:sym<{ }>" :subid("347_1274564776.41408") :method :outer("330_1274564776.41408")
+.annotate 'line', 548
+ .local string rx1350_tgt
+ .local int rx1350_pos
+ .local int rx1350_off
+ .local int rx1350_eos
+ .local int rx1350_rep
+ .local pmc rx1350_cur
+ (rx1350_cur, rx1350_pos, rx1350_tgt) = self."!cursor_start"()
+ rx1350_cur."!cursor_debug"("START ", "assertion:sym<{ }>")
+ .lex unicode:"$\x{a2}", rx1350_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1350_eos, rx1350_tgt
+ set rx1350_off, 0
+ lt rx1350_pos, 2, rx1350_start
+ sub rx1350_off, rx1350_pos, 1
+ substr rx1350_tgt, rx1350_tgt, rx1350_off
+ rx1350_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1353_done
+ goto rxscan1353_scan
+ rxscan1353_loop:
+ ($P10) = rx1350_cur."from"()
+ inc $P10
+ set rx1350_pos, $P10
+ ge rx1350_pos, rx1350_eos, rxscan1353_done
+ rxscan1353_scan:
+ set_addr $I10, rxscan1353_loop
+ rx1350_cur."!mark_push"(0, rx1350_pos, $I10)
+ rxscan1353_done:
+.annotate 'line', 578
+ # rx enumcharlist negate=0 zerowidth
+ ge rx1350_pos, rx1350_eos, rx1350_fail
+ sub $I10, rx1350_pos, rx1350_off
+ substr $S10, rx1350_tgt, $I10, 1
+ index $I11, "{", $S10
+ lt $I11, 0, rx1350_fail
+ # rx subrule "codeblock" subtype=capture negate=
+ rx1350_cur."!cursor_pos"(rx1350_pos)
+ $P10 = rx1350_cur."codeblock"()
+ unless $P10, rx1350_fail
+ rx1350_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("codeblock")
+ rx1350_pos = $P10."pos"()
+.annotate 'line', 577
+ # rx pass
+ rx1350_cur."!cursor_pass"(rx1350_pos, "assertion:sym<{ }>")
+ rx1350_cur."!cursor_debug"("PASS ", "assertion:sym<{ }>", " at pos=", rx1350_pos)
+ .return (rx1350_cur)
+ rx1350_fail:
+.annotate 'line', 548
+ (rx1350_rep, rx1350_pos, $I10, $P10) = rx1350_cur."!mark_fail"(0)
+ lt rx1350_pos, -1, rx1350_done
+ eq rx1350_pos, -1, rx1350_fail
+ jump $I10
+ rx1350_done:
+ rx1350_cur."!cursor_fail"()
+ rx1350_cur."!cursor_debug"("FAIL ", "assertion:sym<{ }>")
+ .return (rx1350_cur)
+ .return ()
+.end
+
+
+.namespace ["NQP";"Regex"]
+.sub "!PREFIX__assertion:sym<{ }>" :subid("348_1274564776.41408") :method
+.annotate 'line', 548
+ new $P1352, "ResizablePMCArray"
+ push $P1352, "{"
+ .return ($P1352)
+.end
+
+
+.namespace ["NQP";"Regex"]
+.sub "assertion:sym<name>" :subid("349_1274564776.41408") :method :outer("330_1274564776.41408")
+.annotate 'line', 548
+ .const 'Sub' $P1363 = "351_1274564776.41408"
+ capture_lex $P1363
+ .local string rx1355_tgt
+ .local int rx1355_pos
+ .local int rx1355_off
+ .local int rx1355_eos
+ .local int rx1355_rep
+ .local pmc rx1355_cur
+ (rx1355_cur, rx1355_pos, rx1355_tgt) = self."!cursor_start"()
+ rx1355_cur."!cursor_debug"("START ", "assertion:sym<name>")
+ rx1355_cur."!cursor_caparray"("assertion", "nibbler", "arglist")
+ .lex unicode:"$\x{a2}", rx1355_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1355_eos, rx1355_tgt
+ set rx1355_off, 0
+ lt rx1355_pos, 2, rx1355_start
+ sub rx1355_off, rx1355_pos, 1
+ substr rx1355_tgt, rx1355_tgt, rx1355_off
+ rx1355_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1358_done
+ goto rxscan1358_scan
+ rxscan1358_loop:
+ ($P10) = rx1355_cur."from"()
+ inc $P10
+ set rx1355_pos, $P10
+ ge rx1355_pos, rx1355_eos, rxscan1358_done
+ rxscan1358_scan:
+ set_addr $I10, rxscan1358_loop
+ rx1355_cur."!mark_push"(0, rx1355_pos, $I10)
+ rxscan1358_done:
+.annotate 'line', 582
+ # rx subcapture "longname"
+ set_addr $I10, rxcap_1359_fail
+ rx1355_cur."!mark_push"(0, rx1355_pos, $I10)
+ # rx charclass_q w r 1..-1
+ sub $I10, rx1355_pos, rx1355_off
+ find_not_cclass $I11, 8192, rx1355_tgt, $I10, rx1355_eos
+ add $I12, $I10, 1
+ lt $I11, $I12, rx1355_fail
+ add rx1355_pos, rx1355_off, $I11
+ set_addr $I10, rxcap_1359_fail
+ ($I12, $I11) = rx1355_cur."!mark_peek"($I10)
+ rx1355_cur."!cursor_pos"($I11)
+ ($P10) = rx1355_cur."!cursor_start"()
+ $P10."!cursor_pass"(rx1355_pos, "")
+ rx1355_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("longname")
+ goto rxcap_1359_done
+ rxcap_1359_fail:
+ goto rx1355_fail
+ rxcap_1359_done:
+.annotate 'line', 589
+ # rx rxquantr1360 ** 0..1
+ set_addr $I1366, rxquantr1360_done
+ rx1355_cur."!mark_push"(0, rx1355_pos, $I1366)
+ rxquantr1360_loop:
+ alt1361_0:
+.annotate 'line', 583
+ set_addr $I10, alt1361_1
+ rx1355_cur."!mark_push"(0, rx1355_pos, $I10)
+.annotate 'line', 584
+ # rx subrule "before" subtype=zerowidth negate=
+ rx1355_cur."!cursor_pos"(rx1355_pos)
+ .const 'Sub' $P1363 = "351_1274564776.41408"
+ capture_lex $P1363
+ $P10 = rx1355_cur."before"($P1363)
+ unless $P10, rx1355_fail
+ goto alt1361_end
+ alt1361_1:
+ set_addr $I10, alt1361_2
+ rx1355_cur."!mark_push"(0, rx1355_pos, $I10)
+.annotate 'line', 585
+ # rx literal "="
+ add $I11, rx1355_pos, 1
+ gt $I11, rx1355_eos, rx1355_fail
+ sub $I11, rx1355_pos, rx1355_off
+ substr $S10, rx1355_tgt, $I11, 1
+ ne $S10, "=", rx1355_fail
+ add rx1355_pos, 1
+ # rx subrule "assertion" subtype=capture negate=
+ rx1355_cur."!cursor_pos"(rx1355_pos)
+ $P10 = rx1355_cur."assertion"()
+ unless $P10, rx1355_fail
+ rx1355_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("assertion")
+ rx1355_pos = $P10."pos"()
+ goto alt1361_end
+ alt1361_2:
+ set_addr $I10, alt1361_3
+ rx1355_cur."!mark_push"(0, rx1355_pos, $I10)
+.annotate 'line', 586
+ # rx literal ":"
+ add $I11, rx1355_pos, 1
+ gt $I11, rx1355_eos, rx1355_fail
+ sub $I11, rx1355_pos, rx1355_off
+ substr $S10, rx1355_tgt, $I11, 1
+ ne $S10, ":", rx1355_fail
+ add rx1355_pos, 1
+ # rx subrule "arglist" subtype=capture negate=
+ rx1355_cur."!cursor_pos"(rx1355_pos)
+ $P10 = rx1355_cur."arglist"()
+ unless $P10, rx1355_fail
+ rx1355_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("arglist")
+ rx1355_pos = $P10."pos"()
+ goto alt1361_end
+ alt1361_3:
+ set_addr $I10, alt1361_4
+ rx1355_cur."!mark_push"(0, rx1355_pos, $I10)
+.annotate 'line', 587
+ # rx literal "("
+ add $I11, rx1355_pos, 1
+ gt $I11, rx1355_eos, rx1355_fail
+ sub $I11, rx1355_pos, rx1355_off
+ substr $S10, rx1355_tgt, $I11, 1
+ ne $S10, "(", rx1355_fail
+ add rx1355_pos, 1
+ # rx subrule "LANG" subtype=capture negate=
+ rx1355_cur."!cursor_pos"(rx1355_pos)
+ $P10 = rx1355_cur."LANG"("MAIN", "arglist")
+ unless $P10, rx1355_fail
+ rx1355_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("arglist")
+ rx1355_pos = $P10."pos"()
+ # rx literal ")"
+ add $I11, rx1355_pos, 1
+ gt $I11, rx1355_eos, rx1355_fail
+ sub $I11, rx1355_pos, rx1355_off
+ substr $S10, rx1355_tgt, $I11, 1
+ ne $S10, ")", rx1355_fail
+ add rx1355_pos, 1
+ goto alt1361_end
+ alt1361_4:
+.annotate 'line', 588
+ # rx subrule "normspace" subtype=method negate=
+ rx1355_cur."!cursor_pos"(rx1355_pos)
+ $P10 = rx1355_cur."normspace"()
+ unless $P10, rx1355_fail
+ rx1355_pos = $P10."pos"()
+ # rx subrule "nibbler" subtype=capture negate=
+ rx1355_cur."!cursor_pos"(rx1355_pos)
+ $P10 = rx1355_cur."nibbler"()
+ unless $P10, rx1355_fail
+ rx1355_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("nibbler")
+ rx1355_pos = $P10."pos"()
+ alt1361_end:
+.annotate 'line', 589
+ (rx1355_rep) = rx1355_cur."!mark_commit"($I1366)
+ rxquantr1360_done:
+.annotate 'line', 581
+ # rx pass
+ rx1355_cur."!cursor_pass"(rx1355_pos, "assertion:sym<name>")
+ rx1355_cur."!cursor_debug"("PASS ", "assertion:sym<name>", " at pos=", rx1355_pos)
+ .return (rx1355_cur)
+ rx1355_fail:
+.annotate 'line', 548
+ (rx1355_rep, rx1355_pos, $I10, $P10) = rx1355_cur."!mark_fail"(0)
+ lt rx1355_pos, -1, rx1355_done
+ eq rx1355_pos, -1, rx1355_fail
+ jump $I10
+ rx1355_done:
+ rx1355_cur."!cursor_fail"()
+ rx1355_cur."!cursor_debug"("FAIL ", "assertion:sym<name>")
+ .return (rx1355_cur)
+ .return ()
+.end
+
+
+.namespace ["NQP";"Regex"]
+.sub "!PREFIX__assertion:sym<name>" :subid("350_1274564776.41408") :method
+.annotate 'line', 548
+ new $P1357, "ResizablePMCArray"
+ push $P1357, ""
+ .return ($P1357)
+.end
+
+
+.namespace ["NQP";"Regex"]
+.sub "_block1362" :anon :subid("351_1274564776.41408") :method :outer("349_1274564776.41408")
+.annotate 'line', 584
+ .local string rx1364_tgt
+ .local int rx1364_pos
+ .local int rx1364_off
+ .local int rx1364_eos
+ .local int rx1364_rep
+ .local pmc rx1364_cur
+ (rx1364_cur, rx1364_pos, rx1364_tgt) = self."!cursor_start"()
+ rx1364_cur."!cursor_debug"("START ", "")
+ .lex unicode:"$\x{a2}", rx1364_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1364_eos, rx1364_tgt
+ set rx1364_off, 0
+ lt rx1364_pos, 2, rx1364_start
+ sub rx1364_off, rx1364_pos, 1
+ substr rx1364_tgt, rx1364_tgt, rx1364_off
+ rx1364_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1365_done
+ goto rxscan1365_scan
+ rxscan1365_loop:
+ ($P10) = rx1364_cur."from"()
+ inc $P10
+ set rx1364_pos, $P10
+ ge rx1364_pos, rx1364_eos, rxscan1365_done
+ rxscan1365_scan:
+ set_addr $I10, rxscan1365_loop
+ rx1364_cur."!mark_push"(0, rx1364_pos, $I10)
+ rxscan1365_done:
+ # rx literal ">"
+ add $I11, rx1364_pos, 1
+ gt $I11, rx1364_eos, rx1364_fail
+ sub $I11, rx1364_pos, rx1364_off
+ substr $S10, rx1364_tgt, $I11, 1
+ ne $S10, ">", rx1364_fail
+ add rx1364_pos, 1
+ # rx pass
+ rx1364_cur."!cursor_pass"(rx1364_pos, "")
+ rx1364_cur."!cursor_debug"("PASS ", "", " at pos=", rx1364_pos)
+ .return (rx1364_cur)
+ rx1364_fail:
+ (rx1364_rep, rx1364_pos, $I10, $P10) = rx1364_cur."!mark_fail"(0)
+ lt rx1364_pos, -1, rx1364_done
+ eq rx1364_pos, -1, rx1364_fail
+ jump $I10
+ rx1364_done:
+ rx1364_cur."!cursor_fail"()
+ rx1364_cur."!cursor_debug"("FAIL ", "")
+ .return (rx1364_cur)
+ .return ()
+.end
+
+
+.namespace ["NQP";"Regex"]
+.sub "codeblock" :subid("352_1274564776.41408") :method :outer("330_1274564776.41408")
+.annotate 'line', 548
+ .local string rx1368_tgt
+ .local int rx1368_pos
+ .local int rx1368_off
+ .local int rx1368_eos
+ .local int rx1368_rep
+ .local pmc rx1368_cur
+ (rx1368_cur, rx1368_pos, rx1368_tgt) = self."!cursor_start"()
+ rx1368_cur."!cursor_debug"("START ", "codeblock")
+ .lex unicode:"$\x{a2}", rx1368_cur
+ .local pmc match
+ .lex "$/", match
+ length rx1368_eos, rx1368_tgt
+ set rx1368_off, 0
+ lt rx1368_pos, 2, rx1368_start
+ sub rx1368_off, rx1368_pos, 1
+ substr rx1368_tgt, rx1368_tgt, rx1368_off
+ rx1368_start:
+ $I10 = self.'from'()
+ ne $I10, -1, rxscan1372_done
+ goto rxscan1372_scan
+ rxscan1372_loop:
+ ($P10) = rx1368_cur."from"()
+ inc $P10
+ set rx1368_pos, $P10
+ ge rx1368_pos, rx1368_eos, rxscan1372_done
+ rxscan1372_scan:
+ set_addr $I10, rxscan1372_loop
+ rx1368_cur."!mark_push"(0, rx1368_pos, $I10)
+ rxscan1372_done:
+.annotate 'line', 594
+ # rx subrule "LANG" subtype=capture negate=
+ rx1368_cur."!cursor_pos"(rx1368_pos)
+ $P10 = rx1368_cur."LANG"("MAIN", "pblock")
+ unless $P10, rx1368_fail
+ rx1368_cur."!mark_push"(0, -1, 0, $P10)
+ $P10."!cursor_names"("block")
+ rx1368_pos = $P10."pos"()
+.annotate 'line', 593
+ # rx pass
+ rx1368_cur."!cursor_pass"(rx1368_pos, "codeblock")
+ rx1368_cur."!cursor_debug"("PASS ", "codeblock", " at pos=", rx1368_pos)
+ .return (rx1368_cur)
+ rx1368_fail:
+.annotate 'line', 548
+ (rx1368_rep, rx1368_pos, $I10, $P10) = rx1368_cur."!mark_fail"(0)
+ lt rx1368_pos, -1, rx1368_done
+ eq rx1368_pos, -1, rx1368_fail
+ jump $I10
+ rx1368_done:
+ rx1368_cur."!cursor_fail"()
+ rx1368_cur."!cursor_debug"("FAIL ", "codeblock")
+ .return (rx1368_cur)
+ .return ()
+.end
+
+
+.namespace ["NQP";"Regex"]
+.sub "!PREFIX__codeblock" :subid("353_1274564776.41408") :method
+.annotate 'line', 548
+ $P1370 = self."!PREFIX__!subrule"("block", "")
+ new $P1371, "ResizablePMCArray"
+ push $P1371, $P1370
+ .return ($P1371)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "_block1374" :load :anon :subid("354_1274564776.41408")
+.annotate 'line', 4
+ .const 'Sub' $P1376 = "11_1274564776.41408"
+ $P1377 = $P1376()
+ .return ($P1377)
+.end
+
+
+.namespace []
+.sub "_block1395" :load :anon :subid("355_1274564776.41408")
+.annotate 'line', 1
+ .const 'Sub' $P1397 = "10_1274564776.41408"
+ $P1398 = $P1397()
+ .return ($P1398)
+.end
+
+### .include 'gen/nqp-actions.pir'
+
+.namespace []
+.sub "_block11" :anon :subid("10_1274564782.90592")
+.annotate 'line', 0
+ get_hll_global $P14, ["NQP";"Actions"], "_block13"
+ capture_lex $P14
+.annotate 'line', 3
+ get_hll_global $P14, ["NQP";"Actions"], "_block13"
+ capture_lex $P14
+ $P2370 = $P14()
+.annotate 'line', 1
+ .return ($P2370)
+ .const 'Sub' $P2372 = "137_1274564782.90592"
+ .return ($P2372)
+.end
+
+
+.namespace []
+.sub "" :load :init :subid("post138") :outer("10_1274564782.90592")
+.annotate 'line', 0
+ .const 'Sub' $P12 = "10_1274564782.90592"
+ .local pmc block
+ set block, $P12
+ $P2375 = get_root_global ["parrot"], "P6metaclass"
+ $P2375."new_class"("NQP::Actions", "HLL::Actions" :named("parent"))
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "_block13" :subid("11_1274564782.90592") :outer("10_1274564782.90592")
+.annotate 'line', 3
+ .const 'Sub' $P2366 = "136_1274564782.90592"
+ capture_lex $P2366
+ get_hll_global $P2189, ["NQP";"RegexActions"], "_block2188"
+ capture_lex $P2189
+ .const 'Sub' $P2178 = "125_1274564782.90592"
+ capture_lex $P2178
+ .const 'Sub' $P2171 = "124_1274564782.90592"
+ capture_lex $P2171
+ .const 'Sub' $P2164 = "123_1274564782.90592"
+ capture_lex $P2164
+ .const 'Sub' $P2157 = "122_1274564782.90592"
+ capture_lex $P2157
+ .const 'Sub' $P2144 = "121_1274564782.90592"
+ capture_lex $P2144
+ .const 'Sub' $P2134 = "120_1274564782.90592"
+ capture_lex $P2134
+ .const 'Sub' $P2124 = "119_1274564782.90592"
+ capture_lex $P2124
+ .const 'Sub' $P2114 = "118_1274564782.90592"
+ capture_lex $P2114
+ .const 'Sub' $P2107 = "117_1274564782.90592"
+ capture_lex $P2107
+ .const 'Sub' $P2093 = "116_1274564782.90592"
+ capture_lex $P2093
+ .const 'Sub' $P2083 = "115_1274564782.90592"
+ capture_lex $P2083
+ .const 'Sub' $P2046 = "114_1274564782.90592"
+ capture_lex $P2046
+ .const 'Sub' $P2032 = "113_1274564782.90592"
+ capture_lex $P2032
+ .const 'Sub' $P2022 = "112_1274564782.90592"
+ capture_lex $P2022
+ .const 'Sub' $P2012 = "111_1274564782.90592"
+ capture_lex $P2012
+ .const 'Sub' $P2002 = "110_1274564782.90592"
+ capture_lex $P2002
+ .const 'Sub' $P1992 = "109_1274564782.90592"
+ capture_lex $P1992
+ .const 'Sub' $P1982 = "108_1274564782.90592"
+ capture_lex $P1982
+ .const 'Sub' $P1954 = "107_1274564782.90592"
+ capture_lex $P1954
+ .const 'Sub' $P1937 = "106_1274564782.90592"
+ capture_lex $P1937
+ .const 'Sub' $P1927 = "105_1274564782.90592"
+ capture_lex $P1927
+ .const 'Sub' $P1914 = "104_1274564782.90592"
+ capture_lex $P1914
+ .const 'Sub' $P1901 = "103_1274564782.90592"
+ capture_lex $P1901
+ .const 'Sub' $P1888 = "102_1274564782.90592"
+ capture_lex $P1888
+ .const 'Sub' $P1878 = "101_1274564782.90592"
+ capture_lex $P1878
+ .const 'Sub' $P1849 = "100_1274564782.90592"
+ capture_lex $P1849
+ .const 'Sub' $P1825 = "99_1274564782.90592"
+ capture_lex $P1825
+ .const 'Sub' $P1815 = "98_1274564782.90592"
+ capture_lex $P1815
+ .const 'Sub' $P1805 = "97_1274564782.90592"
+ capture_lex $P1805
+ .const 'Sub' $P1778 = "96_1274564782.90592"
+ capture_lex $P1778
+ .const 'Sub' $P1760 = "95_1274564782.90592"
+ capture_lex $P1760
+ .const 'Sub' $P1750 = "94_1274564782.90592"
+ capture_lex $P1750
+ .const 'Sub' $P1646 = "91_1274564782.90592"
+ capture_lex $P1646
+ .const 'Sub' $P1636 = "90_1274564782.90592"
+ capture_lex $P1636
+ .const 'Sub' $P1607 = "89_1274564782.90592"
+ capture_lex $P1607
+ .const 'Sub' $P1565 = "88_1274564782.90592"
+ capture_lex $P1565
+ .const 'Sub' $P1549 = "87_1274564782.90592"
capture_lex $P1549
- .const 'Sub' $P1540 = "86_1274022903.56472"
+ .const 'Sub' $P1540 = "86_1274564782.90592"
capture_lex $P1540
- .const 'Sub' $P1508 = "85_1274022903.56472"
+ .const 'Sub' $P1508 = "85_1274564782.90592"
capture_lex $P1508
- .const 'Sub' $P1409 = "82_1274022903.56472"
+ .const 'Sub' $P1409 = "82_1274564782.90592"
capture_lex $P1409
- .const 'Sub' $P1392 = "81_1274022903.56472"
+ .const 'Sub' $P1392 = "81_1274564782.90592"
capture_lex $P1392
- .const 'Sub' $P1372 = "80_1274022903.56472"
+ .const 'Sub' $P1372 = "80_1274564782.90592"
capture_lex $P1372
- .const 'Sub' $P1288 = "79_1274022903.56472"
+ .const 'Sub' $P1288 = "79_1274564782.90592"
capture_lex $P1288
- .const 'Sub' $P1264 = "77_1274022903.56472"
+ .const 'Sub' $P1264 = "77_1274564782.90592"
capture_lex $P1264
- .const 'Sub' $P1230 = "75_1274022903.56472"
+ .const 'Sub' $P1230 = "75_1274564782.90592"
capture_lex $P1230
- .const 'Sub' $P1180 = "73_1274022903.56472"
+ .const 'Sub' $P1180 = "73_1274564782.90592"
capture_lex $P1180
- .const 'Sub' $P1170 = "72_1274022903.56472"
+ .const 'Sub' $P1170 = "72_1274564782.90592"
capture_lex $P1170
- .const 'Sub' $P1160 = "71_1274022903.56472"
+ .const 'Sub' $P1160 = "71_1274564782.90592"
capture_lex $P1160
- .const 'Sub' $P1089 = "69_1274022903.56472"
+ .const 'Sub' $P1089 = "69_1274564782.90592"
capture_lex $P1089
- .const 'Sub' $P1072 = "68_1274022903.56472"
+ .const 'Sub' $P1072 = "68_1274564782.90592"
capture_lex $P1072
- .const 'Sub' $P1062 = "67_1274022903.56472"
+ .const 'Sub' $P1062 = "67_1274564782.90592"
capture_lex $P1062
- .const 'Sub' $P1052 = "66_1274022903.56472"
+ .const 'Sub' $P1052 = "66_1274564782.90592"
capture_lex $P1052
- .const 'Sub' $P1042 = "65_1274022903.56472"
+ .const 'Sub' $P1042 = "65_1274564782.90592"
capture_lex $P1042
- .const 'Sub' $P1032 = "64_1274022903.56472"
+ .const 'Sub' $P1032 = "64_1274564782.90592"
capture_lex $P1032
- .const 'Sub' $P1008 = "63_1274022903.56472"
+ .const 'Sub' $P1008 = "63_1274564782.90592"
capture_lex $P1008
- .const 'Sub' $P955 = "62_1274022903.56472"
+ .const 'Sub' $P955 = "62_1274564782.90592"
capture_lex $P955
- .const 'Sub' $P945 = "61_1274022903.56472"
+ .const 'Sub' $P945 = "61_1274564782.90592"
capture_lex $P945
- .const 'Sub' $P856 = "59_1274022903.56472"
+ .const 'Sub' $P856 = "59_1274564782.90592"
capture_lex $P856
- .const 'Sub' $P830 = "58_1274022903.56472"
+ .const 'Sub' $P830 = "58_1274564782.90592"
capture_lex $P830
- .const 'Sub' $P814 = "57_1274022903.56472"
+ .const 'Sub' $P814 = "57_1274564782.90592"
capture_lex $P814
- .const 'Sub' $P804 = "56_1274022903.56472"
+ .const 'Sub' $P804 = "56_1274564782.90592"
capture_lex $P804
- .const 'Sub' $P794 = "55_1274022903.56472"
+ .const 'Sub' $P794 = "55_1274564782.90592"
capture_lex $P794
- .const 'Sub' $P784 = "54_1274022903.56472"
+ .const 'Sub' $P784 = "54_1274564782.90592"
capture_lex $P784
- .const 'Sub' $P774 = "53_1274022903.56472"
+ .const 'Sub' $P774 = "53_1274564782.90592"
capture_lex $P774
- .const 'Sub' $P764 = "52_1274022903.56472"
+ .const 'Sub' $P764 = "52_1274564782.90592"
capture_lex $P764
- .const 'Sub' $P754 = "51_1274022903.56472"
+ .const 'Sub' $P754 = "51_1274564782.90592"
capture_lex $P754
- .const 'Sub' $P744 = "50_1274022903.56472"
+ .const 'Sub' $P744 = "50_1274564782.90592"
capture_lex $P744
- .const 'Sub' $P734 = "49_1274022903.56472"
+ .const 'Sub' $P734 = "49_1274564782.90592"
capture_lex $P734
- .const 'Sub' $P724 = "48_1274022903.56472"
+ .const 'Sub' $P724 = "48_1274564782.90592"
capture_lex $P724
- .const 'Sub' $P714 = "47_1274022903.56472"
+ .const 'Sub' $P714 = "47_1274564782.90592"
capture_lex $P714
- .const 'Sub' $P704 = "46_1274022903.56472"
+ .const 'Sub' $P704 = "46_1274564782.90592"
capture_lex $P704
- .const 'Sub' $P694 = "45_1274022903.56472"
+ .const 'Sub' $P694 = "45_1274564782.90592"
capture_lex $P694
- .const 'Sub' $P684 = "44_1274022903.56472"
+ .const 'Sub' $P684 = "44_1274564782.90592"
capture_lex $P684
- .const 'Sub' $P666 = "43_1274022903.56472"
+ .const 'Sub' $P666 = "43_1274564782.90592"
capture_lex $P666
- .const 'Sub' $P631 = "42_1274022903.56472"
+ .const 'Sub' $P631 = "42_1274564782.90592"
capture_lex $P631
- .const 'Sub' $P615 = "41_1274022903.56472"
+ .const 'Sub' $P615 = "41_1274564782.90592"
capture_lex $P615
- .const 'Sub' $P594 = "40_1274022903.56472"
+ .const 'Sub' $P594 = "40_1274564782.90592"
capture_lex $P594
- .const 'Sub' $P574 = "39_1274022903.56472"
+ .const 'Sub' $P574 = "39_1274564782.90592"
capture_lex $P574
- .const 'Sub' $P561 = "38_1274022903.56472"
+ .const 'Sub' $P561 = "38_1274564782.90592"
capture_lex $P561
- .const 'Sub' $P535 = "37_1274022903.56472"
+ .const 'Sub' $P535 = "37_1274564782.90592"
capture_lex $P535
- .const 'Sub' $P499 = "36_1274022903.56472"
+ .const 'Sub' $P499 = "36_1274564782.90592"
capture_lex $P499
- .const 'Sub' $P482 = "35_1274022903.56472"
+ .const 'Sub' $P482 = "35_1274564782.90592"
capture_lex $P482
- .const 'Sub' $P468 = "34_1274022903.56472"
+ .const 'Sub' $P468 = "34_1274564782.90592"
capture_lex $P468
- .const 'Sub' $P415 = "32_1274022903.56472"
+ .const 'Sub' $P415 = "32_1274564782.90592"
capture_lex $P415
- .const 'Sub' $P402 = "31_1274022903.56472"
+ .const 'Sub' $P402 = "31_1274564782.90592"
capture_lex $P402
- .const 'Sub' $P382 = "30_1274022903.56472"
+ .const 'Sub' $P382 = "30_1274564782.90592"
capture_lex $P382
- .const 'Sub' $P372 = "29_1274022903.56472"
+ .const 'Sub' $P372 = "29_1274564782.90592"
capture_lex $P372
- .const 'Sub' $P362 = "28_1274022903.56472"
+ .const 'Sub' $P362 = "28_1274564782.90592"
capture_lex $P362
- .const 'Sub' $P346 = "27_1274022903.56472"
+ .const 'Sub' $P346 = "27_1274564782.90592"
capture_lex $P346
- .const 'Sub' $P286 = "25_1274022903.56472"
+ .const 'Sub' $P286 = "25_1274564782.90592"
capture_lex $P286
- .const 'Sub' $P243 = "23_1274022903.56472"
+ .const 'Sub' $P243 = "23_1274564782.90592"
capture_lex $P243
- .const 'Sub' $P214 = "22_1274022903.56472"
+ .const 'Sub' $P214 = "22_1274564782.90592"
capture_lex $P214
- .const 'Sub' $P181 = "21_1274022903.56472"
+ .const 'Sub' $P181 = "21_1274564782.90592"
capture_lex $P181
- .const 'Sub' $P171 = "20_1274022903.56472"
+ .const 'Sub' $P171 = "20_1274564782.90592"
capture_lex $P171
- .const 'Sub' $P151 = "19_1274022903.56472"
+ .const 'Sub' $P151 = "19_1274564782.90592"
capture_lex $P151
- .const 'Sub' $P100 = "18_1274022903.56472"
+ .const 'Sub' $P100 = "18_1274564782.90592"
capture_lex $P100
- .const 'Sub' $P84 = "17_1274022903.56472"
+ .const 'Sub' $P84 = "17_1274564782.90592"
capture_lex $P84
- .const 'Sub' $P63 = "16_1274022903.56472"
+ .const 'Sub' $P63 = "16_1274564782.90592"
capture_lex $P63
- .const 'Sub' $P27 = "13_1274022903.56472"
+ .const 'Sub' $P27 = "13_1274564782.90592"
capture_lex $P27
- .const 'Sub' $P16 = "12_1274022903.56472"
+ .const 'Sub' $P16 = "12_1274564782.90592"
capture_lex $P16
get_global $P15, "@BLOCK"
- unless_null $P15, vivify_137
+ unless_null $P15, vivify_141
$P15 = root_new ['parrot';'ResizablePMCArray']
set_global "@BLOCK", $P15
- vivify_137:
+ vivify_141:
.annotate 'line', 9
- .const 'Sub' $P16 = "12_1274022903.56472"
+ .const 'Sub' $P16 = "12_1274564782.90592"
newclosure $P26, $P16
.lex "xblock_immediate", $P26
.annotate 'line', 14
- .const 'Sub' $P27 = "13_1274022903.56472"
+ .const 'Sub' $P27 = "13_1274564782.90592"
newclosure $P62, $P27
.lex "block_immediate", $P62
.annotate 'line', 24
- .const 'Sub' $P63 = "16_1274022903.56472"
+ .const 'Sub' $P63 = "16_1274564782.90592"
newclosure $P83, $P63
.lex "vivitype", $P83
.annotate 'line', 43
- .const 'Sub' $P84 = "17_1274022903.56472"
+ .const 'Sub' $P84 = "17_1274564782.90592"
newclosure $P99, $P84
.lex "colonpair_str", $P99
.annotate 'line', 204
- .const 'Sub' $P100 = "18_1274022903.56472"
+ .const 'Sub' $P100 = "18_1274564782.90592"
newclosure $P150, $P100
.lex "push_block_handler", $P150
.annotate 'line', 788
- .const 'Sub' $P151 = "19_1274022903.56472"
+ .const 'Sub' $P151 = "19_1274564782.90592"
newclosure $P166, $P151
.lex "control", $P166
.annotate 'line', 3
@@ -16704,46 +17413,46 @@
.annotate 'line', 810
get_hll_global $P2189, ["NQP";"RegexActions"], "_block2188"
capture_lex $P2189
- $P2252 = $P2189()
+ $P2360 = $P2189()
.annotate 'line', 3
- .return ($P2252)
- .const 'Sub' $P2254 = "131_1274022903.56472"
- .return ($P2254)
+ .return ($P2360)
+ .const 'Sub' $P2362 = "135_1274564782.90592"
+ .return ($P2362)
.end
.namespace ["NQP";"Actions"]
-.sub "" :load :init :subid("post135") :outer("11_1274022903.56472")
+.sub "" :load :init :subid("post139") :outer("11_1274564782.90592")
.annotate 'line', 3
get_hll_global $P14, ["NQP";"Actions"], "_block13"
.local pmc block
set block, $P14
.annotate 'line', 5
- .const 'Sub' $P2258 = "132_1274022903.56472"
- capture_lex $P2258
- $P2258()
- $P2261 = get_root_global ["parrot"], "P6metaclass"
- $P2261."new_class"("NQP::RegexActions", "Regex::P6Regex::Actions" :named("parent"))
+ .const 'Sub' $P2366 = "136_1274564782.90592"
+ capture_lex $P2366
+ $P2366()
+ $P2369 = get_root_global ["parrot"], "P6metaclass"
+ $P2369."new_class"("NQP::RegexActions", "Regex::P6Regex::Actions" :named("parent"))
.end
.namespace ["NQP";"Actions"]
-.sub "_block2257" :anon :subid("132_1274022903.56472") :outer("11_1274022903.56472")
+.sub "_block2365" :anon :subid("136_1274564782.90592") :outer("11_1274564782.90592")
.annotate 'line', 6
- get_global $P2259, "@BLOCK"
- unless_null $P2259, vivify_136
- $P2259 = root_new ['parrot';'ResizablePMCArray']
- set_global "@BLOCK", $P2259
- vivify_136:
- $P2260 = new ['ResizablePMCArray']
- set_global "@BLOCK", $P2260
+ get_global $P2367, "@BLOCK"
+ unless_null $P2367, vivify_140
+ $P2367 = root_new ['parrot';'ResizablePMCArray']
+ set_global "@BLOCK", $P2367
+ vivify_140:
+ $P2368 = new ['ResizablePMCArray']
+ set_global "@BLOCK", $P2368
.annotate 'line', 5
- .return ($P2260)
+ .return ($P2368)
.end
.namespace ["NQP";"Actions"]
-.sub "xblock_immediate" :subid("12_1274022903.56472") :outer("11_1274022903.56472")
+.sub "xblock_immediate" :subid("12_1274564782.90592") :outer("11_1274564782.90592")
.param pmc param_19
.annotate 'line', 9
new $P18, 'ExceptionHandler'
@@ -16753,19 +17462,19 @@
.lex "$xblock", param_19
.annotate 'line', 10
find_lex $P20, "$xblock"
- unless_null $P20, vivify_138
+ unless_null $P20, vivify_142
$P20 = root_new ['parrot';'ResizablePMCArray']
- vivify_138:
+ vivify_142:
set $P21, $P20[1]
- unless_null $P21, vivify_139
+ unless_null $P21, vivify_143
new $P21, "Undef"
- vivify_139:
+ vivify_143:
$P22 = "block_immediate"($P21)
find_lex $P23, "$xblock"
- unless_null $P23, vivify_140
+ unless_null $P23, vivify_144
$P23 = root_new ['parrot';'ResizablePMCArray']
store_lex "$xblock", $P23
- vivify_140:
+ vivify_144:
set $P23[1], $P22
find_lex $P24, "$xblock"
.annotate 'line', 9
@@ -16779,10 +17488,10 @@
.namespace ["NQP";"Actions"]
-.sub "block_immediate" :subid("13_1274022903.56472") :outer("11_1274022903.56472")
+.sub "block_immediate" :subid("13_1274564782.90592") :outer("11_1274564782.90592")
.param pmc param_30
.annotate 'line', 14
- .const 'Sub' $P40 = "14_1274022903.56472"
+ .const 'Sub' $P40 = "14_1274564782.90592"
capture_lex $P40
new $P29, 'ExceptionHandler'
set_addr $P29, control_28
@@ -16804,7 +17513,7 @@
set $P33, $P38
unless_34_end:
if $P33, unless_32_end
- .const 'Sub' $P40 = "14_1274022903.56472"
+ .const 'Sub' $P40 = "14_1274564782.90592"
capture_lex $P40
$P40()
unless_32_end:
@@ -16820,9 +17529,9 @@
.namespace ["NQP";"Actions"]
-.sub "_block39" :anon :subid("14_1274022903.56472") :outer("13_1274022903.56472")
+.sub "_block39" :anon :subid("14_1274564782.90592") :outer("13_1274564782.90592")
.annotate 'line', 16
- .const 'Sub' $P51 = "15_1274022903.56472"
+ .const 'Sub' $P51 = "15_1274564782.90592"
capture_lex $P51
.annotate 'line', 17
new $P41, "Undef"
@@ -16835,7 +17544,7 @@
find_lex $P46, "$block"
$P47 = $P46."list"()
defined $I48, $P47
- unless $I48, for_undef_141
+ unless $I48, for_undef_145
iter $P45, $P47
new $P57, 'ExceptionHandler'
set_addr $P57, loop56_handler
@@ -16845,7 +17554,7 @@
unless $P45, loop56_done
shift $P49, $P45
loop56_redo:
- .const 'Sub' $P51 = "15_1274022903.56472"
+ .const 'Sub' $P51 = "15_1274564782.90592"
capture_lex $P51
$P51($P49)
loop56_next:
@@ -16858,7 +17567,7 @@
eq $P58, 66, loop56_redo
loop56_done:
pop_eh
- for_undef_141:
+ for_undef_145:
.annotate 'line', 19
find_lex $P59, "$stmts"
store_lex "$block", $P59
@@ -16868,7 +17577,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block50" :anon :subid("15_1274022903.56472") :outer("14_1274022903.56472")
+.sub "_block50" :anon :subid("15_1274564782.90592") :outer("14_1274564782.90592")
.param pmc param_52
.annotate 'line', 18
.lex "$_", param_52
@@ -16880,7 +17589,7 @@
.namespace ["NQP";"Actions"]
-.sub "vivitype" :subid("16_1274022903.56472") :outer("11_1274022903.56472")
+.sub "vivitype" :subid("16_1274564782.90592") :outer("11_1274564782.90592")
.param pmc param_66
.annotate 'line', 24
new $P65, 'ExceptionHandler'
@@ -16928,7 +17637,7 @@
.namespace ["NQP";"Actions"]
-.sub "colonpair_str" :subid("17_1274022903.56472") :outer("11_1274022903.56472")
+.sub "colonpair_str" :subid("17_1274564782.90592") :outer("11_1274564782.90592")
.param pmc param_87
.annotate 'line', 43
new $P86, 'ExceptionHandler'
@@ -16966,7 +17675,7 @@
.namespace ["NQP";"Actions"]
-.sub "push_block_handler" :subid("18_1274022903.56472") :outer("11_1274022903.56472")
+.sub "push_block_handler" :subid("18_1274564782.90592") :outer("11_1274564782.90592")
.param pmc param_103
.param pmc param_104
.annotate 'line', 204
@@ -16978,24 +17687,24 @@
.lex "$block", param_104
.annotate 'line', 205
get_global $P106, "@BLOCK"
- unless_null $P106, vivify_142
+ unless_null $P106, vivify_146
$P106 = root_new ['parrot';'ResizablePMCArray']
- vivify_142:
+ vivify_146:
set $P107, $P106[0]
- unless_null $P107, vivify_143
+ unless_null $P107, vivify_147
new $P107, "Undef"
- vivify_143:
+ vivify_147:
$P108 = $P107."handlers"()
if $P108, unless_105_end
.annotate 'line', 206
get_global $P109, "@BLOCK"
- unless_null $P109, vivify_144
+ unless_null $P109, vivify_148
$P109 = root_new ['parrot';'ResizablePMCArray']
- vivify_144:
+ vivify_148:
set $P110, $P109[0]
- unless_null $P110, vivify_145
+ unless_null $P110, vivify_149
new $P110, "Undef"
- vivify_145:
+ vivify_149:
new $P111, "ResizablePMCArray"
$P110."handlers"($P111)
unless_105_end:
@@ -17036,13 +17745,13 @@
$P128."blocktype"("declaration")
.annotate 'line', 221
get_global $P129, "@BLOCK"
- unless_null $P129, vivify_146
+ unless_null $P129, vivify_150
$P129 = root_new ['parrot';'ResizablePMCArray']
- vivify_146:
+ vivify_150:
set $P130, $P129[0]
- unless_null $P130, vivify_147
+ unless_null $P130, vivify_151
new $P130, "Undef"
- vivify_147:
+ vivify_151:
$P131 = $P130."handlers"()
.annotate 'line', 222
get_hll_global $P132, ["PAST"], "Control"
@@ -17083,7 +17792,7 @@
.namespace ["NQP";"Actions"]
-.sub "control" :subid("19_1274022903.56472") :outer("11_1274022903.56472")
+.sub "control" :subid("19_1274564782.90592") :outer("11_1274564782.90592")
.param pmc param_154
.param pmc param_155
.annotate 'line', 788
@@ -17121,7 +17830,7 @@
.namespace ["NQP";"Actions"]
-.sub "TOP" :subid("20_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "TOP" :subid("20_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_174
.annotate 'line', 33
new $P173, 'ExceptionHandler'
@@ -17132,13 +17841,13 @@
.lex "$/", param_174
find_lex $P175, "$/"
find_lex $P176, "$/"
- unless_null $P176, vivify_148
+ unless_null $P176, vivify_152
$P176 = root_new ['parrot';'Hash']
- vivify_148:
+ vivify_152:
set $P177, $P176["comp_unit"]
- unless_null $P177, vivify_149
+ unless_null $P177, vivify_153
new $P177, "Undef"
- vivify_149:
+ vivify_153:
$P178 = $P177."ast"()
$P179 = $P175."!make"($P178)
.return ($P179)
@@ -17151,7 +17860,7 @@
.namespace ["NQP";"Actions"]
-.sub "deflongname" :subid("21_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "deflongname" :subid("21_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_184
.annotate 'line', 35
new $P183, 'ExceptionHandler'
@@ -17164,13 +17873,13 @@
find_lex $P185, "$/"
.annotate 'line', 37
find_lex $P188, "$/"
- unless_null $P188, vivify_150
+ unless_null $P188, vivify_154
$P188 = root_new ['parrot';'Hash']
- vivify_150:
+ vivify_154:
set $P189, $P188["colonpair"]
- unless_null $P189, vivify_151
+ unless_null $P189, vivify_155
new $P189, "Undef"
- vivify_151:
+ vivify_155:
if $P189, if_187
.annotate 'line', 39
find_lex $P209, "$/"
@@ -17181,46 +17890,46 @@
goto if_187_end
if_187:
find_lex $P190, "$/"
- unless_null $P190, vivify_152
+ unless_null $P190, vivify_156
$P190 = root_new ['parrot';'Hash']
- vivify_152:
+ vivify_156:
set $P191, $P190["identifier"]
- unless_null $P191, vivify_153
+ unless_null $P191, vivify_157
new $P191, "Undef"
- vivify_153:
+ vivify_157:
set $S192, $P191
new $P193, 'String'
set $P193, $S192
concat $P194, $P193, ":"
find_lex $P195, "$/"
- unless_null $P195, vivify_154
+ unless_null $P195, vivify_158
$P195 = root_new ['parrot';'Hash']
- vivify_154:
+ vivify_158:
set $P196, $P195["colonpair"]
- unless_null $P196, vivify_155
+ unless_null $P196, vivify_159
$P196 = root_new ['parrot';'ResizablePMCArray']
- vivify_155:
+ vivify_159:
set $P197, $P196[0]
- unless_null $P197, vivify_156
+ unless_null $P197, vivify_160
new $P197, "Undef"
- vivify_156:
+ vivify_160:
$P198 = $P197."ast"()
$S199 = $P198."named"()
concat $P200, $P194, $S199
concat $P201, $P200, "<"
.annotate 'line', 38
find_lex $P202, "$/"
- unless_null $P202, vivify_157
+ unless_null $P202, vivify_161
$P202 = root_new ['parrot';'Hash']
- vivify_157:
+ vivify_161:
set $P203, $P202["colonpair"]
- unless_null $P203, vivify_158
+ unless_null $P203, vivify_162
$P203 = root_new ['parrot';'ResizablePMCArray']
- vivify_158:
+ vivify_162:
set $P204, $P203[0]
- unless_null $P204, vivify_159
+ unless_null $P204, vivify_163
new $P204, "Undef"
- vivify_159:
+ vivify_163:
$P205 = $P204."ast"()
$S206 = "colonpair_str"($P205)
concat $P207, $P201, $S206
@@ -17240,7 +17949,7 @@
.namespace ["NQP";"Actions"]
-.sub "comp_unit" :subid("22_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "comp_unit" :subid("22_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_217
.annotate 'line', 49
new $P216, 'ExceptionHandler'
@@ -17257,13 +17966,13 @@
.lex "$unit", $P219
.annotate 'line', 50
find_lex $P220, "$/"
- unless_null $P220, vivify_160
+ unless_null $P220, vivify_164
$P220 = root_new ['parrot';'Hash']
- vivify_160:
+ vivify_164:
set $P221, $P220["statementlist"]
- unless_null $P221, vivify_161
+ unless_null $P221, vivify_165
new $P221, "Undef"
- vivify_161:
+ vivify_165:
$P222 = $P221."ast"()
store_lex "$mainline", $P222
.annotate 'line', 51
@@ -17309,10 +18018,10 @@
.namespace ["NQP";"Actions"]
-.sub "statementlist" :subid("23_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "statementlist" :subid("23_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_246
.annotate 'line', 72
- .const 'Sub' $P260 = "24_1274022903.56472"
+ .const 'Sub' $P260 = "24_1274564782.90592"
capture_lex $P260
new $P245, 'ExceptionHandler'
set_addr $P245, control_244
@@ -17329,25 +18038,25 @@
store_lex "$past", $P250
.annotate 'line', 74
find_lex $P252, "$/"
- unless_null $P252, vivify_162
+ unless_null $P252, vivify_166
$P252 = root_new ['parrot';'Hash']
- vivify_162:
+ vivify_166:
set $P253, $P252["statement"]
- unless_null $P253, vivify_163
+ unless_null $P253, vivify_167
new $P253, "Undef"
- vivify_163:
+ vivify_167:
unless $P253, if_251_end
.annotate 'line', 75
find_lex $P255, "$/"
- unless_null $P255, vivify_164
+ unless_null $P255, vivify_168
$P255 = root_new ['parrot';'Hash']
- vivify_164:
+ vivify_168:
set $P256, $P255["statement"]
- unless_null $P256, vivify_165
+ unless_null $P256, vivify_169
new $P256, "Undef"
- vivify_165:
+ vivify_169:
defined $I257, $P256
- unless $I257, for_undef_166
+ unless $I257, for_undef_170
iter $P254, $P256
new $P280, 'ExceptionHandler'
set_addr $P280, loop279_handler
@@ -17357,7 +18066,7 @@
unless $P254, loop279_done
shift $P258, $P254
loop279_redo:
- .const 'Sub' $P260 = "24_1274022903.56472"
+ .const 'Sub' $P260 = "24_1274564782.90592"
capture_lex $P260
$P260($P258)
loop279_next:
@@ -17370,7 +18079,7 @@
eq $P281, 66, loop279_redo
loop279_done:
pop_eh
- for_undef_166:
+ for_undef_170:
if_251_end:
.annotate 'line', 82
find_lex $P282, "$/"
@@ -17387,7 +18096,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block259" :anon :subid("24_1274022903.56472") :outer("23_1274022903.56472")
+.sub "_block259" :anon :subid("24_1274564782.90592") :outer("23_1274564782.90592")
.param pmc param_262
.annotate 'line', 76
new $P261, "Undef"
@@ -17398,34 +18107,34 @@
store_lex "$ast", $P264
.annotate 'line', 77
find_lex $P266, "$ast"
- unless_null $P266, vivify_167
+ unless_null $P266, vivify_171
$P266 = root_new ['parrot';'Hash']
- vivify_167:
+ vivify_171:
set $P267, $P266["sink"]
- unless_null $P267, vivify_168
+ unless_null $P267, vivify_172
new $P267, "Undef"
- vivify_168:
+ vivify_172:
defined $I268, $P267
unless $I268, if_265_end
find_lex $P269, "$ast"
- unless_null $P269, vivify_169
+ unless_null $P269, vivify_173
$P269 = root_new ['parrot';'Hash']
- vivify_169:
+ vivify_173:
set $P270, $P269["sink"]
- unless_null $P270, vivify_170
+ unless_null $P270, vivify_174
new $P270, "Undef"
- vivify_170:
+ vivify_174:
store_lex "$ast", $P270
if_265_end:
.annotate 'line', 78
find_lex $P272, "$ast"
- unless_null $P272, vivify_171
+ unless_null $P272, vivify_175
$P272 = root_new ['parrot';'Hash']
- vivify_171:
+ vivify_175:
set $P273, $P272["bareblock"]
- unless_null $P273, vivify_172
+ unless_null $P273, vivify_176
new $P273, "Undef"
- vivify_172:
+ vivify_176:
unless $P273, if_271_end
find_lex $P274, "$ast"
$P275 = "block_immediate"($P274)
@@ -17441,12 +18150,12 @@
.namespace ["NQP";"Actions"]
-.sub "statement" :subid("25_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "statement" :subid("25_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_289
.param pmc param_290 :optional
.param int has_param_290 :opt_flag
.annotate 'line', 85
- .const 'Sub' $P298 = "26_1274022903.56472"
+ .const 'Sub' $P298 = "26_1274564782.90592"
capture_lex $P298
new $P288, 'ExceptionHandler'
set_addr $P288, control_287
@@ -17454,10 +18163,10 @@
push_eh $P288
.lex "self", self
.lex "$/", param_289
- if has_param_290, optparam_173
+ if has_param_290, optparam_177
new $P291, "Undef"
set param_290, $P291
- optparam_173:
+ optparam_177:
.lex "$key", param_290
.annotate 'line', 86
new $P292, "Undef"
@@ -17466,23 +18175,23 @@
find_lex $P293, "$past"
.annotate 'line', 87
find_lex $P295, "$/"
- unless_null $P295, vivify_174
+ unless_null $P295, vivify_178
$P295 = root_new ['parrot';'Hash']
- vivify_174:
+ vivify_178:
set $P296, $P295["EXPR"]
- unless_null $P296, vivify_175
+ unless_null $P296, vivify_179
new $P296, "Undef"
- vivify_175:
+ vivify_179:
if $P296, if_294
.annotate 'line', 98
find_lex $P336, "$/"
- unless_null $P336, vivify_176
+ unless_null $P336, vivify_180
$P336 = root_new ['parrot';'Hash']
- vivify_176:
+ vivify_180:
set $P337, $P336["statement_control"]
- unless_null $P337, vivify_177
+ unless_null $P337, vivify_181
new $P337, "Undef"
- vivify_177:
+ vivify_181:
if $P337, if_335
.annotate 'line', 99
new $P341, "Integer"
@@ -17492,20 +18201,20 @@
if_335:
.annotate 'line', 98
find_lex $P338, "$/"
- unless_null $P338, vivify_178
+ unless_null $P338, vivify_182
$P338 = root_new ['parrot';'Hash']
- vivify_178:
+ vivify_182:
set $P339, $P338["statement_control"]
- unless_null $P339, vivify_179
+ unless_null $P339, vivify_183
new $P339, "Undef"
- vivify_179:
+ vivify_183:
$P340 = $P339."ast"()
store_lex "$past", $P340
if_335_end:
goto if_294_end
if_294:
.annotate 'line', 87
- .const 'Sub' $P298 = "26_1274022903.56472"
+ .const 'Sub' $P298 = "26_1274564782.90592"
capture_lex $P298
$P298()
if_294_end:
@@ -17524,7 +18233,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block297" :anon :subid("26_1274022903.56472") :outer("25_1274022903.56472")
+.sub "_block297" :anon :subid("26_1274564782.90592") :outer("25_1274564782.90592")
.annotate 'line', 88
new $P299, "Undef"
.lex "$mc", $P299
@@ -17533,41 +18242,41 @@
.lex "$ml", $P300
.annotate 'line', 88
find_lex $P301, "$/"
- unless_null $P301, vivify_180
+ unless_null $P301, vivify_184
$P301 = root_new ['parrot';'Hash']
- vivify_180:
+ vivify_184:
set $P302, $P301["statement_mod_cond"]
- unless_null $P302, vivify_181
+ unless_null $P302, vivify_185
$P302 = root_new ['parrot';'ResizablePMCArray']
- vivify_181:
+ vivify_185:
set $P303, $P302[0]
- unless_null $P303, vivify_182
+ unless_null $P303, vivify_186
new $P303, "Undef"
- vivify_182:
+ vivify_186:
store_lex "$mc", $P303
.annotate 'line', 89
find_lex $P304, "$/"
- unless_null $P304, vivify_183
+ unless_null $P304, vivify_187
$P304 = root_new ['parrot';'Hash']
- vivify_183:
+ vivify_187:
set $P305, $P304["statement_mod_loop"]
- unless_null $P305, vivify_184
+ unless_null $P305, vivify_188
$P305 = root_new ['parrot';'ResizablePMCArray']
- vivify_184:
+ vivify_188:
set $P306, $P305[0]
- unless_null $P306, vivify_185
+ unless_null $P306, vivify_189
new $P306, "Undef"
- vivify_185:
+ vivify_189:
store_lex "$ml", $P306
.annotate 'line', 90
find_lex $P307, "$/"
- unless_null $P307, vivify_186
+ unless_null $P307, vivify_190
$P307 = root_new ['parrot';'Hash']
- vivify_186:
+ vivify_190:
set $P308, $P307["EXPR"]
- unless_null $P308, vivify_187
+ unless_null $P308, vivify_191
new $P308, "Undef"
- vivify_187:
+ vivify_191:
$P309 = $P308."ast"()
store_lex "$past", $P309
.annotate 'line', 91
@@ -17576,23 +18285,23 @@
.annotate 'line', 92
get_hll_global $P312, ["PAST"], "Op"
find_lex $P313, "$mc"
- unless_null $P313, vivify_188
+ unless_null $P313, vivify_192
$P313 = root_new ['parrot';'Hash']
- vivify_188:
+ vivify_192:
set $P314, $P313["cond"]
- unless_null $P314, vivify_189
+ unless_null $P314, vivify_193
new $P314, "Undef"
- vivify_189:
+ vivify_193:
$P315 = $P314."ast"()
find_lex $P316, "$past"
find_lex $P317, "$mc"
- unless_null $P317, vivify_190
+ unless_null $P317, vivify_194
$P317 = root_new ['parrot';'Hash']
- vivify_190:
+ vivify_194:
set $P318, $P317["sym"]
- unless_null $P318, vivify_191
+ unless_null $P318, vivify_195
new $P318, "Undef"
- vivify_191:
+ vivify_195:
set $S319, $P318
find_lex $P320, "$/"
$P321 = $P312."new"($P315, $P316, $S319 :named("pasttype"), $P320 :named("node"))
@@ -17607,23 +18316,23 @@
.annotate 'line', 95
get_hll_global $P325, ["PAST"], "Op"
find_lex $P326, "$ml"
- unless_null $P326, vivify_192
+ unless_null $P326, vivify_196
$P326 = root_new ['parrot';'Hash']
- vivify_192:
+ vivify_196:
set $P327, $P326["cond"]
- unless_null $P327, vivify_193
+ unless_null $P327, vivify_197
new $P327, "Undef"
- vivify_193:
+ vivify_197:
$P328 = $P327."ast"()
find_lex $P329, "$past"
find_lex $P330, "$ml"
- unless_null $P330, vivify_194
+ unless_null $P330, vivify_198
$P330 = root_new ['parrot';'Hash']
- vivify_194:
+ vivify_198:
set $P331, $P330["sym"]
- unless_null $P331, vivify_195
+ unless_null $P331, vivify_199
new $P331, "Undef"
- vivify_195:
+ vivify_199:
set $S332, $P331
find_lex $P333, "$/"
$P334 = $P325."new"($P328, $P329, $S332 :named("pasttype"), $P333 :named("node"))
@@ -17637,7 +18346,7 @@
.namespace ["NQP";"Actions"]
-.sub "xblock" :subid("27_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "xblock" :subid("27_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_349
.annotate 'line', 103
new $P348, 'ExceptionHandler'
@@ -17650,22 +18359,22 @@
find_lex $P350, "$/"
get_hll_global $P351, ["PAST"], "Op"
find_lex $P352, "$/"
- unless_null $P352, vivify_196
+ unless_null $P352, vivify_200
$P352 = root_new ['parrot';'Hash']
- vivify_196:
+ vivify_200:
set $P353, $P352["EXPR"]
- unless_null $P353, vivify_197
+ unless_null $P353, vivify_201
new $P353, "Undef"
- vivify_197:
+ vivify_201:
$P354 = $P353."ast"()
find_lex $P355, "$/"
- unless_null $P355, vivify_198
+ unless_null $P355, vivify_202
$P355 = root_new ['parrot';'Hash']
- vivify_198:
+ vivify_202:
set $P356, $P355["pblock"]
- unless_null $P356, vivify_199
+ unless_null $P356, vivify_203
new $P356, "Undef"
- vivify_199:
+ vivify_203:
$P357 = $P356."ast"()
find_lex $P358, "$/"
$P359 = $P351."new"($P354, $P357, "if" :named("pasttype"), $P358 :named("node"))
@@ -17681,7 +18390,7 @@
.namespace ["NQP";"Actions"]
-.sub "pblock" :subid("28_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "pblock" :subid("28_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_365
.annotate 'line', 107
new $P364, 'ExceptionHandler'
@@ -17693,13 +18402,13 @@
.annotate 'line', 108
find_lex $P366, "$/"
find_lex $P367, "$/"
- unless_null $P367, vivify_200
+ unless_null $P367, vivify_204
$P367 = root_new ['parrot';'Hash']
- vivify_200:
+ vivify_204:
set $P368, $P367["blockoid"]
- unless_null $P368, vivify_201
+ unless_null $P368, vivify_205
new $P368, "Undef"
- vivify_201:
+ vivify_205:
$P369 = $P368."ast"()
$P370 = $P366."!make"($P369)
.annotate 'line', 107
@@ -17713,7 +18422,7 @@
.namespace ["NQP";"Actions"]
-.sub "block" :subid("29_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "block" :subid("29_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_375
.annotate 'line', 111
new $P374, 'ExceptionHandler'
@@ -17725,13 +18434,13 @@
.annotate 'line', 112
find_lex $P376, "$/"
find_lex $P377, "$/"
- unless_null $P377, vivify_202
+ unless_null $P377, vivify_206
$P377 = root_new ['parrot';'Hash']
- vivify_202:
+ vivify_206:
set $P378, $P377["blockoid"]
- unless_null $P378, vivify_203
+ unless_null $P378, vivify_207
new $P378, "Undef"
- vivify_203:
+ vivify_207:
$P379 = $P378."ast"()
$P380 = $P376."!make"($P379)
.annotate 'line', 111
@@ -17745,7 +18454,7 @@
.namespace ["NQP";"Actions"]
-.sub "blockoid" :subid("30_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "blockoid" :subid("30_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_385
.annotate 'line', 115
new $P384, 'ExceptionHandler'
@@ -17762,13 +18471,13 @@
.lex "$BLOCK", $P387
.annotate 'line', 116
find_lex $P388, "$/"
- unless_null $P388, vivify_204
+ unless_null $P388, vivify_208
$P388 = root_new ['parrot';'Hash']
- vivify_204:
+ vivify_208:
set $P389, $P388["statementlist"]
- unless_null $P389, vivify_205
+ unless_null $P389, vivify_209
new $P389, "Undef"
- vivify_205:
+ vivify_209:
$P390 = $P389."ast"()
store_lex "$past", $P390
.annotate 'line', 117
@@ -17801,7 +18510,7 @@
.namespace ["NQP";"Actions"]
-.sub "newpad" :subid("31_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "newpad" :subid("31_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_405
.annotate 'line', 124
new $P404, 'ExceptionHandler'
@@ -17812,10 +18521,10 @@
.lex "$/", param_405
.annotate 'line', 125
get_global $P406, "@BLOCK"
- unless_null $P406, vivify_206
+ unless_null $P406, vivify_210
$P406 = root_new ['parrot';'ResizablePMCArray']
set_global "@BLOCK", $P406
- vivify_206:
+ vivify_210:
.annotate 'line', 124
get_global $P407, "@BLOCK"
.annotate 'line', 126
@@ -17836,10 +18545,10 @@
.namespace ["NQP";"Actions"]
-.sub "statement_control:sym<if>" :subid("32_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "statement_control:sym<if>" :subid("32_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_418
.annotate 'line', 131
- .const 'Sub' $P446 = "33_1274022903.56472"
+ .const 'Sub' $P446 = "33_1274564782.90592"
capture_lex $P446
new $P417, 'ExceptionHandler'
set_addr $P417, control_416
@@ -17855,13 +18564,13 @@
.lex "$past", $P420
.annotate 'line', 132
find_lex $P421, "$/"
- unless_null $P421, vivify_207
+ unless_null $P421, vivify_211
$P421 = root_new ['parrot';'Hash']
- vivify_207:
+ vivify_211:
set $P422, $P421["xblock"]
- unless_null $P422, vivify_208
+ unless_null $P422, vivify_212
new $P422, "Undef"
- vivify_208:
+ vivify_212:
set $N423, $P422
new $P424, 'Float'
set $P424, $N423
@@ -17871,44 +18580,44 @@
find_lex $P426, "$count"
set $I427, $P426
find_lex $P428, "$/"
- unless_null $P428, vivify_209
+ unless_null $P428, vivify_213
$P428 = root_new ['parrot';'Hash']
- vivify_209:
+ vivify_213:
set $P429, $P428["xblock"]
- unless_null $P429, vivify_210
+ unless_null $P429, vivify_214
$P429 = root_new ['parrot';'ResizablePMCArray']
- vivify_210:
+ vivify_214:
set $P430, $P429[$I427]
- unless_null $P430, vivify_211
+ unless_null $P430, vivify_215
new $P430, "Undef"
- vivify_211:
+ vivify_215:
$P431 = $P430."ast"()
$P432 = "xblock_immediate"($P431)
store_lex "$past", $P432
.annotate 'line', 134
find_lex $P434, "$/"
- unless_null $P434, vivify_212
+ unless_null $P434, vivify_216
$P434 = root_new ['parrot';'Hash']
- vivify_212:
+ vivify_216:
set $P435, $P434["else"]
- unless_null $P435, vivify_213
+ unless_null $P435, vivify_217
new $P435, "Undef"
- vivify_213:
+ vivify_217:
unless $P435, if_433_end
.annotate 'line', 135
find_lex $P436, "$past"
find_lex $P437, "$/"
- unless_null $P437, vivify_214
+ unless_null $P437, vivify_218
$P437 = root_new ['parrot';'Hash']
- vivify_214:
+ vivify_218:
set $P438, $P437["else"]
- unless_null $P438, vivify_215
+ unless_null $P438, vivify_219
$P438 = root_new ['parrot';'ResizablePMCArray']
- vivify_215:
+ vivify_219:
set $P439, $P438[0]
- unless_null $P439, vivify_216
+ unless_null $P439, vivify_220
new $P439, "Undef"
- vivify_216:
+ vivify_220:
$P440 = $P439."ast"()
$P441 = "block_immediate"($P440)
$P436."push"($P441)
@@ -17924,7 +18633,7 @@
isgt $I444, $N443, 0.0
unless $I444, loop461_done
loop461_redo:
- .const 'Sub' $P446 = "33_1274022903.56472"
+ .const 'Sub' $P446 = "33_1274564782.90592"
capture_lex $P446
$P446()
loop461_next:
@@ -17952,7 +18661,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block445" :anon :subid("33_1274022903.56472") :outer("32_1274022903.56472")
+.sub "_block445" :anon :subid("33_1274564782.90592") :outer("32_1274564782.90592")
.annotate 'line', 140
new $P447, "Undef"
.lex "$else", $P447
@@ -17967,17 +18676,17 @@
find_lex $P451, "$count"
set $I452, $P451
find_lex $P453, "$/"
- unless_null $P453, vivify_217
+ unless_null $P453, vivify_221
$P453 = root_new ['parrot';'Hash']
- vivify_217:
+ vivify_221:
set $P454, $P453["xblock"]
- unless_null $P454, vivify_218
+ unless_null $P454, vivify_222
$P454 = root_new ['parrot';'ResizablePMCArray']
- vivify_218:
+ vivify_222:
set $P455, $P454[$I452]
- unless_null $P455, vivify_219
+ unless_null $P455, vivify_223
new $P455, "Undef"
- vivify_219:
+ vivify_223:
$P456 = $P455."ast"()
$P457 = "xblock_immediate"($P456)
store_lex "$past", $P457
@@ -17991,7 +18700,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_control:sym<unless>" :subid("34_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "statement_control:sym<unless>" :subid("34_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_471
.annotate 'line', 147
new $P470, 'ExceptionHandler'
@@ -18004,13 +18713,13 @@
new $P472, "Undef"
.lex "$past", $P472
find_lex $P473, "$/"
- unless_null $P473, vivify_220
+ unless_null $P473, vivify_224
$P473 = root_new ['parrot';'Hash']
- vivify_220:
+ vivify_224:
set $P474, $P473["xblock"]
- unless_null $P474, vivify_221
+ unless_null $P474, vivify_225
new $P474, "Undef"
- vivify_221:
+ vivify_225:
$P475 = $P474."ast"()
$P476 = "xblock_immediate"($P475)
store_lex "$past", $P476
@@ -18032,7 +18741,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_control:sym<while>" :subid("35_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "statement_control:sym<while>" :subid("35_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_485
.annotate 'line', 153
new $P484, 'ExceptionHandler'
@@ -18045,26 +18754,26 @@
new $P486, "Undef"
.lex "$past", $P486
find_lex $P487, "$/"
- unless_null $P487, vivify_222
+ unless_null $P487, vivify_226
$P487 = root_new ['parrot';'Hash']
- vivify_222:
+ vivify_226:
set $P488, $P487["xblock"]
- unless_null $P488, vivify_223
+ unless_null $P488, vivify_227
new $P488, "Undef"
- vivify_223:
+ vivify_227:
$P489 = $P488."ast"()
$P490 = "xblock_immediate"($P489)
store_lex "$past", $P490
.annotate 'line', 155
find_lex $P491, "$past"
find_lex $P492, "$/"
- unless_null $P492, vivify_224
+ unless_null $P492, vivify_228
$P492 = root_new ['parrot';'Hash']
- vivify_224:
+ vivify_228:
set $P493, $P492["sym"]
- unless_null $P493, vivify_225
+ unless_null $P493, vivify_229
new $P493, "Undef"
- vivify_225:
+ vivify_229:
set $S494, $P493
$P491."pasttype"($S494)
.annotate 'line', 156
@@ -18082,7 +18791,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_control:sym<repeat>" :subid("36_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "statement_control:sym<repeat>" :subid("36_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_502
.annotate 'line', 159
new $P501, 'ExceptionHandler'
@@ -18101,46 +18810,46 @@
new $P505, "String"
assign $P505, "repeat_"
find_lex $P506, "$/"
- unless_null $P506, vivify_226
+ unless_null $P506, vivify_230
$P506 = root_new ['parrot';'Hash']
- vivify_226:
+ vivify_230:
set $P507, $P506["wu"]
- unless_null $P507, vivify_227
+ unless_null $P507, vivify_231
new $P507, "Undef"
- vivify_227:
+ vivify_231:
set $S508, $P507
concat $P509, $P505, $S508
store_lex "$pasttype", $P509
find_lex $P510, "$past"
.annotate 'line', 162
find_lex $P512, "$/"
- unless_null $P512, vivify_228
+ unless_null $P512, vivify_232
$P512 = root_new ['parrot';'Hash']
- vivify_228:
+ vivify_232:
set $P513, $P512["xblock"]
- unless_null $P513, vivify_229
+ unless_null $P513, vivify_233
new $P513, "Undef"
- vivify_229:
+ vivify_233:
if $P513, if_511
.annotate 'line', 167
get_hll_global $P520, ["PAST"], "Op"
find_lex $P521, "$/"
- unless_null $P521, vivify_230
+ unless_null $P521, vivify_234
$P521 = root_new ['parrot';'Hash']
- vivify_230:
+ vivify_234:
set $P522, $P521["EXPR"]
- unless_null $P522, vivify_231
+ unless_null $P522, vivify_235
new $P522, "Undef"
- vivify_231:
+ vivify_235:
$P523 = $P522."ast"()
find_lex $P524, "$/"
- unless_null $P524, vivify_232
+ unless_null $P524, vivify_236
$P524 = root_new ['parrot';'Hash']
- vivify_232:
+ vivify_236:
set $P525, $P524["pblock"]
- unless_null $P525, vivify_233
+ unless_null $P525, vivify_237
new $P525, "Undef"
- vivify_233:
+ vivify_237:
$P526 = $P525."ast"()
$P527 = "block_immediate"($P526)
find_lex $P528, "$pasttype"
@@ -18152,13 +18861,13 @@
if_511:
.annotate 'line', 163
find_lex $P514, "$/"
- unless_null $P514, vivify_234
+ unless_null $P514, vivify_238
$P514 = root_new ['parrot';'Hash']
- vivify_234:
+ vivify_238:
set $P515, $P514["xblock"]
- unless_null $P515, vivify_235
+ unless_null $P515, vivify_239
new $P515, "Undef"
- vivify_235:
+ vivify_239:
$P516 = $P515."ast"()
$P517 = "xblock_immediate"($P516)
store_lex "$past", $P517
@@ -18182,7 +18891,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_control:sym<for>" :subid("37_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "statement_control:sym<for>" :subid("37_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_538
.annotate 'line', 173
new $P537, 'ExceptionHandler'
@@ -18199,13 +18908,13 @@
.lex "$block", $P540
.annotate 'line', 174
find_lex $P541, "$/"
- unless_null $P541, vivify_236
+ unless_null $P541, vivify_240
$P541 = root_new ['parrot';'Hash']
- vivify_236:
+ vivify_240:
set $P542, $P541["xblock"]
- unless_null $P542, vivify_237
+ unless_null $P542, vivify_241
new $P542, "Undef"
- vivify_237:
+ vivify_241:
$P543 = $P542."ast"()
store_lex "$past", $P543
.annotate 'line', 175
@@ -18213,13 +18922,13 @@
$P544."pasttype"("for")
.annotate 'line', 176
find_lex $P545, "$past"
- unless_null $P545, vivify_238
+ unless_null $P545, vivify_242
$P545 = root_new ['parrot';'ResizablePMCArray']
- vivify_238:
+ vivify_242:
set $P546, $P545[1]
- unless_null $P546, vivify_239
+ unless_null $P546, vivify_243
new $P546, "Undef"
- vivify_239:
+ vivify_243:
store_lex "$block", $P546
.annotate 'line', 177
find_lex $P548, "$block"
@@ -18227,13 +18936,13 @@
if $P549, unless_547_end
.annotate 'line', 178
find_lex $P550, "$block"
- unless_null $P550, vivify_240
+ unless_null $P550, vivify_244
$P550 = root_new ['parrot';'ResizablePMCArray']
- vivify_240:
+ vivify_244:
set $P551, $P550[0]
- unless_null $P551, vivify_241
+ unless_null $P551, vivify_245
new $P551, "Undef"
- vivify_241:
+ vivify_245:
get_hll_global $P552, ["PAST"], "Var"
$P553 = $P552."new"("$_" :named("name"), "parameter" :named("scope"))
$P551."push"($P553)
@@ -18262,7 +18971,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_control:sym<return>" :subid("38_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "statement_control:sym<return>" :subid("38_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_564
.annotate 'line', 186
new $P563, 'ExceptionHandler'
@@ -18275,13 +18984,13 @@
find_lex $P565, "$/"
get_hll_global $P566, ["PAST"], "Op"
find_lex $P567, "$/"
- unless_null $P567, vivify_242
+ unless_null $P567, vivify_246
$P567 = root_new ['parrot';'Hash']
- vivify_242:
+ vivify_246:
set $P568, $P567["EXPR"]
- unless_null $P568, vivify_243
+ unless_null $P568, vivify_247
new $P568, "Undef"
- vivify_243:
+ vivify_247:
$P569 = $P568."ast"()
find_lex $P570, "$/"
$P571 = $P566."new"($P569, "return" :named("pasttype"), $P570 :named("node"))
@@ -18297,7 +19006,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_control:sym<CATCH>" :subid("39_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "statement_control:sym<CATCH>" :subid("39_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_577
.annotate 'line', 190
new $P576, 'ExceptionHandler'
@@ -18310,13 +19019,13 @@
new $P578, "Undef"
.lex "$block", $P578
find_lex $P579, "$/"
- unless_null $P579, vivify_244
+ unless_null $P579, vivify_248
$P579 = root_new ['parrot';'Hash']
- vivify_244:
+ vivify_248:
set $P580, $P579["block"]
- unless_null $P580, vivify_245
+ unless_null $P580, vivify_249
new $P580, "Undef"
- vivify_245:
+ vivify_249:
$P581 = $P580."ast"()
store_lex "$block", $P581
.annotate 'line', 192
@@ -18325,18 +19034,18 @@
"push_block_handler"($P582, $P583)
.annotate 'line', 193
get_global $P584, "@BLOCK"
- unless_null $P584, vivify_246
+ unless_null $P584, vivify_250
$P584 = root_new ['parrot';'ResizablePMCArray']
- vivify_246:
+ vivify_250:
set $P585, $P584[0]
- unless_null $P585, vivify_247
+ unless_null $P585, vivify_251
new $P585, "Undef"
- vivify_247:
+ vivify_251:
$P586 = $P585."handlers"()
set $P587, $P586[0]
- unless_null $P587, vivify_248
+ unless_null $P587, vivify_252
new $P587, "Undef"
- vivify_248:
+ vivify_252:
$P587."handle_types_except"("CONTROL")
.annotate 'line', 194
find_lex $P588, "$/"
@@ -18355,7 +19064,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_control:sym<CONTROL>" :subid("40_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "statement_control:sym<CONTROL>" :subid("40_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_597
.annotate 'line', 197
new $P596, 'ExceptionHandler'
@@ -18368,13 +19077,13 @@
new $P598, "Undef"
.lex "$block", $P598
find_lex $P599, "$/"
- unless_null $P599, vivify_249
+ unless_null $P599, vivify_253
$P599 = root_new ['parrot';'Hash']
- vivify_249:
+ vivify_253:
set $P600, $P599["block"]
- unless_null $P600, vivify_250
+ unless_null $P600, vivify_254
new $P600, "Undef"
- vivify_250:
+ vivify_254:
$P601 = $P600."ast"()
store_lex "$block", $P601
.annotate 'line', 199
@@ -18383,18 +19092,18 @@
"push_block_handler"($P602, $P603)
.annotate 'line', 200
get_global $P604, "@BLOCK"
- unless_null $P604, vivify_251
+ unless_null $P604, vivify_255
$P604 = root_new ['parrot';'ResizablePMCArray']
- vivify_251:
+ vivify_255:
set $P605, $P604[0]
- unless_null $P605, vivify_252
+ unless_null $P605, vivify_256
new $P605, "Undef"
- vivify_252:
+ vivify_256:
$P606 = $P605."handlers"()
set $P607, $P606[0]
- unless_null $P607, vivify_253
+ unless_null $P607, vivify_257
new $P607, "Undef"
- vivify_253:
+ vivify_257:
$P607."handle_types"("CONTROL")
.annotate 'line', 201
find_lex $P608, "$/"
@@ -18413,7 +19122,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_prefix:sym<INIT>" :subid("41_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "statement_prefix:sym<INIT>" :subid("41_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_618
.annotate 'line', 241
new $P617, 'ExceptionHandler'
@@ -18424,22 +19133,22 @@
.lex "$/", param_618
.annotate 'line', 242
get_global $P619, "@BLOCK"
- unless_null $P619, vivify_254
+ unless_null $P619, vivify_258
$P619 = root_new ['parrot';'ResizablePMCArray']
- vivify_254:
+ vivify_258:
set $P620, $P619[0]
- unless_null $P620, vivify_255
+ unless_null $P620, vivify_259
new $P620, "Undef"
- vivify_255:
+ vivify_259:
$P621 = $P620."loadinit"()
find_lex $P622, "$/"
- unless_null $P622, vivify_256
+ unless_null $P622, vivify_260
$P622 = root_new ['parrot';'Hash']
- vivify_256:
+ vivify_260:
set $P623, $P622["blorst"]
- unless_null $P623, vivify_257
+ unless_null $P623, vivify_261
new $P623, "Undef"
- vivify_257:
+ vivify_261:
$P624 = $P623."ast"()
$P621."push"($P624)
.annotate 'line', 243
@@ -18459,7 +19168,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_prefix:sym<try>" :subid("42_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "statement_prefix:sym<try>" :subid("42_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_634
.annotate 'line', 246
new $P633, 'ExceptionHandler'
@@ -18472,13 +19181,13 @@
new $P635, "Undef"
.lex "$past", $P635
find_lex $P636, "$/"
- unless_null $P636, vivify_258
+ unless_null $P636, vivify_262
$P636 = root_new ['parrot';'Hash']
- vivify_258:
+ vivify_262:
set $P637, $P636["blorst"]
- unless_null $P637, vivify_259
+ unless_null $P637, vivify_263
new $P637, "Undef"
- vivify_259:
+ vivify_263:
$P638 = $P637."ast"()
store_lex "$past", $P638
.annotate 'line', 248
@@ -18536,7 +19245,7 @@
.namespace ["NQP";"Actions"]
-.sub "blorst" :subid("43_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "blorst" :subid("43_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_669
.annotate 'line', 269
new $P668, 'ExceptionHandler'
@@ -18549,36 +19258,36 @@
find_lex $P670, "$/"
.annotate 'line', 271
find_lex $P673, "$/"
- unless_null $P673, vivify_260
+ unless_null $P673, vivify_264
$P673 = root_new ['parrot';'Hash']
- vivify_260:
+ vivify_264:
set $P674, $P673["block"]
- unless_null $P674, vivify_261
+ unless_null $P674, vivify_265
new $P674, "Undef"
- vivify_261:
+ vivify_265:
if $P674, if_672
.annotate 'line', 272
find_lex $P679, "$/"
- unless_null $P679, vivify_262
+ unless_null $P679, vivify_266
$P679 = root_new ['parrot';'Hash']
- vivify_262:
+ vivify_266:
set $P680, $P679["statement"]
- unless_null $P680, vivify_263
+ unless_null $P680, vivify_267
new $P680, "Undef"
- vivify_263:
+ vivify_267:
$P681 = $P680."ast"()
set $P671, $P681
.annotate 'line', 271
goto if_672_end
if_672:
find_lex $P675, "$/"
- unless_null $P675, vivify_264
+ unless_null $P675, vivify_268
$P675 = root_new ['parrot';'Hash']
- vivify_264:
+ vivify_268:
set $P676, $P675["block"]
- unless_null $P676, vivify_265
+ unless_null $P676, vivify_269
new $P676, "Undef"
- vivify_265:
+ vivify_269:
$P677 = $P676."ast"()
$P678 = "block_immediate"($P677)
set $P671, $P678
@@ -18595,7 +19304,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_mod_cond:sym<if>" :subid("44_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "statement_mod_cond:sym<if>" :subid("44_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_687
.annotate 'line', 277
new $P686, 'ExceptionHandler'
@@ -18606,13 +19315,13 @@
.lex "$/", param_687
find_lex $P688, "$/"
find_lex $P689, "$/"
- unless_null $P689, vivify_266
+ unless_null $P689, vivify_270
$P689 = root_new ['parrot';'Hash']
- vivify_266:
+ vivify_270:
set $P690, $P689["cond"]
- unless_null $P690, vivify_267
+ unless_null $P690, vivify_271
new $P690, "Undef"
- vivify_267:
+ vivify_271:
$P691 = $P690."ast"()
$P692 = $P688."!make"($P691)
.return ($P692)
@@ -18625,7 +19334,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_mod_cond:sym<unless>" :subid("45_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "statement_mod_cond:sym<unless>" :subid("45_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_697
.annotate 'line', 278
new $P696, 'ExceptionHandler'
@@ -18636,13 +19345,13 @@
.lex "$/", param_697
find_lex $P698, "$/"
find_lex $P699, "$/"
- unless_null $P699, vivify_268
+ unless_null $P699, vivify_272
$P699 = root_new ['parrot';'Hash']
- vivify_268:
+ vivify_272:
set $P700, $P699["cond"]
- unless_null $P700, vivify_269
+ unless_null $P700, vivify_273
new $P700, "Undef"
- vivify_269:
+ vivify_273:
$P701 = $P700."ast"()
$P702 = $P698."!make"($P701)
.return ($P702)
@@ -18655,7 +19364,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_mod_loop:sym<while>" :subid("46_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "statement_mod_loop:sym<while>" :subid("46_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_707
.annotate 'line', 280
new $P706, 'ExceptionHandler'
@@ -18666,13 +19375,13 @@
.lex "$/", param_707
find_lex $P708, "$/"
find_lex $P709, "$/"
- unless_null $P709, vivify_270
+ unless_null $P709, vivify_274
$P709 = root_new ['parrot';'Hash']
- vivify_270:
+ vivify_274:
set $P710, $P709["cond"]
- unless_null $P710, vivify_271
+ unless_null $P710, vivify_275
new $P710, "Undef"
- vivify_271:
+ vivify_275:
$P711 = $P710."ast"()
$P712 = $P708."!make"($P711)
.return ($P712)
@@ -18685,7 +19394,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_mod_loop:sym<until>" :subid("47_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "statement_mod_loop:sym<until>" :subid("47_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_717
.annotate 'line', 281
new $P716, 'ExceptionHandler'
@@ -18696,13 +19405,13 @@
.lex "$/", param_717
find_lex $P718, "$/"
find_lex $P719, "$/"
- unless_null $P719, vivify_272
+ unless_null $P719, vivify_276
$P719 = root_new ['parrot';'Hash']
- vivify_272:
+ vivify_276:
set $P720, $P719["cond"]
- unless_null $P720, vivify_273
+ unless_null $P720, vivify_277
new $P720, "Undef"
- vivify_273:
+ vivify_277:
$P721 = $P720."ast"()
$P722 = $P718."!make"($P721)
.return ($P722)
@@ -18715,7 +19424,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<fatarrow>" :subid("48_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "term:sym<fatarrow>" :subid("48_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_727
.annotate 'line', 285
new $P726, 'ExceptionHandler'
@@ -18726,13 +19435,13 @@
.lex "$/", param_727
find_lex $P728, "$/"
find_lex $P729, "$/"
- unless_null $P729, vivify_274
+ unless_null $P729, vivify_278
$P729 = root_new ['parrot';'Hash']
- vivify_274:
+ vivify_278:
set $P730, $P729["fatarrow"]
- unless_null $P730, vivify_275
+ unless_null $P730, vivify_279
new $P730, "Undef"
- vivify_275:
+ vivify_279:
$P731 = $P730."ast"()
$P732 = $P728."!make"($P731)
.return ($P732)
@@ -18745,7 +19454,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<colonpair>" :subid("49_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "term:sym<colonpair>" :subid("49_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_737
.annotate 'line', 286
new $P736, 'ExceptionHandler'
@@ -18756,13 +19465,13 @@
.lex "$/", param_737
find_lex $P738, "$/"
find_lex $P739, "$/"
- unless_null $P739, vivify_276
+ unless_null $P739, vivify_280
$P739 = root_new ['parrot';'Hash']
- vivify_276:
+ vivify_280:
set $P740, $P739["colonpair"]
- unless_null $P740, vivify_277
+ unless_null $P740, vivify_281
new $P740, "Undef"
- vivify_277:
+ vivify_281:
$P741 = $P740."ast"()
$P742 = $P738."!make"($P741)
.return ($P742)
@@ -18775,7 +19484,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<variable>" :subid("50_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "term:sym<variable>" :subid("50_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_747
.annotate 'line', 287
new $P746, 'ExceptionHandler'
@@ -18786,13 +19495,13 @@
.lex "$/", param_747
find_lex $P748, "$/"
find_lex $P749, "$/"
- unless_null $P749, vivify_278
+ unless_null $P749, vivify_282
$P749 = root_new ['parrot';'Hash']
- vivify_278:
+ vivify_282:
set $P750, $P749["variable"]
- unless_null $P750, vivify_279
+ unless_null $P750, vivify_283
new $P750, "Undef"
- vivify_279:
+ vivify_283:
$P751 = $P750."ast"()
$P752 = $P748."!make"($P751)
.return ($P752)
@@ -18805,7 +19514,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<package_declarator>" :subid("51_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "term:sym<package_declarator>" :subid("51_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_757
.annotate 'line', 288
new $P756, 'ExceptionHandler'
@@ -18816,13 +19525,13 @@
.lex "$/", param_757
find_lex $P758, "$/"
find_lex $P759, "$/"
- unless_null $P759, vivify_280
+ unless_null $P759, vivify_284
$P759 = root_new ['parrot';'Hash']
- vivify_280:
+ vivify_284:
set $P760, $P759["package_declarator"]
- unless_null $P760, vivify_281
+ unless_null $P760, vivify_285
new $P760, "Undef"
- vivify_281:
+ vivify_285:
$P761 = $P760."ast"()
$P762 = $P758."!make"($P761)
.return ($P762)
@@ -18835,7 +19544,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<scope_declarator>" :subid("52_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "term:sym<scope_declarator>" :subid("52_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_767
.annotate 'line', 289
new $P766, 'ExceptionHandler'
@@ -18846,13 +19555,13 @@
.lex "$/", param_767
find_lex $P768, "$/"
find_lex $P769, "$/"
- unless_null $P769, vivify_282
+ unless_null $P769, vivify_286
$P769 = root_new ['parrot';'Hash']
- vivify_282:
+ vivify_286:
set $P770, $P769["scope_declarator"]
- unless_null $P770, vivify_283
+ unless_null $P770, vivify_287
new $P770, "Undef"
- vivify_283:
+ vivify_287:
$P771 = $P770."ast"()
$P772 = $P768."!make"($P771)
.return ($P772)
@@ -18865,7 +19574,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<routine_declarator>" :subid("53_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "term:sym<routine_declarator>" :subid("53_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_777
.annotate 'line', 290
new $P776, 'ExceptionHandler'
@@ -18876,13 +19585,13 @@
.lex "$/", param_777
find_lex $P778, "$/"
find_lex $P779, "$/"
- unless_null $P779, vivify_284
+ unless_null $P779, vivify_288
$P779 = root_new ['parrot';'Hash']
- vivify_284:
+ vivify_288:
set $P780, $P779["routine_declarator"]
- unless_null $P780, vivify_285
+ unless_null $P780, vivify_289
new $P780, "Undef"
- vivify_285:
+ vivify_289:
$P781 = $P780."ast"()
$P782 = $P778."!make"($P781)
.return ($P782)
@@ -18895,7 +19604,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<regex_declarator>" :subid("54_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "term:sym<regex_declarator>" :subid("54_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_787
.annotate 'line', 291
new $P786, 'ExceptionHandler'
@@ -18906,13 +19615,13 @@
.lex "$/", param_787
find_lex $P788, "$/"
find_lex $P789, "$/"
- unless_null $P789, vivify_286
+ unless_null $P789, vivify_290
$P789 = root_new ['parrot';'Hash']
- vivify_286:
+ vivify_290:
set $P790, $P789["regex_declarator"]
- unless_null $P790, vivify_287
+ unless_null $P790, vivify_291
new $P790, "Undef"
- vivify_287:
+ vivify_291:
$P791 = $P790."ast"()
$P792 = $P788."!make"($P791)
.return ($P792)
@@ -18925,7 +19634,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<statement_prefix>" :subid("55_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "term:sym<statement_prefix>" :subid("55_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_797
.annotate 'line', 292
new $P796, 'ExceptionHandler'
@@ -18936,13 +19645,13 @@
.lex "$/", param_797
find_lex $P798, "$/"
find_lex $P799, "$/"
- unless_null $P799, vivify_288
+ unless_null $P799, vivify_292
$P799 = root_new ['parrot';'Hash']
- vivify_288:
+ vivify_292:
set $P800, $P799["statement_prefix"]
- unless_null $P800, vivify_289
+ unless_null $P800, vivify_293
new $P800, "Undef"
- vivify_289:
+ vivify_293:
$P801 = $P800."ast"()
$P802 = $P798."!make"($P801)
.return ($P802)
@@ -18955,7 +19664,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<lambda>" :subid("56_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "term:sym<lambda>" :subid("56_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_807
.annotate 'line', 293
new $P806, 'ExceptionHandler'
@@ -18966,13 +19675,13 @@
.lex "$/", param_807
find_lex $P808, "$/"
find_lex $P809, "$/"
- unless_null $P809, vivify_290
+ unless_null $P809, vivify_294
$P809 = root_new ['parrot';'Hash']
- vivify_290:
+ vivify_294:
set $P810, $P809["pblock"]
- unless_null $P810, vivify_291
+ unless_null $P810, vivify_295
new $P810, "Undef"
- vivify_291:
+ vivify_295:
$P811 = $P810."ast"()
$P812 = $P808."!make"($P811)
.return ($P812)
@@ -18985,7 +19694,7 @@
.namespace ["NQP";"Actions"]
-.sub "fatarrow" :subid("57_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "fatarrow" :subid("57_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_817
.annotate 'line', 295
new $P816, 'ExceptionHandler'
@@ -18998,25 +19707,25 @@
new $P818, "Undef"
.lex "$past", $P818
find_lex $P819, "$/"
- unless_null $P819, vivify_292
+ unless_null $P819, vivify_296
$P819 = root_new ['parrot';'Hash']
- vivify_292:
+ vivify_296:
set $P820, $P819["val"]
- unless_null $P820, vivify_293
+ unless_null $P820, vivify_297
new $P820, "Undef"
- vivify_293:
+ vivify_297:
$P821 = $P820."ast"()
store_lex "$past", $P821
.annotate 'line', 297
find_lex $P822, "$past"
find_lex $P823, "$/"
- unless_null $P823, vivify_294
+ unless_null $P823, vivify_298
$P823 = root_new ['parrot';'Hash']
- vivify_294:
+ vivify_298:
set $P824, $P823["key"]
- unless_null $P824, vivify_295
+ unless_null $P824, vivify_299
new $P824, "Undef"
- vivify_295:
+ vivify_299:
$P825 = $P824."Str"()
$P822."named"($P825)
.annotate 'line', 298
@@ -19034,7 +19743,7 @@
.namespace ["NQP";"Actions"]
-.sub "colonpair" :subid("58_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "colonpair" :subid("58_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_833
.annotate 'line', 301
new $P832, 'ExceptionHandler'
@@ -19048,24 +19757,24 @@
.lex "$past", $P834
.annotate 'line', 303
find_lex $P837, "$/"
- unless_null $P837, vivify_296
+ unless_null $P837, vivify_300
$P837 = root_new ['parrot';'Hash']
- vivify_296:
+ vivify_300:
set $P838, $P837["circumfix"]
- unless_null $P838, vivify_297
+ unless_null $P838, vivify_301
new $P838, "Undef"
- vivify_297:
+ vivify_301:
if $P838, if_836
.annotate 'line', 304
get_hll_global $P843, ["PAST"], "Val"
find_lex $P844, "$/"
- unless_null $P844, vivify_298
+ unless_null $P844, vivify_302
$P844 = root_new ['parrot';'Hash']
- vivify_298:
+ vivify_302:
set $P845, $P844["not"]
- unless_null $P845, vivify_299
+ unless_null $P845, vivify_303
new $P845, "Undef"
- vivify_299:
+ vivify_303:
isfalse $I846, $P845
$P847 = $P843."new"($I846 :named("value"))
set $P835, $P847
@@ -19073,17 +19782,17 @@
goto if_836_end
if_836:
find_lex $P839, "$/"
- unless_null $P839, vivify_300
+ unless_null $P839, vivify_304
$P839 = root_new ['parrot';'Hash']
- vivify_300:
+ vivify_304:
set $P840, $P839["circumfix"]
- unless_null $P840, vivify_301
+ unless_null $P840, vivify_305
$P840 = root_new ['parrot';'ResizablePMCArray']
- vivify_301:
+ vivify_305:
set $P841, $P840[0]
- unless_null $P841, vivify_302
+ unless_null $P841, vivify_306
new $P841, "Undef"
- vivify_302:
+ vivify_306:
$P842 = $P841."ast"()
set $P835, $P842
if_836_end:
@@ -19091,13 +19800,13 @@
.annotate 'line', 305
find_lex $P848, "$past"
find_lex $P849, "$/"
- unless_null $P849, vivify_303
+ unless_null $P849, vivify_307
$P849 = root_new ['parrot';'Hash']
- vivify_303:
+ vivify_307:
set $P850, $P849["identifier"]
- unless_null $P850, vivify_304
+ unless_null $P850, vivify_308
new $P850, "Undef"
- vivify_304:
+ vivify_308:
set $S851, $P850
$P848."named"($S851)
.annotate 'line', 306
@@ -19115,10 +19824,10 @@
.namespace ["NQP";"Actions"]
-.sub "variable" :subid("59_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "variable" :subid("59_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_859
.annotate 'line', 309
- .const 'Sub' $P872 = "60_1274022903.56472"
+ .const 'Sub' $P872 = "60_1274564782.90592"
capture_lex $P872
new $P858, 'ExceptionHandler'
set_addr $P858, control_857
@@ -19133,29 +19842,29 @@
find_lex $P861, "$past"
.annotate 'line', 311
find_lex $P863, "$/"
- unless_null $P863, vivify_305
+ unless_null $P863, vivify_309
$P863 = root_new ['parrot';'Hash']
- vivify_305:
+ vivify_309:
set $P864, $P863["postcircumfix"]
- unless_null $P864, vivify_306
+ unless_null $P864, vivify_310
new $P864, "Undef"
- vivify_306:
+ vivify_310:
if $P864, if_862
.annotate 'line', 315
- .const 'Sub' $P872 = "60_1274022903.56472"
+ .const 'Sub' $P872 = "60_1274564782.90592"
capture_lex $P872
$P872()
goto if_862_end
if_862:
.annotate 'line', 312
find_lex $P865, "$/"
- unless_null $P865, vivify_323
+ unless_null $P865, vivify_327
$P865 = root_new ['parrot';'Hash']
- vivify_323:
+ vivify_327:
set $P866, $P865["postcircumfix"]
- unless_null $P866, vivify_324
+ unless_null $P866, vivify_328
new $P866, "Undef"
- vivify_324:
+ vivify_328:
$P867 = $P866."ast"()
store_lex "$past", $P867
.annotate 'line', 313
@@ -19179,7 +19888,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block871" :anon :subid("60_1274022903.56472") :outer("59_1274022903.56472")
+.sub "_block871" :anon :subid("60_1274564782.90592") :outer("59_1274564782.90592")
.annotate 'line', 316
$P873 = root_new ['parrot';'ResizablePMCArray']
.lex "@name", $P873
@@ -19200,13 +19909,13 @@
unless $P884, if_883_end
.annotate 'line', 319
find_lex $P886, "@name"
- unless_null $P886, vivify_307
+ unless_null $P886, vivify_311
$P886 = root_new ['parrot';'ResizablePMCArray']
- vivify_307:
+ vivify_311:
set $P887, $P886[0]
- unless_null $P887, vivify_308
+ unless_null $P887, vivify_312
new $P887, "Undef"
- vivify_308:
+ vivify_312:
set $S888, $P887
iseq $I889, $S888, "GLOBAL"
unless $I889, if_885_end
@@ -19223,13 +19932,13 @@
.annotate 'line', 322
find_lex $P894, "$past"
find_lex $P895, "$/"
- unless_null $P895, vivify_309
+ unless_null $P895, vivify_313
$P895 = root_new ['parrot';'Hash']
- vivify_309:
+ vivify_313:
set $P896, $P895["sigil"]
- unless_null $P896, vivify_310
+ unless_null $P896, vivify_314
new $P896, "Undef"
- vivify_310:
+ vivify_314:
$P897 = "vivitype"($P896)
$P894."viviself"($P897)
.annotate 'line', 323
@@ -19238,33 +19947,33 @@
if_883_end:
.annotate 'line', 325
find_lex $P901, "$/"
- unless_null $P901, vivify_311
+ unless_null $P901, vivify_315
$P901 = root_new ['parrot';'Hash']
- vivify_311:
+ vivify_315:
set $P902, $P901["twigil"]
- unless_null $P902, vivify_312
+ unless_null $P902, vivify_316
$P902 = root_new ['parrot';'ResizablePMCArray']
- vivify_312:
+ vivify_316:
set $P903, $P902[0]
- unless_null $P903, vivify_313
+ unless_null $P903, vivify_317
new $P903, "Undef"
- vivify_313:
+ vivify_317:
set $S904, $P903
iseq $I905, $S904, "*"
if $I905, if_900
.annotate 'line', 338
find_lex $P927, "$/"
- unless_null $P927, vivify_314
+ unless_null $P927, vivify_318
$P927 = root_new ['parrot';'Hash']
- vivify_314:
+ vivify_318:
set $P928, $P927["twigil"]
- unless_null $P928, vivify_315
+ unless_null $P928, vivify_319
$P928 = root_new ['parrot';'ResizablePMCArray']
- vivify_315:
+ vivify_319:
set $P929, $P928[0]
- unless_null $P929, vivify_316
+ unless_null $P929, vivify_320
new $P929, "Undef"
- vivify_316:
+ vivify_320:
set $S930, $P929
iseq $I931, $S930, "!"
if $I931, if_926
@@ -19283,13 +19992,13 @@
.annotate 'line', 341
find_lex $P936, "$past"
find_lex $P937, "$/"
- unless_null $P937, vivify_317
+ unless_null $P937, vivify_321
$P937 = root_new ['parrot';'Hash']
- vivify_317:
+ vivify_321:
set $P938, $P937["sigil"]
- unless_null $P938, vivify_318
+ unless_null $P938, vivify_322
new $P938, "Undef"
- vivify_318:
+ vivify_322:
$P939 = "vivitype"($P938)
$P940 = $P936."viviself"($P939)
.annotate 'line', 338
@@ -19308,24 +20017,24 @@
get_hll_global $P908, ["PAST"], "Var"
.annotate 'line', 330
find_lex $P909, "$/"
- unless_null $P909, vivify_319
+ unless_null $P909, vivify_323
$P909 = root_new ['parrot';'Hash']
- vivify_319:
+ vivify_323:
set $P910, $P909["sigil"]
- unless_null $P910, vivify_320
+ unless_null $P910, vivify_324
new $P910, "Undef"
- vivify_320:
+ vivify_324:
set $S911, $P910
new $P912, 'String'
set $P912, $S911
find_lex $P913, "$/"
- unless_null $P913, vivify_321
+ unless_null $P913, vivify_325
$P913 = root_new ['parrot';'Hash']
- vivify_321:
+ vivify_325:
set $P914, $P913["desigilname"]
- unless_null $P914, vivify_322
+ unless_null $P914, vivify_326
new $P914, "Undef"
- vivify_322:
+ vivify_326:
concat $P915, $P912, $P914
.annotate 'line', 332
get_hll_global $P916, ["PAST"], "Op"
@@ -19348,7 +20057,7 @@
.namespace ["NQP";"Actions"]
-.sub "package_declarator:sym<module>" :subid("61_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "package_declarator:sym<module>" :subid("61_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_948
.annotate 'line', 347
new $P947, 'ExceptionHandler'
@@ -19359,13 +20068,13 @@
.lex "$/", param_948
find_lex $P949, "$/"
find_lex $P950, "$/"
- unless_null $P950, vivify_325
+ unless_null $P950, vivify_329
$P950 = root_new ['parrot';'Hash']
- vivify_325:
+ vivify_329:
set $P951, $P950["package_def"]
- unless_null $P951, vivify_326
+ unless_null $P951, vivify_330
new $P951, "Undef"
- vivify_326:
+ vivify_330:
$P952 = $P951."ast"()
$P953 = $P949."!make"($P952)
.return ($P953)
@@ -19378,7 +20087,7 @@
.namespace ["NQP";"Actions"]
-.sub "package_declarator:sym<class>" :subid("62_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "package_declarator:sym<class>" :subid("62_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_958
.annotate 'line', 348
new $P957, 'ExceptionHandler'
@@ -19398,13 +20107,13 @@
.lex "$parent", $P961
.annotate 'line', 349
find_lex $P962, "$/"
- unless_null $P962, vivify_327
+ unless_null $P962, vivify_331
$P962 = root_new ['parrot';'Hash']
- vivify_327:
+ vivify_331:
set $P963, $P962["package_def"]
- unless_null $P963, vivify_328
+ unless_null $P963, vivify_332
new $P963, "Undef"
- vivify_328:
+ vivify_332:
$P964 = $P963."ast"()
store_lex "$past", $P964
.annotate 'line', 351
@@ -19414,38 +20123,38 @@
$P967 = $P966."new"(" %r = get_root_global [\"parrot\"], \"P6metaclass\"" :named("inline"))
.annotate 'line', 355
find_lex $P968, "$/"
- unless_null $P968, vivify_329
+ unless_null $P968, vivify_333
$P968 = root_new ['parrot';'Hash']
- vivify_329:
+ vivify_333:
set $P969, $P968["package_def"]
- unless_null $P969, vivify_330
+ unless_null $P969, vivify_334
$P969 = root_new ['parrot';'Hash']
- vivify_330:
+ vivify_334:
set $P970, $P969["name"]
- unless_null $P970, vivify_331
+ unless_null $P970, vivify_335
new $P970, "Undef"
- vivify_331:
+ vivify_335:
set $S971, $P970
$P972 = $P965."new"($P967, $S971, "new_class" :named("name"), "callmethod" :named("pasttype"))
.annotate 'line', 351
store_lex "$classinit", $P972
.annotate 'line', 359
find_lex $P975, "$/"
- unless_null $P975, vivify_332
+ unless_null $P975, vivify_336
$P975 = root_new ['parrot';'Hash']
- vivify_332:
+ vivify_336:
set $P976, $P975["package_def"]
- unless_null $P976, vivify_333
+ unless_null $P976, vivify_337
$P976 = root_new ['parrot';'Hash']
- vivify_333:
+ vivify_337:
set $P977, $P976["parent"]
- unless_null $P977, vivify_334
+ unless_null $P977, vivify_338
$P977 = root_new ['parrot';'ResizablePMCArray']
- vivify_334:
+ vivify_338:
set $P978, $P977[0]
- unless_null $P978, vivify_335
+ unless_null $P978, vivify_339
new $P978, "Undef"
- vivify_335:
+ vivify_339:
set $S979, $P978
unless $S979, unless_974
new $P973, 'String'
@@ -19454,13 +20163,13 @@
unless_974:
.annotate 'line', 360
find_lex $P982, "$/"
- unless_null $P982, vivify_336
+ unless_null $P982, vivify_340
$P982 = root_new ['parrot';'Hash']
- vivify_336:
+ vivify_340:
set $P983, $P982["sym"]
- unless_null $P983, vivify_337
+ unless_null $P983, vivify_341
new $P983, "Undef"
- vivify_337:
+ vivify_341:
set $S984, $P983
iseq $I985, $S984, "grammar"
if $I985, if_981
@@ -19488,35 +20197,35 @@
if_988_end:
.annotate 'line', 364
find_lex $P995, "$past"
- unless_null $P995, vivify_338
+ unless_null $P995, vivify_342
$P995 = root_new ['parrot';'Hash']
- vivify_338:
+ vivify_342:
set $P996, $P995["attributes"]
- unless_null $P996, vivify_339
+ unless_null $P996, vivify_343
new $P996, "Undef"
- vivify_339:
+ vivify_343:
unless $P996, if_994_end
.annotate 'line', 365
find_lex $P997, "$classinit"
find_lex $P998, "$past"
- unless_null $P998, vivify_340
+ unless_null $P998, vivify_344
$P998 = root_new ['parrot';'Hash']
- vivify_340:
+ vivify_344:
set $P999, $P998["attributes"]
- unless_null $P999, vivify_341
+ unless_null $P999, vivify_345
new $P999, "Undef"
- vivify_341:
+ vivify_345:
$P997."push"($P999)
if_994_end:
.annotate 'line', 367
get_global $P1000, "@BLOCK"
- unless_null $P1000, vivify_342
+ unless_null $P1000, vivify_346
$P1000 = root_new ['parrot';'ResizablePMCArray']
- vivify_342:
+ vivify_346:
set $P1001, $P1000[0]
- unless_null $P1001, vivify_343
+ unless_null $P1001, vivify_347
new $P1001, "Undef"
- vivify_343:
+ vivify_347:
$P1002 = $P1001."loadinit"()
find_lex $P1003, "$classinit"
$P1002."push"($P1003)
@@ -19535,7 +20244,7 @@
.namespace ["NQP";"Actions"]
-.sub "package_def" :subid("63_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "package_def" :subid("63_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1011
.annotate 'line', 371
new $P1010, 'ExceptionHandler'
@@ -19548,34 +20257,34 @@
new $P1012, "Undef"
.lex "$past", $P1012
find_lex $P1015, "$/"
- unless_null $P1015, vivify_344
+ unless_null $P1015, vivify_348
$P1015 = root_new ['parrot';'Hash']
- vivify_344:
+ vivify_348:
set $P1016, $P1015["block"]
- unless_null $P1016, vivify_345
+ unless_null $P1016, vivify_349
new $P1016, "Undef"
- vivify_345:
+ vivify_349:
if $P1016, if_1014
find_lex $P1020, "$/"
- unless_null $P1020, vivify_346
+ unless_null $P1020, vivify_350
$P1020 = root_new ['parrot';'Hash']
- vivify_346:
+ vivify_350:
set $P1021, $P1020["comp_unit"]
- unless_null $P1021, vivify_347
+ unless_null $P1021, vivify_351
new $P1021, "Undef"
- vivify_347:
+ vivify_351:
$P1022 = $P1021."ast"()
set $P1013, $P1022
goto if_1014_end
if_1014:
find_lex $P1017, "$/"
- unless_null $P1017, vivify_348
+ unless_null $P1017, vivify_352
$P1017 = root_new ['parrot';'Hash']
- vivify_348:
+ vivify_352:
set $P1018, $P1017["block"]
- unless_null $P1018, vivify_349
+ unless_null $P1018, vivify_353
new $P1018, "Undef"
- vivify_349:
+ vivify_353:
$P1019 = $P1018."ast"()
set $P1013, $P1019
if_1014_end:
@@ -19583,17 +20292,17 @@
.annotate 'line', 373
find_lex $P1023, "$past"
find_lex $P1024, "$/"
- unless_null $P1024, vivify_350
+ unless_null $P1024, vivify_354
$P1024 = root_new ['parrot';'Hash']
- vivify_350:
+ vivify_354:
set $P1025, $P1024["name"]
- unless_null $P1025, vivify_351
+ unless_null $P1025, vivify_355
$P1025 = root_new ['parrot';'Hash']
- vivify_351:
+ vivify_355:
set $P1026, $P1025["identifier"]
- unless_null $P1026, vivify_352
+ unless_null $P1026, vivify_356
new $P1026, "Undef"
- vivify_352:
+ vivify_356:
$P1023."namespace"($P1026)
.annotate 'line', 374
find_lex $P1027, "$past"
@@ -19613,7 +20322,7 @@
.namespace ["NQP";"Actions"]
-.sub "scope_declarator:sym<my>" :subid("64_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "scope_declarator:sym<my>" :subid("64_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1035
.annotate 'line', 378
new $P1034, 'ExceptionHandler'
@@ -19624,13 +20333,13 @@
.lex "$/", param_1035
find_lex $P1036, "$/"
find_lex $P1037, "$/"
- unless_null $P1037, vivify_353
+ unless_null $P1037, vivify_357
$P1037 = root_new ['parrot';'Hash']
- vivify_353:
+ vivify_357:
set $P1038, $P1037["scoped"]
- unless_null $P1038, vivify_354
+ unless_null $P1038, vivify_358
new $P1038, "Undef"
- vivify_354:
+ vivify_358:
$P1039 = $P1038."ast"()
$P1040 = $P1036."!make"($P1039)
.return ($P1040)
@@ -19643,7 +20352,7 @@
.namespace ["NQP";"Actions"]
-.sub "scope_declarator:sym<our>" :subid("65_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "scope_declarator:sym<our>" :subid("65_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1045
.annotate 'line', 379
new $P1044, 'ExceptionHandler'
@@ -19654,13 +20363,13 @@
.lex "$/", param_1045
find_lex $P1046, "$/"
find_lex $P1047, "$/"
- unless_null $P1047, vivify_355
+ unless_null $P1047, vivify_359
$P1047 = root_new ['parrot';'Hash']
- vivify_355:
+ vivify_359:
set $P1048, $P1047["scoped"]
- unless_null $P1048, vivify_356
+ unless_null $P1048, vivify_360
new $P1048, "Undef"
- vivify_356:
+ vivify_360:
$P1049 = $P1048."ast"()
$P1050 = $P1046."!make"($P1049)
.return ($P1050)
@@ -19673,7 +20382,7 @@
.namespace ["NQP";"Actions"]
-.sub "scope_declarator:sym<has>" :subid("66_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "scope_declarator:sym<has>" :subid("66_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1055
.annotate 'line', 380
new $P1054, 'ExceptionHandler'
@@ -19684,13 +20393,13 @@
.lex "$/", param_1055
find_lex $P1056, "$/"
find_lex $P1057, "$/"
- unless_null $P1057, vivify_357
+ unless_null $P1057, vivify_361
$P1057 = root_new ['parrot';'Hash']
- vivify_357:
+ vivify_361:
set $P1058, $P1057["scoped"]
- unless_null $P1058, vivify_358
+ unless_null $P1058, vivify_362
new $P1058, "Undef"
- vivify_358:
+ vivify_362:
$P1059 = $P1058."ast"()
$P1060 = $P1056."!make"($P1059)
.return ($P1060)
@@ -19703,7 +20412,7 @@
.namespace ["NQP";"Actions"]
-.sub "scoped" :subid("67_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "scoped" :subid("67_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1065
.annotate 'line', 382
new $P1064, 'ExceptionHandler'
@@ -19715,13 +20424,13 @@
.annotate 'line', 383
find_lex $P1066, "$/"
find_lex $P1067, "$/"
- unless_null $P1067, vivify_359
+ unless_null $P1067, vivify_363
$P1067 = root_new ['parrot';'Hash']
- vivify_359:
+ vivify_363:
set $P1068, $P1067["declarator"]
- unless_null $P1068, vivify_360
+ unless_null $P1068, vivify_364
new $P1068, "Undef"
- vivify_360:
+ vivify_364:
$P1069 = $P1068."ast"()
$P1070 = $P1066."!make"($P1069)
.annotate 'line', 382
@@ -19735,7 +20444,7 @@
.namespace ["NQP";"Actions"]
-.sub "declarator" :subid("68_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "declarator" :subid("68_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1075
.annotate 'line', 386
new $P1074, 'ExceptionHandler'
@@ -19748,36 +20457,36 @@
find_lex $P1076, "$/"
.annotate 'line', 388
find_lex $P1079, "$/"
- unless_null $P1079, vivify_361
+ unless_null $P1079, vivify_365
$P1079 = root_new ['parrot';'Hash']
- vivify_361:
+ vivify_365:
set $P1080, $P1079["routine_declarator"]
- unless_null $P1080, vivify_362
+ unless_null $P1080, vivify_366
new $P1080, "Undef"
- vivify_362:
+ vivify_366:
if $P1080, if_1078
.annotate 'line', 389
find_lex $P1084, "$/"
- unless_null $P1084, vivify_363
+ unless_null $P1084, vivify_367
$P1084 = root_new ['parrot';'Hash']
- vivify_363:
+ vivify_367:
set $P1085, $P1084["variable_declarator"]
- unless_null $P1085, vivify_364
+ unless_null $P1085, vivify_368
new $P1085, "Undef"
- vivify_364:
+ vivify_368:
$P1086 = $P1085."ast"()
set $P1077, $P1086
.annotate 'line', 388
goto if_1078_end
if_1078:
find_lex $P1081, "$/"
- unless_null $P1081, vivify_365
+ unless_null $P1081, vivify_369
$P1081 = root_new ['parrot';'Hash']
- vivify_365:
+ vivify_369:
set $P1082, $P1081["routine_declarator"]
- unless_null $P1082, vivify_366
+ unless_null $P1082, vivify_370
new $P1082, "Undef"
- vivify_366:
+ vivify_370:
$P1083 = $P1082."ast"()
set $P1077, $P1083
if_1078_end:
@@ -19793,10 +20502,10 @@
.namespace ["NQP";"Actions"]
-.sub "variable_declarator" :subid("69_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "variable_declarator" :subid("69_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1092
.annotate 'line', 392
- .const 'Sub' $P1132 = "70_1274022903.56472"
+ .const 'Sub' $P1132 = "70_1274564782.90592"
capture_lex $P1132
new $P1091, 'ExceptionHandler'
set_addr $P1091, control_1090
@@ -19818,28 +20527,28 @@
.lex "$BLOCK", $P1096
.annotate 'line', 393
find_lex $P1097, "$/"
- unless_null $P1097, vivify_367
+ unless_null $P1097, vivify_371
$P1097 = root_new ['parrot';'Hash']
- vivify_367:
+ vivify_371:
set $P1098, $P1097["variable"]
- unless_null $P1098, vivify_368
+ unless_null $P1098, vivify_372
new $P1098, "Undef"
- vivify_368:
+ vivify_372:
$P1099 = $P1098."ast"()
store_lex "$past", $P1099
.annotate 'line', 394
find_lex $P1100, "$/"
- unless_null $P1100, vivify_369
+ unless_null $P1100, vivify_373
$P1100 = root_new ['parrot';'Hash']
- vivify_369:
+ vivify_373:
set $P1101, $P1100["variable"]
- unless_null $P1101, vivify_370
+ unless_null $P1101, vivify_374
$P1101 = root_new ['parrot';'Hash']
- vivify_370:
+ vivify_374:
set $P1102, $P1101["sigil"]
- unless_null $P1102, vivify_371
+ unless_null $P1102, vivify_375
new $P1102, "Undef"
- vivify_371:
+ vivify_375:
store_lex "$sigil", $P1102
.annotate 'line', 395
find_lex $P1103, "$past"
@@ -19847,13 +20556,13 @@
store_lex "$name", $P1104
.annotate 'line', 396
get_global $P1105, "@BLOCK"
- unless_null $P1105, vivify_372
+ unless_null $P1105, vivify_376
$P1105 = root_new ['parrot';'ResizablePMCArray']
- vivify_372:
+ vivify_376:
set $P1106, $P1105[0]
- unless_null $P1106, vivify_373
+ unless_null $P1106, vivify_377
new $P1106, "Undef"
- vivify_373:
+ vivify_377:
store_lex "$BLOCK", $P1106
.annotate 'line', 397
find_lex $P1108, "$BLOCK"
@@ -19868,17 +20577,17 @@
if_1107_end:
.annotate 'line', 400
find_dynamic_lex $P1115, "$*SCOPE"
- unless_null $P1115, vivify_374
+ unless_null $P1115, vivify_378
get_hll_global $P1115, "$SCOPE"
- unless_null $P1115, vivify_375
+ unless_null $P1115, vivify_379
die "Contextual $*SCOPE not found"
- vivify_375:
- vivify_374:
+ vivify_379:
+ vivify_378:
set $S1116, $P1115
iseq $I1117, $S1116, "has"
if $I1117, if_1114
.annotate 'line', 409
- .const 'Sub' $P1132 = "70_1274022903.56472"
+ .const 'Sub' $P1132 = "70_1274564782.90592"
capture_lex $P1132
$P1132()
goto if_1114_end
@@ -19889,33 +20598,33 @@
$P1118."symbol"($P1119, "attribute" :named("scope"))
.annotate 'line', 402
find_lex $P1121, "$BLOCK"
- unless_null $P1121, vivify_380
+ unless_null $P1121, vivify_384
$P1121 = root_new ['parrot';'Hash']
- vivify_380:
+ vivify_384:
set $P1122, $P1121["attributes"]
- unless_null $P1122, vivify_381
+ unless_null $P1122, vivify_385
new $P1122, "Undef"
- vivify_381:
+ vivify_385:
if $P1122, unless_1120_end
.annotate 'line', 404
get_hll_global $P1123, ["PAST"], "Op"
$P1124 = $P1123."new"("list" :named("pasttype"), "attr" :named("named"))
find_lex $P1125, "$BLOCK"
- unless_null $P1125, vivify_382
+ unless_null $P1125, vivify_386
$P1125 = root_new ['parrot';'Hash']
store_lex "$BLOCK", $P1125
- vivify_382:
+ vivify_386:
set $P1125["attributes"], $P1124
unless_1120_end:
.annotate 'line', 406
find_lex $P1126, "$BLOCK"
- unless_null $P1126, vivify_383
+ unless_null $P1126, vivify_387
$P1126 = root_new ['parrot';'Hash']
- vivify_383:
+ vivify_387:
set $P1127, $P1126["attributes"]
- unless_null $P1127, vivify_384
+ unless_null $P1127, vivify_388
new $P1127, "Undef"
- vivify_384:
+ vivify_388:
find_lex $P1128, "$name"
$P1127."push"($P1128)
.annotate 'line', 407
@@ -19938,7 +20647,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block1131" :anon :subid("70_1274022903.56472") :outer("69_1274022903.56472")
+.sub "_block1131" :anon :subid("70_1274564782.90592") :outer("69_1274564782.90592")
.annotate 'line', 410
new $P1133, "Undef"
.lex "$scope", $P1133
@@ -19947,12 +20656,12 @@
.lex "$decl", $P1134
.annotate 'line', 410
find_dynamic_lex $P1137, "$*SCOPE"
- unless_null $P1137, vivify_376
+ unless_null $P1137, vivify_380
get_hll_global $P1137, "$SCOPE"
- unless_null $P1137, vivify_377
+ unless_null $P1137, vivify_381
die "Contextual $*SCOPE not found"
- vivify_377:
- vivify_376:
+ vivify_381:
+ vivify_380:
set $S1138, $P1137
iseq $I1139, $S1138, "our"
if $I1139, if_1136
@@ -19984,13 +20693,13 @@
$P1149."symbol"($P1150, $P1151 :named("scope"))
.annotate 'line', 415
find_lex $P1152, "$BLOCK"
- unless_null $P1152, vivify_378
+ unless_null $P1152, vivify_382
$P1152 = root_new ['parrot';'ResizablePMCArray']
- vivify_378:
+ vivify_382:
set $P1153, $P1152[0]
- unless_null $P1153, vivify_379
+ unless_null $P1153, vivify_383
new $P1153, "Undef"
- vivify_379:
+ vivify_383:
find_lex $P1154, "$decl"
$P1155 = $P1153."push"($P1154)
.annotate 'line', 409
@@ -19999,7 +20708,7 @@
.namespace ["NQP";"Actions"]
-.sub "routine_declarator:sym<sub>" :subid("71_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "routine_declarator:sym<sub>" :subid("71_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1163
.annotate 'line', 420
new $P1162, 'ExceptionHandler'
@@ -20010,13 +20719,13 @@
.lex "$/", param_1163
find_lex $P1164, "$/"
find_lex $P1165, "$/"
- unless_null $P1165, vivify_385
+ unless_null $P1165, vivify_389
$P1165 = root_new ['parrot';'Hash']
- vivify_385:
+ vivify_389:
set $P1166, $P1165["routine_def"]
- unless_null $P1166, vivify_386
+ unless_null $P1166, vivify_390
new $P1166, "Undef"
- vivify_386:
+ vivify_390:
$P1167 = $P1166."ast"()
$P1168 = $P1164."!make"($P1167)
.return ($P1168)
@@ -20029,7 +20738,7 @@
.namespace ["NQP";"Actions"]
-.sub "routine_declarator:sym<method>" :subid("72_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "routine_declarator:sym<method>" :subid("72_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1173
.annotate 'line', 421
new $P1172, 'ExceptionHandler'
@@ -20040,13 +20749,13 @@
.lex "$/", param_1173
find_lex $P1174, "$/"
find_lex $P1175, "$/"
- unless_null $P1175, vivify_387
+ unless_null $P1175, vivify_391
$P1175 = root_new ['parrot';'Hash']
- vivify_387:
+ vivify_391:
set $P1176, $P1175["method_def"]
- unless_null $P1176, vivify_388
+ unless_null $P1176, vivify_392
new $P1176, "Undef"
- vivify_388:
+ vivify_392:
$P1177 = $P1176."ast"()
$P1178 = $P1174."!make"($P1177)
.return ($P1178)
@@ -20059,10 +20768,10 @@
.namespace ["NQP";"Actions"]
-.sub "routine_def" :subid("73_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "routine_def" :subid("73_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1183
.annotate 'line', 423
- .const 'Sub' $P1194 = "74_1274022903.56472"
+ .const 'Sub' $P1194 = "74_1274564782.90592"
capture_lex $P1194
new $P1182, 'ExceptionHandler'
set_addr $P1182, control_1181
@@ -20074,13 +20783,13 @@
new $P1184, "Undef"
.lex "$past", $P1184
find_lex $P1185, "$/"
- unless_null $P1185, vivify_389
+ unless_null $P1185, vivify_393
$P1185 = root_new ['parrot';'Hash']
- vivify_389:
+ vivify_393:
set $P1186, $P1185["blockoid"]
- unless_null $P1186, vivify_390
+ unless_null $P1186, vivify_394
new $P1186, "Undef"
- vivify_390:
+ vivify_394:
$P1187 = $P1186."ast"()
store_lex "$past", $P1187
.annotate 'line', 425
@@ -20091,15 +20800,15 @@
$P1189."control"("return_pir")
.annotate 'line', 427
find_lex $P1191, "$/"
- unless_null $P1191, vivify_391
+ unless_null $P1191, vivify_395
$P1191 = root_new ['parrot';'Hash']
- vivify_391:
+ vivify_395:
set $P1192, $P1191["deflongname"]
- unless_null $P1192, vivify_392
+ unless_null $P1192, vivify_396
new $P1192, "Undef"
- vivify_392:
+ vivify_396:
unless $P1192, if_1190_end
- .const 'Sub' $P1194 = "74_1274022903.56472"
+ .const 'Sub' $P1194 = "74_1274564782.90592"
capture_lex $P1194
$P1194()
if_1190_end:
@@ -20118,37 +20827,37 @@
.namespace ["NQP";"Actions"]
-.sub "_block1193" :anon :subid("74_1274022903.56472") :outer("73_1274022903.56472")
+.sub "_block1193" :anon :subid("74_1274564782.90592") :outer("73_1274564782.90592")
.annotate 'line', 428
new $P1195, "Undef"
.lex "$name", $P1195
find_lex $P1196, "$/"
- unless_null $P1196, vivify_393
+ unless_null $P1196, vivify_397
$P1196 = root_new ['parrot';'Hash']
- vivify_393:
+ vivify_397:
set $P1197, $P1196["sigil"]
- unless_null $P1197, vivify_394
+ unless_null $P1197, vivify_398
$P1197 = root_new ['parrot';'ResizablePMCArray']
- vivify_394:
+ vivify_398:
set $P1198, $P1197[0]
- unless_null $P1198, vivify_395
+ unless_null $P1198, vivify_399
new $P1198, "Undef"
- vivify_395:
+ vivify_399:
set $S1199, $P1198
new $P1200, 'String'
set $P1200, $S1199
find_lex $P1201, "$/"
- unless_null $P1201, vivify_396
+ unless_null $P1201, vivify_400
$P1201 = root_new ['parrot';'Hash']
- vivify_396:
+ vivify_400:
set $P1202, $P1201["deflongname"]
- unless_null $P1202, vivify_397
+ unless_null $P1202, vivify_401
$P1202 = root_new ['parrot';'ResizablePMCArray']
- vivify_397:
+ vivify_401:
set $P1203, $P1202[0]
- unless_null $P1203, vivify_398
+ unless_null $P1203, vivify_402
new $P1203, "Undef"
- vivify_398:
+ vivify_402:
$S1204 = $P1203."ast"()
concat $P1205, $P1200, $S1204
store_lex "$name", $P1205
@@ -20158,12 +20867,12 @@
$P1206."name"($P1207)
.annotate 'line', 430
find_dynamic_lex $P1210, "$*SCOPE"
- unless_null $P1210, vivify_399
+ unless_null $P1210, vivify_403
get_hll_global $P1210, "$SCOPE"
- unless_null $P1210, vivify_400
+ unless_null $P1210, vivify_404
die "Contextual $*SCOPE not found"
- vivify_400:
- vivify_399:
+ vivify_404:
+ vivify_403:
set $S1211, $P1210
isne $I1212, $S1211, "our"
if $I1212, if_1209
@@ -20173,17 +20882,17 @@
if_1209:
.annotate 'line', 431
get_global $P1213, "@BLOCK"
- unless_null $P1213, vivify_401
+ unless_null $P1213, vivify_405
$P1213 = root_new ['parrot';'ResizablePMCArray']
- vivify_401:
+ vivify_405:
set $P1214, $P1213[0]
- unless_null $P1214, vivify_402
+ unless_null $P1214, vivify_406
$P1214 = root_new ['parrot';'ResizablePMCArray']
- vivify_402:
+ vivify_406:
set $P1215, $P1214[0]
- unless_null $P1215, vivify_403
+ unless_null $P1215, vivify_407
new $P1215, "Undef"
- vivify_403:
+ vivify_407:
get_hll_global $P1216, ["PAST"], "Var"
find_lex $P1217, "$name"
find_lex $P1218, "$past"
@@ -20191,13 +20900,13 @@
$P1215."push"($P1219)
.annotate 'line', 433
get_global $P1220, "@BLOCK"
- unless_null $P1220, vivify_404
+ unless_null $P1220, vivify_408
$P1220 = root_new ['parrot';'ResizablePMCArray']
- vivify_404:
+ vivify_408:
set $P1221, $P1220[0]
- unless_null $P1221, vivify_405
+ unless_null $P1221, vivify_409
new $P1221, "Undef"
- vivify_405:
+ vivify_409:
find_lex $P1222, "$name"
$P1221."symbol"($P1222, "lexical" :named("scope"))
.annotate 'line', 434
@@ -20214,10 +20923,10 @@
.namespace ["NQP";"Actions"]
-.sub "method_def" :subid("75_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "method_def" :subid("75_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1233
.annotate 'line', 441
- .const 'Sub' $P1249 = "76_1274022903.56472"
+ .const 'Sub' $P1249 = "76_1274564782.90592"
capture_lex $P1249
new $P1232, 'ExceptionHandler'
set_addr $P1232, control_1231
@@ -20229,13 +20938,13 @@
new $P1234, "Undef"
.lex "$past", $P1234
find_lex $P1235, "$/"
- unless_null $P1235, vivify_406
+ unless_null $P1235, vivify_410
$P1235 = root_new ['parrot';'Hash']
- vivify_406:
+ vivify_410:
set $P1236, $P1235["blockoid"]
- unless_null $P1236, vivify_407
+ unless_null $P1236, vivify_411
new $P1236, "Undef"
- vivify_407:
+ vivify_411:
$P1237 = $P1236."ast"()
store_lex "$past", $P1237
.annotate 'line', 443
@@ -20246,13 +20955,13 @@
$P1239."control"("return_pir")
.annotate 'line', 445
find_lex $P1240, "$past"
- unless_null $P1240, vivify_408
+ unless_null $P1240, vivify_412
$P1240 = root_new ['parrot';'ResizablePMCArray']
- vivify_408:
+ vivify_412:
set $P1241, $P1240[0]
- unless_null $P1241, vivify_409
+ unless_null $P1241, vivify_413
new $P1241, "Undef"
- vivify_409:
+ vivify_413:
get_hll_global $P1242, ["PAST"], "Op"
$P1243 = $P1242."new"(" .lex \"self\", self" :named("inline"))
$P1241."unshift"($P1243)
@@ -20261,15 +20970,15 @@
$P1244."symbol"("self", "lexical" :named("scope"))
.annotate 'line', 447
find_lex $P1246, "$/"
- unless_null $P1246, vivify_410
+ unless_null $P1246, vivify_414
$P1246 = root_new ['parrot';'Hash']
- vivify_410:
+ vivify_414:
set $P1247, $P1246["deflongname"]
- unless_null $P1247, vivify_411
+ unless_null $P1247, vivify_415
new $P1247, "Undef"
- vivify_411:
+ vivify_415:
unless $P1247, if_1245_end
- .const 'Sub' $P1249 = "76_1274022903.56472"
+ .const 'Sub' $P1249 = "76_1274564782.90592"
capture_lex $P1249
$P1249()
if_1245_end:
@@ -20288,22 +20997,22 @@
.namespace ["NQP";"Actions"]
-.sub "_block1248" :anon :subid("76_1274022903.56472") :outer("75_1274022903.56472")
+.sub "_block1248" :anon :subid("76_1274564782.90592") :outer("75_1274564782.90592")
.annotate 'line', 448
new $P1250, "Undef"
.lex "$name", $P1250
find_lex $P1251, "$/"
- unless_null $P1251, vivify_412
+ unless_null $P1251, vivify_416
$P1251 = root_new ['parrot';'Hash']
- vivify_412:
+ vivify_416:
set $P1252, $P1251["deflongname"]
- unless_null $P1252, vivify_413
+ unless_null $P1252, vivify_417
$P1252 = root_new ['parrot';'ResizablePMCArray']
- vivify_413:
+ vivify_417:
set $P1253, $P1252[0]
- unless_null $P1253, vivify_414
+ unless_null $P1253, vivify_418
new $P1253, "Undef"
- vivify_414:
+ vivify_418:
$P1254 = $P1253."ast"()
set $S1255, $P1254
new $P1256, 'String'
@@ -20319,10 +21028,10 @@
.namespace ["NQP";"Actions"]
-.sub "signature" :subid("77_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "signature" :subid("77_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1267
.annotate 'line', 455
- .const 'Sub' $P1278 = "78_1274022903.56472"
+ .const 'Sub' $P1278 = "78_1274564782.90592"
capture_lex $P1278
new $P1266, 'ExceptionHandler'
set_addr $P1266, control_1265
@@ -20334,29 +21043,29 @@
new $P1268, "Undef"
.lex "$BLOCKINIT", $P1268
get_global $P1269, "@BLOCK"
- unless_null $P1269, vivify_415
+ unless_null $P1269, vivify_419
$P1269 = root_new ['parrot';'ResizablePMCArray']
- vivify_415:
+ vivify_419:
set $P1270, $P1269[0]
- unless_null $P1270, vivify_416
+ unless_null $P1270, vivify_420
$P1270 = root_new ['parrot';'ResizablePMCArray']
- vivify_416:
+ vivify_420:
set $P1271, $P1270[0]
- unless_null $P1271, vivify_417
+ unless_null $P1271, vivify_421
new $P1271, "Undef"
- vivify_417:
+ vivify_421:
store_lex "$BLOCKINIT", $P1271
.annotate 'line', 457
find_lex $P1273, "$/"
- unless_null $P1273, vivify_418
+ unless_null $P1273, vivify_422
$P1273 = root_new ['parrot';'Hash']
- vivify_418:
+ vivify_422:
set $P1274, $P1273["parameter"]
- unless_null $P1274, vivify_419
+ unless_null $P1274, vivify_423
new $P1274, "Undef"
- vivify_419:
+ vivify_423:
defined $I1275, $P1274
- unless $I1275, for_undef_420
+ unless $I1275, for_undef_424
iter $P1272, $P1274
new $P1285, 'ExceptionHandler'
set_addr $P1285, loop1284_handler
@@ -20366,7 +21075,7 @@
unless $P1272, loop1284_done
shift $P1276, $P1272
loop1284_redo:
- .const 'Sub' $P1278 = "78_1274022903.56472"
+ .const 'Sub' $P1278 = "78_1274564782.90592"
capture_lex $P1278
$P1278($P1276)
loop1284_next:
@@ -20379,7 +21088,7 @@
eq $P1286, 66, loop1284_redo
loop1284_done:
pop_eh
- for_undef_420:
+ for_undef_424:
.annotate 'line', 455
.return ($P1272)
control_1265:
@@ -20391,7 +21100,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block1277" :anon :subid("78_1274022903.56472") :outer("77_1274022903.56472")
+.sub "_block1277" :anon :subid("78_1274564782.90592") :outer("77_1274564782.90592")
.param pmc param_1279
.annotate 'line', 457
.lex "$_", param_1279
@@ -20404,7 +21113,7 @@
.namespace ["NQP";"Actions"]
-.sub "parameter" :subid("79_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "parameter" :subid("79_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1291
.annotate 'line', 460
new $P1290, 'ExceptionHandler'
@@ -20421,34 +21130,34 @@
.lex "$past", $P1293
.annotate 'line', 461
find_lex $P1294, "$/"
- unless_null $P1294, vivify_421
+ unless_null $P1294, vivify_425
$P1294 = root_new ['parrot';'Hash']
- vivify_421:
+ vivify_425:
set $P1295, $P1294["quant"]
- unless_null $P1295, vivify_422
+ unless_null $P1295, vivify_426
new $P1295, "Undef"
- vivify_422:
+ vivify_426:
store_lex "$quant", $P1295
find_lex $P1296, "$past"
.annotate 'line', 463
find_lex $P1298, "$/"
- unless_null $P1298, vivify_423
+ unless_null $P1298, vivify_427
$P1298 = root_new ['parrot';'Hash']
- vivify_423:
+ vivify_427:
set $P1299, $P1298["named_param"]
- unless_null $P1299, vivify_424
+ unless_null $P1299, vivify_428
new $P1299, "Undef"
- vivify_424:
+ vivify_428:
if $P1299, if_1297
.annotate 'line', 470
find_lex $P1313, "$/"
- unless_null $P1313, vivify_425
+ unless_null $P1313, vivify_429
$P1313 = root_new ['parrot';'Hash']
- vivify_425:
+ vivify_429:
set $P1314, $P1313["param_var"]
- unless_null $P1314, vivify_426
+ unless_null $P1314, vivify_430
new $P1314, "Undef"
- vivify_426:
+ vivify_430:
$P1315 = $P1314."ast"()
store_lex "$past", $P1315
.annotate 'line', 471
@@ -20464,17 +21173,17 @@
.annotate 'line', 476
find_lex $P1331, "$past"
find_lex $P1332, "$/"
- unless_null $P1332, vivify_427
+ unless_null $P1332, vivify_431
$P1332 = root_new ['parrot';'Hash']
- vivify_427:
+ vivify_431:
set $P1333, $P1332["param_var"]
- unless_null $P1333, vivify_428
+ unless_null $P1333, vivify_432
$P1333 = root_new ['parrot';'Hash']
- vivify_428:
+ vivify_432:
set $P1334, $P1333["sigil"]
- unless_null $P1334, vivify_429
+ unless_null $P1334, vivify_433
new $P1334, "Undef"
- vivify_429:
+ vivify_433:
$P1335 = "vivitype"($P1334)
$P1331."viviself"($P1335)
if_1327_end:
@@ -20487,17 +21196,17 @@
.annotate 'line', 473
find_lex $P1321, "$past"
find_lex $P1322, "$/"
- unless_null $P1322, vivify_430
+ unless_null $P1322, vivify_434
$P1322 = root_new ['parrot';'Hash']
- vivify_430:
+ vivify_434:
set $P1323, $P1322["param_var"]
- unless_null $P1323, vivify_431
+ unless_null $P1323, vivify_435
$P1323 = root_new ['parrot';'Hash']
- vivify_431:
+ vivify_435:
set $P1324, $P1323["sigil"]
- unless_null $P1324, vivify_432
+ unless_null $P1324, vivify_436
new $P1324, "Undef"
- vivify_432:
+ vivify_436:
set $S1325, $P1324
iseq $I1326, $S1325, "%"
$P1321."named"($I1326)
@@ -20507,13 +21216,13 @@
if_1297:
.annotate 'line', 464
find_lex $P1300, "$/"
- unless_null $P1300, vivify_433
+ unless_null $P1300, vivify_437
$P1300 = root_new ['parrot';'Hash']
- vivify_433:
+ vivify_437:
set $P1301, $P1300["named_param"]
- unless_null $P1301, vivify_434
+ unless_null $P1301, vivify_438
new $P1301, "Undef"
- vivify_434:
+ vivify_438:
$P1302 = $P1301."ast"()
store_lex "$past", $P1302
.annotate 'line', 465
@@ -20524,34 +21233,34 @@
.annotate 'line', 466
find_lex $P1307, "$past"
find_lex $P1308, "$/"
- unless_null $P1308, vivify_435
+ unless_null $P1308, vivify_439
$P1308 = root_new ['parrot';'Hash']
- vivify_435:
+ vivify_439:
set $P1309, $P1308["named_param"]
- unless_null $P1309, vivify_436
+ unless_null $P1309, vivify_440
$P1309 = root_new ['parrot';'Hash']
- vivify_436:
+ vivify_440:
set $P1310, $P1309["param_var"]
- unless_null $P1310, vivify_437
+ unless_null $P1310, vivify_441
$P1310 = root_new ['parrot';'Hash']
- vivify_437:
+ vivify_441:
set $P1311, $P1310["sigil"]
- unless_null $P1311, vivify_438
+ unless_null $P1311, vivify_442
new $P1311, "Undef"
- vivify_438:
+ vivify_442:
$P1312 = "vivitype"($P1311)
$P1307."viviself"($P1312)
if_1303_end:
if_1297_end:
.annotate 'line', 479
find_lex $P1337, "$/"
- unless_null $P1337, vivify_439
+ unless_null $P1337, vivify_443
$P1337 = root_new ['parrot';'Hash']
- vivify_439:
+ vivify_443:
set $P1338, $P1337["default_value"]
- unless_null $P1338, vivify_440
+ unless_null $P1338, vivify_444
new $P1338, "Undef"
- vivify_440:
+ vivify_444:
unless $P1338, if_1336_end
.annotate 'line', 480
find_lex $P1340, "$quant"
@@ -20576,21 +21285,21 @@
.annotate 'line', 486
find_lex $P1351, "$past"
find_lex $P1352, "$/"
- unless_null $P1352, vivify_441
+ unless_null $P1352, vivify_445
$P1352 = root_new ['parrot';'Hash']
- vivify_441:
+ vivify_445:
set $P1353, $P1352["default_value"]
- unless_null $P1353, vivify_442
+ unless_null $P1353, vivify_446
$P1353 = root_new ['parrot';'ResizablePMCArray']
- vivify_442:
+ vivify_446:
set $P1354, $P1353[0]
- unless_null $P1354, vivify_443
+ unless_null $P1354, vivify_447
$P1354 = root_new ['parrot';'Hash']
- vivify_443:
+ vivify_447:
set $P1355, $P1354["EXPR"]
- unless_null $P1355, vivify_444
+ unless_null $P1355, vivify_448
new $P1355, "Undef"
- vivify_444:
+ vivify_448:
$P1356 = $P1355."ast"()
$P1351."viviself"($P1356)
if_1336_end:
@@ -20599,21 +21308,21 @@
$P1359 = $P1358."viviself"()
if $P1359, unless_1357_end
get_global $P1360, "@BLOCK"
- unless_null $P1360, vivify_445
+ unless_null $P1360, vivify_449
$P1360 = root_new ['parrot';'ResizablePMCArray']
- vivify_445:
+ vivify_449:
set $P1361, $P1360[0]
- unless_null $P1361, vivify_446
+ unless_null $P1361, vivify_450
new $P1361, "Undef"
- vivify_446:
+ vivify_450:
get_global $P1362, "@BLOCK"
- unless_null $P1362, vivify_447
+ unless_null $P1362, vivify_451
$P1362 = root_new ['parrot';'ResizablePMCArray']
- vivify_447:
+ vivify_451:
set $P1363, $P1362[0]
- unless_null $P1363, vivify_448
+ unless_null $P1363, vivify_452
new $P1363, "Undef"
- vivify_448:
+ vivify_452:
$P1364 = $P1363."arity"()
set $N1365, $P1364
new $P1366, 'Float'
@@ -20636,7 +21345,7 @@
.namespace ["NQP";"Actions"]
-.sub "param_var" :subid("80_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "param_var" :subid("80_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1375
.annotate 'line', 492
new $P1374, 'ExceptionHandler'
@@ -20665,13 +21374,13 @@
store_lex "$past", $P1384
.annotate 'line', 496
get_global $P1385, "@BLOCK"
- unless_null $P1385, vivify_449
+ unless_null $P1385, vivify_453
$P1385 = root_new ['parrot';'ResizablePMCArray']
- vivify_449:
+ vivify_453:
set $P1386, $P1385[0]
- unless_null $P1386, vivify_450
+ unless_null $P1386, vivify_454
new $P1386, "Undef"
- vivify_450:
+ vivify_454:
find_lex $P1387, "$name"
$P1386."symbol"($P1387, "lexical" :named("scope"))
.annotate 'line', 497
@@ -20689,7 +21398,7 @@
.namespace ["NQP";"Actions"]
-.sub "named_param" :subid("81_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "named_param" :subid("81_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1395
.annotate 'line', 500
new $P1394, 'ExceptionHandler'
@@ -20702,29 +21411,29 @@
new $P1396, "Undef"
.lex "$past", $P1396
find_lex $P1397, "$/"
- unless_null $P1397, vivify_451
+ unless_null $P1397, vivify_455
$P1397 = root_new ['parrot';'Hash']
- vivify_451:
+ vivify_455:
set $P1398, $P1397["param_var"]
- unless_null $P1398, vivify_452
+ unless_null $P1398, vivify_456
new $P1398, "Undef"
- vivify_452:
+ vivify_456:
$P1399 = $P1398."ast"()
store_lex "$past", $P1399
.annotate 'line', 502
find_lex $P1400, "$past"
find_lex $P1401, "$/"
- unless_null $P1401, vivify_453
+ unless_null $P1401, vivify_457
$P1401 = root_new ['parrot';'Hash']
- vivify_453:
+ vivify_457:
set $P1402, $P1401["param_var"]
- unless_null $P1402, vivify_454
+ unless_null $P1402, vivify_458
$P1402 = root_new ['parrot';'Hash']
- vivify_454:
+ vivify_458:
set $P1403, $P1402["name"]
- unless_null $P1403, vivify_455
+ unless_null $P1403, vivify_459
new $P1403, "Undef"
- vivify_455:
+ vivify_459:
set $S1404, $P1403
$P1400."named"($S1404)
.annotate 'line', 503
@@ -20742,14 +21451,14 @@
.namespace ["NQP";"Actions"]
-.sub "regex_declarator" :subid("82_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "regex_declarator" :subid("82_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1412
.param pmc param_1413 :optional
.param int has_param_1413 :opt_flag
.annotate 'line', 506
- .const 'Sub' $P1483 = "84_1274022903.56472"
+ .const 'Sub' $P1483 = "84_1274564782.90592"
capture_lex $P1483
- .const 'Sub' $P1455 = "83_1274022903.56472"
+ .const 'Sub' $P1455 = "83_1274564782.90592"
capture_lex $P1455
new $P1411, 'ExceptionHandler'
set_addr $P1411, control_1410
@@ -20757,10 +21466,10 @@
push_eh $P1411
.lex "self", self
.lex "$/", param_1412
- if has_param_1413, optparam_456
+ if has_param_1413, optparam_460
new $P1414, "Undef"
set param_1413, $P1414
- optparam_456:
+ optparam_460:
.lex "$key", param_1413
.annotate 'line', 507
$P1415 = root_new ['parrot';'ResizablePMCArray']
@@ -20778,13 +21487,13 @@
store_lex "@MODIFIERS", $P1418
.annotate 'line', 510
find_lex $P1419, "$/"
- unless_null $P1419, vivify_457
+ unless_null $P1419, vivify_461
$P1419 = root_new ['parrot';'Hash']
- vivify_457:
+ vivify_461:
set $P1420, $P1419["deflongname"]
- unless_null $P1420, vivify_458
+ unless_null $P1420, vivify_462
new $P1420, "Undef"
- vivify_458:
+ vivify_462:
$P1421 = $P1420."ast"()
set $S1422, $P1421
new $P1423, 'String'
@@ -20793,13 +21502,13 @@
find_lex $P1424, "$past"
.annotate 'line', 512
find_lex $P1426, "$/"
- unless_null $P1426, vivify_459
+ unless_null $P1426, vivify_463
$P1426 = root_new ['parrot';'Hash']
- vivify_459:
+ vivify_463:
set $P1427, $P1426["proto"]
- unless_null $P1427, vivify_460
+ unless_null $P1427, vivify_464
new $P1427, "Undef"
- vivify_460:
+ vivify_464:
if $P1427, if_1425
.annotate 'line', 539
find_lex $P1451, "$key"
@@ -20807,13 +21516,13 @@
iseq $I1453, $S1452, "open"
if $I1453, if_1450
.annotate 'line', 552
- .const 'Sub' $P1483 = "84_1274022903.56472"
+ .const 'Sub' $P1483 = "84_1274564782.90592"
capture_lex $P1483
$P1483()
goto if_1450_end
if_1450:
.annotate 'line', 539
- .const 'Sub' $P1455 = "83_1274022903.56472"
+ .const 'Sub' $P1455 = "83_1274564782.90592"
capture_lex $P1455
$P1455()
if_1450_end:
@@ -20870,20 +21579,20 @@
.namespace ["NQP";"Actions"]
-.sub "_block1482" :anon :subid("84_1274022903.56472") :outer("82_1274022903.56472")
+.sub "_block1482" :anon :subid("84_1274564782.90592") :outer("82_1274564782.90592")
.annotate 'line', 553
new $P1484, "Undef"
.lex "$regex", $P1484
.annotate 'line', 554
get_hll_global $P1485, ["Regex";"P6Regex";"Actions"], "buildsub"
find_lex $P1486, "$/"
- unless_null $P1486, vivify_461
+ unless_null $P1486, vivify_465
$P1486 = root_new ['parrot';'Hash']
- vivify_461:
+ vivify_465:
set $P1487, $P1486["p6regex"]
- unless_null $P1487, vivify_462
+ unless_null $P1487, vivify_466
new $P1487, "Undef"
- vivify_462:
+ vivify_466:
$P1488 = $P1487."ast"()
get_global $P1489, "@BLOCK"
$P1490 = $P1489."shift"()
@@ -20907,10 +21616,10 @@
.annotate 'line', 563
find_lex $P1500, "$regex"
find_lex $P1501, "$past"
- unless_null $P1501, vivify_463
+ unless_null $P1501, vivify_467
$P1501 = root_new ['parrot';'Hash']
store_lex "$past", $P1501
- vivify_463:
+ vivify_467:
set $P1501["sink"], $P1500
.annotate 'line', 564
find_lex $P1502, "@MODIFIERS"
@@ -20921,7 +21630,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block1454" :anon :subid("83_1274022903.56472") :outer("82_1274022903.56472")
+.sub "_block1454" :anon :subid("83_1274564782.90592") :outer("82_1274564782.90592")
.annotate 'line', 540
$P1456 = root_new ['parrot';'Hash']
.lex "%h", $P1456
@@ -20929,52 +21638,52 @@
find_lex $P1457, "%h"
.annotate 'line', 541
find_lex $P1459, "$/"
- unless_null $P1459, vivify_464
+ unless_null $P1459, vivify_468
$P1459 = root_new ['parrot';'Hash']
- vivify_464:
+ vivify_468:
set $P1460, $P1459["sym"]
- unless_null $P1460, vivify_465
+ unless_null $P1460, vivify_469
new $P1460, "Undef"
- vivify_465:
+ vivify_469:
set $S1461, $P1460
iseq $I1462, $S1461, "token"
unless $I1462, if_1458_end
new $P1463, "Integer"
assign $P1463, 1
find_lex $P1464, "%h"
- unless_null $P1464, vivify_466
+ unless_null $P1464, vivify_470
$P1464 = root_new ['parrot';'Hash']
store_lex "%h", $P1464
- vivify_466:
+ vivify_470:
set $P1464["r"], $P1463
if_1458_end:
.annotate 'line', 542
find_lex $P1466, "$/"
- unless_null $P1466, vivify_467
+ unless_null $P1466, vivify_471
$P1466 = root_new ['parrot';'Hash']
- vivify_467:
+ vivify_471:
set $P1467, $P1466["sym"]
- unless_null $P1467, vivify_468
+ unless_null $P1467, vivify_472
new $P1467, "Undef"
- vivify_468:
+ vivify_472:
set $S1468, $P1467
iseq $I1469, $S1468, "rule"
unless $I1469, if_1465_end
new $P1470, "Integer"
assign $P1470, 1
find_lex $P1471, "%h"
- unless_null $P1471, vivify_469
+ unless_null $P1471, vivify_473
$P1471 = root_new ['parrot';'Hash']
store_lex "%h", $P1471
- vivify_469:
+ vivify_473:
set $P1471["r"], $P1470
new $P1472, "Integer"
assign $P1472, 1
find_lex $P1473, "%h"
- unless_null $P1473, vivify_470
+ unless_null $P1473, vivify_474
$P1473 = root_new ['parrot';'Hash']
store_lex "%h", $P1473
- vivify_470:
+ vivify_474:
set $P1473["s"], $P1472
if_1465_end:
.annotate 'line', 543
@@ -20988,23 +21697,23 @@
.annotate 'line', 548
get_global $P1476, "@BLOCK"
- unless_null $P1476, vivify_471
+ unless_null $P1476, vivify_475
$P1476 = root_new ['parrot';'ResizablePMCArray']
- vivify_471:
+ vivify_475:
set $P1477, $P1476[0]
- unless_null $P1477, vivify_472
+ unless_null $P1477, vivify_476
new $P1477, "Undef"
- vivify_472:
+ vivify_476:
$P1477."symbol"(unicode:"$\x{a2}", "lexical" :named("scope"))
.annotate 'line', 549
get_global $P1478, "@BLOCK"
- unless_null $P1478, vivify_473
+ unless_null $P1478, vivify_477
$P1478 = root_new ['parrot';'ResizablePMCArray']
- vivify_473:
+ vivify_477:
set $P1479, $P1478[0]
- unless_null $P1479, vivify_474
+ unless_null $P1479, vivify_478
new $P1479, "Undef"
- vivify_474:
+ vivify_478:
$P1479."symbol"("$/", "lexical" :named("scope"))
.annotate 'line', 550
new $P1480, "Exception"
@@ -21019,7 +21728,7 @@
.namespace ["NQP";"Actions"]
-.sub "dotty" :subid("85_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "dotty" :subid("85_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1511
.annotate 'line', 570
new $P1510, 'ExceptionHandler'
@@ -21032,13 +21741,13 @@
new $P1512, "Undef"
.lex "$past", $P1512
find_lex $P1515, "$/"
- unless_null $P1515, vivify_475
+ unless_null $P1515, vivify_479
$P1515 = root_new ['parrot';'Hash']
- vivify_475:
+ vivify_479:
set $P1516, $P1515["args"]
- unless_null $P1516, vivify_476
+ unless_null $P1516, vivify_480
new $P1516, "Undef"
- vivify_476:
+ vivify_480:
if $P1516, if_1514
get_hll_global $P1521, ["PAST"], "Op"
find_lex $P1522, "$/"
@@ -21047,17 +21756,17 @@
goto if_1514_end
if_1514:
find_lex $P1517, "$/"
- unless_null $P1517, vivify_477
+ unless_null $P1517, vivify_481
$P1517 = root_new ['parrot';'Hash']
- vivify_477:
+ vivify_481:
set $P1518, $P1517["args"]
- unless_null $P1518, vivify_478
+ unless_null $P1518, vivify_482
$P1518 = root_new ['parrot';'ResizablePMCArray']
- vivify_478:
+ vivify_482:
set $P1519, $P1518[0]
- unless_null $P1519, vivify_479
+ unless_null $P1519, vivify_483
new $P1519, "Undef"
- vivify_479:
+ vivify_483:
$P1520 = $P1519."ast"()
set $P1513, $P1520
if_1514_end:
@@ -21065,35 +21774,35 @@
.annotate 'line', 572
find_lex $P1524, "$past"
find_lex $P1527, "$/"
- unless_null $P1527, vivify_480
+ unless_null $P1527, vivify_484
$P1527 = root_new ['parrot';'Hash']
- vivify_480:
+ vivify_484:
set $P1528, $P1527["quote"]
- unless_null $P1528, vivify_481
+ unless_null $P1528, vivify_485
new $P1528, "Undef"
- vivify_481:
+ vivify_485:
if $P1528, if_1526
find_lex $P1532, "$/"
- unless_null $P1532, vivify_482
+ unless_null $P1532, vivify_486
$P1532 = root_new ['parrot';'Hash']
- vivify_482:
+ vivify_486:
set $P1533, $P1532["longname"]
- unless_null $P1533, vivify_483
+ unless_null $P1533, vivify_487
new $P1533, "Undef"
- vivify_483:
+ vivify_487:
set $S1534, $P1533
new $P1525, 'String'
set $P1525, $S1534
goto if_1526_end
if_1526:
find_lex $P1529, "$/"
- unless_null $P1529, vivify_484
+ unless_null $P1529, vivify_488
$P1529 = root_new ['parrot';'Hash']
- vivify_484:
+ vivify_488:
set $P1530, $P1529["quote"]
- unless_null $P1530, vivify_485
+ unless_null $P1530, vivify_489
new $P1530, "Undef"
- vivify_485:
+ vivify_489:
$P1531 = $P1530."ast"()
set $P1525, $P1531
if_1526_end:
@@ -21116,7 +21825,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<self>" :subid("86_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "term:sym<self>" :subid("86_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1543
.annotate 'line', 579
new $P1542, 'ExceptionHandler'
@@ -21141,7 +21850,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<identifier>" :subid("87_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "term:sym<identifier>" :subid("87_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1552
.annotate 'line', 583
new $P1551, 'ExceptionHandler'
@@ -21154,25 +21863,25 @@
new $P1553, "Undef"
.lex "$past", $P1553
find_lex $P1554, "$/"
- unless_null $P1554, vivify_486
+ unless_null $P1554, vivify_490
$P1554 = root_new ['parrot';'Hash']
- vivify_486:
+ vivify_490:
set $P1555, $P1554["args"]
- unless_null $P1555, vivify_487
+ unless_null $P1555, vivify_491
new $P1555, "Undef"
- vivify_487:
+ vivify_491:
$P1556 = $P1555."ast"()
store_lex "$past", $P1556
.annotate 'line', 585
find_lex $P1557, "$past"
find_lex $P1558, "$/"
- unless_null $P1558, vivify_488
+ unless_null $P1558, vivify_492
$P1558 = root_new ['parrot';'Hash']
- vivify_488:
+ vivify_492:
set $P1559, $P1558["identifier"]
- unless_null $P1559, vivify_489
+ unless_null $P1559, vivify_493
new $P1559, "Undef"
- vivify_489:
+ vivify_493:
set $S1560, $P1559
$P1557."name"($S1560)
.annotate 'line', 586
@@ -21190,7 +21899,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<name>" :subid("88_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "term:sym<name>" :subid("88_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1568
.annotate 'line', 589
new $P1567, 'ExceptionHandler'
@@ -21213,17 +21922,17 @@
.lex "$past", $P1572
.annotate 'line', 590
find_lex $P1573, "$/"
- unless_null $P1573, vivify_490
+ unless_null $P1573, vivify_494
$P1573 = root_new ['parrot';'Hash']
- vivify_490:
+ vivify_494:
set $P1574, $P1573["name"]
- unless_null $P1574, vivify_491
+ unless_null $P1574, vivify_495
$P1574 = root_new ['parrot';'Hash']
- vivify_491:
+ vivify_495:
set $P1575, $P1574["identifier"]
- unless_null $P1575, vivify_492
+ unless_null $P1575, vivify_496
new $P1575, "Undef"
- vivify_492:
+ vivify_496:
clone $P1576, $P1575
store_lex "@ns", $P1576
.annotate 'line', 591
@@ -21237,13 +21946,13 @@
goto if_1581_end
if_1581:
find_lex $P1583, "@ns"
- unless_null $P1583, vivify_493
+ unless_null $P1583, vivify_497
$P1583 = root_new ['parrot';'ResizablePMCArray']
- vivify_493:
+ vivify_497:
set $P1584, $P1583[0]
- unless_null $P1584, vivify_494
+ unless_null $P1584, vivify_498
new $P1584, "Undef"
- vivify_494:
+ vivify_498:
set $S1585, $P1584
iseq $I1586, $S1585, "GLOBAL"
new $P1580, 'Integer'
@@ -21265,27 +21974,27 @@
store_lex "$past", $P1593
.annotate 'line', 596
find_lex $P1595, "$/"
- unless_null $P1595, vivify_495
+ unless_null $P1595, vivify_499
$P1595 = root_new ['parrot';'Hash']
- vivify_495:
+ vivify_499:
set $P1596, $P1595["args"]
- unless_null $P1596, vivify_496
+ unless_null $P1596, vivify_500
new $P1596, "Undef"
- vivify_496:
+ vivify_500:
unless $P1596, if_1594_end
.annotate 'line', 597
find_lex $P1597, "$/"
- unless_null $P1597, vivify_497
+ unless_null $P1597, vivify_501
$P1597 = root_new ['parrot';'Hash']
- vivify_497:
+ vivify_501:
set $P1598, $P1597["args"]
- unless_null $P1598, vivify_498
+ unless_null $P1598, vivify_502
$P1598 = root_new ['parrot';'ResizablePMCArray']
- vivify_498:
+ vivify_502:
set $P1599, $P1598[0]
- unless_null $P1599, vivify_499
+ unless_null $P1599, vivify_503
new $P1599, "Undef"
- vivify_499:
+ vivify_503:
$P1600 = $P1599."ast"()
store_lex "$past", $P1600
.annotate 'line', 598
@@ -21308,7 +22017,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<pir::op>" :subid("89_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "term:sym<pir::op>" :subid("89_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1610
.annotate 'line', 603
new $P1609, 'ExceptionHandler'
@@ -21325,13 +22034,13 @@
.lex "$pirop", $P1612
.annotate 'line', 604
find_lex $P1615, "$/"
- unless_null $P1615, vivify_500
+ unless_null $P1615, vivify_504
$P1615 = root_new ['parrot';'Hash']
- vivify_500:
+ vivify_504:
set $P1616, $P1615["args"]
- unless_null $P1616, vivify_501
+ unless_null $P1616, vivify_505
new $P1616, "Undef"
- vivify_501:
+ vivify_505:
if $P1616, if_1614
get_hll_global $P1621, ["PAST"], "Op"
find_lex $P1622, "$/"
@@ -21340,30 +22049,30 @@
goto if_1614_end
if_1614:
find_lex $P1617, "$/"
- unless_null $P1617, vivify_502
+ unless_null $P1617, vivify_506
$P1617 = root_new ['parrot';'Hash']
- vivify_502:
+ vivify_506:
set $P1618, $P1617["args"]
- unless_null $P1618, vivify_503
+ unless_null $P1618, vivify_507
$P1618 = root_new ['parrot';'ResizablePMCArray']
- vivify_503:
+ vivify_507:
set $P1619, $P1618[0]
- unless_null $P1619, vivify_504
+ unless_null $P1619, vivify_508
new $P1619, "Undef"
- vivify_504:
+ vivify_508:
$P1620 = $P1619."ast"()
set $P1613, $P1620
if_1614_end:
store_lex "$past", $P1613
.annotate 'line', 605
find_lex $P1624, "$/"
- unless_null $P1624, vivify_505
+ unless_null $P1624, vivify_509
$P1624 = root_new ['parrot';'Hash']
- vivify_505:
+ vivify_509:
set $P1625, $P1624["op"]
- unless_null $P1625, vivify_506
+ unless_null $P1625, vivify_510
new $P1625, "Undef"
- vivify_506:
+ vivify_510:
set $S1626, $P1625
new $P1627, 'String'
set $P1627, $S1626
@@ -21399,7 +22108,7 @@
.namespace ["NQP";"Actions"]
-.sub "args" :subid("90_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "args" :subid("90_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1639
.annotate 'line', 618
new $P1638, 'ExceptionHandler'
@@ -21410,13 +22119,13 @@
.lex "$/", param_1639
find_lex $P1640, "$/"
find_lex $P1641, "$/"
- unless_null $P1641, vivify_507
+ unless_null $P1641, vivify_511
$P1641 = root_new ['parrot';'Hash']
- vivify_507:
+ vivify_511:
set $P1642, $P1641["arglist"]
- unless_null $P1642, vivify_508
+ unless_null $P1642, vivify_512
new $P1642, "Undef"
- vivify_508:
+ vivify_512:
$P1643 = $P1642."ast"()
$P1644 = $P1640."!make"($P1643)
.return ($P1644)
@@ -21429,10 +22138,10 @@
.namespace ["NQP";"Actions"]
-.sub "arglist" :subid("91_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "arglist" :subid("91_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1649
.annotate 'line', 620
- .const 'Sub' $P1660 = "92_1274022903.56472"
+ .const 'Sub' $P1660 = "92_1274564782.90592"
capture_lex $P1660
new $P1648, 'ExceptionHandler'
set_addr $P1648, control_1647
@@ -21456,15 +22165,15 @@
store_lex "$past", $P1655
.annotate 'line', 622
find_lex $P1657, "$/"
- unless_null $P1657, vivify_509
+ unless_null $P1657, vivify_513
$P1657 = root_new ['parrot';'Hash']
- vivify_509:
+ vivify_513:
set $P1658, $P1657["EXPR"]
- unless_null $P1658, vivify_510
+ unless_null $P1658, vivify_514
new $P1658, "Undef"
- vivify_510:
+ vivify_514:
unless $P1658, if_1656_end
- .const 'Sub' $P1660 = "92_1274022903.56472"
+ .const 'Sub' $P1660 = "92_1274564782.90592"
capture_lex $P1660
$P1660()
if_1656_end:
@@ -21496,13 +22205,13 @@
find_lex $P1703, "$i"
set $I1704, $P1703
find_lex $P1705, "$past"
- unless_null $P1705, vivify_514
+ unless_null $P1705, vivify_518
$P1705 = root_new ['parrot';'ResizablePMCArray']
- vivify_514:
+ vivify_518:
set $P1706, $P1705[$I1704]
- unless_null $P1706, vivify_515
+ unless_null $P1706, vivify_519
new $P1706, "Undef"
- vivify_515:
+ vivify_519:
$S1707 = $P1706."name"()
iseq $I1708, $S1707, "&prefix:<|>"
unless $I1708, if_1702_end
@@ -21510,48 +22219,48 @@
find_lex $P1709, "$i"
set $I1710, $P1709
find_lex $P1711, "$past"
- unless_null $P1711, vivify_516
+ unless_null $P1711, vivify_520
$P1711 = root_new ['parrot';'ResizablePMCArray']
- vivify_516:
+ vivify_520:
set $P1712, $P1711[$I1710]
- unless_null $P1712, vivify_517
+ unless_null $P1712, vivify_521
$P1712 = root_new ['parrot';'ResizablePMCArray']
- vivify_517:
+ vivify_521:
set $P1713, $P1712[0]
- unless_null $P1713, vivify_518
+ unless_null $P1713, vivify_522
new $P1713, "Undef"
- vivify_518:
+ vivify_522:
find_lex $P1714, "$i"
set $I1715, $P1714
find_lex $P1716, "$past"
- unless_null $P1716, vivify_519
+ unless_null $P1716, vivify_523
$P1716 = root_new ['parrot';'ResizablePMCArray']
store_lex "$past", $P1716
- vivify_519:
+ vivify_523:
set $P1716[$I1715], $P1713
.annotate 'line', 634
find_lex $P1717, "$i"
set $I1718, $P1717
find_lex $P1719, "$past"
- unless_null $P1719, vivify_520
+ unless_null $P1719, vivify_524
$P1719 = root_new ['parrot';'ResizablePMCArray']
- vivify_520:
+ vivify_524:
set $P1720, $P1719[$I1718]
- unless_null $P1720, vivify_521
+ unless_null $P1720, vivify_525
new $P1720, "Undef"
- vivify_521:
+ vivify_525:
$P1720."flat"(1)
.annotate 'line', 635
find_lex $P1724, "$i"
set $I1725, $P1724
find_lex $P1726, "$past"
- unless_null $P1726, vivify_522
+ unless_null $P1726, vivify_526
$P1726 = root_new ['parrot';'ResizablePMCArray']
- vivify_522:
+ vivify_526:
set $P1727, $P1726[$I1725]
- unless_null $P1727, vivify_523
+ unless_null $P1727, vivify_527
new $P1727, "Undef"
- vivify_523:
+ vivify_527:
get_hll_global $P1728, ["PAST"], "Val"
$P1729 = $P1727."isa"($P1728)
if $P1729, if_1723
@@ -21562,13 +22271,13 @@
find_lex $P1730, "$i"
set $I1731, $P1730
find_lex $P1732, "$past"
- unless_null $P1732, vivify_524
+ unless_null $P1732, vivify_528
$P1732 = root_new ['parrot';'ResizablePMCArray']
- vivify_524:
+ vivify_528:
set $P1733, $P1732[$I1731]
- unless_null $P1733, vivify_525
+ unless_null $P1733, vivify_529
new $P1733, "Undef"
- vivify_525:
+ vivify_529:
$S1734 = $P1733."name"()
substr $S1735, $S1734, 0, 1
iseq $I1736, $S1735, "%"
@@ -21580,13 +22289,13 @@
find_lex $P1737, "$i"
set $I1738, $P1737
find_lex $P1739, "$past"
- unless_null $P1739, vivify_526
+ unless_null $P1739, vivify_530
$P1739 = root_new ['parrot';'ResizablePMCArray']
- vivify_526:
+ vivify_530:
set $P1740, $P1739[$I1738]
- unless_null $P1740, vivify_527
+ unless_null $P1740, vivify_531
new $P1740, "Undef"
- vivify_527:
+ vivify_531:
$P1740."named"(1)
if_1721_end:
if_1702_end:
@@ -21620,21 +22329,21 @@
.namespace ["NQP";"Actions"]
-.sub "_block1659" :anon :subid("92_1274022903.56472") :outer("91_1274022903.56472")
+.sub "_block1659" :anon :subid("92_1274564782.90592") :outer("91_1274564782.90592")
.annotate 'line', 622
- .const 'Sub' $P1681 = "93_1274022903.56472"
+ .const 'Sub' $P1681 = "93_1274564782.90592"
capture_lex $P1681
.annotate 'line', 623
new $P1661, "Undef"
.lex "$expr", $P1661
find_lex $P1662, "$/"
- unless_null $P1662, vivify_511
+ unless_null $P1662, vivify_515
$P1662 = root_new ['parrot';'Hash']
- vivify_511:
+ vivify_515:
set $P1663, $P1662["EXPR"]
- unless_null $P1663, vivify_512
+ unless_null $P1663, vivify_516
new $P1663, "Undef"
- vivify_512:
+ vivify_516:
$P1664 = $P1663."ast"()
store_lex "$expr", $P1664
.annotate 'line', 624
@@ -21665,7 +22374,7 @@
find_lex $P1676, "$expr"
$P1677 = $P1676."list"()
defined $I1678, $P1677
- unless $I1678, for_undef_513
+ unless $I1678, for_undef_517
iter $P1675, $P1677
new $P1687, 'ExceptionHandler'
set_addr $P1687, loop1686_handler
@@ -21675,7 +22384,7 @@
unless $P1675, loop1686_done
shift $P1679, $P1675
loop1686_redo:
- .const 'Sub' $P1681 = "93_1274022903.56472"
+ .const 'Sub' $P1681 = "93_1274564782.90592"
capture_lex $P1681
$P1681($P1679)
loop1686_next:
@@ -21688,7 +22397,7 @@
eq $P1688, 66, loop1686_redo
loop1686_done:
pop_eh
- for_undef_513:
+ for_undef_517:
.annotate 'line', 624
set $P1665, $P1675
if_1666_end:
@@ -21698,7 +22407,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block1680" :anon :subid("93_1274022903.56472") :outer("92_1274022903.56472")
+.sub "_block1680" :anon :subid("93_1274564782.90592") :outer("92_1274564782.90592")
.param pmc param_1682
.annotate 'line', 625
.lex "$_", param_1682
@@ -21710,7 +22419,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<value>" :subid("94_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "term:sym<value>" :subid("94_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1753
.annotate 'line', 646
new $P1752, 'ExceptionHandler'
@@ -21721,13 +22430,13 @@
.lex "$/", param_1753
find_lex $P1754, "$/"
find_lex $P1755, "$/"
- unless_null $P1755, vivify_528
+ unless_null $P1755, vivify_532
$P1755 = root_new ['parrot';'Hash']
- vivify_528:
+ vivify_532:
set $P1756, $P1755["value"]
- unless_null $P1756, vivify_529
+ unless_null $P1756, vivify_533
new $P1756, "Undef"
- vivify_529:
+ vivify_533:
$P1757 = $P1756."ast"()
$P1758 = $P1754."!make"($P1757)
.return ($P1758)
@@ -21740,7 +22449,7 @@
.namespace ["NQP";"Actions"]
-.sub "circumfix:sym<( )>" :subid("95_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "circumfix:sym<( )>" :subid("95_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1763
.annotate 'line', 648
new $P1762, 'ExceptionHandler'
@@ -21753,13 +22462,13 @@
find_lex $P1764, "$/"
.annotate 'line', 650
find_lex $P1767, "$/"
- unless_null $P1767, vivify_530
+ unless_null $P1767, vivify_534
$P1767 = root_new ['parrot';'Hash']
- vivify_530:
+ vivify_534:
set $P1768, $P1767["EXPR"]
- unless_null $P1768, vivify_531
+ unless_null $P1768, vivify_535
new $P1768, "Undef"
- vivify_531:
+ vivify_535:
if $P1768, if_1766
.annotate 'line', 651
get_hll_global $P1773, ["PAST"], "Op"
@@ -21770,17 +22479,17 @@
goto if_1766_end
if_1766:
find_lex $P1769, "$/"
- unless_null $P1769, vivify_532
+ unless_null $P1769, vivify_536
$P1769 = root_new ['parrot';'Hash']
- vivify_532:
+ vivify_536:
set $P1770, $P1769["EXPR"]
- unless_null $P1770, vivify_533
+ unless_null $P1770, vivify_537
$P1770 = root_new ['parrot';'ResizablePMCArray']
- vivify_533:
+ vivify_537:
set $P1771, $P1770[0]
- unless_null $P1771, vivify_534
+ unless_null $P1771, vivify_538
new $P1771, "Undef"
- vivify_534:
+ vivify_538:
$P1772 = $P1771."ast"()
set $P1765, $P1772
if_1766_end:
@@ -21796,7 +22505,7 @@
.namespace ["NQP";"Actions"]
-.sub "circumfix:sym<[ ]>" :subid("96_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "circumfix:sym<[ ]>" :subid("96_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1781
.annotate 'line', 654
new $P1780, 'ExceptionHandler'
@@ -21812,13 +22521,13 @@
find_lex $P1783, "$past"
.annotate 'line', 656
find_lex $P1785, "$/"
- unless_null $P1785, vivify_535
+ unless_null $P1785, vivify_539
$P1785 = root_new ['parrot';'Hash']
- vivify_535:
+ vivify_539:
set $P1786, $P1785["EXPR"]
- unless_null $P1786, vivify_536
+ unless_null $P1786, vivify_540
new $P1786, "Undef"
- vivify_536:
+ vivify_540:
if $P1786, if_1784
.annotate 'line', 663
get_hll_global $P1798, ["PAST"], "Op"
@@ -21829,17 +22538,17 @@
if_1784:
.annotate 'line', 657
find_lex $P1787, "$/"
- unless_null $P1787, vivify_537
+ unless_null $P1787, vivify_541
$P1787 = root_new ['parrot';'Hash']
- vivify_537:
+ vivify_541:
set $P1788, $P1787["EXPR"]
- unless_null $P1788, vivify_538
+ unless_null $P1788, vivify_542
$P1788 = root_new ['parrot';'ResizablePMCArray']
- vivify_538:
+ vivify_542:
set $P1789, $P1788[0]
- unless_null $P1789, vivify_539
+ unless_null $P1789, vivify_543
new $P1789, "Undef"
- vivify_539:
+ vivify_543:
$P1790 = $P1789."ast"()
store_lex "$past", $P1790
.annotate 'line', 658
@@ -21872,7 +22581,7 @@
.namespace ["NQP";"Actions"]
-.sub "circumfix:sym<ang>" :subid("97_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "circumfix:sym<ang>" :subid("97_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1808
.annotate 'line', 669
new $P1807, 'ExceptionHandler'
@@ -21883,13 +22592,13 @@
.lex "$/", param_1808
find_lex $P1809, "$/"
find_lex $P1810, "$/"
- unless_null $P1810, vivify_540
+ unless_null $P1810, vivify_544
$P1810 = root_new ['parrot';'Hash']
- vivify_540:
+ vivify_544:
set $P1811, $P1810["quote_EXPR"]
- unless_null $P1811, vivify_541
+ unless_null $P1811, vivify_545
new $P1811, "Undef"
- vivify_541:
+ vivify_545:
$P1812 = $P1811."ast"()
$P1813 = $P1809."!make"($P1812)
.return ($P1813)
@@ -21902,7 +22611,7 @@
.namespace ["NQP";"Actions"]
-.sub unicode:"circumfix:sym<\x{ab} \x{bb}>" :subid("98_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub unicode:"circumfix:sym<\x{ab} \x{bb}>" :subid("98_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1818
.annotate 'line', 670
new $P1817, 'ExceptionHandler'
@@ -21913,13 +22622,13 @@
.lex "$/", param_1818
find_lex $P1819, "$/"
find_lex $P1820, "$/"
- unless_null $P1820, vivify_542
+ unless_null $P1820, vivify_546
$P1820 = root_new ['parrot';'Hash']
- vivify_542:
+ vivify_546:
set $P1821, $P1820["quote_EXPR"]
- unless_null $P1821, vivify_543
+ unless_null $P1821, vivify_547
new $P1821, "Undef"
- vivify_543:
+ vivify_547:
$P1822 = $P1821."ast"()
$P1823 = $P1819."!make"($P1822)
.return ($P1823)
@@ -21932,7 +22641,7 @@
.namespace ["NQP";"Actions"]
-.sub "circumfix:sym<{ }>" :subid("99_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "circumfix:sym<{ }>" :subid("99_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1828
.annotate 'line', 672
new $P1827, 'ExceptionHandler'
@@ -21945,25 +22654,25 @@
new $P1829, "Undef"
.lex "$past", $P1829
find_lex $P1832, "$/"
- unless_null $P1832, vivify_544
+ unless_null $P1832, vivify_548
$P1832 = root_new ['parrot';'Hash']
- vivify_544:
+ vivify_548:
set $P1833, $P1832["pblock"]
- unless_null $P1833, vivify_545
+ unless_null $P1833, vivify_549
$P1833 = root_new ['parrot';'Hash']
- vivify_545:
+ vivify_549:
set $P1834, $P1833["blockoid"]
- unless_null $P1834, vivify_546
+ unless_null $P1834, vivify_550
$P1834 = root_new ['parrot';'Hash']
- vivify_546:
+ vivify_550:
set $P1835, $P1834["statementlist"]
- unless_null $P1835, vivify_547
+ unless_null $P1835, vivify_551
$P1835 = root_new ['parrot';'Hash']
- vivify_547:
+ vivify_551:
set $P1836, $P1835["statement"]
- unless_null $P1836, vivify_548
+ unless_null $P1836, vivify_552
new $P1836, "Undef"
- vivify_548:
+ vivify_552:
set $N1837, $P1836
isgt $I1838, $N1837, 0.0
if $I1838, if_1831
@@ -21975,13 +22684,13 @@
if_1831:
.annotate 'line', 674
find_lex $P1839, "$/"
- unless_null $P1839, vivify_549
+ unless_null $P1839, vivify_553
$P1839 = root_new ['parrot';'Hash']
- vivify_549:
+ vivify_553:
set $P1840, $P1839["pblock"]
- unless_null $P1840, vivify_550
+ unless_null $P1840, vivify_554
new $P1840, "Undef"
- vivify_550:
+ vivify_554:
$P1841 = $P1840."ast"()
set $P1830, $P1841
if_1831_end:
@@ -21990,10 +22699,10 @@
new $P1843, "Integer"
assign $P1843, 1
find_lex $P1844, "$past"
- unless_null $P1844, vivify_551
+ unless_null $P1844, vivify_555
$P1844 = root_new ['parrot';'Hash']
store_lex "$past", $P1844
- vivify_551:
+ vivify_555:
set $P1844["bareblock"], $P1843
.annotate 'line', 677
find_lex $P1845, "$/"
@@ -22010,7 +22719,7 @@
.namespace ["NQP";"Actions"]
-.sub "circumfix:sym<sigil>" :subid("100_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "circumfix:sym<sigil>" :subid("100_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1852
.annotate 'line', 680
new $P1851, 'ExceptionHandler'
@@ -22023,25 +22732,25 @@
new $P1853, "Undef"
.lex "$name", $P1853
find_lex $P1856, "$/"
- unless_null $P1856, vivify_552
+ unless_null $P1856, vivify_556
$P1856 = root_new ['parrot';'Hash']
- vivify_552:
+ vivify_556:
set $P1857, $P1856["sigil"]
- unless_null $P1857, vivify_553
+ unless_null $P1857, vivify_557
new $P1857, "Undef"
- vivify_553:
+ vivify_557:
set $S1858, $P1857
iseq $I1859, $S1858, "@"
if $I1859, if_1855
.annotate 'line', 682
find_lex $P1863, "$/"
- unless_null $P1863, vivify_554
+ unless_null $P1863, vivify_558
$P1863 = root_new ['parrot';'Hash']
- vivify_554:
+ vivify_558:
set $P1864, $P1863["sigil"]
- unless_null $P1864, vivify_555
+ unless_null $P1864, vivify_559
new $P1864, "Undef"
- vivify_555:
+ vivify_559:
set $S1865, $P1864
iseq $I1866, $S1865, "%"
if $I1866, if_1862
@@ -22068,13 +22777,13 @@
get_hll_global $P1870, ["PAST"], "Op"
find_lex $P1871, "$name"
find_lex $P1872, "$/"
- unless_null $P1872, vivify_556
+ unless_null $P1872, vivify_560
$P1872 = root_new ['parrot';'Hash']
- vivify_556:
+ vivify_560:
set $P1873, $P1872["semilist"]
- unless_null $P1873, vivify_557
+ unless_null $P1873, vivify_561
new $P1873, "Undef"
- vivify_557:
+ vivify_561:
$P1874 = $P1873."ast"()
$P1875 = $P1870."new"($P1874, "callmethod" :named("pasttype"), $P1871 :named("name"))
$P1876 = $P1869."!make"($P1875)
@@ -22089,7 +22798,7 @@
.namespace ["NQP";"Actions"]
-.sub "semilist" :subid("101_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "semilist" :subid("101_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1881
.annotate 'line', 687
new $P1880, 'ExceptionHandler'
@@ -22100,13 +22809,13 @@
.lex "$/", param_1881
find_lex $P1882, "$/"
find_lex $P1883, "$/"
- unless_null $P1883, vivify_558
+ unless_null $P1883, vivify_562
$P1883 = root_new ['parrot';'Hash']
- vivify_558:
+ vivify_562:
set $P1884, $P1883["statement"]
- unless_null $P1884, vivify_559
+ unless_null $P1884, vivify_563
new $P1884, "Undef"
- vivify_559:
+ vivify_563:
$P1885 = $P1884."ast"()
$P1886 = $P1882."!make"($P1885)
.return ($P1886)
@@ -22119,7 +22828,7 @@
.namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<[ ]>" :subid("102_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "postcircumfix:sym<[ ]>" :subid("102_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1891
.annotate 'line', 689
new $P1890, 'ExceptionHandler'
@@ -22132,13 +22841,13 @@
find_lex $P1892, "$/"
get_hll_global $P1893, ["PAST"], "Var"
find_lex $P1894, "$/"
- unless_null $P1894, vivify_560
+ unless_null $P1894, vivify_564
$P1894 = root_new ['parrot';'Hash']
- vivify_560:
+ vivify_564:
set $P1895, $P1894["EXPR"]
- unless_null $P1895, vivify_561
+ unless_null $P1895, vivify_565
new $P1895, "Undef"
- vivify_561:
+ vivify_565:
$P1896 = $P1895."ast"()
.annotate 'line', 692
$P1897 = "vivitype"("@")
@@ -22156,7 +22865,7 @@
.namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<{ }>" :subid("103_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "postcircumfix:sym<{ }>" :subid("103_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1904
.annotate 'line', 695
new $P1903, 'ExceptionHandler'
@@ -22169,13 +22878,13 @@
find_lex $P1905, "$/"
get_hll_global $P1906, ["PAST"], "Var"
find_lex $P1907, "$/"
- unless_null $P1907, vivify_562
+ unless_null $P1907, vivify_566
$P1907 = root_new ['parrot';'Hash']
- vivify_562:
+ vivify_566:
set $P1908, $P1907["EXPR"]
- unless_null $P1908, vivify_563
+ unless_null $P1908, vivify_567
new $P1908, "Undef"
- vivify_563:
+ vivify_567:
$P1909 = $P1908."ast"()
.annotate 'line', 698
$P1910 = "vivitype"("%")
@@ -22193,7 +22902,7 @@
.namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<ang>" :subid("104_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "postcircumfix:sym<ang>" :subid("104_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1917
.annotate 'line', 701
new $P1916, 'ExceptionHandler'
@@ -22206,13 +22915,13 @@
find_lex $P1918, "$/"
get_hll_global $P1919, ["PAST"], "Var"
find_lex $P1920, "$/"
- unless_null $P1920, vivify_564
+ unless_null $P1920, vivify_568
$P1920 = root_new ['parrot';'Hash']
- vivify_564:
+ vivify_568:
set $P1921, $P1920["quote_EXPR"]
- unless_null $P1921, vivify_565
+ unless_null $P1921, vivify_569
new $P1921, "Undef"
- vivify_565:
+ vivify_569:
$P1922 = $P1921."ast"()
.annotate 'line', 704
$P1923 = "vivitype"("%")
@@ -22230,7 +22939,7 @@
.namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<( )>" :subid("105_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "postcircumfix:sym<( )>" :subid("105_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1930
.annotate 'line', 707
new $P1929, 'ExceptionHandler'
@@ -22242,13 +22951,13 @@
.annotate 'line', 708
find_lex $P1931, "$/"
find_lex $P1932, "$/"
- unless_null $P1932, vivify_566
+ unless_null $P1932, vivify_570
$P1932 = root_new ['parrot';'Hash']
- vivify_566:
+ vivify_570:
set $P1933, $P1932["arglist"]
- unless_null $P1933, vivify_567
+ unless_null $P1933, vivify_571
new $P1933, "Undef"
- vivify_567:
+ vivify_571:
$P1934 = $P1933."ast"()
$P1935 = $P1931."!make"($P1934)
.annotate 'line', 707
@@ -22262,7 +22971,7 @@
.namespace ["NQP";"Actions"]
-.sub "value" :subid("106_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "value" :subid("106_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1940
.annotate 'line', 711
new $P1939, 'ExceptionHandler'
@@ -22274,34 +22983,34 @@
.annotate 'line', 712
find_lex $P1941, "$/"
find_lex $P1944, "$/"
- unless_null $P1944, vivify_568
+ unless_null $P1944, vivify_572
$P1944 = root_new ['parrot';'Hash']
- vivify_568:
+ vivify_572:
set $P1945, $P1944["quote"]
- unless_null $P1945, vivify_569
+ unless_null $P1945, vivify_573
new $P1945, "Undef"
- vivify_569:
+ vivify_573:
if $P1945, if_1943
find_lex $P1949, "$/"
- unless_null $P1949, vivify_570
+ unless_null $P1949, vivify_574
$P1949 = root_new ['parrot';'Hash']
- vivify_570:
+ vivify_574:
set $P1950, $P1949["number"]
- unless_null $P1950, vivify_571
+ unless_null $P1950, vivify_575
new $P1950, "Undef"
- vivify_571:
+ vivify_575:
$P1951 = $P1950."ast"()
set $P1942, $P1951
goto if_1943_end
if_1943:
find_lex $P1946, "$/"
- unless_null $P1946, vivify_572
+ unless_null $P1946, vivify_576
$P1946 = root_new ['parrot';'Hash']
- vivify_572:
+ vivify_576:
set $P1947, $P1946["quote"]
- unless_null $P1947, vivify_573
+ unless_null $P1947, vivify_577
new $P1947, "Undef"
- vivify_573:
+ vivify_577:
$P1948 = $P1947."ast"()
set $P1942, $P1948
if_1943_end:
@@ -22317,7 +23026,7 @@
.namespace ["NQP";"Actions"]
-.sub "number" :subid("107_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "number" :subid("107_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1957
.annotate 'line', 715
new $P1956, 'ExceptionHandler'
@@ -22330,47 +23039,47 @@
new $P1958, "Undef"
.lex "$value", $P1958
find_lex $P1961, "$/"
- unless_null $P1961, vivify_574
+ unless_null $P1961, vivify_578
$P1961 = root_new ['parrot';'Hash']
- vivify_574:
+ vivify_578:
set $P1962, $P1961["dec_number"]
- unless_null $P1962, vivify_575
+ unless_null $P1962, vivify_579
new $P1962, "Undef"
- vivify_575:
+ vivify_579:
if $P1962, if_1960
find_lex $P1966, "$/"
- unless_null $P1966, vivify_576
+ unless_null $P1966, vivify_580
$P1966 = root_new ['parrot';'Hash']
- vivify_576:
+ vivify_580:
set $P1967, $P1966["integer"]
- unless_null $P1967, vivify_577
+ unless_null $P1967, vivify_581
new $P1967, "Undef"
- vivify_577:
+ vivify_581:
$P1968 = $P1967."ast"()
set $P1959, $P1968
goto if_1960_end
if_1960:
find_lex $P1963, "$/"
- unless_null $P1963, vivify_578
+ unless_null $P1963, vivify_582
$P1963 = root_new ['parrot';'Hash']
- vivify_578:
+ vivify_582:
set $P1964, $P1963["dec_number"]
- unless_null $P1964, vivify_579
+ unless_null $P1964, vivify_583
new $P1964, "Undef"
- vivify_579:
+ vivify_583:
$P1965 = $P1964."ast"()
set $P1959, $P1965
if_1960_end:
store_lex "$value", $P1959
.annotate 'line', 717
find_lex $P1970, "$/"
- unless_null $P1970, vivify_580
+ unless_null $P1970, vivify_584
$P1970 = root_new ['parrot';'Hash']
- vivify_580:
+ vivify_584:
set $P1971, $P1970["sign"]
- unless_null $P1971, vivify_581
+ unless_null $P1971, vivify_585
new $P1971, "Undef"
- vivify_581:
+ vivify_585:
set $S1972, $P1971
iseq $I1973, $S1972, "-"
unless $I1973, if_1969_end
@@ -22395,7 +23104,7 @@
.namespace ["NQP";"Actions"]
-.sub "quote:sym<apos>" :subid("108_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "quote:sym<apos>" :subid("108_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1985
.annotate 'line', 721
new $P1984, 'ExceptionHandler'
@@ -22406,13 +23115,13 @@
.lex "$/", param_1985
find_lex $P1986, "$/"
find_lex $P1987, "$/"
- unless_null $P1987, vivify_582
+ unless_null $P1987, vivify_586
$P1987 = root_new ['parrot';'Hash']
- vivify_582:
+ vivify_586:
set $P1988, $P1987["quote_EXPR"]
- unless_null $P1988, vivify_583
+ unless_null $P1988, vivify_587
new $P1988, "Undef"
- vivify_583:
+ vivify_587:
$P1989 = $P1988."ast"()
$P1990 = $P1986."!make"($P1989)
.return ($P1990)
@@ -22425,7 +23134,7 @@
.namespace ["NQP";"Actions"]
-.sub "quote:sym<dblq>" :subid("109_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "quote:sym<dblq>" :subid("109_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_1995
.annotate 'line', 722
new $P1994, 'ExceptionHandler'
@@ -22436,13 +23145,13 @@
.lex "$/", param_1995
find_lex $P1996, "$/"
find_lex $P1997, "$/"
- unless_null $P1997, vivify_584
+ unless_null $P1997, vivify_588
$P1997 = root_new ['parrot';'Hash']
- vivify_584:
+ vivify_588:
set $P1998, $P1997["quote_EXPR"]
- unless_null $P1998, vivify_585
+ unless_null $P1998, vivify_589
new $P1998, "Undef"
- vivify_585:
+ vivify_589:
$P1999 = $P1998."ast"()
$P2000 = $P1996."!make"($P1999)
.return ($P2000)
@@ -22455,7 +23164,7 @@
.namespace ["NQP";"Actions"]
-.sub "quote:sym<qq>" :subid("110_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "quote:sym<qq>" :subid("110_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_2005
.annotate 'line', 723
new $P2004, 'ExceptionHandler'
@@ -22466,13 +23175,13 @@
.lex "$/", param_2005
find_lex $P2006, "$/"
find_lex $P2007, "$/"
- unless_null $P2007, vivify_586
+ unless_null $P2007, vivify_590
$P2007 = root_new ['parrot';'Hash']
- vivify_586:
+ vivify_590:
set $P2008, $P2007["quote_EXPR"]
- unless_null $P2008, vivify_587
+ unless_null $P2008, vivify_591
new $P2008, "Undef"
- vivify_587:
+ vivify_591:
$P2009 = $P2008."ast"()
$P2010 = $P2006."!make"($P2009)
.return ($P2010)
@@ -22485,7 +23194,7 @@
.namespace ["NQP";"Actions"]
-.sub "quote:sym<q>" :subid("111_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "quote:sym<q>" :subid("111_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_2015
.annotate 'line', 724
new $P2014, 'ExceptionHandler'
@@ -22496,13 +23205,13 @@
.lex "$/", param_2015
find_lex $P2016, "$/"
find_lex $P2017, "$/"
- unless_null $P2017, vivify_588
+ unless_null $P2017, vivify_592
$P2017 = root_new ['parrot';'Hash']
- vivify_588:
+ vivify_592:
set $P2018, $P2017["quote_EXPR"]
- unless_null $P2018, vivify_589
+ unless_null $P2018, vivify_593
new $P2018, "Undef"
- vivify_589:
+ vivify_593:
$P2019 = $P2018."ast"()
$P2020 = $P2016."!make"($P2019)
.return ($P2020)
@@ -22515,7 +23224,7 @@
.namespace ["NQP";"Actions"]
-.sub "quote:sym<Q>" :subid("112_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "quote:sym<Q>" :subid("112_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_2025
.annotate 'line', 725
new $P2024, 'ExceptionHandler'
@@ -22526,13 +23235,13 @@
.lex "$/", param_2025
find_lex $P2026, "$/"
find_lex $P2027, "$/"
- unless_null $P2027, vivify_590
+ unless_null $P2027, vivify_594
$P2027 = root_new ['parrot';'Hash']
- vivify_590:
+ vivify_594:
set $P2028, $P2027["quote_EXPR"]
- unless_null $P2028, vivify_591
+ unless_null $P2028, vivify_595
new $P2028, "Undef"
- vivify_591:
+ vivify_595:
$P2029 = $P2028."ast"()
$P2030 = $P2026."!make"($P2029)
.return ($P2030)
@@ -22545,7 +23254,7 @@
.namespace ["NQP";"Actions"]
-.sub "quote:sym<Q:PIR>" :subid("113_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "quote:sym<Q:PIR>" :subid("113_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_2035
.annotate 'line', 726
new $P2034, 'ExceptionHandler'
@@ -22558,13 +23267,13 @@
find_lex $P2036, "$/"
get_hll_global $P2037, ["PAST"], "Op"
find_lex $P2038, "$/"
- unless_null $P2038, vivify_592
+ unless_null $P2038, vivify_596
$P2038 = root_new ['parrot';'Hash']
- vivify_592:
+ vivify_596:
set $P2039, $P2038["quote_EXPR"]
- unless_null $P2039, vivify_593
+ unless_null $P2039, vivify_597
new $P2039, "Undef"
- vivify_593:
+ vivify_597:
$P2040 = $P2039."ast"()
$P2041 = $P2040."value"()
find_lex $P2042, "$/"
@@ -22581,7 +23290,7 @@
.namespace ["NQP";"Actions"]
-.sub "quote:sym</ />" :subid("114_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "quote:sym</ />" :subid("114_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_2049
.param pmc param_2050 :optional
.param int has_param_2050 :opt_flag
@@ -22592,10 +23301,10 @@
push_eh $P2048
.lex "self", self
.lex "$/", param_2049
- if has_param_2050, optparam_594
+ if has_param_2050, optparam_598
new $P2051, "Undef"
set param_2050, $P2051
- optparam_594:
+ optparam_598:
.lex "$key", param_2050
.annotate 'line', 742
new $P2052, "Undef"
@@ -22615,23 +23324,23 @@
.annotate 'line', 738
get_global $P2058, "@BLOCK"
- unless_null $P2058, vivify_595
+ unless_null $P2058, vivify_599
$P2058 = root_new ['parrot';'ResizablePMCArray']
- vivify_595:
+ vivify_599:
set $P2059, $P2058[0]
- unless_null $P2059, vivify_596
+ unless_null $P2059, vivify_600
new $P2059, "Undef"
- vivify_596:
+ vivify_600:
$P2059."symbol"(unicode:"$\x{a2}", "lexical" :named("scope"))
.annotate 'line', 739
get_global $P2060, "@BLOCK"
- unless_null $P2060, vivify_597
+ unless_null $P2060, vivify_601
$P2060 = root_new ['parrot';'ResizablePMCArray']
- vivify_597:
+ vivify_601:
set $P2061, $P2060[0]
- unless_null $P2061, vivify_598
+ unless_null $P2061, vivify_602
new $P2061, "Undef"
- vivify_598:
+ vivify_602:
$P2061."symbol"("$/", "lexical" :named("scope"))
.annotate 'line', 740
new $P2062, "Exception"
@@ -22644,13 +23353,13 @@
.annotate 'line', 743
get_hll_global $P2064, ["Regex";"P6Regex";"Actions"], "buildsub"
find_lex $P2065, "$/"
- unless_null $P2065, vivify_599
+ unless_null $P2065, vivify_603
$P2065 = root_new ['parrot';'Hash']
- vivify_599:
+ vivify_603:
set $P2066, $P2065["p6regex"]
- unless_null $P2066, vivify_600
+ unless_null $P2066, vivify_604
new $P2066, "Undef"
- vivify_600:
+ vivify_604:
$P2067 = $P2066."ast"()
get_global $P2068, "@BLOCK"
$P2069 = $P2068."shift"()
@@ -22670,10 +23379,10 @@
.annotate 'line', 751
find_lex $P2077, "$regex"
find_lex $P2078, "$past"
- unless_null $P2078, vivify_601
+ unless_null $P2078, vivify_605
$P2078 = root_new ['parrot';'Hash']
store_lex "$past", $P2078
- vivify_601:
+ vivify_605:
set $P2078["sink"], $P2077
.annotate 'line', 752
find_lex $P2079, "$/"
@@ -22690,7 +23399,7 @@
.namespace ["NQP";"Actions"]
-.sub "quote_escape:sym<$>" :subid("115_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "quote_escape:sym<$>" :subid("115_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_2086
.annotate 'line', 755
new $P2085, 'ExceptionHandler'
@@ -22701,13 +23410,13 @@
.lex "$/", param_2086
find_lex $P2087, "$/"
find_lex $P2088, "$/"
- unless_null $P2088, vivify_602
+ unless_null $P2088, vivify_606
$P2088 = root_new ['parrot';'Hash']
- vivify_602:
+ vivify_606:
set $P2089, $P2088["variable"]
- unless_null $P2089, vivify_603
+ unless_null $P2089, vivify_607
new $P2089, "Undef"
- vivify_603:
+ vivify_607:
$P2090 = $P2089."ast"()
$P2091 = $P2087."!make"($P2090)
.return ($P2091)
@@ -22720,7 +23429,7 @@
.namespace ["NQP";"Actions"]
-.sub "quote_escape:sym<{ }>" :subid("116_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "quote_escape:sym<{ }>" :subid("116_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_2096
.annotate 'line', 756
new $P2095, 'ExceptionHandler'
@@ -22734,13 +23443,13 @@
get_hll_global $P2098, ["PAST"], "Op"
.annotate 'line', 758
find_lex $P2099, "$/"
- unless_null $P2099, vivify_604
+ unless_null $P2099, vivify_608
$P2099 = root_new ['parrot';'Hash']
- vivify_604:
+ vivify_608:
set $P2100, $P2099["block"]
- unless_null $P2100, vivify_605
+ unless_null $P2100, vivify_609
new $P2100, "Undef"
- vivify_605:
+ vivify_609:
$P2101 = $P2100."ast"()
$P2102 = "block_immediate"($P2101)
find_lex $P2103, "$/"
@@ -22758,7 +23467,7 @@
.namespace ["NQP";"Actions"]
-.sub "quote_escape:sym<esc>" :subid("117_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "quote_escape:sym<esc>" :subid("117_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_2110
.annotate 'line', 761
new $P2109, 'ExceptionHandler'
@@ -22779,7 +23488,7 @@
.namespace ["NQP";"Actions"]
-.sub "postfix:sym<.>" :subid("118_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "postfix:sym<.>" :subid("118_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_2117
.annotate 'line', 765
new $P2116, 'ExceptionHandler'
@@ -22790,13 +23499,13 @@
.lex "$/", param_2117
find_lex $P2118, "$/"
find_lex $P2119, "$/"
- unless_null $P2119, vivify_606
+ unless_null $P2119, vivify_610
$P2119 = root_new ['parrot';'Hash']
- vivify_606:
+ vivify_610:
set $P2120, $P2119["dotty"]
- unless_null $P2120, vivify_607
+ unless_null $P2120, vivify_611
new $P2120, "Undef"
- vivify_607:
+ vivify_611:
$P2121 = $P2120."ast"()
$P2122 = $P2118."!make"($P2121)
.return ($P2122)
@@ -22809,7 +23518,7 @@
.namespace ["NQP";"Actions"]
-.sub "postfix:sym<++>" :subid("119_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "postfix:sym<++>" :subid("119_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_2127
.annotate 'line', 767
new $P2126, 'ExceptionHandler'
@@ -22839,7 +23548,7 @@
.namespace ["NQP";"Actions"]
-.sub "postfix:sym<-->" :subid("120_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "postfix:sym<-->" :subid("120_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_2137
.annotate 'line', 773
new $P2136, 'ExceptionHandler'
@@ -22869,7 +23578,7 @@
.namespace ["NQP";"Actions"]
-.sub "prefix:sym<make>" :subid("121_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "prefix:sym<make>" :subid("121_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_2147
.annotate 'line', 779
new $P2146, 'ExceptionHandler'
@@ -22899,7 +23608,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<next>" :subid("122_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "term:sym<next>" :subid("122_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_2160
.annotate 'line', 801
new $P2159, 'ExceptionHandler'
@@ -22920,7 +23629,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<last>" :subid("123_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "term:sym<last>" :subid("123_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_2167
.annotate 'line', 802
new $P2166, 'ExceptionHandler'
@@ -22941,7 +23650,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<redo>" :subid("124_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "term:sym<redo>" :subid("124_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_2174
.annotate 'line', 803
new $P2173, 'ExceptionHandler'
@@ -22962,7 +23671,7 @@
.namespace ["NQP";"Actions"]
-.sub "infix:sym<~~>" :subid("125_1274022903.56472") :method :outer("11_1274022903.56472")
+.sub "infix:sym<~~>" :subid("125_1274564782.90592") :method :outer("11_1274564782.90592")
.param pmc param_2181
.annotate 'line', 805
new $P2180, 'ExceptionHandler'
@@ -22988,206 +23697,526 @@
.namespace ["NQP";"RegexActions"]
-.sub "_block2188" :subid("126_1274022903.56472") :outer("11_1274022903.56472")
+.sub "_block2188" :subid("126_1274564782.90592") :outer("11_1274564782.90592")
.annotate 'line', 810
- .const 'Sub' $P2224 = "130_1274022903.56472"
- capture_lex $P2224
- .const 'Sub' $P2214 = "129_1274022903.56472"
- capture_lex $P2214
- .const 'Sub' $P2204 = "128_1274022903.56472"
- capture_lex $P2204
- .const 'Sub' $P2190 = "127_1274022903.56472"
+ .const 'Sub' $P2345 = "134_1274564782.90592"
+ capture_lex $P2345
+ .const 'Sub' $P2332 = "133_1274564782.90592"
+ capture_lex $P2332
+ .const 'Sub' $P2319 = "132_1274564782.90592"
+ capture_lex $P2319
+ .const 'Sub' $P2306 = "131_1274564782.90592"
+ capture_lex $P2306
+ .const 'Sub' $P2221 = "129_1274564782.90592"
+ capture_lex $P2221
+ .const 'Sub' $P2207 = "128_1274564782.90592"
+ capture_lex $P2207
+ .const 'Sub' $P2190 = "127_1274564782.90592"
capture_lex $P2190
-.annotate 'line', 821
- .const 'Sub' $P2224 = "130_1274022903.56472"
- newclosure $P2251, $P2224
+.annotate 'line', 870
+ .const 'Sub' $P2190 = "127_1274564782.90592"
+ newclosure $P2206, $P2190
+ .lex "bindmatch", $P2206
+.annotate 'line', 864
+ find_lex $P2359, "bindmatch"
.annotate 'line', 810
- .return ($P2251)
+ .return ($P2359)
.end
.namespace ["NQP";"RegexActions"]
-.sub "metachar:sym<:my>" :subid("127_1274022903.56472") :method :outer("126_1274022903.56472")
+.sub "bindmatch" :subid("127_1274564782.90592") :outer("126_1274564782.90592")
.param pmc param_2193
-.annotate 'line', 812
+.annotate 'line', 870
new $P2192, 'ExceptionHandler'
set_addr $P2192, control_2191
$P2192."handle_types"(57)
push_eh $P2192
- .lex "self", self
- .lex "$/", param_2193
-.annotate 'line', 813
- new $P2194, "Undef"
- .lex "$past", $P2194
- find_lex $P2195, "$/"
- unless_null $P2195, vivify_608
- $P2195 = root_new ['parrot';'Hash']
- vivify_608:
- set $P2196, $P2195["statement"]
- unless_null $P2196, vivify_609
- new $P2196, "Undef"
- vivify_609:
- $P2197 = $P2196."ast"()
- store_lex "$past", $P2197
-.annotate 'line', 814
- find_lex $P2198, "$/"
- get_hll_global $P2199, ["PAST"], "Regex"
- find_lex $P2200, "$past"
- $P2201 = $P2199."new"($P2200, "pastnode" :named("pasttype"))
- $P2202 = $P2198."!make"($P2201)
-.annotate 'line', 812
- .return ($P2202)
+ .lex "$past", param_2193
+.annotate 'line', 871
+ get_hll_global $P2194, ["PAST"], "Stmts"
+.annotate 'line', 872
+ get_hll_global $P2195, ["PAST"], "Op"
+.annotate 'line', 873
+ get_hll_global $P2196, ["PAST"], "Var"
+ $P2197 = $P2196."new"("$/" :named("name"))
+.annotate 'line', 874
+ get_hll_global $P2198, ["PAST"], "Op"
+.annotate 'line', 875
+ get_hll_global $P2199, ["PAST"], "Var"
+ $P2200 = $P2199."new"(unicode:"$\x{a2}" :named("name"))
+ $P2201 = $P2198."new"($P2200, "MATCH" :named("name"), "callmethod" :named("pasttype"))
+.annotate 'line', 874
+ $P2202 = $P2195."new"($P2197, $P2201, "bind" :named("pasttype"))
+.annotate 'line', 872
+ find_lex $P2203, "$past"
+ $P2204 = $P2194."new"($P2202, $P2203)
+.annotate 'line', 870
+ .return ($P2204)
control_2191:
.local pmc exception
.get_results (exception)
- getattribute $P2203, exception, "payload"
- .return ($P2203)
-.end
-
-
-.namespace ["NQP";"RegexActions"]
-.sub "metachar:sym<{ }>" :subid("128_1274022903.56472") :method :outer("126_1274022903.56472")
- .param pmc param_2207
-.annotate 'line', 817
- new $P2206, 'ExceptionHandler'
- set_addr $P2206, control_2205
- $P2206."handle_types"(57)
- push_eh $P2206
- .lex "self", self
- .lex "$/", param_2207
- find_lex $P2208, "$/"
- find_lex $P2209, "$/"
- unless_null $P2209, vivify_610
- $P2209 = root_new ['parrot';'Hash']
- vivify_610:
- set $P2210, $P2209["codeblock"]
- unless_null $P2210, vivify_611
- new $P2210, "Undef"
- vivify_611:
- $P2211 = $P2210."ast"()
- $P2212 = $P2208."!make"($P2211)
- .return ($P2212)
- control_2205:
- .local pmc exception
- .get_results (exception)
- getattribute $P2213, exception, "payload"
- .return ($P2213)
+ getattribute $P2205, exception, "payload"
+ .return ($P2205)
.end
.namespace ["NQP";"RegexActions"]
-.sub "assertion:sym<{ }>" :subid("129_1274022903.56472") :method :outer("126_1274022903.56472")
- .param pmc param_2217
-.annotate 'line', 819
- new $P2216, 'ExceptionHandler'
- set_addr $P2216, control_2215
- $P2216."handle_types"(57)
- push_eh $P2216
- .lex "self", self
- .lex "$/", param_2217
- find_lex $P2218, "$/"
- find_lex $P2219, "$/"
- unless_null $P2219, vivify_612
- $P2219 = root_new ['parrot';'Hash']
+.sub "metachar:sym<:my>" :subid("128_1274564782.90592") :method :outer("126_1274564782.90592")
+ .param pmc param_2210
+.annotate 'line', 812
+ new $P2209, 'ExceptionHandler'
+ set_addr $P2209, control_2208
+ $P2209."handle_types"(57)
+ push_eh $P2209
+ .lex "self", self
+ .lex "$/", param_2210
+.annotate 'line', 813
+ new $P2211, "Undef"
+ .lex "$past", $P2211
+ find_lex $P2212, "$/"
+ unless_null $P2212, vivify_612
+ $P2212 = root_new ['parrot';'Hash']
vivify_612:
- set $P2220, $P2219["codeblock"]
- unless_null $P2220, vivify_613
- new $P2220, "Undef"
+ set $P2213, $P2212["statement"]
+ unless_null $P2213, vivify_613
+ new $P2213, "Undef"
vivify_613:
- $P2221 = $P2220."ast"()
- $P2222 = $P2218."!make"($P2221)
- .return ($P2222)
- control_2215:
+ $P2214 = $P2213."ast"()
+ store_lex "$past", $P2214
+.annotate 'line', 814
+ find_lex $P2215, "$/"
+ get_hll_global $P2216, ["PAST"], "Regex"
+ find_lex $P2217, "$past"
+ $P2218 = $P2216."new"($P2217, "pastnode" :named("pasttype"))
+ $P2219 = $P2215."!make"($P2218)
+.annotate 'line', 812
+ .return ($P2219)
+ control_2208:
.local pmc exception
.get_results (exception)
- getattribute $P2223, exception, "payload"
- .return ($P2223)
+ getattribute $P2220, exception, "payload"
+ .return ($P2220)
.end
.namespace ["NQP";"RegexActions"]
-.sub "codeblock" :subid("130_1274022903.56472") :method :outer("126_1274022903.56472")
- .param pmc param_2227
-.annotate 'line', 821
- new $P2226, 'ExceptionHandler'
- set_addr $P2226, control_2225
- $P2226."handle_types"(57)
- push_eh $P2226
- .lex "self", self
- .lex "$/", param_2227
-.annotate 'line', 822
- new $P2228, "Undef"
- .lex "$block", $P2228
-.annotate 'line', 824
- new $P2229, "Undef"
- .lex "$past", $P2229
-.annotate 'line', 822
+.sub "metachar:sym<var>" :subid("129_1274564782.90592") :method :outer("126_1274564782.90592")
+ .param pmc param_2224
+.annotate 'line', 817
+ .const 'Sub' $P2280 = "130_1274564782.90592"
+ capture_lex $P2280
+ new $P2223, 'ExceptionHandler'
+ set_addr $P2223, control_2222
+ $P2223."handle_types"(57)
+ push_eh $P2223
+ .lex "self", self
+ .lex "$/", param_2224
+.annotate 'line', 818
+ new $P2225, "Undef"
+ .lex "$past", $P2225
+.annotate 'line', 819
+ new $P2226, "Undef"
+ .lex "$name", $P2226
+.annotate 'line', 817
+ find_lex $P2227, "$past"
+.annotate 'line', 819
find_lex $P2230, "$/"
unless_null $P2230, vivify_614
$P2230 = root_new ['parrot';'Hash']
vivify_614:
- set $P2231, $P2230["block"]
+ set $P2231, $P2230["pos"]
unless_null $P2231, vivify_615
new $P2231, "Undef"
vivify_615:
- $P2232 = $P2231."ast"()
- store_lex "$block", $P2232
-.annotate 'line', 823
- find_lex $P2233, "$block"
- $P2233."blocktype"("immediate")
+ if $P2231, if_2229
+ find_lex $P2235, "$/"
+ unless_null $P2235, vivify_616
+ $P2235 = root_new ['parrot';'Hash']
+ vivify_616:
+ set $P2236, $P2235["name"]
+ unless_null $P2236, vivify_617
+ new $P2236, "Undef"
+ vivify_617:
+ set $S2237, $P2236
+ new $P2228, 'String'
+ set $P2228, $S2237
+ goto if_2229_end
+ if_2229:
+ find_lex $P2232, "$/"
+ unless_null $P2232, vivify_618
+ $P2232 = root_new ['parrot';'Hash']
+ vivify_618:
+ set $P2233, $P2232["pos"]
+ unless_null $P2233, vivify_619
+ new $P2233, "Undef"
+ vivify_619:
+ set $N2234, $P2233
+ new $P2228, 'Float'
+ set $P2228, $N2234
+ if_2229_end:
+ store_lex "$name", $P2228
+.annotate 'line', 820
+ find_lex $P2239, "$/"
+ unless_null $P2239, vivify_620
+ $P2239 = root_new ['parrot';'Hash']
+ vivify_620:
+ set $P2240, $P2239["quantified_atom"]
+ unless_null $P2240, vivify_621
+ new $P2240, "Undef"
+ vivify_621:
+ if $P2240, if_2238
+.annotate 'line', 834
+ find_lex $P2277, "$/"
+ unless_null $P2277, vivify_622
+ $P2277 = root_new ['parrot';'Hash']
+ vivify_622:
+ set $P2278, $P2277["var"]
+ unless_null $P2278, vivify_623
+ new $P2278, "Undef"
+ vivify_623:
+ if $P2278, if_2276
+.annotate 'line', 842
+ get_hll_global $P2298, ["PAST"], "Regex"
+ find_lex $P2299, "$name"
+ find_lex $P2300, "$/"
+ $P2301 = $P2298."new"("!BACKREF", $P2299, "subrule" :named("pasttype"), "method" :named("subtype"), $P2300 :named("node"))
+ store_lex "$past", $P2301
+.annotate 'line', 841
+ goto if_2276_end
+ if_2276:
+.annotate 'line', 834
+ .const 'Sub' $P2280 = "130_1274564782.90592"
+ capture_lex $P2280
+ $P2280()
+ if_2276_end:
+.annotate 'line', 833
+ goto if_2238_end
+ if_2238:
+.annotate 'line', 821
+ find_lex $P2242, "$/"
+ unless_null $P2242, vivify_629
+ $P2242 = root_new ['parrot';'Hash']
+ vivify_629:
+ set $P2243, $P2242["var"]
+ unless_null $P2243, vivify_630
+ new $P2243, "Undef"
+ vivify_630:
+ unless $P2243, if_2241_end
+.annotate 'line', 822
+ find_lex $P2244, "$/"
+ $P2245 = $P2244."CURSOR"()
+ $P2245."panic"("\"$var = \" syntax not yet supported in regexes")
+ if_2241_end:
+.annotate 'line', 824
+ find_lex $P2246, "$/"
+ unless_null $P2246, vivify_631
+ $P2246 = root_new ['parrot';'Hash']
+ vivify_631:
+ set $P2247, $P2246["quantified_atom"]
+ unless_null $P2247, vivify_632
+ $P2247 = root_new ['parrot';'ResizablePMCArray']
+ vivify_632:
+ set $P2248, $P2247[0]
+ unless_null $P2248, vivify_633
+ new $P2248, "Undef"
+ vivify_633:
+ $P2249 = $P2248."ast"()
+ store_lex "$past", $P2249
.annotate 'line', 825
- get_hll_global $P2234, ["PAST"], "Regex"
-.annotate 'line', 826
- get_hll_global $P2235, ["PAST"], "Stmts"
-.annotate 'line', 827
- get_hll_global $P2236, ["PAST"], "Op"
+ find_lex $P2253, "$past"
+ $S2254 = $P2253."pasttype"()
+ iseq $I2255, $S2254, "quant"
+ if $I2255, if_2252
+ new $P2251, 'Integer'
+ set $P2251, $I2255
+ goto if_2252_end
+ if_2252:
+ find_lex $P2256, "$past"
+ unless_null $P2256, vivify_634
+ $P2256 = root_new ['parrot';'ResizablePMCArray']
+ vivify_634:
+ set $P2257, $P2256[0]
+ unless_null $P2257, vivify_635
+ new $P2257, "Undef"
+ vivify_635:
+ $S2258 = $P2257."pasttype"()
+ iseq $I2259, $S2258, "subrule"
+ new $P2251, 'Integer'
+ set $P2251, $I2259
+ if_2252_end:
+ if $P2251, if_2250
.annotate 'line', 828
- get_hll_global $P2237, ["PAST"], "Var"
- $P2238 = $P2237."new"("$/" :named("name"))
-.annotate 'line', 829
- get_hll_global $P2239, ["PAST"], "Op"
+ find_lex $P2265, "$past"
+ $S2266 = $P2265."pasttype"()
+ iseq $I2267, $S2266, "subrule"
+ if $I2267, if_2264
.annotate 'line', 830
- get_hll_global $P2240, ["PAST"], "Var"
- $P2241 = $P2240."new"(unicode:"$\x{a2}" :named("name"))
- $P2242 = $P2239."new"($P2241, "MATCH" :named("name"), "callmethod" :named("pasttype"))
+ get_hll_global $P2271, ["PAST"], "Regex"
+ find_lex $P2272, "$past"
+ find_lex $P2273, "$name"
+ find_lex $P2274, "$/"
+ $P2275 = $P2271."new"($P2272, $P2273 :named("name"), "subcapture" :named("pasttype"), $P2274 :named("node"))
+ store_lex "$past", $P2275
.annotate 'line', 829
- $P2243 = $P2236."new"($P2238, $P2242, "bind" :named("pasttype"))
-.annotate 'line', 827
- find_lex $P2244, "$block"
- $P2245 = $P2235."new"($P2243, $P2244)
+ goto if_2264_end
+ if_2264:
+.annotate 'line', 828
+ get_hll_global $P2268, ["Regex";"P6Regex";"Actions"], "subrule_alias"
+ find_lex $P2269, "$past"
+ find_lex $P2270, "$name"
+ $P2268($P2269, $P2270)
+ if_2264_end:
+ goto if_2250_end
+ if_2250:
.annotate 'line', 826
- $P2246 = $P2234."new"($P2245, "pastnode" :named("pasttype"))
-.annotate 'line', 825
- store_lex "$past", $P2246
-.annotate 'line', 840
- find_lex $P2247, "$/"
- find_lex $P2248, "$past"
- $P2249 = $P2247."!make"($P2248)
-.annotate 'line', 821
- .return ($P2249)
- control_2225:
+ get_hll_global $P2260, ["Regex";"P6Regex";"Actions"], "subrule_alias"
+ find_lex $P2261, "$past"
+ unless_null $P2261, vivify_636
+ $P2261 = root_new ['parrot';'ResizablePMCArray']
+ vivify_636:
+ set $P2262, $P2261[0]
+ unless_null $P2262, vivify_637
+ new $P2262, "Undef"
+ vivify_637:
+ find_lex $P2263, "$name"
+ $P2260($P2262, $P2263)
+ if_2250_end:
+ if_2238_end:
+.annotate 'line', 846
+ find_lex $P2302, "$/"
+ find_lex $P2303, "$past"
+ $P2304 = $P2302."!make"($P2303)
+.annotate 'line', 817
+ .return ($P2304)
+ control_2222:
+ .local pmc exception
+ .get_results (exception)
+ getattribute $P2305, exception, "payload"
+ .return ($P2305)
+.end
+
+
+.namespace ["NQP";"RegexActions"]
+.sub "_block2279" :anon :subid("130_1274564782.90592") :outer("129_1274564782.90592")
+.annotate 'line', 835
+ $P2281 = root_new ['parrot';'ResizablePMCArray']
+ .lex "@MODIFIERS", $P2281
+.annotate 'line', 838
+ new $P2282, "Undef"
+ .lex "$subtype", $P2282
+.annotate 'line', 835
+
+ $P2283 = get_hll_global ['Regex';'P6Regex';'Actions'], '@MODIFIERS'
+
+ store_lex "@MODIFIERS", $P2283
+.annotate 'line', 838
+ find_lex $P2286, "@MODIFIERS"
+ unless_null $P2286, vivify_624
+ $P2286 = root_new ['parrot';'ResizablePMCArray']
+ vivify_624:
+ set $P2287, $P2286[0]
+ unless_null $P2287, vivify_625
+ $P2287 = root_new ['parrot';'Hash']
+ vivify_625:
+ set $P2288, $P2287["i"]
+ unless_null $P2288, vivify_626
+ new $P2288, "Undef"
+ vivify_626:
+ if $P2288, if_2285
+ new $P2290, "String"
+ assign $P2290, "interp_literal"
+ set $P2284, $P2290
+ goto if_2285_end
+ if_2285:
+ new $P2289, "String"
+ assign $P2289, "interp_literal_i"
+ set $P2284, $P2289
+ if_2285_end:
+ store_lex "$subtype", $P2284
+.annotate 'line', 839
+ get_hll_global $P2291, ["PAST"], "Regex"
+ find_lex $P2292, "$/"
+ unless_null $P2292, vivify_627
+ $P2292 = root_new ['parrot';'Hash']
+ vivify_627:
+ set $P2293, $P2292["var"]
+ unless_null $P2293, vivify_628
+ new $P2293, "Undef"
+ vivify_628:
+ $P2294 = $P2293."ast"()
+ find_lex $P2295, "$subtype"
+ find_lex $P2296, "$/"
+ $P2297 = $P2291."new"($P2294, "pastnode" :named("pasttype"), $P2295 :named("subtype"), $P2296 :named("node"))
+ store_lex "$past", $P2297
+.annotate 'line', 834
+ .return ($P2297)
+.end
+
+
+.namespace ["NQP";"RegexActions"]
+.sub "assertion:sym<var>" :subid("131_1274564782.90592") :method :outer("126_1274564782.90592")
+ .param pmc param_2309
+.annotate 'line', 849
+ new $P2308, 'ExceptionHandler'
+ set_addr $P2308, control_2307
+ $P2308."handle_types"(57)
+ push_eh $P2308
+ .lex "self", self
+ .lex "$/", param_2309
+.annotate 'line', 850
+ find_lex $P2310, "$/"
+ get_hll_global $P2311, ["PAST"], "Regex"
+ find_lex $P2312, "$/"
+ unless_null $P2312, vivify_638
+ $P2312 = root_new ['parrot';'Hash']
+ vivify_638:
+ set $P2313, $P2312["var"]
+ unless_null $P2313, vivify_639
+ new $P2313, "Undef"
+ vivify_639:
+ $P2314 = $P2313."ast"()
+ find_lex $P2315, "$/"
+ $P2316 = $P2311."new"($P2314, "pastnode" :named("pasttype"), "interp_regex" :named("subtype"), $P2315 :named("node"))
+ $P2317 = $P2310."!make"($P2316)
+.annotate 'line', 849
+ .return ($P2317)
+ control_2307:
+ .local pmc exception
+ .get_results (exception)
+ getattribute $P2318, exception, "payload"
+ .return ($P2318)
+.end
+
+
+.namespace ["NQP";"RegexActions"]
+.sub "metachar:sym<{ }>" :subid("132_1274564782.90592") :method :outer("126_1274564782.90592")
+ .param pmc param_2322
+.annotate 'line', 855
+ new $P2321, 'ExceptionHandler'
+ set_addr $P2321, control_2320
+ $P2321."handle_types"(57)
+ push_eh $P2321
+ .lex "self", self
+ .lex "$/", param_2322
+.annotate 'line', 856
+ find_lex $P2323, "$/"
+ get_hll_global $P2324, ["PAST"], "Regex"
+ find_lex $P2325, "$/"
+ find_lex $P2326, "$/"
+ unless_null $P2326, vivify_640
+ $P2326 = root_new ['parrot';'Hash']
+ vivify_640:
+ set $P2327, $P2326["codeblock"]
+ unless_null $P2327, vivify_641
+ new $P2327, "Undef"
+ vivify_641:
+ $P2328 = $P2327."ast"()
+ $P2329 = $P2324."new"($P2328, $P2325 :named("node"), "pastnode" :named("pasttype"))
+ $P2330 = $P2323."!make"($P2329)
+.annotate 'line', 855
+ .return ($P2330)
+ control_2320:
+ .local pmc exception
+ .get_results (exception)
+ getattribute $P2331, exception, "payload"
+ .return ($P2331)
+.end
+
+
+.namespace ["NQP";"RegexActions"]
+.sub "assertion:sym<{ }>" :subid("133_1274564782.90592") :method :outer("126_1274564782.90592")
+ .param pmc param_2335
+.annotate 'line', 859
+ new $P2334, 'ExceptionHandler'
+ set_addr $P2334, control_2333
+ $P2334."handle_types"(57)
+ push_eh $P2334
+ .lex "self", self
+ .lex "$/", param_2335
+.annotate 'line', 860
+ find_lex $P2336, "$/"
+ get_hll_global $P2337, ["PAST"], "Regex"
+ find_lex $P2338, "$/"
+.annotate 'line', 861
+ find_lex $P2339, "$/"
+ unless_null $P2339, vivify_642
+ $P2339 = root_new ['parrot';'Hash']
+ vivify_642:
+ set $P2340, $P2339["codeblock"]
+ unless_null $P2340, vivify_643
+ new $P2340, "Undef"
+ vivify_643:
+ $P2341 = $P2340."ast"()
+ $P2342 = $P2337."new"($P2341, $P2338 :named("node"), "pastnode" :named("pasttype"), "interp_regex" :named("subtype"))
+.annotate 'line', 860
+ $P2343 = $P2336."!make"($P2342)
+.annotate 'line', 859
+ .return ($P2343)
+ control_2333:
+ .local pmc exception
+ .get_results (exception)
+ getattribute $P2344, exception, "payload"
+ .return ($P2344)
+.end
+
+
+.namespace ["NQP";"RegexActions"]
+.sub "codeblock" :subid("134_1274564782.90592") :method :outer("126_1274564782.90592")
+ .param pmc param_2348
+.annotate 'line', 864
+ new $P2347, 'ExceptionHandler'
+ set_addr $P2347, control_2346
+ $P2347."handle_types"(57)
+ push_eh $P2347
+ .lex "self", self
+ .lex "$/", param_2348
+.annotate 'line', 865
+ new $P2349, "Undef"
+ .lex "$block", $P2349
+ find_lex $P2350, "$/"
+ unless_null $P2350, vivify_644
+ $P2350 = root_new ['parrot';'Hash']
+ vivify_644:
+ set $P2351, $P2350["block"]
+ unless_null $P2351, vivify_645
+ new $P2351, "Undef"
+ vivify_645:
+ $P2352 = $P2351."ast"()
+ store_lex "$block", $P2352
+.annotate 'line', 866
+ find_lex $P2353, "$block"
+ $P2353."blocktype"("immediate")
+.annotate 'line', 867
+ find_lex $P2354, "$/"
+ find_lex $P2355, "$block"
+ $P2356 = "bindmatch"($P2355)
+ $P2357 = $P2354."!make"($P2356)
+.annotate 'line', 864
+ .return ($P2357)
+ control_2346:
.local pmc exception
.get_results (exception)
- getattribute $P2250, exception, "payload"
- .return ($P2250)
+ getattribute $P2358, exception, "payload"
+ .return ($P2358)
.end
.namespace ["NQP";"Actions"]
-.sub "_block2253" :load :anon :subid("131_1274022903.56472")
+.sub "_block2361" :load :anon :subid("135_1274564782.90592")
.annotate 'line', 3
- .const 'Sub' $P2255 = "11_1274022903.56472"
- $P2256 = $P2255()
- .return ($P2256)
+ .const 'Sub' $P2363 = "11_1274564782.90592"
+ $P2364 = $P2363()
+ .return ($P2364)
.end
.namespace []
-.sub "_block2263" :load :anon :subid("133_1274022903.56472")
+.sub "_block2371" :load :anon :subid("137_1274564782.90592")
.annotate 'line', 1
- .const 'Sub' $P2265 = "10_1274022903.56472"
- $P2266 = $P2265()
- .return ($P2266)
+ .const 'Sub' $P2373 = "10_1274564782.90592"
+ $P2374 = $P2373()
+ .return ($P2374)
.end
### .include 'src/cheats/nqp-builtins.pir'
Modified: branches/ucs4_encoding/ext/nqp-rx/src/stage0/P6Regex-s0.pir
==============================================================================
--- branches/ucs4_encoding/ext/nqp-rx/src/stage0/P6Regex-s0.pir Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/ext/nqp-rx/src/stage0/P6Regex-s0.pir Mon May 24 21:18:41 2010 (r46974)
@@ -16,7 +16,7 @@
### .include 'gen/p6regex-grammar.pir'
.namespace []
-.sub "_block11" :anon :subid("10_1274022883.50471")
+.sub "_block11" :anon :subid("10_1274564774.16047")
.annotate 'line', 0
get_hll_global $P14, ["Regex";"P6Regex";"Grammar"], "_block13"
capture_lex $P14
@@ -26,15 +26,15 @@
$P583 = $P14()
.annotate 'line', 1
.return ($P583)
- .const 'Sub' $P585 = "159_1274022883.50471"
+ .const 'Sub' $P585 = "159_1274564774.16047"
.return ($P585)
.end
.namespace []
-.sub "" :load :init :subid("post160") :outer("10_1274022883.50471")
+.sub "" :load :init :subid("post160") :outer("10_1274564774.16047")
.annotate 'line', 0
- .const 'Sub' $P12 = "10_1274022883.50471"
+ .const 'Sub' $P12 = "10_1274564774.16047"
.local pmc block
set block, $P12
$P588 = get_root_global ["parrot"], "P6metaclass"
@@ -43,142 +43,142 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block13" :subid("11_1274022883.50471") :outer("10_1274022883.50471")
+.sub "_block13" :subid("11_1274564774.16047") :outer("10_1274564774.16047")
.annotate 'line', 3
- .const 'Sub' $P571 = "156_1274022883.50471"
+ .const 'Sub' $P571 = "156_1274564774.16047"
capture_lex $P571
- .const 'Sub' $P563 = "154_1274022883.50471"
+ .const 'Sub' $P563 = "154_1274564774.16047"
capture_lex $P563
- .const 'Sub' $P555 = "152_1274022883.50471"
+ .const 'Sub' $P555 = "152_1274564774.16047"
capture_lex $P555
- .const 'Sub' $P534 = "147_1274022883.50471"
+ .const 'Sub' $P534 = "147_1274564774.16047"
capture_lex $P534
- .const 'Sub' $P499 = "141_1274022883.50471"
+ .const 'Sub' $P499 = "141_1274564774.16047"
capture_lex $P499
- .const 'Sub' $P487 = "138_1274022883.50471"
+ .const 'Sub' $P487 = "138_1274564774.16047"
capture_lex $P487
- .const 'Sub' $P474 = "135_1274022883.50471"
+ .const 'Sub' $P474 = "135_1274564774.16047"
capture_lex $P474
- .const 'Sub' $P468 = "133_1274022883.50471"
+ .const 'Sub' $P468 = "133_1274564774.16047"
capture_lex $P468
- .const 'Sub' $P457 = "130_1274022883.50471"
+ .const 'Sub' $P457 = "130_1274564774.16047"
capture_lex $P457
- .const 'Sub' $P446 = "127_1274022883.50471"
+ .const 'Sub' $P446 = "127_1274564774.16047"
capture_lex $P446
- .const 'Sub' $P437 = "123_1274022883.50471"
+ .const 'Sub' $P437 = "123_1274564774.16047"
capture_lex $P437
- .const 'Sub' $P431 = "121_1274022883.50471"
+ .const 'Sub' $P431 = "121_1274564774.16047"
capture_lex $P431
- .const 'Sub' $P425 = "119_1274022883.50471"
+ .const 'Sub' $P425 = "119_1274564774.16047"
capture_lex $P425
- .const 'Sub' $P419 = "117_1274022883.50471"
+ .const 'Sub' $P419 = "117_1274564774.16047"
capture_lex $P419
- .const 'Sub' $P413 = "115_1274022883.50471"
+ .const 'Sub' $P413 = "115_1274564774.16047"
capture_lex $P413
- .const 'Sub' $P405 = "113_1274022883.50471"
+ .const 'Sub' $P405 = "113_1274564774.16047"
capture_lex $P405
- .const 'Sub' $P394 = "111_1274022883.50471"
+ .const 'Sub' $P394 = "111_1274564774.16047"
capture_lex $P394
- .const 'Sub' $P383 = "109_1274022883.50471"
+ .const 'Sub' $P383 = "109_1274564774.16047"
capture_lex $P383
- .const 'Sub' $P377 = "107_1274022883.50471"
+ .const 'Sub' $P377 = "107_1274564774.16047"
capture_lex $P377
- .const 'Sub' $P371 = "105_1274022883.50471"
+ .const 'Sub' $P371 = "105_1274564774.16047"
capture_lex $P371
- .const 'Sub' $P365 = "103_1274022883.50471"
+ .const 'Sub' $P365 = "103_1274564774.16047"
capture_lex $P365
- .const 'Sub' $P359 = "101_1274022883.50471"
+ .const 'Sub' $P359 = "101_1274564774.16047"
capture_lex $P359
- .const 'Sub' $P353 = "99_1274022883.50471"
+ .const 'Sub' $P353 = "99_1274564774.16047"
capture_lex $P353
- .const 'Sub' $P347 = "97_1274022883.50471"
+ .const 'Sub' $P347 = "97_1274564774.16047"
capture_lex $P347
- .const 'Sub' $P341 = "95_1274022883.50471"
+ .const 'Sub' $P341 = "95_1274564774.16047"
capture_lex $P341
- .const 'Sub' $P335 = "93_1274022883.50471"
+ .const 'Sub' $P335 = "93_1274564774.16047"
capture_lex $P335
- .const 'Sub' $P323 = "89_1274022883.50471"
+ .const 'Sub' $P323 = "89_1274564774.16047"
capture_lex $P323
- .const 'Sub' $P311 = "87_1274022883.50471"
+ .const 'Sub' $P311 = "87_1274564774.16047"
capture_lex $P311
- .const 'Sub' $P304 = "85_1274022883.50471"
+ .const 'Sub' $P304 = "85_1274564774.16047"
capture_lex $P304
- .const 'Sub' $P287 = "83_1274022883.50471"
+ .const 'Sub' $P287 = "83_1274564774.16047"
capture_lex $P287
- .const 'Sub' $P280 = "81_1274022883.50471"
+ .const 'Sub' $P280 = "81_1274564774.16047"
capture_lex $P280
- .const 'Sub' $P274 = "79_1274022883.50471"
+ .const 'Sub' $P274 = "79_1274564774.16047"
capture_lex $P274
- .const 'Sub' $P268 = "77_1274022883.50471"
+ .const 'Sub' $P268 = "77_1274564774.16047"
capture_lex $P268
- .const 'Sub' $P261 = "75_1274022883.50471"
+ .const 'Sub' $P261 = "75_1274564774.16047"
capture_lex $P261
- .const 'Sub' $P254 = "73_1274022883.50471"
+ .const 'Sub' $P254 = "73_1274564774.16047"
capture_lex $P254
- .const 'Sub' $P247 = "71_1274022883.50471"
+ .const 'Sub' $P247 = "71_1274564774.16047"
capture_lex $P247
- .const 'Sub' $P240 = "69_1274022883.50471"
+ .const 'Sub' $P240 = "69_1274564774.16047"
capture_lex $P240
- .const 'Sub' $P234 = "67_1274022883.50471"
+ .const 'Sub' $P234 = "67_1274564774.16047"
capture_lex $P234
- .const 'Sub' $P228 = "65_1274022883.50471"
+ .const 'Sub' $P228 = "65_1274564774.16047"
capture_lex $P228
- .const 'Sub' $P222 = "63_1274022883.50471"
+ .const 'Sub' $P222 = "63_1274564774.16047"
capture_lex $P222
- .const 'Sub' $P216 = "61_1274022883.50471"
+ .const 'Sub' $P216 = "61_1274564774.16047"
capture_lex $P216
- .const 'Sub' $P210 = "59_1274022883.50471"
+ .const 'Sub' $P210 = "59_1274564774.16047"
capture_lex $P210
- .const 'Sub' $P205 = "57_1274022883.50471"
+ .const 'Sub' $P205 = "57_1274564774.16047"
capture_lex $P205
- .const 'Sub' $P200 = "55_1274022883.50471"
+ .const 'Sub' $P200 = "55_1274564774.16047"
capture_lex $P200
- .const 'Sub' $P194 = "53_1274022883.50471"
+ .const 'Sub' $P194 = "53_1274564774.16047"
capture_lex $P194
- .const 'Sub' $P188 = "51_1274022883.50471"
+ .const 'Sub' $P188 = "51_1274564774.16047"
capture_lex $P188
- .const 'Sub' $P182 = "49_1274022883.50471"
+ .const 'Sub' $P182 = "49_1274564774.16047"
capture_lex $P182
- .const 'Sub' $P166 = "44_1274022883.50471"
+ .const 'Sub' $P166 = "44_1274564774.16047"
capture_lex $P166
- .const 'Sub' $P154 = "42_1274022883.50471"
+ .const 'Sub' $P154 = "42_1274564774.16047"
capture_lex $P154
- .const 'Sub' $P147 = "40_1274022883.50471"
+ .const 'Sub' $P147 = "40_1274564774.16047"
capture_lex $P147
- .const 'Sub' $P140 = "38_1274022883.50471"
+ .const 'Sub' $P140 = "38_1274564774.16047"
capture_lex $P140
- .const 'Sub' $P133 = "36_1274022883.50471"
+ .const 'Sub' $P133 = "36_1274564774.16047"
capture_lex $P133
- .const 'Sub' $P114 = "31_1274022883.50471"
+ .const 'Sub' $P114 = "31_1274564774.16047"
capture_lex $P114
- .const 'Sub' $P101 = "28_1274022883.50471"
+ .const 'Sub' $P101 = "28_1274564774.16047"
capture_lex $P101
- .const 'Sub' $P94 = "26_1274022883.50471"
+ .const 'Sub' $P94 = "26_1274564774.16047"
capture_lex $P94
- .const 'Sub' $P82 = "24_1274022883.50471"
+ .const 'Sub' $P82 = "24_1274564774.16047"
capture_lex $P82
- .const 'Sub' $P75 = "22_1274022883.50471"
+ .const 'Sub' $P75 = "22_1274564774.16047"
capture_lex $P75
- .const 'Sub' $P63 = "20_1274022883.50471"
+ .const 'Sub' $P63 = "20_1274564774.16047"
capture_lex $P63
- .const 'Sub' $P56 = "18_1274022883.50471"
+ .const 'Sub' $P56 = "18_1274564774.16047"
capture_lex $P56
- .const 'Sub' $P46 = "15_1274022883.50471"
+ .const 'Sub' $P46 = "15_1274564774.16047"
capture_lex $P46
- .const 'Sub' $P38 = "13_1274022883.50471"
+ .const 'Sub' $P38 = "13_1274564774.16047"
capture_lex $P38
- .const 'Sub' $P15 = "12_1274022883.50471"
+ .const 'Sub' $P15 = "12_1274564774.16047"
capture_lex $P15
- .const 'Sub' $P571 = "156_1274022883.50471"
+ .const 'Sub' $P571 = "156_1274564774.16047"
capture_lex $P571
.return ($P571)
- .const 'Sub' $P580 = "158_1274022883.50471"
+ .const 'Sub' $P580 = "158_1274564774.16047"
.return ($P580)
.end
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "obs" :subid("12_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "obs" :subid("12_1274564774.16047") :method :outer("11_1274564774.16047")
.param pmc param_18
.param pmc param_19
.param pmc param_20 :optional
@@ -226,7 +226,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "ws" :subid("13_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "ws" :subid("13_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx39_tgt
.local int rx39_pos
@@ -308,7 +308,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__ws" :subid("14_1274022883.50471") :method
+.sub "!PREFIX__ws" :subid("14_1274564774.16047") :method
.annotate 'line', 3
new $P41, "ResizablePMCArray"
push $P41, ""
@@ -317,9 +317,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "normspace" :subid("15_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "normspace" :subid("15_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
- .const 'Sub' $P52 = "17_1274022883.50471"
+ .const 'Sub' $P52 = "17_1274564774.16047"
capture_lex $P52
.local string rx47_tgt
.local int rx47_pos
@@ -353,7 +353,7 @@
.annotate 'line', 10
# rx subrule "before" subtype=zerowidth negate=
rx47_cur."!cursor_pos"(rx47_pos)
- .const 'Sub' $P52 = "17_1274022883.50471"
+ .const 'Sub' $P52 = "17_1274564774.16047"
capture_lex $P52
$P10 = rx47_cur."before"($P52)
unless $P10, rx47_fail
@@ -381,7 +381,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__normspace" :subid("16_1274022883.50471") :method
+.sub "!PREFIX__normspace" :subid("16_1274564774.16047") :method
.annotate 'line', 3
new $P49, "ResizablePMCArray"
push $P49, ""
@@ -390,7 +390,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block51" :anon :subid("17_1274022883.50471") :method :outer("15_1274022883.50471")
+.sub "_block51" :anon :subid("17_1274564774.16047") :method :outer("15_1274564774.16047")
.annotate 'line', 10
.local string rx53_tgt
.local int rx53_pos
@@ -458,7 +458,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "arg" :subid("18_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "arg" :subid("18_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx57_tgt
.local int rx57_pos
@@ -569,7 +569,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__arg" :subid("19_1274022883.50471") :method
+.sub "!PREFIX__arg" :subid("19_1274564774.16047") :method
.annotate 'line', 3
new $P59, "ResizablePMCArray"
push $P59, ""
@@ -580,7 +580,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "arglist" :subid("20_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "arglist" :subid("20_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx64_tgt
.local int rx64_pos
@@ -686,7 +686,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__arglist" :subid("21_1274022883.50471") :method
+.sub "!PREFIX__arglist" :subid("21_1274564774.16047") :method
.annotate 'line', 3
new $P66, "ResizablePMCArray"
push $P66, ""
@@ -695,7 +695,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "TOP" :subid("22_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "TOP" :subid("22_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx76_tgt
.local int rx76_pos
@@ -768,7 +768,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__TOP" :subid("23_1274022883.50471") :method
+.sub "!PREFIX__TOP" :subid("23_1274564774.16047") :method
.annotate 'line', 3
$P78 = self."!PREFIX__!subrule"("nibbler", "")
new $P79, "ResizablePMCArray"
@@ -778,7 +778,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "nibbler" :subid("24_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "nibbler" :subid("24_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx83_tgt
.local int rx83_pos
@@ -946,7 +946,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__nibbler" :subid("25_1274022883.50471") :method
+.sub "!PREFIX__nibbler" :subid("25_1274564774.16047") :method
.annotate 'line', 3
new $P85, "ResizablePMCArray"
push $P85, ""
@@ -955,7 +955,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "termish" :subid("26_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "termish" :subid("26_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx95_tgt
.local int rx95_pos
@@ -1023,7 +1023,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__termish" :subid("27_1274022883.50471") :method
+.sub "!PREFIX__termish" :subid("27_1274564774.16047") :method
.annotate 'line', 3
new $P97, "ResizablePMCArray"
push $P97, ""
@@ -1032,9 +1032,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantified_atom" :subid("28_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "quantified_atom" :subid("28_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
- .const 'Sub' $P110 = "30_1274022883.50471"
+ .const 'Sub' $P110 = "30_1274564774.16047"
capture_lex $P110
.local string rx102_tgt
.local int rx102_pos
@@ -1097,7 +1097,7 @@
alt108_1:
# rx subrule "before" subtype=zerowidth negate=
rx102_cur."!cursor_pos"(rx102_pos)
- .const 'Sub' $P110 = "30_1274022883.50471"
+ .const 'Sub' $P110 = "30_1274564774.16047"
capture_lex $P110
$P10 = rx102_cur."before"($P110)
unless $P10, rx102_fail
@@ -1135,7 +1135,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantified_atom" :subid("29_1274022883.50471") :method
+.sub "!PREFIX__quantified_atom" :subid("29_1274564774.16047") :method
.annotate 'line', 3
$P104 = self."!PREFIX__!subrule"("atom", "")
new $P105, "ResizablePMCArray"
@@ -1145,7 +1145,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block109" :anon :subid("30_1274022883.50471") :method :outer("28_1274022883.50471")
+.sub "_block109" :anon :subid("30_1274564774.16047") :method :outer("28_1274564774.16047")
.annotate 'line', 41
.local string rx111_tgt
.local int rx111_pos
@@ -1201,9 +1201,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "atom" :subid("31_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "atom" :subid("31_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
- .const 'Sub' $P125 = "33_1274022883.50471"
+ .const 'Sub' $P125 = "33_1274564774.16047"
capture_lex $P125
.local string rx115_tgt
.local int rx115_pos
@@ -1263,7 +1263,7 @@
rxquantg122_done:
# rx subrule "before" subtype=zerowidth negate=
rx115_cur."!cursor_pos"(rx115_pos)
- .const 'Sub' $P125 = "33_1274022883.50471"
+ .const 'Sub' $P125 = "33_1274564774.16047"
capture_lex $P125
$P10 = rx115_cur."before"($P125)
unless $P10, rx115_fail
@@ -1300,7 +1300,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__atom" :subid("32_1274022883.50471") :method
+.sub "!PREFIX__atom" :subid("32_1274564774.16047") :method
.annotate 'line', 3
$P117 = self."!PREFIX__!subrule"("metachar", "")
new $P118, "ResizablePMCArray"
@@ -1311,7 +1311,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block124" :anon :subid("33_1274022883.50471") :method :outer("31_1274022883.50471")
+.sub "_block124" :anon :subid("33_1274564774.16047") :method :outer("31_1274564774.16047")
.annotate 'line', 47
.local string rx126_tgt
.local int rx126_pos
@@ -1366,7 +1366,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier" :subid("34_1274022883.50471") :method
+.sub "quantifier" :subid("34_1274564774.16047") :method
.annotate 'line', 52
$P130 = self."!protoregex"("quantifier")
.return ($P130)
@@ -1374,7 +1374,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier" :subid("35_1274022883.50471") :method
+.sub "!PREFIX__quantifier" :subid("35_1274564774.16047") :method
.annotate 'line', 52
$P132 = self."!PREFIX__!protoregex"("quantifier")
.return ($P132)
@@ -1382,7 +1382,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<*>" :subid("36_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "quantifier:sym<*>" :subid("36_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx134_tgt
.local int rx134_pos
@@ -1461,7 +1461,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<*>" :subid("37_1274022883.50471") :method
+.sub "!PREFIX__quantifier:sym<*>" :subid("37_1274564774.16047") :method
.annotate 'line', 3
$P136 = self."!PREFIX__!subrule"("backmod", "*")
new $P137, "ResizablePMCArray"
@@ -1471,7 +1471,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<+>" :subid("38_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "quantifier:sym<+>" :subid("38_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx141_tgt
.local int rx141_pos
@@ -1550,7 +1550,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<+>" :subid("39_1274022883.50471") :method
+.sub "!PREFIX__quantifier:sym<+>" :subid("39_1274564774.16047") :method
.annotate 'line', 3
$P143 = self."!PREFIX__!subrule"("backmod", "+")
new $P144, "ResizablePMCArray"
@@ -1560,7 +1560,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<?>" :subid("40_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "quantifier:sym<?>" :subid("40_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx148_tgt
.local int rx148_pos
@@ -1639,7 +1639,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<?>" :subid("41_1274022883.50471") :method
+.sub "!PREFIX__quantifier:sym<?>" :subid("41_1274564774.16047") :method
.annotate 'line', 3
$P150 = self."!PREFIX__!subrule"("backmod", "?")
new $P151, "ResizablePMCArray"
@@ -1649,7 +1649,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<**>" :subid("42_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "quantifier:sym<**>" :subid("42_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx155_tgt
.local int rx155_pos
@@ -1838,7 +1838,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<**>" :subid("43_1274022883.50471") :method
+.sub "!PREFIX__quantifier:sym<**>" :subid("43_1274564774.16047") :method
.annotate 'line', 3
new $P157, "ResizablePMCArray"
push $P157, "**"
@@ -1847,9 +1847,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backmod" :subid("44_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "backmod" :subid("44_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
- .const 'Sub' $P175 = "46_1274022883.50471"
+ .const 'Sub' $P175 = "46_1274564774.16047"
capture_lex $P175
.local string rx167_tgt
.local int rx167_pos
@@ -1919,7 +1919,7 @@
alt173_2:
# rx subrule "before" subtype=zerowidth negate=1
rx167_cur."!cursor_pos"(rx167_pos)
- .const 'Sub' $P175 = "46_1274022883.50471"
+ .const 'Sub' $P175 = "46_1274564774.16047"
capture_lex $P175
$P10 = rx167_cur."before"($P175)
if $P10, rx167_fail
@@ -1943,7 +1943,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backmod" :subid("45_1274022883.50471") :method
+.sub "!PREFIX__backmod" :subid("45_1274564774.16047") :method
.annotate 'line', 3
new $P169, "ResizablePMCArray"
push $P169, ""
@@ -1952,7 +1952,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block174" :anon :subid("46_1274022883.50471") :method :outer("44_1274022883.50471")
+.sub "_block174" :anon :subid("46_1274564774.16047") :method :outer("44_1274564774.16047")
.annotate 'line', 71
.local string rx176_tgt
.local int rx176_pos
@@ -2008,7 +2008,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar" :subid("47_1274022883.50471") :method
+.sub "metachar" :subid("47_1274564774.16047") :method
.annotate 'line', 73
$P179 = self."!protoregex"("metachar")
.return ($P179)
@@ -2016,7 +2016,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar" :subid("48_1274022883.50471") :method
+.sub "!PREFIX__metachar" :subid("48_1274564774.16047") :method
.annotate 'line', 73
$P181 = self."!PREFIX__!protoregex"("metachar")
.return ($P181)
@@ -2024,7 +2024,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<ws>" :subid("49_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "metachar:sym<ws>" :subid("49_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx183_tgt
.local int rx183_pos
@@ -2080,7 +2080,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<ws>" :subid("50_1274022883.50471") :method
+.sub "!PREFIX__metachar:sym<ws>" :subid("50_1274564774.16047") :method
.annotate 'line', 3
$P185 = self."!PREFIX__!subrule"("", "")
new $P186, "ResizablePMCArray"
@@ -2090,7 +2090,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<[ ]>" :subid("51_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "metachar:sym<[ ]>" :subid("51_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx189_tgt
.local int rx189_pos
@@ -2162,7 +2162,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<[ ]>" :subid("52_1274022883.50471") :method
+.sub "!PREFIX__metachar:sym<[ ]>" :subid("52_1274564774.16047") :method
.annotate 'line', 3
$P191 = self."!PREFIX__!subrule"("nibbler", "[")
new $P192, "ResizablePMCArray"
@@ -2172,7 +2172,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<( )>" :subid("53_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "metachar:sym<( )>" :subid("53_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx195_tgt
.local int rx195_pos
@@ -2244,7 +2244,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<( )>" :subid("54_1274022883.50471") :method
+.sub "!PREFIX__metachar:sym<( )>" :subid("54_1274564774.16047") :method
.annotate 'line', 3
$P197 = self."!PREFIX__!subrule"("nibbler", "(")
new $P198, "ResizablePMCArray"
@@ -2254,7 +2254,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<'>" :subid("55_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "metachar:sym<'>" :subid("55_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx201_tgt
.local int rx201_pos
@@ -2318,7 +2318,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<'>" :subid("56_1274022883.50471") :method
+.sub "!PREFIX__metachar:sym<'>" :subid("56_1274564774.16047") :method
.annotate 'line', 3
new $P203, "ResizablePMCArray"
push $P203, "'"
@@ -2327,7 +2327,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<\">" :subid("57_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "metachar:sym<\">" :subid("57_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx206_tgt
.local int rx206_pos
@@ -2391,7 +2391,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<\">" :subid("58_1274022883.50471") :method
+.sub "!PREFIX__metachar:sym<\">" :subid("58_1274564774.16047") :method
.annotate 'line', 3
new $P208, "ResizablePMCArray"
push $P208, "\""
@@ -2400,7 +2400,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<.>" :subid("59_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "metachar:sym<.>" :subid("59_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx211_tgt
.local int rx211_pos
@@ -2472,7 +2472,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<.>" :subid("60_1274022883.50471") :method
+.sub "!PREFIX__metachar:sym<.>" :subid("60_1274564774.16047") :method
.annotate 'line', 3
new $P213, "ResizablePMCArray"
push $P213, "."
@@ -2481,7 +2481,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<^>" :subid("61_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "metachar:sym<^>" :subid("61_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx217_tgt
.local int rx217_pos
@@ -2553,7 +2553,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<^>" :subid("62_1274022883.50471") :method
+.sub "!PREFIX__metachar:sym<^>" :subid("62_1274564774.16047") :method
.annotate 'line', 3
new $P219, "ResizablePMCArray"
push $P219, "^"
@@ -2562,7 +2562,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<^^>" :subid("63_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "metachar:sym<^^>" :subid("63_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx223_tgt
.local int rx223_pos
@@ -2634,7 +2634,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<^^>" :subid("64_1274022883.50471") :method
+.sub "!PREFIX__metachar:sym<^^>" :subid("64_1274564774.16047") :method
.annotate 'line', 3
new $P225, "ResizablePMCArray"
push $P225, "^^"
@@ -2643,7 +2643,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<$>" :subid("65_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "metachar:sym<$>" :subid("65_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx229_tgt
.local int rx229_pos
@@ -2715,7 +2715,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<$>" :subid("66_1274022883.50471") :method
+.sub "!PREFIX__metachar:sym<$>" :subid("66_1274564774.16047") :method
.annotate 'line', 3
new $P231, "ResizablePMCArray"
push $P231, "$"
@@ -2724,7 +2724,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<$$>" :subid("67_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "metachar:sym<$$>" :subid("67_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx235_tgt
.local int rx235_pos
@@ -2796,7 +2796,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<$$>" :subid("68_1274022883.50471") :method
+.sub "!PREFIX__metachar:sym<$$>" :subid("68_1274564774.16047") :method
.annotate 'line', 3
new $P237, "ResizablePMCArray"
push $P237, "$$"
@@ -2805,7 +2805,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<:::>" :subid("69_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "metachar:sym<:::>" :subid("69_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx241_tgt
.local int rx241_pos
@@ -2882,7 +2882,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<:::>" :subid("70_1274022883.50471") :method
+.sub "!PREFIX__metachar:sym<:::>" :subid("70_1274564774.16047") :method
.annotate 'line', 3
$P243 = self."!PREFIX__!subrule"("", ":::")
new $P244, "ResizablePMCArray"
@@ -2892,7 +2892,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<::>" :subid("71_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "metachar:sym<::>" :subid("71_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx248_tgt
.local int rx248_pos
@@ -2969,7 +2969,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<::>" :subid("72_1274022883.50471") :method
+.sub "!PREFIX__metachar:sym<::>" :subid("72_1274564774.16047") :method
.annotate 'line', 3
$P250 = self."!PREFIX__!subrule"("", "::")
new $P251, "ResizablePMCArray"
@@ -2979,7 +2979,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<lwb>" :subid("73_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "metachar:sym<lwb>" :subid("73_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx255_tgt
.local int rx255_pos
@@ -3064,7 +3064,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<lwb>" :subid("74_1274022883.50471") :method
+.sub "!PREFIX__metachar:sym<lwb>" :subid("74_1274564774.16047") :method
.annotate 'line', 3
new $P257, "ResizablePMCArray"
push $P257, unicode:"\x{ab}"
@@ -3074,7 +3074,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<rwb>" :subid("75_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "metachar:sym<rwb>" :subid("75_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx262_tgt
.local int rx262_pos
@@ -3159,7 +3159,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<rwb>" :subid("76_1274022883.50471") :method
+.sub "!PREFIX__metachar:sym<rwb>" :subid("76_1274564774.16047") :method
.annotate 'line', 3
new $P264, "ResizablePMCArray"
push $P264, unicode:"\x{bb}"
@@ -3169,7 +3169,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<bs>" :subid("77_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "metachar:sym<bs>" :subid("77_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx269_tgt
.local int rx269_pos
@@ -3234,7 +3234,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<bs>" :subid("78_1274022883.50471") :method
+.sub "!PREFIX__metachar:sym<bs>" :subid("78_1274564774.16047") :method
.annotate 'line', 3
$P271 = self."!PREFIX__!subrule"("backslash", "\\")
new $P272, "ResizablePMCArray"
@@ -3244,7 +3244,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<mod>" :subid("79_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "metachar:sym<mod>" :subid("79_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx275_tgt
.local int rx275_pos
@@ -3302,7 +3302,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<mod>" :subid("80_1274022883.50471") :method
+.sub "!PREFIX__metachar:sym<mod>" :subid("80_1274564774.16047") :method
.annotate 'line', 3
$P277 = self."!PREFIX__!subrule"("mod_internal", "")
new $P278, "ResizablePMCArray"
@@ -3312,7 +3312,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<~>" :subid("81_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "metachar:sym<~>" :subid("81_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx281_tgt
.local int rx281_pos
@@ -3411,7 +3411,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<~>" :subid("82_1274022883.50471") :method
+.sub "!PREFIX__metachar:sym<~>" :subid("82_1274564774.16047") :method
.annotate 'line', 3
$P283 = self."!PREFIX__!subrule"("", "~")
new $P284, "ResizablePMCArray"
@@ -3421,7 +3421,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<{*}>" :subid("83_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "metachar:sym<{*}>" :subid("83_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx288_tgt
.local int rx288_pos
@@ -3588,7 +3588,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<{*}>" :subid("84_1274022883.50471") :method
+.sub "!PREFIX__metachar:sym<{*}>" :subid("84_1274564774.16047") :method
.annotate 'line', 3
new $P290, "ResizablePMCArray"
push $P290, "{*}"
@@ -3597,7 +3597,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<assert>" :subid("85_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "metachar:sym<assert>" :subid("85_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx305_tgt
.local int rx305_pos
@@ -3682,7 +3682,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<assert>" :subid("86_1274022883.50471") :method
+.sub "!PREFIX__metachar:sym<assert>" :subid("86_1274564774.16047") :method
.annotate 'line', 3
$P307 = self."!PREFIX__!subrule"("assertion", "<")
new $P308, "ResizablePMCArray"
@@ -3692,7 +3692,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<var>" :subid("87_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "metachar:sym<var>" :subid("87_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx312_tgt
.local int rx312_pos
@@ -3854,7 +3854,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<var>" :subid("88_1274022883.50471") :method
+.sub "!PREFIX__metachar:sym<var>" :subid("88_1274564774.16047") :method
.annotate 'line', 3
new $P314, "ResizablePMCArray"
push $P314, "$"
@@ -3864,7 +3864,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<PIR>" :subid("89_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "metachar:sym<PIR>" :subid("89_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx324_tgt
.local int rx324_pos
@@ -3955,7 +3955,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<PIR>" :subid("90_1274022883.50471") :method
+.sub "!PREFIX__metachar:sym<PIR>" :subid("90_1274564774.16047") :method
.annotate 'line', 3
new $P326, "ResizablePMCArray"
push $P326, ":PIR{{"
@@ -3964,7 +3964,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash" :subid("91_1274022883.50471") :method
+.sub "backslash" :subid("91_1274564774.16047") :method
.annotate 'line', 120
$P332 = self."!protoregex"("backslash")
.return ($P332)
@@ -3972,7 +3972,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash" :subid("92_1274022883.50471") :method
+.sub "!PREFIX__backslash" :subid("92_1274564774.16047") :method
.annotate 'line', 120
$P334 = self."!PREFIX__!protoregex"("backslash")
.return ($P334)
@@ -3980,7 +3980,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<w>" :subid("93_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "backslash:sym<w>" :subid("93_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx336_tgt
.local int rx336_pos
@@ -4052,7 +4052,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<w>" :subid("94_1274022883.50471") :method
+.sub "!PREFIX__backslash:sym<w>" :subid("94_1274564774.16047") :method
.annotate 'line', 3
new $P338, "ResizablePMCArray"
push $P338, "N"
@@ -4068,7 +4068,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<b>" :subid("95_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "backslash:sym<b>" :subid("95_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx342_tgt
.local int rx342_pos
@@ -4140,7 +4140,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<b>" :subid("96_1274022883.50471") :method
+.sub "!PREFIX__backslash:sym<b>" :subid("96_1274564774.16047") :method
.annotate 'line', 3
new $P344, "ResizablePMCArray"
push $P344, "B"
@@ -4150,7 +4150,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<e>" :subid("97_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "backslash:sym<e>" :subid("97_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx348_tgt
.local int rx348_pos
@@ -4222,7 +4222,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<e>" :subid("98_1274022883.50471") :method
+.sub "!PREFIX__backslash:sym<e>" :subid("98_1274564774.16047") :method
.annotate 'line', 3
new $P350, "ResizablePMCArray"
push $P350, "E"
@@ -4232,7 +4232,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<f>" :subid("99_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "backslash:sym<f>" :subid("99_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx354_tgt
.local int rx354_pos
@@ -4304,7 +4304,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<f>" :subid("100_1274022883.50471") :method
+.sub "!PREFIX__backslash:sym<f>" :subid("100_1274564774.16047") :method
.annotate 'line', 3
new $P356, "ResizablePMCArray"
push $P356, "F"
@@ -4314,7 +4314,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<h>" :subid("101_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "backslash:sym<h>" :subid("101_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx360_tgt
.local int rx360_pos
@@ -4386,7 +4386,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<h>" :subid("102_1274022883.50471") :method
+.sub "!PREFIX__backslash:sym<h>" :subid("102_1274564774.16047") :method
.annotate 'line', 3
new $P362, "ResizablePMCArray"
push $P362, "H"
@@ -4396,7 +4396,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<r>" :subid("103_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "backslash:sym<r>" :subid("103_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx366_tgt
.local int rx366_pos
@@ -4468,7 +4468,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<r>" :subid("104_1274022883.50471") :method
+.sub "!PREFIX__backslash:sym<r>" :subid("104_1274564774.16047") :method
.annotate 'line', 3
new $P368, "ResizablePMCArray"
push $P368, "R"
@@ -4478,7 +4478,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<t>" :subid("105_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "backslash:sym<t>" :subid("105_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx372_tgt
.local int rx372_pos
@@ -4550,7 +4550,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<t>" :subid("106_1274022883.50471") :method
+.sub "!PREFIX__backslash:sym<t>" :subid("106_1274564774.16047") :method
.annotate 'line', 3
new $P374, "ResizablePMCArray"
push $P374, "T"
@@ -4560,7 +4560,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<v>" :subid("107_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "backslash:sym<v>" :subid("107_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx378_tgt
.local int rx378_pos
@@ -4632,7 +4632,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<v>" :subid("108_1274022883.50471") :method
+.sub "!PREFIX__backslash:sym<v>" :subid("108_1274564774.16047") :method
.annotate 'line', 3
new $P380, "ResizablePMCArray"
push $P380, "V"
@@ -4642,7 +4642,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<o>" :subid("109_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "backslash:sym<o>" :subid("109_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx384_tgt
.local int rx384_pos
@@ -4748,7 +4748,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<o>" :subid("110_1274022883.50471") :method
+.sub "!PREFIX__backslash:sym<o>" :subid("110_1274564774.16047") :method
.annotate 'line', 3
$P386 = self."!PREFIX__!subrule"("octints", "O[")
$P387 = self."!PREFIX__!subrule"("octint", "O")
@@ -4764,7 +4764,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<x>" :subid("111_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "backslash:sym<x>" :subid("111_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx395_tgt
.local int rx395_pos
@@ -4870,7 +4870,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<x>" :subid("112_1274022883.50471") :method
+.sub "!PREFIX__backslash:sym<x>" :subid("112_1274564774.16047") :method
.annotate 'line', 3
$P397 = self."!PREFIX__!subrule"("hexints", "X[")
$P398 = self."!PREFIX__!subrule"("hexint", "X")
@@ -4886,7 +4886,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<c>" :subid("113_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "backslash:sym<c>" :subid("113_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx406_tgt
.local int rx406_pos
@@ -4965,7 +4965,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<c>" :subid("114_1274022883.50471") :method
+.sub "!PREFIX__backslash:sym<c>" :subid("114_1274564774.16047") :method
.annotate 'line', 3
$P408 = self."!PREFIX__!subrule"("charspec", "C")
$P409 = self."!PREFIX__!subrule"("charspec", "c")
@@ -4977,7 +4977,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<A>" :subid("115_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "backslash:sym<A>" :subid("115_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx414_tgt
.local int rx414_pos
@@ -5040,7 +5040,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<A>" :subid("116_1274022883.50471") :method
+.sub "!PREFIX__backslash:sym<A>" :subid("116_1274564774.16047") :method
.annotate 'line', 3
$P416 = self."!PREFIX__!subrule"("", "A")
new $P417, "ResizablePMCArray"
@@ -5050,7 +5050,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<z>" :subid("117_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "backslash:sym<z>" :subid("117_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx420_tgt
.local int rx420_pos
@@ -5113,7 +5113,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<z>" :subid("118_1274022883.50471") :method
+.sub "!PREFIX__backslash:sym<z>" :subid("118_1274564774.16047") :method
.annotate 'line', 3
$P422 = self."!PREFIX__!subrule"("", "z")
new $P423, "ResizablePMCArray"
@@ -5123,7 +5123,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<Z>" :subid("119_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "backslash:sym<Z>" :subid("119_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx426_tgt
.local int rx426_pos
@@ -5186,7 +5186,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<Z>" :subid("120_1274022883.50471") :method
+.sub "!PREFIX__backslash:sym<Z>" :subid("120_1274564774.16047") :method
.annotate 'line', 3
$P428 = self."!PREFIX__!subrule"("", "Z")
new $P429, "ResizablePMCArray"
@@ -5196,7 +5196,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<Q>" :subid("121_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "backslash:sym<Q>" :subid("121_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx432_tgt
.local int rx432_pos
@@ -5259,7 +5259,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<Q>" :subid("122_1274022883.50471") :method
+.sub "!PREFIX__backslash:sym<Q>" :subid("122_1274564774.16047") :method
.annotate 'line', 3
$P434 = self."!PREFIX__!subrule"("", "Q")
new $P435, "ResizablePMCArray"
@@ -5269,7 +5269,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<misc>" :subid("123_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "backslash:sym<misc>" :subid("123_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx438_tgt
.local int rx438_pos
@@ -5326,7 +5326,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<misc>" :subid("124_1274022883.50471") :method
+.sub "!PREFIX__backslash:sym<misc>" :subid("124_1274564774.16047") :method
.annotate 'line', 3
new $P440, "ResizablePMCArray"
push $P440, ""
@@ -5335,7 +5335,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion" :subid("125_1274022883.50471") :method
+.sub "assertion" :subid("125_1274564774.16047") :method
.annotate 'line', 138
$P443 = self."!protoregex"("assertion")
.return ($P443)
@@ -5343,7 +5343,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion" :subid("126_1274022883.50471") :method
+.sub "!PREFIX__assertion" :subid("126_1274564774.16047") :method
.annotate 'line', 138
$P445 = self."!PREFIX__!protoregex"("assertion")
.return ($P445)
@@ -5351,9 +5351,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<?>" :subid("127_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "assertion:sym<?>" :subid("127_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
- .const 'Sub' $P454 = "129_1274022883.50471"
+ .const 'Sub' $P454 = "129_1274564774.16047"
capture_lex $P454
.local string rx447_tgt
.local int rx447_pos
@@ -5397,7 +5397,7 @@
rx447_cur."!mark_push"(0, rx447_pos, $I10)
# rx subrule "before" subtype=zerowidth negate=
rx447_cur."!cursor_pos"(rx447_pos)
- .const 'Sub' $P454 = "129_1274022883.50471"
+ .const 'Sub' $P454 = "129_1274564774.16047"
capture_lex $P454
$P10 = rx447_cur."before"($P454)
unless $P10, rx447_fail
@@ -5430,7 +5430,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<?>" :subid("128_1274022883.50471") :method
+.sub "!PREFIX__assertion:sym<?>" :subid("128_1274564774.16047") :method
.annotate 'line', 3
$P449 = self."!PREFIX__!subrule"("assertion", "?")
new $P450, "ResizablePMCArray"
@@ -5441,7 +5441,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block453" :anon :subid("129_1274022883.50471") :method :outer("127_1274022883.50471")
+.sub "_block453" :anon :subid("129_1274564774.16047") :method :outer("127_1274564774.16047")
.annotate 'line', 140
.local string rx455_tgt
.local int rx455_pos
@@ -5497,9 +5497,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<!>" :subid("130_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "assertion:sym<!>" :subid("130_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
- .const 'Sub' $P465 = "132_1274022883.50471"
+ .const 'Sub' $P465 = "132_1274564774.16047"
capture_lex $P465
.local string rx458_tgt
.local int rx458_pos
@@ -5543,7 +5543,7 @@
rx458_cur."!mark_push"(0, rx458_pos, $I10)
# rx subrule "before" subtype=zerowidth negate=
rx458_cur."!cursor_pos"(rx458_pos)
- .const 'Sub' $P465 = "132_1274022883.50471"
+ .const 'Sub' $P465 = "132_1274564774.16047"
capture_lex $P465
$P10 = rx458_cur."before"($P465)
unless $P10, rx458_fail
@@ -5576,7 +5576,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<!>" :subid("131_1274022883.50471") :method
+.sub "!PREFIX__assertion:sym<!>" :subid("131_1274564774.16047") :method
.annotate 'line', 3
$P460 = self."!PREFIX__!subrule"("assertion", "!")
new $P461, "ResizablePMCArray"
@@ -5587,7 +5587,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block464" :anon :subid("132_1274022883.50471") :method :outer("130_1274022883.50471")
+.sub "_block464" :anon :subid("132_1274564774.16047") :method :outer("130_1274564774.16047")
.annotate 'line', 141
.local string rx466_tgt
.local int rx466_pos
@@ -5643,7 +5643,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<method>" :subid("133_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "assertion:sym<method>" :subid("133_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx469_tgt
.local int rx469_pos
@@ -5709,7 +5709,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<method>" :subid("134_1274022883.50471") :method
+.sub "!PREFIX__assertion:sym<method>" :subid("134_1274564774.16047") :method
.annotate 'line', 3
$P471 = self."!PREFIX__!subrule"("assertion", ".")
new $P472, "ResizablePMCArray"
@@ -5719,9 +5719,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<name>" :subid("135_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "assertion:sym<name>" :subid("135_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
- .const 'Sub' $P483 = "137_1274022883.50471"
+ .const 'Sub' $P483 = "137_1274564774.16047"
capture_lex $P483
.local string rx475_tgt
.local int rx475_pos
@@ -5786,7 +5786,7 @@
.annotate 'line', 150
# rx subrule "before" subtype=zerowidth negate=
rx475_cur."!cursor_pos"(rx475_pos)
- .const 'Sub' $P483 = "137_1274022883.50471"
+ .const 'Sub' $P483 = "137_1274564774.16047"
capture_lex $P483
$P10 = rx475_cur."before"($P483)
unless $P10, rx475_fail
@@ -5893,7 +5893,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<name>" :subid("136_1274022883.50471") :method
+.sub "!PREFIX__assertion:sym<name>" :subid("136_1274564774.16047") :method
.annotate 'line', 3
new $P477, "ResizablePMCArray"
push $P477, ""
@@ -5902,7 +5902,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block482" :anon :subid("137_1274022883.50471") :method :outer("135_1274022883.50471")
+.sub "_block482" :anon :subid("137_1274564774.16047") :method :outer("135_1274564774.16047")
.annotate 'line', 150
.local string rx484_tgt
.local int rx484_pos
@@ -5958,9 +5958,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<[>" :subid("138_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "assertion:sym<[>" :subid("138_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
- .const 'Sub' $P493 = "140_1274022883.50471"
+ .const 'Sub' $P493 = "140_1274564774.16047"
capture_lex $P493
.local string rx488_tgt
.local int rx488_pos
@@ -5995,7 +5995,7 @@
.annotate 'line', 158
# rx subrule "before" subtype=zerowidth negate=
rx488_cur."!cursor_pos"(rx488_pos)
- .const 'Sub' $P493 = "140_1274022883.50471"
+ .const 'Sub' $P493 = "140_1274564774.16047"
capture_lex $P493
$P10 = rx488_cur."before"($P493)
unless $P10, rx488_fail
@@ -6033,7 +6033,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<[>" :subid("139_1274022883.50471") :method
+.sub "!PREFIX__assertion:sym<[>" :subid("139_1274564774.16047") :method
.annotate 'line', 3
new $P490, "ResizablePMCArray"
push $P490, ""
@@ -6042,7 +6042,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block492" :anon :subid("140_1274022883.50471") :method :outer("138_1274022883.50471")
+.sub "_block492" :anon :subid("140_1274564774.16047") :method :outer("138_1274564774.16047")
.annotate 'line', 158
.local string rx494_tgt
.local int rx494_pos
@@ -6122,9 +6122,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "cclass_elem" :subid("141_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "cclass_elem" :subid("141_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
- .const 'Sub' $P511 = "143_1274022883.50471"
+ .const 'Sub' $P511 = "143_1274564774.16047"
capture_lex $P511
.local string rx500_tgt
.local int rx500_pos
@@ -6227,7 +6227,7 @@
.annotate 'line', 164
# rx subrule $P511 subtype=capture negate=
rx500_cur."!cursor_pos"(rx500_pos)
- .const 'Sub' $P511 = "143_1274022883.50471"
+ .const 'Sub' $P511 = "143_1274564774.16047"
capture_lex $P511
$P10 = rx500_cur.$P511()
unless $P10, rx500_fail
@@ -6308,7 +6308,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__cclass_elem" :subid("142_1274022883.50471") :method
+.sub "!PREFIX__cclass_elem" :subid("142_1274564774.16047") :method
.annotate 'line', 3
new $P502, "ResizablePMCArray"
push $P502, ""
@@ -6319,13 +6319,13 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block510" :anon :subid("143_1274022883.50471") :method :outer("141_1274022883.50471")
+.sub "_block510" :anon :subid("143_1274564774.16047") :method :outer("141_1274564774.16047")
.annotate 'line', 164
- .const 'Sub' $P526 = "146_1274022883.50471"
+ .const 'Sub' $P526 = "146_1274564774.16047"
capture_lex $P526
- .const 'Sub' $P521 = "145_1274022883.50471"
+ .const 'Sub' $P521 = "145_1274564774.16047"
capture_lex $P521
- .const 'Sub' $P517 = "144_1274022883.50471"
+ .const 'Sub' $P517 = "144_1274564774.16047"
capture_lex $P517
.local string rx512_tgt
.local int rx512_pos
@@ -6396,7 +6396,7 @@
add rx512_pos, 1
# rx subrule $P517 subtype=capture negate=
rx512_cur."!cursor_pos"(rx512_pos)
- .const 'Sub' $P517 = "144_1274022883.50471"
+ .const 'Sub' $P517 = "144_1274564774.16047"
capture_lex $P517
$P10 = rx512_cur.$P517()
unless $P10, rx512_fail
@@ -6407,7 +6407,7 @@
alt515_1:
# rx subrule $P521 subtype=capture negate=
rx512_cur."!cursor_pos"(rx512_pos)
- .const 'Sub' $P521 = "145_1274022883.50471"
+ .const 'Sub' $P521 = "145_1274564774.16047"
capture_lex $P521
$P10 = rx512_cur.$P521()
unless $P10, rx512_fail
@@ -6436,7 +6436,7 @@
add rx512_pos, rx512_off, $I11
# rx subrule $P526 subtype=capture negate=
rx512_cur."!cursor_pos"(rx512_pos)
- .const 'Sub' $P526 = "146_1274022883.50471"
+ .const 'Sub' $P526 = "146_1274564774.16047"
capture_lex $P526
$P10 = rx512_cur.$P526()
unless $P10, rx512_fail
@@ -6465,7 +6465,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block516" :anon :subid("144_1274022883.50471") :method :outer("143_1274022883.50471")
+.sub "_block516" :anon :subid("144_1274564774.16047") :method :outer("143_1274564774.16047")
.annotate 'line', 166
.local string rx518_tgt
.local int rx518_pos
@@ -6517,7 +6517,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block520" :anon :subid("145_1274022883.50471") :method :outer("143_1274022883.50471")
+.sub "_block520" :anon :subid("145_1274564774.16047") :method :outer("143_1274564774.16047")
.annotate 'line', 166
.local string rx522_tgt
.local int rx522_pos
@@ -6573,7 +6573,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block525" :anon :subid("146_1274022883.50471") :method :outer("143_1274022883.50471")
+.sub "_block525" :anon :subid("146_1274564774.16047") :method :outer("143_1274564774.16047")
.annotate 'line', 166
.local string rx527_tgt
.local int rx527_pos
@@ -6625,9 +6625,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_internal" :subid("147_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "mod_internal" :subid("147_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
- .const 'Sub' $P543 = "149_1274022883.50471"
+ .const 'Sub' $P543 = "149_1274564774.16047"
capture_lex $P543
.local string rx535_tgt
.local int rx535_pos
@@ -6677,7 +6677,7 @@
rxquantr541_loop:
# rx subrule $P543 subtype=capture negate=
rx535_cur."!cursor_pos"(rx535_pos)
- .const 'Sub' $P543 = "149_1274022883.50471"
+ .const 'Sub' $P543 = "149_1274564774.16047"
capture_lex $P543
$P10 = rx535_cur.$P543()
unless $P10, rx535_fail
@@ -6779,7 +6779,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_internal" :subid("148_1274022883.50471") :method
+.sub "!PREFIX__mod_internal" :subid("148_1274564774.16047") :method
.annotate 'line', 3
$P537 = self."!PREFIX__!subrule"("mod_ident", ":")
new $P538, "ResizablePMCArray"
@@ -6790,7 +6790,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block542" :anon :subid("149_1274022883.50471") :method :outer("147_1274022883.50471")
+.sub "_block542" :anon :subid("149_1274564774.16047") :method :outer("147_1274564774.16047")
.annotate 'line', 176
.local string rx544_tgt
.local int rx544_pos
@@ -6858,7 +6858,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident" :subid("150_1274022883.50471") :method
+.sub "mod_ident" :subid("150_1274564774.16047") :method
.annotate 'line', 181
$P552 = self."!protoregex"("mod_ident")
.return ($P552)
@@ -6866,7 +6866,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident" :subid("151_1274022883.50471") :method
+.sub "!PREFIX__mod_ident" :subid("151_1274564774.16047") :method
.annotate 'line', 181
$P554 = self."!PREFIX__!protoregex"("mod_ident")
.return ($P554)
@@ -6874,7 +6874,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident:sym<ignorecase>" :subid("152_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "mod_ident:sym<ignorecase>" :subid("152_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx556_tgt
.local int rx556_pos
@@ -6959,7 +6959,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident:sym<ignorecase>" :subid("153_1274022883.50471") :method
+.sub "!PREFIX__mod_ident:sym<ignorecase>" :subid("153_1274564774.16047") :method
.annotate 'line', 3
new $P558, "ResizablePMCArray"
push $P558, "i"
@@ -6968,7 +6968,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident:sym<ratchet>" :subid("154_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "mod_ident:sym<ratchet>" :subid("154_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx564_tgt
.local int rx564_pos
@@ -7053,7 +7053,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident:sym<ratchet>" :subid("155_1274022883.50471") :method
+.sub "!PREFIX__mod_ident:sym<ratchet>" :subid("155_1274564774.16047") :method
.annotate 'line', 3
new $P566, "ResizablePMCArray"
push $P566, "r"
@@ -7062,7 +7062,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident:sym<sigspace>" :subid("156_1274022883.50471") :method :outer("11_1274022883.50471")
+.sub "mod_ident:sym<sigspace>" :subid("156_1274564774.16047") :method :outer("11_1274564774.16047")
.annotate 'line', 3
.local string rx572_tgt
.local int rx572_pos
@@ -7147,7 +7147,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident:sym<sigspace>" :subid("157_1274022883.50471") :method
+.sub "!PREFIX__mod_ident:sym<sigspace>" :subid("157_1274564774.16047") :method
.annotate 'line', 3
new $P574, "ResizablePMCArray"
push $P574, "s"
@@ -7156,18 +7156,18 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block579" :load :anon :subid("158_1274022883.50471")
+.sub "_block579" :load :anon :subid("158_1274564774.16047")
.annotate 'line', 3
- .const 'Sub' $P581 = "11_1274022883.50471"
+ .const 'Sub' $P581 = "11_1274564774.16047"
$P582 = $P581()
.return ($P582)
.end
.namespace []
-.sub "_block584" :load :anon :subid("159_1274022883.50471")
+.sub "_block584" :load :anon :subid("159_1274564774.16047")
.annotate 'line', 1
- .const 'Sub' $P586 = "10_1274022883.50471"
+ .const 'Sub' $P586 = "10_1274564774.16047"
$P587 = $P586()
.return ($P587)
.end
@@ -7175,7 +7175,7 @@
### .include 'gen/p6regex-actions.pir'
.namespace []
-.sub "_block11" :anon :subid("10_1274022889.08438")
+.sub "_block11" :anon :subid("10_1274564778.23532")
.annotate 'line', 0
get_hll_global $P14, ["Regex";"P6Regex";"Actions"], "_block13"
capture_lex $P14
@@ -7185,15 +7185,15 @@
$P1572 = $P14()
.annotate 'line', 1
.return ($P1572)
- .const 'Sub' $P1574 = "90_1274022889.08438"
+ .const 'Sub' $P1574 = "90_1274564778.23532"
.return ($P1574)
.end
.namespace []
-.sub "" :load :init :subid("post91") :outer("10_1274022889.08438")
+.sub "" :load :init :subid("post91") :outer("10_1274564778.23532")
.annotate 'line', 0
- .const 'Sub' $P12 = "10_1274022889.08438"
+ .const 'Sub' $P12 = "10_1274564778.23532"
.local pmc block
set block, $P12
$P1577 = get_root_global ["parrot"], "P6metaclass"
@@ -7202,115 +7202,115 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block13" :subid("11_1274022889.08438") :outer("10_1274022889.08438")
+.sub "_block13" :subid("11_1274564778.23532") :outer("10_1274564778.23532")
.annotate 'line', 4
- .const 'Sub' $P1534 = "88_1274022889.08438"
+ .const 'Sub' $P1534 = "88_1274564778.23532"
capture_lex $P1534
- .const 'Sub' $P1465 = "84_1274022889.08438"
+ .const 'Sub' $P1465 = "84_1274564778.23532"
capture_lex $P1465
- .const 'Sub' $P1397 = "82_1274022889.08438"
+ .const 'Sub' $P1397 = "82_1274564778.23532"
capture_lex $P1397
- .const 'Sub' $P1324 = "79_1274022889.08438"
+ .const 'Sub' $P1324 = "79_1274564778.23532"
capture_lex $P1324
- .const 'Sub' $P1310 = "78_1274022889.08438"
+ .const 'Sub' $P1310 = "78_1274564778.23532"
capture_lex $P1310
- .const 'Sub' $P1286 = "77_1274022889.08438"
+ .const 'Sub' $P1286 = "77_1274564778.23532"
capture_lex $P1286
- .const 'Sub' $P1268 = "76_1274022889.08438"
+ .const 'Sub' $P1268 = "76_1274564778.23532"
capture_lex $P1268
- .const 'Sub' $P1254 = "75_1274022889.08438"
+ .const 'Sub' $P1254 = "75_1274564778.23532"
capture_lex $P1254
- .const 'Sub' $P1241 = "74_1274022889.08438"
+ .const 'Sub' $P1241 = "74_1274564778.23532"
capture_lex $P1241
- .const 'Sub' $P1210 = "73_1274022889.08438"
+ .const 'Sub' $P1210 = "73_1274564778.23532"
capture_lex $P1210
- .const 'Sub' $P1179 = "72_1274022889.08438"
+ .const 'Sub' $P1179 = "72_1274564778.23532"
capture_lex $P1179
- .const 'Sub' $P1163 = "71_1274022889.08438"
+ .const 'Sub' $P1163 = "71_1274564778.23532"
capture_lex $P1163
- .const 'Sub' $P1147 = "70_1274022889.08438"
+ .const 'Sub' $P1147 = "70_1274564778.23532"
capture_lex $P1147
- .const 'Sub' $P1131 = "69_1274022889.08438"
+ .const 'Sub' $P1131 = "69_1274564778.23532"
capture_lex $P1131
- .const 'Sub' $P1115 = "68_1274022889.08438"
+ .const 'Sub' $P1115 = "68_1274564778.23532"
capture_lex $P1115
- .const 'Sub' $P1099 = "67_1274022889.08438"
+ .const 'Sub' $P1099 = "67_1274564778.23532"
capture_lex $P1099
- .const 'Sub' $P1083 = "66_1274022889.08438"
+ .const 'Sub' $P1083 = "66_1274564778.23532"
capture_lex $P1083
- .const 'Sub' $P1067 = "65_1274022889.08438"
+ .const 'Sub' $P1067 = "65_1274564778.23532"
capture_lex $P1067
- .const 'Sub' $P1043 = "64_1274022889.08438"
+ .const 'Sub' $P1043 = "64_1274564778.23532"
capture_lex $P1043
- .const 'Sub' $P1028 = "63_1274022889.08438"
+ .const 'Sub' $P1028 = "63_1274564778.23532"
capture_lex $P1028
- .const 'Sub' $P972 = "62_1274022889.08438"
+ .const 'Sub' $P972 = "62_1274564778.23532"
capture_lex $P972
- .const 'Sub' $P951 = "61_1274022889.08438"
+ .const 'Sub' $P951 = "61_1274564778.23532"
capture_lex $P951
- .const 'Sub' $P929 = "60_1274022889.08438"
+ .const 'Sub' $P929 = "60_1274564778.23532"
capture_lex $P929
- .const 'Sub' $P919 = "59_1274022889.08438"
+ .const 'Sub' $P919 = "59_1274564778.23532"
capture_lex $P919
- .const 'Sub' $P909 = "58_1274022889.08438"
+ .const 'Sub' $P909 = "58_1274564778.23532"
capture_lex $P909
- .const 'Sub' $P899 = "57_1274022889.08438"
+ .const 'Sub' $P899 = "57_1274564778.23532"
capture_lex $P899
- .const 'Sub' $P887 = "56_1274022889.08438"
+ .const 'Sub' $P887 = "56_1274564778.23532"
capture_lex $P887
- .const 'Sub' $P875 = "55_1274022889.08438"
+ .const 'Sub' $P875 = "55_1274564778.23532"
capture_lex $P875
- .const 'Sub' $P863 = "54_1274022889.08438"
+ .const 'Sub' $P863 = "54_1274564778.23532"
capture_lex $P863
- .const 'Sub' $P851 = "53_1274022889.08438"
+ .const 'Sub' $P851 = "53_1274564778.23532"
capture_lex $P851
- .const 'Sub' $P839 = "52_1274022889.08438"
+ .const 'Sub' $P839 = "52_1274564778.23532"
capture_lex $P839
- .const 'Sub' $P827 = "51_1274022889.08438"
+ .const 'Sub' $P827 = "51_1274564778.23532"
capture_lex $P827
- .const 'Sub' $P815 = "50_1274022889.08438"
+ .const 'Sub' $P815 = "50_1274564778.23532"
capture_lex $P815
- .const 'Sub' $P803 = "49_1274022889.08438"
+ .const 'Sub' $P803 = "49_1274564778.23532"
capture_lex $P803
- .const 'Sub' $P780 = "48_1274022889.08438"
+ .const 'Sub' $P780 = "48_1274564778.23532"
capture_lex $P780
- .const 'Sub' $P757 = "47_1274022889.08438"
+ .const 'Sub' $P757 = "47_1274564778.23532"
capture_lex $P757
- .const 'Sub' $P739 = "46_1274022889.08438"
+ .const 'Sub' $P739 = "46_1274564778.23532"
capture_lex $P739
- .const 'Sub' $P729 = "45_1274022889.08438"
+ .const 'Sub' $P729 = "45_1274564778.23532"
capture_lex $P729
- .const 'Sub' $P711 = "44_1274022889.08438"
+ .const 'Sub' $P711 = "44_1274564778.23532"
capture_lex $P711
- .const 'Sub' $P664 = "43_1274022889.08438"
+ .const 'Sub' $P664 = "43_1274564778.23532"
capture_lex $P664
- .const 'Sub' $P647 = "42_1274022889.08438"
+ .const 'Sub' $P647 = "42_1274564778.23532"
capture_lex $P647
- .const 'Sub' $P632 = "41_1274022889.08438"
+ .const 'Sub' $P632 = "41_1274564778.23532"
capture_lex $P632
- .const 'Sub' $P617 = "40_1274022889.08438"
+ .const 'Sub' $P617 = "40_1274564778.23532"
capture_lex $P617
- .const 'Sub' $P591 = "39_1274022889.08438"
+ .const 'Sub' $P591 = "39_1274564778.23532"
capture_lex $P591
- .const 'Sub' $P541 = "37_1274022889.08438"
+ .const 'Sub' $P541 = "37_1274564778.23532"
capture_lex $P541
- .const 'Sub' $P473 = "35_1274022889.08438"
+ .const 'Sub' $P473 = "35_1274564778.23532"
capture_lex $P473
- .const 'Sub' $P418 = "32_1274022889.08438"
+ .const 'Sub' $P418 = "32_1274564778.23532"
capture_lex $P418
- .const 'Sub' $P403 = "31_1274022889.08438"
+ .const 'Sub' $P403 = "31_1274564778.23532"
capture_lex $P403
- .const 'Sub' $P377 = "29_1274022889.08438"
+ .const 'Sub' $P377 = "29_1274564778.23532"
capture_lex $P377
- .const 'Sub' $P360 = "28_1274022889.08438"
+ .const 'Sub' $P360 = "28_1274564778.23532"
capture_lex $P360
- .const 'Sub' $P338 = "27_1274022889.08438"
+ .const 'Sub' $P338 = "27_1274564778.23532"
capture_lex $P338
- .const 'Sub' $P305 = "26_1274022889.08438"
+ .const 'Sub' $P305 = "26_1274564778.23532"
capture_lex $P305
- .const 'Sub' $P50 = "13_1274022889.08438"
+ .const 'Sub' $P50 = "13_1274564778.23532"
capture_lex $P50
- .const 'Sub' $P16 = "12_1274022889.08438"
+ .const 'Sub' $P16 = "12_1274564778.23532"
capture_lex $P16
get_global $P15, "@MODIFIERS"
unless_null $P15, vivify_93
@@ -7318,19 +7318,19 @@
set_global "@MODIFIERS", $P15
vivify_93:
.annotate 'line', 479
- .const 'Sub' $P16 = "12_1274022889.08438"
+ .const 'Sub' $P16 = "12_1274564778.23532"
newclosure $P49, $P16
.lex "buildsub", $P49
.annotate 'line', 496
- .const 'Sub' $P50 = "13_1274022889.08438"
+ .const 'Sub' $P50 = "13_1274564778.23532"
newclosure $P304, $P50
.lex "capnames", $P304
.annotate 'line', 562
- .const 'Sub' $P305 = "26_1274022889.08438"
+ .const 'Sub' $P305 = "26_1274564778.23532"
newclosure $P337, $P305
.lex "backmod", $P337
.annotate 'line', 569
- .const 'Sub' $P338 = "27_1274022889.08438"
+ .const 'Sub' $P338 = "27_1274564778.23532"
newclosure $P358, $P338
.lex "subrule_alias", $P358
.annotate 'line', 4
@@ -7342,13 +7342,13 @@
find_lex $P1566, "subrule_alias"
.annotate 'line', 4
.return ($P1566)
- .const 'Sub' $P1568 = "89_1274022889.08438"
+ .const 'Sub' $P1568 = "89_1274564778.23532"
.return ($P1568)
.end
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "" :load :init :subid("post92") :outer("11_1274022889.08438")
+.sub "" :load :init :subid("post92") :outer("11_1274564778.23532")
.annotate 'line', 4
get_hll_global $P14, ["Regex";"P6Regex";"Actions"], "_block13"
.local pmc block
@@ -7364,7 +7364,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "buildsub" :subid("12_1274022889.08438") :outer("11_1274022889.08438")
+.sub "buildsub" :subid("12_1274564778.23532") :outer("11_1274564778.23532")
.param pmc param_19
.param pmc param_20 :optional
.param int has_param_20 :opt_flag
@@ -7441,19 +7441,19 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "capnames" :subid("13_1274022889.08438") :outer("11_1274022889.08438")
+.sub "capnames" :subid("13_1274564778.23532") :outer("11_1274564778.23532")
.param pmc param_53
.param pmc param_54
.annotate 'line', 496
- .const 'Sub' $P279 = "24_1274022889.08438"
+ .const 'Sub' $P279 = "24_1274564778.23532"
capture_lex $P279
- .const 'Sub' $P216 = "21_1274022889.08438"
+ .const 'Sub' $P216 = "21_1274564778.23532"
capture_lex $P216
- .const 'Sub' $P174 = "19_1274022889.08438"
+ .const 'Sub' $P174 = "19_1274564778.23532"
capture_lex $P174
- .const 'Sub' $P132 = "17_1274022889.08438"
+ .const 'Sub' $P132 = "17_1274564778.23532"
capture_lex $P132
- .const 'Sub' $P65 = "14_1274022889.08438"
+ .const 'Sub' $P65 = "14_1274564778.23532"
capture_lex $P65
new $P52, 'ExceptionHandler'
set_addr $P52, control_51
@@ -7509,21 +7509,21 @@
set $S276, $P275
iseq $I277, $S276, "quant"
unless $I277, if_274_end
- .const 'Sub' $P279 = "24_1274022889.08438"
+ .const 'Sub' $P279 = "24_1274564778.23532"
capture_lex $P279
$P279()
if_274_end:
goto if_211_end
if_211:
.annotate 'line', 534
- .const 'Sub' $P216 = "21_1274022889.08438"
+ .const 'Sub' $P216 = "21_1274564778.23532"
capture_lex $P216
$P216()
if_211_end:
goto if_164_end
if_164:
.annotate 'line', 521
- .const 'Sub' $P174 = "19_1274022889.08438"
+ .const 'Sub' $P174 = "19_1274564778.23532"
capture_lex $P174
$P174()
if_164_end:
@@ -7543,7 +7543,7 @@
unless $P126, loop161_done
shift $P130, $P126
loop161_redo:
- .const 'Sub' $P132 = "17_1274022889.08438"
+ .const 'Sub' $P132 = "17_1274564778.23532"
capture_lex $P132
$P132($P130)
loop161_next:
@@ -7562,7 +7562,7 @@
goto if_60_end
if_60:
.annotate 'line', 499
- .const 'Sub' $P65 = "14_1274022889.08438"
+ .const 'Sub' $P65 = "14_1274564778.23532"
capture_lex $P65
$P65()
if_60_end:
@@ -7586,9 +7586,9 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block278" :anon :subid("24_1274022889.08438") :outer("13_1274022889.08438")
+.sub "_block278" :anon :subid("24_1274564778.23532") :outer("13_1274564778.23532")
.annotate 'line', 551
- .const 'Sub' $P290 = "25_1274022889.08438"
+ .const 'Sub' $P290 = "25_1274564778.23532"
capture_lex $P290
.annotate 'line', 552
$P280 = root_new ['parrot';'Hash']
@@ -7617,7 +7617,7 @@
unless $P285, loop295_done
shift $P288, $P285
loop295_redo:
- .const 'Sub' $P290 = "25_1274022889.08438"
+ .const 'Sub' $P290 = "25_1274564778.23532"
capture_lex $P290
$P290($P288)
loop295_next:
@@ -7647,7 +7647,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block289" :anon :subid("25_1274022889.08438") :outer("24_1274022889.08438")
+.sub "_block289" :anon :subid("25_1274564778.23532") :outer("24_1274564778.23532")
.param pmc param_291
.annotate 'line', 553
.lex "$_", param_291
@@ -7667,11 +7667,11 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block215" :anon :subid("21_1274022889.08438") :outer("13_1274022889.08438")
+.sub "_block215" :anon :subid("21_1274564778.23532") :outer("13_1274564778.23532")
.annotate 'line', 534
- .const 'Sub' $P256 = "23_1274022889.08438"
+ .const 'Sub' $P256 = "23_1274564778.23532"
capture_lex $P256
- .const 'Sub' $P228 = "22_1274022889.08438"
+ .const 'Sub' $P228 = "22_1274564778.23532"
capture_lex $P228
.annotate 'line', 535
new $P217, "Undef"
@@ -7706,7 +7706,7 @@
unless $P223, loop244_done
shift $P226, $P223
loop244_redo:
- .const 'Sub' $P228 = "22_1274022889.08438"
+ .const 'Sub' $P228 = "22_1274564778.23532"
capture_lex $P228
$P228($P226)
loop244_next:
@@ -7745,7 +7745,7 @@
unless $P251, loop269_done
shift $P254, $P251
loop269_redo:
- .const 'Sub' $P256 = "23_1274022889.08438"
+ .const 'Sub' $P256 = "23_1274564778.23532"
capture_lex $P256
$P256($P254)
loop269_next:
@@ -7775,7 +7775,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block227" :anon :subid("22_1274022889.08438") :outer("21_1274022889.08438")
+.sub "_block227" :anon :subid("22_1274564778.23532") :outer("21_1274564778.23532")
.param pmc param_229
.annotate 'line', 541
.lex "$_", param_229
@@ -7815,7 +7815,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block255" :anon :subid("23_1274022889.08438") :outer("21_1274022889.08438")
+.sub "_block255" :anon :subid("23_1274564778.23532") :outer("21_1274564778.23532")
.param pmc param_257
.annotate 'line', 546
.lex "$_", param_257
@@ -7855,9 +7855,9 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block173" :anon :subid("19_1274022889.08438") :outer("13_1274022889.08438")
+.sub "_block173" :anon :subid("19_1274564778.23532") :outer("13_1274564778.23532")
.annotate 'line', 521
- .const 'Sub' $P192 = "20_1274022889.08438"
+ .const 'Sub' $P192 = "20_1274564778.23532"
capture_lex $P192
.annotate 'line', 522
new $P175, "Undef"
@@ -7900,7 +7900,7 @@
unless $P187, loop208_done
shift $P190, $P187
loop208_redo:
- .const 'Sub' $P192 = "20_1274022889.08438"
+ .const 'Sub' $P192 = "20_1274564778.23532"
capture_lex $P192
$P192($P190)
loop208_next:
@@ -7920,7 +7920,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block191" :anon :subid("20_1274022889.08438") :outer("19_1274022889.08438")
+.sub "_block191" :anon :subid("20_1274564778.23532") :outer("19_1274564778.23532")
.param pmc param_193
.annotate 'line', 529
.lex "$_", param_193
@@ -7960,10 +7960,10 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block131" :anon :subid("17_1274022889.08438") :outer("13_1274022889.08438")
+.sub "_block131" :anon :subid("17_1274564778.23532") :outer("13_1274564778.23532")
.param pmc param_134
.annotate 'line', 513
- .const 'Sub' $P143 = "18_1274022889.08438"
+ .const 'Sub' $P143 = "18_1274564778.23532"
capture_lex $P143
.annotate 'line', 514
$P133 = root_new ['parrot';'Hash']
@@ -7986,7 +7986,7 @@
unless $P138, loop156_done
shift $P141, $P138
loop156_redo:
- .const 'Sub' $P143 = "18_1274022889.08438"
+ .const 'Sub' $P143 = "18_1274564778.23532"
capture_lex $P143
$P143($P141)
loop156_next:
@@ -8016,7 +8016,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block142" :anon :subid("18_1274022889.08438") :outer("17_1274022889.08438")
+.sub "_block142" :anon :subid("18_1274564778.23532") :outer("17_1274564778.23532")
.param pmc param_144
.annotate 'line', 515
.lex "$_", param_144
@@ -8056,9 +8056,9 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block64" :anon :subid("14_1274022889.08438") :outer("13_1274022889.08438")
+.sub "_block64" :anon :subid("14_1274564778.23532") :outer("13_1274564778.23532")
.annotate 'line', 499
- .const 'Sub' $P74 = "15_1274022889.08438"
+ .const 'Sub' $P74 = "15_1274564778.23532"
capture_lex $P74
.annotate 'line', 500
new $P66, "Undef"
@@ -8079,7 +8079,7 @@
unless $P68, loop118_done
shift $P72, $P68
loop118_redo:
- .const 'Sub' $P74 = "15_1274022889.08438"
+ .const 'Sub' $P74 = "15_1274564778.23532"
capture_lex $P74
$P74($P72)
loop118_next:
@@ -8102,10 +8102,10 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block73" :anon :subid("15_1274022889.08438") :outer("14_1274022889.08438")
+.sub "_block73" :anon :subid("15_1274564778.23532") :outer("14_1274564778.23532")
.param pmc param_76
.annotate 'line', 501
- .const 'Sub' $P85 = "16_1274022889.08438"
+ .const 'Sub' $P85 = "16_1274564778.23532"
capture_lex $P85
.annotate 'line', 502
$P75 = root_new ['parrot';'Hash']
@@ -8128,7 +8128,7 @@
unless $P80, loop105_done
shift $P83, $P80
loop105_redo:
- .const 'Sub' $P85 = "16_1274022889.08438"
+ .const 'Sub' $P85 = "16_1274564778.23532"
capture_lex $P85
$P85($P83)
loop105_next:
@@ -8177,7 +8177,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block84" :anon :subid("16_1274022889.08438") :outer("15_1274022889.08438")
+.sub "_block84" :anon :subid("16_1274564778.23532") :outer("15_1274564778.23532")
.param pmc param_86
.annotate 'line', 503
.lex "$_", param_86
@@ -8236,7 +8236,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backmod" :subid("26_1274022889.08438") :outer("11_1274022889.08438")
+.sub "backmod" :subid("26_1274564778.23532") :outer("11_1274564778.23532")
.param pmc param_308
.param pmc param_309
.annotate 'line', 562
@@ -8310,7 +8310,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "subrule_alias" :subid("27_1274022889.08438") :outer("11_1274022889.08438")
+.sub "subrule_alias" :subid("27_1274564778.23532") :outer("11_1274564778.23532")
.param pmc param_341
.param pmc param_342
.annotate 'line', 569
@@ -8354,7 +8354,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "arg" :subid("28_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "arg" :subid("28_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_363
.annotate 'line', 14
new $P362, 'ExceptionHandler'
@@ -8410,10 +8410,10 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "arglist" :subid("29_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "arglist" :subid("29_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_380
.annotate 'line', 18
- .const 'Sub' $P390 = "30_1274022889.08438"
+ .const 'Sub' $P390 = "30_1274564778.23532"
capture_lex $P390
new $P379, 'ExceptionHandler'
set_addr $P379, control_378
@@ -8447,7 +8447,7 @@
unless $P384, loop396_done
shift $P388, $P384
loop396_redo:
- .const 'Sub' $P390 = "30_1274022889.08438"
+ .const 'Sub' $P390 = "30_1274564778.23532"
capture_lex $P390
$P390($P388)
loop396_next:
@@ -8476,7 +8476,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block389" :anon :subid("30_1274022889.08438") :outer("29_1274022889.08438")
+.sub "_block389" :anon :subid("30_1274564778.23532") :outer("29_1274564778.23532")
.param pmc param_391
.annotate 'line', 20
.lex "$_", param_391
@@ -8489,7 +8489,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "TOP" :subid("31_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "TOP" :subid("31_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_406
.annotate 'line', 24
new $P405, 'ExceptionHandler'
@@ -8531,14 +8531,14 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "nibbler" :subid("32_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "nibbler" :subid("32_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_421
.param pmc param_422 :optional
.param int has_param_422 :opt_flag
.annotate 'line', 30
- .const 'Sub' $P456 = "34_1274022889.08438"
+ .const 'Sub' $P456 = "34_1274564778.23532"
capture_lex $P456
- .const 'Sub' $P430 = "33_1274022889.08438"
+ .const 'Sub' $P430 = "33_1274564778.23532"
capture_lex $P430
new $P420, 'ExceptionHandler'
set_addr $P420, control_419
@@ -8559,7 +8559,7 @@
set $S427, $P426
iseq $I428, $S427, "open"
unless $I428, if_425_end
- .const 'Sub' $P430 = "33_1274022889.08438"
+ .const 'Sub' $P430 = "33_1274564778.23532"
capture_lex $P430
$P430()
if_425_end:
@@ -8622,7 +8622,7 @@
unless $P450, loop462_done
shift $P454, $P450
loop462_redo:
- .const 'Sub' $P456 = "34_1274022889.08438"
+ .const 'Sub' $P456 = "34_1274564778.23532"
capture_lex $P456
$P456($P454)
loop462_next:
@@ -8652,7 +8652,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block429" :anon :subid("33_1274022889.08438") :outer("32_1274022889.08438")
+.sub "_block429" :anon :subid("33_1274564778.23532") :outer("32_1274564778.23532")
.annotate 'line', 32
$P431 = root_new ['parrot';'Hash']
.lex "%old", $P431
@@ -8692,7 +8692,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block455" :anon :subid("34_1274022889.08438") :outer("32_1274022889.08438")
+.sub "_block455" :anon :subid("34_1274564778.23532") :outer("32_1274564778.23532")
.param pmc param_457
.annotate 'line', 45
.lex "$_", param_457
@@ -8707,10 +8707,10 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "termish" :subid("35_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "termish" :subid("35_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_476
.annotate 'line', 55
- .const 'Sub' $P489 = "36_1274022889.08438"
+ .const 'Sub' $P489 = "36_1274564778.23532"
capture_lex $P489
new $P475, 'ExceptionHandler'
set_addr $P475, control_474
@@ -8753,7 +8753,7 @@
unless $P483, loop534_done
shift $P487, $P483
loop534_redo:
- .const 'Sub' $P489 = "36_1274022889.08438"
+ .const 'Sub' $P489 = "36_1274564778.23532"
capture_lex $P489
$P489($P487)
loop534_next:
@@ -8782,7 +8782,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block488" :anon :subid("36_1274022889.08438") :outer("35_1274022889.08438")
+.sub "_block488" :anon :subid("36_1274564778.23532") :outer("35_1274564778.23532")
.param pmc param_491
.annotate 'line', 59
new $P490, "Undef"
@@ -8909,10 +8909,10 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantified_atom" :subid("37_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "quantified_atom" :subid("37_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_544
.annotate 'line', 76
- .const 'Sub' $P553 = "38_1274022889.08438"
+ .const 'Sub' $P553 = "38_1274564778.23532"
capture_lex $P553
new $P543, 'ExceptionHandler'
set_addr $P543, control_542
@@ -8975,7 +8975,7 @@
goto if_549_end
if_549:
.annotate 'line', 78
- .const 'Sub' $P553 = "38_1274022889.08438"
+ .const 'Sub' $P553 = "38_1274564778.23532"
capture_lex $P553
$P553()
if_549_end:
@@ -9029,7 +9029,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block552" :anon :subid("38_1274022889.08438") :outer("37_1274022889.08438")
+.sub "_block552" :anon :subid("38_1274564778.23532") :outer("37_1274564778.23532")
.annotate 'line', 80
new $P554, "Undef"
.lex "$qast", $P554
@@ -9068,7 +9068,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "atom" :subid("39_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "atom" :subid("39_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_594
.annotate 'line', 91
new $P593, 'ExceptionHandler'
@@ -9146,7 +9146,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<*>" :subid("40_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "quantifier:sym<*>" :subid("40_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_620
.annotate 'line', 101
new $P619, 'ExceptionHandler'
@@ -9186,7 +9186,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<+>" :subid("41_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "quantifier:sym<+>" :subid("41_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_635
.annotate 'line', 106
new $P634, 'ExceptionHandler'
@@ -9226,7 +9226,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<?>" :subid("42_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "quantifier:sym<?>" :subid("42_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_650
.annotate 'line', 111
new $P649, 'ExceptionHandler'
@@ -9270,7 +9270,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<**>" :subid("43_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "quantifier:sym<**>" :subid("43_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_667
.annotate 'line', 117
new $P666, 'ExceptionHandler'
@@ -9410,7 +9410,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<ws>" :subid("44_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "metachar:sym<ws>" :subid("44_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_714
.annotate 'line', 131
new $P713, 'ExceptionHandler'
@@ -9462,7 +9462,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<[ ]>" :subid("45_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "metachar:sym<[ ]>" :subid("45_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_732
.annotate 'line', 140
new $P731, 'ExceptionHandler'
@@ -9494,7 +9494,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<( )>" :subid("46_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "metachar:sym<( )>" :subid("46_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_742
.annotate 'line', 144
new $P741, 'ExceptionHandler'
@@ -9542,7 +9542,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<'>" :subid("47_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "metachar:sym<'>" :subid("47_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_760
.annotate 'line', 151
new $P759, 'ExceptionHandler'
@@ -9598,7 +9598,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<\">" :subid("48_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "metachar:sym<\">" :subid("48_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_783
.annotate 'line', 158
new $P782, 'ExceptionHandler'
@@ -9654,7 +9654,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<.>" :subid("49_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "metachar:sym<.>" :subid("49_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_806
.annotate 'line', 165
new $P805, 'ExceptionHandler'
@@ -9685,7 +9685,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<^>" :subid("50_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "metachar:sym<^>" :subid("50_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_818
.annotate 'line', 170
new $P817, 'ExceptionHandler'
@@ -9716,7 +9716,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<^^>" :subid("51_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "metachar:sym<^^>" :subid("51_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_830
.annotate 'line', 175
new $P829, 'ExceptionHandler'
@@ -9747,7 +9747,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<$>" :subid("52_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "metachar:sym<$>" :subid("52_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_842
.annotate 'line', 180
new $P841, 'ExceptionHandler'
@@ -9778,7 +9778,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<$$>" :subid("53_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "metachar:sym<$$>" :subid("53_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_854
.annotate 'line', 185
new $P853, 'ExceptionHandler'
@@ -9809,7 +9809,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<:::>" :subid("54_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "metachar:sym<:::>" :subid("54_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_866
.annotate 'line', 190
new $P865, 'ExceptionHandler'
@@ -9840,7 +9840,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<lwb>" :subid("55_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "metachar:sym<lwb>" :subid("55_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_878
.annotate 'line', 195
new $P877, 'ExceptionHandler'
@@ -9871,7 +9871,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<rwb>" :subid("56_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "metachar:sym<rwb>" :subid("56_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_890
.annotate 'line', 200
new $P889, 'ExceptionHandler'
@@ -9902,7 +9902,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<bs>" :subid("57_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "metachar:sym<bs>" :subid("57_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_902
.annotate 'line', 205
new $P901, 'ExceptionHandler'
@@ -9934,7 +9934,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<mod>" :subid("58_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "metachar:sym<mod>" :subid("58_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_912
.annotate 'line', 209
new $P911, 'ExceptionHandler'
@@ -9966,7 +9966,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<assert>" :subid("59_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "metachar:sym<assert>" :subid("59_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_922
.annotate 'line', 213
new $P921, 'ExceptionHandler'
@@ -9998,7 +9998,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<~>" :subid("60_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "metachar:sym<~>" :subid("60_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_932
.annotate 'line', 217
new $P931, 'ExceptionHandler'
@@ -10060,7 +10060,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<{*}>" :subid("61_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "metachar:sym<{*}>" :subid("61_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_954
.annotate 'line', 230
new $P953, 'ExceptionHandler'
@@ -10121,7 +10121,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<var>" :subid("62_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "metachar:sym<var>" :subid("62_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_975
.annotate 'line', 237
new $P974, 'ExceptionHandler'
@@ -10281,7 +10281,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<PIR>" :subid("63_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "metachar:sym<PIR>" :subid("63_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_1031
.annotate 'line', 257
new $P1030, 'ExceptionHandler'
@@ -10320,7 +10320,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<w>" :subid("64_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "backslash:sym<w>" :subid("64_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_1046
.annotate 'line', 265
new $P1045, 'ExceptionHandler'
@@ -10386,7 +10386,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<b>" :subid("65_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "backslash:sym<b>" :subid("65_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_1070
.annotate 'line', 271
new $P1069, 'ExceptionHandler'
@@ -10429,7 +10429,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<e>" :subid("66_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "backslash:sym<e>" :subid("66_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_1086
.annotate 'line', 277
new $P1085, 'ExceptionHandler'
@@ -10472,7 +10472,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<f>" :subid("67_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "backslash:sym<f>" :subid("67_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_1102
.annotate 'line', 283
new $P1101, 'ExceptionHandler'
@@ -10515,7 +10515,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<h>" :subid("68_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "backslash:sym<h>" :subid("68_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_1118
.annotate 'line', 289
new $P1117, 'ExceptionHandler'
@@ -10558,7 +10558,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<r>" :subid("69_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "backslash:sym<r>" :subid("69_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_1134
.annotate 'line', 295
new $P1133, 'ExceptionHandler'
@@ -10601,7 +10601,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<t>" :subid("70_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "backslash:sym<t>" :subid("70_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_1150
.annotate 'line', 301
new $P1149, 'ExceptionHandler'
@@ -10644,7 +10644,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<v>" :subid("71_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "backslash:sym<v>" :subid("71_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_1166
.annotate 'line', 307
new $P1165, 'ExceptionHandler'
@@ -10687,7 +10687,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<o>" :subid("72_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "backslash:sym<o>" :subid("72_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_1182
.annotate 'line', 314
new $P1181, 'ExceptionHandler'
@@ -10770,7 +10770,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<x>" :subid("73_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "backslash:sym<x>" :subid("73_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_1213
.annotate 'line', 323
new $P1212, 'ExceptionHandler'
@@ -10853,7 +10853,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<c>" :subid("74_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "backslash:sym<c>" :subid("74_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_1244
.annotate 'line', 332
new $P1243, 'ExceptionHandler'
@@ -10888,7 +10888,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<misc>" :subid("75_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "backslash:sym<misc>" :subid("75_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_1257
.annotate 'line', 336
new $P1256, 'ExceptionHandler'
@@ -10921,7 +10921,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<?>" :subid("76_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "assertion:sym<?>" :subid("76_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_1271
.annotate 'line', 342
new $P1270, 'ExceptionHandler'
@@ -10981,7 +10981,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<!>" :subid("77_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "assertion:sym<!>" :subid("77_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_1289
.annotate 'line', 352
new $P1288, 'ExceptionHandler'
@@ -11049,7 +11049,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<method>" :subid("78_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "assertion:sym<method>" :subid("78_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_1313
.annotate 'line', 365
new $P1312, 'ExceptionHandler'
@@ -11092,12 +11092,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<name>" :subid("79_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "assertion:sym<name>" :subid("79_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_1327
.annotate 'line', 372
- .const 'Sub' $P1385 = "81_1274022889.08438"
+ .const 'Sub' $P1385 = "81_1274564778.23532"
capture_lex $P1385
- .const 'Sub' $P1349 = "80_1274022889.08438"
+ .const 'Sub' $P1349 = "80_1274564778.23532"
capture_lex $P1349
new $P1326, 'ExceptionHandler'
set_addr $P1326, control_1325
@@ -11193,7 +11193,7 @@
unless $P1376, loop1390_done
shift $P1383, $P1376
loop1390_redo:
- .const 'Sub' $P1385 = "81_1274022889.08438"
+ .const 'Sub' $P1385 = "81_1274564778.23532"
capture_lex $P1385
$P1385($P1383)
loop1390_next:
@@ -11233,7 +11233,7 @@
goto if_1344_end
if_1344:
.annotate 'line', 379
- .const 'Sub' $P1349 = "80_1274022889.08438"
+ .const 'Sub' $P1349 = "80_1274564778.23532"
capture_lex $P1349
$P1349()
if_1344_end:
@@ -11274,7 +11274,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1384" :anon :subid("81_1274022889.08438") :outer("79_1274022889.08438")
+.sub "_block1384" :anon :subid("81_1274564778.23532") :outer("79_1274564778.23532")
.param pmc param_1386
.annotate 'line', 401
.lex "$_", param_1386
@@ -11286,7 +11286,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1348" :anon :subid("80_1274022889.08438") :outer("79_1274022889.08438")
+.sub "_block1348" :anon :subid("80_1274564778.23532") :outer("79_1274564778.23532")
.annotate 'line', 380
new $P1350, "Undef"
.lex "$regexsym", $P1350
@@ -11317,10 +11317,10 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<[>" :subid("82_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "assertion:sym<[>" :subid("82_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_1400
.annotate 'line', 407
- .const 'Sub' $P1435 = "83_1274022889.08438"
+ .const 'Sub' $P1435 = "83_1274564778.23532"
capture_lex $P1435
new $P1399, 'ExceptionHandler'
set_addr $P1399, control_1398
@@ -11412,7 +11412,7 @@
islt $I1433, $N1430, $N1432
unless $I1433, loop1458_done
loop1458_redo:
- .const 'Sub' $P1435 = "83_1274022889.08438"
+ .const 'Sub' $P1435 = "83_1274564778.23532"
capture_lex $P1435
$P1435()
loop1458_next:
@@ -11440,7 +11440,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1434" :anon :subid("83_1274022889.08438") :outer("82_1274022889.08438")
+.sub "_block1434" :anon :subid("83_1274564778.23532") :outer("82_1274564778.23532")
.annotate 'line', 421
new $P1436, "Undef"
.lex "$ast", $P1436
@@ -11491,12 +11491,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "cclass_elem" :subid("84_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "cclass_elem" :subid("84_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_1468
.annotate 'line', 434
- .const 'Sub' $P1493 = "86_1274022889.08438"
+ .const 'Sub' $P1493 = "86_1274564778.23532"
capture_lex $P1493
- .const 'Sub' $P1477 = "85_1274022889.08438"
+ .const 'Sub' $P1477 = "85_1274564778.23532"
capture_lex $P1477
new $P1467, 'ExceptionHandler'
set_addr $P1467, control_1466
@@ -11545,7 +11545,7 @@
unless $P1487, loop1518_done
shift $P1491, $P1487
loop1518_redo:
- .const 'Sub' $P1493 = "86_1274022889.08438"
+ .const 'Sub' $P1493 = "86_1274564778.23532"
capture_lex $P1493
$P1493($P1491)
loop1518_next:
@@ -11569,7 +11569,7 @@
goto if_1473_end
if_1473:
.annotate 'line', 437
- .const 'Sub' $P1477 = "85_1274022889.08438"
+ .const 'Sub' $P1477 = "85_1274564778.23532"
capture_lex $P1477
$P1477()
if_1473_end:
@@ -11601,10 +11601,10 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1492" :anon :subid("86_1274022889.08438") :outer("84_1274022889.08438")
+.sub "_block1492" :anon :subid("86_1274564778.23532") :outer("84_1274564778.23532")
.param pmc param_1494
.annotate 'line', 441
- .const 'Sub' $P1500 = "87_1274022889.08438"
+ .const 'Sub' $P1500 = "87_1274564778.23532"
capture_lex $P1500
.lex "$_", param_1494
.annotate 'line', 442
@@ -11633,7 +11633,7 @@
.annotate 'line', 442
goto if_1496_end
if_1496:
- .const 'Sub' $P1500 = "87_1274022889.08438"
+ .const 'Sub' $P1500 = "87_1274564778.23532"
capture_lex $P1500
$P1513 = $P1500()
set $P1495, $P1513
@@ -11644,7 +11644,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1499" :anon :subid("87_1274022889.08438") :outer("86_1274022889.08438")
+.sub "_block1499" :anon :subid("87_1274564778.23532") :outer("86_1274564778.23532")
.annotate 'line', 443
new $P1501, "Undef"
.lex "$a", $P1501
@@ -11708,7 +11708,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1476" :anon :subid("85_1274022889.08438") :outer("84_1274022889.08438")
+.sub "_block1476" :anon :subid("85_1274564778.23532") :outer("84_1274564778.23532")
.annotate 'line', 438
new $P1478, "Undef"
.lex "$name", $P1478
@@ -11736,7 +11736,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "mod_internal" :subid("88_1274022889.08438") :method :outer("11_1274022889.08438")
+.sub "mod_internal" :subid("88_1274564778.23532") :method :outer("11_1274564778.23532")
.param pmc param_1537
.annotate 'line', 472
new $P1536, 'ExceptionHandler'
@@ -11834,18 +11834,18 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1567" :load :anon :subid("89_1274022889.08438")
+.sub "_block1567" :load :anon :subid("89_1274564778.23532")
.annotate 'line', 4
- .const 'Sub' $P1569 = "11_1274022889.08438"
+ .const 'Sub' $P1569 = "11_1274564778.23532"
$P1570 = $P1569()
.return ($P1570)
.end
.namespace []
-.sub "_block1573" :load :anon :subid("90_1274022889.08438")
+.sub "_block1573" :load :anon :subid("90_1274564778.23532")
.annotate 'line', 1
- .const 'Sub' $P1575 = "10_1274022889.08438"
+ .const 'Sub' $P1575 = "10_1274564778.23532"
$P1576 = $P1575()
.return ($P1576)
.end
Modified: branches/ucs4_encoding/ext/nqp-rx/src/stage0/Regex-s0.pir
==============================================================================
--- branches/ucs4_encoding/ext/nqp-rx/src/stage0/Regex-s0.pir Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/ext/nqp-rx/src/stage0/Regex-s0.pir Mon May 24 21:18:41 2010 (r46974)
@@ -719,6 +719,82 @@
.return (cur)
.end
+=item !process_pastnode_results_for_interpolation
+
+Used by the pastnode PAST::Regex type to prepare the results of the evaluation for interpolation.
+
+Takes two arguments:
+
+=over 4
+
+=item The node results
+
+=item The subtype of the PAST::Regex node, which is one of:
+
+=over 4
+
+=item interp_regex
+
+String values should be compiled into regexes and then interpolated.
+
+=item interp_literal
+
+String values should be treated as literals.
+
+=item interp_literal_i
+
+String values should be treated as literals and matched case-insensitively.
+
+=back
+
+=back
+
+Returns a RPA containing the elements to be interpolated
+
+=cut
+
+.sub '!process_pastnode_results_for_interpolation' :method
+ .param pmc node
+ .param string subtype
+
+ .local pmc it, result, compiler, context
+ .local string codestr
+
+ result = new ['ResizablePMCArray']
+ $S0 = typeof node
+ if $S0 == 'ResizablePMCArray' goto array
+ $P1 = node
+ it = box 0
+ goto not_array
+ array:
+ it = iter node
+ loop:
+ unless it, loop_done
+ $P1 = shift it
+ not_array:
+ if subtype != 'interp_regex' goto literal
+ # Don't need to compile it if it's already a Sub
+ $I0 = isa $P1, ['Sub']
+ if $I0 goto literal
+ codestr = $P1
+ $P1 = split '/', codestr
+ codestr = join '\\/', $P1
+ codestr = concat '/', codestr
+ codestr = concat codestr, '/'
+ compiler = compreg 'NQP-rx'
+ $P2 = getinterp
+ context = $P2['context';0]
+ $P2 = compiler.'compile'(codestr, 'outer_ctx'=>context)
+ $P1 = $P2[0]
+ $P2 = getattribute context, 'current_sub'
+ $P1.'set_outer'($P2)
+ $P1 = $P1()
+ literal:
+ push result, $P1
+ goto loop
+ loop_done:
+ .return (result)
+.end
=back
@@ -1921,7 +1997,7 @@
# vim: expandtab shiftwidth=4 ft=pir:
### .include 'src/PAST/Regex.pir'
-# $Id: Regex.pir 41578 2009-09-30 14:45:23Z pmichaud $
+# $Id$
=head1 NAME
@@ -2972,31 +3048,126 @@
=item 'pastnode'(PAST::Regex node)
+Evaluates the supplied PAST node and does various things with the result, based on subtype.
+
+Subtype can be any of:
+
+=over 4
+
+=item zerowidth
+
+Only test for truthiness and fail or not. No interpolation.
+
+=item interp_regex
+
+String values should be compiled into regexes and then interpolated.
+
+=item interp_literal
+
+String values should be treated as literals.
+
+=item interp_literal_i
+
+String values should be treated as literals and matched case-insensitively.
+
+=item <nothing>
+
+Don't interpolate anything, just execute the PAST code
+
+=back
+
=cut
-.sub 'pastnode' :method :multi(_, ['PAST';'Regex'])
+.sub 'pastnode' :method :multi(_, ['PAST'; 'Regex'])
.param pmc node
- .local pmc cur, pos, fail, ops
- (cur, pos, fail) = self.'!rxregs'('cur pos fail')
+ .local pmc cur, pos, fail, ops, eos, off, tgt
+ (cur, pos, eos, off, tgt, fail) = self.'!rxregs'('cur pos eos off tgt fail')
ops = self.'post_new'('Ops', 'node'=>node, 'result'=>cur)
+
+ .local pmc zerowidth, negate, testop, subtype
+ subtype = node.'subtype'()
+ ops.'push_pirop'('inline', subtype, negate, 'inline'=>' # rx pastnode subtype=%1 negate=%2')
.local pmc cpast, cpost
cpast = node[0]
cpost = self.'as_post'(cpast, 'rtype'=>'P')
-
+
self.'!cursorop'(ops, '!cursor_pos', 0, pos)
ops.'push'(cpost)
- .local pmc subtype, negate, testop
- subtype = node.'subtype'()
- if subtype != 'zerowidth' goto done
+ # If this is just a zerowidth assertion, we don't actually interpolate anything. Just evaluate
+ # and fail or not.
+ if subtype == 'zerowidth' goto zerowidth_test
+
+ # Retain backwards compatibility with old pastnode semantics
+ unless subtype goto done
+
+ .local string prefix
+ prefix = self.'unique'('pastnode_')
+ .local pmc precompiled_label, done_label, loop_label, iterator_reg, label_reg
+ $S0 = concat prefix, '_precompiled'
+ precompiled_label = self.'post_new'('Label', 'result'=>$S0)
+ $S0 = concat prefix, '_done'
+ done_label = self.'post_new'('Label', 'result'=>$S0)
+ $S0 = concat prefix, '_loop'
+ loop_label = self.'post_new'('Label', 'result'=>$S0)
+ iterator_reg = self.'uniquereg'("P")
+ label_reg = self.'uniquereg'("I")
+
+ $S10 = subtype
+ $S10 = concat '"', $S10
+ $S10 = concat $S10, '"'
+ self.'!cursorop'(ops, '!process_pastnode_results_for_interpolation', 1, '$P10', cpost, $S10)
+
+ ops.'push_pirop'('iter', iterator_reg, '$P10')
+ ops.'push_pirop'('set_addr', label_reg, loop_label)
+ ops.'push'(loop_label)
+ ops.'push_pirop'('unless', iterator_reg, fail)
+ ops.'push_pirop'('shift', '$P10', iterator_reg)
+ self.'!cursorop'(ops, '!mark_push', 0, 0, pos, label_reg)
+
+ # Check if it's already a compiled Regex, and call it as a method if so
+ ops.'push_pirop'('isa', '$I10', '$P10', "['Sub']")
+ ops.'push_pirop'('if', '$I10', precompiled_label)
+
+ # XXX This is rakudo's Regex class. I'm not sure why the above test doesn't catch it, but
+ # need to figure it out so NQP doesn't have rakudo knowledge :(
+ ops.'push_pirop'('isa', '$I10', '$P10', "['Regex']")
+ ops.'push_pirop'('if', '$I10', precompiled_label)
+
+ # Otherwise, treat it as a literal
+ ops.'push_pirop'('set', '$S10', '$P10')
+ ops.'push_pirop'('length', '$I10', '$S10')
+ ops.'push_pirop'('add', '$I11', pos, '$I10')
+ ops.'push_pirop'('gt', '$I11', eos, fail)
+ ops.'push_pirop'('sub', '$I11', pos, off)
+ ops.'push_pirop'('substr', '$S11', tgt, '$I11', '$I10')
+ ne subtype, 'interp_literal_i', dont_downcase
+ ops.'push_pirop'('downcase', '$S10', '$S10')
+ ops.'push_pirop'('downcase', '$S11', '$S11')
+ dont_downcase:
+ ops.'push_pirop'('ne', '$S11', '$S10', fail)
+ ops.'push_pirop'('add', pos, '$I10')
+ ops.'push_pirop'('goto', done_label)
+
+ ops.'push'(precompiled_label)
+ ops.'push_pirop'('callmethod', '$P10', cur, 'result'=>'$P10')
+ ops.'push_pirop'('unless', '$P10', fail)
+ self.'!cursorop'(ops, '!mark_push', 0, 0, CURSOR_FAIL, 0, '$P10')
+ ops.'push_pirop'('callmethod', '"pos"', '$P10', 'result'=>pos)
+
+ ops.'push'(done_label)
+
+ goto done
+
+ zerowidth_test:
negate = node.'negate'()
testop = self.'??!!'(negate, 'if', 'unless')
ops.'push_pirop'(testop, cpost, fail)
done:
.return (ops)
-.end
+.end
=item pass(PAST::Regex node)
Modified: branches/ucs4_encoding/ext/nqp-rx/src/stage0/nqp-setting.nqp
==============================================================================
--- branches/ucs4_encoding/ext/nqp-rx/src/stage0/nqp-setting.nqp Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/ext/nqp-rx/src/stage0/nqp-setting.nqp Mon May 24 21:18:41 2010 (r46974)
@@ -154,17 +154,17 @@
our sub match ($text, $regex, :$global?) {
my $match := $text ~~ $regex;
+ my @matches;
if $global {
- my @matches;
while $match {
@matches.push($match);
$match := $match.CURSOR.parse($text, :rule($regex), :c($match.to));
}
- @matches;
}
- else {
- $match;
+ elsif $match {
+ @matches.push($match);
}
+ @matches;
}
@@ -175,8 +175,8 @@
=end item
our sub subst ($text, $regex, $repl, :$global?) {
- my @matches := $global ?? match($text, $regex, :global)
- !! [ $text ~~ $regex ];
+ my @matches := match($text, $regex, $global);
+
my $is_code := pir::isa($repl, 'Sub');
my $offset := 0;
my $result := pir::new__Ps('StringBuilder');
Modified: branches/ucs4_encoding/include/parrot/charset.h
==============================================================================
--- branches/ucs4_encoding/include/parrot/charset.h Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/include/parrot/charset.h Mon May 24 21:18:41 2010 (r46974)
@@ -72,11 +72,13 @@
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
PARROT_EXPORT
+PARROT_PURE_FUNCTION
PARROT_CAN_RETURN_NULL
PARROT_WARN_UNUSED_RESULT
const char * Parrot_charset_c_name(SHIM_INTERP, INTVAL number_of_charset);
PARROT_EXPORT
+PARROT_PURE_FUNCTION
PARROT_CAN_RETURN_NULL
PARROT_WARN_UNUSED_RESULT
STRING * Parrot_charset_name(SHIM_INTERP, INTVAL number_of_charset);
@@ -89,6 +91,7 @@
__attribute__nonnull__(2);
PARROT_EXPORT
+PARROT_PURE_FUNCTION
PARROT_WARN_UNUSED_RESULT
INTVAL Parrot_charset_number_of_str(SHIM_INTERP, ARGIN(const STRING *src))
__attribute__nonnull__(2);
@@ -102,11 +105,13 @@
__attribute__nonnull__(1);
PARROT_EXPORT
+PARROT_PURE_FUNCTION
PARROT_WARN_UNUSED_RESULT
PARROT_CAN_RETURN_NULL
const CHARSET * Parrot_default_charset(SHIM_INTERP);
PARROT_EXPORT
+PARROT_PURE_FUNCTION
PARROT_CAN_RETURN_NULL
PARROT_WARN_UNUSED_RESULT
const CHARSET * Parrot_find_charset(SHIM_INTERP,
@@ -114,6 +119,7 @@
__attribute__nonnull__(2);
PARROT_EXPORT
+PARROT_PURE_FUNCTION
PARROT_WARN_UNUSED_RESULT
PARROT_CAN_RETURN_NULL
charset_converter_t Parrot_find_charset_converter(SHIM_INTERP,
@@ -123,6 +129,7 @@
__attribute__nonnull__(3);
PARROT_EXPORT
+PARROT_PURE_FUNCTION
PARROT_CAN_RETURN_NULL
PARROT_WARN_UNUSED_RESULT
const CHARSET * Parrot_get_charset(SHIM_INTERP, INTVAL number_of_charset);
Modified: branches/ucs4_encoding/include/parrot/compiler.h
==============================================================================
--- branches/ucs4_encoding/include/parrot/compiler.h Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/include/parrot/compiler.h Mon May 24 21:18:41 2010 (r46974)
@@ -136,11 +136,35 @@
#define PARROT_IGNORABLE_RESULT
#define PARROT_WARN_UNUSED_RESULT __attribute__warn_unused_result__
+#define PARROT_PURE_FUNCTION __attribute__pure__ __attribute__warn_unused_result__
/* Pure functions have no side-effects, and depend only on parms or globals. e.g. strlen() */
-#define PARROT_PURE_FUNCTION __attribute__pure__ __attribute__warn_unused_result__
-
-/* Const functions are pure functions, and do not examine targets of pointers. e.g. sqrt() */
-#define PARROT_CONST_FUNCTION __attribute__const__ __attribute__warn_unused_result__
+/* "Many functions have no effects except the return value and their
+ return value depends only on the parameters and/or global
+ variables. Such a function can be subject to common subexpression
+ elimination and loop optimization just as an arithmetic operator
+ would be. For example, "PARROT_PURE_FUNCTION int square(int x)"
+ says that the hypothetical function square is safe to call fewer
+ times than the program says.
+
+ Some of common examples of pure functions are strlen or
+ memcmp. Interesting non-pure functions are functions with infinite
+ loops or those depending on volatile memory or other system resource,
+ that may change between two consecutive calls (such as feof in a
+ multithreading environment)." -- http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html
+*/
+
+#define PARROT_CONST_FUNCTION __attribute__const__ __attribute__warn_unused_result__
+/* Const functions are pure functions, and also do not examine targets of pointer args or globals. e.g. sqrt() */
+/* "Many functions do not examine any values except their arguments,
+ and have no effects except the return value. Basically this is just
+ slightly more strict class than the pure attribute below, since
+ function is not allowed to read global memory. Note that a function
+ that has pointer arguments and examines the data pointed to must
+ not be declared const. Likewise, a function that calls a non-const
+ function usually must not be const. It does not make sense for a
+ const function to return void."
+ -- http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html
+*/
#define PARROT_DOES_NOT_RETURN /*@noreturn@*/ __attribute__noreturn__
#define PARROT_DOES_NOT_RETURN_WHEN_FALSE /*@noreturnwhenfalse@*/
Modified: branches/ucs4_encoding/include/parrot/embed.h
==============================================================================
--- branches/ucs4_encoding/include/parrot/embed.h Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/include/parrot/embed.h Mon May 24 21:18:41 2010 (r46974)
@@ -141,14 +141,17 @@
__attribute__nonnull__(1);
PARROT_EXPORT
+PARROT_PURE_FUNCTION
Parrot_UInt Parrot_test_debug(PARROT_INTERP, Parrot_UInt flag)
__attribute__nonnull__(1);
PARROT_EXPORT
+PARROT_PURE_FUNCTION
Parrot_Int Parrot_test_flag(PARROT_INTERP, Parrot_Int flag)
__attribute__nonnull__(1);
PARROT_EXPORT
+PARROT_PURE_FUNCTION
Parrot_UInt Parrot_test_trace(PARROT_INTERP, Parrot_UInt flag)
__attribute__nonnull__(1);
Modified: branches/ucs4_encoding/include/parrot/hash.h
==============================================================================
--- branches/ucs4_encoding/include/parrot/hash.h Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/include/parrot/hash.h Mon May 24 21:18:41 2010 (r46974)
@@ -315,13 +315,13 @@
__attribute__nonnull__(2);
PARROT_WARN_UNUSED_RESULT
-PARROT_PURE_FUNCTION
+PARROT_CONST_FUNCTION
int int_compare(SHIM_INTERP,
ARGIN_NULLOK(const void *a),
ARGIN_NULLOK(const void *b));
PARROT_WARN_UNUSED_RESULT
-PARROT_PURE_FUNCTION
+PARROT_CONST_FUNCTION
size_t key_hash_int(SHIM_INTERP,
ARGIN_NULLOK(const void *value),
size_t seed);
Modified: branches/ucs4_encoding/include/parrot/imcc.h
==============================================================================
--- branches/ucs4_encoding/include/parrot/imcc.h Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/include/parrot/imcc.h Mon May 24 21:18:41 2010 (r46974)
@@ -6,10 +6,8 @@
#ifndef PARROT_IMCC_H_GUARD
#define PARROT_IMCC_H_GUARD
-PARROT_EXPORT void imcc_initialize(PARROT_INTERP);
-PARROT_EXPORT void imcc_start_handling_flags(PARROT_INTERP);
-PARROT_EXPORT int imcc_handle_flag(PARROT_INTERP, struct longopt_opt_info *opt, Parrot_Run_core_t *core);
-PARROT_EXPORT int imcc_run(PARROT_INTERP, const char *sourcefile, int argc, const char **argv);
+PARROT_EXPORT int imcc_run(PARROT_INTERP, const char *sourcefile, int argc, const char **argv);
+PARROT_EXPORT void imcc_run_pbc(PARROT_INTERP, const char *outputfile, int argc, const char **argv);
#endif /* PARROT_IMCC_H_GUARD */
Modified: branches/ucs4_encoding/include/parrot/interpreter.h
==============================================================================
--- branches/ucs4_encoding/include/parrot/interpreter.h Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/include/parrot/interpreter.h Mon May 24 21:18:41 2010 (r46974)
@@ -523,6 +523,7 @@
__attribute__nonnull__(4);
PARROT_WARN_UNUSED_RESULT
+PARROT_CONST_FUNCTION
INTVAL sysinfo_i(SHIM_INTERP, INTVAL info_wanted);
PARROT_CANNOT_RETURN_NULL
Modified: branches/ucs4_encoding/include/parrot/longopt.h
==============================================================================
--- branches/ucs4_encoding/include/parrot/longopt.h Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/include/parrot/longopt.h Mon May 24 21:18:41 2010 (r46974)
@@ -1,13 +1,9 @@
/* longopt.h
- * Copyright (C) 2001-2003, Parrot Foundation.
+ * Copyright (C) 2001-2010, Parrot Foundation.
* SVN Info
* $Id$
* Overview:
* Command line option parsing (for pre-initialized code)
- * Data Structure and Algorithms:
- * History:
- * Notes:
- * References:
*/
#ifndef PARROT_LONGOPT_H_GUARD
@@ -44,10 +40,18 @@
#define LONGOPT_OPT_INFO_INIT { 1, 0, NULL, NULL, NULL }
+#define OPT_GC_DEBUG 128
+#define OPT_DESTROY_FLAG 129
+#define OPT_HELP_DEBUG 130
+#define OPT_PBC_OUTPUT 131
+#define OPT_RUNTIME_PREFIX 132
+#define OPT_HASH_SEED 133
+
/* HEADERIZER BEGIN: src/longopt.c */
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
PARROT_EXPORT
+PARROT_WARN_UNUSED_RESULT
int longopt_get(PARROT_INTERP,
int argc,
ARGIN(const char* argv[]),
@@ -59,11 +63,17 @@
__attribute__nonnull__(5)
FUNC_MODIFIES(* info_buf);
+PARROT_EXPORT
+PARROT_CANNOT_RETURN_NULL
+PARROT_CONST_FUNCTION
+const struct longopt_opt_decl * Parrot_cmd_options(void);
+
#define ASSERT_ARGS_longopt_get __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(argv) \
, PARROT_ASSERT_ARG(options) \
, PARROT_ASSERT_ARG(info_buf))
+#define ASSERT_ARGS_Parrot_cmd_options __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
/* HEADERIZER END: src/longopt.c */
Copied: branches/ucs4_encoding/include/parrot/oplib/core_ops.h (from r46972, trunk/include/parrot/oplib/core_ops.h)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ucs4_encoding/include/parrot/oplib/core_ops.h Mon May 24 21:18:41 2010 (r46974, copy of r46972, trunk/include/parrot/oplib/core_ops.h)
@@ -0,0 +1,1303 @@
+
+/* $Id$ */
+
+#ifndef PARROT_OPLIB_CORE_OPS_H_GUARD
+#define PARROT_OPLIB_CORE_OPS_H_GUARD
+
+
+/* ex: set ro:
+ * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+ *
+ * This file is generated automatically from 'src/ops/core.ops' (and possibly other
+ * .ops files). by ops2c.nqp.
+ *
+ * Any changes made here will be lost!
+ *
+ */
+
+#include "parrot/parrot.h"
+#include "parrot/oplib.h"
+#include "parrot/runcore_api.h"
+
+ op_lib_t *Parrot_DynOp_core_2_4_0(PARROT_INTERP, long init);
+
+ opcode_t * Parrot_end(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_noop(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_check_events(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_check_events__(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_wrapper__(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_load_bytecode_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_load_bytecode_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_load_language_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_load_language_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_branch_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_branch_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_local_branch_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_local_branch_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_local_return_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_jump_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_jump_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_enternative(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_if_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_if_n_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_if_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_if_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_unless_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_unless_n_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_unless_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_unless_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_invokecc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_invoke_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_yield(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_tailcall_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_returncc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_capture_lex_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_newclosure_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_args_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_get_params_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_returns_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_get_results_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_result_info_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_result_info_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_result_info_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_addr_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_addr_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_addr_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_get_addr_i_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_schedule_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_addhandler_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_push_eh_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_push_eh_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_pop_eh(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_throw_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_throw_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_rethrow_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_count_eh_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_die_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_die_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_die_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_die_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_die_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_die_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_die_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_die_ic_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_exit_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_exit_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_debug_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_debug_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bounds_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bounds_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_profile_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_profile_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_trace_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_trace_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_gc_debug_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_gc_debug_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_interpinfo_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_interpinfo_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_interpinfo_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_interpinfo_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_interpinfo_s_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_interpinfo_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_warningson_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_warningson_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_warningsoff_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_warningsoff_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_errorson_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_errorson_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_errorsoff_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_errorsoff_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_runinterp_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_runinterp_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_getinterp_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sweep_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_collect(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sweepoff(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sweepon(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_collectoff(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_collecton(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_needs_destroy_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_loadlib_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_loadlib_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_loadlib_p_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_loadlib_p_sc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_loadlib_p_s_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_loadlib_p_sc_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_dlfunc_p_p_s_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_dlfunc_p_p_sc_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_dlfunc_p_p_s_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_dlfunc_p_p_sc_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_dlvar_p_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_dlvar_p_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_compreg_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_compreg_sc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_compreg_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_compreg_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_new_callback_p_p_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_new_callback_p_p_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_annotations_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_annotations_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_annotations_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_band_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_band_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_band_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_band_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_band_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_band_i_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_band_i_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_band_i_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_band_p_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_band_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_band_p_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bands_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bands_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bands_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bands_s_s_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bands_s_sc_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bands_s_s_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bands_p_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bands_p_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bands_p_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bnot_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bnot_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bnot_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bnot_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bnots_s_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bnots_s_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bnots_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bnots_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bor_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bor_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bor_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bor_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bor_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bor_i_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bor_i_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bor_i_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bor_p_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bor_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bor_p_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bors_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bors_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bors_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bors_s_s_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bors_s_sc_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bors_s_s_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bors_p_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bors_p_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bors_p_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_shl_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_shl_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_shl_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_shl_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_shl_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_shl_i_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_shl_i_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_shl_i_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_shl_p_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_shl_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_shl_p_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_shr_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_shr_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_shr_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_shr_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_shr_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_shr_i_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_shr_i_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_shr_i_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_shr_p_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_shr_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_shr_p_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_lsr_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_lsr_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_lsr_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_lsr_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_lsr_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_lsr_i_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_lsr_i_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_lsr_i_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_lsr_p_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_lsr_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_lsr_p_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_rot_i_i_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_rot_i_ic_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_rot_i_i_ic_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bxor_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bxor_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bxor_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bxor_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bxor_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bxor_i_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bxor_i_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bxor_i_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bxor_p_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bxor_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bxor_p_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bxors_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bxors_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bxors_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bxors_s_s_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bxors_s_sc_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bxors_s_s_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bxors_p_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bxors_p_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bxors_p_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_eq_i_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_eq_ic_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_eq_i_ic_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_eq_n_n_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_eq_nc_n_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_eq_n_nc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_eq_s_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_eq_sc_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_eq_s_sc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_eq_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_eq_p_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_eq_p_ic_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_eq_p_n_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_eq_p_nc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_eq_p_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_eq_p_sc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_eq_str_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_eq_num_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_eq_addr_s_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_eq_addr_sc_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_eq_addr_s_sc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_eq_addr_sc_sc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_eq_addr_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ne_i_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ne_ic_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ne_i_ic_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ne_n_n_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ne_nc_n_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ne_n_nc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ne_s_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ne_sc_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ne_s_sc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ne_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ne_p_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ne_p_ic_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ne_p_n_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ne_p_nc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ne_p_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ne_p_sc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ne_str_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ne_num_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ne_addr_s_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ne_addr_sc_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ne_addr_s_sc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ne_addr_sc_sc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ne_addr_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_lt_i_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_lt_ic_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_lt_i_ic_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_lt_n_n_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_lt_nc_n_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_lt_n_nc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_lt_s_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_lt_sc_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_lt_s_sc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_lt_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_lt_p_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_lt_p_ic_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_lt_p_n_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_lt_p_nc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_lt_p_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_lt_p_sc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_lt_str_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_lt_num_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_le_i_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_le_ic_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_le_i_ic_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_le_n_n_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_le_nc_n_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_le_n_nc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_le_s_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_le_sc_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_le_s_sc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_le_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_le_p_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_le_p_ic_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_le_p_n_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_le_p_nc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_le_p_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_le_p_sc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_le_str_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_le_num_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_gt_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_gt_p_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_gt_p_ic_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_gt_p_n_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_gt_p_nc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_gt_p_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_gt_p_sc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_gt_str_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_gt_num_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ge_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ge_p_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ge_p_ic_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ge_p_n_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ge_p_nc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ge_p_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ge_p_sc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ge_str_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ge_num_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_if_null_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_if_null_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_unless_null_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_unless_null_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_cmp_i_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_cmp_i_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_cmp_i_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_cmp_i_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_cmp_i_nc_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_cmp_i_n_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_cmp_i_s_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_cmp_i_sc_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_cmp_i_s_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_cmp_i_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_cmp_i_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_cmp_i_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_cmp_i_p_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_cmp_i_p_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_cmp_i_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_cmp_i_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_cmp_str_i_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_cmp_num_i_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_cmp_pmc_p_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_issame_i_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_issame_i_s_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_issame_i_sc_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_issame_i_s_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_issame_i_sc_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_isntsame_i_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_isntsame_i_s_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_isntsame_i_sc_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_isntsame_i_s_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_isntsame_i_sc_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_istrue_i_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_isfalse_i_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_isnull_i_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_isnull_i_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_isnull_i_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_isnull_i_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_isgt_i_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_isge_i_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_isle_i_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_isle_i_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_isle_i_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_isle_i_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_isle_i_nc_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_isle_i_n_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_isle_i_s_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_isle_i_sc_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_isle_i_s_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_isle_i_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_islt_i_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_islt_i_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_islt_i_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_islt_i_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_islt_i_nc_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_islt_i_n_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_islt_i_s_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_islt_i_sc_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_islt_i_s_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_islt_i_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_iseq_i_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_iseq_i_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_iseq_i_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_iseq_i_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_iseq_i_nc_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_iseq_i_n_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_iseq_i_s_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_iseq_i_sc_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_iseq_i_s_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_iseq_i_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_isne_i_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_isne_i_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_isne_i_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_isne_i_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_isne_i_nc_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_isne_i_n_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_isne_i_s_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_isne_i_sc_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_isne_i_s_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_isne_i_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_and_i_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_and_i_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_and_i_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_and_p_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_not_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_not_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_not_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_not_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_or_i_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_or_i_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_or_i_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_or_p_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_xor_i_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_xor_i_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_xor_i_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_xor_p_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_debug_init(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_debug_load_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_debug_break(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_debug_print(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_backtrace(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_getline_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_getfile_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_close_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fdopen_p_i_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fdopen_p_ic_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fdopen_p_i_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fdopen_p_ic_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_getstdin_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_getstdout_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_getstderr_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_setstdin_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_setstdout_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_setstderr_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_open_p_s_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_open_p_sc_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_open_p_s_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_open_p_sc_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_open_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_open_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_print_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_print_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_print_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_print_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_print_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_print_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_print_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_say_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_say_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_say_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_say_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_say_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_say_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_say_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_printerr_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_printerr_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_printerr_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_printerr_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_printerr_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_printerr_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_printerr_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_print_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_print_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_print_p_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_print_p_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_print_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_print_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_print_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_read_s_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_read_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_read_s_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_read_s_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_readline_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_peek_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_peek_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_stat_i_s_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_stat_i_sc_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_stat_i_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_stat_i_sc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_stat_i_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_stat_i_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_stat_i_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_stat_i_ic_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_seek_p_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_seek_p_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_seek_p_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_seek_p_ic_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_seek_p_i_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_seek_p_ic_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_seek_p_i_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_seek_p_ic_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_seek_p_i_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_seek_p_ic_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_seek_p_i_ic_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_seek_p_ic_ic_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_tell_i_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_tell_i_i_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_abs_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_abs_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_abs_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_abs_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_abs_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_abs_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_add_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_add_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_add_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_add_n_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_add_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_add_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_add_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_add_p_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_add_p_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_add_i_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_add_i_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_add_i_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_add_n_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_add_n_nc_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_add_n_n_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_add_p_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_add_p_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_add_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_add_p_p_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_add_p_p_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_cmod_i_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_cmod_i_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_cmod_i_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_cmod_p_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_cmod_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_cmod_p_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_cmod_n_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_cmod_n_nc_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_cmod_n_n_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_cmod_p_p_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_cmod_p_p_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_dec_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_dec_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_dec_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_div_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_div_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_div_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_div_n_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_div_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_div_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_div_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_div_p_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_div_p_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_div_i_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_div_i_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_div_i_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_div_i_ic_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_div_n_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_div_n_nc_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_div_n_n_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_div_n_nc_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_div_p_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_div_p_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_div_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_div_p_p_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_div_p_p_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fdiv_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fdiv_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fdiv_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fdiv_n_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fdiv_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fdiv_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fdiv_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fdiv_p_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fdiv_p_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fdiv_i_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fdiv_i_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fdiv_i_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fdiv_n_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fdiv_n_nc_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fdiv_n_n_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fdiv_p_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fdiv_p_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fdiv_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fdiv_p_p_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fdiv_p_p_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ceil_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ceil_i_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ceil_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_floor_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_floor_i_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_floor_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_inc_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_inc_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_inc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mod_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mod_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mod_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mod_n_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mod_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mod_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mod_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mod_p_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mod_p_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mod_i_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mod_i_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mod_i_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mod_n_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mod_n_nc_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mod_n_n_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mod_p_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mod_p_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mod_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mod_p_p_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mod_p_p_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mul_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mul_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mul_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mul_n_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mul_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mul_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mul_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mul_p_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mul_p_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mul_i_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mul_i_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mul_i_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mul_n_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mul_n_nc_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mul_n_n_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mul_p_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mul_p_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mul_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mul_p_p_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_mul_p_p_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_neg_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_neg_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_neg_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_neg_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_neg_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_neg_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_pow_n_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_pow_n_nc_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_pow_n_n_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_pow_p_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_pow_p_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_pow_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_pow_p_p_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_pow_p_p_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_pow_n_n_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_pow_n_nc_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_pow_n_n_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_pow_n_nc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sub_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sub_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sub_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sub_n_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sub_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sub_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sub_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sub_p_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sub_p_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sub_i_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sub_i_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sub_i_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sub_n_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sub_n_nc_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sub_n_n_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sub_p_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sub_p_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sub_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sub_p_p_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sub_p_p_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sqrt_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_acos_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_asec_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_asin_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_atan_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_atan_n_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_atan_n_nc_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_atan_n_n_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_cos_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_cosh_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_exp_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ln_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_log10_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_log2_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sec_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sech_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sin_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sinh_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_tan_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_tanh_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_callmethodcc_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_callmethodcc_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_callmethodcc_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_callmethod_p_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_callmethod_p_sc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_callmethod_p_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_tailcallmethod_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_tailcallmethod_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_tailcallmethod_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_addmethod_p_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_addmethod_p_sc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_can_i_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_can_i_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_does_i_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_does_i_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_does_i_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_does_i_p_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_isa_i_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_isa_i_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_isa_i_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_isa_i_p_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_newclass_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_newclass_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_newclass_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_newclass_p_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_subclass_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_subclass_p_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_subclass_p_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_subclass_p_pc_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_subclass_p_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_subclass_p_pc_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_subclass_p_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_subclass_p_pc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_subclass_p_p_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_subclass_p_pc_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_subclass_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_subclass_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_subclass_p_s_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_subclass_p_sc_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_subclass_p_s_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_subclass_p_sc_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_subclass_p_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_subclass_p_sc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_subclass_p_s_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_subclass_p_sc_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_get_class_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_get_class_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_get_class_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_get_class_p_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_class_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_addparent_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_removeparent_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_addrole_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_addattribute_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_addattribute_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_removeattribute_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_removeattribute_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_getattribute_p_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_getattribute_p_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_getattribute_p_p_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_getattribute_p_p_pc_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_getattribute_p_p_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_getattribute_p_p_pc_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_setattribute_p_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_setattribute_p_sc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_setattribute_p_p_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_setattribute_p_pc_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_setattribute_p_p_sc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_setattribute_p_pc_sc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_inspect_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_inspect_p_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_inspect_p_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_inspect_p_pc_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_inspect_p_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_inspect_p_pc_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_new_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_new_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_new_p_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_new_p_sc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_new_p_s_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_new_p_sc_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_new_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_new_p_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_new_p_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_new_p_pc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_new_p_p_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_new_p_pc_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_root_new_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_root_new_p_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_root_new_p_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_root_new_p_pc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_root_new_p_p_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_root_new_p_pc_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_typeof_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_typeof_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_get_repr_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_method_p_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_method_p_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_defined_i_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_defined_i_p_ki(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_defined_i_p_kic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_defined_i_p_k(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_defined_i_p_kc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_exists_i_p_ki(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_exists_i_p_kic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_exists_i_p_k(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_exists_i_p_kc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_delete_p_k(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_delete_p_kc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_delete_p_ki(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_delete_p_kic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_elements_i_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_push_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_push_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_push_p_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_push_p_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_push_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_push_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_push_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_pop_i_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_pop_n_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_pop_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_pop_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_unshift_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_unshift_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_unshift_p_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_unshift_p_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_unshift_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_unshift_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_unshift_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_shift_i_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_shift_n_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_shift_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_shift_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_splice_p_p_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_splice_p_p_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_splice_p_p_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_splice_p_p_ic_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_setprop_p_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_setprop_p_sc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_getprop_p_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_getprop_p_sc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_delprop_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_delprop_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_prophash_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_freeze_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_thaw_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_thaw_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_add_multi_s_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_add_multi_sc_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_add_multi_s_sc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_add_multi_sc_sc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_multi_p_s_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_multi_p_sc_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_multi_p_s_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_multi_p_sc_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_register_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_unregister_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_box_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_box_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_box_p_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_box_p_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_box_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_box_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_iter_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_morph_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_morph_p_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_clone_s_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_clone_s_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_i_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_i_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_i_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_i_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_n_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_n_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_n_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_n_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_n_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_n_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_n_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_s_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_s_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_s_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_s_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_s_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_i_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_assign_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_assign_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_assign_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_assign_p_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_assign_p_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_assign_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_assign_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_assign_s_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_assign_s_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_setref_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_deref_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_ki_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_kic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_ki_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_kic_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_ki_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_kic_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_ki_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_kic_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_ki_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_kic_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_ki_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_kic_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_ki_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_kic_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_i_p_ki(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_i_p_kic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_n_p_ki(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_n_p_kic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_s_p_ki(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_s_p_kic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_p_ki(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_p_kic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_k_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_kc_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_k_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_kc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_k_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_kc_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_k_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_kc_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_k_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_kc_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_k_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_kc_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_k_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_kc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_i_p_k(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_i_p_kc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_n_p_k(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_n_p_kc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_s_p_k(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_s_p_kc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_p_k(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_p_p_kc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_clone_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_clone_p_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_clone_p_p_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_copy_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_null_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_null_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_null_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_null_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ord_i_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ord_i_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ord_i_s_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ord_i_sc_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ord_i_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_ord_i_sc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_chr_s_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_chr_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_chopn_s_s_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_chopn_s_sc_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_chopn_s_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_chopn_s_sc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_concat_s_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_concat_s_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_concat_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_concat_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_concat_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_concat_s_s_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_concat_s_sc_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_concat_s_s_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_concat_p_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_concat_p_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_concat_p_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_repeat_s_s_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_repeat_s_sc_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_repeat_s_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_repeat_s_sc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_repeat_p_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_repeat_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_repeat_p_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_repeat_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_repeat_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_repeat_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_length_i_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_length_i_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bytelength_i_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_bytelength_i_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_pin_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_unpin_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_substr_s_s_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_substr_s_sc_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_substr_s_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_substr_s_sc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_substr_s_s_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_substr_s_sc_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_substr_s_s_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_substr_s_sc_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_substr_s_s_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_substr_s_sc_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_substr_s_s_ic_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_substr_s_sc_ic_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_substr_s_p_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_substr_s_p_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_substr_s_p_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_substr_s_p_ic_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_replace_s_s_i_i_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_replace_s_sc_i_i_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_replace_s_s_ic_i_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_replace_s_sc_ic_i_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_replace_s_s_i_ic_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_replace_s_sc_i_ic_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_replace_s_s_ic_ic_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_replace_s_sc_ic_ic_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_replace_s_s_i_i_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_replace_s_sc_i_i_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_replace_s_s_ic_i_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_replace_s_sc_ic_i_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_replace_s_s_i_ic_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_replace_s_sc_i_ic_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_replace_s_s_ic_ic_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_replace_s_sc_ic_ic_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_index_i_s_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_index_i_sc_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_index_i_s_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_index_i_sc_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_index_i_s_s_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_index_i_sc_s_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_index_i_s_sc_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_index_i_sc_sc_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_index_i_s_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_index_i_sc_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_index_i_s_sc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_index_i_sc_sc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sprintf_s_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sprintf_s_sc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sprintf_p_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_new_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_new_s_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_new_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_stringinfo_i_s_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_stringinfo_i_sc_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_stringinfo_i_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_stringinfo_i_sc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_upcase_s_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_upcase_s_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_downcase_s_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_downcase_s_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_titlecase_s_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_titlecase_s_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_join_s_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_join_s_sc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_split_p_s_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_split_p_sc_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_split_p_s_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_split_p_sc_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_charset_i_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_charset_i_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_charsetname_s_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_charsetname_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_charset_i_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_charset_i_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_trans_charset_s_s_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_trans_charset_s_sc_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_trans_charset_s_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_trans_charset_s_sc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_encoding_i_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_encoding_i_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_encodingname_s_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_encodingname_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_encoding_i_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_encoding_i_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_trans_encoding_s_s_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_trans_encoding_s_sc_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_trans_encoding_s_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_trans_encoding_s_sc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_is_cclass_i_i_s_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_is_cclass_i_ic_s_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_is_cclass_i_i_sc_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_is_cclass_i_ic_sc_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_is_cclass_i_i_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_is_cclass_i_ic_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_is_cclass_i_i_sc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_is_cclass_i_ic_sc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_cclass_i_i_s_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_cclass_i_ic_s_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_cclass_i_i_sc_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_cclass_i_ic_sc_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_cclass_i_i_s_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_cclass_i_ic_s_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_cclass_i_i_sc_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_cclass_i_ic_sc_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_cclass_i_i_s_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_cclass_i_ic_s_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_cclass_i_i_sc_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_cclass_i_ic_sc_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_cclass_i_i_s_ic_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_cclass_i_ic_s_ic_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_cclass_i_i_sc_ic_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_cclass_i_ic_sc_ic_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_not_cclass_i_i_s_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_not_cclass_i_ic_s_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_not_cclass_i_i_sc_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_not_cclass_i_ic_sc_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_not_cclass_i_i_s_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_not_cclass_i_ic_s_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_not_cclass_i_i_sc_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_not_cclass_i_ic_sc_ic_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_not_cclass_i_i_s_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_not_cclass_i_ic_s_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_not_cclass_i_i_sc_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_not_cclass_i_ic_sc_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_not_cclass_i_i_s_ic_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_not_cclass_i_ic_s_ic_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_not_cclass_i_i_sc_ic_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_not_cclass_i_ic_sc_ic_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_escape_s_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_compose_s_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_compose_s_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_spawnw_i_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_spawnw_i_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_spawnw_i_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_err_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_err_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_err_s_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_err_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_time_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_time_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_gmtime_s_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_gmtime_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_localtime_s_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_localtime_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_decodetime_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_decodetime_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_decodelocaltime_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_decodelocaltime_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sysinfo_s_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sysinfo_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sysinfo_i_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sysinfo_i_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sleep_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sleep_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sleep_n(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_sleep_nc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_store_lex_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_store_lex_sc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_store_dynamic_lex_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_store_dynamic_lex_sc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_lex_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_lex_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_dynamic_lex_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_dynamic_lex_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_caller_lex_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_caller_lex_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_get_namespace_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_get_namespace_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_get_namespace_p_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_get_hll_namespace_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_get_hll_namespace_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_get_hll_namespace_p_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_get_root_namespace_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_get_root_namespace_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_get_root_namespace_p_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_get_global_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_get_global_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_get_global_p_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_get_global_p_pc_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_get_global_p_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_get_global_p_pc_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_get_hll_global_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_get_hll_global_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_get_hll_global_p_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_get_hll_global_p_pc_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_get_hll_global_p_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_get_hll_global_p_pc_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_get_root_global_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_get_root_global_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_get_root_global_p_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_get_root_global_p_pc_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_get_root_global_p_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_get_root_global_p_pc_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_global_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_global_sc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_global_p_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_global_pc_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_global_p_sc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_global_pc_sc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_hll_global_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_hll_global_sc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_hll_global_p_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_hll_global_pc_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_hll_global_p_sc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_hll_global_pc_sc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_root_global_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_root_global_sc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_root_global_p_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_root_global_pc_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_root_global_p_sc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_root_global_pc_sc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_name_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_name_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_sub_not_null_p_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_sub_not_null_p_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_trap(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_set_label_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_get_label_i_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fetch_p_p_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fetch_p_pc_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fetch_p_p_pc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fetch_p_pc_pc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fetch_p_p_p_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fetch_p_pc_p_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fetch_p_p_pc_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fetch_p_pc_pc_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fetch_p_p_i_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fetch_p_pc_i_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fetch_p_p_ic_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fetch_p_pc_ic_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fetch_p_p_i_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fetch_p_pc_i_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fetch_p_p_ic_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fetch_p_pc_ic_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fetch_p_p_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fetch_p_pc_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fetch_p_p_sc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fetch_p_pc_sc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fetch_p_p_s_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fetch_p_pc_s_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fetch_p_p_sc_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_fetch_p_pc_sc_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_vivify_p_p_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_vivify_p_pc_p_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_vivify_p_p_pc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_vivify_p_pc_pc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_vivify_p_p_p_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_vivify_p_pc_p_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_vivify_p_p_pc_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_vivify_p_pc_pc_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_vivify_p_p_i_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_vivify_p_pc_i_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_vivify_p_p_ic_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_vivify_p_pc_ic_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_vivify_p_p_i_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_vivify_p_pc_i_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_vivify_p_p_ic_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_vivify_p_pc_ic_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_vivify_p_p_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_vivify_p_pc_s_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_vivify_p_p_sc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_vivify_p_pc_sc_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_vivify_p_p_s_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_vivify_p_pc_s_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_vivify_p_p_sc_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_vivify_p_pc_sc_pc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_new_p_s_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_new_p_sc_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_new_p_s_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_new_p_sc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_new_p_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_new_p_pc_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_new_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_new_p_pc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_root_new_p_p_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_root_new_p_pc_i(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_root_new_p_p_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_root_new_p_pc_ic(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_codepoint_i_s(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_find_codepoint_i_sc(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_unroll_p(opcode_t *, PARROT_INTERP);
+ opcode_t * Parrot_unroll_pc(opcode_t *, PARROT_INTERP);
+
+
+#endif /* PARROT_OPLIB_CORE_OPS_H_GUARD */
+
+
+/*
+ * Local variables:
+ * c-file-style: "parrot"
+ * buffer-read-only: t
+ * End:
+ * vim: expandtab shiftwidth=4:
+ */
Copied: branches/ucs4_encoding/include/parrot/oplib/ops.h (from r46972, trunk/include/parrot/oplib/ops.h)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ucs4_encoding/include/parrot/oplib/ops.h Mon May 24 21:18:41 2010 (r46974, copy of r46972, trunk/include/parrot/oplib/ops.h)
@@ -0,0 +1,1300 @@
+
+/* $Id$ */
+
+#ifndef PARROT_OPLIB_OPS_H_GUARD
+#define PARROT_OPLIB_OPS_H_GUARD
+
+
+/* ex: set ro:
+ * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+ *
+ * This file is generated automatically from 'src/ops/core.ops' (and possibly other
+ * .ops files). by ops2c.nqp.
+ *
+ * Any changes made here will be lost!
+ *
+ */
+
+typedef enum {
+ PARROT_OP_end, /* 0 */
+ PARROT_OP_noop, /* 1 */
+ PARROT_OP_check_events, /* 2 */
+ PARROT_OP_check_events__, /* 3 */
+ PARROT_OP_wrapper__, /* 4 */
+ PARROT_OP_load_bytecode_s, /* 5 */
+ PARROT_OP_load_bytecode_sc, /* 6 */
+ PARROT_OP_load_language_s, /* 7 */
+ PARROT_OP_load_language_sc, /* 8 */
+ PARROT_OP_branch_i, /* 9 */
+ PARROT_OP_branch_ic, /* 10 */
+ PARROT_OP_local_branch_p_i, /* 11 */
+ PARROT_OP_local_branch_p_ic, /* 12 */
+ PARROT_OP_local_return_p, /* 13 */
+ PARROT_OP_jump_i, /* 14 */
+ PARROT_OP_jump_ic, /* 15 */
+ PARROT_OP_enternative, /* 16 */
+ PARROT_OP_if_i_ic, /* 17 */
+ PARROT_OP_if_n_ic, /* 18 */
+ PARROT_OP_if_s_ic, /* 19 */
+ PARROT_OP_if_p_ic, /* 20 */
+ PARROT_OP_unless_i_ic, /* 21 */
+ PARROT_OP_unless_n_ic, /* 22 */
+ PARROT_OP_unless_s_ic, /* 23 */
+ PARROT_OP_unless_p_ic, /* 24 */
+ PARROT_OP_invokecc_p, /* 25 */
+ PARROT_OP_invoke_p_p, /* 26 */
+ PARROT_OP_yield, /* 27 */
+ PARROT_OP_tailcall_p, /* 28 */
+ PARROT_OP_returncc, /* 29 */
+ PARROT_OP_capture_lex_p, /* 30 */
+ PARROT_OP_newclosure_p_p, /* 31 */
+ PARROT_OP_set_args_pc, /* 32 */
+ PARROT_OP_get_params_pc, /* 33 */
+ PARROT_OP_set_returns_pc, /* 34 */
+ PARROT_OP_get_results_pc, /* 35 */
+ PARROT_OP_set_result_info_p, /* 36 */
+ PARROT_OP_set_result_info_pc, /* 37 */
+ PARROT_OP_result_info_p, /* 38 */
+ PARROT_OP_set_addr_i_ic, /* 39 */
+ PARROT_OP_set_addr_p_ic, /* 40 */
+ PARROT_OP_set_addr_p_i, /* 41 */
+ PARROT_OP_get_addr_i_p, /* 42 */
+ PARROT_OP_schedule_p, /* 43 */
+ PARROT_OP_addhandler_p, /* 44 */
+ PARROT_OP_push_eh_ic, /* 45 */
+ PARROT_OP_push_eh_p, /* 46 */
+ PARROT_OP_pop_eh, /* 47 */
+ PARROT_OP_throw_p, /* 48 */
+ PARROT_OP_throw_p_p, /* 49 */
+ PARROT_OP_rethrow_p, /* 50 */
+ PARROT_OP_count_eh_i, /* 51 */
+ PARROT_OP_die_s, /* 52 */
+ PARROT_OP_die_sc, /* 53 */
+ PARROT_OP_die_p, /* 54 */
+ PARROT_OP_die_pc, /* 55 */
+ PARROT_OP_die_i_i, /* 56 */
+ PARROT_OP_die_ic_i, /* 57 */
+ PARROT_OP_die_i_ic, /* 58 */
+ PARROT_OP_die_ic_ic, /* 59 */
+ PARROT_OP_exit_i, /* 60 */
+ PARROT_OP_exit_ic, /* 61 */
+ PARROT_OP_debug_i, /* 62 */
+ PARROT_OP_debug_ic, /* 63 */
+ PARROT_OP_bounds_i, /* 64 */
+ PARROT_OP_bounds_ic, /* 65 */
+ PARROT_OP_profile_i, /* 66 */
+ PARROT_OP_profile_ic, /* 67 */
+ PARROT_OP_trace_i, /* 68 */
+ PARROT_OP_trace_ic, /* 69 */
+ PARROT_OP_gc_debug_i, /* 70 */
+ PARROT_OP_gc_debug_ic, /* 71 */
+ PARROT_OP_interpinfo_i_i, /* 72 */
+ PARROT_OP_interpinfo_i_ic, /* 73 */
+ PARROT_OP_interpinfo_p_i, /* 74 */
+ PARROT_OP_interpinfo_p_ic, /* 75 */
+ PARROT_OP_interpinfo_s_i, /* 76 */
+ PARROT_OP_interpinfo_s_ic, /* 77 */
+ PARROT_OP_warningson_i, /* 78 */
+ PARROT_OP_warningson_ic, /* 79 */
+ PARROT_OP_warningsoff_i, /* 80 */
+ PARROT_OP_warningsoff_ic, /* 81 */
+ PARROT_OP_errorson_i, /* 82 */
+ PARROT_OP_errorson_ic, /* 83 */
+ PARROT_OP_errorsoff_i, /* 84 */
+ PARROT_OP_errorsoff_ic, /* 85 */
+ PARROT_OP_runinterp_p_i, /* 86 */
+ PARROT_OP_runinterp_p_ic, /* 87 */
+ PARROT_OP_getinterp_p, /* 88 */
+ PARROT_OP_sweep_ic, /* 89 */
+ PARROT_OP_collect, /* 90 */
+ PARROT_OP_sweepoff, /* 91 */
+ PARROT_OP_sweepon, /* 92 */
+ PARROT_OP_collectoff, /* 93 */
+ PARROT_OP_collecton, /* 94 */
+ PARROT_OP_needs_destroy_p, /* 95 */
+ PARROT_OP_loadlib_p_s, /* 96 */
+ PARROT_OP_loadlib_p_sc, /* 97 */
+ PARROT_OP_loadlib_p_s_p, /* 98 */
+ PARROT_OP_loadlib_p_sc_p, /* 99 */
+ PARROT_OP_loadlib_p_s_pc, /* 100 */
+ PARROT_OP_loadlib_p_sc_pc, /* 101 */
+ PARROT_OP_dlfunc_p_p_s_s, /* 102 */
+ PARROT_OP_dlfunc_p_p_sc_s, /* 103 */
+ PARROT_OP_dlfunc_p_p_s_sc, /* 104 */
+ PARROT_OP_dlfunc_p_p_sc_sc, /* 105 */
+ PARROT_OP_dlvar_p_p_s, /* 106 */
+ PARROT_OP_dlvar_p_p_sc, /* 107 */
+ PARROT_OP_compreg_s_p, /* 108 */
+ PARROT_OP_compreg_sc_p, /* 109 */
+ PARROT_OP_compreg_p_s, /* 110 */
+ PARROT_OP_compreg_p_sc, /* 111 */
+ PARROT_OP_new_callback_p_p_p_s, /* 112 */
+ PARROT_OP_new_callback_p_p_p_sc, /* 113 */
+ PARROT_OP_annotations_p, /* 114 */
+ PARROT_OP_annotations_p_s, /* 115 */
+ PARROT_OP_annotations_p_sc, /* 116 */
+ PARROT_OP_band_i_i, /* 117 */
+ PARROT_OP_band_i_ic, /* 118 */
+ PARROT_OP_band_p_i, /* 119 */
+ PARROT_OP_band_p_ic, /* 120 */
+ PARROT_OP_band_p_p, /* 121 */
+ PARROT_OP_band_i_i_i, /* 122 */
+ PARROT_OP_band_i_ic_i, /* 123 */
+ PARROT_OP_band_i_i_ic, /* 124 */
+ PARROT_OP_band_p_p_i, /* 125 */
+ PARROT_OP_band_p_p_ic, /* 126 */
+ PARROT_OP_band_p_p_p, /* 127 */
+ PARROT_OP_bands_p_s, /* 128 */
+ PARROT_OP_bands_p_sc, /* 129 */
+ PARROT_OP_bands_p_p, /* 130 */
+ PARROT_OP_bands_s_s_s, /* 131 */
+ PARROT_OP_bands_s_sc_s, /* 132 */
+ PARROT_OP_bands_s_s_sc, /* 133 */
+ PARROT_OP_bands_p_p_s, /* 134 */
+ PARROT_OP_bands_p_p_sc, /* 135 */
+ PARROT_OP_bands_p_p_p, /* 136 */
+ PARROT_OP_bnot_i, /* 137 */
+ PARROT_OP_bnot_i_i, /* 138 */
+ PARROT_OP_bnot_p, /* 139 */
+ PARROT_OP_bnot_p_p, /* 140 */
+ PARROT_OP_bnots_s_s, /* 141 */
+ PARROT_OP_bnots_s_sc, /* 142 */
+ PARROT_OP_bnots_p, /* 143 */
+ PARROT_OP_bnots_p_p, /* 144 */
+ PARROT_OP_bor_i_i, /* 145 */
+ PARROT_OP_bor_i_ic, /* 146 */
+ PARROT_OP_bor_p_i, /* 147 */
+ PARROT_OP_bor_p_ic, /* 148 */
+ PARROT_OP_bor_p_p, /* 149 */
+ PARROT_OP_bor_i_i_i, /* 150 */
+ PARROT_OP_bor_i_ic_i, /* 151 */
+ PARROT_OP_bor_i_i_ic, /* 152 */
+ PARROT_OP_bor_p_p_i, /* 153 */
+ PARROT_OP_bor_p_p_ic, /* 154 */
+ PARROT_OP_bor_p_p_p, /* 155 */
+ PARROT_OP_bors_p_s, /* 156 */
+ PARROT_OP_bors_p_sc, /* 157 */
+ PARROT_OP_bors_p_p, /* 158 */
+ PARROT_OP_bors_s_s_s, /* 159 */
+ PARROT_OP_bors_s_sc_s, /* 160 */
+ PARROT_OP_bors_s_s_sc, /* 161 */
+ PARROT_OP_bors_p_p_s, /* 162 */
+ PARROT_OP_bors_p_p_sc, /* 163 */
+ PARROT_OP_bors_p_p_p, /* 164 */
+ PARROT_OP_shl_i_i, /* 165 */
+ PARROT_OP_shl_i_ic, /* 166 */
+ PARROT_OP_shl_p_i, /* 167 */
+ PARROT_OP_shl_p_ic, /* 168 */
+ PARROT_OP_shl_p_p, /* 169 */
+ PARROT_OP_shl_i_i_i, /* 170 */
+ PARROT_OP_shl_i_ic_i, /* 171 */
+ PARROT_OP_shl_i_i_ic, /* 172 */
+ PARROT_OP_shl_p_p_i, /* 173 */
+ PARROT_OP_shl_p_p_ic, /* 174 */
+ PARROT_OP_shl_p_p_p, /* 175 */
+ PARROT_OP_shr_i_i, /* 176 */
+ PARROT_OP_shr_i_ic, /* 177 */
+ PARROT_OP_shr_p_i, /* 178 */
+ PARROT_OP_shr_p_ic, /* 179 */
+ PARROT_OP_shr_p_p, /* 180 */
+ PARROT_OP_shr_i_i_i, /* 181 */
+ PARROT_OP_shr_i_ic_i, /* 182 */
+ PARROT_OP_shr_i_i_ic, /* 183 */
+ PARROT_OP_shr_p_p_i, /* 184 */
+ PARROT_OP_shr_p_p_ic, /* 185 */
+ PARROT_OP_shr_p_p_p, /* 186 */
+ PARROT_OP_lsr_i_i, /* 187 */
+ PARROT_OP_lsr_i_ic, /* 188 */
+ PARROT_OP_lsr_p_i, /* 189 */
+ PARROT_OP_lsr_p_ic, /* 190 */
+ PARROT_OP_lsr_p_p, /* 191 */
+ PARROT_OP_lsr_i_i_i, /* 192 */
+ PARROT_OP_lsr_i_ic_i, /* 193 */
+ PARROT_OP_lsr_i_i_ic, /* 194 */
+ PARROT_OP_lsr_p_p_i, /* 195 */
+ PARROT_OP_lsr_p_p_ic, /* 196 */
+ PARROT_OP_lsr_p_p_p, /* 197 */
+ PARROT_OP_rot_i_i_i_ic, /* 198 */
+ PARROT_OP_rot_i_ic_i_ic, /* 199 */
+ PARROT_OP_rot_i_i_ic_ic, /* 200 */
+ PARROT_OP_bxor_i_i, /* 201 */
+ PARROT_OP_bxor_i_ic, /* 202 */
+ PARROT_OP_bxor_p_i, /* 203 */
+ PARROT_OP_bxor_p_ic, /* 204 */
+ PARROT_OP_bxor_p_p, /* 205 */
+ PARROT_OP_bxor_i_i_i, /* 206 */
+ PARROT_OP_bxor_i_ic_i, /* 207 */
+ PARROT_OP_bxor_i_i_ic, /* 208 */
+ PARROT_OP_bxor_p_p_i, /* 209 */
+ PARROT_OP_bxor_p_p_ic, /* 210 */
+ PARROT_OP_bxor_p_p_p, /* 211 */
+ PARROT_OP_bxors_p_s, /* 212 */
+ PARROT_OP_bxors_p_sc, /* 213 */
+ PARROT_OP_bxors_p_p, /* 214 */
+ PARROT_OP_bxors_s_s_s, /* 215 */
+ PARROT_OP_bxors_s_sc_s, /* 216 */
+ PARROT_OP_bxors_s_s_sc, /* 217 */
+ PARROT_OP_bxors_p_p_s, /* 218 */
+ PARROT_OP_bxors_p_p_sc, /* 219 */
+ PARROT_OP_bxors_p_p_p, /* 220 */
+ PARROT_OP_eq_i_i_ic, /* 221 */
+ PARROT_OP_eq_ic_i_ic, /* 222 */
+ PARROT_OP_eq_i_ic_ic, /* 223 */
+ PARROT_OP_eq_n_n_ic, /* 224 */
+ PARROT_OP_eq_nc_n_ic, /* 225 */
+ PARROT_OP_eq_n_nc_ic, /* 226 */
+ PARROT_OP_eq_s_s_ic, /* 227 */
+ PARROT_OP_eq_sc_s_ic, /* 228 */
+ PARROT_OP_eq_s_sc_ic, /* 229 */
+ PARROT_OP_eq_p_p_ic, /* 230 */
+ PARROT_OP_eq_p_i_ic, /* 231 */
+ PARROT_OP_eq_p_ic_ic, /* 232 */
+ PARROT_OP_eq_p_n_ic, /* 233 */
+ PARROT_OP_eq_p_nc_ic, /* 234 */
+ PARROT_OP_eq_p_s_ic, /* 235 */
+ PARROT_OP_eq_p_sc_ic, /* 236 */
+ PARROT_OP_eq_str_p_p_ic, /* 237 */
+ PARROT_OP_eq_num_p_p_ic, /* 238 */
+ PARROT_OP_eq_addr_s_s_ic, /* 239 */
+ PARROT_OP_eq_addr_sc_s_ic, /* 240 */
+ PARROT_OP_eq_addr_s_sc_ic, /* 241 */
+ PARROT_OP_eq_addr_sc_sc_ic, /* 242 */
+ PARROT_OP_eq_addr_p_p_ic, /* 243 */
+ PARROT_OP_ne_i_i_ic, /* 244 */
+ PARROT_OP_ne_ic_i_ic, /* 245 */
+ PARROT_OP_ne_i_ic_ic, /* 246 */
+ PARROT_OP_ne_n_n_ic, /* 247 */
+ PARROT_OP_ne_nc_n_ic, /* 248 */
+ PARROT_OP_ne_n_nc_ic, /* 249 */
+ PARROT_OP_ne_s_s_ic, /* 250 */
+ PARROT_OP_ne_sc_s_ic, /* 251 */
+ PARROT_OP_ne_s_sc_ic, /* 252 */
+ PARROT_OP_ne_p_p_ic, /* 253 */
+ PARROT_OP_ne_p_i_ic, /* 254 */
+ PARROT_OP_ne_p_ic_ic, /* 255 */
+ PARROT_OP_ne_p_n_ic, /* 256 */
+ PARROT_OP_ne_p_nc_ic, /* 257 */
+ PARROT_OP_ne_p_s_ic, /* 258 */
+ PARROT_OP_ne_p_sc_ic, /* 259 */
+ PARROT_OP_ne_str_p_p_ic, /* 260 */
+ PARROT_OP_ne_num_p_p_ic, /* 261 */
+ PARROT_OP_ne_addr_s_s_ic, /* 262 */
+ PARROT_OP_ne_addr_sc_s_ic, /* 263 */
+ PARROT_OP_ne_addr_s_sc_ic, /* 264 */
+ PARROT_OP_ne_addr_sc_sc_ic, /* 265 */
+ PARROT_OP_ne_addr_p_p_ic, /* 266 */
+ PARROT_OP_lt_i_i_ic, /* 267 */
+ PARROT_OP_lt_ic_i_ic, /* 268 */
+ PARROT_OP_lt_i_ic_ic, /* 269 */
+ PARROT_OP_lt_n_n_ic, /* 270 */
+ PARROT_OP_lt_nc_n_ic, /* 271 */
+ PARROT_OP_lt_n_nc_ic, /* 272 */
+ PARROT_OP_lt_s_s_ic, /* 273 */
+ PARROT_OP_lt_sc_s_ic, /* 274 */
+ PARROT_OP_lt_s_sc_ic, /* 275 */
+ PARROT_OP_lt_p_p_ic, /* 276 */
+ PARROT_OP_lt_p_i_ic, /* 277 */
+ PARROT_OP_lt_p_ic_ic, /* 278 */
+ PARROT_OP_lt_p_n_ic, /* 279 */
+ PARROT_OP_lt_p_nc_ic, /* 280 */
+ PARROT_OP_lt_p_s_ic, /* 281 */
+ PARROT_OP_lt_p_sc_ic, /* 282 */
+ PARROT_OP_lt_str_p_p_ic, /* 283 */
+ PARROT_OP_lt_num_p_p_ic, /* 284 */
+ PARROT_OP_le_i_i_ic, /* 285 */
+ PARROT_OP_le_ic_i_ic, /* 286 */
+ PARROT_OP_le_i_ic_ic, /* 287 */
+ PARROT_OP_le_n_n_ic, /* 288 */
+ PARROT_OP_le_nc_n_ic, /* 289 */
+ PARROT_OP_le_n_nc_ic, /* 290 */
+ PARROT_OP_le_s_s_ic, /* 291 */
+ PARROT_OP_le_sc_s_ic, /* 292 */
+ PARROT_OP_le_s_sc_ic, /* 293 */
+ PARROT_OP_le_p_p_ic, /* 294 */
+ PARROT_OP_le_p_i_ic, /* 295 */
+ PARROT_OP_le_p_ic_ic, /* 296 */
+ PARROT_OP_le_p_n_ic, /* 297 */
+ PARROT_OP_le_p_nc_ic, /* 298 */
+ PARROT_OP_le_p_s_ic, /* 299 */
+ PARROT_OP_le_p_sc_ic, /* 300 */
+ PARROT_OP_le_str_p_p_ic, /* 301 */
+ PARROT_OP_le_num_p_p_ic, /* 302 */
+ PARROT_OP_gt_p_p_ic, /* 303 */
+ PARROT_OP_gt_p_i_ic, /* 304 */
+ PARROT_OP_gt_p_ic_ic, /* 305 */
+ PARROT_OP_gt_p_n_ic, /* 306 */
+ PARROT_OP_gt_p_nc_ic, /* 307 */
+ PARROT_OP_gt_p_s_ic, /* 308 */
+ PARROT_OP_gt_p_sc_ic, /* 309 */
+ PARROT_OP_gt_str_p_p_ic, /* 310 */
+ PARROT_OP_gt_num_p_p_ic, /* 311 */
+ PARROT_OP_ge_p_p_ic, /* 312 */
+ PARROT_OP_ge_p_i_ic, /* 313 */
+ PARROT_OP_ge_p_ic_ic, /* 314 */
+ PARROT_OP_ge_p_n_ic, /* 315 */
+ PARROT_OP_ge_p_nc_ic, /* 316 */
+ PARROT_OP_ge_p_s_ic, /* 317 */
+ PARROT_OP_ge_p_sc_ic, /* 318 */
+ PARROT_OP_ge_str_p_p_ic, /* 319 */
+ PARROT_OP_ge_num_p_p_ic, /* 320 */
+ PARROT_OP_if_null_p_ic, /* 321 */
+ PARROT_OP_if_null_s_ic, /* 322 */
+ PARROT_OP_unless_null_p_ic, /* 323 */
+ PARROT_OP_unless_null_s_ic, /* 324 */
+ PARROT_OP_cmp_i_i_i, /* 325 */
+ PARROT_OP_cmp_i_ic_i, /* 326 */
+ PARROT_OP_cmp_i_i_ic, /* 327 */
+ PARROT_OP_cmp_i_n_n, /* 328 */
+ PARROT_OP_cmp_i_nc_n, /* 329 */
+ PARROT_OP_cmp_i_n_nc, /* 330 */
+ PARROT_OP_cmp_i_s_s, /* 331 */
+ PARROT_OP_cmp_i_sc_s, /* 332 */
+ PARROT_OP_cmp_i_s_sc, /* 333 */
+ PARROT_OP_cmp_i_p_p, /* 334 */
+ PARROT_OP_cmp_i_p_i, /* 335 */
+ PARROT_OP_cmp_i_p_ic, /* 336 */
+ PARROT_OP_cmp_i_p_n, /* 337 */
+ PARROT_OP_cmp_i_p_nc, /* 338 */
+ PARROT_OP_cmp_i_p_s, /* 339 */
+ PARROT_OP_cmp_i_p_sc, /* 340 */
+ PARROT_OP_cmp_str_i_p_p, /* 341 */
+ PARROT_OP_cmp_num_i_p_p, /* 342 */
+ PARROT_OP_cmp_pmc_p_p_p, /* 343 */
+ PARROT_OP_issame_i_p_p, /* 344 */
+ PARROT_OP_issame_i_s_s, /* 345 */
+ PARROT_OP_issame_i_sc_s, /* 346 */
+ PARROT_OP_issame_i_s_sc, /* 347 */
+ PARROT_OP_issame_i_sc_sc, /* 348 */
+ PARROT_OP_isntsame_i_p_p, /* 349 */
+ PARROT_OP_isntsame_i_s_s, /* 350 */
+ PARROT_OP_isntsame_i_sc_s, /* 351 */
+ PARROT_OP_isntsame_i_s_sc, /* 352 */
+ PARROT_OP_isntsame_i_sc_sc, /* 353 */
+ PARROT_OP_istrue_i_p, /* 354 */
+ PARROT_OP_isfalse_i_p, /* 355 */
+ PARROT_OP_isnull_i_p, /* 356 */
+ PARROT_OP_isnull_i_pc, /* 357 */
+ PARROT_OP_isnull_i_s, /* 358 */
+ PARROT_OP_isnull_i_sc, /* 359 */
+ PARROT_OP_isgt_i_p_p, /* 360 */
+ PARROT_OP_isge_i_p_p, /* 361 */
+ PARROT_OP_isle_i_i_i, /* 362 */
+ PARROT_OP_isle_i_ic_i, /* 363 */
+ PARROT_OP_isle_i_i_ic, /* 364 */
+ PARROT_OP_isle_i_n_n, /* 365 */
+ PARROT_OP_isle_i_nc_n, /* 366 */
+ PARROT_OP_isle_i_n_nc, /* 367 */
+ PARROT_OP_isle_i_s_s, /* 368 */
+ PARROT_OP_isle_i_sc_s, /* 369 */
+ PARROT_OP_isle_i_s_sc, /* 370 */
+ PARROT_OP_isle_i_p_p, /* 371 */
+ PARROT_OP_islt_i_i_i, /* 372 */
+ PARROT_OP_islt_i_ic_i, /* 373 */
+ PARROT_OP_islt_i_i_ic, /* 374 */
+ PARROT_OP_islt_i_n_n, /* 375 */
+ PARROT_OP_islt_i_nc_n, /* 376 */
+ PARROT_OP_islt_i_n_nc, /* 377 */
+ PARROT_OP_islt_i_s_s, /* 378 */
+ PARROT_OP_islt_i_sc_s, /* 379 */
+ PARROT_OP_islt_i_s_sc, /* 380 */
+ PARROT_OP_islt_i_p_p, /* 381 */
+ PARROT_OP_iseq_i_i_i, /* 382 */
+ PARROT_OP_iseq_i_ic_i, /* 383 */
+ PARROT_OP_iseq_i_i_ic, /* 384 */
+ PARROT_OP_iseq_i_n_n, /* 385 */
+ PARROT_OP_iseq_i_nc_n, /* 386 */
+ PARROT_OP_iseq_i_n_nc, /* 387 */
+ PARROT_OP_iseq_i_s_s, /* 388 */
+ PARROT_OP_iseq_i_sc_s, /* 389 */
+ PARROT_OP_iseq_i_s_sc, /* 390 */
+ PARROT_OP_iseq_i_p_p, /* 391 */
+ PARROT_OP_isne_i_i_i, /* 392 */
+ PARROT_OP_isne_i_ic_i, /* 393 */
+ PARROT_OP_isne_i_i_ic, /* 394 */
+ PARROT_OP_isne_i_n_n, /* 395 */
+ PARROT_OP_isne_i_nc_n, /* 396 */
+ PARROT_OP_isne_i_n_nc, /* 397 */
+ PARROT_OP_isne_i_s_s, /* 398 */
+ PARROT_OP_isne_i_sc_s, /* 399 */
+ PARROT_OP_isne_i_s_sc, /* 400 */
+ PARROT_OP_isne_i_p_p, /* 401 */
+ PARROT_OP_and_i_i_i, /* 402 */
+ PARROT_OP_and_i_ic_i, /* 403 */
+ PARROT_OP_and_i_i_ic, /* 404 */
+ PARROT_OP_and_p_p_p, /* 405 */
+ PARROT_OP_not_i, /* 406 */
+ PARROT_OP_not_i_i, /* 407 */
+ PARROT_OP_not_p, /* 408 */
+ PARROT_OP_not_p_p, /* 409 */
+ PARROT_OP_or_i_i_i, /* 410 */
+ PARROT_OP_or_i_ic_i, /* 411 */
+ PARROT_OP_or_i_i_ic, /* 412 */
+ PARROT_OP_or_p_p_p, /* 413 */
+ PARROT_OP_xor_i_i_i, /* 414 */
+ PARROT_OP_xor_i_ic_i, /* 415 */
+ PARROT_OP_xor_i_i_ic, /* 416 */
+ PARROT_OP_xor_p_p_p, /* 417 */
+ PARROT_OP_debug_init, /* 418 */
+ PARROT_OP_debug_load_sc, /* 419 */
+ PARROT_OP_debug_break, /* 420 */
+ PARROT_OP_debug_print, /* 421 */
+ PARROT_OP_backtrace, /* 422 */
+ PARROT_OP_getline_i, /* 423 */
+ PARROT_OP_getfile_s, /* 424 */
+ PARROT_OP_close_p, /* 425 */
+ PARROT_OP_fdopen_p_i_s, /* 426 */
+ PARROT_OP_fdopen_p_ic_s, /* 427 */
+ PARROT_OP_fdopen_p_i_sc, /* 428 */
+ PARROT_OP_fdopen_p_ic_sc, /* 429 */
+ PARROT_OP_getstdin_p, /* 430 */
+ PARROT_OP_getstdout_p, /* 431 */
+ PARROT_OP_getstderr_p, /* 432 */
+ PARROT_OP_setstdin_p, /* 433 */
+ PARROT_OP_setstdout_p, /* 434 */
+ PARROT_OP_setstderr_p, /* 435 */
+ PARROT_OP_open_p_s_s, /* 436 */
+ PARROT_OP_open_p_sc_s, /* 437 */
+ PARROT_OP_open_p_s_sc, /* 438 */
+ PARROT_OP_open_p_sc_sc, /* 439 */
+ PARROT_OP_open_p_s, /* 440 */
+ PARROT_OP_open_p_sc, /* 441 */
+ PARROT_OP_print_i, /* 442 */
+ PARROT_OP_print_ic, /* 443 */
+ PARROT_OP_print_n, /* 444 */
+ PARROT_OP_print_nc, /* 445 */
+ PARROT_OP_print_s, /* 446 */
+ PARROT_OP_print_sc, /* 447 */
+ PARROT_OP_print_p, /* 448 */
+ PARROT_OP_say_i, /* 449 */
+ PARROT_OP_say_ic, /* 450 */
+ PARROT_OP_say_n, /* 451 */
+ PARROT_OP_say_nc, /* 452 */
+ PARROT_OP_say_s, /* 453 */
+ PARROT_OP_say_sc, /* 454 */
+ PARROT_OP_say_p, /* 455 */
+ PARROT_OP_printerr_i, /* 456 */
+ PARROT_OP_printerr_ic, /* 457 */
+ PARROT_OP_printerr_n, /* 458 */
+ PARROT_OP_printerr_nc, /* 459 */
+ PARROT_OP_printerr_s, /* 460 */
+ PARROT_OP_printerr_sc, /* 461 */
+ PARROT_OP_printerr_p, /* 462 */
+ PARROT_OP_print_p_i, /* 463 */
+ PARROT_OP_print_p_ic, /* 464 */
+ PARROT_OP_print_p_n, /* 465 */
+ PARROT_OP_print_p_nc, /* 466 */
+ PARROT_OP_print_p_s, /* 467 */
+ PARROT_OP_print_p_sc, /* 468 */
+ PARROT_OP_print_p_p, /* 469 */
+ PARROT_OP_read_s_i, /* 470 */
+ PARROT_OP_read_s_ic, /* 471 */
+ PARROT_OP_read_s_p_i, /* 472 */
+ PARROT_OP_read_s_p_ic, /* 473 */
+ PARROT_OP_readline_s_p, /* 474 */
+ PARROT_OP_peek_s, /* 475 */
+ PARROT_OP_peek_s_p, /* 476 */
+ PARROT_OP_stat_i_s_i, /* 477 */
+ PARROT_OP_stat_i_sc_i, /* 478 */
+ PARROT_OP_stat_i_s_ic, /* 479 */
+ PARROT_OP_stat_i_sc_ic, /* 480 */
+ PARROT_OP_stat_i_i_i, /* 481 */
+ PARROT_OP_stat_i_ic_i, /* 482 */
+ PARROT_OP_stat_i_i_ic, /* 483 */
+ PARROT_OP_stat_i_ic_ic, /* 484 */
+ PARROT_OP_seek_p_i_i, /* 485 */
+ PARROT_OP_seek_p_ic_i, /* 486 */
+ PARROT_OP_seek_p_i_ic, /* 487 */
+ PARROT_OP_seek_p_ic_ic, /* 488 */
+ PARROT_OP_seek_p_i_i_i, /* 489 */
+ PARROT_OP_seek_p_ic_i_i, /* 490 */
+ PARROT_OP_seek_p_i_ic_i, /* 491 */
+ PARROT_OP_seek_p_ic_ic_i, /* 492 */
+ PARROT_OP_seek_p_i_i_ic, /* 493 */
+ PARROT_OP_seek_p_ic_i_ic, /* 494 */
+ PARROT_OP_seek_p_i_ic_ic, /* 495 */
+ PARROT_OP_seek_p_ic_ic_ic, /* 496 */
+ PARROT_OP_tell_i_p, /* 497 */
+ PARROT_OP_tell_i_i_p, /* 498 */
+ PARROT_OP_abs_i, /* 499 */
+ PARROT_OP_abs_n, /* 500 */
+ PARROT_OP_abs_i_i, /* 501 */
+ PARROT_OP_abs_n_n, /* 502 */
+ PARROT_OP_abs_p, /* 503 */
+ PARROT_OP_abs_p_p, /* 504 */
+ PARROT_OP_add_i_i, /* 505 */
+ PARROT_OP_add_i_ic, /* 506 */
+ PARROT_OP_add_n_n, /* 507 */
+ PARROT_OP_add_n_nc, /* 508 */
+ PARROT_OP_add_p_p, /* 509 */
+ PARROT_OP_add_p_i, /* 510 */
+ PARROT_OP_add_p_ic, /* 511 */
+ PARROT_OP_add_p_n, /* 512 */
+ PARROT_OP_add_p_nc, /* 513 */
+ PARROT_OP_add_i_i_i, /* 514 */
+ PARROT_OP_add_i_ic_i, /* 515 */
+ PARROT_OP_add_i_i_ic, /* 516 */
+ PARROT_OP_add_n_n_n, /* 517 */
+ PARROT_OP_add_n_nc_n, /* 518 */
+ PARROT_OP_add_n_n_nc, /* 519 */
+ PARROT_OP_add_p_p_p, /* 520 */
+ PARROT_OP_add_p_p_i, /* 521 */
+ PARROT_OP_add_p_p_ic, /* 522 */
+ PARROT_OP_add_p_p_n, /* 523 */
+ PARROT_OP_add_p_p_nc, /* 524 */
+ PARROT_OP_cmod_i_i_i, /* 525 */
+ PARROT_OP_cmod_i_ic_i, /* 526 */
+ PARROT_OP_cmod_i_i_ic, /* 527 */
+ PARROT_OP_cmod_p_p_i, /* 528 */
+ PARROT_OP_cmod_p_p_ic, /* 529 */
+ PARROT_OP_cmod_p_p_p, /* 530 */
+ PARROT_OP_cmod_n_n_n, /* 531 */
+ PARROT_OP_cmod_n_nc_n, /* 532 */
+ PARROT_OP_cmod_n_n_nc, /* 533 */
+ PARROT_OP_cmod_p_p_n, /* 534 */
+ PARROT_OP_cmod_p_p_nc, /* 535 */
+ PARROT_OP_dec_i, /* 536 */
+ PARROT_OP_dec_n, /* 537 */
+ PARROT_OP_dec_p, /* 538 */
+ PARROT_OP_div_i_i, /* 539 */
+ PARROT_OP_div_i_ic, /* 540 */
+ PARROT_OP_div_n_n, /* 541 */
+ PARROT_OP_div_n_nc, /* 542 */
+ PARROT_OP_div_p_p, /* 543 */
+ PARROT_OP_div_p_i, /* 544 */
+ PARROT_OP_div_p_ic, /* 545 */
+ PARROT_OP_div_p_n, /* 546 */
+ PARROT_OP_div_p_nc, /* 547 */
+ PARROT_OP_div_i_i_i, /* 548 */
+ PARROT_OP_div_i_ic_i, /* 549 */
+ PARROT_OP_div_i_i_ic, /* 550 */
+ PARROT_OP_div_i_ic_ic, /* 551 */
+ PARROT_OP_div_n_n_n, /* 552 */
+ PARROT_OP_div_n_nc_n, /* 553 */
+ PARROT_OP_div_n_n_nc, /* 554 */
+ PARROT_OP_div_n_nc_nc, /* 555 */
+ PARROT_OP_div_p_p_p, /* 556 */
+ PARROT_OP_div_p_p_i, /* 557 */
+ PARROT_OP_div_p_p_ic, /* 558 */
+ PARROT_OP_div_p_p_n, /* 559 */
+ PARROT_OP_div_p_p_nc, /* 560 */
+ PARROT_OP_fdiv_i_i, /* 561 */
+ PARROT_OP_fdiv_i_ic, /* 562 */
+ PARROT_OP_fdiv_n_n, /* 563 */
+ PARROT_OP_fdiv_n_nc, /* 564 */
+ PARROT_OP_fdiv_p_p, /* 565 */
+ PARROT_OP_fdiv_p_i, /* 566 */
+ PARROT_OP_fdiv_p_ic, /* 567 */
+ PARROT_OP_fdiv_p_n, /* 568 */
+ PARROT_OP_fdiv_p_nc, /* 569 */
+ PARROT_OP_fdiv_i_i_i, /* 570 */
+ PARROT_OP_fdiv_i_ic_i, /* 571 */
+ PARROT_OP_fdiv_i_i_ic, /* 572 */
+ PARROT_OP_fdiv_n_n_n, /* 573 */
+ PARROT_OP_fdiv_n_nc_n, /* 574 */
+ PARROT_OP_fdiv_n_n_nc, /* 575 */
+ PARROT_OP_fdiv_p_p_p, /* 576 */
+ PARROT_OP_fdiv_p_p_i, /* 577 */
+ PARROT_OP_fdiv_p_p_ic, /* 578 */
+ PARROT_OP_fdiv_p_p_n, /* 579 */
+ PARROT_OP_fdiv_p_p_nc, /* 580 */
+ PARROT_OP_ceil_n, /* 581 */
+ PARROT_OP_ceil_i_n, /* 582 */
+ PARROT_OP_ceil_n_n, /* 583 */
+ PARROT_OP_floor_n, /* 584 */
+ PARROT_OP_floor_i_n, /* 585 */
+ PARROT_OP_floor_n_n, /* 586 */
+ PARROT_OP_inc_i, /* 587 */
+ PARROT_OP_inc_n, /* 588 */
+ PARROT_OP_inc_p, /* 589 */
+ PARROT_OP_mod_i_i, /* 590 */
+ PARROT_OP_mod_i_ic, /* 591 */
+ PARROT_OP_mod_n_n, /* 592 */
+ PARROT_OP_mod_n_nc, /* 593 */
+ PARROT_OP_mod_p_p, /* 594 */
+ PARROT_OP_mod_p_i, /* 595 */
+ PARROT_OP_mod_p_ic, /* 596 */
+ PARROT_OP_mod_p_n, /* 597 */
+ PARROT_OP_mod_p_nc, /* 598 */
+ PARROT_OP_mod_i_i_i, /* 599 */
+ PARROT_OP_mod_i_ic_i, /* 600 */
+ PARROT_OP_mod_i_i_ic, /* 601 */
+ PARROT_OP_mod_n_n_n, /* 602 */
+ PARROT_OP_mod_n_nc_n, /* 603 */
+ PARROT_OP_mod_n_n_nc, /* 604 */
+ PARROT_OP_mod_p_p_p, /* 605 */
+ PARROT_OP_mod_p_p_i, /* 606 */
+ PARROT_OP_mod_p_p_ic, /* 607 */
+ PARROT_OP_mod_p_p_n, /* 608 */
+ PARROT_OP_mod_p_p_nc, /* 609 */
+ PARROT_OP_mul_i_i, /* 610 */
+ PARROT_OP_mul_i_ic, /* 611 */
+ PARROT_OP_mul_n_n, /* 612 */
+ PARROT_OP_mul_n_nc, /* 613 */
+ PARROT_OP_mul_p_p, /* 614 */
+ PARROT_OP_mul_p_i, /* 615 */
+ PARROT_OP_mul_p_ic, /* 616 */
+ PARROT_OP_mul_p_n, /* 617 */
+ PARROT_OP_mul_p_nc, /* 618 */
+ PARROT_OP_mul_i_i_i, /* 619 */
+ PARROT_OP_mul_i_ic_i, /* 620 */
+ PARROT_OP_mul_i_i_ic, /* 621 */
+ PARROT_OP_mul_n_n_n, /* 622 */
+ PARROT_OP_mul_n_nc_n, /* 623 */
+ PARROT_OP_mul_n_n_nc, /* 624 */
+ PARROT_OP_mul_p_p_p, /* 625 */
+ PARROT_OP_mul_p_p_i, /* 626 */
+ PARROT_OP_mul_p_p_ic, /* 627 */
+ PARROT_OP_mul_p_p_n, /* 628 */
+ PARROT_OP_mul_p_p_nc, /* 629 */
+ PARROT_OP_neg_i, /* 630 */
+ PARROT_OP_neg_n, /* 631 */
+ PARROT_OP_neg_p, /* 632 */
+ PARROT_OP_neg_i_i, /* 633 */
+ PARROT_OP_neg_n_n, /* 634 */
+ PARROT_OP_neg_p_p, /* 635 */
+ PARROT_OP_pow_n_n_n, /* 636 */
+ PARROT_OP_pow_n_nc_n, /* 637 */
+ PARROT_OP_pow_n_n_nc, /* 638 */
+ PARROT_OP_pow_p_p_p, /* 639 */
+ PARROT_OP_pow_p_p_i, /* 640 */
+ PARROT_OP_pow_p_p_ic, /* 641 */
+ PARROT_OP_pow_p_p_n, /* 642 */
+ PARROT_OP_pow_p_p_nc, /* 643 */
+ PARROT_OP_pow_n_n_i, /* 644 */
+ PARROT_OP_pow_n_nc_i, /* 645 */
+ PARROT_OP_pow_n_n_ic, /* 646 */
+ PARROT_OP_pow_n_nc_ic, /* 647 */
+ PARROT_OP_sub_i_i, /* 648 */
+ PARROT_OP_sub_i_ic, /* 649 */
+ PARROT_OP_sub_n_n, /* 650 */
+ PARROT_OP_sub_n_nc, /* 651 */
+ PARROT_OP_sub_p_p, /* 652 */
+ PARROT_OP_sub_p_i, /* 653 */
+ PARROT_OP_sub_p_ic, /* 654 */
+ PARROT_OP_sub_p_n, /* 655 */
+ PARROT_OP_sub_p_nc, /* 656 */
+ PARROT_OP_sub_i_i_i, /* 657 */
+ PARROT_OP_sub_i_ic_i, /* 658 */
+ PARROT_OP_sub_i_i_ic, /* 659 */
+ PARROT_OP_sub_n_n_n, /* 660 */
+ PARROT_OP_sub_n_nc_n, /* 661 */
+ PARROT_OP_sub_n_n_nc, /* 662 */
+ PARROT_OP_sub_p_p_p, /* 663 */
+ PARROT_OP_sub_p_p_i, /* 664 */
+ PARROT_OP_sub_p_p_ic, /* 665 */
+ PARROT_OP_sub_p_p_n, /* 666 */
+ PARROT_OP_sub_p_p_nc, /* 667 */
+ PARROT_OP_sqrt_n_n, /* 668 */
+ PARROT_OP_acos_n_n, /* 669 */
+ PARROT_OP_asec_n_n, /* 670 */
+ PARROT_OP_asin_n_n, /* 671 */
+ PARROT_OP_atan_n_n, /* 672 */
+ PARROT_OP_atan_n_n_n, /* 673 */
+ PARROT_OP_atan_n_nc_n, /* 674 */
+ PARROT_OP_atan_n_n_nc, /* 675 */
+ PARROT_OP_cos_n_n, /* 676 */
+ PARROT_OP_cosh_n_n, /* 677 */
+ PARROT_OP_exp_n_n, /* 678 */
+ PARROT_OP_ln_n_n, /* 679 */
+ PARROT_OP_log10_n_n, /* 680 */
+ PARROT_OP_log2_n_n, /* 681 */
+ PARROT_OP_sec_n_n, /* 682 */
+ PARROT_OP_sech_n_n, /* 683 */
+ PARROT_OP_sin_n_n, /* 684 */
+ PARROT_OP_sinh_n_n, /* 685 */
+ PARROT_OP_tan_n_n, /* 686 */
+ PARROT_OP_tanh_n_n, /* 687 */
+ PARROT_OP_callmethodcc_p_s, /* 688 */
+ PARROT_OP_callmethodcc_p_sc, /* 689 */
+ PARROT_OP_callmethodcc_p_p, /* 690 */
+ PARROT_OP_callmethod_p_s_p, /* 691 */
+ PARROT_OP_callmethod_p_sc_p, /* 692 */
+ PARROT_OP_callmethod_p_p_p, /* 693 */
+ PARROT_OP_tailcallmethod_p_s, /* 694 */
+ PARROT_OP_tailcallmethod_p_sc, /* 695 */
+ PARROT_OP_tailcallmethod_p_p, /* 696 */
+ PARROT_OP_addmethod_p_s_p, /* 697 */
+ PARROT_OP_addmethod_p_sc_p, /* 698 */
+ PARROT_OP_can_i_p_s, /* 699 */
+ PARROT_OP_can_i_p_sc, /* 700 */
+ PARROT_OP_does_i_p_s, /* 701 */
+ PARROT_OP_does_i_p_sc, /* 702 */
+ PARROT_OP_does_i_p_p, /* 703 */
+ PARROT_OP_does_i_p_pc, /* 704 */
+ PARROT_OP_isa_i_p_s, /* 705 */
+ PARROT_OP_isa_i_p_sc, /* 706 */
+ PARROT_OP_isa_i_p_p, /* 707 */
+ PARROT_OP_isa_i_p_pc, /* 708 */
+ PARROT_OP_newclass_p_s, /* 709 */
+ PARROT_OP_newclass_p_sc, /* 710 */
+ PARROT_OP_newclass_p_p, /* 711 */
+ PARROT_OP_newclass_p_pc, /* 712 */
+ PARROT_OP_subclass_p_p, /* 713 */
+ PARROT_OP_subclass_p_pc, /* 714 */
+ PARROT_OP_subclass_p_p_s, /* 715 */
+ PARROT_OP_subclass_p_pc_s, /* 716 */
+ PARROT_OP_subclass_p_p_sc, /* 717 */
+ PARROT_OP_subclass_p_pc_sc, /* 718 */
+ PARROT_OP_subclass_p_p_p, /* 719 */
+ PARROT_OP_subclass_p_pc_p, /* 720 */
+ PARROT_OP_subclass_p_p_pc, /* 721 */
+ PARROT_OP_subclass_p_pc_pc, /* 722 */
+ PARROT_OP_subclass_p_s, /* 723 */
+ PARROT_OP_subclass_p_sc, /* 724 */
+ PARROT_OP_subclass_p_s_s, /* 725 */
+ PARROT_OP_subclass_p_sc_s, /* 726 */
+ PARROT_OP_subclass_p_s_sc, /* 727 */
+ PARROT_OP_subclass_p_sc_sc, /* 728 */
+ PARROT_OP_subclass_p_s_p, /* 729 */
+ PARROT_OP_subclass_p_sc_p, /* 730 */
+ PARROT_OP_subclass_p_s_pc, /* 731 */
+ PARROT_OP_subclass_p_sc_pc, /* 732 */
+ PARROT_OP_get_class_p_s, /* 733 */
+ PARROT_OP_get_class_p_sc, /* 734 */
+ PARROT_OP_get_class_p_p, /* 735 */
+ PARROT_OP_get_class_p_pc, /* 736 */
+ PARROT_OP_class_p_p, /* 737 */
+ PARROT_OP_addparent_p_p, /* 738 */
+ PARROT_OP_removeparent_p_p, /* 739 */
+ PARROT_OP_addrole_p_p, /* 740 */
+ PARROT_OP_addattribute_p_s, /* 741 */
+ PARROT_OP_addattribute_p_sc, /* 742 */
+ PARROT_OP_removeattribute_p_s, /* 743 */
+ PARROT_OP_removeattribute_p_sc, /* 744 */
+ PARROT_OP_getattribute_p_p_s, /* 745 */
+ PARROT_OP_getattribute_p_p_sc, /* 746 */
+ PARROT_OP_getattribute_p_p_p_s, /* 747 */
+ PARROT_OP_getattribute_p_p_pc_s, /* 748 */
+ PARROT_OP_getattribute_p_p_p_sc, /* 749 */
+ PARROT_OP_getattribute_p_p_pc_sc, /* 750 */
+ PARROT_OP_setattribute_p_s_p, /* 751 */
+ PARROT_OP_setattribute_p_sc_p, /* 752 */
+ PARROT_OP_setattribute_p_p_s_p, /* 753 */
+ PARROT_OP_setattribute_p_pc_s_p, /* 754 */
+ PARROT_OP_setattribute_p_p_sc_p, /* 755 */
+ PARROT_OP_setattribute_p_pc_sc_p, /* 756 */
+ PARROT_OP_inspect_p_p, /* 757 */
+ PARROT_OP_inspect_p_pc, /* 758 */
+ PARROT_OP_inspect_p_p_s, /* 759 */
+ PARROT_OP_inspect_p_pc_s, /* 760 */
+ PARROT_OP_inspect_p_p_sc, /* 761 */
+ PARROT_OP_inspect_p_pc_sc, /* 762 */
+ PARROT_OP_new_p_s, /* 763 */
+ PARROT_OP_new_p_sc, /* 764 */
+ PARROT_OP_new_p_s_p, /* 765 */
+ PARROT_OP_new_p_sc_p, /* 766 */
+ PARROT_OP_new_p_s_pc, /* 767 */
+ PARROT_OP_new_p_sc_pc, /* 768 */
+ PARROT_OP_new_p_p, /* 769 */
+ PARROT_OP_new_p_pc, /* 770 */
+ PARROT_OP_new_p_p_p, /* 771 */
+ PARROT_OP_new_p_pc_p, /* 772 */
+ PARROT_OP_new_p_p_pc, /* 773 */
+ PARROT_OP_new_p_pc_pc, /* 774 */
+ PARROT_OP_root_new_p_p, /* 775 */
+ PARROT_OP_root_new_p_pc, /* 776 */
+ PARROT_OP_root_new_p_p_p, /* 777 */
+ PARROT_OP_root_new_p_pc_p, /* 778 */
+ PARROT_OP_root_new_p_p_pc, /* 779 */
+ PARROT_OP_root_new_p_pc_pc, /* 780 */
+ PARROT_OP_typeof_s_p, /* 781 */
+ PARROT_OP_typeof_p_p, /* 782 */
+ PARROT_OP_get_repr_s_p, /* 783 */
+ PARROT_OP_find_method_p_p_s, /* 784 */
+ PARROT_OP_find_method_p_p_sc, /* 785 */
+ PARROT_OP_defined_i_p, /* 786 */
+ PARROT_OP_defined_i_p_ki, /* 787 */
+ PARROT_OP_defined_i_p_kic, /* 788 */
+ PARROT_OP_defined_i_p_k, /* 789 */
+ PARROT_OP_defined_i_p_kc, /* 790 */
+ PARROT_OP_exists_i_p_ki, /* 791 */
+ PARROT_OP_exists_i_p_kic, /* 792 */
+ PARROT_OP_exists_i_p_k, /* 793 */
+ PARROT_OP_exists_i_p_kc, /* 794 */
+ PARROT_OP_delete_p_k, /* 795 */
+ PARROT_OP_delete_p_kc, /* 796 */
+ PARROT_OP_delete_p_ki, /* 797 */
+ PARROT_OP_delete_p_kic, /* 798 */
+ PARROT_OP_elements_i_p, /* 799 */
+ PARROT_OP_push_p_i, /* 800 */
+ PARROT_OP_push_p_ic, /* 801 */
+ PARROT_OP_push_p_n, /* 802 */
+ PARROT_OP_push_p_nc, /* 803 */
+ PARROT_OP_push_p_s, /* 804 */
+ PARROT_OP_push_p_sc, /* 805 */
+ PARROT_OP_push_p_p, /* 806 */
+ PARROT_OP_pop_i_p, /* 807 */
+ PARROT_OP_pop_n_p, /* 808 */
+ PARROT_OP_pop_s_p, /* 809 */
+ PARROT_OP_pop_p_p, /* 810 */
+ PARROT_OP_unshift_p_i, /* 811 */
+ PARROT_OP_unshift_p_ic, /* 812 */
+ PARROT_OP_unshift_p_n, /* 813 */
+ PARROT_OP_unshift_p_nc, /* 814 */
+ PARROT_OP_unshift_p_s, /* 815 */
+ PARROT_OP_unshift_p_sc, /* 816 */
+ PARROT_OP_unshift_p_p, /* 817 */
+ PARROT_OP_shift_i_p, /* 818 */
+ PARROT_OP_shift_n_p, /* 819 */
+ PARROT_OP_shift_s_p, /* 820 */
+ PARROT_OP_shift_p_p, /* 821 */
+ PARROT_OP_splice_p_p_i_i, /* 822 */
+ PARROT_OP_splice_p_p_ic_i, /* 823 */
+ PARROT_OP_splice_p_p_i_ic, /* 824 */
+ PARROT_OP_splice_p_p_ic_ic, /* 825 */
+ PARROT_OP_setprop_p_s_p, /* 826 */
+ PARROT_OP_setprop_p_sc_p, /* 827 */
+ PARROT_OP_getprop_p_s_p, /* 828 */
+ PARROT_OP_getprop_p_sc_p, /* 829 */
+ PARROT_OP_delprop_p_s, /* 830 */
+ PARROT_OP_delprop_p_sc, /* 831 */
+ PARROT_OP_prophash_p_p, /* 832 */
+ PARROT_OP_freeze_s_p, /* 833 */
+ PARROT_OP_thaw_p_s, /* 834 */
+ PARROT_OP_thaw_p_sc, /* 835 */
+ PARROT_OP_add_multi_s_s_p, /* 836 */
+ PARROT_OP_add_multi_sc_s_p, /* 837 */
+ PARROT_OP_add_multi_s_sc_p, /* 838 */
+ PARROT_OP_add_multi_sc_sc_p, /* 839 */
+ PARROT_OP_find_multi_p_s_s, /* 840 */
+ PARROT_OP_find_multi_p_sc_s, /* 841 */
+ PARROT_OP_find_multi_p_s_sc, /* 842 */
+ PARROT_OP_find_multi_p_sc_sc, /* 843 */
+ PARROT_OP_register_p, /* 844 */
+ PARROT_OP_unregister_p, /* 845 */
+ PARROT_OP_box_p_i, /* 846 */
+ PARROT_OP_box_p_ic, /* 847 */
+ PARROT_OP_box_p_n, /* 848 */
+ PARROT_OP_box_p_nc, /* 849 */
+ PARROT_OP_box_p_s, /* 850 */
+ PARROT_OP_box_p_sc, /* 851 */
+ PARROT_OP_iter_p_p, /* 852 */
+ PARROT_OP_morph_p_p, /* 853 */
+ PARROT_OP_morph_p_pc, /* 854 */
+ PARROT_OP_clone_s_s, /* 855 */
+ PARROT_OP_clone_s_sc, /* 856 */
+ PARROT_OP_set_i_i, /* 857 */
+ PARROT_OP_set_i_ic, /* 858 */
+ PARROT_OP_set_i_n, /* 859 */
+ PARROT_OP_set_i_nc, /* 860 */
+ PARROT_OP_set_i_s, /* 861 */
+ PARROT_OP_set_i_sc, /* 862 */
+ PARROT_OP_set_n_n, /* 863 */
+ PARROT_OP_set_n_nc, /* 864 */
+ PARROT_OP_set_n_i, /* 865 */
+ PARROT_OP_set_n_ic, /* 866 */
+ PARROT_OP_set_n_s, /* 867 */
+ PARROT_OP_set_n_sc, /* 868 */
+ PARROT_OP_set_n_p, /* 869 */
+ PARROT_OP_set_s_p, /* 870 */
+ PARROT_OP_set_s_s, /* 871 */
+ PARROT_OP_set_s_sc, /* 872 */
+ PARROT_OP_set_s_i, /* 873 */
+ PARROT_OP_set_s_ic, /* 874 */
+ PARROT_OP_set_s_n, /* 875 */
+ PARROT_OP_set_s_nc, /* 876 */
+ PARROT_OP_set_p_pc, /* 877 */
+ PARROT_OP_set_p_p, /* 878 */
+ PARROT_OP_set_p_i, /* 879 */
+ PARROT_OP_set_p_ic, /* 880 */
+ PARROT_OP_set_p_n, /* 881 */
+ PARROT_OP_set_p_nc, /* 882 */
+ PARROT_OP_set_p_s, /* 883 */
+ PARROT_OP_set_p_sc, /* 884 */
+ PARROT_OP_set_i_p, /* 885 */
+ PARROT_OP_assign_p_p, /* 886 */
+ PARROT_OP_assign_p_i, /* 887 */
+ PARROT_OP_assign_p_ic, /* 888 */
+ PARROT_OP_assign_p_n, /* 889 */
+ PARROT_OP_assign_p_nc, /* 890 */
+ PARROT_OP_assign_p_s, /* 891 */
+ PARROT_OP_assign_p_sc, /* 892 */
+ PARROT_OP_assign_s_s, /* 893 */
+ PARROT_OP_assign_s_sc, /* 894 */
+ PARROT_OP_setref_p_p, /* 895 */
+ PARROT_OP_deref_p_p, /* 896 */
+ PARROT_OP_set_p_ki_i, /* 897 */
+ PARROT_OP_set_p_kic_i, /* 898 */
+ PARROT_OP_set_p_ki_ic, /* 899 */
+ PARROT_OP_set_p_kic_ic, /* 900 */
+ PARROT_OP_set_p_ki_n, /* 901 */
+ PARROT_OP_set_p_kic_n, /* 902 */
+ PARROT_OP_set_p_ki_nc, /* 903 */
+ PARROT_OP_set_p_kic_nc, /* 904 */
+ PARROT_OP_set_p_ki_s, /* 905 */
+ PARROT_OP_set_p_kic_s, /* 906 */
+ PARROT_OP_set_p_ki_sc, /* 907 */
+ PARROT_OP_set_p_kic_sc, /* 908 */
+ PARROT_OP_set_p_ki_p, /* 909 */
+ PARROT_OP_set_p_kic_p, /* 910 */
+ PARROT_OP_set_i_p_ki, /* 911 */
+ PARROT_OP_set_i_p_kic, /* 912 */
+ PARROT_OP_set_n_p_ki, /* 913 */
+ PARROT_OP_set_n_p_kic, /* 914 */
+ PARROT_OP_set_s_p_ki, /* 915 */
+ PARROT_OP_set_s_p_kic, /* 916 */
+ PARROT_OP_set_p_p_ki, /* 917 */
+ PARROT_OP_set_p_p_kic, /* 918 */
+ PARROT_OP_set_p_k_i, /* 919 */
+ PARROT_OP_set_p_kc_i, /* 920 */
+ PARROT_OP_set_p_k_ic, /* 921 */
+ PARROT_OP_set_p_kc_ic, /* 922 */
+ PARROT_OP_set_p_k_n, /* 923 */
+ PARROT_OP_set_p_kc_n, /* 924 */
+ PARROT_OP_set_p_k_nc, /* 925 */
+ PARROT_OP_set_p_kc_nc, /* 926 */
+ PARROT_OP_set_p_k_s, /* 927 */
+ PARROT_OP_set_p_kc_s, /* 928 */
+ PARROT_OP_set_p_k_sc, /* 929 */
+ PARROT_OP_set_p_kc_sc, /* 930 */
+ PARROT_OP_set_p_k_p, /* 931 */
+ PARROT_OP_set_p_kc_p, /* 932 */
+ PARROT_OP_set_i_p_k, /* 933 */
+ PARROT_OP_set_i_p_kc, /* 934 */
+ PARROT_OP_set_n_p_k, /* 935 */
+ PARROT_OP_set_n_p_kc, /* 936 */
+ PARROT_OP_set_s_p_k, /* 937 */
+ PARROT_OP_set_s_p_kc, /* 938 */
+ PARROT_OP_set_p_p_k, /* 939 */
+ PARROT_OP_set_p_p_kc, /* 940 */
+ PARROT_OP_clone_p_p, /* 941 */
+ PARROT_OP_clone_p_p_p, /* 942 */
+ PARROT_OP_clone_p_p_pc, /* 943 */
+ PARROT_OP_copy_p_p, /* 944 */
+ PARROT_OP_null_s, /* 945 */
+ PARROT_OP_null_i, /* 946 */
+ PARROT_OP_null_p, /* 947 */
+ PARROT_OP_null_n, /* 948 */
+ PARROT_OP_ord_i_s, /* 949 */
+ PARROT_OP_ord_i_sc, /* 950 */
+ PARROT_OP_ord_i_s_i, /* 951 */
+ PARROT_OP_ord_i_sc_i, /* 952 */
+ PARROT_OP_ord_i_s_ic, /* 953 */
+ PARROT_OP_ord_i_sc_ic, /* 954 */
+ PARROT_OP_chr_s_i, /* 955 */
+ PARROT_OP_chr_s_ic, /* 956 */
+ PARROT_OP_chopn_s_s_i, /* 957 */
+ PARROT_OP_chopn_s_sc_i, /* 958 */
+ PARROT_OP_chopn_s_s_ic, /* 959 */
+ PARROT_OP_chopn_s_sc_ic, /* 960 */
+ PARROT_OP_concat_s_s, /* 961 */
+ PARROT_OP_concat_s_sc, /* 962 */
+ PARROT_OP_concat_p_p, /* 963 */
+ PARROT_OP_concat_p_s, /* 964 */
+ PARROT_OP_concat_p_sc, /* 965 */
+ PARROT_OP_concat_s_s_s, /* 966 */
+ PARROT_OP_concat_s_sc_s, /* 967 */
+ PARROT_OP_concat_s_s_sc, /* 968 */
+ PARROT_OP_concat_p_p_s, /* 969 */
+ PARROT_OP_concat_p_p_sc, /* 970 */
+ PARROT_OP_concat_p_p_p, /* 971 */
+ PARROT_OP_repeat_s_s_i, /* 972 */
+ PARROT_OP_repeat_s_sc_i, /* 973 */
+ PARROT_OP_repeat_s_s_ic, /* 974 */
+ PARROT_OP_repeat_s_sc_ic, /* 975 */
+ PARROT_OP_repeat_p_p_i, /* 976 */
+ PARROT_OP_repeat_p_p_ic, /* 977 */
+ PARROT_OP_repeat_p_p_p, /* 978 */
+ PARROT_OP_repeat_p_i, /* 979 */
+ PARROT_OP_repeat_p_ic, /* 980 */
+ PARROT_OP_repeat_p_p, /* 981 */
+ PARROT_OP_length_i_s, /* 982 */
+ PARROT_OP_length_i_sc, /* 983 */
+ PARROT_OP_bytelength_i_s, /* 984 */
+ PARROT_OP_bytelength_i_sc, /* 985 */
+ PARROT_OP_pin_s, /* 986 */
+ PARROT_OP_unpin_s, /* 987 */
+ PARROT_OP_substr_s_s_i, /* 988 */
+ PARROT_OP_substr_s_sc_i, /* 989 */
+ PARROT_OP_substr_s_s_ic, /* 990 */
+ PARROT_OP_substr_s_sc_ic, /* 991 */
+ PARROT_OP_substr_s_s_i_i, /* 992 */
+ PARROT_OP_substr_s_sc_i_i, /* 993 */
+ PARROT_OP_substr_s_s_ic_i, /* 994 */
+ PARROT_OP_substr_s_sc_ic_i, /* 995 */
+ PARROT_OP_substr_s_s_i_ic, /* 996 */
+ PARROT_OP_substr_s_sc_i_ic, /* 997 */
+ PARROT_OP_substr_s_s_ic_ic, /* 998 */
+ PARROT_OP_substr_s_sc_ic_ic, /* 999 */
+ PARROT_OP_substr_s_p_i_i, /* 1000 */
+ PARROT_OP_substr_s_p_ic_i, /* 1001 */
+ PARROT_OP_substr_s_p_i_ic, /* 1002 */
+ PARROT_OP_substr_s_p_ic_ic, /* 1003 */
+ PARROT_OP_replace_s_s_i_i_s, /* 1004 */
+ PARROT_OP_replace_s_sc_i_i_s, /* 1005 */
+ PARROT_OP_replace_s_s_ic_i_s, /* 1006 */
+ PARROT_OP_replace_s_sc_ic_i_s, /* 1007 */
+ PARROT_OP_replace_s_s_i_ic_s, /* 1008 */
+ PARROT_OP_replace_s_sc_i_ic_s, /* 1009 */
+ PARROT_OP_replace_s_s_ic_ic_s, /* 1010 */
+ PARROT_OP_replace_s_sc_ic_ic_s, /* 1011 */
+ PARROT_OP_replace_s_s_i_i_sc, /* 1012 */
+ PARROT_OP_replace_s_sc_i_i_sc, /* 1013 */
+ PARROT_OP_replace_s_s_ic_i_sc, /* 1014 */
+ PARROT_OP_replace_s_sc_ic_i_sc, /* 1015 */
+ PARROT_OP_replace_s_s_i_ic_sc, /* 1016 */
+ PARROT_OP_replace_s_sc_i_ic_sc, /* 1017 */
+ PARROT_OP_replace_s_s_ic_ic_sc, /* 1018 */
+ PARROT_OP_replace_s_sc_ic_ic_sc, /* 1019 */
+ PARROT_OP_index_i_s_s, /* 1020 */
+ PARROT_OP_index_i_sc_s, /* 1021 */
+ PARROT_OP_index_i_s_sc, /* 1022 */
+ PARROT_OP_index_i_sc_sc, /* 1023 */
+ PARROT_OP_index_i_s_s_i, /* 1024 */
+ PARROT_OP_index_i_sc_s_i, /* 1025 */
+ PARROT_OP_index_i_s_sc_i, /* 1026 */
+ PARROT_OP_index_i_sc_sc_i, /* 1027 */
+ PARROT_OP_index_i_s_s_ic, /* 1028 */
+ PARROT_OP_index_i_sc_s_ic, /* 1029 */
+ PARROT_OP_index_i_s_sc_ic, /* 1030 */
+ PARROT_OP_index_i_sc_sc_ic, /* 1031 */
+ PARROT_OP_sprintf_s_s_p, /* 1032 */
+ PARROT_OP_sprintf_s_sc_p, /* 1033 */
+ PARROT_OP_sprintf_p_p_p, /* 1034 */
+ PARROT_OP_new_s, /* 1035 */
+ PARROT_OP_new_s_i, /* 1036 */
+ PARROT_OP_new_s_ic, /* 1037 */
+ PARROT_OP_stringinfo_i_s_i, /* 1038 */
+ PARROT_OP_stringinfo_i_sc_i, /* 1039 */
+ PARROT_OP_stringinfo_i_s_ic, /* 1040 */
+ PARROT_OP_stringinfo_i_sc_ic, /* 1041 */
+ PARROT_OP_upcase_s_s, /* 1042 */
+ PARROT_OP_upcase_s_sc, /* 1043 */
+ PARROT_OP_downcase_s_s, /* 1044 */
+ PARROT_OP_downcase_s_sc, /* 1045 */
+ PARROT_OP_titlecase_s_s, /* 1046 */
+ PARROT_OP_titlecase_s_sc, /* 1047 */
+ PARROT_OP_join_s_s_p, /* 1048 */
+ PARROT_OP_join_s_sc_p, /* 1049 */
+ PARROT_OP_split_p_s_s, /* 1050 */
+ PARROT_OP_split_p_sc_s, /* 1051 */
+ PARROT_OP_split_p_s_sc, /* 1052 */
+ PARROT_OP_split_p_sc_sc, /* 1053 */
+ PARROT_OP_charset_i_s, /* 1054 */
+ PARROT_OP_charset_i_sc, /* 1055 */
+ PARROT_OP_charsetname_s_i, /* 1056 */
+ PARROT_OP_charsetname_s_ic, /* 1057 */
+ PARROT_OP_find_charset_i_s, /* 1058 */
+ PARROT_OP_find_charset_i_sc, /* 1059 */
+ PARROT_OP_trans_charset_s_s_i, /* 1060 */
+ PARROT_OP_trans_charset_s_sc_i, /* 1061 */
+ PARROT_OP_trans_charset_s_s_ic, /* 1062 */
+ PARROT_OP_trans_charset_s_sc_ic, /* 1063 */
+ PARROT_OP_encoding_i_s, /* 1064 */
+ PARROT_OP_encoding_i_sc, /* 1065 */
+ PARROT_OP_encodingname_s_i, /* 1066 */
+ PARROT_OP_encodingname_s_ic, /* 1067 */
+ PARROT_OP_find_encoding_i_s, /* 1068 */
+ PARROT_OP_find_encoding_i_sc, /* 1069 */
+ PARROT_OP_trans_encoding_s_s_i, /* 1070 */
+ PARROT_OP_trans_encoding_s_sc_i, /* 1071 */
+ PARROT_OP_trans_encoding_s_s_ic, /* 1072 */
+ PARROT_OP_trans_encoding_s_sc_ic, /* 1073 */
+ PARROT_OP_is_cclass_i_i_s_i, /* 1074 */
+ PARROT_OP_is_cclass_i_ic_s_i, /* 1075 */
+ PARROT_OP_is_cclass_i_i_sc_i, /* 1076 */
+ PARROT_OP_is_cclass_i_ic_sc_i, /* 1077 */
+ PARROT_OP_is_cclass_i_i_s_ic, /* 1078 */
+ PARROT_OP_is_cclass_i_ic_s_ic, /* 1079 */
+ PARROT_OP_is_cclass_i_i_sc_ic, /* 1080 */
+ PARROT_OP_is_cclass_i_ic_sc_ic, /* 1081 */
+ PARROT_OP_find_cclass_i_i_s_i_i, /* 1082 */
+ PARROT_OP_find_cclass_i_ic_s_i_i, /* 1083 */
+ PARROT_OP_find_cclass_i_i_sc_i_i, /* 1084 */
+ PARROT_OP_find_cclass_i_ic_sc_i_i, /* 1085 */
+ PARROT_OP_find_cclass_i_i_s_ic_i, /* 1086 */
+ PARROT_OP_find_cclass_i_ic_s_ic_i, /* 1087 */
+ PARROT_OP_find_cclass_i_i_sc_ic_i, /* 1088 */
+ PARROT_OP_find_cclass_i_ic_sc_ic_i, /* 1089 */
+ PARROT_OP_find_cclass_i_i_s_i_ic, /* 1090 */
+ PARROT_OP_find_cclass_i_ic_s_i_ic, /* 1091 */
+ PARROT_OP_find_cclass_i_i_sc_i_ic, /* 1092 */
+ PARROT_OP_find_cclass_i_ic_sc_i_ic, /* 1093 */
+ PARROT_OP_find_cclass_i_i_s_ic_ic, /* 1094 */
+ PARROT_OP_find_cclass_i_ic_s_ic_ic, /* 1095 */
+ PARROT_OP_find_cclass_i_i_sc_ic_ic, /* 1096 */
+ PARROT_OP_find_cclass_i_ic_sc_ic_ic, /* 1097 */
+ PARROT_OP_find_not_cclass_i_i_s_i_i, /* 1098 */
+ PARROT_OP_find_not_cclass_i_ic_s_i_i, /* 1099 */
+ PARROT_OP_find_not_cclass_i_i_sc_i_i, /* 1100 */
+ PARROT_OP_find_not_cclass_i_ic_sc_i_i, /* 1101 */
+ PARROT_OP_find_not_cclass_i_i_s_ic_i, /* 1102 */
+ PARROT_OP_find_not_cclass_i_ic_s_ic_i, /* 1103 */
+ PARROT_OP_find_not_cclass_i_i_sc_ic_i, /* 1104 */
+ PARROT_OP_find_not_cclass_i_ic_sc_ic_i, /* 1105 */
+ PARROT_OP_find_not_cclass_i_i_s_i_ic, /* 1106 */
+ PARROT_OP_find_not_cclass_i_ic_s_i_ic, /* 1107 */
+ PARROT_OP_find_not_cclass_i_i_sc_i_ic, /* 1108 */
+ PARROT_OP_find_not_cclass_i_ic_sc_i_ic, /* 1109 */
+ PARROT_OP_find_not_cclass_i_i_s_ic_ic, /* 1110 */
+ PARROT_OP_find_not_cclass_i_ic_s_ic_ic, /* 1111 */
+ PARROT_OP_find_not_cclass_i_i_sc_ic_ic, /* 1112 */
+ PARROT_OP_find_not_cclass_i_ic_sc_ic_ic, /* 1113 */
+ PARROT_OP_escape_s_s, /* 1114 */
+ PARROT_OP_compose_s_s, /* 1115 */
+ PARROT_OP_compose_s_sc, /* 1116 */
+ PARROT_OP_spawnw_i_s, /* 1117 */
+ PARROT_OP_spawnw_i_sc, /* 1118 */
+ PARROT_OP_spawnw_i_p, /* 1119 */
+ PARROT_OP_err_i, /* 1120 */
+ PARROT_OP_err_s, /* 1121 */
+ PARROT_OP_err_s_i, /* 1122 */
+ PARROT_OP_err_s_ic, /* 1123 */
+ PARROT_OP_time_i, /* 1124 */
+ PARROT_OP_time_n, /* 1125 */
+ PARROT_OP_gmtime_s_i, /* 1126 */
+ PARROT_OP_gmtime_s_ic, /* 1127 */
+ PARROT_OP_localtime_s_i, /* 1128 */
+ PARROT_OP_localtime_s_ic, /* 1129 */
+ PARROT_OP_decodetime_p_i, /* 1130 */
+ PARROT_OP_decodetime_p_ic, /* 1131 */
+ PARROT_OP_decodelocaltime_p_i, /* 1132 */
+ PARROT_OP_decodelocaltime_p_ic, /* 1133 */
+ PARROT_OP_sysinfo_s_i, /* 1134 */
+ PARROT_OP_sysinfo_s_ic, /* 1135 */
+ PARROT_OP_sysinfo_i_i, /* 1136 */
+ PARROT_OP_sysinfo_i_ic, /* 1137 */
+ PARROT_OP_sleep_i, /* 1138 */
+ PARROT_OP_sleep_ic, /* 1139 */
+ PARROT_OP_sleep_n, /* 1140 */
+ PARROT_OP_sleep_nc, /* 1141 */
+ PARROT_OP_store_lex_s_p, /* 1142 */
+ PARROT_OP_store_lex_sc_p, /* 1143 */
+ PARROT_OP_store_dynamic_lex_s_p, /* 1144 */
+ PARROT_OP_store_dynamic_lex_sc_p, /* 1145 */
+ PARROT_OP_find_lex_p_s, /* 1146 */
+ PARROT_OP_find_lex_p_sc, /* 1147 */
+ PARROT_OP_find_dynamic_lex_p_s, /* 1148 */
+ PARROT_OP_find_dynamic_lex_p_sc, /* 1149 */
+ PARROT_OP_find_caller_lex_p_s, /* 1150 */
+ PARROT_OP_find_caller_lex_p_sc, /* 1151 */
+ PARROT_OP_get_namespace_p, /* 1152 */
+ PARROT_OP_get_namespace_p_p, /* 1153 */
+ PARROT_OP_get_namespace_p_pc, /* 1154 */
+ PARROT_OP_get_hll_namespace_p, /* 1155 */
+ PARROT_OP_get_hll_namespace_p_p, /* 1156 */
+ PARROT_OP_get_hll_namespace_p_pc, /* 1157 */
+ PARROT_OP_get_root_namespace_p, /* 1158 */
+ PARROT_OP_get_root_namespace_p_p, /* 1159 */
+ PARROT_OP_get_root_namespace_p_pc, /* 1160 */
+ PARROT_OP_get_global_p_s, /* 1161 */
+ PARROT_OP_get_global_p_sc, /* 1162 */
+ PARROT_OP_get_global_p_p_s, /* 1163 */
+ PARROT_OP_get_global_p_pc_s, /* 1164 */
+ PARROT_OP_get_global_p_p_sc, /* 1165 */
+ PARROT_OP_get_global_p_pc_sc, /* 1166 */
+ PARROT_OP_get_hll_global_p_s, /* 1167 */
+ PARROT_OP_get_hll_global_p_sc, /* 1168 */
+ PARROT_OP_get_hll_global_p_p_s, /* 1169 */
+ PARROT_OP_get_hll_global_p_pc_s, /* 1170 */
+ PARROT_OP_get_hll_global_p_p_sc, /* 1171 */
+ PARROT_OP_get_hll_global_p_pc_sc, /* 1172 */
+ PARROT_OP_get_root_global_p_s, /* 1173 */
+ PARROT_OP_get_root_global_p_sc, /* 1174 */
+ PARROT_OP_get_root_global_p_p_s, /* 1175 */
+ PARROT_OP_get_root_global_p_pc_s, /* 1176 */
+ PARROT_OP_get_root_global_p_p_sc, /* 1177 */
+ PARROT_OP_get_root_global_p_pc_sc, /* 1178 */
+ PARROT_OP_set_global_s_p, /* 1179 */
+ PARROT_OP_set_global_sc_p, /* 1180 */
+ PARROT_OP_set_global_p_s_p, /* 1181 */
+ PARROT_OP_set_global_pc_s_p, /* 1182 */
+ PARROT_OP_set_global_p_sc_p, /* 1183 */
+ PARROT_OP_set_global_pc_sc_p, /* 1184 */
+ PARROT_OP_set_hll_global_s_p, /* 1185 */
+ PARROT_OP_set_hll_global_sc_p, /* 1186 */
+ PARROT_OP_set_hll_global_p_s_p, /* 1187 */
+ PARROT_OP_set_hll_global_pc_s_p, /* 1188 */
+ PARROT_OP_set_hll_global_p_sc_p, /* 1189 */
+ PARROT_OP_set_hll_global_pc_sc_p, /* 1190 */
+ PARROT_OP_set_root_global_s_p, /* 1191 */
+ PARROT_OP_set_root_global_sc_p, /* 1192 */
+ PARROT_OP_set_root_global_p_s_p, /* 1193 */
+ PARROT_OP_set_root_global_pc_s_p, /* 1194 */
+ PARROT_OP_set_root_global_p_sc_p, /* 1195 */
+ PARROT_OP_set_root_global_pc_sc_p, /* 1196 */
+ PARROT_OP_find_name_p_s, /* 1197 */
+ PARROT_OP_find_name_p_sc, /* 1198 */
+ PARROT_OP_find_sub_not_null_p_s, /* 1199 */
+ PARROT_OP_find_sub_not_null_p_sc, /* 1200 */
+ PARROT_OP_trap, /* 1201 */
+ PARROT_OP_set_label_p_ic, /* 1202 */
+ PARROT_OP_get_label_i_p, /* 1203 */
+ PARROT_OP_fetch_p_p_p_p, /* 1204 */
+ PARROT_OP_fetch_p_pc_p_p, /* 1205 */
+ PARROT_OP_fetch_p_p_pc_p, /* 1206 */
+ PARROT_OP_fetch_p_pc_pc_p, /* 1207 */
+ PARROT_OP_fetch_p_p_p_pc, /* 1208 */
+ PARROT_OP_fetch_p_pc_p_pc, /* 1209 */
+ PARROT_OP_fetch_p_p_pc_pc, /* 1210 */
+ PARROT_OP_fetch_p_pc_pc_pc, /* 1211 */
+ PARROT_OP_fetch_p_p_i_p, /* 1212 */
+ PARROT_OP_fetch_p_pc_i_p, /* 1213 */
+ PARROT_OP_fetch_p_p_ic_p, /* 1214 */
+ PARROT_OP_fetch_p_pc_ic_p, /* 1215 */
+ PARROT_OP_fetch_p_p_i_pc, /* 1216 */
+ PARROT_OP_fetch_p_pc_i_pc, /* 1217 */
+ PARROT_OP_fetch_p_p_ic_pc, /* 1218 */
+ PARROT_OP_fetch_p_pc_ic_pc, /* 1219 */
+ PARROT_OP_fetch_p_p_s_p, /* 1220 */
+ PARROT_OP_fetch_p_pc_s_p, /* 1221 */
+ PARROT_OP_fetch_p_p_sc_p, /* 1222 */
+ PARROT_OP_fetch_p_pc_sc_p, /* 1223 */
+ PARROT_OP_fetch_p_p_s_pc, /* 1224 */
+ PARROT_OP_fetch_p_pc_s_pc, /* 1225 */
+ PARROT_OP_fetch_p_p_sc_pc, /* 1226 */
+ PARROT_OP_fetch_p_pc_sc_pc, /* 1227 */
+ PARROT_OP_vivify_p_p_p_p, /* 1228 */
+ PARROT_OP_vivify_p_pc_p_p, /* 1229 */
+ PARROT_OP_vivify_p_p_pc_p, /* 1230 */
+ PARROT_OP_vivify_p_pc_pc_p, /* 1231 */
+ PARROT_OP_vivify_p_p_p_pc, /* 1232 */
+ PARROT_OP_vivify_p_pc_p_pc, /* 1233 */
+ PARROT_OP_vivify_p_p_pc_pc, /* 1234 */
+ PARROT_OP_vivify_p_pc_pc_pc, /* 1235 */
+ PARROT_OP_vivify_p_p_i_p, /* 1236 */
+ PARROT_OP_vivify_p_pc_i_p, /* 1237 */
+ PARROT_OP_vivify_p_p_ic_p, /* 1238 */
+ PARROT_OP_vivify_p_pc_ic_p, /* 1239 */
+ PARROT_OP_vivify_p_p_i_pc, /* 1240 */
+ PARROT_OP_vivify_p_pc_i_pc, /* 1241 */
+ PARROT_OP_vivify_p_p_ic_pc, /* 1242 */
+ PARROT_OP_vivify_p_pc_ic_pc, /* 1243 */
+ PARROT_OP_vivify_p_p_s_p, /* 1244 */
+ PARROT_OP_vivify_p_pc_s_p, /* 1245 */
+ PARROT_OP_vivify_p_p_sc_p, /* 1246 */
+ PARROT_OP_vivify_p_pc_sc_p, /* 1247 */
+ PARROT_OP_vivify_p_p_s_pc, /* 1248 */
+ PARROT_OP_vivify_p_pc_s_pc, /* 1249 */
+ PARROT_OP_vivify_p_p_sc_pc, /* 1250 */
+ PARROT_OP_vivify_p_pc_sc_pc, /* 1251 */
+ PARROT_OP_new_p_s_i, /* 1252 */
+ PARROT_OP_new_p_sc_i, /* 1253 */
+ PARROT_OP_new_p_s_ic, /* 1254 */
+ PARROT_OP_new_p_sc_ic, /* 1255 */
+ PARROT_OP_new_p_p_i, /* 1256 */
+ PARROT_OP_new_p_pc_i, /* 1257 */
+ PARROT_OP_new_p_p_ic, /* 1258 */
+ PARROT_OP_new_p_pc_ic, /* 1259 */
+ PARROT_OP_root_new_p_p_i, /* 1260 */
+ PARROT_OP_root_new_p_pc_i, /* 1261 */
+ PARROT_OP_root_new_p_p_ic, /* 1262 */
+ PARROT_OP_root_new_p_pc_ic, /* 1263 */
+ PARROT_OP_find_codepoint_i_s, /* 1264 */
+ PARROT_OP_find_codepoint_i_sc, /* 1265 */
+ PARROT_OP_unroll_p, /* 1266 */
+ PARROT_OP_unroll_pc /* 1267 */
+
+} parrot_opcode_enums;
+
+
+#endif /* PARROT_OPLIB_OPS_H_GUARD */
+
+
+/*
+ * Local variables:
+ * c-file-style: "parrot"
+ * buffer-read-only: t
+ * End:
+ * vim: expandtab shiftwidth=4:
+ */
Copied: branches/ucs4_encoding/include/parrot/opsenum.h (from r46972, trunk/include/parrot/opsenum.h)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ucs4_encoding/include/parrot/opsenum.h Mon May 24 21:18:41 2010 (r46974, copy of r46972, trunk/include/parrot/opsenum.h)
@@ -0,0 +1,1226 @@
+
+/* $Id$ */
+
+#ifndef PARROT_OPSENUM_H_GUARD
+#define PARROT_OPSENUM_H_GUARD
+
+
+/* ex: set ro:
+ * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+ *
+ * This file is generated automatically from 'src/ops/core.ops' (and possibly other
+ * .ops files). by ops2c.nqp.
+ *
+ * Any changes made here will be lost!
+ *
+ */
+enum OPS_ENUM {
+ enum_ops_load_bytecode_s = 5,
+ enum_ops_load_bytecode_sc = 6,
+ enum_ops_load_language_s = 7,
+ enum_ops_load_language_sc = 8,
+ enum_ops_branch_i = 9,
+ enum_ops_branch_ic = 10,
+ enum_ops_local_branch_p_i = 11,
+ enum_ops_local_branch_p_ic = 12,
+ enum_ops_local_return_p = 13,
+ enum_ops_jump_i = 14,
+ enum_ops_jump_ic = 15,
+ enum_ops_enternative = 16,
+ enum_ops_if_i_ic = 17,
+ enum_ops_if_n_ic = 18,
+ enum_ops_if_s_ic = 19,
+ enum_ops_if_p_ic = 20,
+ enum_ops_unless_i_ic = 21,
+ enum_ops_unless_n_ic = 22,
+ enum_ops_unless_s_ic = 23,
+ enum_ops_unless_p_ic = 24,
+ enum_ops_invokecc_p = 25,
+ enum_ops_invoke_p_p = 26,
+ enum_ops_yield = 27,
+ enum_ops_tailcall_p = 28,
+ enum_ops_returncc = 29,
+ enum_ops_capture_lex_p = 30,
+ enum_ops_newclosure_p_p = 31,
+ enum_ops_set_args_pc = 32,
+ enum_ops_get_params_pc = 33,
+ enum_ops_set_returns_pc = 34,
+ enum_ops_get_results_pc = 35,
+ enum_ops_set_result_info_p = 36,
+ enum_ops_set_result_info_pc = 37,
+ enum_ops_result_info_p = 38,
+ enum_ops_set_addr_i_ic = 39,
+ enum_ops_set_addr_p_ic = 40,
+ enum_ops_set_addr_p_i = 41,
+ enum_ops_get_addr_i_p = 42,
+ enum_ops_schedule_p = 43,
+ enum_ops_addhandler_p = 44,
+ enum_ops_push_eh_ic = 45,
+ enum_ops_push_eh_p = 46,
+ enum_ops_pop_eh = 47,
+ enum_ops_throw_p = 48,
+ enum_ops_throw_p_p = 49,
+ enum_ops_rethrow_p = 50,
+ enum_ops_count_eh_i = 51,
+ enum_ops_die_s = 52,
+ enum_ops_die_sc = 53,
+ enum_ops_die_p = 54,
+ enum_ops_die_pc = 55,
+ enum_ops_die_i_i = 56,
+ enum_ops_die_ic_i = 57,
+ enum_ops_die_i_ic = 58,
+ enum_ops_die_ic_ic = 59,
+ enum_ops_exit_i = 60,
+ enum_ops_exit_ic = 61,
+ enum_ops_debug_i = 62,
+ enum_ops_debug_ic = 63,
+ enum_ops_bounds_i = 64,
+ enum_ops_bounds_ic = 65,
+ enum_ops_profile_i = 66,
+ enum_ops_profile_ic = 67,
+ enum_ops_trace_i = 68,
+ enum_ops_trace_ic = 69,
+ enum_ops_gc_debug_i = 70,
+ enum_ops_gc_debug_ic = 71,
+ enum_ops_interpinfo_i_i = 72,
+ enum_ops_interpinfo_i_ic = 73,
+ enum_ops_interpinfo_p_i = 74,
+ enum_ops_interpinfo_p_ic = 75,
+ enum_ops_interpinfo_s_i = 76,
+ enum_ops_interpinfo_s_ic = 77,
+ enum_ops_warningson_i = 78,
+ enum_ops_warningson_ic = 79,
+ enum_ops_warningsoff_i = 80,
+ enum_ops_warningsoff_ic = 81,
+ enum_ops_errorson_i = 82,
+ enum_ops_errorson_ic = 83,
+ enum_ops_errorsoff_i = 84,
+ enum_ops_errorsoff_ic = 85,
+ enum_ops_runinterp_p_i = 86,
+ enum_ops_runinterp_p_ic = 87,
+ enum_ops_getinterp_p = 88,
+ enum_ops_sweep_ic = 89,
+ enum_ops_collect = 90,
+ enum_ops_sweepoff = 91,
+ enum_ops_sweepon = 92,
+ enum_ops_collectoff = 93,
+ enum_ops_collecton = 94,
+ enum_ops_needs_destroy_p = 95,
+ enum_ops_loadlib_p_s = 96,
+ enum_ops_loadlib_p_sc = 97,
+ enum_ops_loadlib_p_s_p = 98,
+ enum_ops_loadlib_p_sc_p = 99,
+ enum_ops_loadlib_p_s_pc = 100,
+ enum_ops_loadlib_p_sc_pc = 101,
+ enum_ops_dlfunc_p_p_s_s = 102,
+ enum_ops_dlfunc_p_p_sc_s = 103,
+ enum_ops_dlfunc_p_p_s_sc = 104,
+ enum_ops_dlfunc_p_p_sc_sc = 105,
+ enum_ops_dlvar_p_p_s = 106,
+ enum_ops_dlvar_p_p_sc = 107,
+ enum_ops_compreg_s_p = 108,
+ enum_ops_compreg_sc_p = 109,
+ enum_ops_compreg_p_s = 110,
+ enum_ops_compreg_p_sc = 111,
+ enum_ops_new_callback_p_p_p_s = 112,
+ enum_ops_new_callback_p_p_p_sc = 113,
+ enum_ops_annotations_p = 114,
+ enum_ops_annotations_p_s = 115,
+ enum_ops_annotations_p_sc = 116,
+ enum_ops_band_i_i = 117,
+ enum_ops_band_i_ic = 118,
+ enum_ops_band_p_i = 119,
+ enum_ops_band_p_ic = 120,
+ enum_ops_band_p_p = 121,
+ enum_ops_band_i_i_i = 122,
+ enum_ops_band_i_ic_i = 123,
+ enum_ops_band_i_i_ic = 124,
+ enum_ops_band_p_p_i = 125,
+ enum_ops_band_p_p_ic = 126,
+ enum_ops_band_p_p_p = 127,
+ enum_ops_bands_p_s = 128,
+ enum_ops_bands_p_sc = 129,
+ enum_ops_bands_p_p = 130,
+ enum_ops_bands_s_s_s = 131,
+ enum_ops_bands_s_sc_s = 132,
+ enum_ops_bands_s_s_sc = 133,
+ enum_ops_bands_p_p_s = 134,
+ enum_ops_bands_p_p_sc = 135,
+ enum_ops_bands_p_p_p = 136,
+ enum_ops_bnot_i = 137,
+ enum_ops_bnot_i_i = 138,
+ enum_ops_bnot_p = 139,
+ enum_ops_bnot_p_p = 140,
+ enum_ops_bnots_s_s = 141,
+ enum_ops_bnots_s_sc = 142,
+ enum_ops_bnots_p = 143,
+ enum_ops_bnots_p_p = 144,
+ enum_ops_bor_i_i = 145,
+ enum_ops_bor_i_ic = 146,
+ enum_ops_bor_p_i = 147,
+ enum_ops_bor_p_ic = 148,
+ enum_ops_bor_p_p = 149,
+ enum_ops_bor_i_i_i = 150,
+ enum_ops_bor_i_ic_i = 151,
+ enum_ops_bor_i_i_ic = 152,
+ enum_ops_bor_p_p_i = 153,
+ enum_ops_bor_p_p_ic = 154,
+ enum_ops_bor_p_p_p = 155,
+ enum_ops_bors_p_s = 156,
+ enum_ops_bors_p_sc = 157,
+ enum_ops_bors_p_p = 158,
+ enum_ops_bors_s_s_s = 159,
+ enum_ops_bors_s_sc_s = 160,
+ enum_ops_bors_s_s_sc = 161,
+ enum_ops_bors_p_p_s = 162,
+ enum_ops_bors_p_p_sc = 163,
+ enum_ops_bors_p_p_p = 164,
+ enum_ops_shl_i_i = 165,
+ enum_ops_shl_i_ic = 166,
+ enum_ops_shl_p_i = 167,
+ enum_ops_shl_p_ic = 168,
+ enum_ops_shl_p_p = 169,
+ enum_ops_shl_i_i_i = 170,
+ enum_ops_shl_i_ic_i = 171,
+ enum_ops_shl_i_i_ic = 172,
+ enum_ops_shl_p_p_i = 173,
+ enum_ops_shl_p_p_ic = 174,
+ enum_ops_shl_p_p_p = 175,
+ enum_ops_shr_i_i = 176,
+ enum_ops_shr_i_ic = 177,
+ enum_ops_shr_p_i = 178,
+ enum_ops_shr_p_ic = 179,
+ enum_ops_shr_p_p = 180,
+ enum_ops_shr_i_i_i = 181,
+ enum_ops_shr_i_ic_i = 182,
+ enum_ops_shr_i_i_ic = 183,
+ enum_ops_shr_p_p_i = 184,
+ enum_ops_shr_p_p_ic = 185,
+ enum_ops_shr_p_p_p = 186,
+ enum_ops_lsr_i_i = 187,
+ enum_ops_lsr_i_ic = 188,
+ enum_ops_lsr_p_i = 189,
+ enum_ops_lsr_p_ic = 190,
+ enum_ops_lsr_p_p = 191,
+ enum_ops_lsr_i_i_i = 192,
+ enum_ops_lsr_i_ic_i = 193,
+ enum_ops_lsr_i_i_ic = 194,
+ enum_ops_lsr_p_p_i = 195,
+ enum_ops_lsr_p_p_ic = 196,
+ enum_ops_lsr_p_p_p = 197,
+ enum_ops_rot_i_i_i_ic = 198,
+ enum_ops_rot_i_ic_i_ic = 199,
+ enum_ops_rot_i_i_ic_ic = 200,
+ enum_ops_bxor_i_i = 201,
+ enum_ops_bxor_i_ic = 202,
+ enum_ops_bxor_p_i = 203,
+ enum_ops_bxor_p_ic = 204,
+ enum_ops_bxor_p_p = 205,
+ enum_ops_bxor_i_i_i = 206,
+ enum_ops_bxor_i_ic_i = 207,
+ enum_ops_bxor_i_i_ic = 208,
+ enum_ops_bxor_p_p_i = 209,
+ enum_ops_bxor_p_p_ic = 210,
+ enum_ops_bxor_p_p_p = 211,
+ enum_ops_bxors_p_s = 212,
+ enum_ops_bxors_p_sc = 213,
+ enum_ops_bxors_p_p = 214,
+ enum_ops_bxors_s_s_s = 215,
+ enum_ops_bxors_s_sc_s = 216,
+ enum_ops_bxors_s_s_sc = 217,
+ enum_ops_bxors_p_p_s = 218,
+ enum_ops_bxors_p_p_sc = 219,
+ enum_ops_bxors_p_p_p = 220,
+ enum_ops_eq_i_i_ic = 221,
+ enum_ops_eq_ic_i_ic = 222,
+ enum_ops_eq_i_ic_ic = 223,
+ enum_ops_eq_n_n_ic = 224,
+ enum_ops_eq_nc_n_ic = 225,
+ enum_ops_eq_n_nc_ic = 226,
+ enum_ops_eq_s_s_ic = 227,
+ enum_ops_eq_sc_s_ic = 228,
+ enum_ops_eq_s_sc_ic = 229,
+ enum_ops_eq_p_p_ic = 230,
+ enum_ops_eq_p_i_ic = 231,
+ enum_ops_eq_p_ic_ic = 232,
+ enum_ops_eq_p_n_ic = 233,
+ enum_ops_eq_p_nc_ic = 234,
+ enum_ops_eq_p_s_ic = 235,
+ enum_ops_eq_p_sc_ic = 236,
+ enum_ops_eq_str_p_p_ic = 237,
+ enum_ops_eq_num_p_p_ic = 238,
+ enum_ops_eq_addr_s_s_ic = 239,
+ enum_ops_eq_addr_sc_s_ic = 240,
+ enum_ops_eq_addr_s_sc_ic = 241,
+ enum_ops_eq_addr_sc_sc_ic = 242,
+ enum_ops_eq_addr_p_p_ic = 243,
+ enum_ops_ne_i_i_ic = 244,
+ enum_ops_ne_ic_i_ic = 245,
+ enum_ops_ne_i_ic_ic = 246,
+ enum_ops_ne_n_n_ic = 247,
+ enum_ops_ne_nc_n_ic = 248,
+ enum_ops_ne_n_nc_ic = 249,
+ enum_ops_ne_s_s_ic = 250,
+ enum_ops_ne_sc_s_ic = 251,
+ enum_ops_ne_s_sc_ic = 252,
+ enum_ops_ne_p_p_ic = 253,
+ enum_ops_ne_p_i_ic = 254,
+ enum_ops_ne_p_ic_ic = 255,
+ enum_ops_ne_p_n_ic = 256,
+ enum_ops_ne_p_nc_ic = 257,
+ enum_ops_ne_p_s_ic = 258,
+ enum_ops_ne_p_sc_ic = 259,
+ enum_ops_ne_str_p_p_ic = 260,
+ enum_ops_ne_num_p_p_ic = 261,
+ enum_ops_ne_addr_s_s_ic = 262,
+ enum_ops_ne_addr_sc_s_ic = 263,
+ enum_ops_ne_addr_s_sc_ic = 264,
+ enum_ops_ne_addr_sc_sc_ic = 265,
+ enum_ops_ne_addr_p_p_ic = 266,
+ enum_ops_lt_i_i_ic = 267,
+ enum_ops_lt_ic_i_ic = 268,
+ enum_ops_lt_i_ic_ic = 269,
+ enum_ops_lt_n_n_ic = 270,
+ enum_ops_lt_nc_n_ic = 271,
+ enum_ops_lt_n_nc_ic = 272,
+ enum_ops_lt_s_s_ic = 273,
+ enum_ops_lt_sc_s_ic = 274,
+ enum_ops_lt_s_sc_ic = 275,
+ enum_ops_lt_p_p_ic = 276,
+ enum_ops_lt_p_i_ic = 277,
+ enum_ops_lt_p_ic_ic = 278,
+ enum_ops_lt_p_n_ic = 279,
+ enum_ops_lt_p_nc_ic = 280,
+ enum_ops_lt_p_s_ic = 281,
+ enum_ops_lt_p_sc_ic = 282,
+ enum_ops_lt_str_p_p_ic = 283,
+ enum_ops_lt_num_p_p_ic = 284,
+ enum_ops_le_i_i_ic = 285,
+ enum_ops_le_ic_i_ic = 286,
+ enum_ops_le_i_ic_ic = 287,
+ enum_ops_le_n_n_ic = 288,
+ enum_ops_le_nc_n_ic = 289,
+ enum_ops_le_n_nc_ic = 290,
+ enum_ops_le_s_s_ic = 291,
+ enum_ops_le_sc_s_ic = 292,
+ enum_ops_le_s_sc_ic = 293,
+ enum_ops_le_p_p_ic = 294,
+ enum_ops_le_p_i_ic = 295,
+ enum_ops_le_p_ic_ic = 296,
+ enum_ops_le_p_n_ic = 297,
+ enum_ops_le_p_nc_ic = 298,
+ enum_ops_le_p_s_ic = 299,
+ enum_ops_le_p_sc_ic = 300,
+ enum_ops_le_str_p_p_ic = 301,
+ enum_ops_le_num_p_p_ic = 302,
+ enum_ops_gt_p_p_ic = 303,
+ enum_ops_gt_p_i_ic = 304,
+ enum_ops_gt_p_ic_ic = 305,
+ enum_ops_gt_p_n_ic = 306,
+ enum_ops_gt_p_nc_ic = 307,
+ enum_ops_gt_p_s_ic = 308,
+ enum_ops_gt_p_sc_ic = 309,
+ enum_ops_gt_str_p_p_ic = 310,
+ enum_ops_gt_num_p_p_ic = 311,
+ enum_ops_ge_p_p_ic = 312,
+ enum_ops_ge_p_i_ic = 313,
+ enum_ops_ge_p_ic_ic = 314,
+ enum_ops_ge_p_n_ic = 315,
+ enum_ops_ge_p_nc_ic = 316,
+ enum_ops_ge_p_s_ic = 317,
+ enum_ops_ge_p_sc_ic = 318,
+ enum_ops_ge_str_p_p_ic = 319,
+ enum_ops_ge_num_p_p_ic = 320,
+ enum_ops_if_null_p_ic = 321,
+ enum_ops_if_null_s_ic = 322,
+ enum_ops_unless_null_p_ic = 323,
+ enum_ops_unless_null_s_ic = 324,
+ enum_ops_cmp_i_i_i = 325,
+ enum_ops_cmp_i_ic_i = 326,
+ enum_ops_cmp_i_i_ic = 327,
+ enum_ops_cmp_i_n_n = 328,
+ enum_ops_cmp_i_nc_n = 329,
+ enum_ops_cmp_i_n_nc = 330,
+ enum_ops_cmp_i_s_s = 331,
+ enum_ops_cmp_i_sc_s = 332,
+ enum_ops_cmp_i_s_sc = 333,
+ enum_ops_cmp_i_p_p = 334,
+ enum_ops_cmp_i_p_i = 335,
+ enum_ops_cmp_i_p_ic = 336,
+ enum_ops_cmp_i_p_n = 337,
+ enum_ops_cmp_i_p_nc = 338,
+ enum_ops_cmp_i_p_s = 339,
+ enum_ops_cmp_i_p_sc = 340,
+ enum_ops_cmp_str_i_p_p = 341,
+ enum_ops_cmp_num_i_p_p = 342,
+ enum_ops_cmp_pmc_p_p_p = 343,
+ enum_ops_issame_i_p_p = 344,
+ enum_ops_issame_i_s_s = 345,
+ enum_ops_issame_i_sc_s = 346,
+ enum_ops_issame_i_s_sc = 347,
+ enum_ops_issame_i_sc_sc = 348,
+ enum_ops_isntsame_i_p_p = 349,
+ enum_ops_isntsame_i_s_s = 350,
+ enum_ops_isntsame_i_sc_s = 351,
+ enum_ops_isntsame_i_s_sc = 352,
+ enum_ops_isntsame_i_sc_sc = 353,
+ enum_ops_istrue_i_p = 354,
+ enum_ops_isfalse_i_p = 355,
+ enum_ops_isnull_i_p = 356,
+ enum_ops_isnull_i_pc = 357,
+ enum_ops_isnull_i_s = 358,
+ enum_ops_isnull_i_sc = 359,
+ enum_ops_isgt_i_p_p = 360,
+ enum_ops_isge_i_p_p = 361,
+ enum_ops_isle_i_i_i = 362,
+ enum_ops_isle_i_ic_i = 363,
+ enum_ops_isle_i_i_ic = 364,
+ enum_ops_isle_i_n_n = 365,
+ enum_ops_isle_i_nc_n = 366,
+ enum_ops_isle_i_n_nc = 367,
+ enum_ops_isle_i_s_s = 368,
+ enum_ops_isle_i_sc_s = 369,
+ enum_ops_isle_i_s_sc = 370,
+ enum_ops_isle_i_p_p = 371,
+ enum_ops_islt_i_i_i = 372,
+ enum_ops_islt_i_ic_i = 373,
+ enum_ops_islt_i_i_ic = 374,
+ enum_ops_islt_i_n_n = 375,
+ enum_ops_islt_i_nc_n = 376,
+ enum_ops_islt_i_n_nc = 377,
+ enum_ops_islt_i_s_s = 378,
+ enum_ops_islt_i_sc_s = 379,
+ enum_ops_islt_i_s_sc = 380,
+ enum_ops_islt_i_p_p = 381,
+ enum_ops_iseq_i_i_i = 382,
+ enum_ops_iseq_i_ic_i = 383,
+ enum_ops_iseq_i_i_ic = 384,
+ enum_ops_iseq_i_n_n = 385,
+ enum_ops_iseq_i_nc_n = 386,
+ enum_ops_iseq_i_n_nc = 387,
+ enum_ops_iseq_i_s_s = 388,
+ enum_ops_iseq_i_sc_s = 389,
+ enum_ops_iseq_i_s_sc = 390,
+ enum_ops_iseq_i_p_p = 391,
+ enum_ops_isne_i_i_i = 392,
+ enum_ops_isne_i_ic_i = 393,
+ enum_ops_isne_i_i_ic = 394,
+ enum_ops_isne_i_n_n = 395,
+ enum_ops_isne_i_nc_n = 396,
+ enum_ops_isne_i_n_nc = 397,
+ enum_ops_isne_i_s_s = 398,
+ enum_ops_isne_i_sc_s = 399,
+ enum_ops_isne_i_s_sc = 400,
+ enum_ops_isne_i_p_p = 401,
+ enum_ops_and_i_i_i = 402,
+ enum_ops_and_i_ic_i = 403,
+ enum_ops_and_i_i_ic = 404,
+ enum_ops_and_p_p_p = 405,
+ enum_ops_not_i = 406,
+ enum_ops_not_i_i = 407,
+ enum_ops_not_p = 408,
+ enum_ops_not_p_p = 409,
+ enum_ops_or_i_i_i = 410,
+ enum_ops_or_i_ic_i = 411,
+ enum_ops_or_i_i_ic = 412,
+ enum_ops_or_p_p_p = 413,
+ enum_ops_xor_i_i_i = 414,
+ enum_ops_xor_i_ic_i = 415,
+ enum_ops_xor_i_i_ic = 416,
+ enum_ops_xor_p_p_p = 417,
+ enum_ops_debug_init = 418,
+ enum_ops_debug_load_sc = 419,
+ enum_ops_debug_break = 420,
+ enum_ops_debug_print = 421,
+ enum_ops_backtrace = 422,
+ enum_ops_getline_i = 423,
+ enum_ops_getfile_s = 424,
+ enum_ops_close_p = 425,
+ enum_ops_fdopen_p_i_s = 426,
+ enum_ops_fdopen_p_ic_s = 427,
+ enum_ops_fdopen_p_i_sc = 428,
+ enum_ops_fdopen_p_ic_sc = 429,
+ enum_ops_getstdin_p = 430,
+ enum_ops_getstdout_p = 431,
+ enum_ops_getstderr_p = 432,
+ enum_ops_setstdin_p = 433,
+ enum_ops_setstdout_p = 434,
+ enum_ops_setstderr_p = 435,
+ enum_ops_open_p_s_s = 436,
+ enum_ops_open_p_sc_s = 437,
+ enum_ops_open_p_s_sc = 438,
+ enum_ops_open_p_sc_sc = 439,
+ enum_ops_open_p_s = 440,
+ enum_ops_open_p_sc = 441,
+ enum_ops_print_i = 442,
+ enum_ops_print_ic = 443,
+ enum_ops_print_n = 444,
+ enum_ops_print_nc = 445,
+ enum_ops_print_s = 446,
+ enum_ops_print_sc = 447,
+ enum_ops_print_p = 448,
+ enum_ops_say_i = 449,
+ enum_ops_say_ic = 450,
+ enum_ops_say_n = 451,
+ enum_ops_say_nc = 452,
+ enum_ops_say_s = 453,
+ enum_ops_say_sc = 454,
+ enum_ops_say_p = 455,
+ enum_ops_printerr_i = 456,
+ enum_ops_printerr_ic = 457,
+ enum_ops_printerr_n = 458,
+ enum_ops_printerr_nc = 459,
+ enum_ops_printerr_s = 460,
+ enum_ops_printerr_sc = 461,
+ enum_ops_printerr_p = 462,
+ enum_ops_print_p_i = 463,
+ enum_ops_print_p_ic = 464,
+ enum_ops_print_p_n = 465,
+ enum_ops_print_p_nc = 466,
+ enum_ops_print_p_s = 467,
+ enum_ops_print_p_sc = 468,
+ enum_ops_print_p_p = 469,
+ enum_ops_read_s_i = 470,
+ enum_ops_read_s_ic = 471,
+ enum_ops_read_s_p_i = 472,
+ enum_ops_read_s_p_ic = 473,
+ enum_ops_readline_s_p = 474,
+ enum_ops_peek_s = 475,
+ enum_ops_peek_s_p = 476,
+ enum_ops_stat_i_s_i = 477,
+ enum_ops_stat_i_sc_i = 478,
+ enum_ops_stat_i_s_ic = 479,
+ enum_ops_stat_i_sc_ic = 480,
+ enum_ops_stat_i_i_i = 481,
+ enum_ops_stat_i_ic_i = 482,
+ enum_ops_stat_i_i_ic = 483,
+ enum_ops_stat_i_ic_ic = 484,
+ enum_ops_seek_p_i_i = 485,
+ enum_ops_seek_p_ic_i = 486,
+ enum_ops_seek_p_i_ic = 487,
+ enum_ops_seek_p_ic_ic = 488,
+ enum_ops_seek_p_i_i_i = 489,
+ enum_ops_seek_p_ic_i_i = 490,
+ enum_ops_seek_p_i_ic_i = 491,
+ enum_ops_seek_p_ic_ic_i = 492,
+ enum_ops_seek_p_i_i_ic = 493,
+ enum_ops_seek_p_ic_i_ic = 494,
+ enum_ops_seek_p_i_ic_ic = 495,
+ enum_ops_seek_p_ic_ic_ic = 496,
+ enum_ops_tell_i_p = 497,
+ enum_ops_tell_i_i_p = 498,
+ enum_ops_abs_i = 499,
+ enum_ops_abs_n = 500,
+ enum_ops_abs_i_i = 501,
+ enum_ops_abs_n_n = 502,
+ enum_ops_abs_p = 503,
+ enum_ops_abs_p_p = 504,
+ enum_ops_add_i_i = 505,
+ enum_ops_add_i_ic = 506,
+ enum_ops_add_n_n = 507,
+ enum_ops_add_n_nc = 508,
+ enum_ops_add_p_p = 509,
+ enum_ops_add_p_i = 510,
+ enum_ops_add_p_ic = 511,
+ enum_ops_add_p_n = 512,
+ enum_ops_add_p_nc = 513,
+ enum_ops_add_i_i_i = 514,
+ enum_ops_add_i_ic_i = 515,
+ enum_ops_add_i_i_ic = 516,
+ enum_ops_add_n_n_n = 517,
+ enum_ops_add_n_nc_n = 518,
+ enum_ops_add_n_n_nc = 519,
+ enum_ops_add_p_p_p = 520,
+ enum_ops_add_p_p_i = 521,
+ enum_ops_add_p_p_ic = 522,
+ enum_ops_add_p_p_n = 523,
+ enum_ops_add_p_p_nc = 524,
+ enum_ops_cmod_i_i_i = 525,
+ enum_ops_cmod_i_ic_i = 526,
+ enum_ops_cmod_i_i_ic = 527,
+ enum_ops_cmod_p_p_i = 528,
+ enum_ops_cmod_p_p_ic = 529,
+ enum_ops_cmod_p_p_p = 530,
+ enum_ops_cmod_n_n_n = 531,
+ enum_ops_cmod_n_nc_n = 532,
+ enum_ops_cmod_n_n_nc = 533,
+ enum_ops_cmod_p_p_n = 534,
+ enum_ops_cmod_p_p_nc = 535,
+ enum_ops_dec_i = 536,
+ enum_ops_dec_n = 537,
+ enum_ops_dec_p = 538,
+ enum_ops_div_i_i = 539,
+ enum_ops_div_i_ic = 540,
+ enum_ops_div_n_n = 541,
+ enum_ops_div_n_nc = 542,
+ enum_ops_div_p_p = 543,
+ enum_ops_div_p_i = 544,
+ enum_ops_div_p_ic = 545,
+ enum_ops_div_p_n = 546,
+ enum_ops_div_p_nc = 547,
+ enum_ops_div_i_i_i = 548,
+ enum_ops_div_i_ic_i = 549,
+ enum_ops_div_i_i_ic = 550,
+ enum_ops_div_i_ic_ic = 551,
+ enum_ops_div_n_n_n = 552,
+ enum_ops_div_n_nc_n = 553,
+ enum_ops_div_n_n_nc = 554,
+ enum_ops_div_n_nc_nc = 555,
+ enum_ops_div_p_p_p = 556,
+ enum_ops_div_p_p_i = 557,
+ enum_ops_div_p_p_ic = 558,
+ enum_ops_div_p_p_n = 559,
+ enum_ops_div_p_p_nc = 560,
+ enum_ops_fdiv_i_i = 561,
+ enum_ops_fdiv_i_ic = 562,
+ enum_ops_fdiv_n_n = 563,
+ enum_ops_fdiv_n_nc = 564,
+ enum_ops_fdiv_p_p = 565,
+ enum_ops_fdiv_p_i = 566,
+ enum_ops_fdiv_p_ic = 567,
+ enum_ops_fdiv_p_n = 568,
+ enum_ops_fdiv_p_nc = 569,
+ enum_ops_fdiv_i_i_i = 570,
+ enum_ops_fdiv_i_ic_i = 571,
+ enum_ops_fdiv_i_i_ic = 572,
+ enum_ops_fdiv_n_n_n = 573,
+ enum_ops_fdiv_n_nc_n = 574,
+ enum_ops_fdiv_n_n_nc = 575,
+ enum_ops_fdiv_p_p_p = 576,
+ enum_ops_fdiv_p_p_i = 577,
+ enum_ops_fdiv_p_p_ic = 578,
+ enum_ops_fdiv_p_p_n = 579,
+ enum_ops_fdiv_p_p_nc = 580,
+ enum_ops_ceil_n = 581,
+ enum_ops_ceil_i_n = 582,
+ enum_ops_ceil_n_n = 583,
+ enum_ops_floor_n = 584,
+ enum_ops_floor_i_n = 585,
+ enum_ops_floor_n_n = 586,
+ enum_ops_inc_i = 587,
+ enum_ops_inc_n = 588,
+ enum_ops_inc_p = 589,
+ enum_ops_mod_i_i = 590,
+ enum_ops_mod_i_ic = 591,
+ enum_ops_mod_n_n = 592,
+ enum_ops_mod_n_nc = 593,
+ enum_ops_mod_p_p = 594,
+ enum_ops_mod_p_i = 595,
+ enum_ops_mod_p_ic = 596,
+ enum_ops_mod_p_n = 597,
+ enum_ops_mod_p_nc = 598,
+ enum_ops_mod_i_i_i = 599,
+ enum_ops_mod_i_ic_i = 600,
+ enum_ops_mod_i_i_ic = 601,
+ enum_ops_mod_n_n_n = 602,
+ enum_ops_mod_n_nc_n = 603,
+ enum_ops_mod_n_n_nc = 604,
+ enum_ops_mod_p_p_p = 605,
+ enum_ops_mod_p_p_i = 606,
+ enum_ops_mod_p_p_ic = 607,
+ enum_ops_mod_p_p_n = 608,
+ enum_ops_mod_p_p_nc = 609,
+ enum_ops_mul_i_i = 610,
+ enum_ops_mul_i_ic = 611,
+ enum_ops_mul_n_n = 612,
+ enum_ops_mul_n_nc = 613,
+ enum_ops_mul_p_p = 614,
+ enum_ops_mul_p_i = 615,
+ enum_ops_mul_p_ic = 616,
+ enum_ops_mul_p_n = 617,
+ enum_ops_mul_p_nc = 618,
+ enum_ops_mul_i_i_i = 619,
+ enum_ops_mul_i_ic_i = 620,
+ enum_ops_mul_i_i_ic = 621,
+ enum_ops_mul_n_n_n = 622,
+ enum_ops_mul_n_nc_n = 623,
+ enum_ops_mul_n_n_nc = 624,
+ enum_ops_mul_p_p_p = 625,
+ enum_ops_mul_p_p_i = 626,
+ enum_ops_mul_p_p_ic = 627,
+ enum_ops_mul_p_p_n = 628,
+ enum_ops_mul_p_p_nc = 629,
+ enum_ops_neg_i = 630,
+ enum_ops_neg_n = 631,
+ enum_ops_neg_p = 632,
+ enum_ops_neg_i_i = 633,
+ enum_ops_neg_n_n = 634,
+ enum_ops_neg_p_p = 635,
+ enum_ops_pow_n_n_n = 636,
+ enum_ops_pow_n_nc_n = 637,
+ enum_ops_pow_n_n_nc = 638,
+ enum_ops_pow_p_p_p = 639,
+ enum_ops_pow_p_p_i = 640,
+ enum_ops_pow_p_p_ic = 641,
+ enum_ops_pow_p_p_n = 642,
+ enum_ops_pow_p_p_nc = 643,
+ enum_ops_pow_n_n_i = 644,
+ enum_ops_pow_n_nc_i = 645,
+ enum_ops_pow_n_n_ic = 646,
+ enum_ops_pow_n_nc_ic = 647,
+ enum_ops_sub_i_i = 648,
+ enum_ops_sub_i_ic = 649,
+ enum_ops_sub_n_n = 650,
+ enum_ops_sub_n_nc = 651,
+ enum_ops_sub_p_p = 652,
+ enum_ops_sub_p_i = 653,
+ enum_ops_sub_p_ic = 654,
+ enum_ops_sub_p_n = 655,
+ enum_ops_sub_p_nc = 656,
+ enum_ops_sub_i_i_i = 657,
+ enum_ops_sub_i_ic_i = 658,
+ enum_ops_sub_i_i_ic = 659,
+ enum_ops_sub_n_n_n = 660,
+ enum_ops_sub_n_nc_n = 661,
+ enum_ops_sub_n_n_nc = 662,
+ enum_ops_sub_p_p_p = 663,
+ enum_ops_sub_p_p_i = 664,
+ enum_ops_sub_p_p_ic = 665,
+ enum_ops_sub_p_p_n = 666,
+ enum_ops_sub_p_p_nc = 667,
+ enum_ops_sqrt_n_n = 668,
+ enum_ops_acos_n_n = 669,
+ enum_ops_asec_n_n = 670,
+ enum_ops_asin_n_n = 671,
+ enum_ops_atan_n_n = 672,
+ enum_ops_atan_n_n_n = 673,
+ enum_ops_atan_n_nc_n = 674,
+ enum_ops_atan_n_n_nc = 675,
+ enum_ops_cos_n_n = 676,
+ enum_ops_cosh_n_n = 677,
+ enum_ops_exp_n_n = 678,
+ enum_ops_ln_n_n = 679,
+ enum_ops_log10_n_n = 680,
+ enum_ops_log2_n_n = 681,
+ enum_ops_sec_n_n = 682,
+ enum_ops_sech_n_n = 683,
+ enum_ops_sin_n_n = 684,
+ enum_ops_sinh_n_n = 685,
+ enum_ops_tan_n_n = 686,
+ enum_ops_tanh_n_n = 687,
+ enum_ops_callmethodcc_p_s = 688,
+ enum_ops_callmethodcc_p_sc = 689,
+ enum_ops_callmethodcc_p_p = 690,
+ enum_ops_callmethod_p_s_p = 691,
+ enum_ops_callmethod_p_sc_p = 692,
+ enum_ops_callmethod_p_p_p = 693,
+ enum_ops_tailcallmethod_p_s = 694,
+ enum_ops_tailcallmethod_p_sc = 695,
+ enum_ops_tailcallmethod_p_p = 696,
+ enum_ops_addmethod_p_s_p = 697,
+ enum_ops_addmethod_p_sc_p = 698,
+ enum_ops_can_i_p_s = 699,
+ enum_ops_can_i_p_sc = 700,
+ enum_ops_does_i_p_s = 701,
+ enum_ops_does_i_p_sc = 702,
+ enum_ops_does_i_p_p = 703,
+ enum_ops_does_i_p_pc = 704,
+ enum_ops_isa_i_p_s = 705,
+ enum_ops_isa_i_p_sc = 706,
+ enum_ops_isa_i_p_p = 707,
+ enum_ops_isa_i_p_pc = 708,
+ enum_ops_newclass_p_s = 709,
+ enum_ops_newclass_p_sc = 710,
+ enum_ops_newclass_p_p = 711,
+ enum_ops_newclass_p_pc = 712,
+ enum_ops_subclass_p_p = 713,
+ enum_ops_subclass_p_pc = 714,
+ enum_ops_subclass_p_p_s = 715,
+ enum_ops_subclass_p_pc_s = 716,
+ enum_ops_subclass_p_p_sc = 717,
+ enum_ops_subclass_p_pc_sc = 718,
+ enum_ops_subclass_p_p_p = 719,
+ enum_ops_subclass_p_pc_p = 720,
+ enum_ops_subclass_p_p_pc = 721,
+ enum_ops_subclass_p_pc_pc = 722,
+ enum_ops_subclass_p_s = 723,
+ enum_ops_subclass_p_sc = 724,
+ enum_ops_subclass_p_s_s = 725,
+ enum_ops_subclass_p_sc_s = 726,
+ enum_ops_subclass_p_s_sc = 727,
+ enum_ops_subclass_p_sc_sc = 728,
+ enum_ops_subclass_p_s_p = 729,
+ enum_ops_subclass_p_sc_p = 730,
+ enum_ops_subclass_p_s_pc = 731,
+ enum_ops_subclass_p_sc_pc = 732,
+ enum_ops_get_class_p_s = 733,
+ enum_ops_get_class_p_sc = 734,
+ enum_ops_get_class_p_p = 735,
+ enum_ops_get_class_p_pc = 736,
+ enum_ops_class_p_p = 737,
+ enum_ops_addparent_p_p = 738,
+ enum_ops_removeparent_p_p = 739,
+ enum_ops_addrole_p_p = 740,
+ enum_ops_addattribute_p_s = 741,
+ enum_ops_addattribute_p_sc = 742,
+ enum_ops_removeattribute_p_s = 743,
+ enum_ops_removeattribute_p_sc = 744,
+ enum_ops_getattribute_p_p_s = 745,
+ enum_ops_getattribute_p_p_sc = 746,
+ enum_ops_getattribute_p_p_p_s = 747,
+ enum_ops_getattribute_p_p_pc_s = 748,
+ enum_ops_getattribute_p_p_p_sc = 749,
+ enum_ops_getattribute_p_p_pc_sc = 750,
+ enum_ops_setattribute_p_s_p = 751,
+ enum_ops_setattribute_p_sc_p = 752,
+ enum_ops_setattribute_p_p_s_p = 753,
+ enum_ops_setattribute_p_pc_s_p = 754,
+ enum_ops_setattribute_p_p_sc_p = 755,
+ enum_ops_setattribute_p_pc_sc_p = 756,
+ enum_ops_inspect_p_p = 757,
+ enum_ops_inspect_p_pc = 758,
+ enum_ops_inspect_p_p_s = 759,
+ enum_ops_inspect_p_pc_s = 760,
+ enum_ops_inspect_p_p_sc = 761,
+ enum_ops_inspect_p_pc_sc = 762,
+ enum_ops_new_p_s = 763,
+ enum_ops_new_p_sc = 764,
+ enum_ops_new_p_s_p = 765,
+ enum_ops_new_p_sc_p = 766,
+ enum_ops_new_p_s_pc = 767,
+ enum_ops_new_p_sc_pc = 768,
+ enum_ops_new_p_p = 769,
+ enum_ops_new_p_pc = 770,
+ enum_ops_new_p_p_p = 771,
+ enum_ops_new_p_pc_p = 772,
+ enum_ops_new_p_p_pc = 773,
+ enum_ops_new_p_pc_pc = 774,
+ enum_ops_root_new_p_p = 775,
+ enum_ops_root_new_p_pc = 776,
+ enum_ops_root_new_p_p_p = 777,
+ enum_ops_root_new_p_pc_p = 778,
+ enum_ops_root_new_p_p_pc = 779,
+ enum_ops_root_new_p_pc_pc = 780,
+ enum_ops_typeof_s_p = 781,
+ enum_ops_typeof_p_p = 782,
+ enum_ops_get_repr_s_p = 783,
+ enum_ops_find_method_p_p_s = 784,
+ enum_ops_find_method_p_p_sc = 785,
+ enum_ops_defined_i_p = 786,
+ enum_ops_defined_i_p_ki = 787,
+ enum_ops_defined_i_p_kic = 788,
+ enum_ops_defined_i_p_k = 789,
+ enum_ops_defined_i_p_kc = 790,
+ enum_ops_exists_i_p_ki = 791,
+ enum_ops_exists_i_p_kic = 792,
+ enum_ops_exists_i_p_k = 793,
+ enum_ops_exists_i_p_kc = 794,
+ enum_ops_delete_p_k = 795,
+ enum_ops_delete_p_kc = 796,
+ enum_ops_delete_p_ki = 797,
+ enum_ops_delete_p_kic = 798,
+ enum_ops_elements_i_p = 799,
+ enum_ops_push_p_i = 800,
+ enum_ops_push_p_ic = 801,
+ enum_ops_push_p_n = 802,
+ enum_ops_push_p_nc = 803,
+ enum_ops_push_p_s = 804,
+ enum_ops_push_p_sc = 805,
+ enum_ops_push_p_p = 806,
+ enum_ops_pop_i_p = 807,
+ enum_ops_pop_n_p = 808,
+ enum_ops_pop_s_p = 809,
+ enum_ops_pop_p_p = 810,
+ enum_ops_unshift_p_i = 811,
+ enum_ops_unshift_p_ic = 812,
+ enum_ops_unshift_p_n = 813,
+ enum_ops_unshift_p_nc = 814,
+ enum_ops_unshift_p_s = 815,
+ enum_ops_unshift_p_sc = 816,
+ enum_ops_unshift_p_p = 817,
+ enum_ops_shift_i_p = 818,
+ enum_ops_shift_n_p = 819,
+ enum_ops_shift_s_p = 820,
+ enum_ops_shift_p_p = 821,
+ enum_ops_splice_p_p_i_i = 822,
+ enum_ops_splice_p_p_ic_i = 823,
+ enum_ops_splice_p_p_i_ic = 824,
+ enum_ops_splice_p_p_ic_ic = 825,
+ enum_ops_setprop_p_s_p = 826,
+ enum_ops_setprop_p_sc_p = 827,
+ enum_ops_getprop_p_s_p = 828,
+ enum_ops_getprop_p_sc_p = 829,
+ enum_ops_delprop_p_s = 830,
+ enum_ops_delprop_p_sc = 831,
+ enum_ops_prophash_p_p = 832,
+ enum_ops_freeze_s_p = 833,
+ enum_ops_thaw_p_s = 834,
+ enum_ops_thaw_p_sc = 835,
+ enum_ops_add_multi_s_s_p = 836,
+ enum_ops_add_multi_sc_s_p = 837,
+ enum_ops_add_multi_s_sc_p = 838,
+ enum_ops_add_multi_sc_sc_p = 839,
+ enum_ops_find_multi_p_s_s = 840,
+ enum_ops_find_multi_p_sc_s = 841,
+ enum_ops_find_multi_p_s_sc = 842,
+ enum_ops_find_multi_p_sc_sc = 843,
+ enum_ops_register_p = 844,
+ enum_ops_unregister_p = 845,
+ enum_ops_box_p_i = 846,
+ enum_ops_box_p_ic = 847,
+ enum_ops_box_p_n = 848,
+ enum_ops_box_p_nc = 849,
+ enum_ops_box_p_s = 850,
+ enum_ops_box_p_sc = 851,
+ enum_ops_iter_p_p = 852,
+ enum_ops_morph_p_p = 853,
+ enum_ops_morph_p_pc = 854,
+ enum_ops_clone_s_s = 855,
+ enum_ops_clone_s_sc = 856,
+ enum_ops_set_i_i = 857,
+ enum_ops_set_i_ic = 858,
+ enum_ops_set_i_n = 859,
+ enum_ops_set_i_nc = 860,
+ enum_ops_set_i_s = 861,
+ enum_ops_set_i_sc = 862,
+ enum_ops_set_n_n = 863,
+ enum_ops_set_n_nc = 864,
+ enum_ops_set_n_i = 865,
+ enum_ops_set_n_ic = 866,
+ enum_ops_set_n_s = 867,
+ enum_ops_set_n_sc = 868,
+ enum_ops_set_n_p = 869,
+ enum_ops_set_s_p = 870,
+ enum_ops_set_s_s = 871,
+ enum_ops_set_s_sc = 872,
+ enum_ops_set_s_i = 873,
+ enum_ops_set_s_ic = 874,
+ enum_ops_set_s_n = 875,
+ enum_ops_set_s_nc = 876,
+ enum_ops_set_p_pc = 877,
+ enum_ops_set_p_p = 878,
+ enum_ops_set_p_i = 879,
+ enum_ops_set_p_ic = 880,
+ enum_ops_set_p_n = 881,
+ enum_ops_set_p_nc = 882,
+ enum_ops_set_p_s = 883,
+ enum_ops_set_p_sc = 884,
+ enum_ops_set_i_p = 885,
+ enum_ops_assign_p_p = 886,
+ enum_ops_assign_p_i = 887,
+ enum_ops_assign_p_ic = 888,
+ enum_ops_assign_p_n = 889,
+ enum_ops_assign_p_nc = 890,
+ enum_ops_assign_p_s = 891,
+ enum_ops_assign_p_sc = 892,
+ enum_ops_assign_s_s = 893,
+ enum_ops_assign_s_sc = 894,
+ enum_ops_setref_p_p = 895,
+ enum_ops_deref_p_p = 896,
+ enum_ops_set_p_ki_i = 897,
+ enum_ops_set_p_kic_i = 898,
+ enum_ops_set_p_ki_ic = 899,
+ enum_ops_set_p_kic_ic = 900,
+ enum_ops_set_p_ki_n = 901,
+ enum_ops_set_p_kic_n = 902,
+ enum_ops_set_p_ki_nc = 903,
+ enum_ops_set_p_kic_nc = 904,
+ enum_ops_set_p_ki_s = 905,
+ enum_ops_set_p_kic_s = 906,
+ enum_ops_set_p_ki_sc = 907,
+ enum_ops_set_p_kic_sc = 908,
+ enum_ops_set_p_ki_p = 909,
+ enum_ops_set_p_kic_p = 910,
+ enum_ops_set_i_p_ki = 911,
+ enum_ops_set_i_p_kic = 912,
+ enum_ops_set_n_p_ki = 913,
+ enum_ops_set_n_p_kic = 914,
+ enum_ops_set_s_p_ki = 915,
+ enum_ops_set_s_p_kic = 916,
+ enum_ops_set_p_p_ki = 917,
+ enum_ops_set_p_p_kic = 918,
+ enum_ops_set_p_k_i = 919,
+ enum_ops_set_p_kc_i = 920,
+ enum_ops_set_p_k_ic = 921,
+ enum_ops_set_p_kc_ic = 922,
+ enum_ops_set_p_k_n = 923,
+ enum_ops_set_p_kc_n = 924,
+ enum_ops_set_p_k_nc = 925,
+ enum_ops_set_p_kc_nc = 926,
+ enum_ops_set_p_k_s = 927,
+ enum_ops_set_p_kc_s = 928,
+ enum_ops_set_p_k_sc = 929,
+ enum_ops_set_p_kc_sc = 930,
+ enum_ops_set_p_k_p = 931,
+ enum_ops_set_p_kc_p = 932,
+ enum_ops_set_i_p_k = 933,
+ enum_ops_set_i_p_kc = 934,
+ enum_ops_set_n_p_k = 935,
+ enum_ops_set_n_p_kc = 936,
+ enum_ops_set_s_p_k = 937,
+ enum_ops_set_s_p_kc = 938,
+ enum_ops_set_p_p_k = 939,
+ enum_ops_set_p_p_kc = 940,
+ enum_ops_clone_p_p = 941,
+ enum_ops_clone_p_p_p = 942,
+ enum_ops_clone_p_p_pc = 943,
+ enum_ops_copy_p_p = 944,
+ enum_ops_null_s = 945,
+ enum_ops_null_i = 946,
+ enum_ops_null_p = 947,
+ enum_ops_null_n = 948,
+ enum_ops_ord_i_s = 949,
+ enum_ops_ord_i_sc = 950,
+ enum_ops_ord_i_s_i = 951,
+ enum_ops_ord_i_sc_i = 952,
+ enum_ops_ord_i_s_ic = 953,
+ enum_ops_ord_i_sc_ic = 954,
+ enum_ops_chr_s_i = 955,
+ enum_ops_chr_s_ic = 956,
+ enum_ops_chopn_s_s_i = 957,
+ enum_ops_chopn_s_sc_i = 958,
+ enum_ops_chopn_s_s_ic = 959,
+ enum_ops_chopn_s_sc_ic = 960,
+ enum_ops_concat_s_s = 961,
+ enum_ops_concat_s_sc = 962,
+ enum_ops_concat_p_p = 963,
+ enum_ops_concat_p_s = 964,
+ enum_ops_concat_p_sc = 965,
+ enum_ops_concat_s_s_s = 966,
+ enum_ops_concat_s_sc_s = 967,
+ enum_ops_concat_s_s_sc = 968,
+ enum_ops_concat_p_p_s = 969,
+ enum_ops_concat_p_p_sc = 970,
+ enum_ops_concat_p_p_p = 971,
+ enum_ops_repeat_s_s_i = 972,
+ enum_ops_repeat_s_sc_i = 973,
+ enum_ops_repeat_s_s_ic = 974,
+ enum_ops_repeat_s_sc_ic = 975,
+ enum_ops_repeat_p_p_i = 976,
+ enum_ops_repeat_p_p_ic = 977,
+ enum_ops_repeat_p_p_p = 978,
+ enum_ops_repeat_p_i = 979,
+ enum_ops_repeat_p_ic = 980,
+ enum_ops_repeat_p_p = 981,
+ enum_ops_length_i_s = 982,
+ enum_ops_length_i_sc = 983,
+ enum_ops_bytelength_i_s = 984,
+ enum_ops_bytelength_i_sc = 985,
+ enum_ops_pin_s = 986,
+ enum_ops_unpin_s = 987,
+ enum_ops_substr_s_s_i = 988,
+ enum_ops_substr_s_sc_i = 989,
+ enum_ops_substr_s_s_ic = 990,
+ enum_ops_substr_s_sc_ic = 991,
+ enum_ops_substr_s_s_i_i = 992,
+ enum_ops_substr_s_sc_i_i = 993,
+ enum_ops_substr_s_s_ic_i = 994,
+ enum_ops_substr_s_sc_ic_i = 995,
+ enum_ops_substr_s_s_i_ic = 996,
+ enum_ops_substr_s_sc_i_ic = 997,
+ enum_ops_substr_s_s_ic_ic = 998,
+ enum_ops_substr_s_sc_ic_ic = 999,
+ enum_ops_substr_s_p_i_i = 1000,
+ enum_ops_substr_s_p_ic_i = 1001,
+ enum_ops_substr_s_p_i_ic = 1002,
+ enum_ops_substr_s_p_ic_ic = 1003,
+ enum_ops_replace_s_s_i_i_s = 1004,
+ enum_ops_replace_s_sc_i_i_s = 1005,
+ enum_ops_replace_s_s_ic_i_s = 1006,
+ enum_ops_replace_s_sc_ic_i_s = 1007,
+ enum_ops_replace_s_s_i_ic_s = 1008,
+ enum_ops_replace_s_sc_i_ic_s = 1009,
+ enum_ops_replace_s_s_ic_ic_s = 1010,
+ enum_ops_replace_s_sc_ic_ic_s = 1011,
+ enum_ops_replace_s_s_i_i_sc = 1012,
+ enum_ops_replace_s_sc_i_i_sc = 1013,
+ enum_ops_replace_s_s_ic_i_sc = 1014,
+ enum_ops_replace_s_sc_ic_i_sc = 1015,
+ enum_ops_replace_s_s_i_ic_sc = 1016,
+ enum_ops_replace_s_sc_i_ic_sc = 1017,
+ enum_ops_replace_s_s_ic_ic_sc = 1018,
+ enum_ops_replace_s_sc_ic_ic_sc = 1019,
+ enum_ops_index_i_s_s = 1020,
+ enum_ops_index_i_sc_s = 1021,
+ enum_ops_index_i_s_sc = 1022,
+ enum_ops_index_i_sc_sc = 1023,
+ enum_ops_index_i_s_s_i = 1024,
+ enum_ops_index_i_sc_s_i = 1025,
+ enum_ops_index_i_s_sc_i = 1026,
+ enum_ops_index_i_sc_sc_i = 1027,
+ enum_ops_index_i_s_s_ic = 1028,
+ enum_ops_index_i_sc_s_ic = 1029,
+ enum_ops_index_i_s_sc_ic = 1030,
+ enum_ops_index_i_sc_sc_ic = 1031,
+ enum_ops_sprintf_s_s_p = 1032,
+ enum_ops_sprintf_s_sc_p = 1033,
+ enum_ops_sprintf_p_p_p = 1034,
+ enum_ops_new_s = 1035,
+ enum_ops_new_s_i = 1036,
+ enum_ops_new_s_ic = 1037,
+ enum_ops_stringinfo_i_s_i = 1038,
+ enum_ops_stringinfo_i_sc_i = 1039,
+ enum_ops_stringinfo_i_s_ic = 1040,
+ enum_ops_stringinfo_i_sc_ic = 1041,
+ enum_ops_upcase_s_s = 1042,
+ enum_ops_upcase_s_sc = 1043,
+ enum_ops_downcase_s_s = 1044,
+ enum_ops_downcase_s_sc = 1045,
+ enum_ops_titlecase_s_s = 1046,
+ enum_ops_titlecase_s_sc = 1047,
+ enum_ops_join_s_s_p = 1048,
+ enum_ops_join_s_sc_p = 1049,
+ enum_ops_split_p_s_s = 1050,
+ enum_ops_split_p_sc_s = 1051,
+ enum_ops_split_p_s_sc = 1052,
+ enum_ops_split_p_sc_sc = 1053,
+ enum_ops_charset_i_s = 1054,
+ enum_ops_charset_i_sc = 1055,
+ enum_ops_charsetname_s_i = 1056,
+ enum_ops_charsetname_s_ic = 1057,
+ enum_ops_find_charset_i_s = 1058,
+ enum_ops_find_charset_i_sc = 1059,
+ enum_ops_trans_charset_s_s_i = 1060,
+ enum_ops_trans_charset_s_sc_i = 1061,
+ enum_ops_trans_charset_s_s_ic = 1062,
+ enum_ops_trans_charset_s_sc_ic = 1063,
+ enum_ops_encoding_i_s = 1064,
+ enum_ops_encoding_i_sc = 1065,
+ enum_ops_encodingname_s_i = 1066,
+ enum_ops_encodingname_s_ic = 1067,
+ enum_ops_find_encoding_i_s = 1068,
+ enum_ops_find_encoding_i_sc = 1069,
+ enum_ops_trans_encoding_s_s_i = 1070,
+ enum_ops_trans_encoding_s_sc_i = 1071,
+ enum_ops_trans_encoding_s_s_ic = 1072,
+ enum_ops_trans_encoding_s_sc_ic = 1073,
+ enum_ops_is_cclass_i_i_s_i = 1074,
+ enum_ops_is_cclass_i_ic_s_i = 1075,
+ enum_ops_is_cclass_i_i_sc_i = 1076,
+ enum_ops_is_cclass_i_ic_sc_i = 1077,
+ enum_ops_is_cclass_i_i_s_ic = 1078,
+ enum_ops_is_cclass_i_ic_s_ic = 1079,
+ enum_ops_is_cclass_i_i_sc_ic = 1080,
+ enum_ops_is_cclass_i_ic_sc_ic = 1081,
+ enum_ops_find_cclass_i_i_s_i_i = 1082,
+ enum_ops_find_cclass_i_ic_s_i_i = 1083,
+ enum_ops_find_cclass_i_i_sc_i_i = 1084,
+ enum_ops_find_cclass_i_ic_sc_i_i = 1085,
+ enum_ops_find_cclass_i_i_s_ic_i = 1086,
+ enum_ops_find_cclass_i_ic_s_ic_i = 1087,
+ enum_ops_find_cclass_i_i_sc_ic_i = 1088,
+ enum_ops_find_cclass_i_ic_sc_ic_i = 1089,
+ enum_ops_find_cclass_i_i_s_i_ic = 1090,
+ enum_ops_find_cclass_i_ic_s_i_ic = 1091,
+ enum_ops_find_cclass_i_i_sc_i_ic = 1092,
+ enum_ops_find_cclass_i_ic_sc_i_ic = 1093,
+ enum_ops_find_cclass_i_i_s_ic_ic = 1094,
+ enum_ops_find_cclass_i_ic_s_ic_ic = 1095,
+ enum_ops_find_cclass_i_i_sc_ic_ic = 1096,
+ enum_ops_find_cclass_i_ic_sc_ic_ic = 1097,
+ enum_ops_find_not_cclass_i_i_s_i_i = 1098,
+ enum_ops_find_not_cclass_i_ic_s_i_i = 1099,
+ enum_ops_find_not_cclass_i_i_sc_i_i = 1100,
+ enum_ops_find_not_cclass_i_ic_sc_i_i = 1101,
+ enum_ops_find_not_cclass_i_i_s_ic_i = 1102,
+ enum_ops_find_not_cclass_i_ic_s_ic_i = 1103,
+ enum_ops_find_not_cclass_i_i_sc_ic_i = 1104,
+ enum_ops_find_not_cclass_i_ic_sc_ic_i = 1105,
+ enum_ops_find_not_cclass_i_i_s_i_ic = 1106,
+ enum_ops_find_not_cclass_i_ic_s_i_ic = 1107,
+ enum_ops_find_not_cclass_i_i_sc_i_ic = 1108,
+ enum_ops_find_not_cclass_i_ic_sc_i_ic = 1109,
+ enum_ops_find_not_cclass_i_i_s_ic_ic = 1110,
+ enum_ops_find_not_cclass_i_ic_s_ic_ic = 1111,
+ enum_ops_find_not_cclass_i_i_sc_ic_ic = 1112,
+ enum_ops_find_not_cclass_i_ic_sc_ic_ic = 1113,
+ enum_ops_escape_s_s = 1114,
+ enum_ops_compose_s_s = 1115,
+ enum_ops_compose_s_sc = 1116,
+ enum_ops_spawnw_i_s = 1117,
+ enum_ops_spawnw_i_sc = 1118,
+ enum_ops_spawnw_i_p = 1119,
+ enum_ops_err_i = 1120,
+ enum_ops_err_s = 1121,
+ enum_ops_err_s_i = 1122,
+ enum_ops_err_s_ic = 1123,
+ enum_ops_time_i = 1124,
+ enum_ops_time_n = 1125,
+ enum_ops_gmtime_s_i = 1126,
+ enum_ops_gmtime_s_ic = 1127,
+ enum_ops_localtime_s_i = 1128,
+ enum_ops_localtime_s_ic = 1129,
+ enum_ops_decodetime_p_i = 1130,
+ enum_ops_decodetime_p_ic = 1131,
+ enum_ops_decodelocaltime_p_i = 1132,
+ enum_ops_decodelocaltime_p_ic = 1133,
+ enum_ops_sysinfo_s_i = 1134,
+ enum_ops_sysinfo_s_ic = 1135,
+ enum_ops_sysinfo_i_i = 1136,
+ enum_ops_sysinfo_i_ic = 1137,
+ enum_ops_sleep_i = 1138,
+ enum_ops_sleep_ic = 1139,
+ enum_ops_sleep_n = 1140,
+ enum_ops_sleep_nc = 1141,
+ enum_ops_store_lex_s_p = 1142,
+ enum_ops_store_lex_sc_p = 1143,
+ enum_ops_store_dynamic_lex_s_p = 1144,
+ enum_ops_store_dynamic_lex_sc_p = 1145,
+ enum_ops_find_lex_p_s = 1146,
+ enum_ops_find_lex_p_sc = 1147,
+ enum_ops_find_dynamic_lex_p_s = 1148,
+ enum_ops_find_dynamic_lex_p_sc = 1149,
+ enum_ops_find_caller_lex_p_s = 1150,
+ enum_ops_find_caller_lex_p_sc = 1151,
+ enum_ops_get_namespace_p = 1152,
+ enum_ops_get_namespace_p_p = 1153,
+ enum_ops_get_namespace_p_pc = 1154,
+ enum_ops_get_hll_namespace_p = 1155,
+ enum_ops_get_hll_namespace_p_p = 1156,
+ enum_ops_get_hll_namespace_p_pc = 1157,
+ enum_ops_get_root_namespace_p = 1158,
+ enum_ops_get_root_namespace_p_p = 1159,
+ enum_ops_get_root_namespace_p_pc = 1160,
+ enum_ops_get_global_p_s = 1161,
+ enum_ops_get_global_p_sc = 1162,
+ enum_ops_get_global_p_p_s = 1163,
+ enum_ops_get_global_p_pc_s = 1164,
+ enum_ops_get_global_p_p_sc = 1165,
+ enum_ops_get_global_p_pc_sc = 1166,
+ enum_ops_get_hll_global_p_s = 1167,
+ enum_ops_get_hll_global_p_sc = 1168,
+ enum_ops_get_hll_global_p_p_s = 1169,
+ enum_ops_get_hll_global_p_pc_s = 1170,
+ enum_ops_get_hll_global_p_p_sc = 1171,
+ enum_ops_get_hll_global_p_pc_sc = 1172,
+ enum_ops_get_root_global_p_s = 1173,
+ enum_ops_get_root_global_p_sc = 1174,
+ enum_ops_get_root_global_p_p_s = 1175,
+ enum_ops_get_root_global_p_pc_s = 1176,
+ enum_ops_get_root_global_p_p_sc = 1177,
+ enum_ops_get_root_global_p_pc_sc = 1178,
+ enum_ops_set_global_s_p = 1179,
+ enum_ops_set_global_sc_p = 1180,
+ enum_ops_set_global_p_s_p = 1181,
+ enum_ops_set_global_pc_s_p = 1182,
+ enum_ops_set_global_p_sc_p = 1183,
+ enum_ops_set_global_pc_sc_p = 1184,
+ enum_ops_set_hll_global_s_p = 1185,
+ enum_ops_set_hll_global_sc_p = 1186,
+ enum_ops_set_hll_global_p_s_p = 1187,
+ enum_ops_set_hll_global_pc_s_p = 1188,
+ enum_ops_set_hll_global_p_sc_p = 1189,
+ enum_ops_set_hll_global_pc_sc_p = 1190,
+ enum_ops_set_root_global_s_p = 1191,
+ enum_ops_set_root_global_sc_p = 1192,
+ enum_ops_set_root_global_p_s_p = 1193,
+ enum_ops_set_root_global_pc_s_p = 1194,
+ enum_ops_set_root_global_p_sc_p = 1195,
+ enum_ops_set_root_global_pc_sc_p = 1196,
+ enum_ops_find_name_p_s = 1197,
+ enum_ops_find_name_p_sc = 1198,
+ enum_ops_find_sub_not_null_p_s = 1199,
+ enum_ops_find_sub_not_null_p_sc = 1200,
+};
+
+
+#endif /* PARROT_OPSENUM_H_GUARD */
+
+
+/*
+ * Local variables:
+ * c-file-style: "parrot"
+ * buffer-read-only: t
+ * End:
+ * vim: expandtab shiftwidth=4:
+ */
Modified: branches/ucs4_encoding/include/parrot/packfile.h
==============================================================================
--- branches/ucs4_encoding/include/parrot/packfile.h Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/include/parrot/packfile.h Mon May 24 21:18:41 2010 (r46974)
@@ -1096,7 +1096,8 @@
size_t PF_size_string(ARGIN(const STRING *s))
__attribute__nonnull__(1);
-PARROT_PURE_FUNCTION
+PARROT_CONST_FUNCTION
+PARROT_WARN_UNUSED_RESULT
size_t PF_size_strlen(const UINTVAL len);
PARROT_WARN_UNUSED_RESULT
Modified: branches/ucs4_encoding/include/parrot/pmc.h
==============================================================================
--- branches/ucs4_encoding/include/parrot/pmc.h Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/include/parrot/pmc.h Mon May 24 21:18:41 2010 (r46974)
@@ -53,6 +53,7 @@
__attribute__nonnull__(1);
PARROT_EXPORT
+PARROT_PURE_FUNCTION
PARROT_WARN_UNUSED_RESULT
PARROT_HOT
INTVAL Parrot_pmc_is_null(SHIM_INTERP, ARGIN_NULLOK(const PMC *pmc));
@@ -84,6 +85,7 @@
PARROT_EXPORT
PARROT_CANNOT_RETURN_NULL
+PARROT_WARN_UNUSED_RESULT
PMC * Parrot_pmc_new_constant_noinit(PARROT_INTERP, INTVAL base_type)
__attribute__nonnull__(1);
Modified: branches/ucs4_encoding/include/parrot/runcore_trace.h
==============================================================================
--- branches/ucs4_encoding/include/parrot/runcore_trace.h Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/include/parrot/runcore_trace.h Mon May 24 21:18:41 2010 (r46974)
@@ -18,10 +18,6 @@
/* HEADERIZER BEGIN: src/runcore/trace.c */
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
-PARROT_CANNOT_RETURN_NULL
-Interp * debugger_or_interp(PARROT_INTERP)
- __attribute__nonnull__(1);
-
int trace_key_dump(PARROT_INTERP, ARGIN(PMC *key))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
@@ -44,8 +40,6 @@
void trace_pmc_dump(PARROT_INTERP, ARGIN_NULLOK(PMC *pmc))
__attribute__nonnull__(1);
-#define ASSERT_ARGS_debugger_or_interp __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_trace_key_dump __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(key))
Modified: branches/ucs4_encoding/include/parrot/string_funcs.h
==============================================================================
--- branches/ucs4_encoding/include/parrot/string_funcs.h Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/include/parrot/string_funcs.h Mon May 24 21:18:41 2010 (r46974)
@@ -235,6 +235,7 @@
__attribute__nonnull__(3);
PARROT_EXPORT
+PARROT_PURE_FUNCTION
PARROT_WARN_UNUSED_RESULT
INTVAL Parrot_str_length(SHIM_INTERP, ARGIN_NULLOK(const STRING *s));
Modified: branches/ucs4_encoding/lib/Parrot/Configure/Options/Test/Prepare.pm
==============================================================================
--- branches/ucs4_encoding/lib/Parrot/Configure/Options/Test/Prepare.pm Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/lib/Parrot/Configure/Options/Test/Prepare.pm Mon May 24 21:18:41 2010 (r46974)
@@ -161,8 +161,6 @@
t/postconfigure/
t/tools/pmc2cutils/
- t/tools/ops2cutils/
- t/tools/ops2pm/
t/pharness/
=back
Modified: branches/ucs4_encoding/lib/Parrot/Distribution.pm
==============================================================================
--- branches/ucs4_encoding/lib/Parrot/Distribution.pm Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/lib/Parrot/Distribution.pm Mon May 24 21:18:41 2010 (r46974)
@@ -430,7 +430,11 @@
compilers/pirc/macro/macroparser.h
include/parrot/config.h
include/parrot/has_header.h
+ include/parrot/oplib/core_ops.h
+ include/parrot/oplib/ops.h
+ include/parrot/opsenum.h
src/gc/malloc.c
+ src/ops/core_ops.c
} unless @exemptions;
my $path = -f $file ? $file : $file->path;
Modified: branches/ucs4_encoding/lib/Parrot/Docs/Section/Ops.pm
==============================================================================
--- branches/ucs4_encoding/lib/Parrot/Docs/Section/Ops.pm Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/lib/Parrot/Docs/Section/Ops.pm Mon May 24 21:18:41 2010 (r46974)
@@ -53,12 +53,6 @@
'Opcodes',
'ops.html',
'',
- $self->new_group(
- 'Tools',
- '',
- $self->new_item( '', 'tools/build/ops2c.pl' ),
- $self->new_item( '', 'tools/build/ops2pm.pl' ),
- ),
$self->new_group( 'Opcode Libraries', '', @core_ops ),
$self->new_group( 'Dynamic Opcode Libraries', '', @dynamic_ops ),
);
Modified: branches/ucs4_encoding/lib/Parrot/Docs/Section/Tools.pm
==============================================================================
--- branches/ucs4_encoding/lib/Parrot/Docs/Section/Tools.pm Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/lib/Parrot/Docs/Section/Tools.pm Mon May 24 21:18:41 2010 (r46974)
@@ -53,8 +53,6 @@
'',
$self->new_item( '', 'docs/configuration.pod' ),
$self->new_item( '', 'tools/build/c2str.pl' ),
- $self->new_item( '', 'tools/build/ops2c.pl' ),
- $self->new_item( '', 'tools/build/ops2pm.pl' ),
$self->new_item( '', 'tools/build/parrot_config_c.pl' ),
$self->new_item( '', 'tools/build/pmc2c.pl' ),
$self->new_item( '', 'tools/dev/install_files.pl' ),
Modified: branches/ucs4_encoding/lib/Parrot/Harness/DefaultTests.pm
==============================================================================
--- branches/ucs4_encoding/lib/Parrot/Harness/DefaultTests.pm Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/lib/Parrot/Harness/DefaultTests.pm Mon May 24 21:18:41 2010 (r46974)
@@ -66,7 +66,6 @@
t/oo/*.t
t/native_pbc/*.t
t/dynpmc/*.t
- t/dynoplibs/*.t
);
# core tests are run unless --runcore-tests is present. Typically
@@ -85,7 +84,9 @@
t/compilers/pge/p5regex/*.t
t/compilers/pge/perl6regex/*.t
t/compilers/tge/*.t
+ t/compilers/opsc/*.t
t/compilers/data_json/*.t
+ t/dynoplibs/*.t
t/library/*.t
t/tools/*.t
t/profiling/*.t
Deleted: branches/ucs4_encoding/lib/Parrot/Op.pm
==============================================================================
--- branches/ucs4_encoding/lib/Parrot/Op.pm Mon May 24 21:18:41 2010 (r46973)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,423 +0,0 @@
-#! perl
-# Copyright (C) 2001-2009, Parrot Foundation.
-# $Id$
-
-=head1 NAME
-
-Parrot::Op - Parrot Operation
-
-=head1 SYNOPSIS
-
- use Parrot::Op;
-
-=head1 DESCRIPTION
-
-C<Parrot::Op> represents a Parrot operation (op, for short), as read
-from an ops file via C<Parrot::OpsFile>, or perhaps even generated by
-some other means. It is the Perl equivalent of the C<op_info_t> C
-C<struct> defined in F<include/parrot/op.h>.
-
-=head2 Op Type
-
-Ops are either I<auto> or I<manual>. Manual ops are responsible for
-having explicit next-op C<RETURN()> statements, while auto ops can count
-on an automatically generated next-op to be appended to the op body.
-
-Note that F<tools/build/ops2c.pl> supplies either 'inline' or 'function'
-as the op's type, depending on whether the C<inline> keyword is present
-in the op definition. This has the effect of causing all ops to be
-considered manual.
-
-=head2 Op Arguments
-
-Note that argument 0 is considered to be the op itself, with arguments
-1..9 being the arguments passed to the op.
-
-Op argument direction and type are represented by short one or two letter
-descriptors.
-
-Op Direction:
-
- i The argument is incoming
- o The argument is outgoing
- io The argument is both incoming and outgoing
-
-Op Type:
-
- i The argument is an integer register index.
- n The argument is a number register index.
- p The argument is a PMC register index.
- s The argument is a string register index.
- ic The argument is an integer constant (in-line).
- nc The argument is a number constant index.
- pc The argument is a PMC constant index.
- sc The argument is a string constant index.
- kc The argument is a key constant index.
- ki The argument is a key integer register index.
- kic The argument is a key integer constant (in-line).
-
-=head2 Class Methods
-
-=over 4
-
-=cut
-
-package Parrot::Op;
-
-use strict;
-use warnings;
-
-=item C<new($code, $type, $name, $args, $argdirs, $labels, $flags)>
-
-Allocates a new bodyless op. A body must be provided eventually for the
-op to be usable.
-
-C<$code> is the integer identifier for the op.
-
-C<$type> is the type of op (see the note on op types above).
-
-C<$name> is the name of the op.
-
-C<$args> is a reference to an array of argument type descriptors.
-
-C<$argdirs> is a reference to an array of argument direction
-descriptors. Element I<x> is the direction of argument C<< $args->[I<x>]
->>.
-
-C<$labels> is a reference to an array of boolean values indicating
-whether each argument direction was prefixed by 'C<label>'.
-
-C<$flags> is a hash reference containing zero or more I<hints> or
-I<directives>.
-
-=cut
-
-sub new {
- my $class = shift;
- my ( $code, $type, $name, $args, $argdirs, $labels, $flags ) = @_;
-
- my $self = {
- CODE => $code,
- TYPE => $type,
- NAME => $name,
- ARGS => [@$args],
- ARGDIRS => [@$argdirs],
- LABELS => [@$labels],
- FLAGS => $flags,
- BODY => '',
- JUMP => 0,
- };
-
- return bless $self, $class;
-}
-
-=back
-
-=head2 Instance Methods
-
-=over 4
-
-=item C<code()>
-
-Returns the op code.
-
-=cut
-
-sub code {
- my $self = shift;
-
- return $self->{CODE};
-}
-
-=item C<type()>
-
-The type of the op, either 'inline' or 'function'.
-
-=cut
-
-sub type {
- my $self = shift;
-
- return $self->{TYPE};
-}
-
-=item C<name()>
-
-The (short or root) name of the op.
-
-=cut
-
-sub name {
- my $self = shift;
-
- return $self->{NAME};
-}
-
-=item C<full_name()>
-
-For argumentless ops, it's the same as C<name()>. For ops with
-arguments, an underscore followed by underscore-separated argument types
-are appended to the name.
-
-=cut
-
-sub full_name {
- my $self = shift;
- my $name = $self->name;
- my @arg_types = $self->arg_types;
-
- $name .= "_" . join( "_", @arg_types ) if @arg_types;
-
- return $name;
-}
-
-=item C<func_name()>
-
-The same as C<full_name()>, but with 'C<Parrot_>' prefixed.
-
-=cut
-
-sub func_name {
- my ( $self, $trans ) = @_;
-
- return $trans->prefix . $self->full_name;
-}
-
-=item C<arg_types()>
-
-Returns the types of the op's arguments.
-
-=cut
-
-sub arg_types {
- my $self = shift;
-
- return @{ $self->{ARGS} };
-}
-
-=item C<arg_type($index)>
-
-Returns the type of the op's argument at C<$index>.
-
-=cut
-
-sub arg_type {
- my $self = shift;
-
- return $self->{ARGS}[shift];
-}
-
-=item C<arg_dirs()>
-
-Returns the directions of the op's arguments.
-
-=cut
-
-sub arg_dirs {
- my $self = shift;
-
- return @{ $self->{ARGDIRS} };
-}
-
-=item C<labels()>
-
-Returns the labels.
-
-=cut
-
-sub labels {
- my $self = shift;
-
- return @{ $self->{LABELS} };
-}
-
-=item C<flags(@flags)>
-
-=item C<flags()>
-
-Sets/gets the op's flags. This returns a hash reference, whose keys are any
-flags (passed as ":flag") specified for the op.
-
-=cut
-
-sub flags {
- my $self = shift;
-
- if (@_) {
- $self->{FLAGS} = shift;
- }
-
- return $self->{FLAGS};
-}
-
-=item C<arg_dir($index)>
-
-Returns the direction of the op's argument at C<$index>.
-
-=cut
-
-sub arg_dir {
- my $self = shift;
-
- return $self->{ARGDIRS}[shift];
-}
-
-=item C<body($body)>
-
-=item C<body()>
-
-Sets/gets the op's code body.
-
-=cut
-
-sub body {
- my $self = shift;
-
- if (@_) {
- $self->{BODY} = shift;
- }
-
- return $self->{BODY};
-}
-
-=item C<jump($jump)>
-
-=item C<jump()>
-
-Sets/gets a string containing one or more C<op_jump_t> values joined with
-C<|> (see F<include/parrot/op.h>). This indicates if and how an op
-may jump.
-
-=cut
-
-sub jump {
- my $self = shift;
-
- if (@_) {
- $self->{JUMP} = shift;
- }
-
- return $self->{JUMP};
-}
-
-# Called from rewrite_body() to perform the actual substitutions.
-sub _substitute {
- my $self = shift;
- local $_ = shift;
- my $trans = shift;
- my $preamble_only = shift;
-
- my $rewrote_access =
- s/{{\@([^{]*?)}}/ $trans->access_arg($self->arg_type($1 - 1), $1, $self); /me;
-
- die "Argument access not allowed in preamble\n"
- if $preamble_only && $rewrote_access;
-
- s/{{=0,=([^{]*?)}}/ $trans->restart_address($1) . "; {{=0}}"; /me;
- s/{{=0,\+=([^{]*?)}}/ $trans->restart_offset($1) . "; {{=0}}"; /me;
-
- s/{{\+=([^{]*?)}}/ $trans->goto_offset($1); /me;
- s/{{=([^*][^{]*?)}}/ $trans->goto_address($1); /me;
-
- s/{{\^(\d+)}}/ $1 /me;
- s/{{\^\+([^{]*?)}}/ $trans->expr_offset($1); /me;
- s/{{\^([^{]*?)}}/ $trans->expr_address($1); /me;
-
- return $_;
-}
-
-=item C<rewrite_body($body, $trans, [$preamble])>
-
-Performs the various macro substitutions using the specified transform,
-correctly handling nested substitions, and repeating over the whole string
-until no more substitutions can be made.
-
-C<VTABLE_> macros are enforced by converting C<<< I<< x >>->vtable->I<<
-method >> >>> to C<VTABLE_I<method>>.
-
-=cut
-
-sub rewrite_body {
- my ( $self, $body, $trans, $preamble_only ) = @_;
-
- while (1) {
- my $new_body = $self->_substitute( $body, $trans, !!$preamble_only );
-
- last if $body eq $new_body;
-
- $body = $new_body;
- }
-
- return $body;
-}
-
-=item C<source($trans)>
-
-Returns the L<C<body()>> of the op with substitutions made by
-C<$trans> (a subclass of C<Parrot::OpTrans>).
-
-=cut
-
-sub source {
- my ( $self, $trans ) = @_;
-
- my $flags = $self->flags;
-
- if (exists($$flags{pic})
- && !( ref($trans) eq 'Parrot::OpTrans::CGP' || ref($trans) eq 'Parrot::OpTrans::CSwitch' ) )
- {
- return qq{PANIC(interp, "How did you do that");\n};
- }
-
- my $prelude = $trans->can( 'add_body_prelude' )
- ? $trans->add_body_prelude()
- : '';
-
- return $self->rewrite_body( $prelude . $self->body, $trans );
-}
-
-=item C<size()>
-
-Returns the op's number of arguments. Note that this also includes
-the op itself as one argument.
-
-=cut
-
-sub size {
- my $self = shift;
-
- return scalar( $self->arg_types + 1 );
-}
-
-=back
-
-=head1 SEE ALSO
-
-=over 4
-
-=item C<Parrot::OpsFile>
-
-=item C<Parrot::OpTrans>
-
-=item F<tools/build/ops2c.pl>
-
-=item F<tools/build/ops2pm.pl>
-
-=item F<tools/build/pbc2c.pl>
-
-=back
-
-=head1 HISTORY
-
-Author: Gregor N. Purdy E<lt>gregor at focusresearch.comE<gt>
-
-=cut
-
-1;
-
-# Local Variables:
-# mode: cperl
-# cperl-indent-level: 4
-# fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:
Deleted: branches/ucs4_encoding/lib/Parrot/OpTrans.pm
==============================================================================
--- branches/ucs4_encoding/lib/Parrot/OpTrans.pm Mon May 24 21:18:41 2010 (r46973)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,225 +0,0 @@
-# Copyright (C) 2002-2007, Parrot Foundation.
-# $Id$
-
-=head1 NAME
-
-Parrot::OpTrans - Transform Ops to C Code
-
-=head1 DESCRIPTION
-
-C<Parrot::OpTrans> is the abstract superclass for the Parrot op to C
-transforms. Each transform contains various bits of information needed
-to generate the C code, and creates a different type of run loop. The
-methods defined here supply various default values and behaviour common
-to all transforms.
-
-The subclass hierarchy is as follows:
-
- OpTrans
- |
- |
- C
-
-=head2 Class Methods
-
-=over 4
-
-=cut
-
-package Parrot::OpTrans;
-
-use strict;
-use warnings;
-
-=item C<new()>
-
-Returns a new instance.
-
-=cut
-
-sub new {
- return bless {}, shift;
-}
-
-=back
-
-=head2 Instance Methods
-
-=over 4
-
-=item C<prefix()>
-
-Returns the default 'C<Parrot_>' prefix.
-
-Used by C<Parrot::Op>'s C<func_name()> to individuate op function names.
-
-=cut
-
-sub prefix {
- return 'Parrot_';
-}
-
-=item C<suffix()>
-
-Implemented in subclasses to return a suffix with which to individuate
-variable names. This default implementation returns an empty string.
-
-=cut
-
-sub suffix {
- return '';
-}
-
-=item C<core_type()>
-
-Implemented in subclasses to return the type of core created by the
-transform. This default implementation raises an exception indicating
-that the core type is missing. See the C<Parrot_Run_core_t> C<enum> in
-F<include/parrot/interpreter.h> for a list of the core types.
-
-=cut
-
-sub core_type {
- my $self = shift;
-
- die ref($self) . " doesn't have core_type()";
-}
-
-=item C<run_core_func_decl($base)>
-
-Optionally implemented in subclasses to return the C code for the run
-core function declaration. C<$base> is the name of the main ops file minus
-the .ops extension.
-
-=item C<ops_addr_decl($base_suffix)>
-
-Optionally implemented in subclasses to return the C code for the ops
-address declaration. C<$base_suffix> is the name of the main ops file minus
-the .ops extension with C<suffix()> and an underscore appended.
-
-=item C<run_core_func_decl($base)>
-
-Optionally implemented in subclasses to return the C code for the run
-core function declaration. C<$base> is the same as for
-C<run_core_func_decl()>.
-
-=item C<run_core_func_start()>
-
-Implemented in subclasses, if C<run_core_func_decl()> is implemented, to
-return the C code prior to the run core function.
-
-=item C<run_core_after_addr_table($base_suffix)>
-
-Optionally implemented in subclasses to return the run core C code for
-section after the address table. C<$base_suffix> is the same as for
-C<ops_addr_decl()>.
-
-=item C<run_core_finish($base)>
-
-Implemented in subclasses to return the C code following the run core
-function. C<$base> is the same as for C<run_core_func_decl()>.
-
-=item C<init_func_init1($base)>
-
-Optionally implemented in subclasses to return the C code for the core's
-init function. C<$base> is the same as for C<run_core_func_decl()>.
-
-=item C<init_set_dispatch($base_suffix)>
-
-Optionally implemented in subclasses to return the C code for
-initializing the dispatch mechanism within the core's init function.
-C<$base_suffix> is the same as for C<ops_addr_decl()>.
-
-=back
-
-B<Macro Substitutions>
-
-The following methods are called by C<Parrot::OpFile> to perform ops
-file macro substitutions.
-
-=over
-
-=item C<access_arg($type, $value, $op)>
-
-Implemented in subclasses to return the C code for the specified op
-argument type and value. C<$op> is an instance of C<Parrot::Op>.
-
-=item C<gen_goto($where)>
-
-The various C<goto_I<X>> methods below call this method with the return
-value of an C<expr_I<X>> method (implemented in subclass).
-
-=cut
-
-sub gen_goto {
- my ( $self, $where_str ) = @_;
-
- return "return $where_str";
-}
-
-=item C<restart_address($address)>
-
-Implemented in subclasses to return the C code for C<restart
-ADDRESS($address)>.
-
-=item C<restart_offset($offset)>
-
-Implemented in subclasses to return the C code for C<restart
-OFFSET($offset)>.
-
-=item C<goto_address($address)>
-
-Transforms the C<goto ADDRESS($address)> macro in an ops file into the
-relevant C code.
-
-=cut
-
-sub goto_address {
- my $self = shift;
-
- return $self->gen_goto( $self->expr_address(@_) );
-}
-
-=item C<goto_offset($offset)>
-
-Transforms the C<goto OFFSET($offset)> macro in an ops file into the
-relevant C code.
-
-=cut
-
-sub goto_offset {
- my $self = shift;
-
- return $self->gen_goto( $self->expr_offset(@_) );
-}
-
-=item C<expr_offset($offset)>
-
-Implemented in subclasses to return the C code for C<OFFSET($offset)>.
-Called by C<goto_offset()>.
-
-=item C<expr_address($address)>
-
-Implemented in subclasses to return the C code for C<ADDRESS($address)>.
-Called by C<goto_address()>.
-
-=back
-
-=head1 SEE ALSO
-
-=over 4
-
-=item C<Parrot::OpTrans::C>
-
-=back
-
-=cut
-
-1;
-
-# Local Variables:
-# mode: cperl
-# cperl-indent-level: 4
-# fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:
Deleted: branches/ucs4_encoding/lib/Parrot/Ops2pm.pm
==============================================================================
--- branches/ucs4_encoding/lib/Parrot/Ops2pm.pm Mon May 24 21:18:41 2010 (r46973)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,537 +0,0 @@
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-package Parrot::Ops2pm;
-use strict;
-use warnings;
-use Cwd;
-use Data::Dumper ();
-use File::Path ();
-use File::Spec;
-use lib qw ( lib );
-use base qw( Parrot::Ops2pm::Base );
-use Parrot::OpsFile;
-
-=head1 NAME
-
-Parrot::Ops2pm - Methods holding functionality for F<tools/build/ops2pm.pl>.
-
-=head1 SYNOPSIS
-
- use Parrot::Ops2pm;
-
- $self = Parrot::Ops2pm->new( {
- argv => [ @ARGV ],
- nolines => $nolines_flag,
- moddir => "lib/Parrot/OpLib",
- module => "core.pm",
- inc_dir => "include/parrot/oplib",
- inc_f => "ops.h",
- script => "tools/build/ops2pm.pl",
- } );
-
- $self->prepare_ops();
- $self->load_op_map_files();
- $self->sort_ops();
- $self->prepare_real_ops();
- $self->print_module();
- $self->print_h();
- exit 0;
-
-=cut
-
-=head1 DESCRIPTION
-
-Parrot::Ops2pm provides methods called by F<tools/build/ops2pm.pl>, a
-program which is called at the very beginning of the Parrot F<make> process.
-The program's function is to build two files:
-
-=over 4
-
-=item * F<lib/Parrot/OpLib/core.pm>
-
-=item * F<include/parrot/oplib/ops.h>
-
-=back
-
-The functionality once (pre-April 2007) found in F<tools/build/ops2pm.pl> has
-been extracted into this package's methods in order to support
-component-focused testing and future refactoring.
-
-=head1 METHODS
-
-=head2 C<new()>
-
-Inherited from Parrot::Ops2pm::Base and documented in
-F<lib/Parrot/Ops2pm/Base.pm>.
-
-=head2 C<prepare_ops()>
-
-Inherited from Parrot::Ops2pm::Base and documented in
-F<lib/Parrot/Ops2pm/Base.pm>.
-
-=head2 C<load_op_map_files()>
-
-=over 4
-
-=item * Purpose
-
-When F<tools/build/ops2pm.pl> is called by F<make>, this method
-checks the number of ops strictly against F<src/ops/ops.num> and
-F<src/ops/ops.skip>.
-
-=item * Arguments
-
-None. (Implicitly requires that the C<argv> and C<script> keys
-have been provided to the constructor.)
-
-=item * Return Value and Side Effects
-
-Returns true value upon success. Internally, sets these
-values in these elements in the object's data structure:
-
-=over 4
-
-=item * C<max_op_num>
-
-Scalar holding number of highest non-experimental op. Example:
-
- 'max_op_num' => 1246,
-
-=item * C<optable>
-
-Reference to hash holding mapping of opcode names ops to their numbers.
-Example:
-
- 'optable' => {
- 'pow_p_p_i' => 650,
- 'say_s' => 463,
- 'lsr_p_p_i' => 207,
- 'lt_s_sc_ic' => 289,
- # ...
- 'debug_init' => 429,
- 'iseq_i_nc_n' => 397,
- 'eq_addr_sc_s_ic' => 254
- },
-
-Per F<src/ops/ops.num>, this mapping exists so that we can nail down
-the op numbers for the core opcodes in a particular version of the
-bytecode and provide backward-compatibility for bytecode.
-
-=item * C<skiptable>
-
-Reference to a 'seen-hash' of skipped opcodes.
-
- 'skiptable' => {
- 'bor_i_ic_ic' => 1,
- 'xor_i_ic_ic' => 1,
- 'tanh_n_nc' => 1,
- # ...
- },
-
-As F<src/ops/ops.skip> states, these are "... opcodes that could be listed in
-F<[src/ops/]ops.num> but aren't ever to be generated or implemented because
-they are useless and/or silly."
-
-=back
-
-=back
-
-=cut
-
-sub load_op_map_files {
- my $self = shift;
- my $num_file = $self->{num_file};
- my $skip_file = $self->{skip_file};
-
- my ( $op, $name, $number, $prev );
-
- $self->{max_op_num} ||= 0;
-
- open $op, '<', $num_file
- or die "Can't open $num_file: $!";
- $prev = -1;
- while (<$op>) {
- chomp;
- s/#.*$//;
- s/\s*$//;
- s/^\s*//;
- next unless $_;
- ( $name, $number ) = split( /\s+/, $_ );
- if ( $prev + 1 != $number ) {
- die "hole in ops.num before #$number";
- }
- if ( exists $self->{optable}{$name} ) {
- die "duplicate opcode $name and $number";
- }
- $prev = $number;
- $self->{optable}{$name} = $number;
- if ( $number > $self->{max_op_num} ) {
- $self->{max_op_num} = $number;
- }
- }
- undef $op;
-
- open $op, '<', $skip_file
- or die "Can't open $skip_file: $!";
- while (<$op>) {
- chomp;
- s/#.*$//;
- s/\s*$//;
- s/^\s*//;
- next unless $_;
- ($name) = split( /\s+/, $_ );
- if ( exists $self->{optable}{$name} ) {
- die "skipped opcode is also in $num_file:$.";
- }
- $self->{skiptable}{$name} = 1;
- }
- undef $op;
- return 1;
-}
-
-=head2 C<sort_ops()>
-
-=over 4
-
-=item * Purpose
-
-Internal manipulation of the Parrot::Ops2pm object: sorting by number of the
-list of op codes found in the object's C<{ops}-E<gt>{OPS}> element.
-
-=item * Arguments
-
-None.
-
-=item * Return Value and Side Effects
-
-No return value. Internally, re-sets the C<ops> key of the object's data
-structure.
-
-=item * Comment
-
-It is at this point that warnings about experimental opcodes will be
-emitted if you are working in a checkout from the Parrot repository. Example:
-
- trap 1247 experimental, not in ops.num
-
-=back
-
-=cut
-
-sub sort_ops {
- my $self = shift;
- for my $el ( @{ $self->{ops}{OPS} } ) {
- if ( exists $self->{optable}{ $el->full_name } ) {
- $el->{CODE} = $self->{optable}{ $el->full_name };
- }
- elsif ( exists $self->{skiptable}{ $el->full_name } ) {
- $el->{CODE} = -1;
- }
- elsif ( $el->{experimental} ) {
- my $n = $self->{optable}{ $el->full_name } = ++$self->{max_op_num};
- warn sprintf(
- "%-25s %-10s experimental, not in ops.num\n",
- $el->full_name, $n
- ) if -e "DEVELOPING";
- $el->{CODE} = $n;
- }
- else {
- die sprintf(
- "%-25s %-10s FATAL: not in ops.num nor ops.skip\n",
- $el->full_name, ""
- ) if -e "DEVELOPING";
- $el->{CODE} = -1;
- }
- }
- @{ $self->{ops}{OPS} } =
- sort { $a->{CODE} <=> $b->{CODE} } ( @{ $self->{ops}{OPS} } );
-}
-
-=head2 C<prepare_real_ops()>
-
-=over 4
-
-=item * Purpose
-
-Final stage of preparation of ops.
-
-=item * Arguments
-
-None. (Same implicit requirements for the constructor as
-C<load_op_map_files()> above.)
-
-=item * Return Value and Side Effects
-
-No return value. Internally, adds the C<real_ops> key of the object's
-data structure. Its value is a Parrot::OpsFile object.
-
-=back
-
-=cut
-
-sub prepare_real_ops {
- my $self = shift;
-
- my $real_ops = Parrot::OpsFile->new( [], $self->{nolines} );
- $real_ops->{PREAMBLE} = $self->{ops}{PREAMBLE};
- $real_ops->version( $self->{ops}->version );
-
- # verify opcode numbers
- my $seq = 0;
- for my $el ( @{ $self->{ops}{OPS} } ) {
- next if $el->{CODE} < 0; # skip
- my $opname = $el->full_name;
- my $n = $self->{optable}{$opname}; # former global
- if ( $n != $el->{CODE} ) {
- die "op $opname: number mismatch: ops.num $n vs. core.ops $el->{CODE}";
- }
- if ( $seq != $el->{CODE} ) {
- die "op $opname: sequence mismatch: ops.num $seq vs. core.ops $el->{CODE}";
- }
- push @{ $real_ops->{OPS} }, $el;
- ++$seq;
- }
- $self->{real_ops} = $real_ops;
-}
-
-=head2 C<print_module()>
-
-=over 4
-
-=item * Purpose
-
-Uses information in the object's data structure -- principally
-the C<real_ops> element -- to create F<lib/Parrot/OpLib/core.pm>.
-
-=item * Arguments
-
-None. (Implicitly requires that the constructor have the
-following keys defined: C<argv>, C<script>, C<moddir> and C<module>.)
-
-=item * Return Value
-
-Returns true value upon success.
-
-=item * Comment
-
-=back
-
-=cut
-
-sub print_module {
- my $self = shift;
- my $cwd = cwd();
- my $fulldir = File::Spec->catdir( $cwd, $self->{moddir} );
- if ( !-d $fulldir ) {
- if ( !File::Path::mkpath( [ $fulldir ], 0, 0755 ) ) {
- -d $fulldir
- or die "$self->{script}: Could not mkdir $fulldir: $!!\n";
- }
- }
- my $fullpath = File::Spec->catfile( ($fulldir), $self->{module} );
- open my $MODULE, '>', $fullpath
- or die "$self->{script}: Could not open module file '$fullpath' for writing: $!!\n";
-
- my $version = $self->{real_ops}->version();
- ( my $pod = <<"END_POD") =~ s/^ //osmg;
- =head1 NAME
-
- Parrot::OpLib::core - Parrot Op Info
-
- =head1 DESCRIPTION
-
- This is an autogenerated file, created by F<$self->{script}>.
-
- It contains Parrot version info, a preamble for inclusion in C code,
- and an array of C<Parrot::Op> instances representing the Parrot ops.
-
- =cut
-END_POD
-
- my $preamble = <<END_C;
-#! perl -w
-#
-# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
-#
-# This file is generated automatically from '$self->{file}'.
-# Any changes made here will be lost!
-#
-
-$pod
-
-use strict;
-
-package Parrot::OpLib::core;
-
-use vars qw(\$VERSION \$ops \$preamble);
-
-\$VERSION = "$version";
-
-END_C
-
- print {$MODULE} $preamble;
- print {$MODULE} Data::Dumper->Dump( [ $self->{real_ops}->preamble, [ $self->{real_ops}->ops ] ],
- [qw($preamble $ops)] );
-
- print {$MODULE} <<END_C;
-
-1;
-END_C
-
- close $MODULE or die;
-
- return 1;
-}
-
-=head2 C<print_h()>
-
-=over 4
-
-=item * Purpose
-
-Uses information in the object's data structure -- principally
-the C<real_ops> key -- to create F<include/parrot/oplib/ops.h>.
-
-=item * Arguments
-
-None. (Implicitly requires that the constructor have the
-following keys defined: C<argv>, C<script>, C<inc_dir> and C<inc_f>.)
-
-=item * Return Value
-
-Returns true value upon success.
-
-=item * Comment
-
-=back
-
-=cut
-
-sub print_h {
- my $self = shift;
- my $cwd = cwd();
- my $fulldir = File::Spec->catdir( $cwd, $self->{inc_dir} );
- if ( !-d $fulldir ) {
- if ( !File::Path::mkpath( [ $fulldir ], 0, 0755 ) ) {
- -d $fulldir
- or die "$self->{script}: Could not mkdir $fulldir: $!!\n";
- }
- }
-
- my $fullpath = File::Spec->catfile( ($fulldir), $self->{inc_f} );
- open my $OUT, '>', $fullpath
- or die "$self->{script}: Could not open module file '$fullpath' for writing: $!!\n";
-
- print $OUT <<END_C;
-/* ex: set ro:
- * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- *
- * This file is generated automatically from '$self->{file}'
- * by $self->{script}.
- *
- * Any changes made here will be lost!
- */
-
-#ifndef PARROT_OPS_H_GUARD
-#define PARROT_OPS_H_GUARD
-
-typedef enum {
-END_C
-
- my @OPS = @{ $self->{real_ops}->{OPS} };
- for my $el (@OPS) {
- my $opname = $el->full_name;
- my $n = $el->{CODE};
- my $comma = $n < @OPS - 1 ? "," : "";
- $opname = "PARROT_OP_$opname$comma";
-
- printf $OUT " %-30s\t/* %4d */\n", $opname, $n;
- }
-
- print $OUT <<END_C;
-} parrot_opcode_enums;
-
-#endif /* PARROT_OPS_H_GUARD */
-
-END_C
-
- # append the C code coda
- print $OUT <<END_C;
-/*
- * Local variables:
- * c-file-style: "parrot"
- * End:
- * vim: expandtab shiftwidth=4:
- */
-END_C
- close $OUT;
- return 1;
-}
-
-=head1 NOTE ON TESTING
-
-A suite of test files to accompany this package is found in
-F<t/tools/ops2pm>. This suite has been developed to maximize its
-coverage of the code of Parrot::Ops2pm (as measured by Perl module
-Devel::Cover). Should you wish to refactor this package, it is recommended
-that you do so in a B<test-driven> manner:
-
-=over 4
-
-=item 1
-
-Write the specification for any additions or modifications to
-Parrot::Ops2pm' interface.
-
-=item 2
-
-Write tests that reflect any such modifications.
-
-=item 3
-
-Write the additional or modified code that reflects the new specification.
-
-=item 4
-
-Test the new code and debug. The tests in the suite should be run B<after>
-Parrot's F<Configure.pl> has run but B<before> F<make> has run. Example:
-
- $> perl Configure.pl
- $> prove -v t/tools/ops2pm/*.t
- $> make
-
-=item 5
-
-Use Devel::Cover to measure the extent to which the existing and new tests
-cover the existing and revised code.
-
-=item 6
-
-Refactor and retest to ensure high test coverage.
-
-=back
-
-This package's methods are called by F<tools/build/ops2pm.pl>, which in turn
-is invoked by F<make> in the Parrot build process. Successful execution of
-F<make> proves that the functionality in this package achieved its overall
-objective but does not necessarily invoke many of the individual code
-statements in the package. That is the rationale for the component-focused
-testing provided by the test suite.
-
-=head1 AUTHOR
-
-See F<tools/build/ops2pm.pl> for a list of the Parrot hackers who, over a
-period of several years, developed the functionality now found in the methods
-of Parrot::Ops2pm. Jim Keenan extracted that functionality and placed
-it in this package's methods.
-
-=cut
-
-1;
-
-# Local Variables:
-# mode: cperl
-# cperl-indent-level: 4
-# fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:
Deleted: branches/ucs4_encoding/lib/Parrot/OpsFile.pm
==============================================================================
--- branches/ucs4_encoding/lib/Parrot/OpsFile.pm Mon May 24 21:18:41 2010 (r46973)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,750 +0,0 @@
-#! perl
-# Copyright (C) 2001-2009, Parrot Foundation.
-# $Id$
-
-=head1 NAME
-
-Parrot::OpsFile - Ops To C Code Generation
-
-=head1 SYNOPSIS
-
- use Parrot::OpsFile;
-
-=head1 DESCRIPTION
-
-C<Parrot::OpsFile> takes one or more files of op functions and
-creates real C code for them.
-
-This class is used by F<tools/build/ops2c.pl>,
-F<tools/build/ops2pm.pl> and F<tools/build/pbc2c.pl>.
-
-=head2 Op Functions
-
-For ops that have trivial bodies (such as just a call to some other
-function and a C<return> statement), opcode functions are in the format:
-
- inline op opname (args) :flags {
- ... body of function ...
- }
-
-Note that currently the C<inline> op type is ignored.
-
-Alternately, for opcode functions that have more internal complexity the
-format is:
-
- op opname (args) :flags {
- ... body of function ...
- }
-
-There may be more than one C<return>.
-
-In both cases the closing brace B<must> be on its own line.
-
-When specifying multiple flags, each flag gets its own prefixing colon.
-
-=head2 Op Arguments
-
-Op arguments are a comma-separated list of direction and type pairs.
-
-Argument direction is one of:
-
- in the argument passes a value into the op
- out the argument passes a value out of the op
- inout the argument passes a value into and out of the op
- inconst the argument passes a constant value into the op
- invar the argument passes a variable value into the op
-
-Argument direction is used to determine the life times of symbols and
-their related register allocations. When an argument is passed into an
-op a register is read from, when it's passed out of an op a register is
-written to.
-
-Argument type is one of:
-
- INT the argument is an integer
- NUM the argument is an numeric
- STR the argument is an string
- PMC the argument is an PMC
- KEY the argument is an aggregate PMC key
- INTKEY the argument is an aggregate PMC integer key
- LABEL the argument is an integer branch offset or address
-
-The size of the return offset is determined from the op function's
-signature.
-
-=head2 Op Flags
-
-The flags are of two types:
-
-=over 4
-
-=item 1 class
-
-The classification of ops is intended to facilitate the selection of
-suitable ops for a Parrot safe mode.
-
-=item 2 behavior
-
-The presence (or absence) of certain flags will change how the op behaves. For
-example, the lack of the C<flow> flag will cause the op to be implicitly
-terminated with C<goto NEXT()>. (See next section).
-
-The :deprecated flag will generate a diagnostic to standard error at
-runtime when a deprecated opcode is invoked and
-C<PARROT_WARNINGS_DEPRECATED_FLAG> has been set.
-
-=back
-
-=head2 Op Body (Macro Substitutions)
-
-In the following macro descriptions, C<PC> and C<PC'> are the current
-and next position within the Parrot code.
-
-=over 4
-
-=item C<goto OFFSET(X)>
-
-Transforms to C<PC' = PC + X>. This is used for branches.
-
-=item C<goto NEXT()>
-
-Transforms to C<PC' = PC + S>, where C<S> is the size of an op.
-
-=item C<goto ADDRESS(X)>
-
-Transforms to C<PC' = X>. This is used for absolute jumps.
-
-=item C<expr OFFSET(X)>
-
-Transforms to C<PC + X>. This is used to give a relative address.
-
-=item C<expr NEXT()>
-
-Transforms to C<PC + S>, the position of the next op.
-
-=item C<expr ADDRESS(X)>
-
-Transforms to C<X>, an absolute address.
-
-=item C<restart OFFSET(X)>
-
-Transforms to C<PC' = 0> and restarts at C<PC + X>.
-
-=item C<restart NEXT()>
-
-Transforms to C<PC' = 0> and restarts at C<PC + S>.
-
-=item C<$n>
-
-Transforms to the op function's nth argument. C<$0> is the opcode itself.
-
-=back
-
-Note that, for ease of parsing, if the argument to one of the above
-notations in a ops file contains parentheses, then double the enclosing
-parentheses and add a space around the argument, like so:
-
- goto OFFSET(( (void*)interp->happy_place ))
-
-=head2 Class Methods
-
-=over 4
-
-=cut
-
-package Parrot::OpsFile;
-
-use strict;
-use warnings;
-
-use base qw( Exporter );
-
-use Parrot::Op;
-use Parrot::Config;
-
-our %op_body;
-our @EXPORT = qw( %op_body );
-
-# private sub _trim()
-#
-# Trim leading and trailing spaces.
-
-sub _trim {
- my $value = shift;
-
- $value =~ s/^\s+//;
- $value =~ s/\s+$//;
-
- return $value;
-}
-
-=item C<new(@files)>
-
-Returns a new instance initialized by calling C<read_ops()> on each of
-the specified op files.
-
-=cut
-
-sub new {
- my ( $class, $files, $nolines ) = @_;
-
- my $self = bless { PREAMBLE => '' }, $class;
-
- $self->read_ops( $_, $nolines ) for @{$files};
-
- # FILE holds a space separated list of opsfile name
- if ( $self->{FILE} ) {
- $self->{FILE} =~ s/, $//;
- $self->{FILE} =~ s/, $//;
- }
-
- return $self;
-}
-
-=back
-
-=head2 Instance Methods
-
-=over 4
-
-=item C<read_ops($file,$nolines)>
-
-Reads in the specified .ops file, gathering information about the ops.
-
-=cut
-
-sub read_ops {
- my ( $self, $file, $nolines ) = @_;
-
- my $ops_file = "src/" . $file;
-
- die "Parrot::OpFunc::init(): No file specified!\n" unless defined $file;
-
- $self->{FILE} .= $file . ', ';
-
- my $orig = $file;
-
- open my $OPS, '<', $file or die "Can't open $file, $!/$^E";
-
- $self->version( $PConfig{VERSION} );
-
- if ( !( $file =~ s/\.ops$/.c/ ) ) {
- $file .= ".c";
- }
-
- #
- # Read through the file, creating and storing Parrot::Op objects:
- #
-
- my $count = 0;
- my ( $name, $footer );
- my $type;
- my $body;
- my $short_name;
- my $args;
- my @args;
- my @argdirs;
- my $seen_pod;
- my $seen_op;
- my $in_preamble;
- my $line;
- my $flags;
- my @labels;
-
- while (<$OPS>) {
- $seen_pod = 1 if m|^=|;
- $in_preamble = 1 if s|^BEGIN_OPS_PREAMBLE||;
-
- unless ( $seen_op or m|^(inline\s+)?op\s+| ) {
-
- if (m|^END_OPS_PREAMBLE|) {
- $_ = '';
- $in_preamble = 0;
- }
- elsif ($in_preamble) {
- $self->{PREAMBLE} .= $_;
- }
-
- next;
- }
-
- die "No 'VERSION = ...;' line found before beginning of ops in file '$orig'!\n"
- unless defined $self->version;
-
- #
- # Handle start-of-op:
- #
- # We create a new Parrot::Op instance based on the type, name and args.
- # We query the Parrot::Op for the op size, etc., which we use later.
- #
- # Either of these two forms work:
- #
- # inline op name (args) {
- # op name (args) {
- #
- # The args are a comma-separated list of items from this table of argument
- # types (even if no formal args are specified, there will be a single 'o'
- # entry):
- #
- # op The opcode
- #
- # i Integer register index
- # n Number register index
- # p PMC register index
- # s String register index
- #
- # ic Integer constant (in-line)
- # nc Number constant index
- # pc PMC constant index
- # sc String constant index
- # kc Key constant index
- # kic Integer Key constant index (in-line)
- #
-
- my $op_sig_RE = qr/
- ^
- (inline\s+)? # optional keywords
- op
- \s+
- ([a-zA-Z]\w*) # op name
- \s*
- \((.*)\) # argument signature
- \s*
- ((?: \:\w+\s*)*) # :flags
- \s*
- {
- $
- /x;
-
- if ($_ =~ $op_sig_RE) {
- if ($seen_op) {
- die "$ops_file [$.]: Cannot define an op within an op definition!\n";
- }
-
- $type = defined($1) ? 'inline' : 'function';
- $short_name = $2;
- $args = _trim( lc $3 );
- $flags = $4 ? _trim( lc $4 ) : "";
- @args = split( /\s*,\s*/, $args );
- @argdirs = ();
- @labels = ();
- $body = '';
- $seen_op = 1;
- $line = $. + 1;
-
- $flags = { map { $_ => undef } (split(/[ :]+/, $flags)) };
-
- my @temp;
-
- for my $arg (@args) {
- my ( $use, $type ) =
- $arg =~ m/^(in|out|inout|inconst|invar)
- \s+
- (INT|NUM|STR|PMC|KEY|INTKEY|LABEL)$/ix;
-
- die "Unrecognized arg format '$arg' in '$_'!"
- unless defined($use) and defined($type);
-
- # remember it's a label, then turn it to an int
- if ( $type =~ /^LABEL$/i ) {
- $type = 'i';
- push @labels, 1;
- }
- else {
- push @labels, 0;
- }
-
- if ( $type =~ /^INTKEY$/i ) {
- $type = 'ki';
- }
- else {
- $type = lc substr( $type, 0, 1 );
- }
-
- if ( $use eq 'in' ) {
- push @temp, "$type|${type}c";
- push @argdirs, 'i';
- }
- elsif ( $use eq 'invar' ) {
- push @temp, $type;
- push @argdirs, 'i';
- }
- elsif ( $use eq 'inconst' ) {
- push @temp, "${type}c";
- push @argdirs, 'i';
- }
- elsif ( $use eq 'inout' ) {
- push @temp, $type;
- push @argdirs, 'io';
- }
- else {
- push @temp, $type;
- push @argdirs, 'o';
- }
- }
-
- @args = @temp;
-
- next;
- }
-
- #
- # Handle end-of-op:
- #
- # We stash the accumulated body of source code in the Parrot::Op, push the
- # Parrot::Op onto our op array, and forget the op so we can start the next
- # one.
- #
-
- if (/^}\s*$/) {
- $count += $self->make_op(
- $count, $type, $short_name, $body, \@args, \@argdirs,
- $line, $orig, \@labels, $flags, $nolines
- );
-
- $seen_op = 0;
-
- next;
- }
-
- #
- # Accumulate the code into the op's body:
- #
-
- if ($seen_op) {
- $body .= $_;
- }
- else {
- die "Parrot::OpsFile: Unrecognized line: '$_'!\n";
- }
- }
-
- if ($seen_op) {
- die "Parrot::OpsFile: File ended with incomplete op definition!\n";
- }
-
- close $OPS or die "Could not close ops file '$file' ($!)!";
-
- return;
-}
-
-# Extends a string containing an or expression "0" .. "A" .. "A|B" etc.
-sub or_flag {
- my ( $flag, $value ) = @_;
-
- if ( $$flag eq '0' ) {
- $$flag = $value;
- }
- else {
- $$flag .= "|$value";
- }
-}
-
-=item C<make_op($code,
-$type, $short_name, $body, $args, $argdirs, $line, $file, $labels, $flags, $nolines)>
-
-Returns a new C<Parrot::Op> instance for the specified arguments.
-
-=cut
-
-sub make_op {
- my (
- $self, $code, $type, $short_name, $body, $args,
- $argdirs, $line, $file, $labels, $flags, $nolines
- ) = @_;
- my $counter = 0;
- my $branch = 0;
- my $pop = 0;
-
- if (exists($$flags{deprecated})) {
- $body = <<"END_CODE" . $body;
-INTVAL unused = PARROT_WARNINGS_test(interp,PARROT_WARNINGS_DEPRECATED_FLAG) &&
- fprintf(stderr,"Warning: instruction '$short_name' is deprecated\\n");
-END_CODE
-}
- unless (exists($$flags{flow})) {
- $body .= "\ngoto NEXT();";
- }
-
- foreach my $variant ( expand_args(@$args) ) {
- my (@fixedargs) = split( /,/, $variant );
- my $op =
- Parrot::Op->new( $code++, $type, $short_name, [@fixedargs], [@$argdirs], [@$labels],
- $flags );
- my $op_size = $op->size;
- my $jumps = "0";
-
- #
- # Macro substitutions:
- #
- # We convert the following notations:
- #
- # .ops file Op body Meaning Comment
- # ----------------- ------- ------------ ----------------------------------
- # goto OFFSET(X) {{+=X}} PC' = PC + X Used for branches
- # goto NEXT() {{+=S}} PC' = PC + S Where S is op size
- # goto ADDRESS(X) {{=X}} PC' = X Used for absolute jumps
- # expr OFFSET(X) {{^+X}} PC + X Relative address
- # expr NEXT() {{^+S}} PC + S Where S is op size
- # expr ADDRESS(X) {{^X}} X Absolute address
- #
- # restart OFFSET(X) {{=0,+=X}} PC' = 0 Restarts at PC + X
- # restart NEXT() {{=0,+=S}} PC' = 0 Restarts at PC + S
- #
- # $X {{@X}} Argument X $0 is opcode, $1 is first arg
- #
- # For ease of parsing, if the argument to one of the above
- # notations in a .ops file contains parentheses, then double the
- # enclosing parentheses and add a space around the argument,
- # like so:
- #
- # goto OFFSET(( (void*)interp->happy_place ))
- #
- # Later transformations turn the Op body notations into C code, based
- # on the mode of operation (function calls, switch statements, gotos
- # with labels, etc.).
- #
- if ($body =~ /(goto|restart)\s+OFFSET\(.*?\)/ || $short_name =~ /runinterp/) {
- $branch = 1;
- }
-
- $body =~ s/\bgoto\s+ADDRESS\(\( (.*?) \)\)/{{=$1}}/mg;
- $body =~ s/\bexpr\s+ADDRESS\(\( (.*?) \)\)/{{^$1}}/mg;
- $body =~ s/\bgoto\s+ADDRESS\((.*?)\)/{{=$1}}/mg;
- $body =~ s/\bexpr\s+ADDRESS\((.*?)\)/{{^$1}}/mg;
-
- $body =~ s/\bgoto\s+OFFSET\(\( (.*?) \)\)/{{+=$1}}/mg;
- $body =~ s/\bexpr\s+OFFSET\(\( (.*?) \)\)/{{^+$1}}/mg;
- $body =~ s/\bgoto\s+OFFSET\((.*?)\)/{{+=$1}}/mg;
- $body =~ s/\bexpr\s+OFFSET\((.*?)\)/{{^+$1}}/mg;
-
- $body =~ s/\bexpr\s+NEXT\(\)/{{^+$op_size}}/mg;
- $body =~ s/\bgoto\s+NEXT\(\)/{{+=$op_size}}/mg;
-
- $body =~ s/\brestart\s+OFFSET\((.*?)\)/{{=0,+=$1}}/mg;
- $body =~ s/\brestart\s+NEXT\(\)/{{=0,+=$op_size}}/mg;
- $body =~ s/\brestart\s+ADDRESS\((.*?)\)/{{=$1}}/mg;
-
- $body =~ s/\$(\d+)/{{\@$1}}/mg;
-
- # We can only reference as many parameters as we declare
- my $max_arg_num = @$args;
- my @found_args = ($body =~ m/{{@(\d+)}}/g);
- foreach my $arg (@found_args) {
- die "opcode '$short_name' uses '\$$arg' but only has $max_arg_num parameters.\n" if $arg > $max_arg_num;
- }
-
-
- my $file_escaped = $file;
- $file_escaped =~ s|(\\)|$1$1|g; # escape backslashes
- $op->body( $nolines ? $body : qq{#line $line "$file_escaped"\n$body} );
-
- # Constants here are defined in include/parrot/op.h
- or_flag( \$jumps, "PARROT_JUMP_RELATIVE" ) if $branch;
-
- $op->jump($jumps);
- $self->push_op($op);
- $counter++;
- }
-
- return $counter;
-}
-
-=item C<expand_args(@args)>
-
-Given an argument list, returns a list of all the possible argument
-combinations.
-
-=cut
-
-sub expand_args {
- my (@args) = @_;
-
- return "" if ( !scalar(@args) );
-
- my $arg = shift(@args);
- my @var = split( /\|/, $arg );
-
- if ( !scalar(@args) ) {
- return @var;
- }
- else {
- my @list = expand_args(@args);
- my @results;
-
- foreach my $l (@list) {
- foreach my $v (@var) {
- push( @results, "$v,$l" );
- }
- }
-
- return @results;
- }
-}
-
-=item C<ops()>
-
-Returns the C<Parrot::Op> instances found in the file(s).
-
-=cut
-
-sub ops {
- my ($self) = @_;
-
- return @{ $self->{OPS} };
-}
-
-=item C<op($index)>
-
-Returns the op at C<$index>.
-
-=cut
-
-sub op {
- my ( $self, $index ) = @_;
-
- return $self->{OPS}[$index];
-}
-
-=item C<preamble()>
-
-=item C<preamble($trans)>
-
-Returns any lines found prior to first op definition.
-
-If C<$trans> (an C<Parrot::OpTrans> subclass) is supplied then
-substitutions are made.
-
-=cut
-
-sub preamble {
- my ( $self, $trans ) = @_;
-
- local $_ = $self->{PREAMBLE};
-
- if ($trans) {
- s/goto\s+OFFSET\((.*)\)/{{+=$1}}/mg;
-
- #s/goto\s+NEXT\(\)/{{+=$op_size}}/mg; #not supported--dependent on op size
- s/goto\s+ADDRESS\((.*)\)/{{=$1}}/mg;
-
- $_ = Parrot::Op->rewrite_body( $_, $trans, 'preamble' );
- }
-
- return $_;
-}
-
-=item C<version($major, $minor, $patch)>
-
-=item C<version($version)>
-
-=item C<version()>
-
-Sets/gets the version number.
-
-=cut
-
-sub version {
- my $self = shift;
-
- if ( @_ == 1 ) {
- $self->{VERSION} = shift;
- }
- elsif ( @_ == 3 ) {
- $self->{VERSION} = join( '.', @_ );
- }
- elsif ( @_ == 0 ) {
- if (wantarray) {
- return split( /\./, $self->{VERSION} );
- }
- else {
- return $self->{VERSION};
- }
- }
- else {
- die "Parrot::OpsFile::version(): Illegal argument count" . scalar(@_) . "!";
- }
-}
-
-=item C<major_version()>
-
-Returns the major version number.
-
-=cut
-
-sub major_version {
- my $self = shift;
-
- $self->{VERSION} =~ m/^(\d+)\./;
-
- return $1;
-}
-
-=item C<minor_version()>
-
-Returns the minor version number.
-
-=cut
-
-sub minor_version {
- my $self = shift;
-
- $self->{VERSION} =~ m/^\d+\.(\d+)\./;
-
- return $1;
-}
-
-=item C<patch_version()>
-
-Returns the patch version number.
-
-=cut
-
-sub patch_version {
- my $self = shift;
-
- $self->{VERSION} =~ m/^\d+\.\d+\.(\d+)/;
-
- return $1;
-}
-
-=item C<push_op($op)>
-
-Adds C<$op> to the end of the op list.
-
-=cut
-
-sub push_op {
- my ( $self, $op ) = @_;
-
- push @{ $self->{OPS} }, $op;
-}
-
-=back
-
-=head1 SEE ALSO
-
-=over 4
-
-=item C<Parrot::Op>
-
-=item C<Parrot::OpTrans>
-
-=item F<tools/build/ops2c.pl>
-
-=item F<tools/build/ops2pm.pl>
-
-=item F<tools/build/pbc2c.pl>
-
-=back
-
-=cut
-
-1;
-
-# Local Variables:
-# mode: cperl
-# cperl-indent-level: 4
-# fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:
Deleted: branches/ucs4_encoding/lib/Parrot/OpsRenumber.pm
==============================================================================
--- branches/ucs4_encoding/lib/Parrot/OpsRenumber.pm Mon May 24 21:18:41 2010 (r46973)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,190 +0,0 @@
-# Copyright (C) 2007, Parrot Foundation.
-# $Id$
-package Parrot::OpsRenumber;
-use strict;
-use warnings;
-use lib qw ( lib );
-use base qw( Parrot::Ops2pm::Base );
-
-=head1 NAME
-
-Parrot::OpsRenumber - Methods holding functionality for F<tools/dev/opsrenumber.pl>.
-
-=head1 SYNOPSIS
-
- use Parrot::OpsRenumber;
-
- $self = Parrot::OpsRenumber->new( {
- argv => [ @ARGV ],
- moddir => "lib/Parrot/OpLib",
- module => "core.pm",
- inc_dir => "include/parrot/oplib",
- inc_f => "ops.h",
- script => "tools/dev/opsrenumber.pl",
- } );
-
- $self->prepare_ops();
- $self->renum_op_map_file();
-
-=cut
-
-=head1 DESCRIPTION
-
-Parrot::OpsRenumber provides methods called by F<tools/dev/opsrenumber.pl>.
-
-=head1 METHODS
-
-=head2 C<new()>
-
-Inherited from Parrot::Ops2pm::Base and documented in
-F<lib/Parrot/Ops2pm/Base.pm>.
-
-=head2 C<prepare_ops()>
-
-Inherited from Parrot::Ops2pm::Base and documented in
-F<lib/Parrot/Ops2pm/Base.pm>.
-
-=head2 C<renum_op_map_file()>
-
-=over 4
-
-=item * Purpose
-
-This method renumbers F<src/ops/ops.num> based on the already
-existing file of that name and additional F<.ops> files.
-
-=item * Arguments
-
-Two scalars. First is Parrot major version number. Second is optional:
-string holding name of an F<.ops> file; defaults to F<src/ops/ops.num>.
-(Implicitly requires that the C<argv> and C<script> elements were provided to
-the constructor.)
-
-=item * Return Value
-
-Returns true value upon success.
-
-=back
-
-=cut
-
-
-my $OPSENUM_PREAMBLE =<<END;
-/* ex: set ro ft=c:
- * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- *
- * This file is generated automatically from 'lib/Parrot/OpsRenumber.pm'.
- *
- * Any changes made here will be lost!
- *
- */
-#ifndef OPSENUM_H_GUARD
-#define OPSENUM_H_GUARD
-enum OPS_ENUM {
-END
-
-my $OPSENUM_POSTAMBLE =<<END;
-};
-#endif /* OPSENUM_H_GUARD */
-/* GENERATED BY lib/Parrot/OpsRenumber.pm */
-/*
- * Local variables:
- * c-file-style: "parrot"
- * End:
- * vim: expandtab shiftwidth=4:
- */
-END
-
-sub renum_op_map_file {
- my $self = shift;
-
- my $file = $self->{num_file};
-
- # We open up the currently existing ops.num and file and read it
- # line-by-line. That file is basically divided into two halves
- # separated by the ###DYNAMIC### line. Above that line are found
- # (a) # inline comments and
- # (b) the first 7, never-to-be-altered opcodes.
- # Below that line are all the remaining opcodes. All opcode lines
- # match the pattern /^(\w+)\s+(\d+)$/. Everything above the line gets
- # pushed into @lines and, if it's an opcode line, gets split and
- # pushed into %fixed as well. Nothing happens to the (opcode) lines
- # below the DYNAMIC line.
-
- my ( $name, $number, @lines, %seen, %fixed, $fix );
- $fix = 1;
- open my $OP, '<', $file
- or die "Can't open $file, error $!";
- while (<$OP>) {
- push @lines, $_ if $fix;
- chomp;
- $fix = 0 if /^###DYNAMIC###/;
- s/#.*$//;
- s/\s*$//;
- s/^\s*//;
- next unless $_;
- ( $name, $number ) = split( /\s+/, $_ );
- $seen{$name} = 1;
- $fixed{$name} = $number if $fix;
- }
- close $OP;
-
- # Now we re-open the very same file we just read -- this time for
- # writing. We directly print all the lines in @lines, i.e., those
- # above the DYNAMIC line. For the purpose of renumbering, we create
- # an index $n.
-
- my $opsenumfn = $self->{opsenum_file};
- open my $OPSENUM, '>', $opsenumfn or die "Can't open $opsenumfn, error $!";
- print $OPSENUM $OPSENUM_PREAMBLE;
- open $OP, '>', $file
- or die "Can't open $file, error $!";
- print $OP @lines;
- my ($n);
-
- # We can't use all autogenerated ops from oplib/core
- # there are unwanted permutations like 'add_i_ic_ic
- # which aren't opcodes but calculated at compile-time.
-
- # The ops element is set by prepare_ops(), which is inherited from
- # Parrot::Ops2pm::Base. prepare_ops(), in turn, works off
- # Parrot::OpsFile.
-
- # So whether a particular opcode will continue to appear in ops.num
- # depends entirely on whether or not it's found in
- # @{ $self->{ops}->{OPS} }. If a particular opcode has been deleted or
- # gone missing from that array, then it won't appear in the new
- # ops.num.
-
- for ( @{ $self->{ops}->{OPS} } ) {
-
- # To account for the number of opcodes above the line, we'll
- # increment the index by one for every element in %fixed.
-
- if ( defined $fixed{ $_->full_name } ) {
- $n = $fixed{ $_->full_name };
- }
-
- # For all other opcodes, we'll print the opcode, increment the
- # index, then print the index on that same line.
-
- elsif ( $seen{ $_->full_name } ) {
- printf $OP "%-31s%4d\n", $_->full_name, ++$n;
- printf $OPSENUM " enum_ops_%-31s= %4d,\n", $_->full_name, $n;
- }
- }
- close $OP;
- print $OPSENUM $OPSENUM_POSTAMBLE;
- close $OPSENUM;
-
- return 1;
-}
-
-1;
-
-# Local Variables:
-# mode: cperl
-# cperl-indent-level: 4
-# fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:
Modified: branches/ucs4_encoding/lib/Parrot/Test/Pod.pm
==============================================================================
--- branches/ucs4_encoding/lib/Parrot/Test/Pod.pm Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/lib/Parrot/Test/Pod.pm Mon May 24 21:18:41 2010 (r46974)
@@ -72,11 +72,23 @@
| t/configure/testlib/cdefectivefoobar
| t/configure/testlib/bdefectivefoobar
| examples/config/file/configwithfatalstep
+ | compilers/opsc
}x
) {
delete $files_needing_analysis->{ $file };
next SECOND_FILE;
}
+
+ # read first line. If it contains "nqp" remove file from test.
+ my $fh;
+ open $fh, '<', $full_file or croak "Can't opend file $full_file $!";
+ my $line = <$fh>;
+ close $fh;
+
+ if ($line =~ m/ nqp | use \s v6 /x) {
+ delete $files_needing_analysis->{ $file };
+ next SECOND_FILE;
+ }
}
}
nstore $files_needing_analysis, $sto;
Modified: branches/ucs4_encoding/runtime/parrot/library/HTTP/Message.pir
==============================================================================
--- branches/ucs4_encoding/runtime/parrot/library/HTTP/Message.pir Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/runtime/parrot/library/HTTP/Message.pir Mon May 24 21:18:41 2010 (r46974)
@@ -171,10 +171,11 @@
.include 'cclass.pasm'
.sub '' :init :load :anon
- load_bytecode 'URI.pir'
+ load_bytecode 'URI.pbc'
$P0 = subclass ['HTTP';'Message'], ['HTTP';'Request']
$P0.'add_attribute'('method')
$P0.'add_attribute'('uri')
+ $P0.'add_attribute'('proxy')
.end
=item method
@@ -195,6 +196,17 @@
.return ($P0)
.end
+.sub 'proxy' :method
+ .param pmc val :optional
+ .param int has_val :opt_flag
+ unless has_val goto L1
+ setattribute self, 'proxy', val
+ .return ()
+ L1:
+ $P0 = getattribute self, 'proxy'
+ .return ($P0)
+.end
+
=item GET
=cut
@@ -467,7 +479,7 @@
L2:
$S0 = $P0
.local pmc encode
- encode = get_hll_global ['MIME';'Base64'], 'encode_base64'
+ encode = get_hll_global ['MIME';'Base64'], 'encode_base64'
$S0 = encode($S0)
$I1 = length $S0
$I0 = 0
Deleted: branches/ucs4_encoding/runtime/parrot/library/LWP.pir
==============================================================================
--- branches/ucs4_encoding/runtime/parrot/library/LWP.pir Mon May 24 21:18:41 2010 (r46973)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,851 +0,0 @@
-# Copyright (C) 2010, Parrot Foundation.
-# $Id$
-
-=head1 NAME
-
-LWP - The World-Wide Web library for Parrot
-
-=head2 DESCRIPTION
-
-Simplified port of LWP (version 5.834)
-see http://search.cpan.org/~gaas/libwww-perl/
-
-=head3 Class LWP;UserAgent
-
-=over 4
-
-=cut
-
-.namespace ['LWP';'UserAgent']
-
-.sub '' :init :load :anon
- load_bytecode 'HTTP/Message.pir'
- $P0 = newclass ['LWP';'UserAgent']
- $P0.'add_attribute'('def_headers')
- $P0.'add_attribute'('show_progress')
- $P0.'add_attribute'('progress_start')
- $P0.'add_attribute'('progress_lastp')
- $P0.'add_attribute'('progress_ani')
- $P0.'add_attribute'('max_redirect')
- .globalconst int RC_OK = 200
- .globalconst int RC_MOVED_PERMANENTLY = 301
- .globalconst int RC_FOUND = 302
- .globalconst int RC_SEE_OTHER = 303
- .globalconst int RC_TEMPORARY_REDIRECT = 307
- .globalconst int RC_BAD_REQUEST = 400
- .globalconst int RC_NOT_FOUND = 404
- .globalconst int RC_INTERNAL_SERVER_ERROR = 500
- .globalconst int RC_NOT_IMPLEMENTED = 501
-.end
-
-.sub 'init' :vtable :method
- $P0 = new ['HTTP';'Headers']
- $P0['User-Agent'] = 'libwww-parrot'
- setattribute self, 'def_headers', $P0
- $P0 = box 7
- setattribute self, 'max_redirect', $P0
-.end
-
-.sub 'send_request' :method
- .param pmc request
- .local string method
- method = request.'method'()
- .local pmc url
- url = request.'uri'()
- .local string scheme
- scheme = url.'scheme'()
- self.'progress'('begin', request)
- .local pmc protocol, response
- $P0 =get_hll_global ['LWP';'Protocol'], 'create'
- protocol = $P0(scheme, self)
- unless null protocol goto L1
- response = _new_response(request, RC_NOT_IMPLEMENTED, 'Not Implemented')
- goto L2
- L1:
- response = protocol.'request'(request)
- setattribute response, 'request', request
- $P0 = get_hll_global ['HTTP';'Date'], 'time2str'
- $I0 = time
- $S0 = $P0($I0)
- response.'push_header'('Client-Date', $S0)
- L2:
- self.'progress'('end', response)
- .return (response)
-.end
-
-.sub 'prepare_request' :method
- .param pmc request
- $P0 = request.'method'()
- unless null $P0 goto L1
- die "Method missing"
- L1:
- $P0 = request.'uri'()
- unless null $P0 goto L2
- die "URL missing"
- L2:
- $S0 = $P0.'scheme'()
- unless $S0 == '' goto L3
- die "URL must be absolute"
- L3:
- $P0 = getattribute self, 'def_headers'
- $P1 = iter $P0
- L4:
- unless $P1 goto L5
- $S0 = shift $P1
- $S1 = $P0[$S0]
- request.'push_header'($S0, $S1)
- goto L4
- L5:
-.end
-
-.sub 'simple_request' :method
- .param pmc request
- unless null request goto L1
- die "No request object passed in"
- L1:
- $I0 = isa request, ['HTTP';'Request']
- if $I0 goto L2
- die "You need a ['HTTP';'Request']"
- L2:
- self.'prepare_request'(request)
- .tailcall self.'send_request'(request)
-.end
-
-.sub 'request' :method
- .param pmc request
- .param pmc previous :optional
- .param int has_previous :opt_flag
-
- .local pmc response
- response = self.'simple_request'(request)
- unless has_previous goto L1
- response.'previous'(previous)
- L1:
-
- .local int redirect
- $P0 = response.'redirect'()
- redirect = elements $P0
- .local int max_redirect
- $P0 = getattribute self, 'max_redirect'
- max_redirect = $P0
- unless redirect >= max_redirect goto L2
- $S0 = 'Redirect loop detected (max_redirect = '
- $S1 = max_redirect
- $S0 .= $S1
- $S0 .= ')'
- response.'push_header'('Client-Warning', $S0)
- .return (response)
- L2:
-
- .local int code
- code = response.'code'()
-
- if code == RC_MOVED_PERMANENTLY goto L3
- if code == RC_FOUND goto L3
- if code == RC_SEE_OTHER goto L3
- if code == RC_TEMPORARY_REDIRECT goto L3
- goto L4
- L3:
- .local pmc referral
- referral = clone request
- # These headers should never be forwarded
- referral.'remove_header'('Host')
- referral.'remove_header'('Cookie')
-
- # work in progress
-
- .local string referral_uri
- referral_uri = response.'get_header'('Location')
- $P0 = get_hll_global ['URI'], 'new_from_string'
- $P1 = $P0(referral_uri)
- $S0 = $P1.'scheme'()
- unless $S0 == '' goto L5
- $P2 = new 'StringBuilder'
- $P3 = request.'uri'()
- $S0 = $P3.'scheme'()
- push $P2, $S0
- push $P2, '://'
- $S0 = request.'get_header'('Host')
- push $P2, $S0
- push $P2, referral_uri
- $P1 = $P0($P2)
- L5:
- setattribute referral, 'uri', $P1
-
- # work in progress
-
- $I0 = self.'redirect_ok'(referral, response)
- if $I0 goto L6
- .return (response)
- L6:
- .tailcall self.'request'(referral, response)
- L4:
-
- # work in progress
-
- .return (response)
-.end
-
-=item get
-
-=cut
-
-.sub 'get' :method
- .param pmc args :slurpy
- .param pmc kv :slurpy :named
- .local pmc request
- $P0 = get_hll_global ['HTTP';'Request'], 'GET'
- request = $P0(args :flat, kv :flat :named)
- .tailcall self.'request'(request)
-.end
-
-=item post
-
-=cut
-
-.sub 'post' :method
- .param pmc args :slurpy
- .param pmc kv :slurpy :named
- .local pmc request
- $P0 = get_hll_global ['HTTP';'Request'], 'POST'
- request = $P0(args :flat, kv :flat :named)
- .tailcall self.'request'(request)
-.end
-
-=item put
-
-=cut
-
-.sub 'put' :method
- .param pmc args :slurpy
- .param pmc kv :slurpy :named
- .local pmc request
- $P0 = get_hll_global ['HTTP';'Request'], 'PUT'
- request = $P0(args :flat, kv :flat :named)
- .tailcall self.'request'(request)
-.end
-
-=item delete
-
-=cut
-
-.sub 'delete' :method
- .param pmc args :slurpy
- .param pmc kv :slurpy :named
- .local pmc request
- $P0 = get_hll_global ['HTTP';'Request'], 'DELETE'
- request = $P0(args :flat, kv :flat :named)
- .tailcall self.'request'(request)
-.end
-
-.sub 'progress' :method
- .param string status
- .param pmc msg
- $P0 = getattribute self, 'show_progress'
- if null $P0 goto L1
- unless $P0 goto L1
- unless status == 'begin' goto L2
- printerr "** "
- $P0 = getattribute msg, 'method'
- printerr $P0
- printerr " "
- $P0 = getattribute msg, 'uri'
- printerr $P0
- printerr " ==> "
- $N1 = time
- $P0 = box $N1
- setattribute self, 'progress_start', $P0
- $P0 = box ''
- setattribute self, 'progress_lastp', $P0
- $P0 = box 0
- setattribute self, 'progress_ani', $P0
- goto L1
- L2:
- unless status == 'end' goto L3
- $P0 = getattribute self, 'progress_start'
- $N1 = $P0
- $N2 = time
- null $P0
- setattribute self, 'progress_start', $P0
- setattribute self, 'progress_lastp', $P0
- setattribute self, 'progress_ani', $P0
- $S0 = msg.'status_line'()
- printerr $S0
- $N0 =$N2 - $N1
- $I0 = $N0
- unless $I0 goto L4
- printerr " ("
- printerr $I0
- printerr "s)"
- L4:
- printerr "\n"
- goto L1
- L3:
- unless status == 'tick' goto L5
- $P0 = getattribute self, 'progress_ani'
- inc $P0
- $P0 %= 4
- $P1 = split '', '-\|/'
- $S0 = $P1[$P0]
- printerr $S0
- printerr "\b"
- goto L1
- L5:
- $N0 = status
- $N0 *= 100
- $P0 = new 'FixedFloatArray'
- set $P0, 1
- $P0[0] = $N0
- $S1 = sprintf '%3.0f%%', $P0
- $P0 = getattribute self, 'progress_lastp'
- $S0 = $P0
- if $S0 == $S1 goto L1
- set $P0, $S1
- printerr $S1
- printerr "\b\b\b\b"
- L1:
-.end
-
-.sub 'redirect_ok' :method
- .param pmc new_request
- .param pmc response
- $P0 = response.'request'()
- $S0 = $P0.'method'()
- if $S0 == 'GET' goto L1
- if $S0 == 'HEAD' goto L1
- .return (0)
- L1:
- # work in progress
- .return (1)
-.end
-
-=item max_redirect
-
-=cut
-
-.sub 'max_redirect' :method
- .param pmc val
- setattribute self, 'max_redirect', val
-.end
-
-=item show_progress
-
-=cut
-
-.sub 'show_progress' :method
- .param pmc val
- setattribute self, 'show_progress', val
-.end
-
-=item agent
-
-=cut
-
-.sub 'agent' :method
- .param string val
- $P0 = getattribute self, 'def_headers'
- $P0['User-Agent'] = val
-.end
-
-=item env_provy
-
-=cut
-
-.sub 'env_proxy' :method
- $P0 = new 'Env'
- $P1 = iter $P0
- L1:
- unless $P1 goto L2
- $S0 = shift $P1
- $S1 = downcase $S0
-
- # work in progress
-
- goto L1
- L2:
-.end
-
-.sub '_new_response'
- .param pmc request
- .param pmc code
- .param pmc message
- .local pmc response
- response = new ['HTTP';'Response']
- setattribute response, 'code', code
- setattribute response, 'message', message
- setattribute response, 'request', request
- $P0 = get_hll_global ['HTTP';'Date'], 'time2str'
- $I0 = time
- $S0 = $P0($I0)
- response.'push_header'('Client-Date', $S0)
- response.'push_header'('Client-Warning', "Internal response")
- response.'push_header'('Content-Type', 'text/plain')
- $S0 = code
- $S0 .= ' '
- $S1 = message
- $S0 .= $S1
- $S0 .= "\n"
- $P0 = box $S0
- setattribute response, 'content', $P0
- .return (response)
-.end
-
-=back
-
-=head3 Class LWP;Protocol
-
-=over 4
-
-=cut
-
-.namespace ['LWP';'Protocol']
-
-.sub '' :init :load :anon
- $P0 = newclass ['LWP';'Protocol']
- $P0.'add_attribute'('scheme')
- $P0.'add_attribute'('ua')
-.end
-
-=item create
-
-=cut
-
-.sub 'create'
- .param string scheme
- .param pmc ua
- $P1 = new 'Key'
- set $P1, 'LWP'
- $P2 = new 'Key'
- set $P2, 'Protocol'
- push $P1, $P2
- $P3 = new 'Key'
- set $P3, scheme
- push $P1, $P3
- $P0 = get_class $P1
- unless null $P0 goto L1
- .return ($P0)
- L1:
- .local pmc protocol
- protocol = new $P0
- $P0 = box scheme
- setattribute protocol, 'scheme', $P0
- setattribute protocol, 'ua', ua
- .return (protocol)
-.end
-
-=item scheme
-
-=cut
-
-.sub 'scheme' :method
- $P0 = getattribute self, 'scheme'
- .return ($P0)
-.end
-
-=item ua
-
-=cut
-
-.sub 'ua' :method
- $P0 = getattribute self, 'ua'
- .return ($P0)
-.end
-
-.sub 'request' :method
- .param pmc args :slurpy
- die 'LWP::Protocol::request() needs to be overridden in subclasses'
-.end
-
-=back
-
-=head3 Class LWP;Protocol;file
-
-=cut
-
-.namespace ['LWP';'Protocol';'file']
-
-.include 'stat.pasm'
-
-.sub '' :init :load :anon
- $P0 = subclass ['LWP';'Protocol'], ['LWP';'Protocol';'file']
-.end
-
-.sub 'request' :method
- .param pmc request
- load_bytecode 'osutils.pbc'
- .local string method
- method = request.'method'()
- $P0 = get_hll_global ['LWP';'Protocol';'file'], method
- unless null $P0 goto L1
- $P0 = new ['HTTP';'Response']
- $P1 = box RC_BAD_REQUEST
- setattribute $P0, 'code', $P1
- $S0 = "Library does not allow method " . method
- $S0 .= " for 'file:' URLs"
- $P1 = box $S0
- setattribute $P0, 'message', $P1
- .return ($P0)
- L1:
- .local pmc url
- url = request.'uri'()
- .local string scheme
- scheme = url.'scheme'()
- if scheme == 'file' goto L2
- $P0 = new ['HTTP';'Response']
- $P1 = box RC_INTERNAL_SERVER_ERROR
- setattribute $P0, 'code', $P1
- $S0 = "LWP::Protocol::file::request called for '" . scheme
- $S0 .= "'"
- $P1 = box $S0
- setattribute $P0, 'message', $P1
- .return ($P0)
- L2:
- .tailcall $P0(self, request)
-.end
-
-.sub 'HEAD' :method :nsentry
- .param pmc request
- .tailcall self.'GET'(request)
-.end
-
-.sub 'GET' :method :nsentry
- .param pmc request
- .local pmc response
- response = new ['HTTP';'Response']
- .local string method
- method = request.'method'()
- .local pmc url
- url = request.'uri'()
- .local string path
- path = url.'path'()
-
- $I0 = stat path, .STAT_EXISTS
- if $I0 goto L1
- $P0 = box RC_NOT_FOUND
- setattribute response, 'code', $P0
- $S0 = "File `" . path
- $S0 .= "' does not exist"
- $P0 = box $S0
- setattribute response, 'message', $P0
- .return (response)
- L1:
-
- .local int mtime
- mtime = stat path, .STAT_MODIFYTIME
- $P0 = get_hll_global ['HTTP';'Date'], 'time2str'
- $S0 = $P0(mtime)
- response.'push_header'('Last-Modified', $S0)
- .local int filesize
- filesize = stat path, .STAT_FILESIZE
- response.'push_header'('Content-Length', filesize)
-
- if method == 'HEAD' goto L2
- push_eh _handler
- $S0 = slurp(path)
- pop_eh
- $P0 = box $S0
- setattribute response, 'content', $P0
- L2:
- $P0 = box RC_OK
- setattribute response, 'code', $P0
- .return (response)
-
- _handler:
- .local pmc ex
- .get_results (ex)
- $P0 = box RC_INTERNAL_SERVER_ERROR
- setattribute response, 'code', $P0
- $S0 = ex
- $P0 = box $S0
- setattribute response, 'message', $P0
- .return (response)
-.end
-
-.sub 'PUT' :method :nsentry
- .param pmc request
- .local pmc response
- response = new ['HTTP';'Response']
- .local pmc url
- url = request.'uri'()
- .local string path
- path = url.'path'()
- .local string content
- content = request.'content'()
-
- push_eh _handler
- $S0 = spew(path, content)
- pop_eh
-
- $P0 = box RC_OK
- setattribute response, 'code', $P0
- .return (response)
-
- _handler:
- .local pmc ex
- .get_results (ex)
- $P0 = box RC_INTERNAL_SERVER_ERROR
- setattribute response, 'code', $P0
- $S0 = ex
- $P0 = box $S0
- setattribute response, 'message', $P0
- .return (response)
-.end
-
-.sub 'DELETE' :method :nsentry
- .param pmc request
- .local pmc response
- response = new ['HTTP';'Response']
- .local pmc url
- url = request.'uri'()
- .local string path
- path = url.'path'()
-
- $I0 = stat path, .STAT_EXISTS
- if $I0 goto L1
- $P0 = box RC_NOT_FOUND
- setattribute response, 'code', $P0
- $S0 = "File `" . path
- $S0 .= "' does not exist"
- $P0 = box $S0
- setattribute response, 'message', $P0
- .return (response)
- L1:
-
- push_eh _handler
- $S0 = unlink(path)
- pop_eh
-
- $P0 = box RC_OK
- setattribute response, 'code', $P0
- .return (response)
-
- _handler:
- .local pmc ex
- .get_results (ex)
- $P0 = box RC_INTERNAL_SERVER_ERROR
- setattribute response, 'code', $P0
- $S0 = ex
- $P0 = box $S0
- setattribute response, 'message', $P0
- .return (response)
-.end
-
-=head3 Class LWP;Protocol;http
-
-=cut
-
-.namespace ['LWP';'Protocol';'http']
-
-.include 'socket.pasm'
-
-.sub '' :init :load :anon
- $P0 = subclass ['LWP';'Protocol'], ['LWP';'Protocol';'http']
-.end
-
-.sub '_new_socket' :method
- .param string host
- .param int port
- .local pmc sock, addr
- sock = new 'Socket'
- sock.'socket'(.PIO_PF_INET, .PIO_SOCK_STREAM, .PIO_PROTO_TCP)
- addr = sock.'sockaddr'(host, port)
- sock.'connect'(addr)
- .return (sock)
-.end
-
-.sub '_fixup_header' :method
- .param pmc headers
- .param pmc url
- .local string host
- host = url.'authority'()
- headers['Host'] = host
-.end
-
-.sub '_format_request'
- .param string method
- .param string uri
- .param pmc headers
- .const string CRLF = "\r\n"
- $P0 = new 'StringBuilder'
- push $P0, method
- push $P0, ' '
- push $P0, uri
- push $P0, ' HTTP/1.1'
- push $P0, CRLF
- $P1 = iter headers
- L1:
- unless $P1 goto L2
- $S0 = shift $P1
- $S1 = headers[$S0]
- push $P0, $S0
- push $P0, ': '
- push $P0, $S1
- push $P0, CRLF
- goto L1
- L2:
- push $P0, CRLF
- .return ($P0)
-.end
-
-.sub '_parse_response_headers' :method
- .param pmc response
- .param string str
- .local string sep
- sep = "\r\n"
- $I0 = index str, "\r"
- unless $I0 < 0 goto L0
- sep = "\n"
- L0:
- $S0 = sep . sep
- $I0 = index str, $S0
- if $I0 < 0 goto L1
- str = substr str, 0, $I0
- L1:
-
- $P0 = split sep, str
- .local string status_line
- status_line = shift $P0
- $I0 = index status_line, " "
- if $I0 < 0 goto L2
- $S0 = substr status_line, 0, $I0
- $P1 = box $S0
- setattribute response, 'protocol', $P1
- $I1 = $I0 + 1
- $I0 = index status_line, " ", $I1
- if $I0 < 0 goto L2
- $I2 = $I0 - $I1
- $S0 = substr status_line, $I1, $I2
- $P1 = box $S0
- setattribute response, 'code', $P1
- inc $I0
- $S0 = substr status_line, $I0
- $P1 = box $S0
- setattribute response, 'message', $P1
-
- $P3 = new ['HTTP';'Headers']
- L3:
- unless $P0 goto L4
- $S0 = shift $P0
- $I0 = index $S0, ": "
- if $I0 < 0 goto L3
- $S1 = substr $S0, 0, $I0
- $I0 += 2
- $S2 = substr $S0, $I0
- $P3[$S1] = $S2
- goto L3
- L4:
- setattribute response, 'headers', $P3
-
- $I0 = length str
- .return ($I0)
- L2:
- .return (0)
-.end
-
-.sub '_parse_response_content' :method
- .param pmc response
- .param string str
- $I0 = index str, "\r\n\r\n"
- if $I0 < 0 goto L1
- $I0 += 4
- $S0 = substr str, $I0
- $P0 = box $S0
- setattribute response, 'content', $P0
- goto L2
- L1:
- $I0 = index str, "\n\n"
- if $I0 < 0 goto L1
- $I0 += 2
- $S0 = substr str, $I0
- $P0 = box $S0
- setattribute response, 'content', $P0
- L2:
-.end
-
-.sub 'request' :method
- .param pmc request
-
- .local string method
- method = request.'method'()
- .local pmc url
- url = request.'uri'()
- .local string host, port, fullpath
- host = url.'host'()
- port = url.'port'()
- fullpath = url.'path_query'()
- $I0 = index fullpath, '/'
- if $I0 == 0 goto L1
- fullpath = '/' . fullpath
- L1:
-
- # connect to remote site
- .local pmc sock
- sock = self.'_new_socket'(host, port)
-
- .local pmc request_headers
- request_headers = request.'headers'()
- self.'_fixup_header'(request_headers, url)
-
- .local pmc ua
- ua = self.'ua'()
- $S0 = _format_request(method, fullpath, request_headers)
- sock.'send'($S0)
-
- .local string content
- content = request.'content'()
- unless content goto L11
- .local int content_length
- content_length = length content
- $I0 = 0
- L12:
- unless $I0 < content_length goto L11
- $S0 = substr content, $I0, 8192
- $I1 = sock.'send'($S0)
- $I0 += $I1
- $N0 = $I0 / content_length
- goto L12
- L11:
-
- .local pmc response
- response = new ['HTTP';'Response']
- .local pmc buf
- buf = new 'StringBuilder'
- .local int header_length
- content_length = 0
- L21:
- ua.'progress'('tick', request)
- $S0 = sock.'recv'()
- if $S0 == '' goto L22
- push buf, $S0
- header_length = self.'_parse_response_headers'(response, buf)
- $I0 = response.'is_success'()
- unless $I0 goto L22
- $S0 = response.'get_header'('Content-Length')
- if $S0 == '' goto L21
- content_length = $S0
- L23:
- $I0 = buf.'get_string_length'()
- $I0 -= header_length
- $N0 = $I0 / content_length
- ua.'progress'($N0, request)
- $S0 = sock.'recv'()
- if $S0 == '' goto L22
- push buf, $S0
- goto L23
- L22:
- sock.'close'()
- self.'_parse_response_content'(response, buf)
- .return (response)
-.end
-
-=head1 AUTHOR
-
-Francois Perrad
-
-=cut
-
-# Local Variables:
-# mode: pir
-# fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4 ft=pir:
Copied: branches/ucs4_encoding/runtime/parrot/library/LWP/Protocol.pir (from r46972, trunk/runtime/parrot/library/LWP/Protocol.pir)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ucs4_encoding/runtime/parrot/library/LWP/Protocol.pir Mon May 24 21:18:41 2010 (r46974, copy of r46972, trunk/runtime/parrot/library/LWP/Protocol.pir)
@@ -0,0 +1,539 @@
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+=head1 NAME
+
+LWP - The World-Wide Web library for Parrot
+
+=head2 DESCRIPTION
+
+Simplified port of LWP (version 5.834)
+see http://search.cpan.org/~gaas/libwww-perl/
+
+=head3 Class LWP;Protocol
+
+=over 4
+
+=cut
+
+.namespace ['LWP';'Protocol']
+
+.sub '' :init :load :anon
+ load_bytecode 'HTTP/Message.pbc'
+ $P0 = newclass ['LWP';'Protocol']
+ $P0.'add_attribute'('scheme')
+ $P0.'add_attribute'('ua')
+.end
+
+=item create
+
+=cut
+
+.sub 'create'
+ .param string scheme
+ .param pmc ua
+ $P1 = new 'Key'
+ set $P1, 'LWP'
+ $P2 = new 'Key'
+ set $P2, 'Protocol'
+ push $P1, $P2
+ $P3 = new 'Key'
+ set $P3, scheme
+ push $P1, $P3
+ $P0 = get_class $P1
+ unless null $P0 goto L1
+ .return ($P0)
+ L1:
+ .local pmc protocol
+ protocol = new $P0
+ $P0 = box scheme
+ setattribute protocol, 'scheme', $P0
+ setattribute protocol, 'ua', ua
+ .return (protocol)
+.end
+
+=item scheme
+
+=cut
+
+.sub 'scheme' :method
+ $P0 = getattribute self, 'scheme'
+ .return ($P0)
+.end
+
+=item ua
+
+=cut
+
+.sub 'ua' :method
+ $P0 = getattribute self, 'ua'
+ .return ($P0)
+.end
+
+.sub 'request' :method
+ .param pmc args :slurpy
+ die 'LWP::Protocol::request() needs to be overridden in subclasses'
+.end
+
+=back
+
+=head3 Class LWP;Protocol;file
+
+=over 4
+
+=cut
+
+.namespace ['LWP';'Protocol';'file']
+
+.include 'stat.pasm'
+
+.sub '' :init :load :anon
+ $P0 = subclass ['LWP';'Protocol'], ['LWP';'Protocol';'file']
+ .globalconst int RC_OK = 200
+ .globalconst int RC_BAD_REQUEST = 400
+ .globalconst int RC_NOT_FOUND = 404
+ .globalconst int RC_INTERNAL_SERVER_ERROR = 500
+.end
+
+=item request
+
+=cut
+
+.sub 'request' :method
+ .param pmc request
+ .param pmc proxy
+ if null proxy goto L1
+ $P0 = new ['HTTP';'Response']
+ $P1 = box RC_BAD_REQUEST
+ setattribute $P0, 'code', $P1
+ $P1 = box 'You can not proxy through the filesystem'
+ setattribute $P0, 'message', $P1
+ .return ($P0)
+ L1:
+ load_bytecode 'osutils.pbc'
+ .local string method
+ method = request.'method'()
+ $P0 = get_hll_global ['LWP';'Protocol';'file'], method
+ unless null $P0 goto L2
+ $P0 = new ['HTTP';'Response']
+ $P1 = box RC_BAD_REQUEST
+ setattribute $P0, 'code', $P1
+ $S0 = "Library does not allow method " . method
+ $S0 .= " for 'file:' URLs"
+ $P1 = box $S0
+ setattribute $P0, 'message', $P1
+ .return ($P0)
+ L2:
+ .local pmc url
+ url = request.'uri'()
+ .local string scheme
+ scheme = url.'scheme'()
+ if scheme == 'file' goto L3
+ $P0 = new ['HTTP';'Response']
+ $P1 = box RC_INTERNAL_SERVER_ERROR
+ setattribute $P0, 'code', $P1
+ $S0 = "LWP::Protocol::file::request called for '" . scheme
+ $S0 .= "'"
+ $P1 = box $S0
+ setattribute $P0, 'message', $P1
+ .return ($P0)
+ L3:
+ .tailcall $P0(self, request)
+.end
+
+.sub 'HEAD' :method :nsentry
+ .param pmc request
+ .tailcall self.'GET'(request)
+.end
+
+.sub 'GET' :method :nsentry
+ .param pmc request
+ .local pmc response
+ response = new ['HTTP';'Response']
+ .local string method
+ method = request.'method'()
+ .local pmc url
+ url = request.'uri'()
+ .local string path
+ path = url.'path'()
+
+ $I0 = stat path, .STAT_EXISTS
+ if $I0 goto L1
+ $P0 = box RC_NOT_FOUND
+ setattribute response, 'code', $P0
+ $S0 = "File `" . path
+ $S0 .= "' does not exist"
+ $P0 = box $S0
+ setattribute response, 'message', $P0
+ .return (response)
+ L1:
+
+ .local int mtime
+ mtime = stat path, .STAT_MODIFYTIME
+ $P0 = get_hll_global ['HTTP';'Date'], 'time2str'
+ $S0 = $P0(mtime)
+ response.'push_header'('Last-Modified', $S0)
+ .local int filesize
+ filesize = stat path, .STAT_FILESIZE
+ response.'push_header'('Content-Length', filesize)
+
+ if method == 'HEAD' goto L2
+ push_eh _handler
+ $S0 = slurp(path)
+ pop_eh
+ $P0 = box $S0
+ setattribute response, 'content', $P0
+ L2:
+ $P0 = box RC_OK
+ setattribute response, 'code', $P0
+ .return (response)
+
+ _handler:
+ .local pmc ex
+ .get_results (ex)
+ $P0 = box RC_INTERNAL_SERVER_ERROR
+ setattribute response, 'code', $P0
+ $S0 = ex
+ $P0 = box $S0
+ setattribute response, 'message', $P0
+ .return (response)
+.end
+
+.sub 'PUT' :method :nsentry
+ .param pmc request
+ .local pmc response
+ response = new ['HTTP';'Response']
+ .local pmc url
+ url = request.'uri'()
+ .local string path
+ path = url.'path'()
+ .local string content
+ content = request.'content'()
+
+ push_eh _handler
+ $S0 = spew(path, content)
+ pop_eh
+
+ $P0 = box RC_OK
+ setattribute response, 'code', $P0
+ .return (response)
+
+ _handler:
+ .local pmc ex
+ .get_results (ex)
+ $P0 = box RC_INTERNAL_SERVER_ERROR
+ setattribute response, 'code', $P0
+ $S0 = ex
+ $P0 = box $S0
+ setattribute response, 'message', $P0
+ .return (response)
+.end
+
+.sub 'DELETE' :method :nsentry
+ .param pmc request
+ .local pmc response
+ response = new ['HTTP';'Response']
+ .local pmc url
+ url = request.'uri'()
+ .local string path
+ path = url.'path'()
+
+ $I0 = stat path, .STAT_EXISTS
+ if $I0 goto L1
+ $P0 = box RC_NOT_FOUND
+ setattribute response, 'code', $P0
+ $S0 = "File `" . path
+ $S0 .= "' does not exist"
+ $P0 = box $S0
+ setattribute response, 'message', $P0
+ .return (response)
+ L1:
+
+ push_eh _handler
+ $S0 = unlink(path)
+ pop_eh
+
+ $P0 = box RC_OK
+ setattribute response, 'code', $P0
+ .return (response)
+
+ _handler:
+ .local pmc ex
+ .get_results (ex)
+ $P0 = box RC_INTERNAL_SERVER_ERROR
+ setattribute response, 'code', $P0
+ $S0 = ex
+ $P0 = box $S0
+ setattribute response, 'message', $P0
+ .return (response)
+.end
+
+=back
+
+=head3 Class LWP;Protocol;http
+
+=over 4
+
+=cut
+
+.namespace ['LWP';'Protocol';'http']
+
+.include 'socket.pasm'
+
+.sub '' :init :load :anon
+ $P0 = subclass ['LWP';'Protocol'], ['LWP';'Protocol';'http']
+.end
+
+.sub '_new_socket' :method
+ .param string host
+ .param int port
+ .local pmc sock, addr
+ sock = new 'Socket'
+ sock.'socket'(.PIO_PF_INET, .PIO_SOCK_STREAM, .PIO_PROTO_TCP)
+ addr = sock.'sockaddr'(host, port)
+ sock.'connect'(addr)
+ .return (sock)
+.end
+
+.sub '_fixup_header' :method
+ .param pmc headers
+ .param pmc url
+ .param pmc proxy
+ # Extract 'Host' header
+ .local string host
+ host = url.'authority'()
+ $I0 = index host, '@'
+ if $I0 < 0 goto L1
+ .local string userinfo
+ userinfo = substr host, 0, $I0
+ inc $I0
+ host = substr host, $I1
+ $S0 = headers['Authorization']
+ unless $S0 == '' goto L1
+ load_bytecode 'MIME/Base64.pbc'
+ $P0 = get_hll_global ['MIME';'Base64'], 'encode_base64'
+ $S0 = $P0(userinfo)
+ $S0 = 'Basic ' . $S0
+ headers['Authorization'] = $S0
+ L1:
+ headers['Host'] = host
+ if null proxy goto L2
+ userinfo = proxy.'userinfo'()
+ if userinfo == '' goto L2
+ load_bytecode 'MIME/Base64.pbc'
+ $P0 = get_hll_global ['MIME';'Base64'], 'encode_base64'
+ $S0 = $P0(userinfo)
+ $S0 = 'Basic ' . $S0
+ headers['Proxy-Authorization'] = $S0
+ L2:
+.end
+
+.sub '_format_request'
+ .param string method
+ .param string uri
+ .param pmc headers
+ .const string CRLF = "\r\n"
+ $P0 = new 'StringBuilder'
+ push $P0, method
+ push $P0, ' '
+ push $P0, uri
+ push $P0, ' HTTP/1.1'
+ push $P0, CRLF
+ $P1 = iter headers
+ L1:
+ unless $P1 goto L2
+ $S0 = shift $P1
+ $S1 = headers[$S0]
+ push $P0, $S0
+ push $P0, ': '
+ push $P0, $S1
+ push $P0, CRLF
+ goto L1
+ L2:
+ push $P0, CRLF
+ .return ($P0)
+.end
+
+.sub '_parse_response_headers' :method
+ .param pmc response
+ .param string str
+ .local string sep
+ sep = "\r\n"
+ $I0 = index str, "\r"
+ unless $I0 < 0 goto L0
+ sep = "\n"
+ L0:
+ $S0 = sep . sep
+ $I0 = index str, $S0
+ if $I0 < 0 goto L1
+ str = substr str, 0, $I0
+ L1:
+
+ $P0 = split sep, str
+ .local string status_line
+ status_line = shift $P0
+ $I0 = index status_line, " "
+ if $I0 < 0 goto L2
+ $S0 = substr status_line, 0, $I0
+ $P1 = box $S0
+ setattribute response, 'protocol', $P1
+ $I1 = $I0 + 1
+ $I0 = index status_line, " ", $I1
+ if $I0 < 0 goto L2
+ $I2 = $I0 - $I1
+ $S0 = substr status_line, $I1, $I2
+ $P1 = box $S0
+ setattribute response, 'code', $P1
+ inc $I0
+ $S0 = substr status_line, $I0
+ $P1 = box $S0
+ setattribute response, 'message', $P1
+
+ $P3 = new ['HTTP';'Headers']
+ L3:
+ unless $P0 goto L4
+ $S0 = shift $P0
+ $I0 = index $S0, ": "
+ if $I0 < 0 goto L3
+ $S1 = substr $S0, 0, $I0
+ $I0 += 2
+ $S2 = substr $S0, $I0
+ $P3[$S1] = $S2
+ goto L3
+ L4:
+ setattribute response, 'headers', $P3
+
+ $I0 = length str
+ .return ($I0)
+ L2:
+ .return (0)
+.end
+
+.sub '_parse_response_content' :method
+ .param pmc response
+ .param string str
+ $I0 = index str, "\r\n\r\n"
+ if $I0 < 0 goto L1
+ $I0 += 4
+ $S0 = substr str, $I0
+ $P0 = box $S0
+ setattribute response, 'content', $P0
+ goto L2
+ L1:
+ $I0 = index str, "\n\n"
+ if $I0 < 0 goto L1
+ $I0 += 2
+ $S0 = substr str, $I0
+ $P0 = box $S0
+ setattribute response, 'content', $P0
+ L2:
+.end
+
+=item request
+
+=cut
+
+.sub 'request' :method
+ .param pmc request
+ .param pmc proxy
+
+ .local string method
+ method = request.'method'()
+ .local pmc url
+ url = request.'uri'()
+ .local string host, port, fullpath
+ if null proxy goto L1
+ # proxy is an URL to an HTTP server which will proxy this request
+ host = proxy.'host'()
+ port = proxy.'port'()
+ unless method == 'CONNECT' goto L3
+ fullpath = url.'host'()
+ fullpath .= ':'
+ $S0 = url.'port'()
+ fullpath .= $S0
+ goto L2
+ L3:
+ fullpath = url
+ goto L2
+ L1:
+ host = url.'host'()
+ port = url.'port'()
+ fullpath = url.'path_query'()
+ $I0 = index fullpath, '/'
+ if $I0 == 0 goto L2
+ fullpath = '/' . fullpath
+ L2:
+
+ # connect to remote site
+ .local pmc sock
+ sock = self.'_new_socket'(host, port)
+
+ .local pmc request_headers
+ request_headers = request.'headers'()
+ self.'_fixup_header'(request_headers, url, proxy)
+
+ .local pmc ua
+ ua = self.'ua'()
+ $S0 = _format_request(method, fullpath, request_headers)
+ sock.'send'($S0)
+
+ .local string content
+ content = request.'content'()
+ unless content goto L11
+ .local int content_length
+ content_length = length content
+ $I0 = 0
+ L12:
+ unless $I0 < content_length goto L11
+ $S0 = substr content, $I0, 8192
+ $I1 = sock.'send'($S0)
+ $I0 += $I1
+ $N0 = $I0 / content_length
+ goto L12
+ L11:
+
+ .local pmc response
+ response = new ['HTTP';'Response']
+ .local pmc buf
+ buf = new 'StringBuilder'
+ .local int header_length
+ content_length = 0
+ L21:
+ ua.'progress'('tick', request)
+ $S0 = sock.'recv'()
+ if $S0 == '' goto L22
+ push buf, $S0
+ header_length = self.'_parse_response_headers'(response, buf)
+ $I0 = response.'is_success'()
+ unless $I0 goto L22
+ $S0 = response.'get_header'('Content-Length')
+ if $S0 == '' goto L21
+ content_length = $S0
+ L23:
+ $I0 = buf.'get_string_length'()
+ $I0 -= header_length
+ $N0 = $I0 / content_length
+ ua.'progress'($N0, request)
+ $S0 = sock.'recv'()
+ if $S0 == '' goto L22
+ push buf, $S0
+ goto L23
+ L22:
+ sock.'close'()
+ self.'_parse_response_content'(response, buf)
+ .return (response)
+.end
+
+=back
+
+=head1 AUTHOR
+
+Francois Perrad
+
+=cut
+
+# Local Variables:
+# mode: pir
+# fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4 ft=pir:
Copied: branches/ucs4_encoding/runtime/parrot/library/LWP/UserAgent.pir (from r46972, trunk/runtime/parrot/library/LWP/UserAgent.pir)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ucs4_encoding/runtime/parrot/library/LWP/UserAgent.pir Mon May 24 21:18:41 2010 (r46974, copy of r46972, trunk/runtime/parrot/library/LWP/UserAgent.pir)
@@ -0,0 +1,553 @@
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+=head1 NAME
+
+LWP - The World-Wide Web library for Parrot
+
+=head2 DESCRIPTION
+
+Simplified port of LWP (version 5.834)
+see http://search.cpan.org/~gaas/libwww-perl/
+
+=head3 Class LWP;UserAgent
+
+=over 4
+
+=cut
+
+.namespace ['LWP';'UserAgent']
+
+.sub '' :init :load :anon
+ load_bytecode 'URI.pbc'
+ load_bytecode 'HTTP/Message.pbc'
+ load_bytecode 'LWP/Protocol.pbc'
+ $P0 = newclass ['LWP';'UserAgent']
+ $P0.'add_attribute'('def_headers')
+ $P0.'add_attribute'('show_progress')
+ $P0.'add_attribute'('progress_start')
+ $P0.'add_attribute'('progress_lastp')
+ $P0.'add_attribute'('progress_ani')
+ $P0.'add_attribute'('max_redirect')
+ $P0.'add_attribute'('proxy')
+ $P0.'add_attribute'('no_proxy')
+ .globalconst int RC_MOVED_PERMANENTLY = 301
+ .globalconst int RC_FOUND = 302
+ .globalconst int RC_SEE_OTHER = 303
+ .globalconst int RC_TEMPORARY_REDIRECT = 307
+ .globalconst int RC_UNAUTHORIZED = 401
+ .globalconst int RC_PROXY_AUTHENTICATION_REQUIRED = 407
+ .globalconst int RC_NOT_IMPLEMENTED = 501
+.end
+
+.sub 'init' :vtable :method
+ $P0 = new ['HTTP';'Headers']
+ $P0['User-Agent'] = 'libwww-parrot'
+ setattribute self, 'def_headers', $P0
+ $P0 = box 7
+ setattribute self, 'max_redirect', $P0
+ $P0 = new 'Hash'
+ setattribute self, 'proxy', $P0
+ $P0 = new 'ResizableStringArray'
+ setattribute self, 'no_proxy', $P0
+.end
+
+.sub 'send_request' :method
+ .param pmc request
+ .local string method
+ method = request.'method'()
+ .local pmc url
+ url = request.'uri'()
+ .local string scheme
+ scheme = url.'scheme'()
+ self.'progress'('begin', request)
+ .local pmc proxy
+ proxy = request.'proxy'()
+ if null proxy goto L1
+ scheme = proxy.'scheme'()
+ L1:
+ .local pmc protocol, response
+ $P0 =get_hll_global ['LWP';'Protocol'], 'create'
+ protocol = $P0(scheme, self)
+ unless null protocol goto L2
+ response = _new_response(request, RC_NOT_IMPLEMENTED, 'Not Implemented')
+ goto L3
+ L2:
+ response = protocol.'request'(request, proxy)
+ setattribute response, 'request', request
+ $P0 = get_hll_global ['HTTP';'Date'], 'time2str'
+ $I0 = time
+ $S0 = $P0($I0)
+ response.'push_header'('Client-Date', $S0)
+ L3:
+ self.'progress'('end', response)
+ .return (response)
+.end
+
+.sub 'prepare_request' :method
+ .param pmc request
+ $P0 = request.'method'()
+ unless null $P0 goto L1
+ die "Method missing"
+ L1:
+ $P0 = request.'uri'()
+ unless null $P0 goto L2
+ die "URL missing"
+ L2:
+ $S0 = $P0.'scheme'()
+ unless $S0 == '' goto L3
+ die "URL must be absolute"
+ L3:
+ self.'_need_proxy'(request)
+ $P0 = getattribute self, 'def_headers'
+ $P1 = iter $P0
+ L4:
+ unless $P1 goto L5
+ $S0 = shift $P1
+ $S1 = $P0[$S0]
+ request.'push_header'($S0, $S1)
+ goto L4
+ L5:
+.end
+
+.sub 'simple_request' :method
+ .param pmc request
+ unless null request goto L1
+ die "No request object passed in"
+ L1:
+ $I0 = isa request, ['HTTP';'Request']
+ if $I0 goto L2
+ die "You need a ['HTTP';'Request']"
+ L2:
+ self.'prepare_request'(request)
+ .tailcall self.'send_request'(request)
+.end
+
+.sub 'request' :method
+ .param pmc request
+ .param pmc previous :optional
+ .param int has_previous :opt_flag
+
+ .local pmc response
+ response = self.'simple_request'(request)
+ unless has_previous goto L1
+ response.'previous'(previous)
+ L1:
+
+ .local int redirect
+ $P0 = response.'redirect'()
+ redirect = elements $P0
+ .local int max_redirect
+ $P0 = getattribute self, 'max_redirect'
+ max_redirect = $P0
+ unless redirect >= max_redirect goto L2
+ $S0 = 'Redirect loop detected (max_redirect = '
+ $S1 = max_redirect
+ $S0 .= $S1
+ $S0 .= ')'
+ response.'push_header'('Client-Warning', $S0)
+ .return (response)
+ L2:
+
+ .local int code
+ code = response.'code'()
+
+ if code == RC_MOVED_PERMANENTLY goto L3
+ if code == RC_FOUND goto L3
+ if code == RC_SEE_OTHER goto L3
+ if code == RC_TEMPORARY_REDIRECT goto L3
+ goto L4
+ L3:
+ .local pmc referral
+ referral = clone request
+ # These headers should never be forwarded
+ referral.'remove_header'('Host')
+ referral.'remove_header'('Cookie')
+
+ # work in progress
+
+ .local string referral_uri
+ referral_uri = response.'get_header'('Location')
+ $P0 = get_hll_global ['URI'], 'new_from_string'
+ $P1 = $P0(referral_uri)
+ $S0 = $P1.'scheme'()
+ unless $S0 == '' goto L5
+ $P2 = new 'StringBuilder'
+ $P3 = request.'uri'()
+ $S0 = $P3.'scheme'()
+ push $P2, $S0
+ push $P2, '://'
+ $S0 = request.'get_header'('Host')
+ push $P2, $S0
+ push $P2, referral_uri
+ $P1 = $P0($P2)
+ L5:
+ setattribute referral, 'uri', $P1
+
+ # work in progress
+
+ $I0 = self.'redirect_ok'(referral, response)
+ if $I0 goto L6
+ .return (response)
+ L6:
+ .tailcall self.'request'(referral, response)
+
+ L4:
+ .local int proxy
+ proxy = 0
+ .local string ch_header
+ ch_header = 'WWW-Authenticate'
+ if code == RC_UNAUTHORIZED goto L11
+ proxy = 1
+ ch_header = 'Proxy-Authenticate'
+ if code == RC_PROXY_AUTHENTICATION_REQUIRED goto L11
+ goto L12
+ L11:
+ .local string challenge
+ challenge = response.'get_header'(ch_header)
+ unless challenge == '' goto L13
+ response.'push_header'('Client-Warning', 'Missing Authenticate header')
+ .return (response)
+ L13:
+
+ # work in progress
+ print "# "
+ say challenge
+
+ L12:
+ .return (response)
+.end
+
+=item get
+
+=cut
+
+.sub 'get' :method
+ .param pmc args :slurpy
+ .param pmc kv :slurpy :named
+ .local pmc request
+ $P0 = get_hll_global ['HTTP';'Request'], 'GET'
+ request = $P0(args :flat, kv :flat :named)
+ .tailcall self.'request'(request)
+.end
+
+=item head
+
+=cut
+
+.sub 'head' :method
+ .param pmc args :slurpy
+ .param pmc kv :slurpy :named
+ .local pmc request
+ $P0 = get_hll_global ['HTTP';'Request'], 'HEAD'
+ request = $P0(args :flat, kv :flat :named)
+ .tailcall self.'request'(request)
+.end
+
+=item post
+
+=cut
+
+.sub 'post' :method
+ .param pmc args :slurpy
+ .param pmc kv :slurpy :named
+ .local pmc request
+ $P0 = get_hll_global ['HTTP';'Request'], 'POST'
+ request = $P0(args :flat, kv :flat :named)
+ .tailcall self.'request'(request)
+.end
+
+=item put
+
+=cut
+
+.sub 'put' :method
+ .param pmc args :slurpy
+ .param pmc kv :slurpy :named
+ .local pmc request
+ $P0 = get_hll_global ['HTTP';'Request'], 'PUT'
+ request = $P0(args :flat, kv :flat :named)
+ .tailcall self.'request'(request)
+.end
+
+=item delete
+
+=cut
+
+.sub 'delete' :method
+ .param pmc args :slurpy
+ .param pmc kv :slurpy :named
+ .local pmc request
+ $P0 = get_hll_global ['HTTP';'Request'], 'DELETE'
+ request = $P0(args :flat, kv :flat :named)
+ .tailcall self.'request'(request)
+.end
+
+.sub 'progress' :method
+ .param string status
+ .param pmc msg
+ $P0 = getattribute self, 'show_progress'
+ if null $P0 goto L1
+ unless $P0 goto L1
+ unless status == 'begin' goto L2
+ printerr "** "
+ $P0 = getattribute msg, 'method'
+ printerr $P0
+ printerr " "
+ $P0 = getattribute msg, 'uri'
+ printerr $P0
+ printerr " ==> "
+ $N1 = time
+ $P0 = box $N1
+ setattribute self, 'progress_start', $P0
+ $P0 = box ''
+ setattribute self, 'progress_lastp', $P0
+ $P0 = box 0
+ setattribute self, 'progress_ani', $P0
+ goto L1
+ L2:
+ unless status == 'end' goto L3
+ $P0 = getattribute self, 'progress_start'
+ $N1 = $P0
+ $N2 = time
+ null $P0
+ setattribute self, 'progress_start', $P0
+ setattribute self, 'progress_lastp', $P0
+ setattribute self, 'progress_ani', $P0
+ $S0 = msg.'status_line'()
+ printerr $S0
+ $N0 =$N2 - $N1
+ $I0 = $N0
+ unless $I0 goto L4
+ printerr " ("
+ printerr $I0
+ printerr "s)"
+ L4:
+ printerr "\n"
+ goto L1
+ L3:
+ unless status == 'tick' goto L5
+ $P0 = getattribute self, 'progress_ani'
+ inc $P0
+ $P0 %= 4
+ $P1 = split '', '-\|/'
+ $S0 = $P1[$P0]
+ printerr $S0
+ printerr "\b"
+ goto L1
+ L5:
+ $N0 = status
+ $N0 *= 100
+ $P0 = new 'FixedFloatArray'
+ set $P0, 1
+ $P0[0] = $N0
+ $S1 = sprintf '%3.0f%%', $P0
+ $P0 = getattribute self, 'progress_lastp'
+ $S0 = $P0
+ if $S0 == $S1 goto L1
+ set $P0, $S1
+ printerr $S1
+ printerr "\b\b\b\b"
+ L1:
+.end
+
+.sub 'redirect_ok' :method
+ .param pmc new_request
+ .param pmc response
+ $P0 = response.'request'()
+ $S0 = $P0.'method'()
+ if $S0 == 'GET' goto L1
+ if $S0 == 'HEAD' goto L1
+ .return (0)
+ L1:
+ # work in progress
+ .return (1)
+.end
+
+=item max_redirect
+
+=cut
+
+.sub 'max_redirect' :method
+ .param pmc val
+ setattribute self, 'max_redirect', val
+.end
+
+=item show_progress
+
+=cut
+
+.sub 'show_progress' :method
+ .param pmc val
+ setattribute self, 'show_progress', val
+.end
+
+=item agent
+
+=cut
+
+.sub 'agent' :method
+ .param string val
+ $P0 = getattribute self, 'def_headers'
+ $P0['User-Agent'] = val
+.end
+
+.sub '_need_proxy' :method
+ .param pmc req
+ $P0 = req.'proxy'()
+ unless null $P0 goto L1
+ .local pmc uri
+ uri = req.'uri'()
+ .local string scheme
+ scheme = uri.'scheme'()
+ $P0 = getattribute self, 'proxy'
+ .local string proxy
+ proxy = $P0[scheme]
+ unless proxy goto L1
+ .local string host
+ host = uri.'host'()
+ $P0 = getattribute self, 'no_proxy'
+ $P1 = iter $P0
+ L2:
+ unless $P1 goto L3
+ $S0 = shift $P1
+ $I0 = index host, $S0
+ if $I0 < 0 goto L2
+ goto L1
+ L3:
+ $P0 = get_hll_global ['URI'], 'new_from_string'
+ $P0 = $P0(proxy)
+ req.'proxy'($P0)
+ L1:
+.end
+
+=item env_provy
+
+=cut
+
+.sub 'env_proxy' :method
+ $P0 = new 'Env'
+ $P1 = iter $P0
+ L1:
+ unless $P1 goto L2
+ $S0 = shift $P1
+ $S1 = downcase $S0
+ $I0 = index $S1, '_proxy'
+ if $I0 < 0 goto L1
+ $S2 = $P0[$S0]
+ unless $S1 == 'no_proxy' goto L3
+ $P2 = split ',', $S2
+ $P3 = iter $P2
+ L4:
+ unless $P3 goto L1
+ $S0 = shift $P3
+ $S0 = trim($S0)
+ self.'no_proxy'($S0)
+ goto L4
+ L3:
+ $S3 = substr $S1, 0, $I0
+ # Ignore xxx_proxy variables if xxx isn't a supported protocol
+ $P11 = new 'Key'
+ set $P11, 'LWP'
+ $P12 = new 'Key'
+ set $P12, 'Protocol'
+ push $P11, $P12
+ $P13 = new 'Key'
+ set $P13, $S3
+ push $P11, $P13
+ $P10 = get_class $P11
+ if null $P10 goto L1
+ self.'proxy'($S3, $S2)
+ goto L1
+ L2:
+.end
+
+.include 'cclass.pasm'
+
+.sub 'trim' :anon
+ .param string str
+ $I0 = length str
+ $I0 = find_not_cclass .CCLASS_WHITESPACE, str, 0, $I0
+ str = substr str, $I0
+ $I0 = length str
+ L1:
+ dec $I0
+ unless $I0 > 0 goto L2
+ $I1 = is_cclass .CCLASS_WHITESPACE, str, $I0
+ if $I1 != 0 goto L1
+ L2:
+ inc $I0
+ str = substr str, 0, $I0
+ .return (str)
+.end
+
+=item proxy
+
+=cut
+
+.sub 'proxy' :method
+ .param string scheme
+ .param string url
+ $P0 = getattribute self, 'proxy'
+ $P0[scheme] = url
+.end
+
+=item no_proxy
+
+=cut
+
+.sub 'no_proxy' :method
+ .param pmc args :slurpy
+ $I0 = elements args
+ if $I0 goto L1
+ $P0 = new 'ResizableStringArray'
+ setattribute self, 'no_proxy', $P0
+ goto L2
+ L1:
+ $P0 = getattribute self, 'no_proxy'
+ L3:
+ unless args goto L2
+ $S0 = shift args
+ push $P0, $S0
+ goto L3
+ L2:
+.end
+
+.sub '_new_response'
+ .param pmc request
+ .param pmc code
+ .param pmc message
+ .local pmc response
+ response = new ['HTTP';'Response']
+ setattribute response, 'code', code
+ setattribute response, 'message', message
+ setattribute response, 'request', request
+ $P0 = get_hll_global ['HTTP';'Date'], 'time2str'
+ $I0 = time
+ $S0 = $P0($I0)
+ response.'push_header'('Client-Date', $S0)
+ response.'push_header'('Client-Warning', "Internal response")
+ response.'push_header'('Content-Type', 'text/plain')
+ $S0 = code
+ $S0 .= ' '
+ $S1 = message
+ $S0 .= $S1
+ $S0 .= "\n"
+ $P0 = box $S0
+ setattribute response, 'content', $P0
+ .return (response)
+.end
+
+=back
+
+=head1 AUTHOR
+
+Francois Perrad
+
+=cut
+
+# Local Variables:
+# mode: pir
+# fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4 ft=pir:
Modified: branches/ucs4_encoding/runtime/parrot/library/URI.pir
==============================================================================
--- branches/ucs4_encoding/runtime/parrot/library/URI.pir Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/runtime/parrot/library/URI.pir Mon May 24 21:18:41 2010 (r46974)
@@ -280,16 +280,45 @@
$P0 = subclass ['URI';'_generic'], ['URI';'_server']
.end
+=item userinfo
+
+=cut
+
+.sub 'userinfo' :method
+ $S0 = self.'authority'()
+ $I0 = index $S0, '@'
+ if $I0 < 0 goto L1
+ $S0 = substr $S0, 0, $I0
+ .return ($S0)
+ L1:
+ .return ('')
+.end
+
=item host
=cut
.sub 'host' :method
$S0 = self.'authority'()
- $I0 = index $S0, ':'
+ $I0 = index $S0, '@'
if $I0 < 0 goto L1
- $S0 = substr $S0, 0, $I0
+ inc $I0
+ $S0 = substr $S0, $I0
L1:
+ .local int pos, lastpos
+ lastpos = length $S0
+ pos = 0
+ L2:
+ pos = index $S0, ':', pos
+ if pos < 0 goto L3
+ $I1 = pos
+ inc pos
+ $I0 = is_cclass .CCLASS_NUMERIC, $S0, pos
+ unless $I0 goto L2
+ $I0 = find_not_cclass .CCLASS_NUMERIC, $S0, pos, lastpos
+ unless $I0 == lastpos goto L2
+ $S0 = substr $S0, 0, $I1
+ L3:
.return ($S0)
.end
@@ -301,8 +330,10 @@
$S0 = self.'authority'()
.local int pos, lastpos
lastpos = length $S0
- pos = index $S0, ':'
- if pos < 0 goto L1
+ pos = 0
+ L1:
+ pos = index $S0, ':', pos
+ if pos < 0 goto L2
inc pos
$I0 = is_cclass .CCLASS_NUMERIC, $S0, pos
unless $I0 goto L1
@@ -310,7 +341,7 @@
unless $I0 == lastpos goto L1
$S1 = substr $S0, pos
.return ($S1)
- L1:
+ L2:
.tailcall self.'default_port'()
.end
Modified: branches/ucs4_encoding/runtime/parrot/library/distutils.pir
==============================================================================
--- branches/ucs4_encoding/runtime/parrot/library/distutils.pir Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/runtime/parrot/library/distutils.pir Mon May 24 21:18:41 2010 (r46974)
@@ -1057,8 +1057,6 @@
.param string cflags
.param string ldflags
mkpath('dynext', 1 :named('verbose'))
- .local pmc cores
- cores = get_cores()
.local string load_ext
load_ext = get_load_ext()
$P0 = iter hash
@@ -1067,18 +1065,10 @@
.local string ops, src
ops = shift $P0
src = hash[ops]
- $P1 = iter cores
- L3:
- unless $P1 goto L4
- .local string core, suffix
- core = shift $P1
- suffix = cores[core]
- $S0 = _mk_path_dynops(ops, suffix, load_ext)
+ $S0 = _mk_path_dynops(ops, load_ext)
$I0 = newer($S0, src)
- if $I0 goto L3
- __build_dynops(src, ops, core, suffix, cflags, ldflags)
- goto L3
- L4:
+ if $I0 goto L1
+ __build_dynops(src, ops, cflags, ldflags)
goto L1
L2:
.end
@@ -1086,31 +1076,24 @@
.sub '__build_dynops' :anon
.param string src
.param string ops
- .param string core
- .param string suffix
.param string cflags
.param string ldflags
.local pmc config
config = get_config()
.local string cmd
- cmd = config['perl']
- cmd .= " "
- $S0 = get_tool('build/ops2c.pl')
- cmd .= $S0
- cmd .= " "
- cmd .= core
+ cmd = get_executable('ops2c')
cmd .= " --dynamic "
cmd .= src
system(cmd, 1 :named('verbose'))
$S0 = config['o']
- $S1 = _mk_path_gen_dynops(src, ops, suffix, $S0)
- $S2 = _mk_path_gen_dynops(src, ops, suffix, '.c')
+ $S1 = _mk_path_gen_dynops(src, ops, $S0)
+ $S2 = _mk_path_gen_dynops(src, ops, '.c')
__compile_cc($S1, $S2, cflags)
.local string dynext
$S0 = config['load_ext']
- dynext = _mk_path_dynops(ops, suffix, $S0)
+ dynext = _mk_path_dynops(ops, $S0)
cmd = config['ld']
cmd .= " "
$S0 = config['ld_out']
@@ -1118,7 +1101,7 @@
cmd .= dynext
cmd .= " "
$S0 = config['o']
- $S0 = _mk_path_gen_dynops(src, ops, suffix, $S0)
+ $S0 = _mk_path_gen_dynops(src, ops, $S0)
cmd .= $S0
cmd .= " "
$S0 = get_ldflags()
@@ -1176,10 +1159,8 @@
.sub '_mk_path_dynops' :anon
.param string ops
- .param string suffix
.param string load_ext
$S0 = "dynext/" . ops
- $S0 .= suffix
$S0 .= load_ext
.return ($S0)
.end
@@ -1187,22 +1168,14 @@
.sub '_mk_path_gen_dynops' :anon
.param string src
.param string ops
- .param string suffix
.param string ext
$S0 = dirname(src)
$S0 .= "/"
$S0 .= ops
- $S0 .= suffix
$S0 .= ext
.return ($S0)
.end
-.sub 'get_cores'
- $P0 = new 'Hash'
- $P0['C'] = ''
- .return ($P0)
-.end
-
=item dynpmc
hash
@@ -1711,8 +1684,6 @@
.sub 'clean_dynops'
.param pmc hash
- .local pmc cores
- cores = get_cores()
.local string load_ext, obj
load_ext = get_load_ext()
obj = get_obj()
@@ -1722,22 +1693,14 @@
.local string ops, src
ops = shift $P0
src = hash[ops]
- $P1 = iter cores
- L3:
- unless $P1 goto L4
- .local string core, suffix
- core = shift $P1
- suffix = cores[core]
- $S0 = _mk_path_dynops(ops, suffix, load_ext)
+ $S0 = _mk_path_dynops(ops, load_ext)
unlink($S0, 1 :named('verbose'))
- $S0 = _mk_path_gen_dynops(src, ops, suffix, '.c')
+ $S0 = _mk_path_gen_dynops(src, ops, '.c')
unlink($S0, 1 :named('verbose'))
- $S0 = _mk_path_gen_dynops(src, ops, suffix, '.h')
+ $S0 = _mk_path_gen_dynops(src, ops, '.h')
unlink($S0, 1 :named('verbose'))
- $S0 = _mk_path_gen_dynops(src, ops, suffix, obj)
+ $S0 = _mk_path_gen_dynops(src, ops, obj)
unlink($S0, 1 :named('verbose'))
- goto L3
- L4:
goto L1
L2:
.end
@@ -2152,9 +2115,10 @@
set $P0, 1
$P0[0] = archive
push contents, $P0
- load_bytecode 'LWP.pir'
+ load_bytecode 'LWP/UserAgent.pir'
.local pmc ua, response
ua = new ['LWP';'UserAgent']
+ ua.'env_proxy'()
ua.'show_progress'(1)
$S0 = kv['smolder_url']
response = ua.'post'($S0, contents :flat, 'form-data' :named('Content-Type'), 'close' :named('Connection'))
@@ -2406,26 +2370,17 @@
.sub 'get_install_dynops' :anon
.param pmc files
.param pmc hash
- .local string libdir, load_ext, ops, suffix
+ .local string libdir, load_ext, ops
libdir = get_libdir()
load_ext = get_load_ext()
- .local pmc cores
- cores = get_cores()
$P0 = iter hash
L1:
unless $P0 goto L2
ops = shift $P0
- $P1 = iter cores
- L3:
- unless $P1 goto L4
- $S0 = shift $P1
- suffix = cores[$S0]
- $S1 = _mk_path_dynops(ops, suffix, load_ext)
+ $S1 = _mk_path_dynops(ops, load_ext)
$S2 = libdir . "/"
$S2 .= $S1
files[$S2] = $S1
- goto L3
- L4:
goto L1
L2:
.end
Modified: branches/ucs4_encoding/src/debug.c
==============================================================================
--- branches/ucs4_encoding/src/debug.c Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/src/debug.c Mon May 24 21:18:41 2010 (r46974)
@@ -2481,8 +2481,7 @@
" :unused040",
" :optional",
" :opt_flag",
- " :named",
- NULL
+ " :named"
};
@@ -2503,7 +2502,7 @@
/* Add flags, if we have any. */
{
- int flag_idx = 0;
+ unsigned int flag_idx = 0;
int flags = sig_value;
/* End when we run out of flags, off the end of flag_names, or
@@ -2511,10 +2510,12 @@
* 100 is just an estimate of all buf lengths added together.
*/
while (flags && idx < sizeof (buf) - 100) {
- const char * const flag_string
- = (specialop == 2 && STREQ(flag_names[flag_idx], " :flat"))
+ const char * const flag_string =
+ flag_idx < (sizeof flag_names / sizeof (char *))
+ ? (specialop == 2 && STREQ(flag_names[flag_idx], " :flat"))
? " :slurpy"
- : flag_names[flag_idx];
+ : flag_names[flag_idx]
+ : (const char *) NULL;
if (! flag_string)
break;
Modified: branches/ucs4_encoding/src/dynoplibs/Rules.in
==============================================================================
--- branches/ucs4_encoding/src/dynoplibs/Rules.in Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/src/dynoplibs/Rules.in Mon May 24 21:18:41 2010 (r46974)
@@ -17,8 +17,8 @@
src/dynoplibs/obscure_ops.h: src/dynoplibs/obscure_ops.c
-src/dynoplibs/obscure_ops.c: src/dynoplibs/obscure.ops $(BUILD_TOOLS_DIR)/ops2c.pl
- $(PERL) $(BUILD_TOOLS_DIR)/ops2c.pl C --dynamic src/dynoplibs/obscure.ops
+src/dynoplibs/obscure_ops.c: src/dynoplibs/obscure.ops $(OPS2C)
+ $(OPS2C) --dynamic src/dynoplibs/obscure.ops
$(DYNEXT_DIR)/math_ops$(LOAD_EXT): src/dynoplibs/math_ops$(O) $(LIBPARROT)
@@ -26,8 +26,8 @@
#IF(win32): if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
#IF(cygwin or hpux): $(CHMOD) 0775 $@
-src/dynoplibs/math_ops.c: src/dynoplibs/math.ops $(BUILD_TOOLS_DIR)/ops2c.pl
- $(PERL) $(BUILD_TOOLS_DIR)/ops2c.pl C --dynamic src/dynoplibs/math.ops
+src/dynoplibs/math_ops.c: src/dynoplibs/math.ops $(OPS2C)
+ $(OPS2C) --dynamic src/dynoplibs/math.ops
src/dynoplibs/math_ops$(O): $(DYNOP_O_DEPS) \
src/dynoplibs/math_ops.c src/dynoplibs/math_ops.h
@@ -45,5 +45,5 @@
src/dynoplibs/deprecated_ops.h: src/dynoplibs/deprecated_ops.c
-src/dynoplibs/deprecated_ops.c: src/dynoplibs/deprecated.ops $(BUILD_TOOLS_DIR)/ops2c.pl
- $(PERL) $(BUILD_TOOLS_DIR)/ops2c.pl C --dynamic src/dynoplibs/deprecated.ops
+src/dynoplibs/deprecated_ops.c: src/dynoplibs/deprecated.ops $(OPS2C)
+ $(OPS2C) --dynamic src/dynoplibs/deprecated.ops
Modified: branches/ucs4_encoding/src/embed.c
==============================================================================
--- branches/ucs4_encoding/src/embed.c Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/src/embed.c Mon May 24 21:18:41 2010 (r46974)
@@ -281,6 +281,7 @@
*/
PARROT_EXPORT
+PARROT_PURE_FUNCTION
Parrot_Int
Parrot_test_flag(PARROT_INTERP, Parrot_Int flag)
{
@@ -300,6 +301,7 @@
*/
PARROT_EXPORT
+PARROT_PURE_FUNCTION
Parrot_UInt
Parrot_test_debug(PARROT_INTERP, Parrot_UInt flag)
{
@@ -319,6 +321,7 @@
*/
PARROT_EXPORT
+PARROT_PURE_FUNCTION
Parrot_UInt
Parrot_test_trace(PARROT_INTERP, Parrot_UInt flag)
{
Modified: branches/ucs4_encoding/src/hash.c
==============================================================================
--- branches/ucs4_encoding/src/hash.c Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/src/hash.c Mon May 24 21:18:41 2010 (r46974)
@@ -375,7 +375,7 @@
*/
PARROT_WARN_UNUSED_RESULT
-PARROT_PURE_FUNCTION
+PARROT_CONST_FUNCTION
size_t
key_hash_int(SHIM_INTERP, ARGIN_NULLOK(const void *value), size_t seed)
{
@@ -396,7 +396,7 @@
*/
PARROT_WARN_UNUSED_RESULT
-PARROT_PURE_FUNCTION
+PARROT_CONST_FUNCTION
int
int_compare(SHIM_INTERP, ARGIN_NULLOK(const void *a), ARGIN_NULLOK(const void *b))
{
@@ -1121,8 +1121,7 @@
*/
void
-parrot_chash_destroy_values(PARROT_INTERP, ARGMOD(Hash *hash),
- NOTNULL(value_free func))
+parrot_chash_destroy_values(PARROT_INTERP, ARGMOD(Hash *hash), NOTNULL(value_free func))
{
ASSERT_ARGS(parrot_chash_destroy_values)
UINTVAL i;
Modified: branches/ucs4_encoding/src/interp/inter_misc.c
==============================================================================
--- branches/ucs4_encoding/src/interp/inter_misc.c Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/src/interp/inter_misc.c Mon May 24 21:18:41 2010 (r46974)
@@ -385,6 +385,7 @@
*/
PARROT_WARN_UNUSED_RESULT
+PARROT_CONST_FUNCTION
INTVAL
sysinfo_i(SHIM_INTERP, INTVAL info_wanted)
{
Modified: branches/ucs4_encoding/src/longopt.c
==============================================================================
--- branches/ucs4_encoding/src/longopt.c Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/src/longopt.c Mon May 24 21:18:41 2010 (r46974)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2007, Parrot Foundation.
+Copyright (C) 2001-2010, Parrot Foundation.
$Id$
=head1 NAME
@@ -25,6 +25,7 @@
/* HEADERIZER BEGIN: static */
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
+PARROT_WARN_UNUSED_RESULT
static int longopt_get_longopt(PARROT_INTERP,
int argc,
ARGIN(const char* argv[]),
@@ -36,6 +37,7 @@
__attribute__nonnull__(5)
FUNC_MODIFIES(* info_buf);
+PARROT_WARN_UNUSED_RESULT
static int longopt_get_shortopt(PARROT_INTERP,
int argc,
ARGIN(const char* argv[]),
@@ -64,6 +66,57 @@
/*
+=item C<const struct longopt_opt_decl * Parrot_cmd_options(void)>
+
+Set up the const struct declaration for cmd_options
+
+=cut
+
+*/
+
+PARROT_EXPORT
+PARROT_CANNOT_RETURN_NULL
+PARROT_CONST_FUNCTION
+const struct longopt_opt_decl *
+Parrot_cmd_options(void)
+{
+ ASSERT_ARGS(Parrot_cmd_options)
+ static const struct longopt_opt_decl cmd_options[] = {
+ { '.', '.', (OPTION_flags)0, { "--wait" } },
+ { 'D', 'D', OPTION_optional_FLAG, { "--parrot-debug" } },
+ { 'E', 'E', (OPTION_flags)0, { "--pre-process-only" } },
+ { 'G', 'G', (OPTION_flags)0, { "--no-gc" } },
+ { '\0', OPT_HASH_SEED, OPTION_required_FLAG, { "--hash-seed" } },
+ { 'I', 'I', OPTION_required_FLAG, { "--include" } },
+ { 'L', 'L', OPTION_required_FLAG, { "--library" } },
+ { 'O', 'O', OPTION_optional_FLAG, { "--optimize" } },
+ { 'R', 'R', OPTION_required_FLAG, { "--runcore" } },
+ { 'g', 'g', OPTION_required_FLAG, { "--gc" } },
+ { 'V', 'V', (OPTION_flags)0, { "--version" } },
+ { 'X', 'X', OPTION_required_FLAG, { "--dynext" } },
+ { '\0', OPT_DESTROY_FLAG, (OPTION_flags)0,
+ { "--leak-test", "--destroy-at-end" } },
+ { '\0', OPT_GC_DEBUG, (OPTION_flags)0, { "--gc-debug" } },
+ { 'a', 'a', (OPTION_flags)0, { "--pasm" } },
+ { 'c', 'c', (OPTION_flags)0, { "--pbc" } },
+ { 'd', 'd', OPTION_optional_FLAG, { "--imcc-debug" } },
+ { '\0', OPT_HELP_DEBUG, (OPTION_flags)0, { "--help-debug" } },
+ { 'h', 'h', (OPTION_flags)0, { "--help" } },
+ { 'o', 'o', OPTION_required_FLAG, { "--output" } },
+ { '\0', OPT_PBC_OUTPUT, (OPTION_flags)0, { "--output-pbc" } },
+ { 'r', 'r', (OPTION_flags)0, { "--run-pbc" } },
+ { '\0', OPT_RUNTIME_PREFIX, (OPTION_flags)0, { "--runtime-prefix" } },
+ { 't', 't', OPTION_optional_FLAG, { "--trace" } },
+ { 'v', 'v', (OPTION_flags)0, { "--verbose" } },
+ { 'w', 'w', (OPTION_flags)0, { "--warnings" } },
+ { 'y', 'y', (OPTION_flags)0, { "--yydebug" } },
+ { 0, 0, (OPTION_flags)0, { NULL } }
+ };
+ return cmd_options;
+}
+
+/*
+
=item C<int longopt_get(PARROT_INTERP, int argc, const char* argv[], const
struct longopt_opt_decl options[], struct longopt_opt_info* info_buf)>
@@ -83,6 +136,7 @@
*/
PARROT_EXPORT
+PARROT_WARN_UNUSED_RESULT
int
longopt_get(PARROT_INTERP, int argc, ARGIN(const char* argv[]),
ARGIN(const struct longopt_opt_decl options[]),
@@ -134,6 +188,7 @@
*/
+PARROT_WARN_UNUSED_RESULT
static int
longopt_get_longopt(PARROT_INTERP, int argc, ARGIN(const char* argv[]),
ARGIN(const struct longopt_opt_decl options[]),
@@ -231,6 +286,7 @@
*/
+PARROT_WARN_UNUSED_RESULT
static int
longopt_get_shortopt(PARROT_INTERP, int argc, ARGIN(const char* argv[]),
ARGIN(const struct longopt_opt_decl options[]),
Modified: branches/ucs4_encoding/src/main.c
==============================================================================
--- branches/ucs4_encoding/src/main.c Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/src/main.c Mon May 24 21:18:41 2010 (r46974)
@@ -45,17 +45,20 @@
static void Parrot_version(void);
PARROT_CAN_RETURN_NULL
static const char * parseflags(PARROT_INTERP,
- ARGMOD(int *argc),
- ARGMOD(const char **argv[]),
+ int argc,
+ ARGIN(const char *argv[]),
+ ARGOUT(int *pgm_argc),
+ ARGOUT(const char ***pgm_argv),
ARGMOD(Parrot_Run_core_t *core),
ARGMOD(Parrot_trace_flags *trace))
__attribute__nonnull__(1)
- __attribute__nonnull__(2)
__attribute__nonnull__(3)
__attribute__nonnull__(4)
__attribute__nonnull__(5)
- FUNC_MODIFIES(*argc)
- FUNC_MODIFIES(*argv[])
+ __attribute__nonnull__(6)
+ __attribute__nonnull__(7)
+ FUNC_MODIFIES(*pgm_argc)
+ FUNC_MODIFIES(*pgm_argv)
FUNC_MODIFIES(*core)
FUNC_MODIFIES(*trace);
@@ -76,8 +79,9 @@
#define ASSERT_ARGS_Parrot_version __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
#define ASSERT_ARGS_parseflags __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(argc) \
, PARROT_ASSERT_ARG(argv) \
+ , PARROT_ASSERT_ARG(pgm_argc) \
+ , PARROT_ASSERT_ARG(pgm_argv) \
, PARROT_ASSERT_ARG(core) \
, PARROT_ASSERT_ARG(trace))
#define ASSERT_ARGS_parseflags_minimal __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
@@ -101,11 +105,13 @@
int
main(int argc, const char *argv[])
{
- int stacktop;
- const char *sourcefile;
- const char *execname;
- Interp *interp;
- int status;
+ int stacktop;
+ const char *sourcefile;
+ const char *execname;
+ Interp *interp;
+ int status;
+ int pir_argc;
+ const char **pir_argv;
Parrot_Run_core_t core = PARROT_SLOW_CORE;
Parrot_trace_flags trace = PARROT_NO_TRACE;
@@ -129,66 +135,28 @@
/* Now initialize interpreter */
initialize_interpreter(interp, (void*)&stacktop);
- imcc_initialize(interp);
/* Parse flags */
- sourcefile = parseflags(interp, &argc, &argv, &core, &trace);
+ sourcefile = parseflags(interp, argc, argv, &pir_argc, &pir_argv, &core, &trace);
Parrot_set_trace(interp, trace);
Parrot_set_run_core(interp, (Parrot_Run_core_t) core);
Parrot_set_executable_name(interp, Parrot_str_new(interp, execname, 0));
- status = imcc_run(interp, sourcefile, argc, argv);
- UNUSED(status);
+ status = imcc_run(interp, sourcefile, argc, argv);
+
+ if (status)
+ imcc_run_pbc(interp, interp->output_file, pir_argc, pir_argv);
/* Clean-up after ourselves */
Parrot_destroy(interp);
Parrot_exit(interp, 0);
}
-#define OPT_GC_DEBUG 128
-#define OPT_DESTROY_FLAG 129
-#define OPT_HELP_DEBUG 130
-#define OPT_PBC_OUTPUT 131
-#define OPT_RUNTIME_PREFIX 132
-#define OPT_HASH_SEED 133
-
#define SET_FLAG(flag) Parrot_set_flag(interp, (flag))
#define SET_DEBUG(flag) Parrot_set_debug(interp, (flag))
#define SET_TRACE(flag) Parrot_set_trace(interp, (flag))
-static struct longopt_opt_decl options[] = {
- { '.', '.', (OPTION_flags)0, { "--wait" } },
- { 'D', 'D', OPTION_optional_FLAG, { "--parrot-debug" } },
- { 'E', 'E', (OPTION_flags)0, { "--pre-process-only" } },
- { 'G', 'G', (OPTION_flags)0, { "--no-gc" } },
- { '\0', OPT_HASH_SEED, OPTION_required_FLAG, { "--hash-seed" } },
- { 'I', 'I', OPTION_required_FLAG, { "--include" } },
- { 'L', 'L', OPTION_required_FLAG, { "--library" } },
- { 'O', 'O', OPTION_optional_FLAG, { "--optimize" } },
- { 'R', 'R', OPTION_required_FLAG, { "--runcore" } },
- { 'g', 'g', OPTION_required_FLAG, { "--gc" } },
- { 'V', 'V', (OPTION_flags)0, { "--version" } },
- { 'X', 'X', OPTION_required_FLAG, { "--dynext" } },
- { '\0', OPT_DESTROY_FLAG, (OPTION_flags)0,
- { "--leak-test", "--destroy-at-end" } },
- { '\0', OPT_GC_DEBUG, (OPTION_flags)0, { "--gc-debug" } },
- { 'a', 'a', (OPTION_flags)0, { "--pasm" } },
- { 'c', 'c', (OPTION_flags)0, { "--pbc" } },
- { 'd', 'd', OPTION_optional_FLAG, { "--imcc-debug" } },
- { '\0', OPT_HELP_DEBUG, (OPTION_flags)0, { "--help-debug" } },
- { 'h', 'h', (OPTION_flags)0, { "--help" } },
- { 'o', 'o', OPTION_required_FLAG, { "--output" } },
- { '\0', OPT_PBC_OUTPUT, (OPTION_flags)0, { "--output-pbc" } },
- { 'r', 'r', (OPTION_flags)0, { "--run-pbc" } },
- { '\0', OPT_RUNTIME_PREFIX, (OPTION_flags)0, { "--runtime-prefix" } },
- { 't', 't', OPTION_optional_FLAG, { "--trace" } },
- { 'v', 'v', (OPTION_flags)0, { "--verbose" } },
- { 'w', 'w', (OPTION_flags)0, { "--warnings" } },
- { 'y', 'y', (OPTION_flags)0, { "--yydebug" } },
- { 0, 0, (OPTION_flags)0, { NULL } }
-};
-
/*
=item C<static int is_all_hex_digits(const char *s)>
@@ -423,8 +391,9 @@
/*
-=item C<static const char * parseflags(PARROT_INTERP, int *argc, const char
-**argv[], Parrot_Run_core_t *core, Parrot_trace_flags *trace)>
+=item C<static const char * parseflags(PARROT_INTERP, int argc, const char
+*argv[], int *pgm_argc, const char ***pgm_argv, Parrot_Run_core_t *core,
+Parrot_trace_flags *trace)>
Parse Parrot's command line for options and set appropriate flags.
@@ -435,26 +404,20 @@
PARROT_CAN_RETURN_NULL
static const char *
parseflags(PARROT_INTERP,
- ARGMOD(int *argc), ARGMOD(const char **argv[]),
+ int argc, ARGIN(const char *argv[]),
+ ARGOUT(int *pgm_argc), ARGOUT(const char ***pgm_argv),
ARGMOD(Parrot_Run_core_t *core), ARGMOD(Parrot_trace_flags *trace))
{
ASSERT_ARGS(parseflags)
struct longopt_opt_info opt = LONGOPT_OPT_INFO_INIT;
int status;
- /* g++ complains if we cast char** to const char** directly. However, nobody
- ever complains if you const to void* first. Sure we lose a certain
- amount of compiler-enforced type safety, but this is a rare occasion
- with a very long explanatory comment. */
- const char ** const _tempargv = (const char **)((void *)*argv);
- if (*argc == 1) {
+ if (argc == 1) {
usage(stderr);
exit(EXIT_SUCCESS);
}
- imcc_start_handling_flags(interp);
-
- while ((status = longopt_get(interp, *argc, _tempargv, options, &opt)) > 0) {
+ while ((status = longopt_get(interp, argc, argv, Parrot_cmd_options(), &opt)) > 0) {
switch (opt.opt_id) {
case 'R':
if (STREQ(opt.opt_arg, "slow") || STREQ(opt.opt_arg, "bounds"))
@@ -544,16 +507,19 @@
Parrot_lib_add_path_from_cstring(interp, opt.opt_arg,
PARROT_LIB_PATH_DYNEXT);
break;
+ case 'w':
+ /* FIXME It's not best way to set warnings... */
+ Parrot_setwarnings(interp, PARROT_WARNINGS_ALL_FLAG);
+ break;
+ case 'o':
+ interp->output_file = opt.opt_arg;
+ break;
+ case OPT_PBC_OUTPUT:
+ if (!interp->output_file)
+ interp->output_file = "-";
default:
- /* Delegate handling of IMCC flags to IMCC */
- if (imcc_handle_flag(interp, &opt, core))
- break;
-
- /* PIRC flags handling goes here */
- fprintf(stderr,
- "main: Invalid flag '%s' used.\n\nhelp: parrot -h\n",
- (*argv)[0]);
- exit(EXIT_FAILURE);
+ /* languages handle their arguments later (after being initialized) */
+ break;
}
}
@@ -564,7 +530,7 @@
}
/* reached the end of the option list and consumed all of argv */
- if (*argc == opt.opt_index) {
+ if (argc == opt.opt_index) {
if (interp->output_file) {
fprintf(stderr, "Missing program name or argument for -o\n");
}
@@ -576,10 +542,10 @@
exit(EXIT_FAILURE);
}
- *argc -= opt.opt_index;
- *argv += opt.opt_index;
+ *pgm_argc = argc - opt.opt_index;
+ *pgm_argv = argv + opt.opt_index;
- return (*argv)[0];
+ return (*pgm_argv)[0];
}
/*
Copied: branches/ucs4_encoding/src/ops/core_ops.c (from r46972, trunk/src/ops/core_ops.c)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ucs4_encoding/src/ops/core_ops.c Mon May 24 21:18:41 2010 (r46974, copy of r46972, trunk/src/ops/core_ops.c)
@@ -0,0 +1,29801 @@
+
+/* ex: set ro:
+ * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+ *
+ * This file is generated automatically from 'src/ops/core.ops' (and possibly other
+ * .ops files). by ops2c.nqp.
+ *
+ * Any changes made here will be lost!
+ *
+ */
+
+#include "parrot/oplib/core_ops.h"
+#include "pmc/pmc_parrotlibrary.h"
+#include "pmc/pmc_callcontext.h"
+
+
+/* defines - Ops::Trans::C */
+#undef CONST
+#define REL_PC ((size_t)(cur_opcode - (opcode_t *)interp->code->base.data))
+#define CUR_OPCODE cur_opcode
+#define IREG(i) (CUR_CTX->bp.regs_i[cur_opcode[i]])
+#define NREG(i) (CUR_CTX->bp.regs_n[-1L - cur_opcode[i]])
+#define PREG(i) (CUR_CTX->bp_ps.regs_p[-1L - cur_opcode[i]])
+#define SREG(i) (CUR_CTX->bp_ps.regs_s[cur_opcode[i]])
+#define CONST(i) Parrot_pcc_get_constants(interp, interp->ctx)[cur_opcode[i]]
+
+static int get_op(PARROT_INTERP, const char * name, int full);
+
+
+
+
+#include "parrot/dynext.h"
+#include "parrot/embed.h"
+#include "parrot/runcore_api.h"
+#include "pmc/pmc_continuation.h"
+#include "pmc/pmc_parrotlibrary.h"
+
+
+ /* Signed shift operator that is compatible with PMC shifts. This is
+ * guaranteed to produce the same result as bitwise_left_shift_internal modulo
+ * word size, ignoring the fact that Parrot integers are always signed. This
+ * usually gives the same answer regardless whether you shift PMC operands and
+ * then assign to an I-reg, or move the operands to I-regs and do the shift
+ * there -- except when the true result is between 2^{w-1} and 2^w (where w is
+ * the word size), in which case the high order bit is taken as the sign,
+ * giving a truncated result that is 2^w lower.
+ */
+#define bit_shift_left(number, bits) \
+ ((bits) >= 8*INTVAL_SIZE ? 0 \
+ : (bits) >= 0 ? (number) << (bits) \
+ : (bits) > -8*INTVAL_SIZE ? (number) >> -(bits) \
+ : 0)
+
+
+#include "../io/io_private.h"
+
+
+#if PARROT_HAS_ICU
+# include <unicode/uchar.h>
+#endif
+
+
+
+INTVAL core_numops = 1269;
+
+/*
+** Op Function Table:
+*/
+
+static op_func_t core_op_func_table[1269] = { Parrot_end, /* 0 */
+ Parrot_noop, /* 1 */
+ Parrot_check_events, /* 2 */
+ Parrot_check_events__, /* 3 */
+ Parrot_wrapper__, /* 4 */
+ Parrot_load_bytecode_s, /* 5 */
+ Parrot_load_bytecode_sc, /* 6 */
+ Parrot_load_language_s, /* 7 */
+ Parrot_load_language_sc, /* 8 */
+ Parrot_branch_i, /* 9 */
+ Parrot_branch_ic, /* 10 */
+ Parrot_local_branch_p_i, /* 11 */
+ Parrot_local_branch_p_ic, /* 12 */
+ Parrot_local_return_p, /* 13 */
+ Parrot_jump_i, /* 14 */
+ Parrot_jump_ic, /* 15 */
+ Parrot_enternative, /* 16 */
+ Parrot_if_i_ic, /* 17 */
+ Parrot_if_n_ic, /* 18 */
+ Parrot_if_s_ic, /* 19 */
+ Parrot_if_p_ic, /* 20 */
+ Parrot_unless_i_ic, /* 21 */
+ Parrot_unless_n_ic, /* 22 */
+ Parrot_unless_s_ic, /* 23 */
+ Parrot_unless_p_ic, /* 24 */
+ Parrot_invokecc_p, /* 25 */
+ Parrot_invoke_p_p, /* 26 */
+ Parrot_yield, /* 27 */
+ Parrot_tailcall_p, /* 28 */
+ Parrot_returncc, /* 29 */
+ Parrot_capture_lex_p, /* 30 */
+ Parrot_newclosure_p_p, /* 31 */
+ Parrot_set_args_pc, /* 32 */
+ Parrot_get_params_pc, /* 33 */
+ Parrot_set_returns_pc, /* 34 */
+ Parrot_get_results_pc, /* 35 */
+ Parrot_set_result_info_p, /* 36 */
+ Parrot_set_result_info_pc, /* 37 */
+ Parrot_result_info_p, /* 38 */
+ Parrot_set_addr_i_ic, /* 39 */
+ Parrot_set_addr_p_ic, /* 40 */
+ Parrot_set_addr_p_i, /* 41 */
+ Parrot_get_addr_i_p, /* 42 */
+ Parrot_schedule_p, /* 43 */
+ Parrot_addhandler_p, /* 44 */
+ Parrot_push_eh_ic, /* 45 */
+ Parrot_push_eh_p, /* 46 */
+ Parrot_pop_eh, /* 47 */
+ Parrot_throw_p, /* 48 */
+ Parrot_throw_p_p, /* 49 */
+ Parrot_rethrow_p, /* 50 */
+ Parrot_count_eh_i, /* 51 */
+ Parrot_die_s, /* 52 */
+ Parrot_die_sc, /* 53 */
+ Parrot_die_p, /* 54 */
+ Parrot_die_pc, /* 55 */
+ Parrot_die_i_i, /* 56 */
+ Parrot_die_ic_i, /* 57 */
+ Parrot_die_i_ic, /* 58 */
+ Parrot_die_ic_ic, /* 59 */
+ Parrot_exit_i, /* 60 */
+ Parrot_exit_ic, /* 61 */
+ Parrot_debug_i, /* 62 */
+ Parrot_debug_ic, /* 63 */
+ Parrot_bounds_i, /* 64 */
+ Parrot_bounds_ic, /* 65 */
+ Parrot_profile_i, /* 66 */
+ Parrot_profile_ic, /* 67 */
+ Parrot_trace_i, /* 68 */
+ Parrot_trace_ic, /* 69 */
+ Parrot_gc_debug_i, /* 70 */
+ Parrot_gc_debug_ic, /* 71 */
+ Parrot_interpinfo_i_i, /* 72 */
+ Parrot_interpinfo_i_ic, /* 73 */
+ Parrot_interpinfo_p_i, /* 74 */
+ Parrot_interpinfo_p_ic, /* 75 */
+ Parrot_interpinfo_s_i, /* 76 */
+ Parrot_interpinfo_s_ic, /* 77 */
+ Parrot_warningson_i, /* 78 */
+ Parrot_warningson_ic, /* 79 */
+ Parrot_warningsoff_i, /* 80 */
+ Parrot_warningsoff_ic, /* 81 */
+ Parrot_errorson_i, /* 82 */
+ Parrot_errorson_ic, /* 83 */
+ Parrot_errorsoff_i, /* 84 */
+ Parrot_errorsoff_ic, /* 85 */
+ Parrot_runinterp_p_i, /* 86 */
+ Parrot_runinterp_p_ic, /* 87 */
+ Parrot_getinterp_p, /* 88 */
+ Parrot_sweep_ic, /* 89 */
+ Parrot_collect, /* 90 */
+ Parrot_sweepoff, /* 91 */
+ Parrot_sweepon, /* 92 */
+ Parrot_collectoff, /* 93 */
+ Parrot_collecton, /* 94 */
+ Parrot_needs_destroy_p, /* 95 */
+ Parrot_loadlib_p_s, /* 96 */
+ Parrot_loadlib_p_sc, /* 97 */
+ Parrot_loadlib_p_s_p, /* 98 */
+ Parrot_loadlib_p_sc_p, /* 99 */
+ Parrot_loadlib_p_s_pc, /* 100 */
+ Parrot_loadlib_p_sc_pc, /* 101 */
+ Parrot_dlfunc_p_p_s_s, /* 102 */
+ Parrot_dlfunc_p_p_sc_s, /* 103 */
+ Parrot_dlfunc_p_p_s_sc, /* 104 */
+ Parrot_dlfunc_p_p_sc_sc, /* 105 */
+ Parrot_dlvar_p_p_s, /* 106 */
+ Parrot_dlvar_p_p_sc, /* 107 */
+ Parrot_compreg_s_p, /* 108 */
+ Parrot_compreg_sc_p, /* 109 */
+ Parrot_compreg_p_s, /* 110 */
+ Parrot_compreg_p_sc, /* 111 */
+ Parrot_new_callback_p_p_p_s, /* 112 */
+ Parrot_new_callback_p_p_p_sc, /* 113 */
+ Parrot_annotations_p, /* 114 */
+ Parrot_annotations_p_s, /* 115 */
+ Parrot_annotations_p_sc, /* 116 */
+ Parrot_band_i_i, /* 117 */
+ Parrot_band_i_ic, /* 118 */
+ Parrot_band_p_i, /* 119 */
+ Parrot_band_p_ic, /* 120 */
+ Parrot_band_p_p, /* 121 */
+ Parrot_band_i_i_i, /* 122 */
+ Parrot_band_i_ic_i, /* 123 */
+ Parrot_band_i_i_ic, /* 124 */
+ Parrot_band_p_p_i, /* 125 */
+ Parrot_band_p_p_ic, /* 126 */
+ Parrot_band_p_p_p, /* 127 */
+ Parrot_bands_p_s, /* 128 */
+ Parrot_bands_p_sc, /* 129 */
+ Parrot_bands_p_p, /* 130 */
+ Parrot_bands_s_s_s, /* 131 */
+ Parrot_bands_s_sc_s, /* 132 */
+ Parrot_bands_s_s_sc, /* 133 */
+ Parrot_bands_p_p_s, /* 134 */
+ Parrot_bands_p_p_sc, /* 135 */
+ Parrot_bands_p_p_p, /* 136 */
+ Parrot_bnot_i, /* 137 */
+ Parrot_bnot_i_i, /* 138 */
+ Parrot_bnot_p, /* 139 */
+ Parrot_bnot_p_p, /* 140 */
+ Parrot_bnots_s_s, /* 141 */
+ Parrot_bnots_s_sc, /* 142 */
+ Parrot_bnots_p, /* 143 */
+ Parrot_bnots_p_p, /* 144 */
+ Parrot_bor_i_i, /* 145 */
+ Parrot_bor_i_ic, /* 146 */
+ Parrot_bor_p_i, /* 147 */
+ Parrot_bor_p_ic, /* 148 */
+ Parrot_bor_p_p, /* 149 */
+ Parrot_bor_i_i_i, /* 150 */
+ Parrot_bor_i_ic_i, /* 151 */
+ Parrot_bor_i_i_ic, /* 152 */
+ Parrot_bor_p_p_i, /* 153 */
+ Parrot_bor_p_p_ic, /* 154 */
+ Parrot_bor_p_p_p, /* 155 */
+ Parrot_bors_p_s, /* 156 */
+ Parrot_bors_p_sc, /* 157 */
+ Parrot_bors_p_p, /* 158 */
+ Parrot_bors_s_s_s, /* 159 */
+ Parrot_bors_s_sc_s, /* 160 */
+ Parrot_bors_s_s_sc, /* 161 */
+ Parrot_bors_p_p_s, /* 162 */
+ Parrot_bors_p_p_sc, /* 163 */
+ Parrot_bors_p_p_p, /* 164 */
+ Parrot_shl_i_i, /* 165 */
+ Parrot_shl_i_ic, /* 166 */
+ Parrot_shl_p_i, /* 167 */
+ Parrot_shl_p_ic, /* 168 */
+ Parrot_shl_p_p, /* 169 */
+ Parrot_shl_i_i_i, /* 170 */
+ Parrot_shl_i_ic_i, /* 171 */
+ Parrot_shl_i_i_ic, /* 172 */
+ Parrot_shl_p_p_i, /* 173 */
+ Parrot_shl_p_p_ic, /* 174 */
+ Parrot_shl_p_p_p, /* 175 */
+ Parrot_shr_i_i, /* 176 */
+ Parrot_shr_i_ic, /* 177 */
+ Parrot_shr_p_i, /* 178 */
+ Parrot_shr_p_ic, /* 179 */
+ Parrot_shr_p_p, /* 180 */
+ Parrot_shr_i_i_i, /* 181 */
+ Parrot_shr_i_ic_i, /* 182 */
+ Parrot_shr_i_i_ic, /* 183 */
+ Parrot_shr_p_p_i, /* 184 */
+ Parrot_shr_p_p_ic, /* 185 */
+ Parrot_shr_p_p_p, /* 186 */
+ Parrot_lsr_i_i, /* 187 */
+ Parrot_lsr_i_ic, /* 188 */
+ Parrot_lsr_p_i, /* 189 */
+ Parrot_lsr_p_ic, /* 190 */
+ Parrot_lsr_p_p, /* 191 */
+ Parrot_lsr_i_i_i, /* 192 */
+ Parrot_lsr_i_ic_i, /* 193 */
+ Parrot_lsr_i_i_ic, /* 194 */
+ Parrot_lsr_p_p_i, /* 195 */
+ Parrot_lsr_p_p_ic, /* 196 */
+ Parrot_lsr_p_p_p, /* 197 */
+ Parrot_rot_i_i_i_ic, /* 198 */
+ Parrot_rot_i_ic_i_ic, /* 199 */
+ Parrot_rot_i_i_ic_ic, /* 200 */
+ Parrot_bxor_i_i, /* 201 */
+ Parrot_bxor_i_ic, /* 202 */
+ Parrot_bxor_p_i, /* 203 */
+ Parrot_bxor_p_ic, /* 204 */
+ Parrot_bxor_p_p, /* 205 */
+ Parrot_bxor_i_i_i, /* 206 */
+ Parrot_bxor_i_ic_i, /* 207 */
+ Parrot_bxor_i_i_ic, /* 208 */
+ Parrot_bxor_p_p_i, /* 209 */
+ Parrot_bxor_p_p_ic, /* 210 */
+ Parrot_bxor_p_p_p, /* 211 */
+ Parrot_bxors_p_s, /* 212 */
+ Parrot_bxors_p_sc, /* 213 */
+ Parrot_bxors_p_p, /* 214 */
+ Parrot_bxors_s_s_s, /* 215 */
+ Parrot_bxors_s_sc_s, /* 216 */
+ Parrot_bxors_s_s_sc, /* 217 */
+ Parrot_bxors_p_p_s, /* 218 */
+ Parrot_bxors_p_p_sc, /* 219 */
+ Parrot_bxors_p_p_p, /* 220 */
+ Parrot_eq_i_i_ic, /* 221 */
+ Parrot_eq_ic_i_ic, /* 222 */
+ Parrot_eq_i_ic_ic, /* 223 */
+ Parrot_eq_n_n_ic, /* 224 */
+ Parrot_eq_nc_n_ic, /* 225 */
+ Parrot_eq_n_nc_ic, /* 226 */
+ Parrot_eq_s_s_ic, /* 227 */
+ Parrot_eq_sc_s_ic, /* 228 */
+ Parrot_eq_s_sc_ic, /* 229 */
+ Parrot_eq_p_p_ic, /* 230 */
+ Parrot_eq_p_i_ic, /* 231 */
+ Parrot_eq_p_ic_ic, /* 232 */
+ Parrot_eq_p_n_ic, /* 233 */
+ Parrot_eq_p_nc_ic, /* 234 */
+ Parrot_eq_p_s_ic, /* 235 */
+ Parrot_eq_p_sc_ic, /* 236 */
+ Parrot_eq_str_p_p_ic, /* 237 */
+ Parrot_eq_num_p_p_ic, /* 238 */
+ Parrot_eq_addr_s_s_ic, /* 239 */
+ Parrot_eq_addr_sc_s_ic, /* 240 */
+ Parrot_eq_addr_s_sc_ic, /* 241 */
+ Parrot_eq_addr_sc_sc_ic, /* 242 */
+ Parrot_eq_addr_p_p_ic, /* 243 */
+ Parrot_ne_i_i_ic, /* 244 */
+ Parrot_ne_ic_i_ic, /* 245 */
+ Parrot_ne_i_ic_ic, /* 246 */
+ Parrot_ne_n_n_ic, /* 247 */
+ Parrot_ne_nc_n_ic, /* 248 */
+ Parrot_ne_n_nc_ic, /* 249 */
+ Parrot_ne_s_s_ic, /* 250 */
+ Parrot_ne_sc_s_ic, /* 251 */
+ Parrot_ne_s_sc_ic, /* 252 */
+ Parrot_ne_p_p_ic, /* 253 */
+ Parrot_ne_p_i_ic, /* 254 */
+ Parrot_ne_p_ic_ic, /* 255 */
+ Parrot_ne_p_n_ic, /* 256 */
+ Parrot_ne_p_nc_ic, /* 257 */
+ Parrot_ne_p_s_ic, /* 258 */
+ Parrot_ne_p_sc_ic, /* 259 */
+ Parrot_ne_str_p_p_ic, /* 260 */
+ Parrot_ne_num_p_p_ic, /* 261 */
+ Parrot_ne_addr_s_s_ic, /* 262 */
+ Parrot_ne_addr_sc_s_ic, /* 263 */
+ Parrot_ne_addr_s_sc_ic, /* 264 */
+ Parrot_ne_addr_sc_sc_ic, /* 265 */
+ Parrot_ne_addr_p_p_ic, /* 266 */
+ Parrot_lt_i_i_ic, /* 267 */
+ Parrot_lt_ic_i_ic, /* 268 */
+ Parrot_lt_i_ic_ic, /* 269 */
+ Parrot_lt_n_n_ic, /* 270 */
+ Parrot_lt_nc_n_ic, /* 271 */
+ Parrot_lt_n_nc_ic, /* 272 */
+ Parrot_lt_s_s_ic, /* 273 */
+ Parrot_lt_sc_s_ic, /* 274 */
+ Parrot_lt_s_sc_ic, /* 275 */
+ Parrot_lt_p_p_ic, /* 276 */
+ Parrot_lt_p_i_ic, /* 277 */
+ Parrot_lt_p_ic_ic, /* 278 */
+ Parrot_lt_p_n_ic, /* 279 */
+ Parrot_lt_p_nc_ic, /* 280 */
+ Parrot_lt_p_s_ic, /* 281 */
+ Parrot_lt_p_sc_ic, /* 282 */
+ Parrot_lt_str_p_p_ic, /* 283 */
+ Parrot_lt_num_p_p_ic, /* 284 */
+ Parrot_le_i_i_ic, /* 285 */
+ Parrot_le_ic_i_ic, /* 286 */
+ Parrot_le_i_ic_ic, /* 287 */
+ Parrot_le_n_n_ic, /* 288 */
+ Parrot_le_nc_n_ic, /* 289 */
+ Parrot_le_n_nc_ic, /* 290 */
+ Parrot_le_s_s_ic, /* 291 */
+ Parrot_le_sc_s_ic, /* 292 */
+ Parrot_le_s_sc_ic, /* 293 */
+ Parrot_le_p_p_ic, /* 294 */
+ Parrot_le_p_i_ic, /* 295 */
+ Parrot_le_p_ic_ic, /* 296 */
+ Parrot_le_p_n_ic, /* 297 */
+ Parrot_le_p_nc_ic, /* 298 */
+ Parrot_le_p_s_ic, /* 299 */
+ Parrot_le_p_sc_ic, /* 300 */
+ Parrot_le_str_p_p_ic, /* 301 */
+ Parrot_le_num_p_p_ic, /* 302 */
+ Parrot_gt_p_p_ic, /* 303 */
+ Parrot_gt_p_i_ic, /* 304 */
+ Parrot_gt_p_ic_ic, /* 305 */
+ Parrot_gt_p_n_ic, /* 306 */
+ Parrot_gt_p_nc_ic, /* 307 */
+ Parrot_gt_p_s_ic, /* 308 */
+ Parrot_gt_p_sc_ic, /* 309 */
+ Parrot_gt_str_p_p_ic, /* 310 */
+ Parrot_gt_num_p_p_ic, /* 311 */
+ Parrot_ge_p_p_ic, /* 312 */
+ Parrot_ge_p_i_ic, /* 313 */
+ Parrot_ge_p_ic_ic, /* 314 */
+ Parrot_ge_p_n_ic, /* 315 */
+ Parrot_ge_p_nc_ic, /* 316 */
+ Parrot_ge_p_s_ic, /* 317 */
+ Parrot_ge_p_sc_ic, /* 318 */
+ Parrot_ge_str_p_p_ic, /* 319 */
+ Parrot_ge_num_p_p_ic, /* 320 */
+ Parrot_if_null_p_ic, /* 321 */
+ Parrot_if_null_s_ic, /* 322 */
+ Parrot_unless_null_p_ic, /* 323 */
+ Parrot_unless_null_s_ic, /* 324 */
+ Parrot_cmp_i_i_i, /* 325 */
+ Parrot_cmp_i_ic_i, /* 326 */
+ Parrot_cmp_i_i_ic, /* 327 */
+ Parrot_cmp_i_n_n, /* 328 */
+ Parrot_cmp_i_nc_n, /* 329 */
+ Parrot_cmp_i_n_nc, /* 330 */
+ Parrot_cmp_i_s_s, /* 331 */
+ Parrot_cmp_i_sc_s, /* 332 */
+ Parrot_cmp_i_s_sc, /* 333 */
+ Parrot_cmp_i_p_p, /* 334 */
+ Parrot_cmp_i_p_i, /* 335 */
+ Parrot_cmp_i_p_ic, /* 336 */
+ Parrot_cmp_i_p_n, /* 337 */
+ Parrot_cmp_i_p_nc, /* 338 */
+ Parrot_cmp_i_p_s, /* 339 */
+ Parrot_cmp_i_p_sc, /* 340 */
+ Parrot_cmp_str_i_p_p, /* 341 */
+ Parrot_cmp_num_i_p_p, /* 342 */
+ Parrot_cmp_pmc_p_p_p, /* 343 */
+ Parrot_issame_i_p_p, /* 344 */
+ Parrot_issame_i_s_s, /* 345 */
+ Parrot_issame_i_sc_s, /* 346 */
+ Parrot_issame_i_s_sc, /* 347 */
+ Parrot_issame_i_sc_sc, /* 348 */
+ Parrot_isntsame_i_p_p, /* 349 */
+ Parrot_isntsame_i_s_s, /* 350 */
+ Parrot_isntsame_i_sc_s, /* 351 */
+ Parrot_isntsame_i_s_sc, /* 352 */
+ Parrot_isntsame_i_sc_sc, /* 353 */
+ Parrot_istrue_i_p, /* 354 */
+ Parrot_isfalse_i_p, /* 355 */
+ Parrot_isnull_i_p, /* 356 */
+ Parrot_isnull_i_pc, /* 357 */
+ Parrot_isnull_i_s, /* 358 */
+ Parrot_isnull_i_sc, /* 359 */
+ Parrot_isgt_i_p_p, /* 360 */
+ Parrot_isge_i_p_p, /* 361 */
+ Parrot_isle_i_i_i, /* 362 */
+ Parrot_isle_i_ic_i, /* 363 */
+ Parrot_isle_i_i_ic, /* 364 */
+ Parrot_isle_i_n_n, /* 365 */
+ Parrot_isle_i_nc_n, /* 366 */
+ Parrot_isle_i_n_nc, /* 367 */
+ Parrot_isle_i_s_s, /* 368 */
+ Parrot_isle_i_sc_s, /* 369 */
+ Parrot_isle_i_s_sc, /* 370 */
+ Parrot_isle_i_p_p, /* 371 */
+ Parrot_islt_i_i_i, /* 372 */
+ Parrot_islt_i_ic_i, /* 373 */
+ Parrot_islt_i_i_ic, /* 374 */
+ Parrot_islt_i_n_n, /* 375 */
+ Parrot_islt_i_nc_n, /* 376 */
+ Parrot_islt_i_n_nc, /* 377 */
+ Parrot_islt_i_s_s, /* 378 */
+ Parrot_islt_i_sc_s, /* 379 */
+ Parrot_islt_i_s_sc, /* 380 */
+ Parrot_islt_i_p_p, /* 381 */
+ Parrot_iseq_i_i_i, /* 382 */
+ Parrot_iseq_i_ic_i, /* 383 */
+ Parrot_iseq_i_i_ic, /* 384 */
+ Parrot_iseq_i_n_n, /* 385 */
+ Parrot_iseq_i_nc_n, /* 386 */
+ Parrot_iseq_i_n_nc, /* 387 */
+ Parrot_iseq_i_s_s, /* 388 */
+ Parrot_iseq_i_sc_s, /* 389 */
+ Parrot_iseq_i_s_sc, /* 390 */
+ Parrot_iseq_i_p_p, /* 391 */
+ Parrot_isne_i_i_i, /* 392 */
+ Parrot_isne_i_ic_i, /* 393 */
+ Parrot_isne_i_i_ic, /* 394 */
+ Parrot_isne_i_n_n, /* 395 */
+ Parrot_isne_i_nc_n, /* 396 */
+ Parrot_isne_i_n_nc, /* 397 */
+ Parrot_isne_i_s_s, /* 398 */
+ Parrot_isne_i_sc_s, /* 399 */
+ Parrot_isne_i_s_sc, /* 400 */
+ Parrot_isne_i_p_p, /* 401 */
+ Parrot_and_i_i_i, /* 402 */
+ Parrot_and_i_ic_i, /* 403 */
+ Parrot_and_i_i_ic, /* 404 */
+ Parrot_and_p_p_p, /* 405 */
+ Parrot_not_i, /* 406 */
+ Parrot_not_i_i, /* 407 */
+ Parrot_not_p, /* 408 */
+ Parrot_not_p_p, /* 409 */
+ Parrot_or_i_i_i, /* 410 */
+ Parrot_or_i_ic_i, /* 411 */
+ Parrot_or_i_i_ic, /* 412 */
+ Parrot_or_p_p_p, /* 413 */
+ Parrot_xor_i_i_i, /* 414 */
+ Parrot_xor_i_ic_i, /* 415 */
+ Parrot_xor_i_i_ic, /* 416 */
+ Parrot_xor_p_p_p, /* 417 */
+ Parrot_debug_init, /* 418 */
+ Parrot_debug_load_sc, /* 419 */
+ Parrot_debug_break, /* 420 */
+ Parrot_debug_print, /* 421 */
+ Parrot_backtrace, /* 422 */
+ Parrot_getline_i, /* 423 */
+ Parrot_getfile_s, /* 424 */
+ Parrot_close_p, /* 425 */
+ Parrot_fdopen_p_i_s, /* 426 */
+ Parrot_fdopen_p_ic_s, /* 427 */
+ Parrot_fdopen_p_i_sc, /* 428 */
+ Parrot_fdopen_p_ic_sc, /* 429 */
+ Parrot_getstdin_p, /* 430 */
+ Parrot_getstdout_p, /* 431 */
+ Parrot_getstderr_p, /* 432 */
+ Parrot_setstdin_p, /* 433 */
+ Parrot_setstdout_p, /* 434 */
+ Parrot_setstderr_p, /* 435 */
+ Parrot_open_p_s_s, /* 436 */
+ Parrot_open_p_sc_s, /* 437 */
+ Parrot_open_p_s_sc, /* 438 */
+ Parrot_open_p_sc_sc, /* 439 */
+ Parrot_open_p_s, /* 440 */
+ Parrot_open_p_sc, /* 441 */
+ Parrot_print_i, /* 442 */
+ Parrot_print_ic, /* 443 */
+ Parrot_print_n, /* 444 */
+ Parrot_print_nc, /* 445 */
+ Parrot_print_s, /* 446 */
+ Parrot_print_sc, /* 447 */
+ Parrot_print_p, /* 448 */
+ Parrot_say_i, /* 449 */
+ Parrot_say_ic, /* 450 */
+ Parrot_say_n, /* 451 */
+ Parrot_say_nc, /* 452 */
+ Parrot_say_s, /* 453 */
+ Parrot_say_sc, /* 454 */
+ Parrot_say_p, /* 455 */
+ Parrot_printerr_i, /* 456 */
+ Parrot_printerr_ic, /* 457 */
+ Parrot_printerr_n, /* 458 */
+ Parrot_printerr_nc, /* 459 */
+ Parrot_printerr_s, /* 460 */
+ Parrot_printerr_sc, /* 461 */
+ Parrot_printerr_p, /* 462 */
+ Parrot_print_p_i, /* 463 */
+ Parrot_print_p_ic, /* 464 */
+ Parrot_print_p_n, /* 465 */
+ Parrot_print_p_nc, /* 466 */
+ Parrot_print_p_s, /* 467 */
+ Parrot_print_p_sc, /* 468 */
+ Parrot_print_p_p, /* 469 */
+ Parrot_read_s_i, /* 470 */
+ Parrot_read_s_ic, /* 471 */
+ Parrot_read_s_p_i, /* 472 */
+ Parrot_read_s_p_ic, /* 473 */
+ Parrot_readline_s_p, /* 474 */
+ Parrot_peek_s, /* 475 */
+ Parrot_peek_s_p, /* 476 */
+ Parrot_stat_i_s_i, /* 477 */
+ Parrot_stat_i_sc_i, /* 478 */
+ Parrot_stat_i_s_ic, /* 479 */
+ Parrot_stat_i_sc_ic, /* 480 */
+ Parrot_stat_i_i_i, /* 481 */
+ Parrot_stat_i_ic_i, /* 482 */
+ Parrot_stat_i_i_ic, /* 483 */
+ Parrot_stat_i_ic_ic, /* 484 */
+ Parrot_seek_p_i_i, /* 485 */
+ Parrot_seek_p_ic_i, /* 486 */
+ Parrot_seek_p_i_ic, /* 487 */
+ Parrot_seek_p_ic_ic, /* 488 */
+ Parrot_seek_p_i_i_i, /* 489 */
+ Parrot_seek_p_ic_i_i, /* 490 */
+ Parrot_seek_p_i_ic_i, /* 491 */
+ Parrot_seek_p_ic_ic_i, /* 492 */
+ Parrot_seek_p_i_i_ic, /* 493 */
+ Parrot_seek_p_ic_i_ic, /* 494 */
+ Parrot_seek_p_i_ic_ic, /* 495 */
+ Parrot_seek_p_ic_ic_ic, /* 496 */
+ Parrot_tell_i_p, /* 497 */
+ Parrot_tell_i_i_p, /* 498 */
+ Parrot_abs_i, /* 499 */
+ Parrot_abs_n, /* 500 */
+ Parrot_abs_i_i, /* 501 */
+ Parrot_abs_n_n, /* 502 */
+ Parrot_abs_p, /* 503 */
+ Parrot_abs_p_p, /* 504 */
+ Parrot_add_i_i, /* 505 */
+ Parrot_add_i_ic, /* 506 */
+ Parrot_add_n_n, /* 507 */
+ Parrot_add_n_nc, /* 508 */
+ Parrot_add_p_p, /* 509 */
+ Parrot_add_p_i, /* 510 */
+ Parrot_add_p_ic, /* 511 */
+ Parrot_add_p_n, /* 512 */
+ Parrot_add_p_nc, /* 513 */
+ Parrot_add_i_i_i, /* 514 */
+ Parrot_add_i_ic_i, /* 515 */
+ Parrot_add_i_i_ic, /* 516 */
+ Parrot_add_n_n_n, /* 517 */
+ Parrot_add_n_nc_n, /* 518 */
+ Parrot_add_n_n_nc, /* 519 */
+ Parrot_add_p_p_p, /* 520 */
+ Parrot_add_p_p_i, /* 521 */
+ Parrot_add_p_p_ic, /* 522 */
+ Parrot_add_p_p_n, /* 523 */
+ Parrot_add_p_p_nc, /* 524 */
+ Parrot_cmod_i_i_i, /* 525 */
+ Parrot_cmod_i_ic_i, /* 526 */
+ Parrot_cmod_i_i_ic, /* 527 */
+ Parrot_cmod_p_p_i, /* 528 */
+ Parrot_cmod_p_p_ic, /* 529 */
+ Parrot_cmod_p_p_p, /* 530 */
+ Parrot_cmod_n_n_n, /* 531 */
+ Parrot_cmod_n_nc_n, /* 532 */
+ Parrot_cmod_n_n_nc, /* 533 */
+ Parrot_cmod_p_p_n, /* 534 */
+ Parrot_cmod_p_p_nc, /* 535 */
+ Parrot_dec_i, /* 536 */
+ Parrot_dec_n, /* 537 */
+ Parrot_dec_p, /* 538 */
+ Parrot_div_i_i, /* 539 */
+ Parrot_div_i_ic, /* 540 */
+ Parrot_div_n_n, /* 541 */
+ Parrot_div_n_nc, /* 542 */
+ Parrot_div_p_p, /* 543 */
+ Parrot_div_p_i, /* 544 */
+ Parrot_div_p_ic, /* 545 */
+ Parrot_div_p_n, /* 546 */
+ Parrot_div_p_nc, /* 547 */
+ Parrot_div_i_i_i, /* 548 */
+ Parrot_div_i_ic_i, /* 549 */
+ Parrot_div_i_i_ic, /* 550 */
+ Parrot_div_i_ic_ic, /* 551 */
+ Parrot_div_n_n_n, /* 552 */
+ Parrot_div_n_nc_n, /* 553 */
+ Parrot_div_n_n_nc, /* 554 */
+ Parrot_div_n_nc_nc, /* 555 */
+ Parrot_div_p_p_p, /* 556 */
+ Parrot_div_p_p_i, /* 557 */
+ Parrot_div_p_p_ic, /* 558 */
+ Parrot_div_p_p_n, /* 559 */
+ Parrot_div_p_p_nc, /* 560 */
+ Parrot_fdiv_i_i, /* 561 */
+ Parrot_fdiv_i_ic, /* 562 */
+ Parrot_fdiv_n_n, /* 563 */
+ Parrot_fdiv_n_nc, /* 564 */
+ Parrot_fdiv_p_p, /* 565 */
+ Parrot_fdiv_p_i, /* 566 */
+ Parrot_fdiv_p_ic, /* 567 */
+ Parrot_fdiv_p_n, /* 568 */
+ Parrot_fdiv_p_nc, /* 569 */
+ Parrot_fdiv_i_i_i, /* 570 */
+ Parrot_fdiv_i_ic_i, /* 571 */
+ Parrot_fdiv_i_i_ic, /* 572 */
+ Parrot_fdiv_n_n_n, /* 573 */
+ Parrot_fdiv_n_nc_n, /* 574 */
+ Parrot_fdiv_n_n_nc, /* 575 */
+ Parrot_fdiv_p_p_p, /* 576 */
+ Parrot_fdiv_p_p_i, /* 577 */
+ Parrot_fdiv_p_p_ic, /* 578 */
+ Parrot_fdiv_p_p_n, /* 579 */
+ Parrot_fdiv_p_p_nc, /* 580 */
+ Parrot_ceil_n, /* 581 */
+ Parrot_ceil_i_n, /* 582 */
+ Parrot_ceil_n_n, /* 583 */
+ Parrot_floor_n, /* 584 */
+ Parrot_floor_i_n, /* 585 */
+ Parrot_floor_n_n, /* 586 */
+ Parrot_inc_i, /* 587 */
+ Parrot_inc_n, /* 588 */
+ Parrot_inc_p, /* 589 */
+ Parrot_mod_i_i, /* 590 */
+ Parrot_mod_i_ic, /* 591 */
+ Parrot_mod_n_n, /* 592 */
+ Parrot_mod_n_nc, /* 593 */
+ Parrot_mod_p_p, /* 594 */
+ Parrot_mod_p_i, /* 595 */
+ Parrot_mod_p_ic, /* 596 */
+ Parrot_mod_p_n, /* 597 */
+ Parrot_mod_p_nc, /* 598 */
+ Parrot_mod_i_i_i, /* 599 */
+ Parrot_mod_i_ic_i, /* 600 */
+ Parrot_mod_i_i_ic, /* 601 */
+ Parrot_mod_n_n_n, /* 602 */
+ Parrot_mod_n_nc_n, /* 603 */
+ Parrot_mod_n_n_nc, /* 604 */
+ Parrot_mod_p_p_p, /* 605 */
+ Parrot_mod_p_p_i, /* 606 */
+ Parrot_mod_p_p_ic, /* 607 */
+ Parrot_mod_p_p_n, /* 608 */
+ Parrot_mod_p_p_nc, /* 609 */
+ Parrot_mul_i_i, /* 610 */
+ Parrot_mul_i_ic, /* 611 */
+ Parrot_mul_n_n, /* 612 */
+ Parrot_mul_n_nc, /* 613 */
+ Parrot_mul_p_p, /* 614 */
+ Parrot_mul_p_i, /* 615 */
+ Parrot_mul_p_ic, /* 616 */
+ Parrot_mul_p_n, /* 617 */
+ Parrot_mul_p_nc, /* 618 */
+ Parrot_mul_i_i_i, /* 619 */
+ Parrot_mul_i_ic_i, /* 620 */
+ Parrot_mul_i_i_ic, /* 621 */
+ Parrot_mul_n_n_n, /* 622 */
+ Parrot_mul_n_nc_n, /* 623 */
+ Parrot_mul_n_n_nc, /* 624 */
+ Parrot_mul_p_p_p, /* 625 */
+ Parrot_mul_p_p_i, /* 626 */
+ Parrot_mul_p_p_ic, /* 627 */
+ Parrot_mul_p_p_n, /* 628 */
+ Parrot_mul_p_p_nc, /* 629 */
+ Parrot_neg_i, /* 630 */
+ Parrot_neg_n, /* 631 */
+ Parrot_neg_p, /* 632 */
+ Parrot_neg_i_i, /* 633 */
+ Parrot_neg_n_n, /* 634 */
+ Parrot_neg_p_p, /* 635 */
+ Parrot_pow_n_n_n, /* 636 */
+ Parrot_pow_n_nc_n, /* 637 */
+ Parrot_pow_n_n_nc, /* 638 */
+ Parrot_pow_p_p_p, /* 639 */
+ Parrot_pow_p_p_i, /* 640 */
+ Parrot_pow_p_p_ic, /* 641 */
+ Parrot_pow_p_p_n, /* 642 */
+ Parrot_pow_p_p_nc, /* 643 */
+ Parrot_pow_n_n_i, /* 644 */
+ Parrot_pow_n_nc_i, /* 645 */
+ Parrot_pow_n_n_ic, /* 646 */
+ Parrot_pow_n_nc_ic, /* 647 */
+ Parrot_sub_i_i, /* 648 */
+ Parrot_sub_i_ic, /* 649 */
+ Parrot_sub_n_n, /* 650 */
+ Parrot_sub_n_nc, /* 651 */
+ Parrot_sub_p_p, /* 652 */
+ Parrot_sub_p_i, /* 653 */
+ Parrot_sub_p_ic, /* 654 */
+ Parrot_sub_p_n, /* 655 */
+ Parrot_sub_p_nc, /* 656 */
+ Parrot_sub_i_i_i, /* 657 */
+ Parrot_sub_i_ic_i, /* 658 */
+ Parrot_sub_i_i_ic, /* 659 */
+ Parrot_sub_n_n_n, /* 660 */
+ Parrot_sub_n_nc_n, /* 661 */
+ Parrot_sub_n_n_nc, /* 662 */
+ Parrot_sub_p_p_p, /* 663 */
+ Parrot_sub_p_p_i, /* 664 */
+ Parrot_sub_p_p_ic, /* 665 */
+ Parrot_sub_p_p_n, /* 666 */
+ Parrot_sub_p_p_nc, /* 667 */
+ Parrot_sqrt_n_n, /* 668 */
+ Parrot_acos_n_n, /* 669 */
+ Parrot_asec_n_n, /* 670 */
+ Parrot_asin_n_n, /* 671 */
+ Parrot_atan_n_n, /* 672 */
+ Parrot_atan_n_n_n, /* 673 */
+ Parrot_atan_n_nc_n, /* 674 */
+ Parrot_atan_n_n_nc, /* 675 */
+ Parrot_cos_n_n, /* 676 */
+ Parrot_cosh_n_n, /* 677 */
+ Parrot_exp_n_n, /* 678 */
+ Parrot_ln_n_n, /* 679 */
+ Parrot_log10_n_n, /* 680 */
+ Parrot_log2_n_n, /* 681 */
+ Parrot_sec_n_n, /* 682 */
+ Parrot_sech_n_n, /* 683 */
+ Parrot_sin_n_n, /* 684 */
+ Parrot_sinh_n_n, /* 685 */
+ Parrot_tan_n_n, /* 686 */
+ Parrot_tanh_n_n, /* 687 */
+ Parrot_callmethodcc_p_s, /* 688 */
+ Parrot_callmethodcc_p_sc, /* 689 */
+ Parrot_callmethodcc_p_p, /* 690 */
+ Parrot_callmethod_p_s_p, /* 691 */
+ Parrot_callmethod_p_sc_p, /* 692 */
+ Parrot_callmethod_p_p_p, /* 693 */
+ Parrot_tailcallmethod_p_s, /* 694 */
+ Parrot_tailcallmethod_p_sc, /* 695 */
+ Parrot_tailcallmethod_p_p, /* 696 */
+ Parrot_addmethod_p_s_p, /* 697 */
+ Parrot_addmethod_p_sc_p, /* 698 */
+ Parrot_can_i_p_s, /* 699 */
+ Parrot_can_i_p_sc, /* 700 */
+ Parrot_does_i_p_s, /* 701 */
+ Parrot_does_i_p_sc, /* 702 */
+ Parrot_does_i_p_p, /* 703 */
+ Parrot_does_i_p_pc, /* 704 */
+ Parrot_isa_i_p_s, /* 705 */
+ Parrot_isa_i_p_sc, /* 706 */
+ Parrot_isa_i_p_p, /* 707 */
+ Parrot_isa_i_p_pc, /* 708 */
+ Parrot_newclass_p_s, /* 709 */
+ Parrot_newclass_p_sc, /* 710 */
+ Parrot_newclass_p_p, /* 711 */
+ Parrot_newclass_p_pc, /* 712 */
+ Parrot_subclass_p_p, /* 713 */
+ Parrot_subclass_p_pc, /* 714 */
+ Parrot_subclass_p_p_s, /* 715 */
+ Parrot_subclass_p_pc_s, /* 716 */
+ Parrot_subclass_p_p_sc, /* 717 */
+ Parrot_subclass_p_pc_sc, /* 718 */
+ Parrot_subclass_p_p_p, /* 719 */
+ Parrot_subclass_p_pc_p, /* 720 */
+ Parrot_subclass_p_p_pc, /* 721 */
+ Parrot_subclass_p_pc_pc, /* 722 */
+ Parrot_subclass_p_s, /* 723 */
+ Parrot_subclass_p_sc, /* 724 */
+ Parrot_subclass_p_s_s, /* 725 */
+ Parrot_subclass_p_sc_s, /* 726 */
+ Parrot_subclass_p_s_sc, /* 727 */
+ Parrot_subclass_p_sc_sc, /* 728 */
+ Parrot_subclass_p_s_p, /* 729 */
+ Parrot_subclass_p_sc_p, /* 730 */
+ Parrot_subclass_p_s_pc, /* 731 */
+ Parrot_subclass_p_sc_pc, /* 732 */
+ Parrot_get_class_p_s, /* 733 */
+ Parrot_get_class_p_sc, /* 734 */
+ Parrot_get_class_p_p, /* 735 */
+ Parrot_get_class_p_pc, /* 736 */
+ Parrot_class_p_p, /* 737 */
+ Parrot_addparent_p_p, /* 738 */
+ Parrot_removeparent_p_p, /* 739 */
+ Parrot_addrole_p_p, /* 740 */
+ Parrot_addattribute_p_s, /* 741 */
+ Parrot_addattribute_p_sc, /* 742 */
+ Parrot_removeattribute_p_s, /* 743 */
+ Parrot_removeattribute_p_sc, /* 744 */
+ Parrot_getattribute_p_p_s, /* 745 */
+ Parrot_getattribute_p_p_sc, /* 746 */
+ Parrot_getattribute_p_p_p_s, /* 747 */
+ Parrot_getattribute_p_p_pc_s, /* 748 */
+ Parrot_getattribute_p_p_p_sc, /* 749 */
+ Parrot_getattribute_p_p_pc_sc, /* 750 */
+ Parrot_setattribute_p_s_p, /* 751 */
+ Parrot_setattribute_p_sc_p, /* 752 */
+ Parrot_setattribute_p_p_s_p, /* 753 */
+ Parrot_setattribute_p_pc_s_p, /* 754 */
+ Parrot_setattribute_p_p_sc_p, /* 755 */
+ Parrot_setattribute_p_pc_sc_p, /* 756 */
+ Parrot_inspect_p_p, /* 757 */
+ Parrot_inspect_p_pc, /* 758 */
+ Parrot_inspect_p_p_s, /* 759 */
+ Parrot_inspect_p_pc_s, /* 760 */
+ Parrot_inspect_p_p_sc, /* 761 */
+ Parrot_inspect_p_pc_sc, /* 762 */
+ Parrot_new_p_s, /* 763 */
+ Parrot_new_p_sc, /* 764 */
+ Parrot_new_p_s_p, /* 765 */
+ Parrot_new_p_sc_p, /* 766 */
+ Parrot_new_p_s_pc, /* 767 */
+ Parrot_new_p_sc_pc, /* 768 */
+ Parrot_new_p_p, /* 769 */
+ Parrot_new_p_pc, /* 770 */
+ Parrot_new_p_p_p, /* 771 */
+ Parrot_new_p_pc_p, /* 772 */
+ Parrot_new_p_p_pc, /* 773 */
+ Parrot_new_p_pc_pc, /* 774 */
+ Parrot_root_new_p_p, /* 775 */
+ Parrot_root_new_p_pc, /* 776 */
+ Parrot_root_new_p_p_p, /* 777 */
+ Parrot_root_new_p_pc_p, /* 778 */
+ Parrot_root_new_p_p_pc, /* 779 */
+ Parrot_root_new_p_pc_pc, /* 780 */
+ Parrot_typeof_s_p, /* 781 */
+ Parrot_typeof_p_p, /* 782 */
+ Parrot_get_repr_s_p, /* 783 */
+ Parrot_find_method_p_p_s, /* 784 */
+ Parrot_find_method_p_p_sc, /* 785 */
+ Parrot_defined_i_p, /* 786 */
+ Parrot_defined_i_p_ki, /* 787 */
+ Parrot_defined_i_p_kic, /* 788 */
+ Parrot_defined_i_p_k, /* 789 */
+ Parrot_defined_i_p_kc, /* 790 */
+ Parrot_exists_i_p_ki, /* 791 */
+ Parrot_exists_i_p_kic, /* 792 */
+ Parrot_exists_i_p_k, /* 793 */
+ Parrot_exists_i_p_kc, /* 794 */
+ Parrot_delete_p_k, /* 795 */
+ Parrot_delete_p_kc, /* 796 */
+ Parrot_delete_p_ki, /* 797 */
+ Parrot_delete_p_kic, /* 798 */
+ Parrot_elements_i_p, /* 799 */
+ Parrot_push_p_i, /* 800 */
+ Parrot_push_p_ic, /* 801 */
+ Parrot_push_p_n, /* 802 */
+ Parrot_push_p_nc, /* 803 */
+ Parrot_push_p_s, /* 804 */
+ Parrot_push_p_sc, /* 805 */
+ Parrot_push_p_p, /* 806 */
+ Parrot_pop_i_p, /* 807 */
+ Parrot_pop_n_p, /* 808 */
+ Parrot_pop_s_p, /* 809 */
+ Parrot_pop_p_p, /* 810 */
+ Parrot_unshift_p_i, /* 811 */
+ Parrot_unshift_p_ic, /* 812 */
+ Parrot_unshift_p_n, /* 813 */
+ Parrot_unshift_p_nc, /* 814 */
+ Parrot_unshift_p_s, /* 815 */
+ Parrot_unshift_p_sc, /* 816 */
+ Parrot_unshift_p_p, /* 817 */
+ Parrot_shift_i_p, /* 818 */
+ Parrot_shift_n_p, /* 819 */
+ Parrot_shift_s_p, /* 820 */
+ Parrot_shift_p_p, /* 821 */
+ Parrot_splice_p_p_i_i, /* 822 */
+ Parrot_splice_p_p_ic_i, /* 823 */
+ Parrot_splice_p_p_i_ic, /* 824 */
+ Parrot_splice_p_p_ic_ic, /* 825 */
+ Parrot_setprop_p_s_p, /* 826 */
+ Parrot_setprop_p_sc_p, /* 827 */
+ Parrot_getprop_p_s_p, /* 828 */
+ Parrot_getprop_p_sc_p, /* 829 */
+ Parrot_delprop_p_s, /* 830 */
+ Parrot_delprop_p_sc, /* 831 */
+ Parrot_prophash_p_p, /* 832 */
+ Parrot_freeze_s_p, /* 833 */
+ Parrot_thaw_p_s, /* 834 */
+ Parrot_thaw_p_sc, /* 835 */
+ Parrot_add_multi_s_s_p, /* 836 */
+ Parrot_add_multi_sc_s_p, /* 837 */
+ Parrot_add_multi_s_sc_p, /* 838 */
+ Parrot_add_multi_sc_sc_p, /* 839 */
+ Parrot_find_multi_p_s_s, /* 840 */
+ Parrot_find_multi_p_sc_s, /* 841 */
+ Parrot_find_multi_p_s_sc, /* 842 */
+ Parrot_find_multi_p_sc_sc, /* 843 */
+ Parrot_register_p, /* 844 */
+ Parrot_unregister_p, /* 845 */
+ Parrot_box_p_i, /* 846 */
+ Parrot_box_p_ic, /* 847 */
+ Parrot_box_p_n, /* 848 */
+ Parrot_box_p_nc, /* 849 */
+ Parrot_box_p_s, /* 850 */
+ Parrot_box_p_sc, /* 851 */
+ Parrot_iter_p_p, /* 852 */
+ Parrot_morph_p_p, /* 853 */
+ Parrot_morph_p_pc, /* 854 */
+ Parrot_clone_s_s, /* 855 */
+ Parrot_clone_s_sc, /* 856 */
+ Parrot_set_i_i, /* 857 */
+ Parrot_set_i_ic, /* 858 */
+ Parrot_set_i_n, /* 859 */
+ Parrot_set_i_nc, /* 860 */
+ Parrot_set_i_s, /* 861 */
+ Parrot_set_i_sc, /* 862 */
+ Parrot_set_n_n, /* 863 */
+ Parrot_set_n_nc, /* 864 */
+ Parrot_set_n_i, /* 865 */
+ Parrot_set_n_ic, /* 866 */
+ Parrot_set_n_s, /* 867 */
+ Parrot_set_n_sc, /* 868 */
+ Parrot_set_n_p, /* 869 */
+ Parrot_set_s_p, /* 870 */
+ Parrot_set_s_s, /* 871 */
+ Parrot_set_s_sc, /* 872 */
+ Parrot_set_s_i, /* 873 */
+ Parrot_set_s_ic, /* 874 */
+ Parrot_set_s_n, /* 875 */
+ Parrot_set_s_nc, /* 876 */
+ Parrot_set_p_pc, /* 877 */
+ Parrot_set_p_p, /* 878 */
+ Parrot_set_p_i, /* 879 */
+ Parrot_set_p_ic, /* 880 */
+ Parrot_set_p_n, /* 881 */
+ Parrot_set_p_nc, /* 882 */
+ Parrot_set_p_s, /* 883 */
+ Parrot_set_p_sc, /* 884 */
+ Parrot_set_i_p, /* 885 */
+ Parrot_assign_p_p, /* 886 */
+ Parrot_assign_p_i, /* 887 */
+ Parrot_assign_p_ic, /* 888 */
+ Parrot_assign_p_n, /* 889 */
+ Parrot_assign_p_nc, /* 890 */
+ Parrot_assign_p_s, /* 891 */
+ Parrot_assign_p_sc, /* 892 */
+ Parrot_assign_s_s, /* 893 */
+ Parrot_assign_s_sc, /* 894 */
+ Parrot_setref_p_p, /* 895 */
+ Parrot_deref_p_p, /* 896 */
+ Parrot_set_p_ki_i, /* 897 */
+ Parrot_set_p_kic_i, /* 898 */
+ Parrot_set_p_ki_ic, /* 899 */
+ Parrot_set_p_kic_ic, /* 900 */
+ Parrot_set_p_ki_n, /* 901 */
+ Parrot_set_p_kic_n, /* 902 */
+ Parrot_set_p_ki_nc, /* 903 */
+ Parrot_set_p_kic_nc, /* 904 */
+ Parrot_set_p_ki_s, /* 905 */
+ Parrot_set_p_kic_s, /* 906 */
+ Parrot_set_p_ki_sc, /* 907 */
+ Parrot_set_p_kic_sc, /* 908 */
+ Parrot_set_p_ki_p, /* 909 */
+ Parrot_set_p_kic_p, /* 910 */
+ Parrot_set_i_p_ki, /* 911 */
+ Parrot_set_i_p_kic, /* 912 */
+ Parrot_set_n_p_ki, /* 913 */
+ Parrot_set_n_p_kic, /* 914 */
+ Parrot_set_s_p_ki, /* 915 */
+ Parrot_set_s_p_kic, /* 916 */
+ Parrot_set_p_p_ki, /* 917 */
+ Parrot_set_p_p_kic, /* 918 */
+ Parrot_set_p_k_i, /* 919 */
+ Parrot_set_p_kc_i, /* 920 */
+ Parrot_set_p_k_ic, /* 921 */
+ Parrot_set_p_kc_ic, /* 922 */
+ Parrot_set_p_k_n, /* 923 */
+ Parrot_set_p_kc_n, /* 924 */
+ Parrot_set_p_k_nc, /* 925 */
+ Parrot_set_p_kc_nc, /* 926 */
+ Parrot_set_p_k_s, /* 927 */
+ Parrot_set_p_kc_s, /* 928 */
+ Parrot_set_p_k_sc, /* 929 */
+ Parrot_set_p_kc_sc, /* 930 */
+ Parrot_set_p_k_p, /* 931 */
+ Parrot_set_p_kc_p, /* 932 */
+ Parrot_set_i_p_k, /* 933 */
+ Parrot_set_i_p_kc, /* 934 */
+ Parrot_set_n_p_k, /* 935 */
+ Parrot_set_n_p_kc, /* 936 */
+ Parrot_set_s_p_k, /* 937 */
+ Parrot_set_s_p_kc, /* 938 */
+ Parrot_set_p_p_k, /* 939 */
+ Parrot_set_p_p_kc, /* 940 */
+ Parrot_clone_p_p, /* 941 */
+ Parrot_clone_p_p_p, /* 942 */
+ Parrot_clone_p_p_pc, /* 943 */
+ Parrot_copy_p_p, /* 944 */
+ Parrot_null_s, /* 945 */
+ Parrot_null_i, /* 946 */
+ Parrot_null_p, /* 947 */
+ Parrot_null_n, /* 948 */
+ Parrot_ord_i_s, /* 949 */
+ Parrot_ord_i_sc, /* 950 */
+ Parrot_ord_i_s_i, /* 951 */
+ Parrot_ord_i_sc_i, /* 952 */
+ Parrot_ord_i_s_ic, /* 953 */
+ Parrot_ord_i_sc_ic, /* 954 */
+ Parrot_chr_s_i, /* 955 */
+ Parrot_chr_s_ic, /* 956 */
+ Parrot_chopn_s_s_i, /* 957 */
+ Parrot_chopn_s_sc_i, /* 958 */
+ Parrot_chopn_s_s_ic, /* 959 */
+ Parrot_chopn_s_sc_ic, /* 960 */
+ Parrot_concat_s_s, /* 961 */
+ Parrot_concat_s_sc, /* 962 */
+ Parrot_concat_p_p, /* 963 */
+ Parrot_concat_p_s, /* 964 */
+ Parrot_concat_p_sc, /* 965 */
+ Parrot_concat_s_s_s, /* 966 */
+ Parrot_concat_s_sc_s, /* 967 */
+ Parrot_concat_s_s_sc, /* 968 */
+ Parrot_concat_p_p_s, /* 969 */
+ Parrot_concat_p_p_sc, /* 970 */
+ Parrot_concat_p_p_p, /* 971 */
+ Parrot_repeat_s_s_i, /* 972 */
+ Parrot_repeat_s_sc_i, /* 973 */
+ Parrot_repeat_s_s_ic, /* 974 */
+ Parrot_repeat_s_sc_ic, /* 975 */
+ Parrot_repeat_p_p_i, /* 976 */
+ Parrot_repeat_p_p_ic, /* 977 */
+ Parrot_repeat_p_p_p, /* 978 */
+ Parrot_repeat_p_i, /* 979 */
+ Parrot_repeat_p_ic, /* 980 */
+ Parrot_repeat_p_p, /* 981 */
+ Parrot_length_i_s, /* 982 */
+ Parrot_length_i_sc, /* 983 */
+ Parrot_bytelength_i_s, /* 984 */
+ Parrot_bytelength_i_sc, /* 985 */
+ Parrot_pin_s, /* 986 */
+ Parrot_unpin_s, /* 987 */
+ Parrot_substr_s_s_i, /* 988 */
+ Parrot_substr_s_sc_i, /* 989 */
+ Parrot_substr_s_s_ic, /* 990 */
+ Parrot_substr_s_sc_ic, /* 991 */
+ Parrot_substr_s_s_i_i, /* 992 */
+ Parrot_substr_s_sc_i_i, /* 993 */
+ Parrot_substr_s_s_ic_i, /* 994 */
+ Parrot_substr_s_sc_ic_i, /* 995 */
+ Parrot_substr_s_s_i_ic, /* 996 */
+ Parrot_substr_s_sc_i_ic, /* 997 */
+ Parrot_substr_s_s_ic_ic, /* 998 */
+ Parrot_substr_s_sc_ic_ic, /* 999 */
+ Parrot_substr_s_p_i_i, /* 1000 */
+ Parrot_substr_s_p_ic_i, /* 1001 */
+ Parrot_substr_s_p_i_ic, /* 1002 */
+ Parrot_substr_s_p_ic_ic, /* 1003 */
+ Parrot_replace_s_s_i_i_s, /* 1004 */
+ Parrot_replace_s_sc_i_i_s, /* 1005 */
+ Parrot_replace_s_s_ic_i_s, /* 1006 */
+ Parrot_replace_s_sc_ic_i_s, /* 1007 */
+ Parrot_replace_s_s_i_ic_s, /* 1008 */
+ Parrot_replace_s_sc_i_ic_s, /* 1009 */
+ Parrot_replace_s_s_ic_ic_s, /* 1010 */
+ Parrot_replace_s_sc_ic_ic_s, /* 1011 */
+ Parrot_replace_s_s_i_i_sc, /* 1012 */
+ Parrot_replace_s_sc_i_i_sc, /* 1013 */
+ Parrot_replace_s_s_ic_i_sc, /* 1014 */
+ Parrot_replace_s_sc_ic_i_sc, /* 1015 */
+ Parrot_replace_s_s_i_ic_sc, /* 1016 */
+ Parrot_replace_s_sc_i_ic_sc, /* 1017 */
+ Parrot_replace_s_s_ic_ic_sc, /* 1018 */
+ Parrot_replace_s_sc_ic_ic_sc, /* 1019 */
+ Parrot_index_i_s_s, /* 1020 */
+ Parrot_index_i_sc_s, /* 1021 */
+ Parrot_index_i_s_sc, /* 1022 */
+ Parrot_index_i_sc_sc, /* 1023 */
+ Parrot_index_i_s_s_i, /* 1024 */
+ Parrot_index_i_sc_s_i, /* 1025 */
+ Parrot_index_i_s_sc_i, /* 1026 */
+ Parrot_index_i_sc_sc_i, /* 1027 */
+ Parrot_index_i_s_s_ic, /* 1028 */
+ Parrot_index_i_sc_s_ic, /* 1029 */
+ Parrot_index_i_s_sc_ic, /* 1030 */
+ Parrot_index_i_sc_sc_ic, /* 1031 */
+ Parrot_sprintf_s_s_p, /* 1032 */
+ Parrot_sprintf_s_sc_p, /* 1033 */
+ Parrot_sprintf_p_p_p, /* 1034 */
+ Parrot_new_s, /* 1035 */
+ Parrot_new_s_i, /* 1036 */
+ Parrot_new_s_ic, /* 1037 */
+ Parrot_stringinfo_i_s_i, /* 1038 */
+ Parrot_stringinfo_i_sc_i, /* 1039 */
+ Parrot_stringinfo_i_s_ic, /* 1040 */
+ Parrot_stringinfo_i_sc_ic, /* 1041 */
+ Parrot_upcase_s_s, /* 1042 */
+ Parrot_upcase_s_sc, /* 1043 */
+ Parrot_downcase_s_s, /* 1044 */
+ Parrot_downcase_s_sc, /* 1045 */
+ Parrot_titlecase_s_s, /* 1046 */
+ Parrot_titlecase_s_sc, /* 1047 */
+ Parrot_join_s_s_p, /* 1048 */
+ Parrot_join_s_sc_p, /* 1049 */
+ Parrot_split_p_s_s, /* 1050 */
+ Parrot_split_p_sc_s, /* 1051 */
+ Parrot_split_p_s_sc, /* 1052 */
+ Parrot_split_p_sc_sc, /* 1053 */
+ Parrot_charset_i_s, /* 1054 */
+ Parrot_charset_i_sc, /* 1055 */
+ Parrot_charsetname_s_i, /* 1056 */
+ Parrot_charsetname_s_ic, /* 1057 */
+ Parrot_find_charset_i_s, /* 1058 */
+ Parrot_find_charset_i_sc, /* 1059 */
+ Parrot_trans_charset_s_s_i, /* 1060 */
+ Parrot_trans_charset_s_sc_i, /* 1061 */
+ Parrot_trans_charset_s_s_ic, /* 1062 */
+ Parrot_trans_charset_s_sc_ic, /* 1063 */
+ Parrot_encoding_i_s, /* 1064 */
+ Parrot_encoding_i_sc, /* 1065 */
+ Parrot_encodingname_s_i, /* 1066 */
+ Parrot_encodingname_s_ic, /* 1067 */
+ Parrot_find_encoding_i_s, /* 1068 */
+ Parrot_find_encoding_i_sc, /* 1069 */
+ Parrot_trans_encoding_s_s_i, /* 1070 */
+ Parrot_trans_encoding_s_sc_i, /* 1071 */
+ Parrot_trans_encoding_s_s_ic, /* 1072 */
+ Parrot_trans_encoding_s_sc_ic, /* 1073 */
+ Parrot_is_cclass_i_i_s_i, /* 1074 */
+ Parrot_is_cclass_i_ic_s_i, /* 1075 */
+ Parrot_is_cclass_i_i_sc_i, /* 1076 */
+ Parrot_is_cclass_i_ic_sc_i, /* 1077 */
+ Parrot_is_cclass_i_i_s_ic, /* 1078 */
+ Parrot_is_cclass_i_ic_s_ic, /* 1079 */
+ Parrot_is_cclass_i_i_sc_ic, /* 1080 */
+ Parrot_is_cclass_i_ic_sc_ic, /* 1081 */
+ Parrot_find_cclass_i_i_s_i_i, /* 1082 */
+ Parrot_find_cclass_i_ic_s_i_i, /* 1083 */
+ Parrot_find_cclass_i_i_sc_i_i, /* 1084 */
+ Parrot_find_cclass_i_ic_sc_i_i, /* 1085 */
+ Parrot_find_cclass_i_i_s_ic_i, /* 1086 */
+ Parrot_find_cclass_i_ic_s_ic_i, /* 1087 */
+ Parrot_find_cclass_i_i_sc_ic_i, /* 1088 */
+ Parrot_find_cclass_i_ic_sc_ic_i, /* 1089 */
+ Parrot_find_cclass_i_i_s_i_ic, /* 1090 */
+ Parrot_find_cclass_i_ic_s_i_ic, /* 1091 */
+ Parrot_find_cclass_i_i_sc_i_ic, /* 1092 */
+ Parrot_find_cclass_i_ic_sc_i_ic, /* 1093 */
+ Parrot_find_cclass_i_i_s_ic_ic, /* 1094 */
+ Parrot_find_cclass_i_ic_s_ic_ic, /* 1095 */
+ Parrot_find_cclass_i_i_sc_ic_ic, /* 1096 */
+ Parrot_find_cclass_i_ic_sc_ic_ic, /* 1097 */
+ Parrot_find_not_cclass_i_i_s_i_i, /* 1098 */
+ Parrot_find_not_cclass_i_ic_s_i_i, /* 1099 */
+ Parrot_find_not_cclass_i_i_sc_i_i, /* 1100 */
+ Parrot_find_not_cclass_i_ic_sc_i_i, /* 1101 */
+ Parrot_find_not_cclass_i_i_s_ic_i, /* 1102 */
+ Parrot_find_not_cclass_i_ic_s_ic_i, /* 1103 */
+ Parrot_find_not_cclass_i_i_sc_ic_i, /* 1104 */
+ Parrot_find_not_cclass_i_ic_sc_ic_i, /* 1105 */
+ Parrot_find_not_cclass_i_i_s_i_ic, /* 1106 */
+ Parrot_find_not_cclass_i_ic_s_i_ic, /* 1107 */
+ Parrot_find_not_cclass_i_i_sc_i_ic, /* 1108 */
+ Parrot_find_not_cclass_i_ic_sc_i_ic, /* 1109 */
+ Parrot_find_not_cclass_i_i_s_ic_ic, /* 1110 */
+ Parrot_find_not_cclass_i_ic_s_ic_ic, /* 1111 */
+ Parrot_find_not_cclass_i_i_sc_ic_ic, /* 1112 */
+ Parrot_find_not_cclass_i_ic_sc_ic_ic, /* 1113 */
+ Parrot_escape_s_s, /* 1114 */
+ Parrot_compose_s_s, /* 1115 */
+ Parrot_compose_s_sc, /* 1116 */
+ Parrot_spawnw_i_s, /* 1117 */
+ Parrot_spawnw_i_sc, /* 1118 */
+ Parrot_spawnw_i_p, /* 1119 */
+ Parrot_err_i, /* 1120 */
+ Parrot_err_s, /* 1121 */
+ Parrot_err_s_i, /* 1122 */
+ Parrot_err_s_ic, /* 1123 */
+ Parrot_time_i, /* 1124 */
+ Parrot_time_n, /* 1125 */
+ Parrot_gmtime_s_i, /* 1126 */
+ Parrot_gmtime_s_ic, /* 1127 */
+ Parrot_localtime_s_i, /* 1128 */
+ Parrot_localtime_s_ic, /* 1129 */
+ Parrot_decodetime_p_i, /* 1130 */
+ Parrot_decodetime_p_ic, /* 1131 */
+ Parrot_decodelocaltime_p_i, /* 1132 */
+ Parrot_decodelocaltime_p_ic, /* 1133 */
+ Parrot_sysinfo_s_i, /* 1134 */
+ Parrot_sysinfo_s_ic, /* 1135 */
+ Parrot_sysinfo_i_i, /* 1136 */
+ Parrot_sysinfo_i_ic, /* 1137 */
+ Parrot_sleep_i, /* 1138 */
+ Parrot_sleep_ic, /* 1139 */
+ Parrot_sleep_n, /* 1140 */
+ Parrot_sleep_nc, /* 1141 */
+ Parrot_store_lex_s_p, /* 1142 */
+ Parrot_store_lex_sc_p, /* 1143 */
+ Parrot_store_dynamic_lex_s_p, /* 1144 */
+ Parrot_store_dynamic_lex_sc_p, /* 1145 */
+ Parrot_find_lex_p_s, /* 1146 */
+ Parrot_find_lex_p_sc, /* 1147 */
+ Parrot_find_dynamic_lex_p_s, /* 1148 */
+ Parrot_find_dynamic_lex_p_sc, /* 1149 */
+ Parrot_find_caller_lex_p_s, /* 1150 */
+ Parrot_find_caller_lex_p_sc, /* 1151 */
+ Parrot_get_namespace_p, /* 1152 */
+ Parrot_get_namespace_p_p, /* 1153 */
+ Parrot_get_namespace_p_pc, /* 1154 */
+ Parrot_get_hll_namespace_p, /* 1155 */
+ Parrot_get_hll_namespace_p_p, /* 1156 */
+ Parrot_get_hll_namespace_p_pc, /* 1157 */
+ Parrot_get_root_namespace_p, /* 1158 */
+ Parrot_get_root_namespace_p_p, /* 1159 */
+ Parrot_get_root_namespace_p_pc, /* 1160 */
+ Parrot_get_global_p_s, /* 1161 */
+ Parrot_get_global_p_sc, /* 1162 */
+ Parrot_get_global_p_p_s, /* 1163 */
+ Parrot_get_global_p_pc_s, /* 1164 */
+ Parrot_get_global_p_p_sc, /* 1165 */
+ Parrot_get_global_p_pc_sc, /* 1166 */
+ Parrot_get_hll_global_p_s, /* 1167 */
+ Parrot_get_hll_global_p_sc, /* 1168 */
+ Parrot_get_hll_global_p_p_s, /* 1169 */
+ Parrot_get_hll_global_p_pc_s, /* 1170 */
+ Parrot_get_hll_global_p_p_sc, /* 1171 */
+ Parrot_get_hll_global_p_pc_sc, /* 1172 */
+ Parrot_get_root_global_p_s, /* 1173 */
+ Parrot_get_root_global_p_sc, /* 1174 */
+ Parrot_get_root_global_p_p_s, /* 1175 */
+ Parrot_get_root_global_p_pc_s, /* 1176 */
+ Parrot_get_root_global_p_p_sc, /* 1177 */
+ Parrot_get_root_global_p_pc_sc, /* 1178 */
+ Parrot_set_global_s_p, /* 1179 */
+ Parrot_set_global_sc_p, /* 1180 */
+ Parrot_set_global_p_s_p, /* 1181 */
+ Parrot_set_global_pc_s_p, /* 1182 */
+ Parrot_set_global_p_sc_p, /* 1183 */
+ Parrot_set_global_pc_sc_p, /* 1184 */
+ Parrot_set_hll_global_s_p, /* 1185 */
+ Parrot_set_hll_global_sc_p, /* 1186 */
+ Parrot_set_hll_global_p_s_p, /* 1187 */
+ Parrot_set_hll_global_pc_s_p, /* 1188 */
+ Parrot_set_hll_global_p_sc_p, /* 1189 */
+ Parrot_set_hll_global_pc_sc_p, /* 1190 */
+ Parrot_set_root_global_s_p, /* 1191 */
+ Parrot_set_root_global_sc_p, /* 1192 */
+ Parrot_set_root_global_p_s_p, /* 1193 */
+ Parrot_set_root_global_pc_s_p, /* 1194 */
+ Parrot_set_root_global_p_sc_p, /* 1195 */
+ Parrot_set_root_global_pc_sc_p, /* 1196 */
+ Parrot_find_name_p_s, /* 1197 */
+ Parrot_find_name_p_sc, /* 1198 */
+ Parrot_find_sub_not_null_p_s, /* 1199 */
+ Parrot_find_sub_not_null_p_sc, /* 1200 */
+ Parrot_trap, /* 1201 */
+ Parrot_set_label_p_ic, /* 1202 */
+ Parrot_get_label_i_p, /* 1203 */
+ Parrot_fetch_p_p_p_p, /* 1204 */
+ Parrot_fetch_p_pc_p_p, /* 1205 */
+ Parrot_fetch_p_p_pc_p, /* 1206 */
+ Parrot_fetch_p_pc_pc_p, /* 1207 */
+ Parrot_fetch_p_p_p_pc, /* 1208 */
+ Parrot_fetch_p_pc_p_pc, /* 1209 */
+ Parrot_fetch_p_p_pc_pc, /* 1210 */
+ Parrot_fetch_p_pc_pc_pc, /* 1211 */
+ Parrot_fetch_p_p_i_p, /* 1212 */
+ Parrot_fetch_p_pc_i_p, /* 1213 */
+ Parrot_fetch_p_p_ic_p, /* 1214 */
+ Parrot_fetch_p_pc_ic_p, /* 1215 */
+ Parrot_fetch_p_p_i_pc, /* 1216 */
+ Parrot_fetch_p_pc_i_pc, /* 1217 */
+ Parrot_fetch_p_p_ic_pc, /* 1218 */
+ Parrot_fetch_p_pc_ic_pc, /* 1219 */
+ Parrot_fetch_p_p_s_p, /* 1220 */
+ Parrot_fetch_p_pc_s_p, /* 1221 */
+ Parrot_fetch_p_p_sc_p, /* 1222 */
+ Parrot_fetch_p_pc_sc_p, /* 1223 */
+ Parrot_fetch_p_p_s_pc, /* 1224 */
+ Parrot_fetch_p_pc_s_pc, /* 1225 */
+ Parrot_fetch_p_p_sc_pc, /* 1226 */
+ Parrot_fetch_p_pc_sc_pc, /* 1227 */
+ Parrot_vivify_p_p_p_p, /* 1228 */
+ Parrot_vivify_p_pc_p_p, /* 1229 */
+ Parrot_vivify_p_p_pc_p, /* 1230 */
+ Parrot_vivify_p_pc_pc_p, /* 1231 */
+ Parrot_vivify_p_p_p_pc, /* 1232 */
+ Parrot_vivify_p_pc_p_pc, /* 1233 */
+ Parrot_vivify_p_p_pc_pc, /* 1234 */
+ Parrot_vivify_p_pc_pc_pc, /* 1235 */
+ Parrot_vivify_p_p_i_p, /* 1236 */
+ Parrot_vivify_p_pc_i_p, /* 1237 */
+ Parrot_vivify_p_p_ic_p, /* 1238 */
+ Parrot_vivify_p_pc_ic_p, /* 1239 */
+ Parrot_vivify_p_p_i_pc, /* 1240 */
+ Parrot_vivify_p_pc_i_pc, /* 1241 */
+ Parrot_vivify_p_p_ic_pc, /* 1242 */
+ Parrot_vivify_p_pc_ic_pc, /* 1243 */
+ Parrot_vivify_p_p_s_p, /* 1244 */
+ Parrot_vivify_p_pc_s_p, /* 1245 */
+ Parrot_vivify_p_p_sc_p, /* 1246 */
+ Parrot_vivify_p_pc_sc_p, /* 1247 */
+ Parrot_vivify_p_p_s_pc, /* 1248 */
+ Parrot_vivify_p_pc_s_pc, /* 1249 */
+ Parrot_vivify_p_p_sc_pc, /* 1250 */
+ Parrot_vivify_p_pc_sc_pc, /* 1251 */
+ Parrot_new_p_s_i, /* 1252 */
+ Parrot_new_p_sc_i, /* 1253 */
+ Parrot_new_p_s_ic, /* 1254 */
+ Parrot_new_p_sc_ic, /* 1255 */
+ Parrot_new_p_p_i, /* 1256 */
+ Parrot_new_p_pc_i, /* 1257 */
+ Parrot_new_p_p_ic, /* 1258 */
+ Parrot_new_p_pc_ic, /* 1259 */
+ Parrot_root_new_p_p_i, /* 1260 */
+ Parrot_root_new_p_pc_i, /* 1261 */
+ Parrot_root_new_p_p_ic, /* 1262 */
+ Parrot_root_new_p_pc_ic, /* 1263 */
+ Parrot_find_codepoint_i_s, /* 1264 */
+ Parrot_find_codepoint_i_sc, /* 1265 */
+ Parrot_unroll_p, /* 1266 */
+ Parrot_unroll_pc, /* 1267 */
+
+ NULL /* NULL function pointer */
+};
+
+
+
+/*
+** Op Info Table:
+*/
+
+static op_info_t core_op_info_table[1269] = {
+ { /* 0 */
+ /* type PARROT_INLINE_OP, */
+ "end",
+ "end",
+ "Parrot_end",
+ /* "", body */
+ 0,
+ 1,
+ { (arg_type_t) 0 },
+ { (arg_dir_t) 0 },
+ { 0 }
+ },
+ { /* 1 */
+ /* type PARROT_INLINE_OP, */
+ "noop",
+ "noop",
+ "Parrot_noop",
+ /* "", body */
+ 0,
+ 1,
+ { (arg_type_t) 0 },
+ { (arg_dir_t) 0 },
+ { 0 }
+ },
+ { /* 2 */
+ /* type PARROT_INLINE_OP, */
+ "check_events",
+ "check_events",
+ "Parrot_check_events",
+ /* "", body */
+ 0,
+ 1,
+ { (arg_type_t) 0 },
+ { (arg_dir_t) 0 },
+ { 0 }
+ },
+ { /* 3 */
+ /* type PARROT_INLINE_OP, */
+ "check_events__",
+ "check_events__",
+ "Parrot_check_events__",
+ /* "", body */
+ 0,
+ 1,
+ { (arg_type_t) 0 },
+ { (arg_dir_t) 0 },
+ { 0 }
+ },
+ { /* 4 */
+ /* type PARROT_INLINE_OP, */
+ "wrapper__",
+ "wrapper__",
+ "Parrot_wrapper__",
+ /* "", body */
+ 0,
+ 1,
+ { (arg_type_t) 0 },
+ { (arg_dir_t) 0 },
+ { 0 }
+ },
+ { /* 5 */
+ /* type PARROT_INLINE_OP, */
+ "load_bytecode",
+ "load_bytecode_s",
+ "Parrot_load_bytecode_s",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_S },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 6 */
+ /* type PARROT_INLINE_OP, */
+ "load_bytecode",
+ "load_bytecode_sc",
+ "Parrot_load_bytecode_sc",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_SC },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 7 */
+ /* type PARROT_INLINE_OP, */
+ "load_language",
+ "load_language_s",
+ "Parrot_load_language_s",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_S },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 8 */
+ /* type PARROT_INLINE_OP, */
+ "load_language",
+ "load_language_sc",
+ "Parrot_load_language_sc",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_SC },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 9 */
+ /* type PARROT_INLINE_OP, */
+ "branch",
+ "branch_i",
+ "Parrot_branch_i",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 2,
+ { PARROT_ARG_I },
+ { PARROT_ARGDIR_IN },
+ { 1 }
+ },
+ { /* 10 */
+ /* type PARROT_INLINE_OP, */
+ "branch",
+ "branch_ic",
+ "Parrot_branch_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 2,
+ { PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN },
+ { 1 }
+ },
+ { /* 11 */
+ /* type PARROT_INLINE_OP, */
+ "local_branch",
+ "local_branch_p_i",
+ "Parrot_local_branch_p_i",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 1 }
+ },
+ { /* 12 */
+ /* type PARROT_INLINE_OP, */
+ "local_branch",
+ "local_branch_p_ic",
+ "Parrot_local_branch_p_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 1 }
+ },
+ { /* 13 */
+ /* type PARROT_INLINE_OP, */
+ "local_return",
+ "local_return_p",
+ "Parrot_local_return_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 14 */
+ /* type PARROT_INLINE_OP, */
+ "jump",
+ "jump_i",
+ "Parrot_jump_i",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_I },
+ { PARROT_ARGDIR_IN },
+ { 1 }
+ },
+ { /* 15 */
+ /* type PARROT_INLINE_OP, */
+ "jump",
+ "jump_ic",
+ "Parrot_jump_ic",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN },
+ { 1 }
+ },
+ { /* 16 */
+ /* type PARROT_FUNCTION_OP, */
+ "enternative",
+ "enternative",
+ "Parrot_enternative",
+ /* "", body */
+ 0,
+ 1,
+ { (arg_type_t) 0 },
+ { (arg_dir_t) 0 },
+ { 0 }
+ },
+ { /* 17 */
+ /* type PARROT_INLINE_OP, */
+ "if",
+ "if_i_ic",
+ "Parrot_if_i_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 1 }
+ },
+ { /* 18 */
+ /* type PARROT_INLINE_OP, */
+ "if",
+ "if_n_ic",
+ "Parrot_if_n_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 1 }
+ },
+ { /* 19 */
+ /* type PARROT_FUNCTION_OP, */
+ "if",
+ "if_s_ic",
+ "Parrot_if_s_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 1 }
+ },
+ { /* 20 */
+ /* type PARROT_FUNCTION_OP, */
+ "if",
+ "if_p_ic",
+ "Parrot_if_p_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 1 }
+ },
+ { /* 21 */
+ /* type PARROT_INLINE_OP, */
+ "unless",
+ "unless_i_ic",
+ "Parrot_unless_i_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 1 }
+ },
+ { /* 22 */
+ /* type PARROT_INLINE_OP, */
+ "unless",
+ "unless_n_ic",
+ "Parrot_unless_n_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 1 }
+ },
+ { /* 23 */
+ /* type PARROT_FUNCTION_OP, */
+ "unless",
+ "unless_s_ic",
+ "Parrot_unless_s_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 1 }
+ },
+ { /* 24 */
+ /* type PARROT_FUNCTION_OP, */
+ "unless",
+ "unless_p_ic",
+ "Parrot_unless_p_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 1 }
+ },
+ { /* 25 */
+ /* type PARROT_INLINE_OP, */
+ "invokecc",
+ "invokecc_p",
+ "Parrot_invokecc_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 26 */
+ /* type PARROT_INLINE_OP, */
+ "invoke",
+ "invoke_p_p",
+ "Parrot_invoke_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 27 */
+ /* type PARROT_INLINE_OP, */
+ "yield",
+ "yield",
+ "Parrot_yield",
+ /* "", body */
+ 0,
+ 1,
+ { (arg_type_t) 0 },
+ { (arg_dir_t) 0 },
+ { 0 }
+ },
+ { /* 28 */
+ /* type PARROT_INLINE_OP, */
+ "tailcall",
+ "tailcall_p",
+ "Parrot_tailcall_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 29 */
+ /* type PARROT_INLINE_OP, */
+ "returncc",
+ "returncc",
+ "Parrot_returncc",
+ /* "", body */
+ 0,
+ 1,
+ { (arg_type_t) 0 },
+ { (arg_dir_t) 0 },
+ { 0 }
+ },
+ { /* 30 */
+ /* type PARROT_INLINE_OP, */
+ "capture_lex",
+ "capture_lex_p",
+ "Parrot_capture_lex_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 31 */
+ /* type PARROT_INLINE_OP, */
+ "newclosure",
+ "newclosure_p_p",
+ "Parrot_newclosure_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 32 */
+ /* type PARROT_FUNCTION_OP, */
+ "set_args",
+ "set_args_pc",
+ "Parrot_set_args_pc",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 2,
+ { PARROT_ARG_PC },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 33 */
+ /* type PARROT_FUNCTION_OP, */
+ "get_params",
+ "get_params_pc",
+ "Parrot_get_params_pc",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 2,
+ { PARROT_ARG_PC },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 34 */
+ /* type PARROT_FUNCTION_OP, */
+ "set_returns",
+ "set_returns_pc",
+ "Parrot_set_returns_pc",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 2,
+ { PARROT_ARG_PC },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 35 */
+ /* type PARROT_FUNCTION_OP, */
+ "get_results",
+ "get_results_pc",
+ "Parrot_get_results_pc",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 2,
+ { PARROT_ARG_PC },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 36 */
+ /* type PARROT_INLINE_OP, */
+ "set_result_info",
+ "set_result_info_p",
+ "Parrot_set_result_info_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 37 */
+ /* type PARROT_INLINE_OP, */
+ "set_result_info",
+ "set_result_info_pc",
+ "Parrot_set_result_info_pc",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_PC },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 38 */
+ /* type PARROT_INLINE_OP, */
+ "result_info",
+ "result_info_p",
+ "Parrot_result_info_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT },
+ { 0 }
+ },
+ { /* 39 */
+ /* type PARROT_INLINE_OP, */
+ "set_addr",
+ "set_addr_i_ic",
+ "Parrot_set_addr_i_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 1 }
+ },
+ { /* 40 */
+ /* type PARROT_INLINE_OP, */
+ "set_addr",
+ "set_addr_p_ic",
+ "Parrot_set_addr_p_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 1 }
+ },
+ { /* 41 */
+ /* type PARROT_INLINE_OP, */
+ "set_addr",
+ "set_addr_p_i",
+ "Parrot_set_addr_p_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 1 }
+ },
+ { /* 42 */
+ /* type PARROT_INLINE_OP, */
+ "get_addr",
+ "get_addr_i_p",
+ "Parrot_get_addr_i_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 43 */
+ /* type PARROT_INLINE_OP, */
+ "schedule",
+ "schedule_p",
+ "Parrot_schedule_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 44 */
+ /* type PARROT_INLINE_OP, */
+ "addhandler",
+ "addhandler_p",
+ "Parrot_addhandler_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 45 */
+ /* type PARROT_INLINE_OP, */
+ "push_eh",
+ "push_eh_ic",
+ "Parrot_push_eh_ic",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN },
+ { 1 }
+ },
+ { /* 46 */
+ /* type PARROT_INLINE_OP, */
+ "push_eh",
+ "push_eh_p",
+ "Parrot_push_eh_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 47 */
+ /* type PARROT_INLINE_OP, */
+ "pop_eh",
+ "pop_eh",
+ "Parrot_pop_eh",
+ /* "", body */
+ 0,
+ 1,
+ { (arg_type_t) 0 },
+ { (arg_dir_t) 0 },
+ { 0 }
+ },
+ { /* 48 */
+ /* type PARROT_INLINE_OP, */
+ "throw",
+ "throw_p",
+ "Parrot_throw_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 49 */
+ /* type PARROT_INLINE_OP, */
+ "throw",
+ "throw_p_p",
+ "Parrot_throw_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 50 */
+ /* type PARROT_INLINE_OP, */
+ "rethrow",
+ "rethrow_p",
+ "Parrot_rethrow_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 51 */
+ /* type PARROT_INLINE_OP, */
+ "count_eh",
+ "count_eh_i",
+ "Parrot_count_eh_i",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT },
+ { 0 }
+ },
+ { /* 52 */
+ /* type PARROT_INLINE_OP, */
+ "die",
+ "die_s",
+ "Parrot_die_s",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_S },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 53 */
+ /* type PARROT_INLINE_OP, */
+ "die",
+ "die_sc",
+ "Parrot_die_sc",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_SC },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 54 */
+ /* type PARROT_INLINE_OP, */
+ "die",
+ "die_p",
+ "Parrot_die_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 55 */
+ /* type PARROT_INLINE_OP, */
+ "die",
+ "die_pc",
+ "Parrot_die_pc",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_PC },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 56 */
+ /* type PARROT_INLINE_OP, */
+ "die",
+ "die_i_i",
+ "Parrot_die_i_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 57 */
+ /* type PARROT_INLINE_OP, */
+ "die",
+ "die_ic_i",
+ "Parrot_die_ic_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 58 */
+ /* type PARROT_INLINE_OP, */
+ "die",
+ "die_i_ic",
+ "Parrot_die_i_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 59 */
+ /* type PARROT_INLINE_OP, */
+ "die",
+ "die_ic_ic",
+ "Parrot_die_ic_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_IC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 60 */
+ /* type PARROT_INLINE_OP, */
+ "exit",
+ "exit_i",
+ "Parrot_exit_i",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_I },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 61 */
+ /* type PARROT_INLINE_OP, */
+ "exit",
+ "exit_ic",
+ "Parrot_exit_ic",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 62 */
+ /* type PARROT_INLINE_OP, */
+ "debug",
+ "debug_i",
+ "Parrot_debug_i",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_I },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 63 */
+ /* type PARROT_INLINE_OP, */
+ "debug",
+ "debug_ic",
+ "Parrot_debug_ic",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 64 */
+ /* type PARROT_INLINE_OP, */
+ "bounds",
+ "bounds_i",
+ "Parrot_bounds_i",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_I },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 65 */
+ /* type PARROT_INLINE_OP, */
+ "bounds",
+ "bounds_ic",
+ "Parrot_bounds_ic",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 66 */
+ /* type PARROT_INLINE_OP, */
+ "profile",
+ "profile_i",
+ "Parrot_profile_i",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_I },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 67 */
+ /* type PARROT_INLINE_OP, */
+ "profile",
+ "profile_ic",
+ "Parrot_profile_ic",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 68 */
+ /* type PARROT_INLINE_OP, */
+ "trace",
+ "trace_i",
+ "Parrot_trace_i",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_I },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 69 */
+ /* type PARROT_INLINE_OP, */
+ "trace",
+ "trace_ic",
+ "Parrot_trace_ic",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 70 */
+ /* type PARROT_INLINE_OP, */
+ "gc_debug",
+ "gc_debug_i",
+ "Parrot_gc_debug_i",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_I },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 71 */
+ /* type PARROT_INLINE_OP, */
+ "gc_debug",
+ "gc_debug_ic",
+ "Parrot_gc_debug_ic",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 72 */
+ /* type PARROT_FUNCTION_OP, */
+ "interpinfo",
+ "interpinfo_i_i",
+ "Parrot_interpinfo_i_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 73 */
+ /* type PARROT_FUNCTION_OP, */
+ "interpinfo",
+ "interpinfo_i_ic",
+ "Parrot_interpinfo_i_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 74 */
+ /* type PARROT_FUNCTION_OP, */
+ "interpinfo",
+ "interpinfo_p_i",
+ "Parrot_interpinfo_p_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 75 */
+ /* type PARROT_FUNCTION_OP, */
+ "interpinfo",
+ "interpinfo_p_ic",
+ "Parrot_interpinfo_p_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 76 */
+ /* type PARROT_FUNCTION_OP, */
+ "interpinfo",
+ "interpinfo_s_i",
+ "Parrot_interpinfo_s_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 77 */
+ /* type PARROT_FUNCTION_OP, */
+ "interpinfo",
+ "interpinfo_s_ic",
+ "Parrot_interpinfo_s_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 78 */
+ /* type PARROT_INLINE_OP, */
+ "warningson",
+ "warningson_i",
+ "Parrot_warningson_i",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_I },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 79 */
+ /* type PARROT_INLINE_OP, */
+ "warningson",
+ "warningson_ic",
+ "Parrot_warningson_ic",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 80 */
+ /* type PARROT_INLINE_OP, */
+ "warningsoff",
+ "warningsoff_i",
+ "Parrot_warningsoff_i",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_I },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 81 */
+ /* type PARROT_INLINE_OP, */
+ "warningsoff",
+ "warningsoff_ic",
+ "Parrot_warningsoff_ic",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 82 */
+ /* type PARROT_INLINE_OP, */
+ "errorson",
+ "errorson_i",
+ "Parrot_errorson_i",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_I },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 83 */
+ /* type PARROT_INLINE_OP, */
+ "errorson",
+ "errorson_ic",
+ "Parrot_errorson_ic",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 84 */
+ /* type PARROT_INLINE_OP, */
+ "errorsoff",
+ "errorsoff_i",
+ "Parrot_errorsoff_i",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_I },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 85 */
+ /* type PARROT_INLINE_OP, */
+ "errorsoff",
+ "errorsoff_ic",
+ "Parrot_errorsoff_ic",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 86 */
+ /* type PARROT_FUNCTION_OP, */
+ "runinterp",
+ "runinterp_p_i",
+ "Parrot_runinterp_p_i",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 1 }
+ },
+ { /* 87 */
+ /* type PARROT_FUNCTION_OP, */
+ "runinterp",
+ "runinterp_p_ic",
+ "Parrot_runinterp_p_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 1 }
+ },
+ { /* 88 */
+ /* type PARROT_FUNCTION_OP, */
+ "getinterp",
+ "getinterp_p",
+ "Parrot_getinterp_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT },
+ { 0 }
+ },
+ { /* 89 */
+ /* type PARROT_FUNCTION_OP, */
+ "sweep",
+ "sweep_ic",
+ "Parrot_sweep_ic",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 90 */
+ /* type PARROT_FUNCTION_OP, */
+ "collect",
+ "collect",
+ "Parrot_collect",
+ /* "", body */
+ 0,
+ 1,
+ { (arg_type_t) 0 },
+ { (arg_dir_t) 0 },
+ { 0 }
+ },
+ { /* 91 */
+ /* type PARROT_FUNCTION_OP, */
+ "sweepoff",
+ "sweepoff",
+ "Parrot_sweepoff",
+ /* "", body */
+ 0,
+ 1,
+ { (arg_type_t) 0 },
+ { (arg_dir_t) 0 },
+ { 0 }
+ },
+ { /* 92 */
+ /* type PARROT_FUNCTION_OP, */
+ "sweepon",
+ "sweepon",
+ "Parrot_sweepon",
+ /* "", body */
+ 0,
+ 1,
+ { (arg_type_t) 0 },
+ { (arg_dir_t) 0 },
+ { 0 }
+ },
+ { /* 93 */
+ /* type PARROT_FUNCTION_OP, */
+ "collectoff",
+ "collectoff",
+ "Parrot_collectoff",
+ /* "", body */
+ 0,
+ 1,
+ { (arg_type_t) 0 },
+ { (arg_dir_t) 0 },
+ { 0 }
+ },
+ { /* 94 */
+ /* type PARROT_FUNCTION_OP, */
+ "collecton",
+ "collecton",
+ "Parrot_collecton",
+ /* "", body */
+ 0,
+ 1,
+ { (arg_type_t) 0 },
+ { (arg_dir_t) 0 },
+ { 0 }
+ },
+ { /* 95 */
+ /* type PARROT_FUNCTION_OP, */
+ "needs_destroy",
+ "needs_destroy_p",
+ "Parrot_needs_destroy_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 96 */
+ /* type PARROT_INLINE_OP, */
+ "loadlib",
+ "loadlib_p_s",
+ "Parrot_loadlib_p_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 97 */
+ /* type PARROT_INLINE_OP, */
+ "loadlib",
+ "loadlib_p_sc",
+ "Parrot_loadlib_p_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 98 */
+ /* type PARROT_INLINE_OP, */
+ "loadlib",
+ "loadlib_p_s_p",
+ "Parrot_loadlib_p_s_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 99 */
+ /* type PARROT_INLINE_OP, */
+ "loadlib",
+ "loadlib_p_sc_p",
+ "Parrot_loadlib_p_sc_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 100 */
+ /* type PARROT_INLINE_OP, */
+ "loadlib",
+ "loadlib_p_s_pc",
+ "Parrot_loadlib_p_s_pc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 101 */
+ /* type PARROT_INLINE_OP, */
+ "loadlib",
+ "loadlib_p_sc_pc",
+ "Parrot_loadlib_p_sc_pc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 102 */
+ /* type PARROT_FUNCTION_OP, */
+ "dlfunc",
+ "dlfunc_p_p_s_s",
+ "Parrot_dlfunc_p_p_s_s",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 103 */
+ /* type PARROT_FUNCTION_OP, */
+ "dlfunc",
+ "dlfunc_p_p_sc_s",
+ "Parrot_dlfunc_p_p_sc_s",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 104 */
+ /* type PARROT_FUNCTION_OP, */
+ "dlfunc",
+ "dlfunc_p_p_s_sc",
+ "Parrot_dlfunc_p_p_s_sc",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 105 */
+ /* type PARROT_FUNCTION_OP, */
+ "dlfunc",
+ "dlfunc_p_p_sc_sc",
+ "Parrot_dlfunc_p_p_sc_sc",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 106 */
+ /* type PARROT_FUNCTION_OP, */
+ "dlvar",
+ "dlvar_p_p_s",
+ "Parrot_dlvar_p_p_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 107 */
+ /* type PARROT_FUNCTION_OP, */
+ "dlvar",
+ "dlvar_p_p_sc",
+ "Parrot_dlvar_p_p_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 108 */
+ /* type PARROT_INLINE_OP, */
+ "compreg",
+ "compreg_s_p",
+ "Parrot_compreg_s_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 109 */
+ /* type PARROT_INLINE_OP, */
+ "compreg",
+ "compreg_sc_p",
+ "Parrot_compreg_sc_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_SC, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 110 */
+ /* type PARROT_INLINE_OP, */
+ "compreg",
+ "compreg_p_s",
+ "Parrot_compreg_p_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 111 */
+ /* type PARROT_INLINE_OP, */
+ "compreg",
+ "compreg_p_sc",
+ "Parrot_compreg_p_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 112 */
+ /* type PARROT_FUNCTION_OP, */
+ "new_callback",
+ "new_callback_p_p_p_s",
+ "Parrot_new_callback_p_p_p_s",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 113 */
+ /* type PARROT_FUNCTION_OP, */
+ "new_callback",
+ "new_callback_p_p_p_sc",
+ "Parrot_new_callback_p_p_p_sc",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 114 */
+ /* type PARROT_INLINE_OP, */
+ "annotations",
+ "annotations_p",
+ "Parrot_annotations_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT },
+ { 0 }
+ },
+ { /* 115 */
+ /* type PARROT_INLINE_OP, */
+ "annotations",
+ "annotations_p_s",
+ "Parrot_annotations_p_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 116 */
+ /* type PARROT_INLINE_OP, */
+ "annotations",
+ "annotations_p_sc",
+ "Parrot_annotations_p_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 117 */
+ /* type PARROT_INLINE_OP, */
+ "band",
+ "band_i_i",
+ "Parrot_band_i_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 118 */
+ /* type PARROT_INLINE_OP, */
+ "band",
+ "band_i_ic",
+ "Parrot_band_i_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 119 */
+ /* type PARROT_INLINE_OP, */
+ "band",
+ "band_p_i",
+ "Parrot_band_p_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 120 */
+ /* type PARROT_INLINE_OP, */
+ "band",
+ "band_p_ic",
+ "Parrot_band_p_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 121 */
+ /* type PARROT_INLINE_OP, */
+ "band",
+ "band_p_p",
+ "Parrot_band_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 122 */
+ /* type PARROT_INLINE_OP, */
+ "band",
+ "band_i_i_i",
+ "Parrot_band_i_i_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 123 */
+ /* type PARROT_INLINE_OP, */
+ "band",
+ "band_i_ic_i",
+ "Parrot_band_i_ic_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 124 */
+ /* type PARROT_INLINE_OP, */
+ "band",
+ "band_i_i_ic",
+ "Parrot_band_i_i_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 125 */
+ /* type PARROT_INLINE_OP, */
+ "band",
+ "band_p_p_i",
+ "Parrot_band_p_p_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 126 */
+ /* type PARROT_INLINE_OP, */
+ "band",
+ "band_p_p_ic",
+ "Parrot_band_p_p_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 127 */
+ /* type PARROT_INLINE_OP, */
+ "band",
+ "band_p_p_p",
+ "Parrot_band_p_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 128 */
+ /* type PARROT_INLINE_OP, */
+ "bands",
+ "bands_p_s",
+ "Parrot_bands_p_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 129 */
+ /* type PARROT_INLINE_OP, */
+ "bands",
+ "bands_p_sc",
+ "Parrot_bands_p_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 130 */
+ /* type PARROT_INLINE_OP, */
+ "bands",
+ "bands_p_p",
+ "Parrot_bands_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 131 */
+ /* type PARROT_INLINE_OP, */
+ "bands",
+ "bands_s_s_s",
+ "Parrot_bands_s_s_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 132 */
+ /* type PARROT_INLINE_OP, */
+ "bands",
+ "bands_s_sc_s",
+ "Parrot_bands_s_sc_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 133 */
+ /* type PARROT_INLINE_OP, */
+ "bands",
+ "bands_s_s_sc",
+ "Parrot_bands_s_s_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 134 */
+ /* type PARROT_INLINE_OP, */
+ "bands",
+ "bands_p_p_s",
+ "Parrot_bands_p_p_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 135 */
+ /* type PARROT_INLINE_OP, */
+ "bands",
+ "bands_p_p_sc",
+ "Parrot_bands_p_p_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 136 */
+ /* type PARROT_INLINE_OP, */
+ "bands",
+ "bands_p_p_p",
+ "Parrot_bands_p_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 137 */
+ /* type PARROT_INLINE_OP, */
+ "bnot",
+ "bnot_i",
+ "Parrot_bnot_i",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_I },
+ { PARROT_ARGDIR_INOUT },
+ { 0 }
+ },
+ { /* 138 */
+ /* type PARROT_INLINE_OP, */
+ "bnot",
+ "bnot_i_i",
+ "Parrot_bnot_i_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 139 */
+ /* type PARROT_INLINE_OP, */
+ "bnot",
+ "bnot_p",
+ "Parrot_bnot_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 140 */
+ /* type PARROT_INLINE_OP, */
+ "bnot",
+ "bnot_p_p",
+ "Parrot_bnot_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 141 */
+ /* type PARROT_INLINE_OP, */
+ "bnots",
+ "bnots_s_s",
+ "Parrot_bnots_s_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 142 */
+ /* type PARROT_INLINE_OP, */
+ "bnots",
+ "bnots_s_sc",
+ "Parrot_bnots_s_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 143 */
+ /* type PARROT_INLINE_OP, */
+ "bnots",
+ "bnots_p",
+ "Parrot_bnots_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 144 */
+ /* type PARROT_INLINE_OP, */
+ "bnots",
+ "bnots_p_p",
+ "Parrot_bnots_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 145 */
+ /* type PARROT_INLINE_OP, */
+ "bor",
+ "bor_i_i",
+ "Parrot_bor_i_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 146 */
+ /* type PARROT_INLINE_OP, */
+ "bor",
+ "bor_i_ic",
+ "Parrot_bor_i_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 147 */
+ /* type PARROT_INLINE_OP, */
+ "bor",
+ "bor_p_i",
+ "Parrot_bor_p_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 148 */
+ /* type PARROT_INLINE_OP, */
+ "bor",
+ "bor_p_ic",
+ "Parrot_bor_p_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 149 */
+ /* type PARROT_INLINE_OP, */
+ "bor",
+ "bor_p_p",
+ "Parrot_bor_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 150 */
+ /* type PARROT_INLINE_OP, */
+ "bor",
+ "bor_i_i_i",
+ "Parrot_bor_i_i_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 151 */
+ /* type PARROT_INLINE_OP, */
+ "bor",
+ "bor_i_ic_i",
+ "Parrot_bor_i_ic_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 152 */
+ /* type PARROT_INLINE_OP, */
+ "bor",
+ "bor_i_i_ic",
+ "Parrot_bor_i_i_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 153 */
+ /* type PARROT_INLINE_OP, */
+ "bor",
+ "bor_p_p_i",
+ "Parrot_bor_p_p_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 154 */
+ /* type PARROT_INLINE_OP, */
+ "bor",
+ "bor_p_p_ic",
+ "Parrot_bor_p_p_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 155 */
+ /* type PARROT_INLINE_OP, */
+ "bor",
+ "bor_p_p_p",
+ "Parrot_bor_p_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 156 */
+ /* type PARROT_INLINE_OP, */
+ "bors",
+ "bors_p_s",
+ "Parrot_bors_p_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 157 */
+ /* type PARROT_INLINE_OP, */
+ "bors",
+ "bors_p_sc",
+ "Parrot_bors_p_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 158 */
+ /* type PARROT_INLINE_OP, */
+ "bors",
+ "bors_p_p",
+ "Parrot_bors_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 159 */
+ /* type PARROT_INLINE_OP, */
+ "bors",
+ "bors_s_s_s",
+ "Parrot_bors_s_s_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 160 */
+ /* type PARROT_INLINE_OP, */
+ "bors",
+ "bors_s_sc_s",
+ "Parrot_bors_s_sc_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 161 */
+ /* type PARROT_INLINE_OP, */
+ "bors",
+ "bors_s_s_sc",
+ "Parrot_bors_s_s_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 162 */
+ /* type PARROT_INLINE_OP, */
+ "bors",
+ "bors_p_p_s",
+ "Parrot_bors_p_p_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 163 */
+ /* type PARROT_INLINE_OP, */
+ "bors",
+ "bors_p_p_sc",
+ "Parrot_bors_p_p_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 164 */
+ /* type PARROT_INLINE_OP, */
+ "bors",
+ "bors_p_p_p",
+ "Parrot_bors_p_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 165 */
+ /* type PARROT_INLINE_OP, */
+ "shl",
+ "shl_i_i",
+ "Parrot_shl_i_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 166 */
+ /* type PARROT_INLINE_OP, */
+ "shl",
+ "shl_i_ic",
+ "Parrot_shl_i_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 167 */
+ /* type PARROT_INLINE_OP, */
+ "shl",
+ "shl_p_i",
+ "Parrot_shl_p_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 168 */
+ /* type PARROT_INLINE_OP, */
+ "shl",
+ "shl_p_ic",
+ "Parrot_shl_p_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 169 */
+ /* type PARROT_INLINE_OP, */
+ "shl",
+ "shl_p_p",
+ "Parrot_shl_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 170 */
+ /* type PARROT_INLINE_OP, */
+ "shl",
+ "shl_i_i_i",
+ "Parrot_shl_i_i_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 171 */
+ /* type PARROT_INLINE_OP, */
+ "shl",
+ "shl_i_ic_i",
+ "Parrot_shl_i_ic_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 172 */
+ /* type PARROT_INLINE_OP, */
+ "shl",
+ "shl_i_i_ic",
+ "Parrot_shl_i_i_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 173 */
+ /* type PARROT_INLINE_OP, */
+ "shl",
+ "shl_p_p_i",
+ "Parrot_shl_p_p_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 174 */
+ /* type PARROT_INLINE_OP, */
+ "shl",
+ "shl_p_p_ic",
+ "Parrot_shl_p_p_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 175 */
+ /* type PARROT_INLINE_OP, */
+ "shl",
+ "shl_p_p_p",
+ "Parrot_shl_p_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 176 */
+ /* type PARROT_INLINE_OP, */
+ "shr",
+ "shr_i_i",
+ "Parrot_shr_i_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 177 */
+ /* type PARROT_INLINE_OP, */
+ "shr",
+ "shr_i_ic",
+ "Parrot_shr_i_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 178 */
+ /* type PARROT_INLINE_OP, */
+ "shr",
+ "shr_p_i",
+ "Parrot_shr_p_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 179 */
+ /* type PARROT_INLINE_OP, */
+ "shr",
+ "shr_p_ic",
+ "Parrot_shr_p_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 180 */
+ /* type PARROT_INLINE_OP, */
+ "shr",
+ "shr_p_p",
+ "Parrot_shr_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 181 */
+ /* type PARROT_INLINE_OP, */
+ "shr",
+ "shr_i_i_i",
+ "Parrot_shr_i_i_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 182 */
+ /* type PARROT_INLINE_OP, */
+ "shr",
+ "shr_i_ic_i",
+ "Parrot_shr_i_ic_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 183 */
+ /* type PARROT_INLINE_OP, */
+ "shr",
+ "shr_i_i_ic",
+ "Parrot_shr_i_i_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 184 */
+ /* type PARROT_INLINE_OP, */
+ "shr",
+ "shr_p_p_i",
+ "Parrot_shr_p_p_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 185 */
+ /* type PARROT_INLINE_OP, */
+ "shr",
+ "shr_p_p_ic",
+ "Parrot_shr_p_p_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 186 */
+ /* type PARROT_INLINE_OP, */
+ "shr",
+ "shr_p_p_p",
+ "Parrot_shr_p_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 187 */
+ /* type PARROT_INLINE_OP, */
+ "lsr",
+ "lsr_i_i",
+ "Parrot_lsr_i_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 188 */
+ /* type PARROT_INLINE_OP, */
+ "lsr",
+ "lsr_i_ic",
+ "Parrot_lsr_i_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 189 */
+ /* type PARROT_INLINE_OP, */
+ "lsr",
+ "lsr_p_i",
+ "Parrot_lsr_p_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 190 */
+ /* type PARROT_INLINE_OP, */
+ "lsr",
+ "lsr_p_ic",
+ "Parrot_lsr_p_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 191 */
+ /* type PARROT_INLINE_OP, */
+ "lsr",
+ "lsr_p_p",
+ "Parrot_lsr_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 192 */
+ /* type PARROT_INLINE_OP, */
+ "lsr",
+ "lsr_i_i_i",
+ "Parrot_lsr_i_i_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 193 */
+ /* type PARROT_INLINE_OP, */
+ "lsr",
+ "lsr_i_ic_i",
+ "Parrot_lsr_i_ic_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 194 */
+ /* type PARROT_INLINE_OP, */
+ "lsr",
+ "lsr_i_i_ic",
+ "Parrot_lsr_i_i_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 195 */
+ /* type PARROT_INLINE_OP, */
+ "lsr",
+ "lsr_p_p_i",
+ "Parrot_lsr_p_p_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 196 */
+ /* type PARROT_INLINE_OP, */
+ "lsr",
+ "lsr_p_p_ic",
+ "Parrot_lsr_p_p_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 197 */
+ /* type PARROT_INLINE_OP, */
+ "lsr",
+ "lsr_p_p_p",
+ "Parrot_lsr_p_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 198 */
+ /* type PARROT_INLINE_OP, */
+ "rot",
+ "rot_i_i_i_ic",
+ "Parrot_rot_i_i_i_ic",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 199 */
+ /* type PARROT_INLINE_OP, */
+ "rot",
+ "rot_i_ic_i_ic",
+ "Parrot_rot_i_ic_i_ic",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 200 */
+ /* type PARROT_INLINE_OP, */
+ "rot",
+ "rot_i_i_ic_ic",
+ "Parrot_rot_i_i_ic_ic",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 201 */
+ /* type PARROT_INLINE_OP, */
+ "bxor",
+ "bxor_i_i",
+ "Parrot_bxor_i_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 202 */
+ /* type PARROT_INLINE_OP, */
+ "bxor",
+ "bxor_i_ic",
+ "Parrot_bxor_i_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 203 */
+ /* type PARROT_INLINE_OP, */
+ "bxor",
+ "bxor_p_i",
+ "Parrot_bxor_p_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 204 */
+ /* type PARROT_INLINE_OP, */
+ "bxor",
+ "bxor_p_ic",
+ "Parrot_bxor_p_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 205 */
+ /* type PARROT_INLINE_OP, */
+ "bxor",
+ "bxor_p_p",
+ "Parrot_bxor_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 206 */
+ /* type PARROT_INLINE_OP, */
+ "bxor",
+ "bxor_i_i_i",
+ "Parrot_bxor_i_i_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 207 */
+ /* type PARROT_INLINE_OP, */
+ "bxor",
+ "bxor_i_ic_i",
+ "Parrot_bxor_i_ic_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 208 */
+ /* type PARROT_INLINE_OP, */
+ "bxor",
+ "bxor_i_i_ic",
+ "Parrot_bxor_i_i_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 209 */
+ /* type PARROT_INLINE_OP, */
+ "bxor",
+ "bxor_p_p_i",
+ "Parrot_bxor_p_p_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 210 */
+ /* type PARROT_INLINE_OP, */
+ "bxor",
+ "bxor_p_p_ic",
+ "Parrot_bxor_p_p_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 211 */
+ /* type PARROT_INLINE_OP, */
+ "bxor",
+ "bxor_p_p_p",
+ "Parrot_bxor_p_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 212 */
+ /* type PARROT_INLINE_OP, */
+ "bxors",
+ "bxors_p_s",
+ "Parrot_bxors_p_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 213 */
+ /* type PARROT_INLINE_OP, */
+ "bxors",
+ "bxors_p_sc",
+ "Parrot_bxors_p_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 214 */
+ /* type PARROT_INLINE_OP, */
+ "bxors",
+ "bxors_p_p",
+ "Parrot_bxors_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 215 */
+ /* type PARROT_INLINE_OP, */
+ "bxors",
+ "bxors_s_s_s",
+ "Parrot_bxors_s_s_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 216 */
+ /* type PARROT_INLINE_OP, */
+ "bxors",
+ "bxors_s_sc_s",
+ "Parrot_bxors_s_sc_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 217 */
+ /* type PARROT_INLINE_OP, */
+ "bxors",
+ "bxors_s_s_sc",
+ "Parrot_bxors_s_s_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 218 */
+ /* type PARROT_INLINE_OP, */
+ "bxors",
+ "bxors_p_p_s",
+ "Parrot_bxors_p_p_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 219 */
+ /* type PARROT_INLINE_OP, */
+ "bxors",
+ "bxors_p_p_sc",
+ "Parrot_bxors_p_p_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 220 */
+ /* type PARROT_INLINE_OP, */
+ "bxors",
+ "bxors_p_p_p",
+ "Parrot_bxors_p_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 221 */
+ /* type PARROT_INLINE_OP, */
+ "eq",
+ "eq_i_i_ic",
+ "Parrot_eq_i_i_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 222 */
+ /* type PARROT_INLINE_OP, */
+ "eq",
+ "eq_ic_i_ic",
+ "Parrot_eq_ic_i_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_IC, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 223 */
+ /* type PARROT_INLINE_OP, */
+ "eq",
+ "eq_i_ic_ic",
+ "Parrot_eq_i_ic_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 224 */
+ /* type PARROT_INLINE_OP, */
+ "eq",
+ "eq_n_n_ic",
+ "Parrot_eq_n_n_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 225 */
+ /* type PARROT_INLINE_OP, */
+ "eq",
+ "eq_nc_n_ic",
+ "Parrot_eq_nc_n_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_NC, PARROT_ARG_N, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 226 */
+ /* type PARROT_INLINE_OP, */
+ "eq",
+ "eq_n_nc_ic",
+ "Parrot_eq_n_nc_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 227 */
+ /* type PARROT_FUNCTION_OP, */
+ "eq",
+ "eq_s_s_ic",
+ "Parrot_eq_s_s_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 228 */
+ /* type PARROT_FUNCTION_OP, */
+ "eq",
+ "eq_sc_s_ic",
+ "Parrot_eq_sc_s_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 229 */
+ /* type PARROT_FUNCTION_OP, */
+ "eq",
+ "eq_s_sc_ic",
+ "Parrot_eq_s_sc_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 230 */
+ /* type PARROT_FUNCTION_OP, */
+ "eq",
+ "eq_p_p_ic",
+ "Parrot_eq_p_p_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 231 */
+ /* type PARROT_FUNCTION_OP, */
+ "eq",
+ "eq_p_i_ic",
+ "Parrot_eq_p_i_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 232 */
+ /* type PARROT_FUNCTION_OP, */
+ "eq",
+ "eq_p_ic_ic",
+ "Parrot_eq_p_ic_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 233 */
+ /* type PARROT_FUNCTION_OP, */
+ "eq",
+ "eq_p_n_ic",
+ "Parrot_eq_p_n_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_N, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 234 */
+ /* type PARROT_FUNCTION_OP, */
+ "eq",
+ "eq_p_nc_ic",
+ "Parrot_eq_p_nc_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_NC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 235 */
+ /* type PARROT_FUNCTION_OP, */
+ "eq",
+ "eq_p_s_ic",
+ "Parrot_eq_p_s_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 236 */
+ /* type PARROT_FUNCTION_OP, */
+ "eq",
+ "eq_p_sc_ic",
+ "Parrot_eq_p_sc_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 237 */
+ /* type PARROT_FUNCTION_OP, */
+ "eq_str",
+ "eq_str_p_p_ic",
+ "Parrot_eq_str_p_p_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 238 */
+ /* type PARROT_FUNCTION_OP, */
+ "eq_num",
+ "eq_num_p_p_ic",
+ "Parrot_eq_num_p_p_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 239 */
+ /* type PARROT_FUNCTION_OP, */
+ "eq_addr",
+ "eq_addr_s_s_ic",
+ "Parrot_eq_addr_s_s_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 240 */
+ /* type PARROT_FUNCTION_OP, */
+ "eq_addr",
+ "eq_addr_sc_s_ic",
+ "Parrot_eq_addr_sc_s_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 241 */
+ /* type PARROT_FUNCTION_OP, */
+ "eq_addr",
+ "eq_addr_s_sc_ic",
+ "Parrot_eq_addr_s_sc_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 242 */
+ /* type PARROT_FUNCTION_OP, */
+ "eq_addr",
+ "eq_addr_sc_sc_ic",
+ "Parrot_eq_addr_sc_sc_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_SC, PARROT_ARG_SC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 243 */
+ /* type PARROT_FUNCTION_OP, */
+ "eq_addr",
+ "eq_addr_p_p_ic",
+ "Parrot_eq_addr_p_p_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 244 */
+ /* type PARROT_INLINE_OP, */
+ "ne",
+ "ne_i_i_ic",
+ "Parrot_ne_i_i_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 245 */
+ /* type PARROT_INLINE_OP, */
+ "ne",
+ "ne_ic_i_ic",
+ "Parrot_ne_ic_i_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_IC, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 246 */
+ /* type PARROT_INLINE_OP, */
+ "ne",
+ "ne_i_ic_ic",
+ "Parrot_ne_i_ic_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 247 */
+ /* type PARROT_INLINE_OP, */
+ "ne",
+ "ne_n_n_ic",
+ "Parrot_ne_n_n_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 248 */
+ /* type PARROT_INLINE_OP, */
+ "ne",
+ "ne_nc_n_ic",
+ "Parrot_ne_nc_n_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_NC, PARROT_ARG_N, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 249 */
+ /* type PARROT_INLINE_OP, */
+ "ne",
+ "ne_n_nc_ic",
+ "Parrot_ne_n_nc_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 250 */
+ /* type PARROT_FUNCTION_OP, */
+ "ne",
+ "ne_s_s_ic",
+ "Parrot_ne_s_s_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 251 */
+ /* type PARROT_FUNCTION_OP, */
+ "ne",
+ "ne_sc_s_ic",
+ "Parrot_ne_sc_s_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 252 */
+ /* type PARROT_FUNCTION_OP, */
+ "ne",
+ "ne_s_sc_ic",
+ "Parrot_ne_s_sc_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 253 */
+ /* type PARROT_FUNCTION_OP, */
+ "ne",
+ "ne_p_p_ic",
+ "Parrot_ne_p_p_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 254 */
+ /* type PARROT_FUNCTION_OP, */
+ "ne",
+ "ne_p_i_ic",
+ "Parrot_ne_p_i_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 255 */
+ /* type PARROT_FUNCTION_OP, */
+ "ne",
+ "ne_p_ic_ic",
+ "Parrot_ne_p_ic_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 256 */
+ /* type PARROT_FUNCTION_OP, */
+ "ne",
+ "ne_p_n_ic",
+ "Parrot_ne_p_n_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_N, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 257 */
+ /* type PARROT_FUNCTION_OP, */
+ "ne",
+ "ne_p_nc_ic",
+ "Parrot_ne_p_nc_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_NC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 258 */
+ /* type PARROT_FUNCTION_OP, */
+ "ne",
+ "ne_p_s_ic",
+ "Parrot_ne_p_s_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 259 */
+ /* type PARROT_FUNCTION_OP, */
+ "ne",
+ "ne_p_sc_ic",
+ "Parrot_ne_p_sc_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 260 */
+ /* type PARROT_FUNCTION_OP, */
+ "ne_str",
+ "ne_str_p_p_ic",
+ "Parrot_ne_str_p_p_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 261 */
+ /* type PARROT_FUNCTION_OP, */
+ "ne_num",
+ "ne_num_p_p_ic",
+ "Parrot_ne_num_p_p_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 262 */
+ /* type PARROT_FUNCTION_OP, */
+ "ne_addr",
+ "ne_addr_s_s_ic",
+ "Parrot_ne_addr_s_s_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 263 */
+ /* type PARROT_FUNCTION_OP, */
+ "ne_addr",
+ "ne_addr_sc_s_ic",
+ "Parrot_ne_addr_sc_s_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 264 */
+ /* type PARROT_FUNCTION_OP, */
+ "ne_addr",
+ "ne_addr_s_sc_ic",
+ "Parrot_ne_addr_s_sc_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 265 */
+ /* type PARROT_FUNCTION_OP, */
+ "ne_addr",
+ "ne_addr_sc_sc_ic",
+ "Parrot_ne_addr_sc_sc_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_SC, PARROT_ARG_SC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 266 */
+ /* type PARROT_FUNCTION_OP, */
+ "ne_addr",
+ "ne_addr_p_p_ic",
+ "Parrot_ne_addr_p_p_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 267 */
+ /* type PARROT_INLINE_OP, */
+ "lt",
+ "lt_i_i_ic",
+ "Parrot_lt_i_i_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 268 */
+ /* type PARROT_INLINE_OP, */
+ "lt",
+ "lt_ic_i_ic",
+ "Parrot_lt_ic_i_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_IC, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 269 */
+ /* type PARROT_INLINE_OP, */
+ "lt",
+ "lt_i_ic_ic",
+ "Parrot_lt_i_ic_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 270 */
+ /* type PARROT_INLINE_OP, */
+ "lt",
+ "lt_n_n_ic",
+ "Parrot_lt_n_n_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 271 */
+ /* type PARROT_INLINE_OP, */
+ "lt",
+ "lt_nc_n_ic",
+ "Parrot_lt_nc_n_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_NC, PARROT_ARG_N, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 272 */
+ /* type PARROT_INLINE_OP, */
+ "lt",
+ "lt_n_nc_ic",
+ "Parrot_lt_n_nc_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 273 */
+ /* type PARROT_FUNCTION_OP, */
+ "lt",
+ "lt_s_s_ic",
+ "Parrot_lt_s_s_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 274 */
+ /* type PARROT_FUNCTION_OP, */
+ "lt",
+ "lt_sc_s_ic",
+ "Parrot_lt_sc_s_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 275 */
+ /* type PARROT_FUNCTION_OP, */
+ "lt",
+ "lt_s_sc_ic",
+ "Parrot_lt_s_sc_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 276 */
+ /* type PARROT_FUNCTION_OP, */
+ "lt",
+ "lt_p_p_ic",
+ "Parrot_lt_p_p_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 277 */
+ /* type PARROT_FUNCTION_OP, */
+ "lt",
+ "lt_p_i_ic",
+ "Parrot_lt_p_i_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 278 */
+ /* type PARROT_FUNCTION_OP, */
+ "lt",
+ "lt_p_ic_ic",
+ "Parrot_lt_p_ic_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 279 */
+ /* type PARROT_FUNCTION_OP, */
+ "lt",
+ "lt_p_n_ic",
+ "Parrot_lt_p_n_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_N, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 280 */
+ /* type PARROT_FUNCTION_OP, */
+ "lt",
+ "lt_p_nc_ic",
+ "Parrot_lt_p_nc_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_NC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 281 */
+ /* type PARROT_FUNCTION_OP, */
+ "lt",
+ "lt_p_s_ic",
+ "Parrot_lt_p_s_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 282 */
+ /* type PARROT_FUNCTION_OP, */
+ "lt",
+ "lt_p_sc_ic",
+ "Parrot_lt_p_sc_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 283 */
+ /* type PARROT_FUNCTION_OP, */
+ "lt_str",
+ "lt_str_p_p_ic",
+ "Parrot_lt_str_p_p_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 284 */
+ /* type PARROT_FUNCTION_OP, */
+ "lt_num",
+ "lt_num_p_p_ic",
+ "Parrot_lt_num_p_p_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 285 */
+ /* type PARROT_INLINE_OP, */
+ "le",
+ "le_i_i_ic",
+ "Parrot_le_i_i_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 286 */
+ /* type PARROT_INLINE_OP, */
+ "le",
+ "le_ic_i_ic",
+ "Parrot_le_ic_i_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_IC, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 287 */
+ /* type PARROT_INLINE_OP, */
+ "le",
+ "le_i_ic_ic",
+ "Parrot_le_i_ic_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 288 */
+ /* type PARROT_INLINE_OP, */
+ "le",
+ "le_n_n_ic",
+ "Parrot_le_n_n_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 289 */
+ /* type PARROT_INLINE_OP, */
+ "le",
+ "le_nc_n_ic",
+ "Parrot_le_nc_n_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_NC, PARROT_ARG_N, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 290 */
+ /* type PARROT_INLINE_OP, */
+ "le",
+ "le_n_nc_ic",
+ "Parrot_le_n_nc_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 291 */
+ /* type PARROT_FUNCTION_OP, */
+ "le",
+ "le_s_s_ic",
+ "Parrot_le_s_s_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 292 */
+ /* type PARROT_FUNCTION_OP, */
+ "le",
+ "le_sc_s_ic",
+ "Parrot_le_sc_s_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 293 */
+ /* type PARROT_FUNCTION_OP, */
+ "le",
+ "le_s_sc_ic",
+ "Parrot_le_s_sc_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 294 */
+ /* type PARROT_FUNCTION_OP, */
+ "le",
+ "le_p_p_ic",
+ "Parrot_le_p_p_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 295 */
+ /* type PARROT_FUNCTION_OP, */
+ "le",
+ "le_p_i_ic",
+ "Parrot_le_p_i_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 296 */
+ /* type PARROT_FUNCTION_OP, */
+ "le",
+ "le_p_ic_ic",
+ "Parrot_le_p_ic_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 297 */
+ /* type PARROT_FUNCTION_OP, */
+ "le",
+ "le_p_n_ic",
+ "Parrot_le_p_n_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_N, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 298 */
+ /* type PARROT_FUNCTION_OP, */
+ "le",
+ "le_p_nc_ic",
+ "Parrot_le_p_nc_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_NC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 299 */
+ /* type PARROT_FUNCTION_OP, */
+ "le",
+ "le_p_s_ic",
+ "Parrot_le_p_s_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 300 */
+ /* type PARROT_FUNCTION_OP, */
+ "le",
+ "le_p_sc_ic",
+ "Parrot_le_p_sc_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 301 */
+ /* type PARROT_FUNCTION_OP, */
+ "le_str",
+ "le_str_p_p_ic",
+ "Parrot_le_str_p_p_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 302 */
+ /* type PARROT_FUNCTION_OP, */
+ "le_num",
+ "le_num_p_p_ic",
+ "Parrot_le_num_p_p_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 303 */
+ /* type PARROT_FUNCTION_OP, */
+ "gt",
+ "gt_p_p_ic",
+ "Parrot_gt_p_p_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 304 */
+ /* type PARROT_FUNCTION_OP, */
+ "gt",
+ "gt_p_i_ic",
+ "Parrot_gt_p_i_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 305 */
+ /* type PARROT_FUNCTION_OP, */
+ "gt",
+ "gt_p_ic_ic",
+ "Parrot_gt_p_ic_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 306 */
+ /* type PARROT_FUNCTION_OP, */
+ "gt",
+ "gt_p_n_ic",
+ "Parrot_gt_p_n_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_N, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 307 */
+ /* type PARROT_FUNCTION_OP, */
+ "gt",
+ "gt_p_nc_ic",
+ "Parrot_gt_p_nc_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_NC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 308 */
+ /* type PARROT_FUNCTION_OP, */
+ "gt",
+ "gt_p_s_ic",
+ "Parrot_gt_p_s_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 309 */
+ /* type PARROT_FUNCTION_OP, */
+ "gt",
+ "gt_p_sc_ic",
+ "Parrot_gt_p_sc_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 310 */
+ /* type PARROT_FUNCTION_OP, */
+ "gt_str",
+ "gt_str_p_p_ic",
+ "Parrot_gt_str_p_p_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 311 */
+ /* type PARROT_FUNCTION_OP, */
+ "gt_num",
+ "gt_num_p_p_ic",
+ "Parrot_gt_num_p_p_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 312 */
+ /* type PARROT_FUNCTION_OP, */
+ "ge",
+ "ge_p_p_ic",
+ "Parrot_ge_p_p_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 313 */
+ /* type PARROT_FUNCTION_OP, */
+ "ge",
+ "ge_p_i_ic",
+ "Parrot_ge_p_i_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 314 */
+ /* type PARROT_FUNCTION_OP, */
+ "ge",
+ "ge_p_ic_ic",
+ "Parrot_ge_p_ic_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 315 */
+ /* type PARROT_FUNCTION_OP, */
+ "ge",
+ "ge_p_n_ic",
+ "Parrot_ge_p_n_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_N, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 316 */
+ /* type PARROT_FUNCTION_OP, */
+ "ge",
+ "ge_p_nc_ic",
+ "Parrot_ge_p_nc_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_NC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 317 */
+ /* type PARROT_FUNCTION_OP, */
+ "ge",
+ "ge_p_s_ic",
+ "Parrot_ge_p_s_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 318 */
+ /* type PARROT_FUNCTION_OP, */
+ "ge",
+ "ge_p_sc_ic",
+ "Parrot_ge_p_sc_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 319 */
+ /* type PARROT_FUNCTION_OP, */
+ "ge_str",
+ "ge_str_p_p_ic",
+ "Parrot_ge_str_p_p_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 320 */
+ /* type PARROT_FUNCTION_OP, */
+ "ge_num",
+ "ge_num_p_p_ic",
+ "Parrot_ge_num_p_p_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 1 }
+ },
+ { /* 321 */
+ /* type PARROT_FUNCTION_OP, */
+ "if_null",
+ "if_null_p_ic",
+ "Parrot_if_null_p_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 1 }
+ },
+ { /* 322 */
+ /* type PARROT_FUNCTION_OP, */
+ "if_null",
+ "if_null_s_ic",
+ "Parrot_if_null_s_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 1 }
+ },
+ { /* 323 */
+ /* type PARROT_FUNCTION_OP, */
+ "unless_null",
+ "unless_null_p_ic",
+ "Parrot_unless_null_p_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 1 }
+ },
+ { /* 324 */
+ /* type PARROT_FUNCTION_OP, */
+ "unless_null",
+ "unless_null_s_ic",
+ "Parrot_unless_null_s_ic",
+ /* "", body */
+ PARROT_JUMP_RELATIVE,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 1 }
+ },
+ { /* 325 */
+ /* type PARROT_INLINE_OP, */
+ "cmp",
+ "cmp_i_i_i",
+ "Parrot_cmp_i_i_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 326 */
+ /* type PARROT_INLINE_OP, */
+ "cmp",
+ "cmp_i_ic_i",
+ "Parrot_cmp_i_ic_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 327 */
+ /* type PARROT_INLINE_OP, */
+ "cmp",
+ "cmp_i_i_ic",
+ "Parrot_cmp_i_i_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 328 */
+ /* type PARROT_INLINE_OP, */
+ "cmp",
+ "cmp_i_n_n",
+ "Parrot_cmp_i_n_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 329 */
+ /* type PARROT_INLINE_OP, */
+ "cmp",
+ "cmp_i_nc_n",
+ "Parrot_cmp_i_nc_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_NC, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 330 */
+ /* type PARROT_INLINE_OP, */
+ "cmp",
+ "cmp_i_n_nc",
+ "Parrot_cmp_i_n_nc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_NC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 331 */
+ /* type PARROT_INLINE_OP, */
+ "cmp",
+ "cmp_i_s_s",
+ "Parrot_cmp_i_s_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 332 */
+ /* type PARROT_INLINE_OP, */
+ "cmp",
+ "cmp_i_sc_s",
+ "Parrot_cmp_i_sc_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 333 */
+ /* type PARROT_INLINE_OP, */
+ "cmp",
+ "cmp_i_s_sc",
+ "Parrot_cmp_i_s_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 334 */
+ /* type PARROT_INLINE_OP, */
+ "cmp",
+ "cmp_i_p_p",
+ "Parrot_cmp_i_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 335 */
+ /* type PARROT_INLINE_OP, */
+ "cmp",
+ "cmp_i_p_i",
+ "Parrot_cmp_i_p_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 336 */
+ /* type PARROT_INLINE_OP, */
+ "cmp",
+ "cmp_i_p_ic",
+ "Parrot_cmp_i_p_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 337 */
+ /* type PARROT_INLINE_OP, */
+ "cmp",
+ "cmp_i_p_n",
+ "Parrot_cmp_i_p_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 338 */
+ /* type PARROT_INLINE_OP, */
+ "cmp",
+ "cmp_i_p_nc",
+ "Parrot_cmp_i_p_nc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_NC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 339 */
+ /* type PARROT_INLINE_OP, */
+ "cmp",
+ "cmp_i_p_s",
+ "Parrot_cmp_i_p_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 340 */
+ /* type PARROT_INLINE_OP, */
+ "cmp",
+ "cmp_i_p_sc",
+ "Parrot_cmp_i_p_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 341 */
+ /* type PARROT_INLINE_OP, */
+ "cmp_str",
+ "cmp_str_i_p_p",
+ "Parrot_cmp_str_i_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 342 */
+ /* type PARROT_INLINE_OP, */
+ "cmp_num",
+ "cmp_num_i_p_p",
+ "Parrot_cmp_num_i_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 343 */
+ /* type PARROT_INLINE_OP, */
+ "cmp_pmc",
+ "cmp_pmc_p_p_p",
+ "Parrot_cmp_pmc_p_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 344 */
+ /* type PARROT_INLINE_OP, */
+ "issame",
+ "issame_i_p_p",
+ "Parrot_issame_i_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 345 */
+ /* type PARROT_INLINE_OP, */
+ "issame",
+ "issame_i_s_s",
+ "Parrot_issame_i_s_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 346 */
+ /* type PARROT_INLINE_OP, */
+ "issame",
+ "issame_i_sc_s",
+ "Parrot_issame_i_sc_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 347 */
+ /* type PARROT_INLINE_OP, */
+ "issame",
+ "issame_i_s_sc",
+ "Parrot_issame_i_s_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 348 */
+ /* type PARROT_INLINE_OP, */
+ "issame",
+ "issame_i_sc_sc",
+ "Parrot_issame_i_sc_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 349 */
+ /* type PARROT_INLINE_OP, */
+ "isntsame",
+ "isntsame_i_p_p",
+ "Parrot_isntsame_i_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 350 */
+ /* type PARROT_INLINE_OP, */
+ "isntsame",
+ "isntsame_i_s_s",
+ "Parrot_isntsame_i_s_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 351 */
+ /* type PARROT_INLINE_OP, */
+ "isntsame",
+ "isntsame_i_sc_s",
+ "Parrot_isntsame_i_sc_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 352 */
+ /* type PARROT_INLINE_OP, */
+ "isntsame",
+ "isntsame_i_s_sc",
+ "Parrot_isntsame_i_s_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 353 */
+ /* type PARROT_INLINE_OP, */
+ "isntsame",
+ "isntsame_i_sc_sc",
+ "Parrot_isntsame_i_sc_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 354 */
+ /* type PARROT_INLINE_OP, */
+ "istrue",
+ "istrue_i_p",
+ "Parrot_istrue_i_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 355 */
+ /* type PARROT_INLINE_OP, */
+ "isfalse",
+ "isfalse_i_p",
+ "Parrot_isfalse_i_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 356 */
+ /* type PARROT_INLINE_OP, */
+ "isnull",
+ "isnull_i_p",
+ "Parrot_isnull_i_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 357 */
+ /* type PARROT_INLINE_OP, */
+ "isnull",
+ "isnull_i_pc",
+ "Parrot_isnull_i_pc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 358 */
+ /* type PARROT_INLINE_OP, */
+ "isnull",
+ "isnull_i_s",
+ "Parrot_isnull_i_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 359 */
+ /* type PARROT_INLINE_OP, */
+ "isnull",
+ "isnull_i_sc",
+ "Parrot_isnull_i_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 360 */
+ /* type PARROT_INLINE_OP, */
+ "isgt",
+ "isgt_i_p_p",
+ "Parrot_isgt_i_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 361 */
+ /* type PARROT_INLINE_OP, */
+ "isge",
+ "isge_i_p_p",
+ "Parrot_isge_i_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 362 */
+ /* type PARROT_INLINE_OP, */
+ "isle",
+ "isle_i_i_i",
+ "Parrot_isle_i_i_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 363 */
+ /* type PARROT_INLINE_OP, */
+ "isle",
+ "isle_i_ic_i",
+ "Parrot_isle_i_ic_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 364 */
+ /* type PARROT_INLINE_OP, */
+ "isle",
+ "isle_i_i_ic",
+ "Parrot_isle_i_i_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 365 */
+ /* type PARROT_INLINE_OP, */
+ "isle",
+ "isle_i_n_n",
+ "Parrot_isle_i_n_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 366 */
+ /* type PARROT_INLINE_OP, */
+ "isle",
+ "isle_i_nc_n",
+ "Parrot_isle_i_nc_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_NC, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 367 */
+ /* type PARROT_INLINE_OP, */
+ "isle",
+ "isle_i_n_nc",
+ "Parrot_isle_i_n_nc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_NC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 368 */
+ /* type PARROT_INLINE_OP, */
+ "isle",
+ "isle_i_s_s",
+ "Parrot_isle_i_s_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 369 */
+ /* type PARROT_INLINE_OP, */
+ "isle",
+ "isle_i_sc_s",
+ "Parrot_isle_i_sc_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 370 */
+ /* type PARROT_INLINE_OP, */
+ "isle",
+ "isle_i_s_sc",
+ "Parrot_isle_i_s_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 371 */
+ /* type PARROT_INLINE_OP, */
+ "isle",
+ "isle_i_p_p",
+ "Parrot_isle_i_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 372 */
+ /* type PARROT_INLINE_OP, */
+ "islt",
+ "islt_i_i_i",
+ "Parrot_islt_i_i_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 373 */
+ /* type PARROT_INLINE_OP, */
+ "islt",
+ "islt_i_ic_i",
+ "Parrot_islt_i_ic_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 374 */
+ /* type PARROT_INLINE_OP, */
+ "islt",
+ "islt_i_i_ic",
+ "Parrot_islt_i_i_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 375 */
+ /* type PARROT_INLINE_OP, */
+ "islt",
+ "islt_i_n_n",
+ "Parrot_islt_i_n_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 376 */
+ /* type PARROT_INLINE_OP, */
+ "islt",
+ "islt_i_nc_n",
+ "Parrot_islt_i_nc_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_NC, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 377 */
+ /* type PARROT_INLINE_OP, */
+ "islt",
+ "islt_i_n_nc",
+ "Parrot_islt_i_n_nc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_NC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 378 */
+ /* type PARROT_INLINE_OP, */
+ "islt",
+ "islt_i_s_s",
+ "Parrot_islt_i_s_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 379 */
+ /* type PARROT_INLINE_OP, */
+ "islt",
+ "islt_i_sc_s",
+ "Parrot_islt_i_sc_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 380 */
+ /* type PARROT_INLINE_OP, */
+ "islt",
+ "islt_i_s_sc",
+ "Parrot_islt_i_s_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 381 */
+ /* type PARROT_INLINE_OP, */
+ "islt",
+ "islt_i_p_p",
+ "Parrot_islt_i_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 382 */
+ /* type PARROT_INLINE_OP, */
+ "iseq",
+ "iseq_i_i_i",
+ "Parrot_iseq_i_i_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 383 */
+ /* type PARROT_INLINE_OP, */
+ "iseq",
+ "iseq_i_ic_i",
+ "Parrot_iseq_i_ic_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 384 */
+ /* type PARROT_INLINE_OP, */
+ "iseq",
+ "iseq_i_i_ic",
+ "Parrot_iseq_i_i_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 385 */
+ /* type PARROT_INLINE_OP, */
+ "iseq",
+ "iseq_i_n_n",
+ "Parrot_iseq_i_n_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 386 */
+ /* type PARROT_INLINE_OP, */
+ "iseq",
+ "iseq_i_nc_n",
+ "Parrot_iseq_i_nc_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_NC, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 387 */
+ /* type PARROT_INLINE_OP, */
+ "iseq",
+ "iseq_i_n_nc",
+ "Parrot_iseq_i_n_nc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_NC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 388 */
+ /* type PARROT_INLINE_OP, */
+ "iseq",
+ "iseq_i_s_s",
+ "Parrot_iseq_i_s_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 389 */
+ /* type PARROT_INLINE_OP, */
+ "iseq",
+ "iseq_i_sc_s",
+ "Parrot_iseq_i_sc_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 390 */
+ /* type PARROT_INLINE_OP, */
+ "iseq",
+ "iseq_i_s_sc",
+ "Parrot_iseq_i_s_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 391 */
+ /* type PARROT_INLINE_OP, */
+ "iseq",
+ "iseq_i_p_p",
+ "Parrot_iseq_i_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 392 */
+ /* type PARROT_INLINE_OP, */
+ "isne",
+ "isne_i_i_i",
+ "Parrot_isne_i_i_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 393 */
+ /* type PARROT_INLINE_OP, */
+ "isne",
+ "isne_i_ic_i",
+ "Parrot_isne_i_ic_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 394 */
+ /* type PARROT_INLINE_OP, */
+ "isne",
+ "isne_i_i_ic",
+ "Parrot_isne_i_i_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 395 */
+ /* type PARROT_INLINE_OP, */
+ "isne",
+ "isne_i_n_n",
+ "Parrot_isne_i_n_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 396 */
+ /* type PARROT_INLINE_OP, */
+ "isne",
+ "isne_i_nc_n",
+ "Parrot_isne_i_nc_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_NC, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 397 */
+ /* type PARROT_INLINE_OP, */
+ "isne",
+ "isne_i_n_nc",
+ "Parrot_isne_i_n_nc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_NC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 398 */
+ /* type PARROT_INLINE_OP, */
+ "isne",
+ "isne_i_s_s",
+ "Parrot_isne_i_s_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 399 */
+ /* type PARROT_INLINE_OP, */
+ "isne",
+ "isne_i_sc_s",
+ "Parrot_isne_i_sc_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 400 */
+ /* type PARROT_INLINE_OP, */
+ "isne",
+ "isne_i_s_sc",
+ "Parrot_isne_i_s_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 401 */
+ /* type PARROT_INLINE_OP, */
+ "isne",
+ "isne_i_p_p",
+ "Parrot_isne_i_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 402 */
+ /* type PARROT_INLINE_OP, */
+ "and",
+ "and_i_i_i",
+ "Parrot_and_i_i_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 403 */
+ /* type PARROT_INLINE_OP, */
+ "and",
+ "and_i_ic_i",
+ "Parrot_and_i_ic_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 404 */
+ /* type PARROT_INLINE_OP, */
+ "and",
+ "and_i_i_ic",
+ "Parrot_and_i_i_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 405 */
+ /* type PARROT_INLINE_OP, */
+ "and",
+ "and_p_p_p",
+ "Parrot_and_p_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 406 */
+ /* type PARROT_INLINE_OP, */
+ "not",
+ "not_i",
+ "Parrot_not_i",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_I },
+ { PARROT_ARGDIR_INOUT },
+ { 0 }
+ },
+ { /* 407 */
+ /* type PARROT_INLINE_OP, */
+ "not",
+ "not_i_i",
+ "Parrot_not_i_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 408 */
+ /* type PARROT_INLINE_OP, */
+ "not",
+ "not_p",
+ "Parrot_not_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 409 */
+ /* type PARROT_INLINE_OP, */
+ "not",
+ "not_p_p",
+ "Parrot_not_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 410 */
+ /* type PARROT_INLINE_OP, */
+ "or",
+ "or_i_i_i",
+ "Parrot_or_i_i_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 411 */
+ /* type PARROT_INLINE_OP, */
+ "or",
+ "or_i_ic_i",
+ "Parrot_or_i_ic_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 412 */
+ /* type PARROT_INLINE_OP, */
+ "or",
+ "or_i_i_ic",
+ "Parrot_or_i_i_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 413 */
+ /* type PARROT_INLINE_OP, */
+ "or",
+ "or_p_p_p",
+ "Parrot_or_p_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 414 */
+ /* type PARROT_INLINE_OP, */
+ "xor",
+ "xor_i_i_i",
+ "Parrot_xor_i_i_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 415 */
+ /* type PARROT_INLINE_OP, */
+ "xor",
+ "xor_i_ic_i",
+ "Parrot_xor_i_ic_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 416 */
+ /* type PARROT_INLINE_OP, */
+ "xor",
+ "xor_i_i_ic",
+ "Parrot_xor_i_i_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 417 */
+ /* type PARROT_INLINE_OP, */
+ "xor",
+ "xor_p_p_p",
+ "Parrot_xor_p_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 418 */
+ /* type PARROT_FUNCTION_OP, */
+ "debug_init",
+ "debug_init",
+ "Parrot_debug_init",
+ /* "", body */
+ 0,
+ 1,
+ { (arg_type_t) 0 },
+ { (arg_dir_t) 0 },
+ { 0 }
+ },
+ { /* 419 */
+ /* type PARROT_FUNCTION_OP, */
+ "debug_load",
+ "debug_load_sc",
+ "Parrot_debug_load_sc",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_SC },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 420 */
+ /* type PARROT_FUNCTION_OP, */
+ "debug_break",
+ "debug_break",
+ "Parrot_debug_break",
+ /* "", body */
+ 0,
+ 1,
+ { (arg_type_t) 0 },
+ { (arg_dir_t) 0 },
+ { 0 }
+ },
+ { /* 421 */
+ /* type PARROT_FUNCTION_OP, */
+ "debug_print",
+ "debug_print",
+ "Parrot_debug_print",
+ /* "", body */
+ 0,
+ 1,
+ { (arg_type_t) 0 },
+ { (arg_dir_t) 0 },
+ { 0 }
+ },
+ { /* 422 */
+ /* type PARROT_FUNCTION_OP, */
+ "backtrace",
+ "backtrace",
+ "Parrot_backtrace",
+ /* "", body */
+ 0,
+ 1,
+ { (arg_type_t) 0 },
+ { (arg_dir_t) 0 },
+ { 0 }
+ },
+ { /* 423 */
+ /* type PARROT_INLINE_OP, */
+ "getline",
+ "getline_i",
+ "Parrot_getline_i",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT },
+ { 0 }
+ },
+ { /* 424 */
+ /* type PARROT_INLINE_OP, */
+ "getfile",
+ "getfile_s",
+ "Parrot_getfile_s",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT },
+ { 0 }
+ },
+ { /* 425 */
+ /* type PARROT_INLINE_OP, */
+ "close",
+ "close_p",
+ "Parrot_close_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 426 */
+ /* type PARROT_INLINE_OP, */
+ "fdopen",
+ "fdopen_p_i_s",
+ "Parrot_fdopen_p_i_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 427 */
+ /* type PARROT_INLINE_OP, */
+ "fdopen",
+ "fdopen_p_ic_s",
+ "Parrot_fdopen_p_ic_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 428 */
+ /* type PARROT_INLINE_OP, */
+ "fdopen",
+ "fdopen_p_i_sc",
+ "Parrot_fdopen_p_i_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 429 */
+ /* type PARROT_INLINE_OP, */
+ "fdopen",
+ "fdopen_p_ic_sc",
+ "Parrot_fdopen_p_ic_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 430 */
+ /* type PARROT_INLINE_OP, */
+ "getstdin",
+ "getstdin_p",
+ "Parrot_getstdin_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT },
+ { 0 }
+ },
+ { /* 431 */
+ /* type PARROT_INLINE_OP, */
+ "getstdout",
+ "getstdout_p",
+ "Parrot_getstdout_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT },
+ { 0 }
+ },
+ { /* 432 */
+ /* type PARROT_INLINE_OP, */
+ "getstderr",
+ "getstderr_p",
+ "Parrot_getstderr_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT },
+ { 0 }
+ },
+ { /* 433 */
+ /* type PARROT_INLINE_OP, */
+ "setstdin",
+ "setstdin_p",
+ "Parrot_setstdin_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 434 */
+ /* type PARROT_INLINE_OP, */
+ "setstdout",
+ "setstdout_p",
+ "Parrot_setstdout_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 435 */
+ /* type PARROT_INLINE_OP, */
+ "setstderr",
+ "setstderr_p",
+ "Parrot_setstderr_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 436 */
+ /* type PARROT_INLINE_OP, */
+ "open",
+ "open_p_s_s",
+ "Parrot_open_p_s_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 437 */
+ /* type PARROT_INLINE_OP, */
+ "open",
+ "open_p_sc_s",
+ "Parrot_open_p_sc_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 438 */
+ /* type PARROT_INLINE_OP, */
+ "open",
+ "open_p_s_sc",
+ "Parrot_open_p_s_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 439 */
+ /* type PARROT_INLINE_OP, */
+ "open",
+ "open_p_sc_sc",
+ "Parrot_open_p_sc_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 440 */
+ /* type PARROT_INLINE_OP, */
+ "open",
+ "open_p_s",
+ "Parrot_open_p_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 441 */
+ /* type PARROT_INLINE_OP, */
+ "open",
+ "open_p_sc",
+ "Parrot_open_p_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 442 */
+ /* type PARROT_INLINE_OP, */
+ "print",
+ "print_i",
+ "Parrot_print_i",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_I },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 443 */
+ /* type PARROT_INLINE_OP, */
+ "print",
+ "print_ic",
+ "Parrot_print_ic",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 444 */
+ /* type PARROT_INLINE_OP, */
+ "print",
+ "print_n",
+ "Parrot_print_n",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_N },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 445 */
+ /* type PARROT_INLINE_OP, */
+ "print",
+ "print_nc",
+ "Parrot_print_nc",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_NC },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 446 */
+ /* type PARROT_FUNCTION_OP, */
+ "print",
+ "print_s",
+ "Parrot_print_s",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_S },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 447 */
+ /* type PARROT_FUNCTION_OP, */
+ "print",
+ "print_sc",
+ "Parrot_print_sc",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_SC },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 448 */
+ /* type PARROT_FUNCTION_OP, */
+ "print",
+ "print_p",
+ "Parrot_print_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 449 */
+ /* type PARROT_INLINE_OP, */
+ "say",
+ "say_i",
+ "Parrot_say_i",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_I },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 450 */
+ /* type PARROT_INLINE_OP, */
+ "say",
+ "say_ic",
+ "Parrot_say_ic",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 451 */
+ /* type PARROT_INLINE_OP, */
+ "say",
+ "say_n",
+ "Parrot_say_n",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_N },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 452 */
+ /* type PARROT_INLINE_OP, */
+ "say",
+ "say_nc",
+ "Parrot_say_nc",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_NC },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 453 */
+ /* type PARROT_FUNCTION_OP, */
+ "say",
+ "say_s",
+ "Parrot_say_s",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_S },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 454 */
+ /* type PARROT_FUNCTION_OP, */
+ "say",
+ "say_sc",
+ "Parrot_say_sc",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_SC },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 455 */
+ /* type PARROT_FUNCTION_OP, */
+ "say",
+ "say_p",
+ "Parrot_say_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 456 */
+ /* type PARROT_FUNCTION_OP, */
+ "printerr",
+ "printerr_i",
+ "Parrot_printerr_i",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_I },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 457 */
+ /* type PARROT_FUNCTION_OP, */
+ "printerr",
+ "printerr_ic",
+ "Parrot_printerr_ic",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 458 */
+ /* type PARROT_FUNCTION_OP, */
+ "printerr",
+ "printerr_n",
+ "Parrot_printerr_n",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_N },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 459 */
+ /* type PARROT_FUNCTION_OP, */
+ "printerr",
+ "printerr_nc",
+ "Parrot_printerr_nc",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_NC },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 460 */
+ /* type PARROT_FUNCTION_OP, */
+ "printerr",
+ "printerr_s",
+ "Parrot_printerr_s",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_S },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 461 */
+ /* type PARROT_FUNCTION_OP, */
+ "printerr",
+ "printerr_sc",
+ "Parrot_printerr_sc",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_SC },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 462 */
+ /* type PARROT_FUNCTION_OP, */
+ "printerr",
+ "printerr_p",
+ "Parrot_printerr_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 463 */
+ /* type PARROT_FUNCTION_OP, */
+ "print",
+ "print_p_i",
+ "Parrot_print_p_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 464 */
+ /* type PARROT_FUNCTION_OP, */
+ "print",
+ "print_p_ic",
+ "Parrot_print_p_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 465 */
+ /* type PARROT_FUNCTION_OP, */
+ "print",
+ "print_p_n",
+ "Parrot_print_p_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_N },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 466 */
+ /* type PARROT_FUNCTION_OP, */
+ "print",
+ "print_p_nc",
+ "Parrot_print_p_nc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_NC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 467 */
+ /* type PARROT_FUNCTION_OP, */
+ "print",
+ "print_p_s",
+ "Parrot_print_p_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 468 */
+ /* type PARROT_FUNCTION_OP, */
+ "print",
+ "print_p_sc",
+ "Parrot_print_p_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 469 */
+ /* type PARROT_FUNCTION_OP, */
+ "print",
+ "print_p_p",
+ "Parrot_print_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 470 */
+ /* type PARROT_FUNCTION_OP, */
+ "read",
+ "read_s_i",
+ "Parrot_read_s_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 471 */
+ /* type PARROT_FUNCTION_OP, */
+ "read",
+ "read_s_ic",
+ "Parrot_read_s_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 472 */
+ /* type PARROT_FUNCTION_OP, */
+ "read",
+ "read_s_p_i",
+ "Parrot_read_s_p_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 473 */
+ /* type PARROT_FUNCTION_OP, */
+ "read",
+ "read_s_p_ic",
+ "Parrot_read_s_p_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 474 */
+ /* type PARROT_INLINE_OP, */
+ "readline",
+ "readline_s_p",
+ "Parrot_readline_s_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 475 */
+ /* type PARROT_FUNCTION_OP, */
+ "peek",
+ "peek_s",
+ "Parrot_peek_s",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT },
+ { 0 }
+ },
+ { /* 476 */
+ /* type PARROT_FUNCTION_OP, */
+ "peek",
+ "peek_s_p",
+ "Parrot_peek_s_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 477 */
+ /* type PARROT_FUNCTION_OP, */
+ "stat",
+ "stat_i_s_i",
+ "Parrot_stat_i_s_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 478 */
+ /* type PARROT_FUNCTION_OP, */
+ "stat",
+ "stat_i_sc_i",
+ "Parrot_stat_i_sc_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 479 */
+ /* type PARROT_FUNCTION_OP, */
+ "stat",
+ "stat_i_s_ic",
+ "Parrot_stat_i_s_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 480 */
+ /* type PARROT_FUNCTION_OP, */
+ "stat",
+ "stat_i_sc_ic",
+ "Parrot_stat_i_sc_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 481 */
+ /* type PARROT_FUNCTION_OP, */
+ "stat",
+ "stat_i_i_i",
+ "Parrot_stat_i_i_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 482 */
+ /* type PARROT_FUNCTION_OP, */
+ "stat",
+ "stat_i_ic_i",
+ "Parrot_stat_i_ic_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 483 */
+ /* type PARROT_FUNCTION_OP, */
+ "stat",
+ "stat_i_i_ic",
+ "Parrot_stat_i_i_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 484 */
+ /* type PARROT_FUNCTION_OP, */
+ "stat",
+ "stat_i_ic_ic",
+ "Parrot_stat_i_ic_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 485 */
+ /* type PARROT_FUNCTION_OP, */
+ "seek",
+ "seek_p_i_i",
+ "Parrot_seek_p_i_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 486 */
+ /* type PARROT_FUNCTION_OP, */
+ "seek",
+ "seek_p_ic_i",
+ "Parrot_seek_p_ic_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 487 */
+ /* type PARROT_FUNCTION_OP, */
+ "seek",
+ "seek_p_i_ic",
+ "Parrot_seek_p_i_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 488 */
+ /* type PARROT_FUNCTION_OP, */
+ "seek",
+ "seek_p_ic_ic",
+ "Parrot_seek_p_ic_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 489 */
+ /* type PARROT_FUNCTION_OP, */
+ "seek",
+ "seek_p_i_i_i",
+ "Parrot_seek_p_i_i_i",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 490 */
+ /* type PARROT_FUNCTION_OP, */
+ "seek",
+ "seek_p_ic_i_i",
+ "Parrot_seek_p_ic_i_i",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 491 */
+ /* type PARROT_FUNCTION_OP, */
+ "seek",
+ "seek_p_i_ic_i",
+ "Parrot_seek_p_i_ic_i",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 492 */
+ /* type PARROT_FUNCTION_OP, */
+ "seek",
+ "seek_p_ic_ic_i",
+ "Parrot_seek_p_ic_ic_i",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 493 */
+ /* type PARROT_FUNCTION_OP, */
+ "seek",
+ "seek_p_i_i_ic",
+ "Parrot_seek_p_i_i_ic",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 494 */
+ /* type PARROT_FUNCTION_OP, */
+ "seek",
+ "seek_p_ic_i_ic",
+ "Parrot_seek_p_ic_i_ic",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 495 */
+ /* type PARROT_FUNCTION_OP, */
+ "seek",
+ "seek_p_i_ic_ic",
+ "Parrot_seek_p_i_ic_ic",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 496 */
+ /* type PARROT_FUNCTION_OP, */
+ "seek",
+ "seek_p_ic_ic_ic",
+ "Parrot_seek_p_ic_ic_ic",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_IC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 497 */
+ /* type PARROT_FUNCTION_OP, */
+ "tell",
+ "tell_i_p",
+ "Parrot_tell_i_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 498 */
+ /* type PARROT_FUNCTION_OP, */
+ "tell",
+ "tell_i_i_p",
+ "Parrot_tell_i_i_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 499 */
+ /* type PARROT_INLINE_OP, */
+ "abs",
+ "abs_i",
+ "Parrot_abs_i",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_I },
+ { PARROT_ARGDIR_INOUT },
+ { 0 }
+ },
+ { /* 500 */
+ /* type PARROT_INLINE_OP, */
+ "abs",
+ "abs_n",
+ "Parrot_abs_n",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_N },
+ { PARROT_ARGDIR_INOUT },
+ { 0 }
+ },
+ { /* 501 */
+ /* type PARROT_INLINE_OP, */
+ "abs",
+ "abs_i_i",
+ "Parrot_abs_i_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 502 */
+ /* type PARROT_INLINE_OP, */
+ "abs",
+ "abs_n_n",
+ "Parrot_abs_n_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 503 */
+ /* type PARROT_INLINE_OP, */
+ "abs",
+ "abs_p",
+ "Parrot_abs_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 504 */
+ /* type PARROT_INLINE_OP, */
+ "abs",
+ "abs_p_p",
+ "Parrot_abs_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 505 */
+ /* type PARROT_INLINE_OP, */
+ "add",
+ "add_i_i",
+ "Parrot_add_i_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 506 */
+ /* type PARROT_INLINE_OP, */
+ "add",
+ "add_i_ic",
+ "Parrot_add_i_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 507 */
+ /* type PARROT_INLINE_OP, */
+ "add",
+ "add_n_n",
+ "Parrot_add_n_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 508 */
+ /* type PARROT_INLINE_OP, */
+ "add",
+ "add_n_nc",
+ "Parrot_add_n_nc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_NC },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 509 */
+ /* type PARROT_INLINE_OP, */
+ "add",
+ "add_p_p",
+ "Parrot_add_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 510 */
+ /* type PARROT_INLINE_OP, */
+ "add",
+ "add_p_i",
+ "Parrot_add_p_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 511 */
+ /* type PARROT_INLINE_OP, */
+ "add",
+ "add_p_ic",
+ "Parrot_add_p_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 512 */
+ /* type PARROT_INLINE_OP, */
+ "add",
+ "add_p_n",
+ "Parrot_add_p_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_N },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 513 */
+ /* type PARROT_INLINE_OP, */
+ "add",
+ "add_p_nc",
+ "Parrot_add_p_nc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_NC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 514 */
+ /* type PARROT_INLINE_OP, */
+ "add",
+ "add_i_i_i",
+ "Parrot_add_i_i_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 515 */
+ /* type PARROT_INLINE_OP, */
+ "add",
+ "add_i_ic_i",
+ "Parrot_add_i_ic_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 516 */
+ /* type PARROT_INLINE_OP, */
+ "add",
+ "add_i_i_ic",
+ "Parrot_add_i_i_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 517 */
+ /* type PARROT_INLINE_OP, */
+ "add",
+ "add_n_n_n",
+ "Parrot_add_n_n_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 518 */
+ /* type PARROT_INLINE_OP, */
+ "add",
+ "add_n_nc_n",
+ "Parrot_add_n_nc_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 519 */
+ /* type PARROT_INLINE_OP, */
+ "add",
+ "add_n_n_nc",
+ "Parrot_add_n_n_nc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_NC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 520 */
+ /* type PARROT_INLINE_OP, */
+ "add",
+ "add_p_p_p",
+ "Parrot_add_p_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 521 */
+ /* type PARROT_INLINE_OP, */
+ "add",
+ "add_p_p_i",
+ "Parrot_add_p_p_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 522 */
+ /* type PARROT_INLINE_OP, */
+ "add",
+ "add_p_p_ic",
+ "Parrot_add_p_p_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 523 */
+ /* type PARROT_INLINE_OP, */
+ "add",
+ "add_p_p_n",
+ "Parrot_add_p_p_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_N },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 524 */
+ /* type PARROT_INLINE_OP, */
+ "add",
+ "add_p_p_nc",
+ "Parrot_add_p_p_nc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_NC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 525 */
+ /* type PARROT_INLINE_OP, */
+ "cmod",
+ "cmod_i_i_i",
+ "Parrot_cmod_i_i_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 526 */
+ /* type PARROT_INLINE_OP, */
+ "cmod",
+ "cmod_i_ic_i",
+ "Parrot_cmod_i_ic_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 527 */
+ /* type PARROT_INLINE_OP, */
+ "cmod",
+ "cmod_i_i_ic",
+ "Parrot_cmod_i_i_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 528 */
+ /* type PARROT_INLINE_OP, */
+ "cmod",
+ "cmod_p_p_i",
+ "Parrot_cmod_p_p_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 529 */
+ /* type PARROT_INLINE_OP, */
+ "cmod",
+ "cmod_p_p_ic",
+ "Parrot_cmod_p_p_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 530 */
+ /* type PARROT_INLINE_OP, */
+ "cmod",
+ "cmod_p_p_p",
+ "Parrot_cmod_p_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 531 */
+ /* type PARROT_INLINE_OP, */
+ "cmod",
+ "cmod_n_n_n",
+ "Parrot_cmod_n_n_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 532 */
+ /* type PARROT_INLINE_OP, */
+ "cmod",
+ "cmod_n_nc_n",
+ "Parrot_cmod_n_nc_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 533 */
+ /* type PARROT_INLINE_OP, */
+ "cmod",
+ "cmod_n_n_nc",
+ "Parrot_cmod_n_n_nc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_NC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 534 */
+ /* type PARROT_INLINE_OP, */
+ "cmod",
+ "cmod_p_p_n",
+ "Parrot_cmod_p_p_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_N },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 535 */
+ /* type PARROT_INLINE_OP, */
+ "cmod",
+ "cmod_p_p_nc",
+ "Parrot_cmod_p_p_nc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_NC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 536 */
+ /* type PARROT_INLINE_OP, */
+ "dec",
+ "dec_i",
+ "Parrot_dec_i",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_I },
+ { PARROT_ARGDIR_INOUT },
+ { 0 }
+ },
+ { /* 537 */
+ /* type PARROT_INLINE_OP, */
+ "dec",
+ "dec_n",
+ "Parrot_dec_n",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_N },
+ { PARROT_ARGDIR_INOUT },
+ { 0 }
+ },
+ { /* 538 */
+ /* type PARROT_INLINE_OP, */
+ "dec",
+ "dec_p",
+ "Parrot_dec_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 539 */
+ /* type PARROT_INLINE_OP, */
+ "div",
+ "div_i_i",
+ "Parrot_div_i_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 540 */
+ /* type PARROT_INLINE_OP, */
+ "div",
+ "div_i_ic",
+ "Parrot_div_i_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 541 */
+ /* type PARROT_INLINE_OP, */
+ "div",
+ "div_n_n",
+ "Parrot_div_n_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 542 */
+ /* type PARROT_INLINE_OP, */
+ "div",
+ "div_n_nc",
+ "Parrot_div_n_nc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_NC },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 543 */
+ /* type PARROT_INLINE_OP, */
+ "div",
+ "div_p_p",
+ "Parrot_div_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 544 */
+ /* type PARROT_INLINE_OP, */
+ "div",
+ "div_p_i",
+ "Parrot_div_p_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 545 */
+ /* type PARROT_INLINE_OP, */
+ "div",
+ "div_p_ic",
+ "Parrot_div_p_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 546 */
+ /* type PARROT_INLINE_OP, */
+ "div",
+ "div_p_n",
+ "Parrot_div_p_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_N },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 547 */
+ /* type PARROT_INLINE_OP, */
+ "div",
+ "div_p_nc",
+ "Parrot_div_p_nc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_NC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 548 */
+ /* type PARROT_INLINE_OP, */
+ "div",
+ "div_i_i_i",
+ "Parrot_div_i_i_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 549 */
+ /* type PARROT_INLINE_OP, */
+ "div",
+ "div_i_ic_i",
+ "Parrot_div_i_ic_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 550 */
+ /* type PARROT_INLINE_OP, */
+ "div",
+ "div_i_i_ic",
+ "Parrot_div_i_i_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 551 */
+ /* type PARROT_INLINE_OP, */
+ "div",
+ "div_i_ic_ic",
+ "Parrot_div_i_ic_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 552 */
+ /* type PARROT_INLINE_OP, */
+ "div",
+ "div_n_n_n",
+ "Parrot_div_n_n_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 553 */
+ /* type PARROT_INLINE_OP, */
+ "div",
+ "div_n_nc_n",
+ "Parrot_div_n_nc_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 554 */
+ /* type PARROT_INLINE_OP, */
+ "div",
+ "div_n_n_nc",
+ "Parrot_div_n_n_nc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_NC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 555 */
+ /* type PARROT_INLINE_OP, */
+ "div",
+ "div_n_nc_nc",
+ "Parrot_div_n_nc_nc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_NC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 556 */
+ /* type PARROT_INLINE_OP, */
+ "div",
+ "div_p_p_p",
+ "Parrot_div_p_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 557 */
+ /* type PARROT_INLINE_OP, */
+ "div",
+ "div_p_p_i",
+ "Parrot_div_p_p_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 558 */
+ /* type PARROT_INLINE_OP, */
+ "div",
+ "div_p_p_ic",
+ "Parrot_div_p_p_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 559 */
+ /* type PARROT_INLINE_OP, */
+ "div",
+ "div_p_p_n",
+ "Parrot_div_p_p_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_N },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 560 */
+ /* type PARROT_INLINE_OP, */
+ "div",
+ "div_p_p_nc",
+ "Parrot_div_p_p_nc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_NC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 561 */
+ /* type PARROT_INLINE_OP, */
+ "fdiv",
+ "fdiv_i_i",
+ "Parrot_fdiv_i_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 562 */
+ /* type PARROT_INLINE_OP, */
+ "fdiv",
+ "fdiv_i_ic",
+ "Parrot_fdiv_i_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 563 */
+ /* type PARROT_INLINE_OP, */
+ "fdiv",
+ "fdiv_n_n",
+ "Parrot_fdiv_n_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 564 */
+ /* type PARROT_INLINE_OP, */
+ "fdiv",
+ "fdiv_n_nc",
+ "Parrot_fdiv_n_nc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_NC },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 565 */
+ /* type PARROT_INLINE_OP, */
+ "fdiv",
+ "fdiv_p_p",
+ "Parrot_fdiv_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 566 */
+ /* type PARROT_INLINE_OP, */
+ "fdiv",
+ "fdiv_p_i",
+ "Parrot_fdiv_p_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 567 */
+ /* type PARROT_INLINE_OP, */
+ "fdiv",
+ "fdiv_p_ic",
+ "Parrot_fdiv_p_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 568 */
+ /* type PARROT_INLINE_OP, */
+ "fdiv",
+ "fdiv_p_n",
+ "Parrot_fdiv_p_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_N },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 569 */
+ /* type PARROT_INLINE_OP, */
+ "fdiv",
+ "fdiv_p_nc",
+ "Parrot_fdiv_p_nc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_NC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 570 */
+ /* type PARROT_INLINE_OP, */
+ "fdiv",
+ "fdiv_i_i_i",
+ "Parrot_fdiv_i_i_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 571 */
+ /* type PARROT_INLINE_OP, */
+ "fdiv",
+ "fdiv_i_ic_i",
+ "Parrot_fdiv_i_ic_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 572 */
+ /* type PARROT_INLINE_OP, */
+ "fdiv",
+ "fdiv_i_i_ic",
+ "Parrot_fdiv_i_i_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 573 */
+ /* type PARROT_INLINE_OP, */
+ "fdiv",
+ "fdiv_n_n_n",
+ "Parrot_fdiv_n_n_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 574 */
+ /* type PARROT_INLINE_OP, */
+ "fdiv",
+ "fdiv_n_nc_n",
+ "Parrot_fdiv_n_nc_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 575 */
+ /* type PARROT_INLINE_OP, */
+ "fdiv",
+ "fdiv_n_n_nc",
+ "Parrot_fdiv_n_n_nc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_NC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 576 */
+ /* type PARROT_INLINE_OP, */
+ "fdiv",
+ "fdiv_p_p_p",
+ "Parrot_fdiv_p_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 577 */
+ /* type PARROT_INLINE_OP, */
+ "fdiv",
+ "fdiv_p_p_i",
+ "Parrot_fdiv_p_p_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 578 */
+ /* type PARROT_INLINE_OP, */
+ "fdiv",
+ "fdiv_p_p_ic",
+ "Parrot_fdiv_p_p_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 579 */
+ /* type PARROT_INLINE_OP, */
+ "fdiv",
+ "fdiv_p_p_n",
+ "Parrot_fdiv_p_p_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_N },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 580 */
+ /* type PARROT_INLINE_OP, */
+ "fdiv",
+ "fdiv_p_p_nc",
+ "Parrot_fdiv_p_p_nc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_NC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 581 */
+ /* type PARROT_INLINE_OP, */
+ "ceil",
+ "ceil_n",
+ "Parrot_ceil_n",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_N },
+ { PARROT_ARGDIR_INOUT },
+ { 0 }
+ },
+ { /* 582 */
+ /* type PARROT_INLINE_OP, */
+ "ceil",
+ "ceil_i_n",
+ "Parrot_ceil_i_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 583 */
+ /* type PARROT_INLINE_OP, */
+ "ceil",
+ "ceil_n_n",
+ "Parrot_ceil_n_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 584 */
+ /* type PARROT_INLINE_OP, */
+ "floor",
+ "floor_n",
+ "Parrot_floor_n",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_N },
+ { PARROT_ARGDIR_INOUT },
+ { 0 }
+ },
+ { /* 585 */
+ /* type PARROT_INLINE_OP, */
+ "floor",
+ "floor_i_n",
+ "Parrot_floor_i_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 586 */
+ /* type PARROT_INLINE_OP, */
+ "floor",
+ "floor_n_n",
+ "Parrot_floor_n_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 587 */
+ /* type PARROT_INLINE_OP, */
+ "inc",
+ "inc_i",
+ "Parrot_inc_i",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_I },
+ { PARROT_ARGDIR_INOUT },
+ { 0 }
+ },
+ { /* 588 */
+ /* type PARROT_INLINE_OP, */
+ "inc",
+ "inc_n",
+ "Parrot_inc_n",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_N },
+ { PARROT_ARGDIR_INOUT },
+ { 0 }
+ },
+ { /* 589 */
+ /* type PARROT_INLINE_OP, */
+ "inc",
+ "inc_p",
+ "Parrot_inc_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 590 */
+ /* type PARROT_FUNCTION_OP, */
+ "mod",
+ "mod_i_i",
+ "Parrot_mod_i_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 591 */
+ /* type PARROT_FUNCTION_OP, */
+ "mod",
+ "mod_i_ic",
+ "Parrot_mod_i_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 592 */
+ /* type PARROT_FUNCTION_OP, */
+ "mod",
+ "mod_n_n",
+ "Parrot_mod_n_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 593 */
+ /* type PARROT_FUNCTION_OP, */
+ "mod",
+ "mod_n_nc",
+ "Parrot_mod_n_nc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_NC },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 594 */
+ /* type PARROT_INLINE_OP, */
+ "mod",
+ "mod_p_p",
+ "Parrot_mod_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 595 */
+ /* type PARROT_INLINE_OP, */
+ "mod",
+ "mod_p_i",
+ "Parrot_mod_p_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 596 */
+ /* type PARROT_INLINE_OP, */
+ "mod",
+ "mod_p_ic",
+ "Parrot_mod_p_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 597 */
+ /* type PARROT_INLINE_OP, */
+ "mod",
+ "mod_p_n",
+ "Parrot_mod_p_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_N },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 598 */
+ /* type PARROT_INLINE_OP, */
+ "mod",
+ "mod_p_nc",
+ "Parrot_mod_p_nc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_NC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 599 */
+ /* type PARROT_FUNCTION_OP, */
+ "mod",
+ "mod_i_i_i",
+ "Parrot_mod_i_i_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 600 */
+ /* type PARROT_FUNCTION_OP, */
+ "mod",
+ "mod_i_ic_i",
+ "Parrot_mod_i_ic_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 601 */
+ /* type PARROT_FUNCTION_OP, */
+ "mod",
+ "mod_i_i_ic",
+ "Parrot_mod_i_i_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 602 */
+ /* type PARROT_FUNCTION_OP, */
+ "mod",
+ "mod_n_n_n",
+ "Parrot_mod_n_n_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 603 */
+ /* type PARROT_FUNCTION_OP, */
+ "mod",
+ "mod_n_nc_n",
+ "Parrot_mod_n_nc_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 604 */
+ /* type PARROT_FUNCTION_OP, */
+ "mod",
+ "mod_n_n_nc",
+ "Parrot_mod_n_n_nc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_NC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 605 */
+ /* type PARROT_INLINE_OP, */
+ "mod",
+ "mod_p_p_p",
+ "Parrot_mod_p_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 606 */
+ /* type PARROT_INLINE_OP, */
+ "mod",
+ "mod_p_p_i",
+ "Parrot_mod_p_p_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 607 */
+ /* type PARROT_INLINE_OP, */
+ "mod",
+ "mod_p_p_ic",
+ "Parrot_mod_p_p_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 608 */
+ /* type PARROT_INLINE_OP, */
+ "mod",
+ "mod_p_p_n",
+ "Parrot_mod_p_p_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_N },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 609 */
+ /* type PARROT_INLINE_OP, */
+ "mod",
+ "mod_p_p_nc",
+ "Parrot_mod_p_p_nc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_NC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 610 */
+ /* type PARROT_INLINE_OP, */
+ "mul",
+ "mul_i_i",
+ "Parrot_mul_i_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 611 */
+ /* type PARROT_INLINE_OP, */
+ "mul",
+ "mul_i_ic",
+ "Parrot_mul_i_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 612 */
+ /* type PARROT_INLINE_OP, */
+ "mul",
+ "mul_n_n",
+ "Parrot_mul_n_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 613 */
+ /* type PARROT_INLINE_OP, */
+ "mul",
+ "mul_n_nc",
+ "Parrot_mul_n_nc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_NC },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 614 */
+ /* type PARROT_INLINE_OP, */
+ "mul",
+ "mul_p_p",
+ "Parrot_mul_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 615 */
+ /* type PARROT_INLINE_OP, */
+ "mul",
+ "mul_p_i",
+ "Parrot_mul_p_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 616 */
+ /* type PARROT_INLINE_OP, */
+ "mul",
+ "mul_p_ic",
+ "Parrot_mul_p_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 617 */
+ /* type PARROT_INLINE_OP, */
+ "mul",
+ "mul_p_n",
+ "Parrot_mul_p_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_N },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 618 */
+ /* type PARROT_INLINE_OP, */
+ "mul",
+ "mul_p_nc",
+ "Parrot_mul_p_nc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_NC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 619 */
+ /* type PARROT_INLINE_OP, */
+ "mul",
+ "mul_i_i_i",
+ "Parrot_mul_i_i_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 620 */
+ /* type PARROT_INLINE_OP, */
+ "mul",
+ "mul_i_ic_i",
+ "Parrot_mul_i_ic_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 621 */
+ /* type PARROT_INLINE_OP, */
+ "mul",
+ "mul_i_i_ic",
+ "Parrot_mul_i_i_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 622 */
+ /* type PARROT_INLINE_OP, */
+ "mul",
+ "mul_n_n_n",
+ "Parrot_mul_n_n_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 623 */
+ /* type PARROT_INLINE_OP, */
+ "mul",
+ "mul_n_nc_n",
+ "Parrot_mul_n_nc_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 624 */
+ /* type PARROT_INLINE_OP, */
+ "mul",
+ "mul_n_n_nc",
+ "Parrot_mul_n_n_nc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_NC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 625 */
+ /* type PARROT_INLINE_OP, */
+ "mul",
+ "mul_p_p_p",
+ "Parrot_mul_p_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 626 */
+ /* type PARROT_INLINE_OP, */
+ "mul",
+ "mul_p_p_i",
+ "Parrot_mul_p_p_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 627 */
+ /* type PARROT_INLINE_OP, */
+ "mul",
+ "mul_p_p_ic",
+ "Parrot_mul_p_p_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 628 */
+ /* type PARROT_INLINE_OP, */
+ "mul",
+ "mul_p_p_n",
+ "Parrot_mul_p_p_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_N },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 629 */
+ /* type PARROT_INLINE_OP, */
+ "mul",
+ "mul_p_p_nc",
+ "Parrot_mul_p_p_nc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_NC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 630 */
+ /* type PARROT_INLINE_OP, */
+ "neg",
+ "neg_i",
+ "Parrot_neg_i",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_I },
+ { PARROT_ARGDIR_INOUT },
+ { 0 }
+ },
+ { /* 631 */
+ /* type PARROT_INLINE_OP, */
+ "neg",
+ "neg_n",
+ "Parrot_neg_n",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_N },
+ { PARROT_ARGDIR_INOUT },
+ { 0 }
+ },
+ { /* 632 */
+ /* type PARROT_INLINE_OP, */
+ "neg",
+ "neg_p",
+ "Parrot_neg_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 633 */
+ /* type PARROT_INLINE_OP, */
+ "neg",
+ "neg_i_i",
+ "Parrot_neg_i_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 634 */
+ /* type PARROT_INLINE_OP, */
+ "neg",
+ "neg_n_n",
+ "Parrot_neg_n_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 635 */
+ /* type PARROT_INLINE_OP, */
+ "neg",
+ "neg_p_p",
+ "Parrot_neg_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 636 */
+ /* type PARROT_INLINE_OP, */
+ "pow",
+ "pow_n_n_n",
+ "Parrot_pow_n_n_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 637 */
+ /* type PARROT_INLINE_OP, */
+ "pow",
+ "pow_n_nc_n",
+ "Parrot_pow_n_nc_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 638 */
+ /* type PARROT_INLINE_OP, */
+ "pow",
+ "pow_n_n_nc",
+ "Parrot_pow_n_n_nc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_NC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 639 */
+ /* type PARROT_INLINE_OP, */
+ "pow",
+ "pow_p_p_p",
+ "Parrot_pow_p_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 640 */
+ /* type PARROT_INLINE_OP, */
+ "pow",
+ "pow_p_p_i",
+ "Parrot_pow_p_p_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 641 */
+ /* type PARROT_INLINE_OP, */
+ "pow",
+ "pow_p_p_ic",
+ "Parrot_pow_p_p_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 642 */
+ /* type PARROT_INLINE_OP, */
+ "pow",
+ "pow_p_p_n",
+ "Parrot_pow_p_p_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_N },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 643 */
+ /* type PARROT_INLINE_OP, */
+ "pow",
+ "pow_p_p_nc",
+ "Parrot_pow_p_p_nc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_NC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 644 */
+ /* type PARROT_INLINE_OP, */
+ "pow",
+ "pow_n_n_i",
+ "Parrot_pow_n_n_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 645 */
+ /* type PARROT_INLINE_OP, */
+ "pow",
+ "pow_n_nc_i",
+ "Parrot_pow_n_nc_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 646 */
+ /* type PARROT_INLINE_OP, */
+ "pow",
+ "pow_n_n_ic",
+ "Parrot_pow_n_n_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 647 */
+ /* type PARROT_INLINE_OP, */
+ "pow",
+ "pow_n_nc_ic",
+ "Parrot_pow_n_nc_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 648 */
+ /* type PARROT_INLINE_OP, */
+ "sub",
+ "sub_i_i",
+ "Parrot_sub_i_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 649 */
+ /* type PARROT_INLINE_OP, */
+ "sub",
+ "sub_i_ic",
+ "Parrot_sub_i_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 650 */
+ /* type PARROT_INLINE_OP, */
+ "sub",
+ "sub_n_n",
+ "Parrot_sub_n_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 651 */
+ /* type PARROT_INLINE_OP, */
+ "sub",
+ "sub_n_nc",
+ "Parrot_sub_n_nc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_NC },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 652 */
+ /* type PARROT_INLINE_OP, */
+ "sub",
+ "sub_p_p",
+ "Parrot_sub_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 653 */
+ /* type PARROT_INLINE_OP, */
+ "sub",
+ "sub_p_i",
+ "Parrot_sub_p_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 654 */
+ /* type PARROT_INLINE_OP, */
+ "sub",
+ "sub_p_ic",
+ "Parrot_sub_p_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 655 */
+ /* type PARROT_INLINE_OP, */
+ "sub",
+ "sub_p_n",
+ "Parrot_sub_p_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_N },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 656 */
+ /* type PARROT_INLINE_OP, */
+ "sub",
+ "sub_p_nc",
+ "Parrot_sub_p_nc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_NC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 657 */
+ /* type PARROT_INLINE_OP, */
+ "sub",
+ "sub_i_i_i",
+ "Parrot_sub_i_i_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 658 */
+ /* type PARROT_INLINE_OP, */
+ "sub",
+ "sub_i_ic_i",
+ "Parrot_sub_i_ic_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 659 */
+ /* type PARROT_INLINE_OP, */
+ "sub",
+ "sub_i_i_ic",
+ "Parrot_sub_i_i_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 660 */
+ /* type PARROT_INLINE_OP, */
+ "sub",
+ "sub_n_n_n",
+ "Parrot_sub_n_n_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 661 */
+ /* type PARROT_INLINE_OP, */
+ "sub",
+ "sub_n_nc_n",
+ "Parrot_sub_n_nc_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 662 */
+ /* type PARROT_INLINE_OP, */
+ "sub",
+ "sub_n_n_nc",
+ "Parrot_sub_n_n_nc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_NC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 663 */
+ /* type PARROT_INLINE_OP, */
+ "sub",
+ "sub_p_p_p",
+ "Parrot_sub_p_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 664 */
+ /* type PARROT_INLINE_OP, */
+ "sub",
+ "sub_p_p_i",
+ "Parrot_sub_p_p_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 665 */
+ /* type PARROT_INLINE_OP, */
+ "sub",
+ "sub_p_p_ic",
+ "Parrot_sub_p_p_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 666 */
+ /* type PARROT_INLINE_OP, */
+ "sub",
+ "sub_p_p_n",
+ "Parrot_sub_p_p_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_N },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 667 */
+ /* type PARROT_INLINE_OP, */
+ "sub",
+ "sub_p_p_nc",
+ "Parrot_sub_p_p_nc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_NC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 668 */
+ /* type PARROT_INLINE_OP, */
+ "sqrt",
+ "sqrt_n_n",
+ "Parrot_sqrt_n_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 669 */
+ /* type PARROT_INLINE_OP, */
+ "acos",
+ "acos_n_n",
+ "Parrot_acos_n_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 670 */
+ /* type PARROT_INLINE_OP, */
+ "asec",
+ "asec_n_n",
+ "Parrot_asec_n_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 671 */
+ /* type PARROT_INLINE_OP, */
+ "asin",
+ "asin_n_n",
+ "Parrot_asin_n_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 672 */
+ /* type PARROT_INLINE_OP, */
+ "atan",
+ "atan_n_n",
+ "Parrot_atan_n_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 673 */
+ /* type PARROT_INLINE_OP, */
+ "atan",
+ "atan_n_n_n",
+ "Parrot_atan_n_n_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 674 */
+ /* type PARROT_INLINE_OP, */
+ "atan",
+ "atan_n_nc_n",
+ "Parrot_atan_n_nc_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 675 */
+ /* type PARROT_INLINE_OP, */
+ "atan",
+ "atan_n_n_nc",
+ "Parrot_atan_n_n_nc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_NC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 676 */
+ /* type PARROT_INLINE_OP, */
+ "cos",
+ "cos_n_n",
+ "Parrot_cos_n_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 677 */
+ /* type PARROT_INLINE_OP, */
+ "cosh",
+ "cosh_n_n",
+ "Parrot_cosh_n_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 678 */
+ /* type PARROT_INLINE_OP, */
+ "exp",
+ "exp_n_n",
+ "Parrot_exp_n_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 679 */
+ /* type PARROT_INLINE_OP, */
+ "ln",
+ "ln_n_n",
+ "Parrot_ln_n_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 680 */
+ /* type PARROT_INLINE_OP, */
+ "log10",
+ "log10_n_n",
+ "Parrot_log10_n_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 681 */
+ /* type PARROT_FUNCTION_OP, */
+ "log2",
+ "log2_n_n",
+ "Parrot_log2_n_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 682 */
+ /* type PARROT_INLINE_OP, */
+ "sec",
+ "sec_n_n",
+ "Parrot_sec_n_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 683 */
+ /* type PARROT_INLINE_OP, */
+ "sech",
+ "sech_n_n",
+ "Parrot_sech_n_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 684 */
+ /* type PARROT_INLINE_OP, */
+ "sin",
+ "sin_n_n",
+ "Parrot_sin_n_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 685 */
+ /* type PARROT_INLINE_OP, */
+ "sinh",
+ "sinh_n_n",
+ "Parrot_sinh_n_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 686 */
+ /* type PARROT_INLINE_OP, */
+ "tan",
+ "tan_n_n",
+ "Parrot_tan_n_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 687 */
+ /* type PARROT_INLINE_OP, */
+ "tanh",
+ "tanh_n_n",
+ "Parrot_tanh_n_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 688 */
+ /* type PARROT_FUNCTION_OP, */
+ "callmethodcc",
+ "callmethodcc_p_s",
+ "Parrot_callmethodcc_p_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 689 */
+ /* type PARROT_FUNCTION_OP, */
+ "callmethodcc",
+ "callmethodcc_p_sc",
+ "Parrot_callmethodcc_p_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 690 */
+ /* type PARROT_FUNCTION_OP, */
+ "callmethodcc",
+ "callmethodcc_p_p",
+ "Parrot_callmethodcc_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 691 */
+ /* type PARROT_FUNCTION_OP, */
+ "callmethod",
+ "callmethod_p_s_p",
+ "Parrot_callmethod_p_s_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 692 */
+ /* type PARROT_FUNCTION_OP, */
+ "callmethod",
+ "callmethod_p_sc_p",
+ "Parrot_callmethod_p_sc_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 693 */
+ /* type PARROT_FUNCTION_OP, */
+ "callmethod",
+ "callmethod_p_p_p",
+ "Parrot_callmethod_p_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 694 */
+ /* type PARROT_FUNCTION_OP, */
+ "tailcallmethod",
+ "tailcallmethod_p_s",
+ "Parrot_tailcallmethod_p_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 695 */
+ /* type PARROT_FUNCTION_OP, */
+ "tailcallmethod",
+ "tailcallmethod_p_sc",
+ "Parrot_tailcallmethod_p_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 696 */
+ /* type PARROT_FUNCTION_OP, */
+ "tailcallmethod",
+ "tailcallmethod_p_p",
+ "Parrot_tailcallmethod_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 697 */
+ /* type PARROT_INLINE_OP, */
+ "addmethod",
+ "addmethod_p_s_p",
+ "Parrot_addmethod_p_s_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 698 */
+ /* type PARROT_INLINE_OP, */
+ "addmethod",
+ "addmethod_p_sc_p",
+ "Parrot_addmethod_p_sc_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 699 */
+ /* type PARROT_INLINE_OP, */
+ "can",
+ "can_i_p_s",
+ "Parrot_can_i_p_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 700 */
+ /* type PARROT_INLINE_OP, */
+ "can",
+ "can_i_p_sc",
+ "Parrot_can_i_p_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 701 */
+ /* type PARROT_INLINE_OP, */
+ "does",
+ "does_i_p_s",
+ "Parrot_does_i_p_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 702 */
+ /* type PARROT_INLINE_OP, */
+ "does",
+ "does_i_p_sc",
+ "Parrot_does_i_p_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 703 */
+ /* type PARROT_INLINE_OP, */
+ "does",
+ "does_i_p_p",
+ "Parrot_does_i_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 704 */
+ /* type PARROT_INLINE_OP, */
+ "does",
+ "does_i_p_pc",
+ "Parrot_does_i_p_pc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 705 */
+ /* type PARROT_INLINE_OP, */
+ "isa",
+ "isa_i_p_s",
+ "Parrot_isa_i_p_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 706 */
+ /* type PARROT_INLINE_OP, */
+ "isa",
+ "isa_i_p_sc",
+ "Parrot_isa_i_p_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 707 */
+ /* type PARROT_INLINE_OP, */
+ "isa",
+ "isa_i_p_p",
+ "Parrot_isa_i_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 708 */
+ /* type PARROT_INLINE_OP, */
+ "isa",
+ "isa_i_p_pc",
+ "Parrot_isa_i_p_pc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 709 */
+ /* type PARROT_INLINE_OP, */
+ "newclass",
+ "newclass_p_s",
+ "Parrot_newclass_p_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 710 */
+ /* type PARROT_INLINE_OP, */
+ "newclass",
+ "newclass_p_sc",
+ "Parrot_newclass_p_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 711 */
+ /* type PARROT_INLINE_OP, */
+ "newclass",
+ "newclass_p_p",
+ "Parrot_newclass_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 712 */
+ /* type PARROT_INLINE_OP, */
+ "newclass",
+ "newclass_p_pc",
+ "Parrot_newclass_p_pc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 713 */
+ /* type PARROT_INLINE_OP, */
+ "subclass",
+ "subclass_p_p",
+ "Parrot_subclass_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 714 */
+ /* type PARROT_INLINE_OP, */
+ "subclass",
+ "subclass_p_pc",
+ "Parrot_subclass_p_pc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 715 */
+ /* type PARROT_INLINE_OP, */
+ "subclass",
+ "subclass_p_p_s",
+ "Parrot_subclass_p_p_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 716 */
+ /* type PARROT_INLINE_OP, */
+ "subclass",
+ "subclass_p_pc_s",
+ "Parrot_subclass_p_pc_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 717 */
+ /* type PARROT_INLINE_OP, */
+ "subclass",
+ "subclass_p_p_sc",
+ "Parrot_subclass_p_p_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 718 */
+ /* type PARROT_INLINE_OP, */
+ "subclass",
+ "subclass_p_pc_sc",
+ "Parrot_subclass_p_pc_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 719 */
+ /* type PARROT_INLINE_OP, */
+ "subclass",
+ "subclass_p_p_p",
+ "Parrot_subclass_p_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 720 */
+ /* type PARROT_INLINE_OP, */
+ "subclass",
+ "subclass_p_pc_p",
+ "Parrot_subclass_p_pc_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 721 */
+ /* type PARROT_INLINE_OP, */
+ "subclass",
+ "subclass_p_p_pc",
+ "Parrot_subclass_p_p_pc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 722 */
+ /* type PARROT_INLINE_OP, */
+ "subclass",
+ "subclass_p_pc_pc",
+ "Parrot_subclass_p_pc_pc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 723 */
+ /* type PARROT_FUNCTION_OP, */
+ "subclass",
+ "subclass_p_s",
+ "Parrot_subclass_p_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 724 */
+ /* type PARROT_FUNCTION_OP, */
+ "subclass",
+ "subclass_p_sc",
+ "Parrot_subclass_p_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 725 */
+ /* type PARROT_FUNCTION_OP, */
+ "subclass",
+ "subclass_p_s_s",
+ "Parrot_subclass_p_s_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 726 */
+ /* type PARROT_FUNCTION_OP, */
+ "subclass",
+ "subclass_p_sc_s",
+ "Parrot_subclass_p_sc_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 727 */
+ /* type PARROT_FUNCTION_OP, */
+ "subclass",
+ "subclass_p_s_sc",
+ "Parrot_subclass_p_s_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 728 */
+ /* type PARROT_FUNCTION_OP, */
+ "subclass",
+ "subclass_p_sc_sc",
+ "Parrot_subclass_p_sc_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 729 */
+ /* type PARROT_FUNCTION_OP, */
+ "subclass",
+ "subclass_p_s_p",
+ "Parrot_subclass_p_s_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 730 */
+ /* type PARROT_FUNCTION_OP, */
+ "subclass",
+ "subclass_p_sc_p",
+ "Parrot_subclass_p_sc_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 731 */
+ /* type PARROT_FUNCTION_OP, */
+ "subclass",
+ "subclass_p_s_pc",
+ "Parrot_subclass_p_s_pc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 732 */
+ /* type PARROT_FUNCTION_OP, */
+ "subclass",
+ "subclass_p_sc_pc",
+ "Parrot_subclass_p_sc_pc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 733 */
+ /* type PARROT_INLINE_OP, */
+ "get_class",
+ "get_class_p_s",
+ "Parrot_get_class_p_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 734 */
+ /* type PARROT_INLINE_OP, */
+ "get_class",
+ "get_class_p_sc",
+ "Parrot_get_class_p_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 735 */
+ /* type PARROT_INLINE_OP, */
+ "get_class",
+ "get_class_p_p",
+ "Parrot_get_class_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 736 */
+ /* type PARROT_INLINE_OP, */
+ "get_class",
+ "get_class_p_pc",
+ "Parrot_get_class_p_pc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 737 */
+ /* type PARROT_INLINE_OP, */
+ "class",
+ "class_p_p",
+ "Parrot_class_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 738 */
+ /* type PARROT_INLINE_OP, */
+ "addparent",
+ "addparent_p_p",
+ "Parrot_addparent_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 739 */
+ /* type PARROT_INLINE_OP, */
+ "removeparent",
+ "removeparent_p_p",
+ "Parrot_removeparent_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 740 */
+ /* type PARROT_INLINE_OP, */
+ "addrole",
+ "addrole_p_p",
+ "Parrot_addrole_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 741 */
+ /* type PARROT_INLINE_OP, */
+ "addattribute",
+ "addattribute_p_s",
+ "Parrot_addattribute_p_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 742 */
+ /* type PARROT_INLINE_OP, */
+ "addattribute",
+ "addattribute_p_sc",
+ "Parrot_addattribute_p_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 743 */
+ /* type PARROT_FUNCTION_OP, */
+ "removeattribute",
+ "removeattribute_p_s",
+ "Parrot_removeattribute_p_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 744 */
+ /* type PARROT_FUNCTION_OP, */
+ "removeattribute",
+ "removeattribute_p_sc",
+ "Parrot_removeattribute_p_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 745 */
+ /* type PARROT_INLINE_OP, */
+ "getattribute",
+ "getattribute_p_p_s",
+ "Parrot_getattribute_p_p_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 746 */
+ /* type PARROT_INLINE_OP, */
+ "getattribute",
+ "getattribute_p_p_sc",
+ "Parrot_getattribute_p_p_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 747 */
+ /* type PARROT_INLINE_OP, */
+ "getattribute",
+ "getattribute_p_p_p_s",
+ "Parrot_getattribute_p_p_p_s",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 748 */
+ /* type PARROT_INLINE_OP, */
+ "getattribute",
+ "getattribute_p_p_pc_s",
+ "Parrot_getattribute_p_p_pc_s",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 749 */
+ /* type PARROT_INLINE_OP, */
+ "getattribute",
+ "getattribute_p_p_p_sc",
+ "Parrot_getattribute_p_p_p_sc",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 750 */
+ /* type PARROT_INLINE_OP, */
+ "getattribute",
+ "getattribute_p_p_pc_sc",
+ "Parrot_getattribute_p_p_pc_sc",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 751 */
+ /* type PARROT_INLINE_OP, */
+ "setattribute",
+ "setattribute_p_s_p",
+ "Parrot_setattribute_p_s_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 752 */
+ /* type PARROT_INLINE_OP, */
+ "setattribute",
+ "setattribute_p_sc_p",
+ "Parrot_setattribute_p_sc_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 753 */
+ /* type PARROT_INLINE_OP, */
+ "setattribute",
+ "setattribute_p_p_s_p",
+ "Parrot_setattribute_p_p_s_p",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 754 */
+ /* type PARROT_INLINE_OP, */
+ "setattribute",
+ "setattribute_p_pc_s_p",
+ "Parrot_setattribute_p_pc_s_p",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 755 */
+ /* type PARROT_INLINE_OP, */
+ "setattribute",
+ "setattribute_p_p_sc_p",
+ "Parrot_setattribute_p_p_sc_p",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 756 */
+ /* type PARROT_INLINE_OP, */
+ "setattribute",
+ "setattribute_p_pc_sc_p",
+ "Parrot_setattribute_p_pc_sc_p",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 757 */
+ /* type PARROT_INLINE_OP, */
+ "inspect",
+ "inspect_p_p",
+ "Parrot_inspect_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 758 */
+ /* type PARROT_INLINE_OP, */
+ "inspect",
+ "inspect_p_pc",
+ "Parrot_inspect_p_pc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 759 */
+ /* type PARROT_INLINE_OP, */
+ "inspect",
+ "inspect_p_p_s",
+ "Parrot_inspect_p_p_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 760 */
+ /* type PARROT_INLINE_OP, */
+ "inspect",
+ "inspect_p_pc_s",
+ "Parrot_inspect_p_pc_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 761 */
+ /* type PARROT_INLINE_OP, */
+ "inspect",
+ "inspect_p_p_sc",
+ "Parrot_inspect_p_p_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 762 */
+ /* type PARROT_INLINE_OP, */
+ "inspect",
+ "inspect_p_pc_sc",
+ "Parrot_inspect_p_pc_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 763 */
+ /* type PARROT_FUNCTION_OP, */
+ "new",
+ "new_p_s",
+ "Parrot_new_p_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 764 */
+ /* type PARROT_FUNCTION_OP, */
+ "new",
+ "new_p_sc",
+ "Parrot_new_p_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 765 */
+ /* type PARROT_FUNCTION_OP, */
+ "new",
+ "new_p_s_p",
+ "Parrot_new_p_s_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 766 */
+ /* type PARROT_FUNCTION_OP, */
+ "new",
+ "new_p_sc_p",
+ "Parrot_new_p_sc_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 767 */
+ /* type PARROT_FUNCTION_OP, */
+ "new",
+ "new_p_s_pc",
+ "Parrot_new_p_s_pc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 768 */
+ /* type PARROT_FUNCTION_OP, */
+ "new",
+ "new_p_sc_pc",
+ "Parrot_new_p_sc_pc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 769 */
+ /* type PARROT_INLINE_OP, */
+ "new",
+ "new_p_p",
+ "Parrot_new_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 770 */
+ /* type PARROT_INLINE_OP, */
+ "new",
+ "new_p_pc",
+ "Parrot_new_p_pc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 771 */
+ /* type PARROT_FUNCTION_OP, */
+ "new",
+ "new_p_p_p",
+ "Parrot_new_p_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 772 */
+ /* type PARROT_FUNCTION_OP, */
+ "new",
+ "new_p_pc_p",
+ "Parrot_new_p_pc_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 773 */
+ /* type PARROT_FUNCTION_OP, */
+ "new",
+ "new_p_p_pc",
+ "Parrot_new_p_p_pc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 774 */
+ /* type PARROT_FUNCTION_OP, */
+ "new",
+ "new_p_pc_pc",
+ "Parrot_new_p_pc_pc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 775 */
+ /* type PARROT_FUNCTION_OP, */
+ "root_new",
+ "root_new_p_p",
+ "Parrot_root_new_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 776 */
+ /* type PARROT_FUNCTION_OP, */
+ "root_new",
+ "root_new_p_pc",
+ "Parrot_root_new_p_pc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 777 */
+ /* type PARROT_FUNCTION_OP, */
+ "root_new",
+ "root_new_p_p_p",
+ "Parrot_root_new_p_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 778 */
+ /* type PARROT_FUNCTION_OP, */
+ "root_new",
+ "root_new_p_pc_p",
+ "Parrot_root_new_p_pc_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 779 */
+ /* type PARROT_FUNCTION_OP, */
+ "root_new",
+ "root_new_p_p_pc",
+ "Parrot_root_new_p_p_pc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 780 */
+ /* type PARROT_FUNCTION_OP, */
+ "root_new",
+ "root_new_p_pc_pc",
+ "Parrot_root_new_p_pc_pc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 781 */
+ /* type PARROT_INLINE_OP, */
+ "typeof",
+ "typeof_s_p",
+ "Parrot_typeof_s_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 782 */
+ /* type PARROT_INLINE_OP, */
+ "typeof",
+ "typeof_p_p",
+ "Parrot_typeof_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 783 */
+ /* type PARROT_FUNCTION_OP, */
+ "get_repr",
+ "get_repr_s_p",
+ "Parrot_get_repr_s_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 784 */
+ /* type PARROT_FUNCTION_OP, */
+ "find_method",
+ "find_method_p_p_s",
+ "Parrot_find_method_p_p_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 785 */
+ /* type PARROT_FUNCTION_OP, */
+ "find_method",
+ "find_method_p_p_sc",
+ "Parrot_find_method_p_p_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 786 */
+ /* type PARROT_INLINE_OP, */
+ "defined",
+ "defined_i_p",
+ "Parrot_defined_i_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 787 */
+ /* type PARROT_INLINE_OP, */
+ "defined",
+ "defined_i_p_ki",
+ "Parrot_defined_i_p_ki",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KI },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 788 */
+ /* type PARROT_INLINE_OP, */
+ "defined",
+ "defined_i_p_kic",
+ "Parrot_defined_i_p_kic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KIC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 789 */
+ /* type PARROT_INLINE_OP, */
+ "defined",
+ "defined_i_p_k",
+ "Parrot_defined_i_p_k",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_K },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 790 */
+ /* type PARROT_INLINE_OP, */
+ "defined",
+ "defined_i_p_kc",
+ "Parrot_defined_i_p_kc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 791 */
+ /* type PARROT_INLINE_OP, */
+ "exists",
+ "exists_i_p_ki",
+ "Parrot_exists_i_p_ki",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KI },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 792 */
+ /* type PARROT_INLINE_OP, */
+ "exists",
+ "exists_i_p_kic",
+ "Parrot_exists_i_p_kic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KIC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 793 */
+ /* type PARROT_INLINE_OP, */
+ "exists",
+ "exists_i_p_k",
+ "Parrot_exists_i_p_k",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_K },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 794 */
+ /* type PARROT_INLINE_OP, */
+ "exists",
+ "exists_i_p_kc",
+ "Parrot_exists_i_p_kc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 795 */
+ /* type PARROT_INLINE_OP, */
+ "delete",
+ "delete_p_k",
+ "Parrot_delete_p_k",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_K },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 796 */
+ /* type PARROT_INLINE_OP, */
+ "delete",
+ "delete_p_kc",
+ "Parrot_delete_p_kc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_KC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 797 */
+ /* type PARROT_INLINE_OP, */
+ "delete",
+ "delete_p_ki",
+ "Parrot_delete_p_ki",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_KI },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 798 */
+ /* type PARROT_INLINE_OP, */
+ "delete",
+ "delete_p_kic",
+ "Parrot_delete_p_kic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_KIC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 799 */
+ /* type PARROT_INLINE_OP, */
+ "elements",
+ "elements_i_p",
+ "Parrot_elements_i_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 800 */
+ /* type PARROT_INLINE_OP, */
+ "push",
+ "push_p_i",
+ "Parrot_push_p_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 801 */
+ /* type PARROT_INLINE_OP, */
+ "push",
+ "push_p_ic",
+ "Parrot_push_p_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 802 */
+ /* type PARROT_INLINE_OP, */
+ "push",
+ "push_p_n",
+ "Parrot_push_p_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_N },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 803 */
+ /* type PARROT_INLINE_OP, */
+ "push",
+ "push_p_nc",
+ "Parrot_push_p_nc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_NC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 804 */
+ /* type PARROT_INLINE_OP, */
+ "push",
+ "push_p_s",
+ "Parrot_push_p_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 805 */
+ /* type PARROT_INLINE_OP, */
+ "push",
+ "push_p_sc",
+ "Parrot_push_p_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 806 */
+ /* type PARROT_INLINE_OP, */
+ "push",
+ "push_p_p",
+ "Parrot_push_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 807 */
+ /* type PARROT_INLINE_OP, */
+ "pop",
+ "pop_i_p",
+ "Parrot_pop_i_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 808 */
+ /* type PARROT_INLINE_OP, */
+ "pop",
+ "pop_n_p",
+ "Parrot_pop_n_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 809 */
+ /* type PARROT_INLINE_OP, */
+ "pop",
+ "pop_s_p",
+ "Parrot_pop_s_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 810 */
+ /* type PARROT_INLINE_OP, */
+ "pop",
+ "pop_p_p",
+ "Parrot_pop_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 811 */
+ /* type PARROT_INLINE_OP, */
+ "unshift",
+ "unshift_p_i",
+ "Parrot_unshift_p_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 812 */
+ /* type PARROT_INLINE_OP, */
+ "unshift",
+ "unshift_p_ic",
+ "Parrot_unshift_p_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 813 */
+ /* type PARROT_INLINE_OP, */
+ "unshift",
+ "unshift_p_n",
+ "Parrot_unshift_p_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_N },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 814 */
+ /* type PARROT_INLINE_OP, */
+ "unshift",
+ "unshift_p_nc",
+ "Parrot_unshift_p_nc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_NC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 815 */
+ /* type PARROT_INLINE_OP, */
+ "unshift",
+ "unshift_p_s",
+ "Parrot_unshift_p_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 816 */
+ /* type PARROT_INLINE_OP, */
+ "unshift",
+ "unshift_p_sc",
+ "Parrot_unshift_p_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 817 */
+ /* type PARROT_INLINE_OP, */
+ "unshift",
+ "unshift_p_p",
+ "Parrot_unshift_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 818 */
+ /* type PARROT_INLINE_OP, */
+ "shift",
+ "shift_i_p",
+ "Parrot_shift_i_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 819 */
+ /* type PARROT_INLINE_OP, */
+ "shift",
+ "shift_n_p",
+ "Parrot_shift_n_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 820 */
+ /* type PARROT_INLINE_OP, */
+ "shift",
+ "shift_s_p",
+ "Parrot_shift_s_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 821 */
+ /* type PARROT_INLINE_OP, */
+ "shift",
+ "shift_p_p",
+ "Parrot_shift_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 822 */
+ /* type PARROT_INLINE_OP, */
+ "splice",
+ "splice_p_p_i_i",
+ "Parrot_splice_p_p_i_i",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 823 */
+ /* type PARROT_INLINE_OP, */
+ "splice",
+ "splice_p_p_ic_i",
+ "Parrot_splice_p_p_ic_i",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 824 */
+ /* type PARROT_INLINE_OP, */
+ "splice",
+ "splice_p_p_i_ic",
+ "Parrot_splice_p_p_i_ic",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 825 */
+ /* type PARROT_INLINE_OP, */
+ "splice",
+ "splice_p_p_ic_ic",
+ "Parrot_splice_p_p_ic_ic",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 826 */
+ /* type PARROT_FUNCTION_OP, */
+ "setprop",
+ "setprop_p_s_p",
+ "Parrot_setprop_p_s_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 827 */
+ /* type PARROT_FUNCTION_OP, */
+ "setprop",
+ "setprop_p_sc_p",
+ "Parrot_setprop_p_sc_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 828 */
+ /* type PARROT_FUNCTION_OP, */
+ "getprop",
+ "getprop_p_s_p",
+ "Parrot_getprop_p_s_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 829 */
+ /* type PARROT_FUNCTION_OP, */
+ "getprop",
+ "getprop_p_sc_p",
+ "Parrot_getprop_p_sc_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 830 */
+ /* type PARROT_FUNCTION_OP, */
+ "delprop",
+ "delprop_p_s",
+ "Parrot_delprop_p_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 831 */
+ /* type PARROT_FUNCTION_OP, */
+ "delprop",
+ "delprop_p_sc",
+ "Parrot_delprop_p_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 832 */
+ /* type PARROT_FUNCTION_OP, */
+ "prophash",
+ "prophash_p_p",
+ "Parrot_prophash_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 833 */
+ /* type PARROT_FUNCTION_OP, */
+ "freeze",
+ "freeze_s_p",
+ "Parrot_freeze_s_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 834 */
+ /* type PARROT_FUNCTION_OP, */
+ "thaw",
+ "thaw_p_s",
+ "Parrot_thaw_p_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 835 */
+ /* type PARROT_FUNCTION_OP, */
+ "thaw",
+ "thaw_p_sc",
+ "Parrot_thaw_p_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 836 */
+ /* type PARROT_INLINE_OP, */
+ "add_multi",
+ "add_multi_s_s_p",
+ "Parrot_add_multi_s_s_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 837 */
+ /* type PARROT_INLINE_OP, */
+ "add_multi",
+ "add_multi_sc_s_p",
+ "Parrot_add_multi_sc_s_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 838 */
+ /* type PARROT_INLINE_OP, */
+ "add_multi",
+ "add_multi_s_sc_p",
+ "Parrot_add_multi_s_sc_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 839 */
+ /* type PARROT_INLINE_OP, */
+ "add_multi",
+ "add_multi_sc_sc_p",
+ "Parrot_add_multi_sc_sc_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_SC, PARROT_ARG_SC, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 840 */
+ /* type PARROT_INLINE_OP, */
+ "find_multi",
+ "find_multi_p_s_s",
+ "Parrot_find_multi_p_s_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 841 */
+ /* type PARROT_INLINE_OP, */
+ "find_multi",
+ "find_multi_p_sc_s",
+ "Parrot_find_multi_p_sc_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 842 */
+ /* type PARROT_INLINE_OP, */
+ "find_multi",
+ "find_multi_p_s_sc",
+ "Parrot_find_multi_p_s_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 843 */
+ /* type PARROT_INLINE_OP, */
+ "find_multi",
+ "find_multi_p_sc_sc",
+ "Parrot_find_multi_p_sc_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 844 */
+ /* type PARROT_FUNCTION_OP, */
+ "register",
+ "register_p",
+ "Parrot_register_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 845 */
+ /* type PARROT_FUNCTION_OP, */
+ "unregister",
+ "unregister_p",
+ "Parrot_unregister_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 846 */
+ /* type PARROT_FUNCTION_OP, */
+ "box",
+ "box_p_i",
+ "Parrot_box_p_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 847 */
+ /* type PARROT_FUNCTION_OP, */
+ "box",
+ "box_p_ic",
+ "Parrot_box_p_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 848 */
+ /* type PARROT_FUNCTION_OP, */
+ "box",
+ "box_p_n",
+ "Parrot_box_p_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 849 */
+ /* type PARROT_FUNCTION_OP, */
+ "box",
+ "box_p_nc",
+ "Parrot_box_p_nc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_NC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 850 */
+ /* type PARROT_FUNCTION_OP, */
+ "box",
+ "box_p_s",
+ "Parrot_box_p_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 851 */
+ /* type PARROT_FUNCTION_OP, */
+ "box",
+ "box_p_sc",
+ "Parrot_box_p_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 852 */
+ /* type PARROT_INLINE_OP, */
+ "iter",
+ "iter_p_p",
+ "Parrot_iter_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 853 */
+ /* type PARROT_INLINE_OP, */
+ "morph",
+ "morph_p_p",
+ "Parrot_morph_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 854 */
+ /* type PARROT_INLINE_OP, */
+ "morph",
+ "morph_p_pc",
+ "Parrot_morph_p_pc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_PC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 855 */
+ /* type PARROT_INLINE_OP, */
+ "clone",
+ "clone_s_s",
+ "Parrot_clone_s_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 856 */
+ /* type PARROT_INLINE_OP, */
+ "clone",
+ "clone_s_sc",
+ "Parrot_clone_s_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 857 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_i_i",
+ "Parrot_set_i_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 858 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_i_ic",
+ "Parrot_set_i_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 859 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_i_n",
+ "Parrot_set_i_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 860 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_i_nc",
+ "Parrot_set_i_nc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_NC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 861 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_i_s",
+ "Parrot_set_i_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 862 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_i_sc",
+ "Parrot_set_i_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 863 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_n_n",
+ "Parrot_set_n_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 864 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_n_nc",
+ "Parrot_set_n_nc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_NC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 865 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_n_i",
+ "Parrot_set_n_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 866 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_n_ic",
+ "Parrot_set_n_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 867 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_n_s",
+ "Parrot_set_n_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 868 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_n_sc",
+ "Parrot_set_n_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 869 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_n_p",
+ "Parrot_set_n_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_N, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 870 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_s_p",
+ "Parrot_set_s_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 871 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_s_s",
+ "Parrot_set_s_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 872 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_s_sc",
+ "Parrot_set_s_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 873 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_s_i",
+ "Parrot_set_s_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 874 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_s_ic",
+ "Parrot_set_s_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 875 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_s_n",
+ "Parrot_set_s_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 876 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_s_nc",
+ "Parrot_set_s_nc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_NC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 877 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_pc",
+ "Parrot_set_p_pc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 878 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_p",
+ "Parrot_set_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 879 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_i",
+ "Parrot_set_p_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 880 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_ic",
+ "Parrot_set_p_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 881 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_n",
+ "Parrot_set_p_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_N },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 882 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_nc",
+ "Parrot_set_p_nc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_NC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 883 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_s",
+ "Parrot_set_p_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 884 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_sc",
+ "Parrot_set_p_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 885 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_i_p",
+ "Parrot_set_i_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 886 */
+ /* type PARROT_INLINE_OP, */
+ "assign",
+ "assign_p_p",
+ "Parrot_assign_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 887 */
+ /* type PARROT_INLINE_OP, */
+ "assign",
+ "assign_p_i",
+ "Parrot_assign_p_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 888 */
+ /* type PARROT_INLINE_OP, */
+ "assign",
+ "assign_p_ic",
+ "Parrot_assign_p_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 889 */
+ /* type PARROT_INLINE_OP, */
+ "assign",
+ "assign_p_n",
+ "Parrot_assign_p_n",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_N },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 890 */
+ /* type PARROT_INLINE_OP, */
+ "assign",
+ "assign_p_nc",
+ "Parrot_assign_p_nc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_NC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 891 */
+ /* type PARROT_INLINE_OP, */
+ "assign",
+ "assign_p_s",
+ "Parrot_assign_p_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 892 */
+ /* type PARROT_INLINE_OP, */
+ "assign",
+ "assign_p_sc",
+ "Parrot_assign_p_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 893 */
+ /* type PARROT_INLINE_OP, */
+ "assign",
+ "assign_s_s",
+ "Parrot_assign_s_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 894 */
+ /* type PARROT_INLINE_OP, */
+ "assign",
+ "assign_s_sc",
+ "Parrot_assign_s_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 895 */
+ /* type PARROT_INLINE_OP, */
+ "setref",
+ "setref_p_p",
+ "Parrot_setref_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 896 */
+ /* type PARROT_INLINE_OP, */
+ "deref",
+ "deref_p_p",
+ "Parrot_deref_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 897 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_ki_i",
+ "Parrot_set_p_ki_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_KI, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 898 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_kic_i",
+ "Parrot_set_p_kic_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_KIC, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 899 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_ki_ic",
+ "Parrot_set_p_ki_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_KI, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 900 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_kic_ic",
+ "Parrot_set_p_kic_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_KIC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 901 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_ki_n",
+ "Parrot_set_p_ki_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_KI, PARROT_ARG_N },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 902 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_kic_n",
+ "Parrot_set_p_kic_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_KIC, PARROT_ARG_N },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 903 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_ki_nc",
+ "Parrot_set_p_ki_nc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_KI, PARROT_ARG_NC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 904 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_kic_nc",
+ "Parrot_set_p_kic_nc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_KIC, PARROT_ARG_NC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 905 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_ki_s",
+ "Parrot_set_p_ki_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_KI, PARROT_ARG_S },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 906 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_kic_s",
+ "Parrot_set_p_kic_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_KIC, PARROT_ARG_S },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 907 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_ki_sc",
+ "Parrot_set_p_ki_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_KI, PARROT_ARG_SC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 908 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_kic_sc",
+ "Parrot_set_p_kic_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_KIC, PARROT_ARG_SC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 909 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_ki_p",
+ "Parrot_set_p_ki_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_KI, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 910 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_kic_p",
+ "Parrot_set_p_kic_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_KIC, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 911 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_i_p_ki",
+ "Parrot_set_i_p_ki",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KI },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 912 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_i_p_kic",
+ "Parrot_set_i_p_kic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KIC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 913 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_n_p_ki",
+ "Parrot_set_n_p_ki",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_P, PARROT_ARG_KI },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 914 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_n_p_kic",
+ "Parrot_set_n_p_kic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_P, PARROT_ARG_KIC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 915 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_s_p_ki",
+ "Parrot_set_s_p_ki",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_P, PARROT_ARG_KI },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 916 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_s_p_kic",
+ "Parrot_set_s_p_kic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_P, PARROT_ARG_KIC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 917 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_p_ki",
+ "Parrot_set_p_p_ki",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_KI },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 918 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_p_kic",
+ "Parrot_set_p_p_kic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_KIC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 919 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_k_i",
+ "Parrot_set_p_k_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_K, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 920 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_kc_i",
+ "Parrot_set_p_kc_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_KC, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 921 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_k_ic",
+ "Parrot_set_p_k_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_K, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 922 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_kc_ic",
+ "Parrot_set_p_kc_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_KC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 923 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_k_n",
+ "Parrot_set_p_k_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_K, PARROT_ARG_N },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 924 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_kc_n",
+ "Parrot_set_p_kc_n",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_KC, PARROT_ARG_N },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 925 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_k_nc",
+ "Parrot_set_p_k_nc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_K, PARROT_ARG_NC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 926 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_kc_nc",
+ "Parrot_set_p_kc_nc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_KC, PARROT_ARG_NC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 927 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_k_s",
+ "Parrot_set_p_k_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_K, PARROT_ARG_S },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 928 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_kc_s",
+ "Parrot_set_p_kc_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_KC, PARROT_ARG_S },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 929 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_k_sc",
+ "Parrot_set_p_k_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_K, PARROT_ARG_SC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 930 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_kc_sc",
+ "Parrot_set_p_kc_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_KC, PARROT_ARG_SC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 931 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_k_p",
+ "Parrot_set_p_k_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_K, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 932 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_kc_p",
+ "Parrot_set_p_kc_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_KC, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 933 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_i_p_k",
+ "Parrot_set_i_p_k",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_K },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 934 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_i_p_kc",
+ "Parrot_set_i_p_kc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 935 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_n_p_k",
+ "Parrot_set_n_p_k",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_P, PARROT_ARG_K },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 936 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_n_p_kc",
+ "Parrot_set_n_p_kc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_N, PARROT_ARG_P, PARROT_ARG_KC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 937 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_s_p_k",
+ "Parrot_set_s_p_k",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_P, PARROT_ARG_K },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 938 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_s_p_kc",
+ "Parrot_set_s_p_kc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_P, PARROT_ARG_KC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 939 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_p_k",
+ "Parrot_set_p_p_k",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_K },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 940 */
+ /* type PARROT_INLINE_OP, */
+ "set",
+ "set_p_p_kc",
+ "Parrot_set_p_p_kc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_KC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 941 */
+ /* type PARROT_INLINE_OP, */
+ "clone",
+ "clone_p_p",
+ "Parrot_clone_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 942 */
+ /* type PARROT_INLINE_OP, */
+ "clone",
+ "clone_p_p_p",
+ "Parrot_clone_p_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 943 */
+ /* type PARROT_INLINE_OP, */
+ "clone",
+ "clone_p_p_pc",
+ "Parrot_clone_p_p_pc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 944 */
+ /* type PARROT_INLINE_OP, */
+ "copy",
+ "copy_p_p",
+ "Parrot_copy_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 945 */
+ /* type PARROT_INLINE_OP, */
+ "null",
+ "null_s",
+ "Parrot_null_s",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT },
+ { 0 }
+ },
+ { /* 946 */
+ /* type PARROT_INLINE_OP, */
+ "null",
+ "null_i",
+ "Parrot_null_i",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT },
+ { 0 }
+ },
+ { /* 947 */
+ /* type PARROT_INLINE_OP, */
+ "null",
+ "null_p",
+ "Parrot_null_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT },
+ { 0 }
+ },
+ { /* 948 */
+ /* type PARROT_INLINE_OP, */
+ "null",
+ "null_n",
+ "Parrot_null_n",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT },
+ { 0 }
+ },
+ { /* 949 */
+ /* type PARROT_INLINE_OP, */
+ "ord",
+ "ord_i_s",
+ "Parrot_ord_i_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 950 */
+ /* type PARROT_INLINE_OP, */
+ "ord",
+ "ord_i_sc",
+ "Parrot_ord_i_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 951 */
+ /* type PARROT_INLINE_OP, */
+ "ord",
+ "ord_i_s_i",
+ "Parrot_ord_i_s_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 952 */
+ /* type PARROT_INLINE_OP, */
+ "ord",
+ "ord_i_sc_i",
+ "Parrot_ord_i_sc_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 953 */
+ /* type PARROT_INLINE_OP, */
+ "ord",
+ "ord_i_s_ic",
+ "Parrot_ord_i_s_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 954 */
+ /* type PARROT_INLINE_OP, */
+ "ord",
+ "ord_i_sc_ic",
+ "Parrot_ord_i_sc_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 955 */
+ /* type PARROT_INLINE_OP, */
+ "chr",
+ "chr_s_i",
+ "Parrot_chr_s_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 956 */
+ /* type PARROT_INLINE_OP, */
+ "chr",
+ "chr_s_ic",
+ "Parrot_chr_s_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 957 */
+ /* type PARROT_INLINE_OP, */
+ "chopn",
+ "chopn_s_s_i",
+ "Parrot_chopn_s_s_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 958 */
+ /* type PARROT_INLINE_OP, */
+ "chopn",
+ "chopn_s_sc_i",
+ "Parrot_chopn_s_sc_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 959 */
+ /* type PARROT_INLINE_OP, */
+ "chopn",
+ "chopn_s_s_ic",
+ "Parrot_chopn_s_s_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 960 */
+ /* type PARROT_INLINE_OP, */
+ "chopn",
+ "chopn_s_sc_ic",
+ "Parrot_chopn_s_sc_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 961 */
+ /* type PARROT_INLINE_OP, */
+ "concat",
+ "concat_s_s",
+ "Parrot_concat_s_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_S },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 962 */
+ /* type PARROT_INLINE_OP, */
+ "concat",
+ "concat_s_sc",
+ "Parrot_concat_s_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_SC },
+ { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 963 */
+ /* type PARROT_INLINE_OP, */
+ "concat",
+ "concat_p_p",
+ "Parrot_concat_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 964 */
+ /* type PARROT_INLINE_OP, */
+ "concat",
+ "concat_p_s",
+ "Parrot_concat_p_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 965 */
+ /* type PARROT_INLINE_OP, */
+ "concat",
+ "concat_p_sc",
+ "Parrot_concat_p_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 966 */
+ /* type PARROT_INLINE_OP, */
+ "concat",
+ "concat_s_s_s",
+ "Parrot_concat_s_s_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 967 */
+ /* type PARROT_INLINE_OP, */
+ "concat",
+ "concat_s_sc_s",
+ "Parrot_concat_s_sc_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 968 */
+ /* type PARROT_INLINE_OP, */
+ "concat",
+ "concat_s_s_sc",
+ "Parrot_concat_s_s_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 969 */
+ /* type PARROT_INLINE_OP, */
+ "concat",
+ "concat_p_p_s",
+ "Parrot_concat_p_p_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 970 */
+ /* type PARROT_INLINE_OP, */
+ "concat",
+ "concat_p_p_sc",
+ "Parrot_concat_p_p_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 971 */
+ /* type PARROT_INLINE_OP, */
+ "concat",
+ "concat_p_p_p",
+ "Parrot_concat_p_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 972 */
+ /* type PARROT_INLINE_OP, */
+ "repeat",
+ "repeat_s_s_i",
+ "Parrot_repeat_s_s_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 973 */
+ /* type PARROT_INLINE_OP, */
+ "repeat",
+ "repeat_s_sc_i",
+ "Parrot_repeat_s_sc_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 974 */
+ /* type PARROT_INLINE_OP, */
+ "repeat",
+ "repeat_s_s_ic",
+ "Parrot_repeat_s_s_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 975 */
+ /* type PARROT_INLINE_OP, */
+ "repeat",
+ "repeat_s_sc_ic",
+ "Parrot_repeat_s_sc_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 976 */
+ /* type PARROT_INLINE_OP, */
+ "repeat",
+ "repeat_p_p_i",
+ "Parrot_repeat_p_p_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 977 */
+ /* type PARROT_INLINE_OP, */
+ "repeat",
+ "repeat_p_p_ic",
+ "Parrot_repeat_p_p_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 978 */
+ /* type PARROT_INLINE_OP, */
+ "repeat",
+ "repeat_p_p_p",
+ "Parrot_repeat_p_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 979 */
+ /* type PARROT_INLINE_OP, */
+ "repeat",
+ "repeat_p_i",
+ "Parrot_repeat_p_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 980 */
+ /* type PARROT_INLINE_OP, */
+ "repeat",
+ "repeat_p_ic",
+ "Parrot_repeat_p_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 981 */
+ /* type PARROT_INLINE_OP, */
+ "repeat",
+ "repeat_p_p",
+ "Parrot_repeat_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 982 */
+ /* type PARROT_INLINE_OP, */
+ "length",
+ "length_i_s",
+ "Parrot_length_i_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 983 */
+ /* type PARROT_INLINE_OP, */
+ "length",
+ "length_i_sc",
+ "Parrot_length_i_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 984 */
+ /* type PARROT_INLINE_OP, */
+ "bytelength",
+ "bytelength_i_s",
+ "Parrot_bytelength_i_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 985 */
+ /* type PARROT_INLINE_OP, */
+ "bytelength",
+ "bytelength_i_sc",
+ "Parrot_bytelength_i_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 986 */
+ /* type PARROT_FUNCTION_OP, */
+ "pin",
+ "pin_s",
+ "Parrot_pin_s",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_S },
+ { PARROT_ARGDIR_INOUT },
+ { 0 }
+ },
+ { /* 987 */
+ /* type PARROT_FUNCTION_OP, */
+ "unpin",
+ "unpin_s",
+ "Parrot_unpin_s",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_S },
+ { PARROT_ARGDIR_INOUT },
+ { 0 }
+ },
+ { /* 988 */
+ /* type PARROT_INLINE_OP, */
+ "substr",
+ "substr_s_s_i",
+ "Parrot_substr_s_s_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 989 */
+ /* type PARROT_INLINE_OP, */
+ "substr",
+ "substr_s_sc_i",
+ "Parrot_substr_s_sc_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 990 */
+ /* type PARROT_INLINE_OP, */
+ "substr",
+ "substr_s_s_ic",
+ "Parrot_substr_s_s_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 991 */
+ /* type PARROT_INLINE_OP, */
+ "substr",
+ "substr_s_sc_ic",
+ "Parrot_substr_s_sc_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 992 */
+ /* type PARROT_INLINE_OP, */
+ "substr",
+ "substr_s_s_i_i",
+ "Parrot_substr_s_s_i_i",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 993 */
+ /* type PARROT_INLINE_OP, */
+ "substr",
+ "substr_s_sc_i_i",
+ "Parrot_substr_s_sc_i_i",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 994 */
+ /* type PARROT_INLINE_OP, */
+ "substr",
+ "substr_s_s_ic_i",
+ "Parrot_substr_s_s_ic_i",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 995 */
+ /* type PARROT_INLINE_OP, */
+ "substr",
+ "substr_s_sc_ic_i",
+ "Parrot_substr_s_sc_ic_i",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 996 */
+ /* type PARROT_INLINE_OP, */
+ "substr",
+ "substr_s_s_i_ic",
+ "Parrot_substr_s_s_i_ic",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 997 */
+ /* type PARROT_INLINE_OP, */
+ "substr",
+ "substr_s_sc_i_ic",
+ "Parrot_substr_s_sc_i_ic",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 998 */
+ /* type PARROT_INLINE_OP, */
+ "substr",
+ "substr_s_s_ic_ic",
+ "Parrot_substr_s_s_ic_ic",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 999 */
+ /* type PARROT_INLINE_OP, */
+ "substr",
+ "substr_s_sc_ic_ic",
+ "Parrot_substr_s_sc_ic_ic",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1000 */
+ /* type PARROT_INLINE_OP, */
+ "substr",
+ "substr_s_p_i_i",
+ "Parrot_substr_s_p_i_i",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_S, PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1001 */
+ /* type PARROT_INLINE_OP, */
+ "substr",
+ "substr_s_p_ic_i",
+ "Parrot_substr_s_p_ic_i",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_S, PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1002 */
+ /* type PARROT_INLINE_OP, */
+ "substr",
+ "substr_s_p_i_ic",
+ "Parrot_substr_s_p_i_ic",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_S, PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1003 */
+ /* type PARROT_INLINE_OP, */
+ "substr",
+ "substr_s_p_ic_ic",
+ "Parrot_substr_s_p_ic_ic",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_S, PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1004 */
+ /* type PARROT_INLINE_OP, */
+ "replace",
+ "replace_s_s_i_i_s",
+ "Parrot_replace_s_s_i_i_s",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1005 */
+ /* type PARROT_INLINE_OP, */
+ "replace",
+ "replace_s_sc_i_i_s",
+ "Parrot_replace_s_sc_i_i_s",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1006 */
+ /* type PARROT_INLINE_OP, */
+ "replace",
+ "replace_s_s_ic_i_s",
+ "Parrot_replace_s_s_ic_i_s",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_I, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1007 */
+ /* type PARROT_INLINE_OP, */
+ "replace",
+ "replace_s_sc_ic_i_s",
+ "Parrot_replace_s_sc_ic_i_s",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_I, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1008 */
+ /* type PARROT_INLINE_OP, */
+ "replace",
+ "replace_s_s_i_ic_s",
+ "Parrot_replace_s_s_i_ic_s",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1009 */
+ /* type PARROT_INLINE_OP, */
+ "replace",
+ "replace_s_sc_i_ic_s",
+ "Parrot_replace_s_sc_i_ic_s",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1010 */
+ /* type PARROT_INLINE_OP, */
+ "replace",
+ "replace_s_s_ic_ic_s",
+ "Parrot_replace_s_s_ic_ic_s",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_IC, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1011 */
+ /* type PARROT_INLINE_OP, */
+ "replace",
+ "replace_s_sc_ic_ic_s",
+ "Parrot_replace_s_sc_ic_ic_s",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_IC, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1012 */
+ /* type PARROT_INLINE_OP, */
+ "replace",
+ "replace_s_s_i_i_sc",
+ "Parrot_replace_s_s_i_i_sc",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1013 */
+ /* type PARROT_INLINE_OP, */
+ "replace",
+ "replace_s_sc_i_i_sc",
+ "Parrot_replace_s_sc_i_i_sc",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1014 */
+ /* type PARROT_INLINE_OP, */
+ "replace",
+ "replace_s_s_ic_i_sc",
+ "Parrot_replace_s_s_ic_i_sc",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_I, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1015 */
+ /* type PARROT_INLINE_OP, */
+ "replace",
+ "replace_s_sc_ic_i_sc",
+ "Parrot_replace_s_sc_ic_i_sc",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_I, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1016 */
+ /* type PARROT_INLINE_OP, */
+ "replace",
+ "replace_s_s_i_ic_sc",
+ "Parrot_replace_s_s_i_ic_sc",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1017 */
+ /* type PARROT_INLINE_OP, */
+ "replace",
+ "replace_s_sc_i_ic_sc",
+ "Parrot_replace_s_sc_i_ic_sc",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1018 */
+ /* type PARROT_INLINE_OP, */
+ "replace",
+ "replace_s_s_ic_ic_sc",
+ "Parrot_replace_s_s_ic_ic_sc",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_IC, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1019 */
+ /* type PARROT_INLINE_OP, */
+ "replace",
+ "replace_s_sc_ic_ic_sc",
+ "Parrot_replace_s_sc_ic_ic_sc",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_IC, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1020 */
+ /* type PARROT_INLINE_OP, */
+ "index",
+ "index_i_s_s",
+ "Parrot_index_i_s_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1021 */
+ /* type PARROT_INLINE_OP, */
+ "index",
+ "index_i_sc_s",
+ "Parrot_index_i_sc_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1022 */
+ /* type PARROT_INLINE_OP, */
+ "index",
+ "index_i_s_sc",
+ "Parrot_index_i_s_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1023 */
+ /* type PARROT_INLINE_OP, */
+ "index",
+ "index_i_sc_sc",
+ "Parrot_index_i_sc_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1024 */
+ /* type PARROT_INLINE_OP, */
+ "index",
+ "index_i_s_s_i",
+ "Parrot_index_i_s_s_i",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1025 */
+ /* type PARROT_INLINE_OP, */
+ "index",
+ "index_i_sc_s_i",
+ "Parrot_index_i_sc_s_i",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1026 */
+ /* type PARROT_INLINE_OP, */
+ "index",
+ "index_i_s_sc_i",
+ "Parrot_index_i_s_sc_i",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1027 */
+ /* type PARROT_INLINE_OP, */
+ "index",
+ "index_i_sc_sc_i",
+ "Parrot_index_i_sc_sc_i",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_SC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1028 */
+ /* type PARROT_INLINE_OP, */
+ "index",
+ "index_i_s_s_ic",
+ "Parrot_index_i_s_s_ic",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1029 */
+ /* type PARROT_INLINE_OP, */
+ "index",
+ "index_i_sc_s_ic",
+ "Parrot_index_i_sc_s_ic",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1030 */
+ /* type PARROT_INLINE_OP, */
+ "index",
+ "index_i_s_sc_ic",
+ "Parrot_index_i_s_sc_ic",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1031 */
+ /* type PARROT_INLINE_OP, */
+ "index",
+ "index_i_sc_sc_ic",
+ "Parrot_index_i_sc_sc_ic",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_SC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1032 */
+ /* type PARROT_INLINE_OP, */
+ "sprintf",
+ "sprintf_s_s_p",
+ "Parrot_sprintf_s_s_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1033 */
+ /* type PARROT_INLINE_OP, */
+ "sprintf",
+ "sprintf_s_sc_p",
+ "Parrot_sprintf_s_sc_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1034 */
+ /* type PARROT_INLINE_OP, */
+ "sprintf",
+ "sprintf_p_p_p",
+ "Parrot_sprintf_p_p_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1035 */
+ /* type PARROT_INLINE_OP, */
+ "new",
+ "new_s",
+ "Parrot_new_s",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT },
+ { 0 }
+ },
+ { /* 1036 */
+ /* type PARROT_INLINE_OP, */
+ "new",
+ "new_s_i",
+ "Parrot_new_s_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1037 */
+ /* type PARROT_INLINE_OP, */
+ "new",
+ "new_s_ic",
+ "Parrot_new_s_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1038 */
+ /* type PARROT_INLINE_OP, */
+ "stringinfo",
+ "stringinfo_i_s_i",
+ "Parrot_stringinfo_i_s_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1039 */
+ /* type PARROT_INLINE_OP, */
+ "stringinfo",
+ "stringinfo_i_sc_i",
+ "Parrot_stringinfo_i_sc_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1040 */
+ /* type PARROT_INLINE_OP, */
+ "stringinfo",
+ "stringinfo_i_s_ic",
+ "Parrot_stringinfo_i_s_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1041 */
+ /* type PARROT_INLINE_OP, */
+ "stringinfo",
+ "stringinfo_i_sc_ic",
+ "Parrot_stringinfo_i_sc_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1042 */
+ /* type PARROT_INLINE_OP, */
+ "upcase",
+ "upcase_s_s",
+ "Parrot_upcase_s_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1043 */
+ /* type PARROT_INLINE_OP, */
+ "upcase",
+ "upcase_s_sc",
+ "Parrot_upcase_s_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1044 */
+ /* type PARROT_INLINE_OP, */
+ "downcase",
+ "downcase_s_s",
+ "Parrot_downcase_s_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1045 */
+ /* type PARROT_INLINE_OP, */
+ "downcase",
+ "downcase_s_sc",
+ "Parrot_downcase_s_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1046 */
+ /* type PARROT_INLINE_OP, */
+ "titlecase",
+ "titlecase_s_s",
+ "Parrot_titlecase_s_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1047 */
+ /* type PARROT_INLINE_OP, */
+ "titlecase",
+ "titlecase_s_sc",
+ "Parrot_titlecase_s_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1048 */
+ /* type PARROT_FUNCTION_OP, */
+ "join",
+ "join_s_s_p",
+ "Parrot_join_s_s_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1049 */
+ /* type PARROT_FUNCTION_OP, */
+ "join",
+ "join_s_sc_p",
+ "Parrot_join_s_sc_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1050 */
+ /* type PARROT_FUNCTION_OP, */
+ "split",
+ "split_p_s_s",
+ "Parrot_split_p_s_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1051 */
+ /* type PARROT_FUNCTION_OP, */
+ "split",
+ "split_p_sc_s",
+ "Parrot_split_p_sc_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1052 */
+ /* type PARROT_FUNCTION_OP, */
+ "split",
+ "split_p_s_sc",
+ "Parrot_split_p_s_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1053 */
+ /* type PARROT_FUNCTION_OP, */
+ "split",
+ "split_p_sc_sc",
+ "Parrot_split_p_sc_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1054 */
+ /* type PARROT_FUNCTION_OP, */
+ "charset",
+ "charset_i_s",
+ "Parrot_charset_i_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1055 */
+ /* type PARROT_FUNCTION_OP, */
+ "charset",
+ "charset_i_sc",
+ "Parrot_charset_i_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1056 */
+ /* type PARROT_FUNCTION_OP, */
+ "charsetname",
+ "charsetname_s_i",
+ "Parrot_charsetname_s_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1057 */
+ /* type PARROT_FUNCTION_OP, */
+ "charsetname",
+ "charsetname_s_ic",
+ "Parrot_charsetname_s_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1058 */
+ /* type PARROT_FUNCTION_OP, */
+ "find_charset",
+ "find_charset_i_s",
+ "Parrot_find_charset_i_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1059 */
+ /* type PARROT_FUNCTION_OP, */
+ "find_charset",
+ "find_charset_i_sc",
+ "Parrot_find_charset_i_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1060 */
+ /* type PARROT_FUNCTION_OP, */
+ "trans_charset",
+ "trans_charset_s_s_i",
+ "Parrot_trans_charset_s_s_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1061 */
+ /* type PARROT_FUNCTION_OP, */
+ "trans_charset",
+ "trans_charset_s_sc_i",
+ "Parrot_trans_charset_s_sc_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1062 */
+ /* type PARROT_FUNCTION_OP, */
+ "trans_charset",
+ "trans_charset_s_s_ic",
+ "Parrot_trans_charset_s_s_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1063 */
+ /* type PARROT_FUNCTION_OP, */
+ "trans_charset",
+ "trans_charset_s_sc_ic",
+ "Parrot_trans_charset_s_sc_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1064 */
+ /* type PARROT_FUNCTION_OP, */
+ "encoding",
+ "encoding_i_s",
+ "Parrot_encoding_i_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1065 */
+ /* type PARROT_FUNCTION_OP, */
+ "encoding",
+ "encoding_i_sc",
+ "Parrot_encoding_i_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1066 */
+ /* type PARROT_FUNCTION_OP, */
+ "encodingname",
+ "encodingname_s_i",
+ "Parrot_encodingname_s_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1067 */
+ /* type PARROT_FUNCTION_OP, */
+ "encodingname",
+ "encodingname_s_ic",
+ "Parrot_encodingname_s_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1068 */
+ /* type PARROT_FUNCTION_OP, */
+ "find_encoding",
+ "find_encoding_i_s",
+ "Parrot_find_encoding_i_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1069 */
+ /* type PARROT_FUNCTION_OP, */
+ "find_encoding",
+ "find_encoding_i_sc",
+ "Parrot_find_encoding_i_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1070 */
+ /* type PARROT_FUNCTION_OP, */
+ "trans_encoding",
+ "trans_encoding_s_s_i",
+ "Parrot_trans_encoding_s_s_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1071 */
+ /* type PARROT_FUNCTION_OP, */
+ "trans_encoding",
+ "trans_encoding_s_sc_i",
+ "Parrot_trans_encoding_s_sc_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1072 */
+ /* type PARROT_FUNCTION_OP, */
+ "trans_encoding",
+ "trans_encoding_s_s_ic",
+ "Parrot_trans_encoding_s_s_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1073 */
+ /* type PARROT_FUNCTION_OP, */
+ "trans_encoding",
+ "trans_encoding_s_sc_ic",
+ "Parrot_trans_encoding_s_sc_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1074 */
+ /* type PARROT_INLINE_OP, */
+ "is_cclass",
+ "is_cclass_i_i_s_i",
+ "Parrot_is_cclass_i_i_s_i",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1075 */
+ /* type PARROT_INLINE_OP, */
+ "is_cclass",
+ "is_cclass_i_ic_s_i",
+ "Parrot_is_cclass_i_ic_s_i",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_S, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1076 */
+ /* type PARROT_INLINE_OP, */
+ "is_cclass",
+ "is_cclass_i_i_sc_i",
+ "Parrot_is_cclass_i_i_sc_i",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1077 */
+ /* type PARROT_INLINE_OP, */
+ "is_cclass",
+ "is_cclass_i_ic_sc_i",
+ "Parrot_is_cclass_i_ic_sc_i",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_SC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1078 */
+ /* type PARROT_INLINE_OP, */
+ "is_cclass",
+ "is_cclass_i_i_s_ic",
+ "Parrot_is_cclass_i_i_s_ic",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1079 */
+ /* type PARROT_INLINE_OP, */
+ "is_cclass",
+ "is_cclass_i_ic_s_ic",
+ "Parrot_is_cclass_i_ic_s_ic",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1080 */
+ /* type PARROT_INLINE_OP, */
+ "is_cclass",
+ "is_cclass_i_i_sc_ic",
+ "Parrot_is_cclass_i_i_sc_ic",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1081 */
+ /* type PARROT_INLINE_OP, */
+ "is_cclass",
+ "is_cclass_i_ic_sc_ic",
+ "Parrot_is_cclass_i_ic_sc_ic",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_SC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1082 */
+ /* type PARROT_INLINE_OP, */
+ "find_cclass",
+ "find_cclass_i_i_s_i_i",
+ "Parrot_find_cclass_i_i_s_i_i",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1083 */
+ /* type PARROT_INLINE_OP, */
+ "find_cclass",
+ "find_cclass_i_ic_s_i_i",
+ "Parrot_find_cclass_i_ic_s_i_i",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1084 */
+ /* type PARROT_INLINE_OP, */
+ "find_cclass",
+ "find_cclass_i_i_sc_i_i",
+ "Parrot_find_cclass_i_i_sc_i_i",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1085 */
+ /* type PARROT_INLINE_OP, */
+ "find_cclass",
+ "find_cclass_i_ic_sc_i_i",
+ "Parrot_find_cclass_i_ic_sc_i_i",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1086 */
+ /* type PARROT_INLINE_OP, */
+ "find_cclass",
+ "find_cclass_i_i_s_ic_i",
+ "Parrot_find_cclass_i_i_s_ic_i",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1087 */
+ /* type PARROT_INLINE_OP, */
+ "find_cclass",
+ "find_cclass_i_ic_s_ic_i",
+ "Parrot_find_cclass_i_ic_s_ic_i",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1088 */
+ /* type PARROT_INLINE_OP, */
+ "find_cclass",
+ "find_cclass_i_i_sc_ic_i",
+ "Parrot_find_cclass_i_i_sc_ic_i",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1089 */
+ /* type PARROT_INLINE_OP, */
+ "find_cclass",
+ "find_cclass_i_ic_sc_ic_i",
+ "Parrot_find_cclass_i_ic_sc_ic_i",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1090 */
+ /* type PARROT_INLINE_OP, */
+ "find_cclass",
+ "find_cclass_i_i_s_i_ic",
+ "Parrot_find_cclass_i_i_s_i_ic",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1091 */
+ /* type PARROT_INLINE_OP, */
+ "find_cclass",
+ "find_cclass_i_ic_s_i_ic",
+ "Parrot_find_cclass_i_ic_s_i_ic",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1092 */
+ /* type PARROT_INLINE_OP, */
+ "find_cclass",
+ "find_cclass_i_i_sc_i_ic",
+ "Parrot_find_cclass_i_i_sc_i_ic",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1093 */
+ /* type PARROT_INLINE_OP, */
+ "find_cclass",
+ "find_cclass_i_ic_sc_i_ic",
+ "Parrot_find_cclass_i_ic_sc_i_ic",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1094 */
+ /* type PARROT_INLINE_OP, */
+ "find_cclass",
+ "find_cclass_i_i_s_ic_ic",
+ "Parrot_find_cclass_i_i_s_ic_ic",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1095 */
+ /* type PARROT_INLINE_OP, */
+ "find_cclass",
+ "find_cclass_i_ic_s_ic_ic",
+ "Parrot_find_cclass_i_ic_s_ic_ic",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1096 */
+ /* type PARROT_INLINE_OP, */
+ "find_cclass",
+ "find_cclass_i_i_sc_ic_ic",
+ "Parrot_find_cclass_i_i_sc_ic_ic",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1097 */
+ /* type PARROT_INLINE_OP, */
+ "find_cclass",
+ "find_cclass_i_ic_sc_ic_ic",
+ "Parrot_find_cclass_i_ic_sc_ic_ic",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1098 */
+ /* type PARROT_INLINE_OP, */
+ "find_not_cclass",
+ "find_not_cclass_i_i_s_i_i",
+ "Parrot_find_not_cclass_i_i_s_i_i",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1099 */
+ /* type PARROT_INLINE_OP, */
+ "find_not_cclass",
+ "find_not_cclass_i_ic_s_i_i",
+ "Parrot_find_not_cclass_i_ic_s_i_i",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1100 */
+ /* type PARROT_INLINE_OP, */
+ "find_not_cclass",
+ "find_not_cclass_i_i_sc_i_i",
+ "Parrot_find_not_cclass_i_i_sc_i_i",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1101 */
+ /* type PARROT_INLINE_OP, */
+ "find_not_cclass",
+ "find_not_cclass_i_ic_sc_i_i",
+ "Parrot_find_not_cclass_i_ic_sc_i_i",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1102 */
+ /* type PARROT_INLINE_OP, */
+ "find_not_cclass",
+ "find_not_cclass_i_i_s_ic_i",
+ "Parrot_find_not_cclass_i_i_s_ic_i",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1103 */
+ /* type PARROT_INLINE_OP, */
+ "find_not_cclass",
+ "find_not_cclass_i_ic_s_ic_i",
+ "Parrot_find_not_cclass_i_ic_s_ic_i",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1104 */
+ /* type PARROT_INLINE_OP, */
+ "find_not_cclass",
+ "find_not_cclass_i_i_sc_ic_i",
+ "Parrot_find_not_cclass_i_i_sc_ic_i",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1105 */
+ /* type PARROT_INLINE_OP, */
+ "find_not_cclass",
+ "find_not_cclass_i_ic_sc_ic_i",
+ "Parrot_find_not_cclass_i_ic_sc_ic_i",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1106 */
+ /* type PARROT_INLINE_OP, */
+ "find_not_cclass",
+ "find_not_cclass_i_i_s_i_ic",
+ "Parrot_find_not_cclass_i_i_s_i_ic",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1107 */
+ /* type PARROT_INLINE_OP, */
+ "find_not_cclass",
+ "find_not_cclass_i_ic_s_i_ic",
+ "Parrot_find_not_cclass_i_ic_s_i_ic",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_S, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1108 */
+ /* type PARROT_INLINE_OP, */
+ "find_not_cclass",
+ "find_not_cclass_i_i_sc_i_ic",
+ "Parrot_find_not_cclass_i_i_sc_i_ic",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1109 */
+ /* type PARROT_INLINE_OP, */
+ "find_not_cclass",
+ "find_not_cclass_i_ic_sc_i_ic",
+ "Parrot_find_not_cclass_i_ic_sc_i_ic",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_SC, PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1110 */
+ /* type PARROT_INLINE_OP, */
+ "find_not_cclass",
+ "find_not_cclass_i_i_s_ic_ic",
+ "Parrot_find_not_cclass_i_i_s_ic_ic",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1111 */
+ /* type PARROT_INLINE_OP, */
+ "find_not_cclass",
+ "find_not_cclass_i_ic_s_ic_ic",
+ "Parrot_find_not_cclass_i_ic_s_ic_ic",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_S, PARROT_ARG_IC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1112 */
+ /* type PARROT_INLINE_OP, */
+ "find_not_cclass",
+ "find_not_cclass_i_i_sc_ic_ic",
+ "Parrot_find_not_cclass_i_i_sc_ic_ic",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1113 */
+ /* type PARROT_INLINE_OP, */
+ "find_not_cclass",
+ "find_not_cclass_i_ic_sc_ic_ic",
+ "Parrot_find_not_cclass_i_ic_sc_ic_ic",
+ /* "", body */
+ 0,
+ 6,
+ { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_SC, PARROT_ARG_IC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0, 0 }
+ },
+ { /* 1114 */
+ /* type PARROT_FUNCTION_OP, */
+ "escape",
+ "escape_s_s",
+ "Parrot_escape_s_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1115 */
+ /* type PARROT_FUNCTION_OP, */
+ "compose",
+ "compose_s_s",
+ "Parrot_compose_s_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1116 */
+ /* type PARROT_FUNCTION_OP, */
+ "compose",
+ "compose_s_sc",
+ "Parrot_compose_s_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1117 */
+ /* type PARROT_INLINE_OP, */
+ "spawnw",
+ "spawnw_i_s",
+ "Parrot_spawnw_i_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1118 */
+ /* type PARROT_INLINE_OP, */
+ "spawnw",
+ "spawnw_i_sc",
+ "Parrot_spawnw_i_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1119 */
+ /* type PARROT_INLINE_OP, */
+ "spawnw",
+ "spawnw_i_p",
+ "Parrot_spawnw_i_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1120 */
+ /* type PARROT_INLINE_OP, */
+ "err",
+ "err_i",
+ "Parrot_err_i",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT },
+ { 0 }
+ },
+ { /* 1121 */
+ /* type PARROT_FUNCTION_OP, */
+ "err",
+ "err_s",
+ "Parrot_err_s",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT },
+ { 0 }
+ },
+ { /* 1122 */
+ /* type PARROT_FUNCTION_OP, */
+ "err",
+ "err_s_i",
+ "Parrot_err_s_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1123 */
+ /* type PARROT_FUNCTION_OP, */
+ "err",
+ "err_s_ic",
+ "Parrot_err_s_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1124 */
+ /* type PARROT_INLINE_OP, */
+ "time",
+ "time_i",
+ "Parrot_time_i",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT },
+ { 0 }
+ },
+ { /* 1125 */
+ /* type PARROT_INLINE_OP, */
+ "time",
+ "time_n",
+ "Parrot_time_n",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_N },
+ { PARROT_ARGDIR_OUT },
+ { 0 }
+ },
+ { /* 1126 */
+ /* type PARROT_FUNCTION_OP, */
+ "gmtime",
+ "gmtime_s_i",
+ "Parrot_gmtime_s_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1127 */
+ /* type PARROT_FUNCTION_OP, */
+ "gmtime",
+ "gmtime_s_ic",
+ "Parrot_gmtime_s_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1128 */
+ /* type PARROT_FUNCTION_OP, */
+ "localtime",
+ "localtime_s_i",
+ "Parrot_localtime_s_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1129 */
+ /* type PARROT_FUNCTION_OP, */
+ "localtime",
+ "localtime_s_ic",
+ "Parrot_localtime_s_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1130 */
+ /* type PARROT_FUNCTION_OP, */
+ "decodetime",
+ "decodetime_p_i",
+ "Parrot_decodetime_p_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1131 */
+ /* type PARROT_FUNCTION_OP, */
+ "decodetime",
+ "decodetime_p_ic",
+ "Parrot_decodetime_p_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1132 */
+ /* type PARROT_FUNCTION_OP, */
+ "decodelocaltime",
+ "decodelocaltime_p_i",
+ "Parrot_decodelocaltime_p_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1133 */
+ /* type PARROT_FUNCTION_OP, */
+ "decodelocaltime",
+ "decodelocaltime_p_ic",
+ "Parrot_decodelocaltime_p_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1134 */
+ /* type PARROT_INLINE_OP, */
+ "sysinfo",
+ "sysinfo_s_i",
+ "Parrot_sysinfo_s_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1135 */
+ /* type PARROT_INLINE_OP, */
+ "sysinfo",
+ "sysinfo_s_ic",
+ "Parrot_sysinfo_s_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1136 */
+ /* type PARROT_INLINE_OP, */
+ "sysinfo",
+ "sysinfo_i_i",
+ "Parrot_sysinfo_i_i",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1137 */
+ /* type PARROT_INLINE_OP, */
+ "sysinfo",
+ "sysinfo_i_ic",
+ "Parrot_sysinfo_i_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1138 */
+ /* type PARROT_INLINE_OP, */
+ "sleep",
+ "sleep_i",
+ "Parrot_sleep_i",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_I },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 1139 */
+ /* type PARROT_INLINE_OP, */
+ "sleep",
+ "sleep_ic",
+ "Parrot_sleep_ic",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 1140 */
+ /* type PARROT_INLINE_OP, */
+ "sleep",
+ "sleep_n",
+ "Parrot_sleep_n",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_N },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 1141 */
+ /* type PARROT_INLINE_OP, */
+ "sleep",
+ "sleep_nc",
+ "Parrot_sleep_nc",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_NC },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 1142 */
+ /* type PARROT_FUNCTION_OP, */
+ "store_lex",
+ "store_lex_s_p",
+ "Parrot_store_lex_s_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1143 */
+ /* type PARROT_FUNCTION_OP, */
+ "store_lex",
+ "store_lex_sc_p",
+ "Parrot_store_lex_sc_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_SC, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1144 */
+ /* type PARROT_FUNCTION_OP, */
+ "store_dynamic_lex",
+ "store_dynamic_lex_s_p",
+ "Parrot_store_dynamic_lex_s_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1145 */
+ /* type PARROT_FUNCTION_OP, */
+ "store_dynamic_lex",
+ "store_dynamic_lex_sc_p",
+ "Parrot_store_dynamic_lex_sc_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_SC, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1146 */
+ /* type PARROT_FUNCTION_OP, */
+ "find_lex",
+ "find_lex_p_s",
+ "Parrot_find_lex_p_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1147 */
+ /* type PARROT_FUNCTION_OP, */
+ "find_lex",
+ "find_lex_p_sc",
+ "Parrot_find_lex_p_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1148 */
+ /* type PARROT_FUNCTION_OP, */
+ "find_dynamic_lex",
+ "find_dynamic_lex_p_s",
+ "Parrot_find_dynamic_lex_p_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1149 */
+ /* type PARROT_FUNCTION_OP, */
+ "find_dynamic_lex",
+ "find_dynamic_lex_p_sc",
+ "Parrot_find_dynamic_lex_p_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1150 */
+ /* type PARROT_FUNCTION_OP, */
+ "find_caller_lex",
+ "find_caller_lex_p_s",
+ "Parrot_find_caller_lex_p_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1151 */
+ /* type PARROT_FUNCTION_OP, */
+ "find_caller_lex",
+ "find_caller_lex_p_sc",
+ "Parrot_find_caller_lex_p_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1152 */
+ /* type PARROT_FUNCTION_OP, */
+ "get_namespace",
+ "get_namespace_p",
+ "Parrot_get_namespace_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT },
+ { 0 }
+ },
+ { /* 1153 */
+ /* type PARROT_FUNCTION_OP, */
+ "get_namespace",
+ "get_namespace_p_p",
+ "Parrot_get_namespace_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1154 */
+ /* type PARROT_FUNCTION_OP, */
+ "get_namespace",
+ "get_namespace_p_pc",
+ "Parrot_get_namespace_p_pc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1155 */
+ /* type PARROT_FUNCTION_OP, */
+ "get_hll_namespace",
+ "get_hll_namespace_p",
+ "Parrot_get_hll_namespace_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT },
+ { 0 }
+ },
+ { /* 1156 */
+ /* type PARROT_FUNCTION_OP, */
+ "get_hll_namespace",
+ "get_hll_namespace_p_p",
+ "Parrot_get_hll_namespace_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1157 */
+ /* type PARROT_FUNCTION_OP, */
+ "get_hll_namespace",
+ "get_hll_namespace_p_pc",
+ "Parrot_get_hll_namespace_p_pc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1158 */
+ /* type PARROT_FUNCTION_OP, */
+ "get_root_namespace",
+ "get_root_namespace_p",
+ "Parrot_get_root_namespace_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT },
+ { 0 }
+ },
+ { /* 1159 */
+ /* type PARROT_FUNCTION_OP, */
+ "get_root_namespace",
+ "get_root_namespace_p_p",
+ "Parrot_get_root_namespace_p_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1160 */
+ /* type PARROT_FUNCTION_OP, */
+ "get_root_namespace",
+ "get_root_namespace_p_pc",
+ "Parrot_get_root_namespace_p_pc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1161 */
+ /* type PARROT_FUNCTION_OP, */
+ "get_global",
+ "get_global_p_s",
+ "Parrot_get_global_p_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1162 */
+ /* type PARROT_FUNCTION_OP, */
+ "get_global",
+ "get_global_p_sc",
+ "Parrot_get_global_p_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1163 */
+ /* type PARROT_FUNCTION_OP, */
+ "get_global",
+ "get_global_p_p_s",
+ "Parrot_get_global_p_p_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1164 */
+ /* type PARROT_FUNCTION_OP, */
+ "get_global",
+ "get_global_p_pc_s",
+ "Parrot_get_global_p_pc_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1165 */
+ /* type PARROT_FUNCTION_OP, */
+ "get_global",
+ "get_global_p_p_sc",
+ "Parrot_get_global_p_p_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1166 */
+ /* type PARROT_FUNCTION_OP, */
+ "get_global",
+ "get_global_p_pc_sc",
+ "Parrot_get_global_p_pc_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1167 */
+ /* type PARROT_FUNCTION_OP, */
+ "get_hll_global",
+ "get_hll_global_p_s",
+ "Parrot_get_hll_global_p_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1168 */
+ /* type PARROT_FUNCTION_OP, */
+ "get_hll_global",
+ "get_hll_global_p_sc",
+ "Parrot_get_hll_global_p_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1169 */
+ /* type PARROT_FUNCTION_OP, */
+ "get_hll_global",
+ "get_hll_global_p_p_s",
+ "Parrot_get_hll_global_p_p_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1170 */
+ /* type PARROT_FUNCTION_OP, */
+ "get_hll_global",
+ "get_hll_global_p_pc_s",
+ "Parrot_get_hll_global_p_pc_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1171 */
+ /* type PARROT_FUNCTION_OP, */
+ "get_hll_global",
+ "get_hll_global_p_p_sc",
+ "Parrot_get_hll_global_p_p_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1172 */
+ /* type PARROT_FUNCTION_OP, */
+ "get_hll_global",
+ "get_hll_global_p_pc_sc",
+ "Parrot_get_hll_global_p_pc_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1173 */
+ /* type PARROT_FUNCTION_OP, */
+ "get_root_global",
+ "get_root_global_p_s",
+ "Parrot_get_root_global_p_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1174 */
+ /* type PARROT_FUNCTION_OP, */
+ "get_root_global",
+ "get_root_global_p_sc",
+ "Parrot_get_root_global_p_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1175 */
+ /* type PARROT_FUNCTION_OP, */
+ "get_root_global",
+ "get_root_global_p_p_s",
+ "Parrot_get_root_global_p_p_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1176 */
+ /* type PARROT_FUNCTION_OP, */
+ "get_root_global",
+ "get_root_global_p_pc_s",
+ "Parrot_get_root_global_p_pc_s",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1177 */
+ /* type PARROT_FUNCTION_OP, */
+ "get_root_global",
+ "get_root_global_p_p_sc",
+ "Parrot_get_root_global_p_p_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1178 */
+ /* type PARROT_FUNCTION_OP, */
+ "get_root_global",
+ "get_root_global_p_pc_sc",
+ "Parrot_get_root_global_p_pc_sc",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1179 */
+ /* type PARROT_FUNCTION_OP, */
+ "set_global",
+ "set_global_s_p",
+ "Parrot_set_global_s_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1180 */
+ /* type PARROT_FUNCTION_OP, */
+ "set_global",
+ "set_global_sc_p",
+ "Parrot_set_global_sc_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_SC, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1181 */
+ /* type PARROT_FUNCTION_OP, */
+ "set_global",
+ "set_global_p_s_p",
+ "Parrot_set_global_p_s_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1182 */
+ /* type PARROT_FUNCTION_OP, */
+ "set_global",
+ "set_global_pc_s_p",
+ "Parrot_set_global_pc_s_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_PC, PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1183 */
+ /* type PARROT_FUNCTION_OP, */
+ "set_global",
+ "set_global_p_sc_p",
+ "Parrot_set_global_p_sc_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1184 */
+ /* type PARROT_FUNCTION_OP, */
+ "set_global",
+ "set_global_pc_sc_p",
+ "Parrot_set_global_pc_sc_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_PC, PARROT_ARG_SC, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1185 */
+ /* type PARROT_FUNCTION_OP, */
+ "set_hll_global",
+ "set_hll_global_s_p",
+ "Parrot_set_hll_global_s_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1186 */
+ /* type PARROT_FUNCTION_OP, */
+ "set_hll_global",
+ "set_hll_global_sc_p",
+ "Parrot_set_hll_global_sc_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_SC, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1187 */
+ /* type PARROT_FUNCTION_OP, */
+ "set_hll_global",
+ "set_hll_global_p_s_p",
+ "Parrot_set_hll_global_p_s_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1188 */
+ /* type PARROT_FUNCTION_OP, */
+ "set_hll_global",
+ "set_hll_global_pc_s_p",
+ "Parrot_set_hll_global_pc_s_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_PC, PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1189 */
+ /* type PARROT_FUNCTION_OP, */
+ "set_hll_global",
+ "set_hll_global_p_sc_p",
+ "Parrot_set_hll_global_p_sc_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1190 */
+ /* type PARROT_FUNCTION_OP, */
+ "set_hll_global",
+ "set_hll_global_pc_sc_p",
+ "Parrot_set_hll_global_pc_sc_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_PC, PARROT_ARG_SC, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1191 */
+ /* type PARROT_FUNCTION_OP, */
+ "set_root_global",
+ "set_root_global_s_p",
+ "Parrot_set_root_global_s_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1192 */
+ /* type PARROT_FUNCTION_OP, */
+ "set_root_global",
+ "set_root_global_sc_p",
+ "Parrot_set_root_global_sc_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_SC, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1193 */
+ /* type PARROT_FUNCTION_OP, */
+ "set_root_global",
+ "set_root_global_p_s_p",
+ "Parrot_set_root_global_p_s_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1194 */
+ /* type PARROT_FUNCTION_OP, */
+ "set_root_global",
+ "set_root_global_pc_s_p",
+ "Parrot_set_root_global_pc_s_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_PC, PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1195 */
+ /* type PARROT_FUNCTION_OP, */
+ "set_root_global",
+ "set_root_global_p_sc_p",
+ "Parrot_set_root_global_p_sc_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1196 */
+ /* type PARROT_FUNCTION_OP, */
+ "set_root_global",
+ "set_root_global_pc_sc_p",
+ "Parrot_set_root_global_pc_sc_p",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_PC, PARROT_ARG_SC, PARROT_ARG_P },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1197 */
+ /* type PARROT_FUNCTION_OP, */
+ "find_name",
+ "find_name_p_s",
+ "Parrot_find_name_p_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1198 */
+ /* type PARROT_FUNCTION_OP, */
+ "find_name",
+ "find_name_p_sc",
+ "Parrot_find_name_p_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1199 */
+ /* type PARROT_INLINE_OP, */
+ "find_sub_not_null",
+ "find_sub_not_null_p_s",
+ "Parrot_find_sub_not_null_p_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1200 */
+ /* type PARROT_INLINE_OP, */
+ "find_sub_not_null",
+ "find_sub_not_null_p_sc",
+ "Parrot_find_sub_not_null_p_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1201 */
+ /* type PARROT_FUNCTION_OP, */
+ "trap",
+ "trap",
+ "Parrot_trap",
+ /* "", body */
+ 0,
+ 1,
+ { (arg_type_t) 0 },
+ { (arg_dir_t) 0 },
+ { 0 }
+ },
+ { /* 1202 */
+ /* type PARROT_INLINE_OP, */
+ "set_label",
+ "set_label_p_ic",
+ "Parrot_set_label_p_ic",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 1 }
+ },
+ { /* 1203 */
+ /* type PARROT_INLINE_OP, */
+ "get_label",
+ "get_label_i_p",
+ "Parrot_get_label_i_p",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1204 */
+ /* type PARROT_INLINE_OP, */
+ "fetch",
+ "fetch_p_p_p_p",
+ "Parrot_fetch_p_p_p_p",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1205 */
+ /* type PARROT_INLINE_OP, */
+ "fetch",
+ "fetch_p_pc_p_p",
+ "Parrot_fetch_p_pc_p_p",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1206 */
+ /* type PARROT_INLINE_OP, */
+ "fetch",
+ "fetch_p_p_pc_p",
+ "Parrot_fetch_p_p_pc_p",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1207 */
+ /* type PARROT_INLINE_OP, */
+ "fetch",
+ "fetch_p_pc_pc_p",
+ "Parrot_fetch_p_pc_pc_p",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_PC, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1208 */
+ /* type PARROT_INLINE_OP, */
+ "fetch",
+ "fetch_p_p_p_pc",
+ "Parrot_fetch_p_p_p_pc",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1209 */
+ /* type PARROT_INLINE_OP, */
+ "fetch",
+ "fetch_p_pc_p_pc",
+ "Parrot_fetch_p_pc_p_pc",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_P, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1210 */
+ /* type PARROT_INLINE_OP, */
+ "fetch",
+ "fetch_p_p_pc_pc",
+ "Parrot_fetch_p_p_pc_pc",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1211 */
+ /* type PARROT_INLINE_OP, */
+ "fetch",
+ "fetch_p_pc_pc_pc",
+ "Parrot_fetch_p_pc_pc_pc",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_PC, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1212 */
+ /* type PARROT_INLINE_OP, */
+ "fetch",
+ "fetch_p_p_i_p",
+ "Parrot_fetch_p_p_i_p",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1213 */
+ /* type PARROT_INLINE_OP, */
+ "fetch",
+ "fetch_p_pc_i_p",
+ "Parrot_fetch_p_pc_i_p",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_I, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1214 */
+ /* type PARROT_INLINE_OP, */
+ "fetch",
+ "fetch_p_p_ic_p",
+ "Parrot_fetch_p_p_ic_p",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1215 */
+ /* type PARROT_INLINE_OP, */
+ "fetch",
+ "fetch_p_pc_ic_p",
+ "Parrot_fetch_p_pc_ic_p",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_IC, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1216 */
+ /* type PARROT_INLINE_OP, */
+ "fetch",
+ "fetch_p_p_i_pc",
+ "Parrot_fetch_p_p_i_pc",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1217 */
+ /* type PARROT_INLINE_OP, */
+ "fetch",
+ "fetch_p_pc_i_pc",
+ "Parrot_fetch_p_pc_i_pc",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_I, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1218 */
+ /* type PARROT_INLINE_OP, */
+ "fetch",
+ "fetch_p_p_ic_pc",
+ "Parrot_fetch_p_p_ic_pc",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1219 */
+ /* type PARROT_INLINE_OP, */
+ "fetch",
+ "fetch_p_pc_ic_pc",
+ "Parrot_fetch_p_pc_ic_pc",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_IC, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1220 */
+ /* type PARROT_INLINE_OP, */
+ "fetch",
+ "fetch_p_p_s_p",
+ "Parrot_fetch_p_p_s_p",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1221 */
+ /* type PARROT_INLINE_OP, */
+ "fetch",
+ "fetch_p_pc_s_p",
+ "Parrot_fetch_p_pc_s_p",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1222 */
+ /* type PARROT_INLINE_OP, */
+ "fetch",
+ "fetch_p_p_sc_p",
+ "Parrot_fetch_p_p_sc_p",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1223 */
+ /* type PARROT_INLINE_OP, */
+ "fetch",
+ "fetch_p_pc_sc_p",
+ "Parrot_fetch_p_pc_sc_p",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1224 */
+ /* type PARROT_INLINE_OP, */
+ "fetch",
+ "fetch_p_p_s_pc",
+ "Parrot_fetch_p_p_s_pc",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1225 */
+ /* type PARROT_INLINE_OP, */
+ "fetch",
+ "fetch_p_pc_s_pc",
+ "Parrot_fetch_p_pc_s_pc",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1226 */
+ /* type PARROT_INLINE_OP, */
+ "fetch",
+ "fetch_p_p_sc_pc",
+ "Parrot_fetch_p_p_sc_pc",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1227 */
+ /* type PARROT_INLINE_OP, */
+ "fetch",
+ "fetch_p_pc_sc_pc",
+ "Parrot_fetch_p_pc_sc_pc",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1228 */
+ /* type PARROT_INLINE_OP, */
+ "vivify",
+ "vivify_p_p_p_p",
+ "Parrot_vivify_p_p_p_p",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1229 */
+ /* type PARROT_INLINE_OP, */
+ "vivify",
+ "vivify_p_pc_p_p",
+ "Parrot_vivify_p_pc_p_p",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_P, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1230 */
+ /* type PARROT_INLINE_OP, */
+ "vivify",
+ "vivify_p_p_pc_p",
+ "Parrot_vivify_p_p_pc_p",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1231 */
+ /* type PARROT_INLINE_OP, */
+ "vivify",
+ "vivify_p_pc_pc_p",
+ "Parrot_vivify_p_pc_pc_p",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_PC, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1232 */
+ /* type PARROT_INLINE_OP, */
+ "vivify",
+ "vivify_p_p_p_pc",
+ "Parrot_vivify_p_p_p_pc",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1233 */
+ /* type PARROT_INLINE_OP, */
+ "vivify",
+ "vivify_p_pc_p_pc",
+ "Parrot_vivify_p_pc_p_pc",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_P, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1234 */
+ /* type PARROT_INLINE_OP, */
+ "vivify",
+ "vivify_p_p_pc_pc",
+ "Parrot_vivify_p_p_pc_pc",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1235 */
+ /* type PARROT_INLINE_OP, */
+ "vivify",
+ "vivify_p_pc_pc_pc",
+ "Parrot_vivify_p_pc_pc_pc",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_PC, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1236 */
+ /* type PARROT_INLINE_OP, */
+ "vivify",
+ "vivify_p_p_i_p",
+ "Parrot_vivify_p_p_i_p",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1237 */
+ /* type PARROT_INLINE_OP, */
+ "vivify",
+ "vivify_p_pc_i_p",
+ "Parrot_vivify_p_pc_i_p",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_I, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1238 */
+ /* type PARROT_INLINE_OP, */
+ "vivify",
+ "vivify_p_p_ic_p",
+ "Parrot_vivify_p_p_ic_p",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1239 */
+ /* type PARROT_INLINE_OP, */
+ "vivify",
+ "vivify_p_pc_ic_p",
+ "Parrot_vivify_p_pc_ic_p",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_IC, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1240 */
+ /* type PARROT_INLINE_OP, */
+ "vivify",
+ "vivify_p_p_i_pc",
+ "Parrot_vivify_p_p_i_pc",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1241 */
+ /* type PARROT_INLINE_OP, */
+ "vivify",
+ "vivify_p_pc_i_pc",
+ "Parrot_vivify_p_pc_i_pc",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_I, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1242 */
+ /* type PARROT_INLINE_OP, */
+ "vivify",
+ "vivify_p_p_ic_pc",
+ "Parrot_vivify_p_p_ic_pc",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1243 */
+ /* type PARROT_INLINE_OP, */
+ "vivify",
+ "vivify_p_pc_ic_pc",
+ "Parrot_vivify_p_pc_ic_pc",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_IC, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1244 */
+ /* type PARROT_INLINE_OP, */
+ "vivify",
+ "vivify_p_p_s_p",
+ "Parrot_vivify_p_p_s_p",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1245 */
+ /* type PARROT_INLINE_OP, */
+ "vivify",
+ "vivify_p_pc_s_p",
+ "Parrot_vivify_p_pc_s_p",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1246 */
+ /* type PARROT_INLINE_OP, */
+ "vivify",
+ "vivify_p_p_sc_p",
+ "Parrot_vivify_p_p_sc_p",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1247 */
+ /* type PARROT_INLINE_OP, */
+ "vivify",
+ "vivify_p_pc_sc_p",
+ "Parrot_vivify_p_pc_sc_p",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC, PARROT_ARG_P },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1248 */
+ /* type PARROT_INLINE_OP, */
+ "vivify",
+ "vivify_p_p_s_pc",
+ "Parrot_vivify_p_p_s_pc",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1249 */
+ /* type PARROT_INLINE_OP, */
+ "vivify",
+ "vivify_p_pc_s_pc",
+ "Parrot_vivify_p_pc_s_pc",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1250 */
+ /* type PARROT_INLINE_OP, */
+ "vivify",
+ "vivify_p_p_sc_pc",
+ "Parrot_vivify_p_p_sc_pc",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1251 */
+ /* type PARROT_INLINE_OP, */
+ "vivify",
+ "vivify_p_pc_sc_pc",
+ "Parrot_vivify_p_pc_sc_pc",
+ /* "", body */
+ 0,
+ 5,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC, PARROT_ARG_PC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0, 0 }
+ },
+ { /* 1252 */
+ /* type PARROT_FUNCTION_OP, */
+ "new",
+ "new_p_s_i",
+ "Parrot_new_p_s_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1253 */
+ /* type PARROT_FUNCTION_OP, */
+ "new",
+ "new_p_sc_i",
+ "Parrot_new_p_sc_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1254 */
+ /* type PARROT_FUNCTION_OP, */
+ "new",
+ "new_p_s_ic",
+ "Parrot_new_p_s_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1255 */
+ /* type PARROT_FUNCTION_OP, */
+ "new",
+ "new_p_sc_ic",
+ "Parrot_new_p_sc_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1256 */
+ /* type PARROT_FUNCTION_OP, */
+ "new",
+ "new_p_p_i",
+ "Parrot_new_p_p_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1257 */
+ /* type PARROT_FUNCTION_OP, */
+ "new",
+ "new_p_pc_i",
+ "Parrot_new_p_pc_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1258 */
+ /* type PARROT_FUNCTION_OP, */
+ "new",
+ "new_p_p_ic",
+ "Parrot_new_p_p_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1259 */
+ /* type PARROT_FUNCTION_OP, */
+ "new",
+ "new_p_pc_ic",
+ "Parrot_new_p_pc_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1260 */
+ /* type PARROT_FUNCTION_OP, */
+ "root_new",
+ "root_new_p_p_i",
+ "Parrot_root_new_p_p_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1261 */
+ /* type PARROT_FUNCTION_OP, */
+ "root_new",
+ "root_new_p_pc_i",
+ "Parrot_root_new_p_pc_i",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_I },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1262 */
+ /* type PARROT_FUNCTION_OP, */
+ "root_new",
+ "root_new_p_p_ic",
+ "Parrot_root_new_p_p_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1263 */
+ /* type PARROT_FUNCTION_OP, */
+ "root_new",
+ "root_new_p_pc_ic",
+ "Parrot_root_new_p_pc_ic",
+ /* "", body */
+ 0,
+ 4,
+ { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_IC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+ { 0, 0, 0 }
+ },
+ { /* 1264 */
+ /* type PARROT_FUNCTION_OP, */
+ "find_codepoint",
+ "find_codepoint_i_s",
+ "Parrot_find_codepoint_i_s",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_S },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1265 */
+ /* type PARROT_FUNCTION_OP, */
+ "find_codepoint",
+ "find_codepoint_i_sc",
+ "Parrot_find_codepoint_i_sc",
+ /* "", body */
+ 0,
+ 3,
+ { PARROT_ARG_I, PARROT_ARG_SC },
+ { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+ { 0, 0 }
+ },
+ { /* 1266 */
+ /* type PARROT_FUNCTION_OP, */
+ "unroll",
+ "unroll_p",
+ "Parrot_unroll_p",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_P },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+ { /* 1267 */
+ /* type PARROT_FUNCTION_OP, */
+ "unroll",
+ "unroll_pc",
+ "Parrot_unroll_pc",
+ /* "", body */
+ 0,
+ 2,
+ { PARROT_ARG_PC },
+ { PARROT_ARGDIR_IN },
+ { 0 }
+ },
+
+};
+
+
+/*
+** Op Function Definitions:
+*/
+
+opcode_t *
+Parrot_end(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);return (opcode_t *)0;
+}
+
+opcode_t *
+Parrot_noop(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+
+return (opcode_t *)cur_opcode + 1;}
+
+opcode_t *
+Parrot_check_events(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ opcode_t * const next = cur_opcode + 1;
+ Parrot_cx_check_tasks(interp, interp->scheduler);
+ return (opcode_t *)next; /* force this being a branch op */
+}
+
+opcode_t *
+Parrot_check_events__(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ opcode_t * const _this = CUR_OPCODE;
+ /* Restore op_func_table. */
+ disable_event_checking(interp);
+ Parrot_cx_handle_tasks(interp, interp->scheduler);
+ return (opcode_t *)_this; /* force this being a branch op */
+}
+
+opcode_t *
+Parrot_wrapper__(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ opcode_t *pc = CUR_OPCODE;
+ DO_OP(pc, interp);
+ return (opcode_t *)pc;
+}
+
+opcode_t *
+Parrot_load_bytecode_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_load_bytecode(interp, SREG(1));
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_load_bytecode_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_load_bytecode(interp, CONST(1)->u.string);
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_load_language_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_load_language(interp, SREG(1));
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_load_language_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_load_language(interp, CONST(1)->u.string);
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_branch_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);return (opcode_t *)cur_opcode + IREG(1);
+}
+
+opcode_t *
+Parrot_branch_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);return (opcode_t *)cur_opcode + cur_opcode[1];
+}
+
+opcode_t *
+Parrot_local_branch_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ INTVAL return_addr;
+ opcode_t * const dest = cur_opcode + 3;
+
+ if (PMC_IS_NULL(PREG(1)) || PREG(1)->vtable->base_type != enum_class_ResizableIntegerArray) {
+ opcode_t * const handler = Parrot_ex_throw_from_op_args(interp, dest,
+ EXCEPTION_INVALID_OPERATION,
+ "Must pass a valid integer array to 'local_branch'");
+ return (opcode_t *)handler;
+ }
+
+ return_addr = PTR2INTVAL(dest);
+ VTABLE_push_integer(interp, PREG(1), return_addr);
+
+ return (opcode_t *)cur_opcode + IREG(2);
+}
+
+opcode_t *
+Parrot_local_branch_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ INTVAL return_addr;
+ opcode_t * const dest = cur_opcode + 3;
+
+ if (PMC_IS_NULL(PREG(1)) || PREG(1)->vtable->base_type != enum_class_ResizableIntegerArray) {
+ opcode_t * const handler = Parrot_ex_throw_from_op_args(interp, dest,
+ EXCEPTION_INVALID_OPERATION,
+ "Must pass a valid integer array to 'local_branch'");
+ return (opcode_t *)handler;
+ }
+
+ return_addr = PTR2INTVAL(dest);
+ VTABLE_push_integer(interp, PREG(1), return_addr);
+
+ return (opcode_t *)cur_opcode + cur_opcode[2];
+}
+
+opcode_t *
+Parrot_local_return_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ INTVAL return_addr;
+ opcode_t *next;
+ opcode_t * const dest = cur_opcode + 2;
+
+ if (PMC_IS_NULL(PREG(1)) || PREG(1)->vtable->base_type != enum_class_ResizableIntegerArray) {
+ opcode_t * const handler = Parrot_ex_throw_from_op_args(interp, dest,
+ EXCEPTION_INVALID_OPERATION,
+ "Must pass a valid integer array to 'local_return'");
+ return (opcode_t *)handler;
+ }
+
+ return_addr = VTABLE_pop_integer(interp, PREG(1));
+ next = INTVAL2PTR(opcode_t *, return_addr);
+
+ /* The return address must be within the current code segment. */
+ if (! (next >= interp->code->base.data
+ && next < (interp->code->base.data + interp->code->base.size))) {
+ opcode_t * const handler = Parrot_ex_throw_from_op_args(interp, dest,
+ EXCEPTION_INVALID_OPERATION,
+ "Address for 'local_return' must be within the current code segment");
+ return (opcode_t *)handler;
+ }
+
+ return (opcode_t *)next;
+}
+
+opcode_t *
+Parrot_jump_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ opcode_t * const loc = INTVAL2PTR(opcode_t *, IREG(1));
+ return (opcode_t *)loc;
+}
+
+opcode_t *
+Parrot_jump_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ opcode_t * const loc = INTVAL2PTR(opcode_t *, cur_opcode[1]);
+ return (opcode_t *)loc;
+}
+
+opcode_t *
+Parrot_enternative(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ opcode_t * const addr = run_native(interp, CUR_OPCODE,
+ interp->code->base.data);
+ return (opcode_t *)addr;
+}
+
+opcode_t *
+Parrot_if_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (IREG(1) != 0)
+ return (opcode_t *)cur_opcode + cur_opcode[2];
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_if_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (!FLOAT_IS_ZERO(NREG(1)))
+ return (opcode_t *)cur_opcode + cur_opcode[2];
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_if_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (Parrot_str_boolean(interp, SREG(1)))
+ return (opcode_t *)cur_opcode + cur_opcode[2];
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_if_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (VTABLE_get_bool(interp, PREG(1)))
+ return (opcode_t *)cur_opcode + cur_opcode[2];
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_unless_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (IREG(1) == 0)
+ return (opcode_t *)cur_opcode + cur_opcode[2];
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_unless_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (FLOAT_IS_ZERO(NREG(1)))
+ return (opcode_t *)cur_opcode + cur_opcode[2];
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_unless_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (!Parrot_str_boolean(interp, SREG(1)))
+ return (opcode_t *)cur_opcode + cur_opcode[2];
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_unless_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (!VTABLE_get_bool(interp, PREG(1)))
+ return (opcode_t *)cur_opcode + cur_opcode[2];
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_invokecc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const p = PREG(1);
+ opcode_t *dest = cur_opcode + 2;
+ PMC * const signature = Parrot_pcc_get_signature(interp,
+ CURRENT_CONTEXT(interp));
+
+ if (!PMC_IS_NULL(signature))
+ Parrot_pcc_set_object(interp, signature, NULL);
+ interp->current_cont = NEED_CONTINUATION;
+ dest = VTABLE_invoke(interp, p, dest);
+
+ return (opcode_t *)dest;
+}
+
+opcode_t *
+Parrot_invoke_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ opcode_t *dest = cur_opcode + 3;
+ PMC * const p = PREG(1);
+ PMC * const signature = Parrot_pcc_get_signature(interp,
+ CURRENT_CONTEXT(interp));
+
+ if (!PMC_IS_NULL(signature))
+ Parrot_pcc_set_object(interp, signature, NULL);
+ interp->current_cont = PREG(2);
+
+ dest = VTABLE_invoke(interp, p, dest);
+ return (opcode_t *)dest;
+}
+
+opcode_t *
+Parrot_yield(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ opcode_t *dest = cur_opcode + 1;
+ PMC * const p = Parrot_pcc_get_sub(interp, CURRENT_CONTEXT(interp));
+
+ VTABLE_increment(interp, p);
+ dest = VTABLE_invoke(interp, p, dest);
+
+ return (opcode_t *)dest;
+}
+
+opcode_t *
+Parrot_tailcall_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const p = PREG(1);
+ opcode_t *dest = cur_opcode + 2;
+ PMC * const ctx = CURRENT_CONTEXT(interp);
+ PMC * const parent_ctx = Parrot_pcc_get_caller_ctx(interp, ctx);
+ PMC * const this_call_sig = Parrot_pcc_get_signature(interp, ctx);
+ PMC * const parent_call_sig = Parrot_pcc_get_signature(interp, parent_ctx);
+ interp->current_cont = Parrot_pcc_get_continuation(interp, ctx);
+
+ Parrot_pcc_merge_signature_for_tailcall(interp, parent_call_sig, this_call_sig);
+
+ SUB_FLAG_TAILCALL_SET(interp->current_cont);
+ dest = VTABLE_invoke(interp, p, dest);
+ return (opcode_t *)dest;
+}
+
+opcode_t *
+Parrot_returncc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const p = Parrot_pcc_get_continuation(interp, CURRENT_CONTEXT(interp));
+ opcode_t * const dest = VTABLE_invoke(interp, p, cur_opcode + 1);
+ return (opcode_t *)dest;
+}
+
+opcode_t *
+Parrot_capture_lex_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_capture_lex(interp, PREG(1));
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_newclosure_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = parrot_new_closure(interp, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_args_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ opcode_t * const raw_args = CUR_OPCODE;
+ PMC * const signature = CONST(1)->u.key;
+ PMC * const call_sig = Parrot_pcc_build_sig_object_from_op(interp,
+ PMCNULL, signature, raw_args);
+ const INTVAL argc = VTABLE_elements(interp, signature);
+ Parrot_pcc_set_signature(interp, CURRENT_CONTEXT(interp), call_sig);
+ return (opcode_t *)cur_opcode + argc + 2;
+}
+
+opcode_t *
+Parrot_get_params_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ opcode_t * const raw_params = CUR_OPCODE;
+ PMC * const signature = CONST(1)->u.key;
+ PMC * const ctx = CURRENT_CONTEXT(interp);
+ PMC * const ccont = Parrot_pcc_get_continuation(interp, ctx);
+ PMC * const caller_ctx = Parrot_pcc_get_caller_ctx(interp, ctx);
+ PMC * const call_object = Parrot_pcc_get_signature(interp, caller_ctx);
+ INTVAL argc;
+
+ Parrot_pcc_fill_params_from_op(interp, call_object, signature, raw_params,
+ PARROT_ERRORS_PARAM_COUNT_FLAG);
+
+ /* TODO Factor out with Sub.invoke */
+ if (PObj_get_FLAGS(ccont) & SUB_FLAG_TAILCALL) {
+ PObj_get_FLAGS(ccont) &= ~SUB_FLAG_TAILCALL;
+ Parrot_pcc_dec_recursion_depth(interp, ctx);
+ Parrot_pcc_set_caller_ctx(interp, ctx, Parrot_pcc_get_caller_ctx(interp, caller_ctx));
+ }
+ argc = VTABLE_elements(interp, signature);
+ return (opcode_t *)cur_opcode + argc + 2;
+}
+
+opcode_t *
+Parrot_set_returns_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ opcode_t * const raw_args = CUR_OPCODE;
+ PMC * const signature = CONST(1)->u.key;
+ PMC * const call_sig = Parrot_pcc_build_sig_object_from_op(interp,
+ Parrot_pcc_get_signature(interp,
+ Parrot_pcc_get_caller_ctx(interp, CURRENT_CONTEXT(interp))),
+ signature, raw_args);
+ INTVAL argc;
+
+ Parrot_pcc_set_signature(interp, CURRENT_CONTEXT(interp), call_sig);
+
+ argc = VTABLE_elements(interp, signature);
+ return (opcode_t *)cur_opcode + argc + 2;
+}
+
+opcode_t *
+Parrot_get_results_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ opcode_t * const raw_params = CUR_OPCODE;
+ PMC * const signature = CONST(1)->u.key;
+ PMC *ctx = CURRENT_CONTEXT(interp);
+ PMC *ccont = Parrot_pcc_get_continuation(interp, ctx);
+ PMC *call_object = Parrot_pcc_get_signature(interp, ctx);
+
+ INTVAL argc;
+
+ Parrot_pcc_fill_params_from_op(interp, call_object, signature, raw_params,
+ PARROT_ERRORS_RESULT_COUNT_FLAG);
+
+ argc = VTABLE_elements(interp, signature);
+ return (opcode_t *)cur_opcode + argc + 2;
+}
+
+opcode_t *
+Parrot_set_result_info_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const ctx = CURRENT_CONTEXT(interp);
+
+ VTABLE_set_attr_str(interp, ctx,
+ Parrot_str_new_constant(interp, "return_flags"),
+ PREG(1));
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_set_result_info_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const ctx = CURRENT_CONTEXT(interp);
+
+ VTABLE_set_attr_str(interp, ctx,
+ Parrot_str_new_constant(interp, "return_flags"),
+ CONST(1)->u.key);
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_result_info_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const caller_ctx = Parrot_pcc_get_caller_ctx(interp, CURRENT_CONTEXT(interp));
+ PMC * const sig = VTABLE_get_attr_str(interp, caller_ctx,
+ Parrot_str_new_constant(interp, "return_flags"));
+
+ /* If no elements, hand back empty array; otherwise PMC. */
+ if (!sig)
+ PREG(1) = Parrot_pmc_new(interp, enum_class_FixedIntegerArray);
+ else
+ PREG(1) = sig;
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_set_addr_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = PTR2INTVAL(CUR_OPCODE + cur_opcode[2]);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_addr_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_pointer(interp, PREG(1), (CUR_OPCODE + cur_opcode[2]));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_addr_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_pointer(interp, PREG(1), (void*)IREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_get_addr_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ void *ptr = VTABLE_get_pointer(interp, PREG(2));
+ IREG(1) = (INTVAL)ptr;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_schedule_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_cx_schedule_task(interp, PREG(1));
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_addhandler_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_cx_add_handler(interp, PREG(1));
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_push_eh_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const eh = Parrot_pmc_new(interp, enum_class_ExceptionHandler);
+ VTABLE_set_pointer(interp, eh, CUR_OPCODE + cur_opcode[1]);
+ Parrot_cx_add_handler_local(interp, eh);
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_push_eh_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_cx_add_handler_local(interp, PREG(1));
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_pop_eh(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_cx_delete_handler_local(interp,
+ Parrot_str_new_constant(interp, "exception"));
+
+return (opcode_t *)cur_opcode + 1;}
+
+opcode_t *
+Parrot_throw_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * except = PREG(1);
+ opcode_t *dest;
+ opcode_t * const ret = cur_opcode + 2;
+ PMC * const resume = pmc_new(interp, enum_class_Continuation);
+
+ VTABLE_set_pointer(interp, resume, ret);
+
+ if (PMC_IS_NULL(except) || except->vtable->base_type != enum_class_Exception)
+ except = Parrot_ex_build_exception(interp, EXCEPT_fatal,
+ EXCEPTION_UNIMPLEMENTED,
+ Parrot_str_new_constant(interp, "Not a throwable object"));
+
+ VTABLE_set_attr_str(interp, except, Parrot_str_new_constant(interp, "resume"), resume);
+ dest = Parrot_ex_throw_from_op(interp, except, ret);
+ return (opcode_t *)dest;
+}
+
+opcode_t *
+Parrot_throw_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ opcode_t * dest;
+ PMC * except = PREG(1);
+ if (PMC_IS_NULL(except) || except->vtable->base_type != enum_class_Exception)
+ except = Parrot_ex_build_exception(interp, EXCEPT_fatal,
+ EXCEPTION_UNIMPLEMENTED,
+ Parrot_str_new_constant(interp, "Not a throwable object"));
+ dest = Parrot_ex_throw_from_op(interp, PREG(1),
+ VTABLE_get_pointer(interp, PREG(2)));
+ return (opcode_t *)dest;
+}
+
+opcode_t *
+Parrot_rethrow_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ opcode_t * dest;
+ if (PMC_IS_NULL(PREG(1)) || PREG(1)->vtable->base_type != enum_class_Exception) {
+ opcode_t * const ret = cur_opcode + 2;
+ PMC * const except = Parrot_ex_build_exception(interp, EXCEPT_fatal,
+ EXCEPTION_UNIMPLEMENTED,
+ Parrot_str_new_constant(interp, "Not a throwable object"));
+ dest = Parrot_ex_throw_from_op(interp, except, ret);
+ return (opcode_t *)dest;
+ }
+ dest = Parrot_ex_rethrow_from_op(interp, PREG(1));
+ return (opcode_t *)dest;
+}
+
+opcode_t *
+Parrot_count_eh_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_cx_count_handlers_local(interp,
+ Parrot_str_new_constant(interp, "exception"));
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_die_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ opcode_t *dest;
+ opcode_t * const ret = cur_opcode + 2;
+ PMC * const resume = pmc_new(interp, enum_class_Continuation);
+ PMC * const exception = Parrot_ex_build_exception(interp, EXCEPT_error,
+ CONTROL_ERROR, SREG(1));
+
+ VTABLE_set_pointer(interp, resume, ret);
+
+ VTABLE_set_attr_str(interp, exception,
+ Parrot_str_new_constant(interp, "resume"), resume);
+ dest = Parrot_ex_throw_from_op(interp, exception, ret);
+ return (opcode_t *)dest;
+}
+
+opcode_t *
+Parrot_die_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ opcode_t *dest;
+ opcode_t * const ret = cur_opcode + 2;
+ PMC * const resume = pmc_new(interp, enum_class_Continuation);
+ PMC * const exception = Parrot_ex_build_exception(interp, EXCEPT_error,
+ CONTROL_ERROR, CONST(1)->u.string);
+
+ VTABLE_set_pointer(interp, resume, ret);
+
+ VTABLE_set_attr_str(interp, exception,
+ Parrot_str_new_constant(interp, "resume"), resume);
+ dest = Parrot_ex_throw_from_op(interp, exception, ret);
+ return (opcode_t *)dest;
+}
+
+opcode_t *
+Parrot_die_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ opcode_t *dest;
+ opcode_t * const ret = cur_opcode + 2;
+ PMC * const resume = pmc_new(interp, enum_class_Continuation);
+ STRING * const msg = PMC_IS_NULL(PREG(1)) ? NULL : VTABLE_get_string(interp, PREG(1));
+ PMC * const exception =
+ Parrot_ex_build_exception(interp, EXCEPT_error, CONTROL_ERROR, msg);
+
+ VTABLE_set_pointer(interp, resume, ret);
+
+ VTABLE_set_attr_str(interp, exception,
+ Parrot_str_new_constant(interp, "resume"), resume);
+ dest = Parrot_ex_throw_from_op(interp, exception, ret);
+ return (opcode_t *)dest;
+}
+
+opcode_t *
+Parrot_die_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ opcode_t *dest;
+ opcode_t * const ret = cur_opcode + 2;
+ PMC * const resume = pmc_new(interp, enum_class_Continuation);
+ STRING * const msg = PMC_IS_NULL(CONST(1)->u.key) ? NULL : VTABLE_get_string(interp, CONST(1)->u.key);
+ PMC * const exception =
+ Parrot_ex_build_exception(interp, EXCEPT_error, CONTROL_ERROR, msg);
+
+ VTABLE_set_pointer(interp, resume, ret);
+
+ VTABLE_set_attr_str(interp, exception,
+ Parrot_str_new_constant(interp, "resume"), resume);
+ dest = Parrot_ex_throw_from_op(interp, exception, ret);
+ return (opcode_t *)dest;
+}
+
+opcode_t *
+Parrot_die_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (IREG(1) == EXCEPT_doomed)
+ _exit(IREG(2));
+ else {
+ opcode_t * const ret = cur_opcode + 3;
+ PMC * const exception = Parrot_ex_build_exception(interp, IREG(1), IREG(2), NULL);
+ opcode_t * const dest = Parrot_ex_throw_from_op(interp, exception, ret);
+
+ return (opcode_t *)dest;
+ }
+}
+
+opcode_t *
+Parrot_die_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (cur_opcode[1] == EXCEPT_doomed)
+ _exit(IREG(2));
+ else {
+ opcode_t * const ret = cur_opcode + 3;
+ PMC * const exception = Parrot_ex_build_exception(interp, cur_opcode[1], IREG(2), NULL);
+ opcode_t * const dest = Parrot_ex_throw_from_op(interp, exception, ret);
+
+ return (opcode_t *)dest;
+ }
+}
+
+opcode_t *
+Parrot_die_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (IREG(1) == EXCEPT_doomed)
+ _exit(cur_opcode[2]);
+ else {
+ opcode_t * const ret = cur_opcode + 3;
+ PMC * const exception = Parrot_ex_build_exception(interp, IREG(1), cur_opcode[2], NULL);
+ opcode_t * const dest = Parrot_ex_throw_from_op(interp, exception, ret);
+
+ return (opcode_t *)dest;
+ }
+}
+
+opcode_t *
+Parrot_die_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (cur_opcode[1] == EXCEPT_doomed)
+ _exit(cur_opcode[2]);
+ else {
+ opcode_t * const ret = cur_opcode + 3;
+ PMC * const exception = Parrot_ex_build_exception(interp, cur_opcode[1], cur_opcode[2], NULL);
+ opcode_t * const dest = Parrot_ex_throw_from_op(interp, exception, ret);
+
+ return (opcode_t *)dest;
+ }
+}
+
+opcode_t *
+Parrot_exit_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ opcode_t *dest;
+ opcode_t * const ret = cur_opcode + 2;
+ PMC * const resume = pmc_new(interp, enum_class_Continuation);
+ PMC * const exception = Parrot_ex_build_exception(interp, EXCEPT_exit, IREG(1), NULL);
+
+ VTABLE_set_pointer(interp, resume, ret);
+
+ VTABLE_set_attr_str(interp, exception,
+ Parrot_str_new_constant(interp, "resume"), resume);
+ VTABLE_set_integer_keyed_str(interp, exception,
+ Parrot_str_new_constant(interp, "exit_code"), IREG(1));
+ dest = Parrot_ex_throw_from_op(interp, exception, ret);
+ return (opcode_t *)dest;
+}
+
+opcode_t *
+Parrot_exit_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ opcode_t *dest;
+ opcode_t * const ret = cur_opcode + 2;
+ PMC * const resume = pmc_new(interp, enum_class_Continuation);
+ PMC * const exception = Parrot_ex_build_exception(interp, EXCEPT_exit, cur_opcode[1], NULL);
+
+ VTABLE_set_pointer(interp, resume, ret);
+
+ VTABLE_set_attr_str(interp, exception,
+ Parrot_str_new_constant(interp, "resume"), resume);
+ VTABLE_set_integer_keyed_str(interp, exception,
+ Parrot_str_new_constant(interp, "exit_code"), cur_opcode[1]);
+ dest = Parrot_ex_throw_from_op(interp, exception, ret);
+ return (opcode_t *)dest;
+}
+
+opcode_t *
+Parrot_debug_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (IREG(1) != 0) { Interp_debug_SET(interp, IREG(1)); }
+ else { Interp_debug_CLEAR(interp, PARROT_ALL_DEBUG_FLAGS); }
+ interp->resume_offset = REL_PC + 2; interp->resume_flag = 1;return (opcode_t *)0;
+}
+
+opcode_t *
+Parrot_debug_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (cur_opcode[1] != 0) { Interp_debug_SET(interp, cur_opcode[1]); }
+ else { Interp_debug_CLEAR(interp, PARROT_ALL_DEBUG_FLAGS); }
+ interp->resume_offset = REL_PC + 2; interp->resume_flag = 1;return (opcode_t *)0;
+}
+
+opcode_t *
+Parrot_bounds_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (IREG(1) != 0) { Parrot_set_flag(interp, PARROT_BOUNDS_FLAG); }
+ else { Interp_flags_CLEAR(interp, PARROT_BOUNDS_FLAG); }
+ interp->resume_offset = REL_PC + 2; interp->resume_flag = 1;return (opcode_t *)0;
+}
+
+opcode_t *
+Parrot_bounds_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (cur_opcode[1] != 0) { Parrot_set_flag(interp, PARROT_BOUNDS_FLAG); }
+ else { Interp_flags_CLEAR(interp, PARROT_BOUNDS_FLAG); }
+ interp->resume_offset = REL_PC + 2; interp->resume_flag = 1;return (opcode_t *)0;
+}
+
+opcode_t *
+Parrot_profile_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (IREG(1) != 0) { Parrot_set_flag(interp, PARROT_PROFILE_FLAG); }
+ else { Interp_flags_CLEAR(interp, PARROT_PROFILE_FLAG); }
+ interp->resume_offset = REL_PC + 2; interp->resume_flag = 1;return (opcode_t *)0;
+}
+
+opcode_t *
+Parrot_profile_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (cur_opcode[1] != 0) { Parrot_set_flag(interp, PARROT_PROFILE_FLAG); }
+ else { Interp_flags_CLEAR(interp, PARROT_PROFILE_FLAG); }
+ interp->resume_offset = REL_PC + 2; interp->resume_flag = 1;return (opcode_t *)0;
+}
+
+opcode_t *
+Parrot_trace_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (IREG(1) != 0) { Parrot_set_trace(interp, IREG(1)); }
+ else { Parrot_clear_trace(interp, PARROT_ALL_TRACE_FLAGS); }
+ interp->resume_offset = REL_PC + 2; interp->resume_flag = 1;return (opcode_t *)0;
+}
+
+opcode_t *
+Parrot_trace_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (cur_opcode[1] != 0) { Parrot_set_trace(interp, cur_opcode[1]); }
+ else { Parrot_clear_trace(interp, PARROT_ALL_TRACE_FLAGS); }
+ interp->resume_offset = REL_PC + 2; interp->resume_flag = 1;return (opcode_t *)0;
+}
+
+opcode_t *
+Parrot_gc_debug_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (IREG(1) != 0) { Interp_flags_SET(interp, PARROT_GC_DEBUG_FLAG); }
+ else { Interp_flags_CLEAR(interp, PARROT_GC_DEBUG_FLAG); }
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_gc_debug_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (cur_opcode[1] != 0) { Interp_flags_SET(interp, PARROT_GC_DEBUG_FLAG); }
+ else { Interp_flags_CLEAR(interp, PARROT_GC_DEBUG_FLAG); }
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_interpinfo_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = interpinfo(interp, IREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_interpinfo_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = interpinfo(interp, cur_opcode[2]);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_interpinfo_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = interpinfo_p(interp, IREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_interpinfo_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = interpinfo_p(interp, cur_opcode[2]);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_interpinfo_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const s = interpinfo_s(interp, IREG(2));
+ SREG(1) = s;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_interpinfo_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const s = interpinfo_s(interp, cur_opcode[2]);
+ SREG(1) = s;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_warningson_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PARROT_WARNINGS_on(interp, IREG(1));
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_warningson_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PARROT_WARNINGS_on(interp, cur_opcode[1]);
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_warningsoff_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PARROT_WARNINGS_off(interp, IREG(1));
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_warningsoff_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PARROT_WARNINGS_off(interp, cur_opcode[1]);
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_errorson_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PARROT_ERRORS_on(interp, IREG(1));
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_errorson_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PARROT_ERRORS_on(interp, cur_opcode[1]);
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_errorsoff_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PARROT_ERRORS_off(interp, IREG(1));
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_errorsoff_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PARROT_ERRORS_off(interp, cur_opcode[1]);
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_runinterp_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Interp * const new_interp = (Interp *)VTABLE_get_pointer(interp, PREG(1));
+ Interp_flags_SET(new_interp, PARROT_EXTERN_CODE_FLAG);
+ Parrot_switch_to_cs(new_interp, interp->code, 1);
+ runops(new_interp, REL_PC + IREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_runinterp_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Interp * const new_interp = (Interp *)VTABLE_get_pointer(interp, PREG(1));
+ Interp_flags_SET(new_interp, PARROT_EXTERN_CODE_FLAG);
+ Parrot_switch_to_cs(new_interp, interp->code, 1);
+ runops(new_interp, REL_PC + cur_opcode[2]);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_getinterp_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed_int(interp, interp->iglobals,
+ IGLOBALS_INTERPRETER);
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_sweep_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (cur_opcode[1])
+ Parrot_gc_mark_and_sweep(interp, 0);
+ else
+ if (Parrot_gc_impatient_pmcs(interp))
+ Parrot_gc_mark_and_sweep(interp, GC_lazy_FLAG);
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_collect(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_gc_compact_memory_pool(interp);
+
+return (opcode_t *)cur_opcode + 1;}
+
+opcode_t *
+Parrot_sweepoff(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_block_GC_mark(interp);
+
+return (opcode_t *)cur_opcode + 1;}
+
+opcode_t *
+Parrot_sweepon(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_unblock_GC_mark(interp);
+
+return (opcode_t *)cur_opcode + 1;}
+
+opcode_t *
+Parrot_collectoff(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_block_GC_sweep(interp);
+
+return (opcode_t *)cur_opcode + 1;}
+
+opcode_t *
+Parrot_collecton(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_unblock_GC_sweep(interp);
+
+return (opcode_t *)cur_opcode + 1;}
+
+opcode_t *
+Parrot_needs_destroy_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_gc_pmc_needs_early_collection(interp, PREG(1));
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_loadlib_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = Parrot_load_lib(interp, SREG(2), NULL);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_loadlib_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = Parrot_load_lib(interp, CONST(2)->u.string, NULL);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_loadlib_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = Parrot_load_lib(interp, SREG(2), PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_loadlib_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = Parrot_load_lib(interp, CONST(2)->u.string, PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_loadlib_p_s_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = Parrot_load_lib(interp, SREG(2), CONST(3)->u.key);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_loadlib_p_sc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = Parrot_load_lib(interp, CONST(2)->u.string, CONST(3)->u.key);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_dlfunc_p_p_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ char * const name = Parrot_str_to_cstring(interp, (SREG(3)));
+ void *dl_handle = NULL;
+ void *ptr = NULL;
+ funcptr_t p;
+
+ if (!PMC_IS_NULL(PREG(2))
+ && PREG(2)->vtable->base_type == enum_class_ParrotLibrary
+ && VTABLE_defined(interp, PREG(2))) {
+ dl_handle = ((Parrot_ParrotLibrary_attributes*)PMC_data(PREG(2)))->dl_handle;
+ }
+
+ ptr = Parrot_dlsym(dl_handle, name);
+ p = D2FPTR(ptr);
+
+ if (p == NULLfunc) {
+ const char * err = Parrot_dlerror();
+ Parrot_warn(interp, PARROT_WARNINGS_UNDEF_FLAG,
+ "Symbol '%s' not found: %s\n", name, err ? err : "unknown reason");
+ PREG(1) = Parrot_pmc_new(interp, enum_class_Undef);
+ }
+ else {
+ PREG(1) = Parrot_pmc_new(interp, enum_class_NCI);
+ VTABLE_set_pointer_keyed_str(interp, PREG(1), SREG(4), F2DPTR(p));
+ }
+ Parrot_str_free_cstring(name);
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_dlfunc_p_p_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ char * const name = Parrot_str_to_cstring(interp, (CONST(3)->u.string));
+ void *dl_handle = NULL;
+ void *ptr = NULL;
+ funcptr_t p;
+
+ if (!PMC_IS_NULL(PREG(2))
+ && PREG(2)->vtable->base_type == enum_class_ParrotLibrary
+ && VTABLE_defined(interp, PREG(2))) {
+ dl_handle = ((Parrot_ParrotLibrary_attributes*)PMC_data(PREG(2)))->dl_handle;
+ }
+
+ ptr = Parrot_dlsym(dl_handle, name);
+ p = D2FPTR(ptr);
+
+ if (p == NULLfunc) {
+ const char * err = Parrot_dlerror();
+ Parrot_warn(interp, PARROT_WARNINGS_UNDEF_FLAG,
+ "Symbol '%s' not found: %s\n", name, err ? err : "unknown reason");
+ PREG(1) = Parrot_pmc_new(interp, enum_class_Undef);
+ }
+ else {
+ PREG(1) = Parrot_pmc_new(interp, enum_class_NCI);
+ VTABLE_set_pointer_keyed_str(interp, PREG(1), SREG(4), F2DPTR(p));
+ }
+ Parrot_str_free_cstring(name);
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_dlfunc_p_p_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ char * const name = Parrot_str_to_cstring(interp, (SREG(3)));
+ void *dl_handle = NULL;
+ void *ptr = NULL;
+ funcptr_t p;
+
+ if (!PMC_IS_NULL(PREG(2))
+ && PREG(2)->vtable->base_type == enum_class_ParrotLibrary
+ && VTABLE_defined(interp, PREG(2))) {
+ dl_handle = ((Parrot_ParrotLibrary_attributes*)PMC_data(PREG(2)))->dl_handle;
+ }
+
+ ptr = Parrot_dlsym(dl_handle, name);
+ p = D2FPTR(ptr);
+
+ if (p == NULLfunc) {
+ const char * err = Parrot_dlerror();
+ Parrot_warn(interp, PARROT_WARNINGS_UNDEF_FLAG,
+ "Symbol '%s' not found: %s\n", name, err ? err : "unknown reason");
+ PREG(1) = Parrot_pmc_new(interp, enum_class_Undef);
+ }
+ else {
+ PREG(1) = Parrot_pmc_new(interp, enum_class_NCI);
+ VTABLE_set_pointer_keyed_str(interp, PREG(1), CONST(4)->u.string, F2DPTR(p));
+ }
+ Parrot_str_free_cstring(name);
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_dlfunc_p_p_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ char * const name = Parrot_str_to_cstring(interp, (CONST(3)->u.string));
+ void *dl_handle = NULL;
+ void *ptr = NULL;
+ funcptr_t p;
+
+ if (!PMC_IS_NULL(PREG(2))
+ && PREG(2)->vtable->base_type == enum_class_ParrotLibrary
+ && VTABLE_defined(interp, PREG(2))) {
+ dl_handle = ((Parrot_ParrotLibrary_attributes*)PMC_data(PREG(2)))->dl_handle;
+ }
+
+ ptr = Parrot_dlsym(dl_handle, name);
+ p = D2FPTR(ptr);
+
+ if (p == NULLfunc) {
+ const char * err = Parrot_dlerror();
+ Parrot_warn(interp, PARROT_WARNINGS_UNDEF_FLAG,
+ "Symbol '%s' not found: %s\n", name, err ? err : "unknown reason");
+ PREG(1) = Parrot_pmc_new(interp, enum_class_Undef);
+ }
+ else {
+ PREG(1) = Parrot_pmc_new(interp, enum_class_NCI);
+ VTABLE_set_pointer_keyed_str(interp, PREG(1), CONST(4)->u.string, F2DPTR(p));
+ }
+ Parrot_str_free_cstring(name);
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_dlvar_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ char * const name = Parrot_str_to_cstring(interp, (SREG(3)));
+ void * dl_handle = NULL;
+ void * p = NULL;
+
+ if (!PMC_IS_NULL(PREG(2))
+ && PREG(2)->vtable->base_type == enum_class_ParrotLibrary
+ && VTABLE_defined(interp, PREG(2))) {
+ dl_handle = ((Parrot_ParrotLibrary_attributes*)PMC_data(PREG(2)))->dl_handle;
+ }
+
+ p = Parrot_dlsym(dl_handle, name);
+
+ if (p == NULL) {
+ const char * const err = Parrot_dlerror();
+ Parrot_warn(interp, PARROT_WARNINGS_UNDEF_FLAG,
+ "Symbol '%s' not found: %s\n", name, err ? err : "unknown reason");
+ PREG(1) = Parrot_pmc_new(interp, enum_class_Undef);
+ }
+ else {
+ /* At this point we have the symbol's address. We just need to build
+ a PMC with it so we can get and set the value */
+ PREG(1) = Parrot_pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, PREG(1), p);
+ }
+ Parrot_str_free_cstring(name);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_dlvar_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ char * const name = Parrot_str_to_cstring(interp, (CONST(3)->u.string));
+ void * dl_handle = NULL;
+ void * p = NULL;
+
+ if (!PMC_IS_NULL(PREG(2))
+ && PREG(2)->vtable->base_type == enum_class_ParrotLibrary
+ && VTABLE_defined(interp, PREG(2))) {
+ dl_handle = ((Parrot_ParrotLibrary_attributes*)PMC_data(PREG(2)))->dl_handle;
+ }
+
+ p = Parrot_dlsym(dl_handle, name);
+
+ if (p == NULL) {
+ const char * const err = Parrot_dlerror();
+ Parrot_warn(interp, PARROT_WARNINGS_UNDEF_FLAG,
+ "Symbol '%s' not found: %s\n", name, err ? err : "unknown reason");
+ PREG(1) = Parrot_pmc_new(interp, enum_class_Undef);
+ }
+ else {
+ /* At this point we have the symbol's address. We just need to build
+ a PMC with it so we can get and set the value */
+ PREG(1) = Parrot_pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, PREG(1), p);
+ }
+ Parrot_str_free_cstring(name);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_compreg_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const compreg_hash = VTABLE_get_pmc_keyed_int(interp,
+ interp->iglobals, IGLOBALS_COMPREG_HASH);
+ VTABLE_set_pmc_keyed_str(interp, compreg_hash, SREG(1), PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_compreg_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const compreg_hash = VTABLE_get_pmc_keyed_int(interp,
+ interp->iglobals, IGLOBALS_COMPREG_HASH);
+ VTABLE_set_pmc_keyed_str(interp, compreg_hash, CONST(1)->u.string, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_compreg_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const compreg_hash = VTABLE_get_pmc_keyed_int(interp,
+ interp->iglobals, IGLOBALS_COMPREG_HASH);
+ PREG(1) = VTABLE_get_pmc_keyed_str(interp, compreg_hash, SREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_compreg_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const compreg_hash = VTABLE_get_pmc_keyed_int(interp,
+ interp->iglobals, IGLOBALS_COMPREG_HASH);
+ PREG(1) = VTABLE_get_pmc_keyed_str(interp, compreg_hash, CONST(2)->u.string);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_new_callback_p_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = Parrot_make_cb(interp, PREG(2), PREG(3), SREG(4));
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_new_callback_p_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = Parrot_make_cb(interp, PREG(2), PREG(3), CONST(4)->u.string);
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_annotations_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (interp->code->annotations) {
+ const opcode_t cur_pos = (cur_opcode + 2) - interp->code->base.data;
+ PREG(1) = PackFile_Annotations_lookup(interp, interp->code->annotations,
+ cur_pos, NULL);
+ }
+ else {
+ PREG(1) = Parrot_pmc_new(interp, enum_class_Hash);
+ }
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_annotations_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (interp->code->annotations) {
+ const opcode_t cur_pos = (cur_opcode + 3) - interp->code->base.data;
+ PREG(1) = PackFile_Annotations_lookup(interp, interp->code->annotations,
+ cur_pos, SREG(2));
+ }
+ else {
+ PREG(1) = PMCNULL;
+ }
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_annotations_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (interp->code->annotations) {
+ const opcode_t cur_pos = (cur_opcode + 3) - interp->code->base.data;
+ PREG(1) = PackFile_Annotations_lookup(interp, interp->code->annotations,
+ cur_pos, CONST(2)->u.string);
+ }
+ else {
+ PREG(1) = PMCNULL;
+ }
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_band_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) &= IREG(2);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_band_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) &= cur_opcode[2];
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_band_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL a = VTABLE_get_integer(interp, PREG(1));
+ const INTVAL b = a & IREG(2);
+ VTABLE_set_integer_native(interp, PREG(1), b);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_band_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL a = VTABLE_get_integer(interp, PREG(1));
+ const INTVAL b = a & cur_opcode[2];
+ VTABLE_set_integer_native(interp, PREG(1), b);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_band_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL a = VTABLE_get_integer(interp, PREG(1));
+ const INTVAL b = VTABLE_get_integer(interp, PREG(2));
+ VTABLE_set_integer_native(interp, PREG(1), a & b);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_band_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = IREG(2) & IREG(3);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_band_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = cur_opcode[2] & IREG(3);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_band_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = IREG(2) & cur_opcode[3];
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_band_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL a = VTABLE_get_integer(interp, PREG(2));
+ VTABLE_set_integer_native(interp, PREG(1), a & IREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_band_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL a = VTABLE_get_integer(interp, PREG(2));
+ VTABLE_set_integer_native(interp, PREG(1), a & cur_opcode[3]);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_band_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL a = VTABLE_get_integer(interp, PREG(2));
+ const INTVAL b = VTABLE_get_integer(interp, PREG(3));
+ VTABLE_set_integer_native(interp, PREG(1), a & b);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_bands_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const a = VTABLE_get_string(interp, PREG(1));
+ STRING * const b = Parrot_str_bitwise_and(interp, a, SREG(2));
+ VTABLE_set_string_native(interp, PREG(1), b);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_bands_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const a = VTABLE_get_string(interp, PREG(1));
+ STRING * const b = Parrot_str_bitwise_and(interp, a, CONST(2)->u.string);
+ VTABLE_set_string_native(interp, PREG(1), b);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_bands_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * a = VTABLE_get_string(interp, PREG(1));
+ STRING * const b = VTABLE_get_string(interp, PREG(2));
+ a = Parrot_str_bitwise_and(interp, a, b);
+ VTABLE_set_string_native(interp, PREG(1), a);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_bands_s_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_bitwise_and(interp, SREG(2), SREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_bands_s_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_bitwise_and(interp, CONST(2)->u.string, SREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_bands_s_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_bitwise_and(interp, SREG(2), CONST(3)->u.string);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_bands_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const a = VTABLE_get_string(interp, PREG(2));
+ STRING * const b = Parrot_str_bitwise_and(interp, a, SREG(3));
+ VTABLE_set_string_native(interp, PREG(1), b);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_bands_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const a = VTABLE_get_string(interp, PREG(2));
+ STRING * const b = Parrot_str_bitwise_and(interp, a, CONST(3)->u.string);
+ VTABLE_set_string_native(interp, PREG(1), b);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_bands_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const a = VTABLE_get_string(interp, PREG(2));
+ STRING * const b = VTABLE_get_string(interp, PREG(3));
+ STRING * const c = Parrot_str_bitwise_and(interp, a, b);
+ VTABLE_set_string_native(interp, PREG(1), c);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_bnot_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = ~ IREG(1);
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_bnot_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = ~ IREG(2);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_bnot_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL a = VTABLE_get_integer(interp, PREG(1));
+ VTABLE_set_integer_native(interp, PREG(1), ~a);
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_bnot_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL a = VTABLE_get_integer(interp, PREG(2));
+ PMC * const b = Parrot_pmc_new(interp, VTABLE_type(interp, PREG(2)));
+ VTABLE_set_integer_native(interp, b, ~a);
+ PREG(1) = b;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_bnots_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_bitwise_not(interp, SREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_bnots_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_bitwise_not(interp, CONST(2)->u.string);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_bnots_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const a = VTABLE_get_string(interp, PREG(1));
+ STRING * const b = Parrot_str_bitwise_not(interp, a);
+ VTABLE_set_string_native(interp, PREG(1), b);
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_bnots_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const a = VTABLE_get_string(interp, PREG(2));
+ STRING * const b = Parrot_str_bitwise_not(interp, a);
+ VTABLE_set_string_native(interp, PREG(1), b);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_bor_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) |= IREG(2);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_bor_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) |= cur_opcode[2];
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_bor_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL a = VTABLE_get_integer(interp, PREG(1));
+ VTABLE_set_integer_native(interp, PREG(1), a | IREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_bor_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL a = VTABLE_get_integer(interp, PREG(1));
+ VTABLE_set_integer_native(interp, PREG(1), a | cur_opcode[2]);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_bor_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL a = VTABLE_get_integer(interp, PREG(1));
+ const INTVAL b = VTABLE_get_integer(interp, PREG(2));
+ VTABLE_set_integer_native(interp, PREG(1), a | b);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_bor_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = IREG(2) | IREG(3);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_bor_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = cur_opcode[2] | IREG(3);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_bor_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = IREG(2) | cur_opcode[3];
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_bor_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL a = VTABLE_get_integer(interp, PREG(2));
+ VTABLE_set_integer_native(interp, PREG(1), a | IREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_bor_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL a = VTABLE_get_integer(interp, PREG(2));
+ VTABLE_set_integer_native(interp, PREG(1), a | cur_opcode[3]);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_bor_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL a = VTABLE_get_integer(interp, PREG(2));
+ const INTVAL b = VTABLE_get_integer(interp, PREG(3));
+ VTABLE_set_integer_native(interp, PREG(1), a | b);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_bors_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const a = VTABLE_get_string(interp, PREG(1));
+ STRING * const b = Parrot_str_bitwise_or(interp, a, SREG(2));
+ VTABLE_set_string_native(interp, PREG(1), b);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_bors_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const a = VTABLE_get_string(interp, PREG(1));
+ STRING * const b = Parrot_str_bitwise_or(interp, a, CONST(2)->u.string);
+ VTABLE_set_string_native(interp, PREG(1), b);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_bors_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const a = VTABLE_get_string(interp, PREG(1));
+ STRING * const b = VTABLE_get_string(interp, PREG(2));
+ STRING * const c = Parrot_str_bitwise_or(interp, a, b);
+ VTABLE_set_string_native(interp, PREG(1), c);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_bors_s_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_bitwise_or(interp, SREG(2), SREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_bors_s_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_bitwise_or(interp, CONST(2)->u.string, SREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_bors_s_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_bitwise_or(interp, SREG(2), CONST(3)->u.string);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_bors_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const b = VTABLE_get_string(interp, PREG(2));
+ STRING * const c = Parrot_str_bitwise_or(interp, b, SREG(3));
+ VTABLE_set_string_native(interp, PREG(1), c);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_bors_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const b = VTABLE_get_string(interp, PREG(2));
+ STRING * const c = Parrot_str_bitwise_or(interp, b, CONST(3)->u.string);
+ VTABLE_set_string_native(interp, PREG(1), c);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_bors_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const a = VTABLE_get_string(interp, PREG(2));
+ STRING * const b = VTABLE_get_string(interp, PREG(3));
+ STRING * const c = Parrot_str_bitwise_or(interp, a, b);
+ VTABLE_set_string_native(interp, PREG(1), c);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_shl_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = bit_shift_left(IREG(1), IREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_shl_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = bit_shift_left(IREG(1), cur_opcode[2]);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_shl_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL a = VTABLE_get_integer(interp, PREG(1));
+ const INTVAL b = bit_shift_left(a, IREG(2));
+ VTABLE_set_integer_native(interp, PREG(1), b);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_shl_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL a = VTABLE_get_integer(interp, PREG(1));
+ const INTVAL b = bit_shift_left(a, cur_opcode[2]);
+ VTABLE_set_integer_native(interp, PREG(1), b);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_shl_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL a = VTABLE_get_integer(interp, PREG(1));
+ const INTVAL b = VTABLE_get_integer(interp, PREG(2));
+ const INTVAL c = bit_shift_left(a, b);
+ VTABLE_set_integer_native(interp, PREG(1), c);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_shl_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = bit_shift_left(IREG(2), IREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_shl_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = bit_shift_left(cur_opcode[2], IREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_shl_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = bit_shift_left(IREG(2), cur_opcode[3]);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_shl_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL a = VTABLE_get_integer(interp, PREG(2));
+ const INTVAL b = bit_shift_left(a, IREG(3));
+ VTABLE_set_integer_native(interp, PREG(1), b);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_shl_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL a = VTABLE_get_integer(interp, PREG(2));
+ const INTVAL b = bit_shift_left(a, cur_opcode[3]);
+ VTABLE_set_integer_native(interp, PREG(1), b);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_shl_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL a = VTABLE_get_integer(interp, PREG(2));
+ const INTVAL b = VTABLE_get_integer(interp, PREG(3));
+ const INTVAL c = bit_shift_left(a, b);
+ VTABLE_set_integer_native(interp, PREG(1), c);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_shr_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL signed_shift = -IREG(2);
+ IREG(1) = bit_shift_left(IREG(1), signed_shift);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_shr_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL signed_shift = -cur_opcode[2];
+ IREG(1) = bit_shift_left(IREG(1), signed_shift);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_shr_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL a = VTABLE_get_integer(interp, PREG(1));
+ const INTVAL b = bit_shift_left(a, -IREG(2));
+ VTABLE_set_integer_native(interp, PREG(1), b);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_shr_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL a = VTABLE_get_integer(interp, PREG(1));
+ const INTVAL b = bit_shift_left(a, -cur_opcode[2]);
+ VTABLE_set_integer_native(interp, PREG(1), b);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_shr_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL a = VTABLE_get_integer(interp, PREG(1));
+ const INTVAL b = VTABLE_get_integer(interp, PREG(2));
+ const INTVAL c = bit_shift_left(a, -b);
+ VTABLE_set_integer_native(interp, PREG(1), c);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_shr_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL signed_shift = -IREG(3);
+ IREG(1) = bit_shift_left(IREG(2), signed_shift);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_shr_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL signed_shift = -IREG(3);
+ IREG(1) = bit_shift_left(cur_opcode[2], signed_shift);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_shr_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL signed_shift = -cur_opcode[3];
+ IREG(1) = bit_shift_left(IREG(2), signed_shift);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_shr_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL a = VTABLE_get_integer(interp, PREG(2));
+ const INTVAL c = bit_shift_left(a, -IREG(3));
+ VTABLE_set_integer_native(interp, PREG(1), c);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_shr_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL a = VTABLE_get_integer(interp, PREG(2));
+ const INTVAL c = bit_shift_left(a, -cur_opcode[3]);
+ VTABLE_set_integer_native(interp, PREG(1), c);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_shr_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL a = VTABLE_get_integer(interp, PREG(2));
+ const INTVAL b = VTABLE_get_integer(interp, PREG(3));
+ const INTVAL c = bit_shift_left(a, -b);
+ VTABLE_set_integer_native(interp, PREG(1), c);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_lsr_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const UINTVAL a = (UINTVAL)IREG(1);
+ const UINTVAL b = a >> IREG(2);
+ IREG(1) = (INTVAL)b;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_lsr_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const UINTVAL a = (UINTVAL)IREG(1);
+ const UINTVAL b = a >> cur_opcode[2];
+ IREG(1) = (INTVAL)b;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_lsr_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, PREG(1));
+ const UINTVAL b = a >> IREG(2);
+ VTABLE_set_integer_native(interp, PREG(1), (INTVAL)b);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_lsr_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, PREG(1));
+ const UINTVAL b = a >> cur_opcode[2];
+ VTABLE_set_integer_native(interp, PREG(1), (INTVAL)b);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_lsr_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, PREG(1));
+ const UINTVAL b = (UINTVAL)VTABLE_get_integer(interp, PREG(2));
+ const UINTVAL c = a >> b;
+ VTABLE_set_integer_native(interp, PREG(1), (INTVAL)c);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_lsr_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (INTVAL)((UINTVAL)IREG(2) >> IREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_lsr_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (INTVAL)((UINTVAL)cur_opcode[2] >> IREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_lsr_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (INTVAL)((UINTVAL)IREG(2) >> cur_opcode[3]);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_lsr_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, PREG(2));
+ const UINTVAL b = (UINTVAL)IREG(3);
+ const UINTVAL c = a >> b;
+ VTABLE_set_integer_native(interp, PREG(1), (INTVAL)c);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_lsr_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, PREG(2));
+ const UINTVAL b = (UINTVAL)cur_opcode[3];
+ const UINTVAL c = a >> b;
+ VTABLE_set_integer_native(interp, PREG(1), (INTVAL)c);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_lsr_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, PREG(2));
+ const UINTVAL b = (UINTVAL)VTABLE_get_integer(interp, PREG(3));
+ const UINTVAL c = a >> b;
+ VTABLE_set_integer_native(interp, PREG(3), (INTVAL)c);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_rot_i_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL r = IREG(2);
+ INTVAL s = IREG(3);
+ const INTVAL w = cur_opcode[4];
+ INTVAL d, t;
+ if (s < 0)
+ s += w;
+ d = r << s;
+ t = w - s;
+ t = (INTVAL)((UINTVAL)r >> t);
+ d |= t;
+ IREG(1) = d;
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_rot_i_ic_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL r = cur_opcode[2];
+ INTVAL s = IREG(3);
+ const INTVAL w = cur_opcode[4];
+ INTVAL d, t;
+ if (s < 0)
+ s += w;
+ d = r << s;
+ t = w - s;
+ t = (INTVAL)((UINTVAL)r >> t);
+ d |= t;
+ IREG(1) = d;
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_rot_i_i_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL r = IREG(2);
+ INTVAL s = cur_opcode[3];
+ const INTVAL w = cur_opcode[4];
+ INTVAL d, t;
+ if (s < 0)
+ s += w;
+ d = r << s;
+ t = w - s;
+ t = (INTVAL)((UINTVAL)r >> t);
+ d |= t;
+ IREG(1) = d;
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_bxor_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) ^= IREG(2);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_bxor_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) ^= cur_opcode[2];
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_bxor_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, PREG(1));
+ const UINTVAL b = a ^ IREG(2);
+ VTABLE_set_integer_native(interp, PREG(1), (INTVAL)b);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_bxor_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, PREG(1));
+ const UINTVAL b = a ^ cur_opcode[2];
+ VTABLE_set_integer_native(interp, PREG(1), (INTVAL)b);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_bxor_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, PREG(1));
+ const UINTVAL b = (UINTVAL)VTABLE_get_integer(interp, PREG(2));
+ const UINTVAL c = a ^ b;
+ VTABLE_set_integer_native(interp, PREG(1), (INTVAL)c);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_bxor_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = IREG(2) ^ IREG(3);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_bxor_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = cur_opcode[2] ^ IREG(3);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_bxor_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = IREG(2) ^ cur_opcode[3];
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_bxor_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, PREG(2));
+ const UINTVAL b = a ^ IREG(3);
+ VTABLE_set_integer_native(interp, PREG(1), (INTVAL)b);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_bxor_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, PREG(2));
+ const UINTVAL b = a ^ cur_opcode[3];
+ VTABLE_set_integer_native(interp, PREG(1), (INTVAL)b);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_bxor_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, PREG(2));
+ const UINTVAL b = (UINTVAL)VTABLE_get_integer(interp, PREG(3));
+ const UINTVAL c = a ^ b;
+ VTABLE_set_integer_native(interp, PREG(1), (INTVAL)c);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_bxors_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const a = VTABLE_get_string(interp, PREG(1));
+ STRING * const b = Parrot_str_bitwise_xor(interp, a, SREG(2));
+ VTABLE_set_string_native(interp, PREG(1), b);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_bxors_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const a = VTABLE_get_string(interp, PREG(1));
+ STRING * const b = Parrot_str_bitwise_xor(interp, a, CONST(2)->u.string);
+ VTABLE_set_string_native(interp, PREG(1), b);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_bxors_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const a = VTABLE_get_string(interp, PREG(1));
+ STRING * const b = VTABLE_get_string(interp, PREG(2));
+ STRING * const c = Parrot_str_bitwise_xor(interp, a, b);
+ VTABLE_set_string_native(interp, PREG(1), c);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_bxors_s_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_bitwise_xor(interp, SREG(2), SREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_bxors_s_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_bitwise_xor(interp, CONST(2)->u.string, SREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_bxors_s_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_bitwise_xor(interp, SREG(2), CONST(3)->u.string);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_bxors_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const a = VTABLE_get_string(interp, PREG(2));
+ STRING * const b = Parrot_str_bitwise_xor(interp, a, SREG(3));
+ VTABLE_set_string_native(interp, PREG(1), b);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_bxors_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const a = VTABLE_get_string(interp, PREG(2));
+ STRING * const b = Parrot_str_bitwise_xor(interp, a, CONST(3)->u.string);
+ VTABLE_set_string_native(interp, PREG(1), b);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_bxors_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const a = VTABLE_get_string(interp, PREG(2));
+ STRING * const b = VTABLE_get_string(interp, PREG(3));
+ STRING * const c = Parrot_str_bitwise_xor(interp, a, b);
+ VTABLE_set_string_native(interp, PREG(1), c);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_eq_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (IREG(1) == IREG(2)) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_eq_ic_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (cur_opcode[1] == IREG(2)) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_eq_i_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (IREG(1) == cur_opcode[2]) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_eq_n_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (NREG(1) == NREG(2)) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_eq_nc_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (CONST(1)->u.number == NREG(2)) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_eq_n_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (NREG(1) == CONST(2)->u.number) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_eq_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (Parrot_str_equal(interp, SREG(1), SREG(2))) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_eq_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (Parrot_str_equal(interp, CONST(1)->u.string, SREG(2))) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_eq_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (Parrot_str_equal(interp, SREG(1), CONST(2)->u.string)) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_eq_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (VTABLE_is_equal(interp, PREG(1), PREG(2))) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_eq_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
+ VTABLE_set_integer_native(interp, temp, IREG(2));
+
+ if (VTABLE_is_equal(interp, PREG(1), temp)) {
+ Parrot_pmc_free_temporary(interp, temp);
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+ Parrot_pmc_free_temporary(interp, temp);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_eq_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
+ VTABLE_set_integer_native(interp, temp, cur_opcode[2]);
+
+ if (VTABLE_is_equal(interp, PREG(1), temp)) {
+ Parrot_pmc_free_temporary(interp, temp);
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+ Parrot_pmc_free_temporary(interp, temp);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_eq_p_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ /*
+ * the get_number and get_string should probably
+ * be also replaced with code like above, as
+ * overriding the compare multi subs wouldn't
+ * have any effect with the current code
+ */
+ if (VTABLE_get_number(interp, PREG(1)) == NREG(2)) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_eq_p_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ /*
+ * the get_number and get_string should probably
+ * be also replaced with code like above, as
+ * overriding the compare multi subs wouldn't
+ * have any effect with the current code
+ */
+ if (VTABLE_get_number(interp, PREG(1)) == CONST(2)->u.number) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_eq_p_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (Parrot_str_equal(interp, VTABLE_get_string(interp, PREG(1)), SREG(2))) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_eq_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (Parrot_str_equal(interp, VTABLE_get_string(interp, PREG(1)), CONST(2)->u.string)) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_eq_str_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (VTABLE_is_equal_string(interp, PREG(1), PREG(2))) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_eq_num_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (VTABLE_is_equal_num(interp, PREG(1), PREG(2))) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_eq_addr_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (SREG(1) == SREG(2)) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_eq_addr_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (CONST(1)->u.string == SREG(2)) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_eq_addr_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (SREG(1) == CONST(2)->u.string) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_eq_addr_sc_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (CONST(1)->u.string == CONST(2)->u.string) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_eq_addr_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (PREG(1) == PREG(2)) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_ne_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (IREG(1) != IREG(2)) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_ne_ic_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (cur_opcode[1] != IREG(2)) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_ne_i_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (IREG(1) != cur_opcode[2]) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_ne_n_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (NREG(1) != NREG(2)) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_ne_nc_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (CONST(1)->u.number != NREG(2)) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_ne_n_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (NREG(1) != CONST(2)->u.number) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_ne_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (Parrot_str_not_equal(interp, SREG(1), SREG(2))) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_ne_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (Parrot_str_not_equal(interp, CONST(1)->u.string, SREG(2))) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_ne_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (Parrot_str_not_equal(interp, SREG(1), CONST(2)->u.string)) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_ne_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (!VTABLE_is_equal(interp, PREG(1), PREG(2))) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_ne_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
+ VTABLE_set_integer_native(interp, temp, IREG(2));
+
+ if (!VTABLE_is_equal(interp, PREG(1), temp)) {
+ Parrot_pmc_free_temporary(interp, temp);
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+ Parrot_pmc_free_temporary(interp, temp);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_ne_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
+ VTABLE_set_integer_native(interp, temp, cur_opcode[2]);
+
+ if (!VTABLE_is_equal(interp, PREG(1), temp)) {
+ Parrot_pmc_free_temporary(interp, temp);
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+ Parrot_pmc_free_temporary(interp, temp);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_ne_p_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (VTABLE_get_number(interp, PREG(1)) != NREG(2)) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_ne_p_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (VTABLE_get_number(interp, PREG(1)) != CONST(2)->u.number) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_ne_p_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (Parrot_str_not_equal(interp, VTABLE_get_string(interp, PREG(1)), SREG(2))) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_ne_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (Parrot_str_not_equal(interp, VTABLE_get_string(interp, PREG(1)), CONST(2)->u.string)) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_ne_str_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (VTABLE_cmp_string(interp, PREG(1), PREG(2)) != 0) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_ne_num_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (VTABLE_cmp_num(interp, PREG(1), PREG(2)) != 0) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_ne_addr_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (SREG(1) != SREG(2)) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_ne_addr_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (CONST(1)->u.string != SREG(2)) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_ne_addr_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (SREG(1) != CONST(2)->u.string) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_ne_addr_sc_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (CONST(1)->u.string != CONST(2)->u.string) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_ne_addr_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (PREG(1) != PREG(2)) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_lt_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (IREG(1) < IREG(2)) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_lt_ic_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (cur_opcode[1] < IREG(2)) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_lt_i_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (IREG(1) < cur_opcode[2]) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_lt_n_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (NREG(1) < NREG(2)) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_lt_nc_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (CONST(1)->u.number < NREG(2)) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_lt_n_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (NREG(1) < CONST(2)->u.number) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_lt_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (Parrot_str_compare(interp, SREG(1), SREG(2)) < 0) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_lt_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (Parrot_str_compare(interp, CONST(1)->u.string, SREG(2)) < 0) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_lt_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (Parrot_str_compare(interp, SREG(1), CONST(2)->u.string) < 0) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_lt_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (VTABLE_cmp(interp, PREG(1), PREG(2)) < 0) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_lt_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
+ VTABLE_set_integer_native(interp, temp, IREG(2));
+
+ if (VTABLE_cmp(interp, PREG(1), temp) < 0) {
+ Parrot_pmc_free_temporary(interp, temp);
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+ Parrot_pmc_free_temporary(interp, temp);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_lt_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
+ VTABLE_set_integer_native(interp, temp, cur_opcode[2]);
+
+ if (VTABLE_cmp(interp, PREG(1), temp) < 0) {
+ Parrot_pmc_free_temporary(interp, temp);
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+ Parrot_pmc_free_temporary(interp, temp);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_lt_p_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (VTABLE_get_number(interp, PREG(1)) < NREG(2)) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_lt_p_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (VTABLE_get_number(interp, PREG(1)) < CONST(2)->u.number) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_lt_p_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (Parrot_str_compare(interp, VTABLE_get_string(interp, PREG(1)), SREG(2)) < 0) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_lt_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (Parrot_str_compare(interp, VTABLE_get_string(interp, PREG(1)), CONST(2)->u.string) < 0) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_lt_str_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (VTABLE_cmp_string(interp, PREG(1), PREG(2)) < 0) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_lt_num_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (VTABLE_cmp_num(interp, PREG(1), PREG(2)) < 0) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_le_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (IREG(1) <= IREG(2)) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_le_ic_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (cur_opcode[1] <= IREG(2)) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_le_i_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (IREG(1) <= cur_opcode[2]) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_le_n_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (NREG(1) <= NREG(2)) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_le_nc_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (CONST(1)->u.number <= NREG(2)) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_le_n_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (NREG(1) <= CONST(2)->u.number) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_le_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (Parrot_str_compare(interp, SREG(1), SREG(2)) <= 0) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_le_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (Parrot_str_compare(interp, CONST(1)->u.string, SREG(2)) <= 0) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_le_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (Parrot_str_compare(interp, SREG(1), CONST(2)->u.string) <= 0) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_le_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (VTABLE_cmp(interp, PREG(1), PREG(2)) <= 0) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_le_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
+ VTABLE_set_integer_native(interp, temp, IREG(2));
+
+ if (VTABLE_cmp(interp, PREG(1), temp) <= 0) {
+ Parrot_pmc_free_temporary(interp, temp);
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+ Parrot_pmc_free_temporary(interp, temp);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_le_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
+ VTABLE_set_integer_native(interp, temp, cur_opcode[2]);
+
+ if (VTABLE_cmp(interp, PREG(1), temp) <= 0) {
+ Parrot_pmc_free_temporary(interp, temp);
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+ Parrot_pmc_free_temporary(interp, temp);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_le_p_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (VTABLE_get_number(interp, PREG(1)) <= NREG(2)) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_le_p_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (VTABLE_get_number(interp, PREG(1)) <= CONST(2)->u.number) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_le_p_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (Parrot_str_compare(interp, VTABLE_get_string(interp, PREG(1)), SREG(2)) <= 0) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_le_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (Parrot_str_compare(interp, VTABLE_get_string(interp, PREG(1)), CONST(2)->u.string) <= 0) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_le_str_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (VTABLE_cmp_string(interp, PREG(1), PREG(2)) <= 0) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_le_num_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (VTABLE_cmp_num(interp, PREG(1), PREG(2)) <= 0) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_gt_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (VTABLE_cmp(interp, PREG(1), PREG(2)) > 0) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_gt_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
+ VTABLE_set_integer_native(interp, temp, IREG(2));
+
+ if (VTABLE_cmp(interp, PREG(1), temp) > 0) {
+ Parrot_pmc_free_temporary(interp, temp);
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+ Parrot_pmc_free_temporary(interp, temp);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_gt_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
+ VTABLE_set_integer_native(interp, temp, cur_opcode[2]);
+
+ if (VTABLE_cmp(interp, PREG(1), temp) > 0) {
+ Parrot_pmc_free_temporary(interp, temp);
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+ Parrot_pmc_free_temporary(interp, temp);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_gt_p_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (VTABLE_get_number(interp, PREG(1)) > NREG(2)) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_gt_p_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (VTABLE_get_number(interp, PREG(1)) > CONST(2)->u.number) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_gt_p_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (Parrot_str_compare(interp, VTABLE_get_string(interp, PREG(1)), SREG(2)) > 0) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_gt_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (Parrot_str_compare(interp, VTABLE_get_string(interp, PREG(1)), CONST(2)->u.string) > 0) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_gt_str_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (VTABLE_cmp_string(interp, PREG(1), PREG(2)) > 0) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_gt_num_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (VTABLE_cmp_num(interp, PREG(1), PREG(2)) > 0) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_ge_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (VTABLE_cmp(interp, PREG(1), PREG(2)) >= 0) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_ge_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
+ VTABLE_set_integer_native(interp, temp, IREG(2));
+
+ if (VTABLE_cmp(interp, PREG(1), temp) >= 0) {
+ Parrot_pmc_free_temporary(interp, temp);
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+ Parrot_pmc_free_temporary(interp, temp);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_ge_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
+ VTABLE_set_integer_native(interp, temp, cur_opcode[2]);
+
+ if (VTABLE_cmp(interp, PREG(1), temp) >= 0) {
+ Parrot_pmc_free_temporary(interp, temp);
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+ Parrot_pmc_free_temporary(interp, temp);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_ge_p_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (VTABLE_get_number(interp, PREG(1)) >= NREG(2)) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_ge_p_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (VTABLE_get_number(interp, PREG(1)) >= CONST(2)->u.number) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_ge_p_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (Parrot_str_compare(interp, VTABLE_get_string(interp, PREG(1)), SREG(2)) >= 0) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_ge_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (Parrot_str_compare(interp, VTABLE_get_string(interp, PREG(1)), CONST(2)->u.string) >= 0) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_ge_str_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (VTABLE_cmp_string(interp, PREG(1), PREG(2)) >= 0) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_ge_num_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (VTABLE_cmp_num(interp, PREG(1), PREG(2)) >= 0) {
+ return (opcode_t *)cur_opcode + cur_opcode[3];
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_if_null_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (PMC_IS_NULL(PREG(1))) {
+ return (opcode_t *)cur_opcode + cur_opcode[2];
+ }
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_if_null_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (STRING_IS_NULL(SREG(1))) {
+ return (opcode_t *)cur_opcode + cur_opcode[2];
+ }
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_unless_null_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (!PMC_IS_NULL(PREG(1))) {
+ return (opcode_t *)cur_opcode + cur_opcode[2];
+ }
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_unless_null_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (!STRING_IS_NULL(SREG(1))) {
+ return (opcode_t *)cur_opcode + cur_opcode[2];
+ }
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_cmp_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = IREG(2) < IREG(3) ? -1 :
+ IREG(2) > IREG(3) ? +1 :
+ 0;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_cmp_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = cur_opcode[2] < IREG(3) ? -1 :
+ cur_opcode[2] > IREG(3) ? +1 :
+ 0;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_cmp_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = IREG(2) < cur_opcode[3] ? -1 :
+ IREG(2) > cur_opcode[3] ? +1 :
+ 0;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_cmp_i_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = NREG(2) < NREG(3) ? -1 :
+ NREG(2) > NREG(3) ? +1 :
+ 0;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_cmp_i_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = CONST(2)->u.number < NREG(3) ? -1 :
+ CONST(2)->u.number > NREG(3) ? +1 :
+ 0;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_cmp_i_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = NREG(2) < CONST(3)->u.number ? -1 :
+ NREG(2) > CONST(3)->u.number ? +1 :
+ 0;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_cmp_i_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_compare(interp, SREG(2), SREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_cmp_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_compare(interp, CONST(2)->u.string, SREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_cmp_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_compare(interp, SREG(2), CONST(3)->u.string);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_cmp_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = VTABLE_cmp(interp, PREG(2), PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_cmp_i_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL l = VTABLE_get_integer(interp, PREG(2));
+ IREG(1) = l < IREG(3) ? -1 :
+ l > IREG(3) ? +1 :
+ 0;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_cmp_i_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL l = VTABLE_get_integer(interp, PREG(2));
+ IREG(1) = l < cur_opcode[3] ? -1 :
+ l > cur_opcode[3] ? +1 :
+ 0;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_cmp_i_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const FLOATVAL l = VTABLE_get_number(interp, PREG(2));
+ IREG(1) = l < NREG(3) ? -1 :
+ l > NREG(3) ? +1 :
+ 0;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_cmp_i_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const FLOATVAL l = VTABLE_get_number(interp, PREG(2));
+ IREG(1) = l < CONST(3)->u.number ? -1 :
+ l > CONST(3)->u.number ? +1 :
+ 0;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_cmp_i_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING* const l = VTABLE_get_string(interp, PREG(2));
+ IREG(1) = Parrot_str_compare(interp, l, SREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_cmp_i_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING* const l = VTABLE_get_string(interp, PREG(2));
+ IREG(1) = Parrot_str_compare(interp, l, CONST(3)->u.string);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_cmp_str_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = VTABLE_cmp_string(interp, PREG(2), PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_cmp_num_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = VTABLE_cmp_num(interp, PREG(2), PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_cmp_pmc_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_cmp_pmc(interp, PREG(2), PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_issame_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (PREG(2) == PREG(3))
+ IREG(1) = 1;
+ else
+ IREG(1) = VTABLE_is_same(interp, PREG(2), PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_issame_i_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = SREG(2) == SREG(3);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_issame_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = CONST(2)->u.string == SREG(3);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_issame_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = SREG(2) == CONST(3)->u.string;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_issame_i_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = CONST(2)->u.string == CONST(3)->u.string;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_isntsame_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (PREG(2) == PREG(3))
+ IREG(1) = 0;
+ else
+ IREG(1) = !VTABLE_is_same(interp, PREG(2), PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_isntsame_i_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = SREG(2) != SREG(3);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_isntsame_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = CONST(2)->u.string != SREG(3);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_isntsame_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = SREG(2) != CONST(3)->u.string;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_isntsame_i_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = CONST(2)->u.string != CONST(3)->u.string;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_istrue_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = VTABLE_get_bool(interp, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_isfalse_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = !VTABLE_get_bool(interp, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_isnull_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = PMC_IS_NULL(PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_isnull_i_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = PMC_IS_NULL(CONST(2)->u.key);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_isnull_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = STRING_IS_NULL(SREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_isnull_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = STRING_IS_NULL(CONST(2)->u.string);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_isgt_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (VTABLE_cmp(interp, PREG(2), PREG(3)) > 0);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_isge_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (VTABLE_cmp(interp, PREG(2), PREG(3)) >= 0);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_isle_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = IREG(2) <= IREG(3);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_isle_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = cur_opcode[2] <= IREG(3);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_isle_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = IREG(2) <= cur_opcode[3];
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_isle_i_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = NREG(2) <= NREG(3);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_isle_i_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = CONST(2)->u.number <= NREG(3);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_isle_i_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = NREG(2) <= CONST(3)->u.number;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_isle_i_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_compare(interp, SREG(2), SREG(3)) <= 0;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_isle_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_compare(interp, CONST(2)->u.string, SREG(3)) <= 0;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_isle_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_compare(interp, SREG(2), CONST(3)->u.string) <= 0;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_isle_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (VTABLE_cmp(interp, PREG(2), PREG(3)) <= 0);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_islt_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (IREG(2) < IREG(3)) ? 1 : 0;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_islt_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (cur_opcode[2] < IREG(3)) ? 1 : 0;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_islt_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (IREG(2) < cur_opcode[3]) ? 1 : 0;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_islt_i_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = NREG(2) < NREG(3);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_islt_i_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = CONST(2)->u.number < NREG(3);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_islt_i_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = NREG(2) < CONST(3)->u.number;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_islt_i_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_compare(interp, SREG(2), SREG(3)) < 0;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_islt_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_compare(interp, CONST(2)->u.string, SREG(3)) < 0;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_islt_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_compare(interp, SREG(2), CONST(3)->u.string) < 0;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_islt_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (VTABLE_cmp(interp, PREG(2), PREG(3)) < 0);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_iseq_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (IREG(2) == IREG(3)) ? 1 : 0;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_iseq_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (cur_opcode[2] == IREG(3)) ? 1 : 0;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_iseq_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (IREG(2) == cur_opcode[3]) ? 1 : 0;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_iseq_i_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = NREG(2) == NREG(3);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_iseq_i_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = CONST(2)->u.number == NREG(3);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_iseq_i_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = NREG(2) == CONST(3)->u.number;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_iseq_i_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (Parrot_str_equal(interp, SREG(2), SREG(3)) ? 1 : 0);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_iseq_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (Parrot_str_equal(interp, CONST(2)->u.string, SREG(3)) ? 1 : 0);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_iseq_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (Parrot_str_equal(interp, SREG(2), CONST(3)->u.string) ? 1 : 0);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_iseq_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (&PREG(2) == &PREG(3))
+ IREG(1) = 1;
+ else
+ IREG(1) = VTABLE_is_equal(interp, PREG(2), PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_isne_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (IREG(2) == IREG(3)) ? 0 : 1;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_isne_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (cur_opcode[2] == IREG(3)) ? 0 : 1;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_isne_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (IREG(2) == cur_opcode[3]) ? 0 : 1;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_isne_i_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = NREG(2) != NREG(3);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_isne_i_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = CONST(2)->u.number != NREG(3);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_isne_i_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = NREG(2) != CONST(3)->u.number;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_isne_i_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (Parrot_str_not_equal(interp, SREG(2), SREG(3)) ? 1 : 0);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_isne_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (Parrot_str_not_equal(interp, CONST(2)->u.string, SREG(3)) ? 1 : 0);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_isne_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (Parrot_str_not_equal(interp, SREG(2), CONST(3)->u.string) ? 1 : 0);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_isne_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (&PREG(2) == &PREG(3))
+ IREG(1) = 0;
+ else
+ IREG(1) = !VTABLE_is_equal(interp, PREG(2), PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_and_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = IREG(2) ? IREG(3) : IREG(2);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_and_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = cur_opcode[2] ? IREG(3) : cur_opcode[2];
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_and_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = IREG(2) ? cur_opcode[3] : IREG(2);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_and_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_logical_and(interp, PREG(2), PREG(3), PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_not_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = ! IREG(1);
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_not_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = ! IREG(2);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_not_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_logical_not(interp, PREG(1));
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_not_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_logical_not(interp, PREG(2), PREG(1));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_or_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = IREG(2) ? IREG(2) : IREG(3);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_or_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = cur_opcode[2] ? cur_opcode[2] : IREG(3);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_or_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = IREG(2) ? IREG(2) : cur_opcode[3];
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_or_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_logical_or(interp, PREG(2), PREG(3), PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_xor_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (IREG(2) && ! IREG(3)) ? IREG(2) : (IREG(3) && ! IREG(2)) ? IREG(3) : 0;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_xor_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (cur_opcode[2] && ! IREG(3)) ? cur_opcode[2] : (IREG(3) && ! cur_opcode[2]) ? IREG(3) : 0;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_xor_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (IREG(2) && ! cur_opcode[3]) ? IREG(2) : (cur_opcode[3] && ! IREG(2)) ? cur_opcode[3] : 0;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_xor_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_logical_xor(interp, PREG(2), PREG(3), PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_debug_init(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_debugger_init(interp);
+
+return (opcode_t *)cur_opcode + 1;}
+
+opcode_t *
+Parrot_debug_load_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_debugger_load(interp, CONST(1)->u.string);
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_debug_break(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_debugger_break(interp, cur_opcode);
+
+return (opcode_t *)cur_opcode + 1;}
+
+opcode_t *
+Parrot_debug_print(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (!interp->pdb) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 1,
+ EXCEPTION_INVALID_OPERATION,
+ "Initialize debugger with debug_init before using debug_print");
+ return (opcode_t *)handler;
+ }
+
+ if (!(interp->pdb->state & PDB_BREAK)) {
+ PDB_print(interp, "I");
+ PDB_print(interp, "N");
+ PDB_print(interp, "S");
+ PDB_print(interp, "P");
+ }
+
+return (opcode_t *)cur_opcode + 1;}
+
+opcode_t *
+Parrot_backtrace(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PDB_backtrace(interp);
+
+return (opcode_t *)cur_opcode + 1;}
+
+opcode_t *
+Parrot_getline_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_Context_info info;
+ Parrot_Context_get_info(interp, CURRENT_CONTEXT(interp), &info);
+ IREG(1) = info.line;
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_getfile_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_Context_info info;
+ Parrot_Context_get_info(interp, CURRENT_CONTEXT(interp), &info);
+ SREG(1) = info.file;
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_close_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_io_close(interp, PREG(1));
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_fdopen_p_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = Parrot_io_fdopen(interp, PMCNULL, (PIOHANDLE)IREG(2), SREG(3));
+ if (!PREG(1))
+ PREG(1) = Parrot_pmc_new(interp, enum_class_Undef);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_fdopen_p_ic_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = Parrot_io_fdopen(interp, PMCNULL, (PIOHANDLE)cur_opcode[2], SREG(3));
+ if (!PREG(1))
+ PREG(1) = Parrot_pmc_new(interp, enum_class_Undef);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_fdopen_p_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = Parrot_io_fdopen(interp, PMCNULL, (PIOHANDLE)IREG(2), CONST(3)->u.string);
+ if (!PREG(1))
+ PREG(1) = Parrot_pmc_new(interp, enum_class_Undef);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_fdopen_p_ic_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = Parrot_io_fdopen(interp, PMCNULL, (PIOHANDLE)cur_opcode[2], CONST(3)->u.string);
+ if (!PREG(1))
+ PREG(1) = Parrot_pmc_new(interp, enum_class_Undef);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_getstdin_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = _PIO_STDIN(interp);
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_getstdout_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = _PIO_STDOUT(interp);
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_getstderr_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = _PIO_STDERR(interp);
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_setstdin_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ _PIO_STDIN(interp) = PREG(1);
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_setstdout_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ _PIO_STDOUT(interp) = PREG(1);
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_setstderr_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ _PIO_STDERR(interp) = PREG(1);
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_open_p_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (STRING_IS_NULL(SREG(2)) || STRING_IS_NULL(SREG(3))) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_UNEXPECTED_NULL, "Invalid open");
+ return (opcode_t *)handler;
+ }
+ else {
+ PREG(1) = Parrot_io_open(interp, PMCNULL, SREG(2), SREG(3));
+ PARROT_ASSERT(! PMC_IS_NULL(PREG(1)));
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_open_p_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (STRING_IS_NULL(CONST(2)->u.string) || STRING_IS_NULL(SREG(3))) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_UNEXPECTED_NULL, "Invalid open");
+ return (opcode_t *)handler;
+ }
+ else {
+ PREG(1) = Parrot_io_open(interp, PMCNULL, CONST(2)->u.string, SREG(3));
+ PARROT_ASSERT(! PMC_IS_NULL(PREG(1)));
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_open_p_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (STRING_IS_NULL(SREG(2)) || STRING_IS_NULL(CONST(3)->u.string)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_UNEXPECTED_NULL, "Invalid open");
+ return (opcode_t *)handler;
+ }
+ else {
+ PREG(1) = Parrot_io_open(interp, PMCNULL, SREG(2), CONST(3)->u.string);
+ PARROT_ASSERT(! PMC_IS_NULL(PREG(1)));
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_open_p_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (STRING_IS_NULL(CONST(2)->u.string) || STRING_IS_NULL(CONST(3)->u.string)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_UNEXPECTED_NULL, "Invalid open");
+ return (opcode_t *)handler;
+ }
+ else {
+ PREG(1) = Parrot_io_open(interp, PMCNULL, CONST(2)->u.string, CONST(3)->u.string);
+ PARROT_ASSERT(! PMC_IS_NULL(PREG(1)));
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_open_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (STRING_IS_NULL(SREG(2))) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3,
+ EXCEPTION_UNEXPECTED_NULL, "Invalid open");
+ return (opcode_t *)handler;
+ }
+ else {
+ PREG(1) = Parrot_io_open(interp, PMCNULL, SREG(2), NULL);
+ PARROT_ASSERT(! PMC_IS_NULL(PREG(1)));
+ }
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_open_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (STRING_IS_NULL(CONST(2)->u.string)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3,
+ EXCEPTION_UNEXPECTED_NULL, "Invalid open");
+ return (opcode_t *)handler;
+ }
+ else {
+ PREG(1) = Parrot_io_open(interp, PMCNULL, CONST(2)->u.string, NULL);
+ PARROT_ASSERT(! PMC_IS_NULL(PREG(1)));
+ }
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_print_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_io_printf(interp, INTVAL_FMT, (INTVAL)IREG(1));
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_print_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_io_printf(interp, INTVAL_FMT, (INTVAL)cur_opcode[1]);
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_print_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#ifdef PARROT_HAS_NEGATIVE_ZERO
+ Parrot_io_printf(interp, FLOATVAL_FMT, NREG(1));
+#else
+ /* Workaround for older msvcrt and openbsd. TT #313 */
+ if (Parrot_is_nzero(NREG(1))) {
+ Parrot_io_printf(interp, "-0");
+ }
+ else {
+ Parrot_io_printf(interp, FLOATVAL_FMT, NREG(1));
+ }
+#endif
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_print_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#ifdef PARROT_HAS_NEGATIVE_ZERO
+ Parrot_io_printf(interp, FLOATVAL_FMT, CONST(1)->u.number);
+#else
+ /* Workaround for older msvcrt and openbsd. TT #313 */
+ if (Parrot_is_nzero(CONST(1)->u.number)) {
+ Parrot_io_printf(interp, "-0");
+ }
+ else {
+ Parrot_io_printf(interp, FLOATVAL_FMT, CONST(1)->u.number);
+ }
+#endif
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_print_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const s = SREG(1);
+ if (s && Parrot_str_byte_length(interp, s))
+ Parrot_io_putps(interp, _PIO_STDOUT(interp), s);
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_print_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const s = CONST(1)->u.string;
+ if (s && Parrot_str_byte_length(interp, s))
+ Parrot_io_putps(interp, _PIO_STDOUT(interp), s);
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_print_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const p = PREG(1);
+ STRING * const s = (VTABLE_get_string(interp, p));
+ if (s)
+ Parrot_io_putps(interp, _PIO_STDOUT(interp), s);
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_say_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_io_printf(interp, INTVAL_FMT "\n", (INTVAL)IREG(1));
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_say_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_io_printf(interp, INTVAL_FMT "\n", (INTVAL)cur_opcode[1]);
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_say_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#ifdef PARROT_HAS_NEGATIVE_ZERO
+ Parrot_io_printf(interp, FLOATVAL_FMT "\n", NREG(1));
+#else
+ /* Workaround for older msvcrt and openbsd. TT #313 */
+ if (Parrot_is_nzero(NREG(1))) {
+ Parrot_io_printf(interp, "-0\n");
+ }
+ else {
+ Parrot_io_printf(interp, FLOATVAL_FMT "\n", NREG(1));
+ }
+#endif
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_say_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#ifdef PARROT_HAS_NEGATIVE_ZERO
+ Parrot_io_printf(interp, FLOATVAL_FMT "\n", CONST(1)->u.number);
+#else
+ /* Workaround for older msvcrt and openbsd. TT #313 */
+ if (Parrot_is_nzero(CONST(1)->u.number)) {
+ Parrot_io_printf(interp, "-0\n");
+ }
+ else {
+ Parrot_io_printf(interp, FLOATVAL_FMT "\n", CONST(1)->u.number);
+ }
+#endif
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_say_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const s = SREG(1);
+ if (s && Parrot_str_byte_length(interp, s))
+ Parrot_io_putps(interp, _PIO_STDOUT(interp), s);
+ Parrot_io_putps(interp, _PIO_STDOUT(interp), Parrot_str_new_constant(interp, "\n"));
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_say_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const s = CONST(1)->u.string;
+ if (s && Parrot_str_byte_length(interp, s))
+ Parrot_io_putps(interp, _PIO_STDOUT(interp), s);
+ Parrot_io_putps(interp, _PIO_STDOUT(interp), Parrot_str_new_constant(interp, "\n"));
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_say_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const p = PREG(1);
+
+ if (PMC_IS_NULL(p)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 2,
+ EXCEPTION_UNEXPECTED_NULL,
+ "Null PMC in say");
+ return (opcode_t *)handler;
+ }
+ else {
+ STRING * const s = VTABLE_get_string(interp, p);
+ if (s)
+ Parrot_io_putps(interp, _PIO_STDOUT(interp), s);
+ Parrot_io_putps(interp, _PIO_STDOUT(interp), Parrot_str_new_constant(interp, "\n"));
+ }
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_printerr_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_io_eprintf(interp, INTVAL_FMT, IREG(1));
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_printerr_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_io_eprintf(interp, INTVAL_FMT, cur_opcode[1]);
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_printerr_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_io_eprintf(interp, FLOATVAL_FMT, NREG(1));
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_printerr_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_io_eprintf(interp, FLOATVAL_FMT, CONST(1)->u.number);
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_printerr_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const s = SREG(1);
+ if (s && Parrot_str_byte_length(interp, s))
+ Parrot_io_putps(interp, _PIO_STDERR(interp), s);
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_printerr_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const s = CONST(1)->u.string;
+ if (s && Parrot_str_byte_length(interp, s))
+ Parrot_io_putps(interp, _PIO_STDERR(interp), s);
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_printerr_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const p = PREG(1);
+ STRING * const s = (VTABLE_get_string(interp, p));
+ if (s)
+ Parrot_io_putps(interp, _PIO_STDERR(interp), s);
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_print_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (PREG(1)) {
+ STRING * const s = Parrot_str_from_int(interp, IREG(2));
+ Parrot_io_putps(interp, PREG(1), s);
+ }
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_print_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (PREG(1)) {
+ STRING * const s = Parrot_str_from_int(interp, cur_opcode[2]);
+ Parrot_io_putps(interp, PREG(1), s);
+ }
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_print_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (PREG(1)) {
+ STRING * const s = Parrot_sprintf_c(interp, FLOATVAL_FMT, NREG(2));
+ Parrot_io_putps(interp, PREG(1), s);
+ }
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_print_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (PREG(1)) {
+ STRING * const s = Parrot_sprintf_c(interp, FLOATVAL_FMT, CONST(2)->u.number);
+ Parrot_io_putps(interp, PREG(1), s);
+ }
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_print_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (SREG(2) && PREG(1)) {
+ Parrot_io_putps(interp, PREG(1), SREG(2));
+ }
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_print_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (CONST(2)->u.string && PREG(1)) {
+ Parrot_io_putps(interp, PREG(1), CONST(2)->u.string);
+ }
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_print_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (PREG(2) && PREG(1)) {
+ STRING * const s = VTABLE_get_string(interp, PREG(2));
+ Parrot_io_putps(interp, PREG(1), s);
+ }
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_read_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_io_reads(interp, _PIO_STDIN(interp), (size_t)IREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_read_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_io_reads(interp, _PIO_STDIN(interp), (size_t)cur_opcode[2]);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_read_s_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_io_reads(interp, PREG(2), (size_t)IREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_read_s_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_io_reads(interp, PREG(2), (size_t)cur_opcode[3]);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_readline_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_io_readline(interp, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_peek_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING ** const s = &SREG(1);
+
+ *s = NULL;
+ if (Parrot_io_peek(interp, _PIO_STDIN(interp), s) < 0) {
+ SREG(1) = STRINGNULL;
+ }
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_peek_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING ** const s = &SREG(1);
+
+ *s = NULL;
+ if (Parrot_io_peek(interp, PREG(2), s) < 0) {
+ SREG(1) = STRINGNULL;
+ }
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_stat_i_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_stat_info_intval(interp, SREG(2), IREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_stat_i_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_stat_info_intval(interp, CONST(2)->u.string, IREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_stat_i_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_stat_info_intval(interp, SREG(2), cur_opcode[3]);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_stat_i_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_stat_info_intval(interp, CONST(2)->u.string, cur_opcode[3]);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_stat_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_fstat_info_intval(interp, IREG(2), IREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_stat_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_fstat_info_intval(interp, cur_opcode[2], IREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_stat_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_fstat_info_intval(interp, IREG(2), cur_opcode[3]);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_stat_i_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_fstat_info_intval(interp, cur_opcode[2], cur_opcode[3]);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_seek_p_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (PREG(1)) {
+ if (Parrot_io_seek(interp, PREG(1), Parrot_io_make_offset(IREG(2)), IREG(3)) < 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_PIO_ERROR,
+ "seek failed (32bit)");
+ return (opcode_t *)handler;
+ }
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_seek_p_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (PREG(1)) {
+ if (Parrot_io_seek(interp, PREG(1), Parrot_io_make_offset(cur_opcode[2]), IREG(3)) < 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_PIO_ERROR,
+ "seek failed (32bit)");
+ return (opcode_t *)handler;
+ }
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_seek_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (PREG(1)) {
+ if (Parrot_io_seek(interp, PREG(1), Parrot_io_make_offset(IREG(2)), cur_opcode[3]) < 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_PIO_ERROR,
+ "seek failed (32bit)");
+ return (opcode_t *)handler;
+ }
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_seek_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (PREG(1)) {
+ if (Parrot_io_seek(interp, PREG(1), Parrot_io_make_offset(cur_opcode[2]), cur_opcode[3]) < 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_PIO_ERROR,
+ "seek failed (32bit)");
+ return (opcode_t *)handler;
+ }
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_seek_p_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (PREG(1)) {
+ if (Parrot_io_seek(interp, PREG(1), Parrot_io_make_offset32(IREG(2), IREG(3)), IREG(4)) < 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 5,
+ EXCEPTION_PIO_ERROR,
+ "seek failed (64bit)");
+ return (opcode_t *)handler;
+ }
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_seek_p_ic_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (PREG(1)) {
+ if (Parrot_io_seek(interp, PREG(1), Parrot_io_make_offset32(cur_opcode[2], IREG(3)), IREG(4)) < 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 5,
+ EXCEPTION_PIO_ERROR,
+ "seek failed (64bit)");
+ return (opcode_t *)handler;
+ }
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_seek_p_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (PREG(1)) {
+ if (Parrot_io_seek(interp, PREG(1), Parrot_io_make_offset32(IREG(2), cur_opcode[3]), IREG(4)) < 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 5,
+ EXCEPTION_PIO_ERROR,
+ "seek failed (64bit)");
+ return (opcode_t *)handler;
+ }
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_seek_p_ic_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (PREG(1)) {
+ if (Parrot_io_seek(interp, PREG(1), Parrot_io_make_offset32(cur_opcode[2], cur_opcode[3]), IREG(4)) < 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 5,
+ EXCEPTION_PIO_ERROR,
+ "seek failed (64bit)");
+ return (opcode_t *)handler;
+ }
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_seek_p_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (PREG(1)) {
+ if (Parrot_io_seek(interp, PREG(1), Parrot_io_make_offset32(IREG(2), IREG(3)), cur_opcode[4]) < 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 5,
+ EXCEPTION_PIO_ERROR,
+ "seek failed (64bit)");
+ return (opcode_t *)handler;
+ }
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_seek_p_ic_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (PREG(1)) {
+ if (Parrot_io_seek(interp, PREG(1), Parrot_io_make_offset32(cur_opcode[2], IREG(3)), cur_opcode[4]) < 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 5,
+ EXCEPTION_PIO_ERROR,
+ "seek failed (64bit)");
+ return (opcode_t *)handler;
+ }
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_seek_p_i_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (PREG(1)) {
+ if (Parrot_io_seek(interp, PREG(1), Parrot_io_make_offset32(IREG(2), cur_opcode[3]), cur_opcode[4]) < 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 5,
+ EXCEPTION_PIO_ERROR,
+ "seek failed (64bit)");
+ return (opcode_t *)handler;
+ }
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_seek_p_ic_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (PREG(1)) {
+ if (Parrot_io_seek(interp, PREG(1), Parrot_io_make_offset32(cur_opcode[2], cur_opcode[3]), cur_opcode[4]) < 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 5,
+ EXCEPTION_PIO_ERROR,
+ "seek failed (64bit)");
+ return (opcode_t *)handler;
+ }
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_tell_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (PREG(2))
+ IREG(1) = (INTVAL)Parrot_io_tell(interp, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_tell_i_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (PREG(3)) {
+ PIOOFF_T pos;
+ pos = Parrot_io_tell(interp, PREG(3));
+ IREG(1) = (INTVAL)(pos >> 31);
+ IREG(2) = (INTVAL)(pos & 0xffffffff);
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_abs_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = abs(IREG(1));
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_abs_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = fabs(NREG(1));
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_abs_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = abs(IREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_abs_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = fabs(NREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_abs_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_absolute(interp, PREG(1));
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_abs_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_absolute(interp, PREG(2), PREG(1));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_add_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) += IREG(2);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_add_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) += cur_opcode[2];
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_add_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) += NREG(2);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_add_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) += CONST(2)->u.number;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_add_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_add(interp, PREG(1), PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_add_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_add_int(interp, PREG(1), IREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_add_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_add_int(interp, PREG(1), cur_opcode[2]);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_add_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_add_float(interp, PREG(1), NREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_add_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_add_float(interp, PREG(1), CONST(2)->u.number);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_add_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = IREG(2) + IREG(3);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_add_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = cur_opcode[2] + IREG(3);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_add_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = IREG(2) + cur_opcode[3];
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_add_n_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = NREG(2) + NREG(3);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_add_n_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = CONST(2)->u.number + NREG(3);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_add_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = NREG(2) + CONST(3)->u.number;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_add_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_add(interp, PREG(2), PREG(3), PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_add_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_add_int(interp, PREG(2), IREG(3), PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_add_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_add_int(interp, PREG(2), cur_opcode[3], PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_add_p_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_add_float(interp, PREG(2), NREG(3), PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_add_p_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_add_float(interp, PREG(2), CONST(3)->u.number, PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_cmod_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ INTVAL den = IREG(3);
+ if (IREG(3) == 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_DIV_BY_ZERO,
+ "Divide by zero");
+ return (opcode_t *)handler;
+ }
+ IREG(1) = IREG(2) % den;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_cmod_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ INTVAL den = IREG(3);
+ if (IREG(3) == 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_DIV_BY_ZERO,
+ "Divide by zero");
+ return (opcode_t *)handler;
+ }
+ IREG(1) = cur_opcode[2] % den;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_cmod_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ INTVAL den = cur_opcode[3];
+ if (cur_opcode[3] == 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_DIV_BY_ZERO,
+ "Divide by zero");
+ return (opcode_t *)handler;
+ }
+ IREG(1) = IREG(2) % den;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_cmod_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ INTVAL result;
+
+ if (IREG(3) == 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_DIV_BY_ZERO,
+ "Divide by zero");
+ return (opcode_t *)handler;
+ }
+
+ result = VTABLE_get_integer(interp, PREG(2)) % IREG(3);
+
+ PREG(1) = Parrot_pmc_new(interp, VTABLE_type(interp, PREG(2)));
+ VTABLE_set_integer_native(interp, PREG(1), result);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_cmod_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ INTVAL result;
+
+ if (cur_opcode[3] == 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_DIV_BY_ZERO,
+ "Divide by zero");
+ return (opcode_t *)handler;
+ }
+
+ result = VTABLE_get_integer(interp, PREG(2)) % cur_opcode[3];
+
+ PREG(1) = Parrot_pmc_new(interp, VTABLE_type(interp, PREG(2)));
+ VTABLE_set_integer_native(interp, PREG(1), result);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_cmod_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ INTVAL result;
+ INTVAL value = VTABLE_get_integer(interp, PREG(3));
+
+ if (value == 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_DIV_BY_ZERO,
+ "Divide by zero");
+ return (opcode_t *)handler;
+ }
+
+ result = VTABLE_get_integer(interp, PREG(2)) % value;
+
+ PREG(1) = Parrot_pmc_new(interp, VTABLE_type(interp, PREG(2)));
+ VTABLE_set_integer_native(interp, PREG(1), result);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_cmod_n_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ FLOATVAL den = NREG(3);
+ if (FLOAT_IS_ZERO(NREG(3))) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_DIV_BY_ZERO,
+ "Divide by zero");
+ return (opcode_t *)handler;
+ }
+ NREG(1) = fmod(NREG(2), den);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_cmod_n_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ FLOATVAL den = NREG(3);
+ if (FLOAT_IS_ZERO(NREG(3))) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_DIV_BY_ZERO,
+ "Divide by zero");
+ return (opcode_t *)handler;
+ }
+ NREG(1) = fmod(CONST(2)->u.number, den);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_cmod_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ FLOATVAL den = CONST(3)->u.number;
+ if (FLOAT_IS_ZERO(CONST(3)->u.number)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_DIV_BY_ZERO,
+ "Divide by zero");
+ return (opcode_t *)handler;
+ }
+ NREG(1) = fmod(NREG(2), den);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_cmod_p_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ FLOATVAL result;
+ FLOATVAL value = NREG(3);
+
+ if (FLOAT_IS_ZERO(value)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_DIV_BY_ZERO,
+ "Divide by zero");
+ return (opcode_t *)handler;
+ }
+
+ result = fmod(VTABLE_get_integer(interp, PREG(2)), value);
+
+ PREG(1) = Parrot_pmc_new(interp, VTABLE_type(interp, PREG(2)));
+ VTABLE_set_integer_native(interp, PREG(1), (INTVAL) result);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_cmod_p_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ FLOATVAL result;
+ FLOATVAL value = CONST(3)->u.number;
+
+ if (FLOAT_IS_ZERO(value)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_DIV_BY_ZERO,
+ "Divide by zero");
+ return (opcode_t *)handler;
+ }
+
+ result = fmod(VTABLE_get_integer(interp, PREG(2)), value);
+
+ PREG(1) = Parrot_pmc_new(interp, VTABLE_type(interp, PREG(2)));
+ VTABLE_set_integer_native(interp, PREG(1), (INTVAL) result);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_dec_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1)--;
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_dec_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1)--;
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_dec_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_decrement(interp, PREG(1));
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_div_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ INTVAL den = IREG(2);
+ if (den == 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3,
+ EXCEPTION_DIV_BY_ZERO,
+ "Divide by zero");
+ return (opcode_t *)handler;
+ }
+ IREG(1) /= den;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_div_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ INTVAL den = cur_opcode[2];
+ if (den == 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3,
+ EXCEPTION_DIV_BY_ZERO,
+ "Divide by zero");
+ return (opcode_t *)handler;
+ }
+ IREG(1) /= den;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_div_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ FLOATVAL den = NREG(2);
+ if (FLOAT_IS_ZERO(den)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3,
+ EXCEPTION_DIV_BY_ZERO,
+ "Divide by zero");
+ return (opcode_t *)handler;
+ }
+ NREG(1) /= den;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_div_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ FLOATVAL den = CONST(2)->u.number;
+ if (FLOAT_IS_ZERO(den)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3,
+ EXCEPTION_DIV_BY_ZERO,
+ "Divide by zero");
+ return (opcode_t *)handler;
+ }
+ NREG(1) /= den;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_div_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_divide(interp, PREG(1), PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_div_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_divide_int(interp, PREG(1), IREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_div_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_divide_int(interp, PREG(1), cur_opcode[2]);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_div_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_divide_float(interp, PREG(1), NREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_div_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_divide_float(interp, PREG(1), CONST(2)->u.number);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_div_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ INTVAL den = IREG(3);
+ if (den == 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_DIV_BY_ZERO,
+ "Divide by zero");
+ return (opcode_t *)handler;
+ }
+ IREG(1) = IREG(2) / den;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_div_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ INTVAL den = IREG(3);
+ if (den == 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_DIV_BY_ZERO,
+ "Divide by zero");
+ return (opcode_t *)handler;
+ }
+ IREG(1) = cur_opcode[2] / den;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_div_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ INTVAL den = cur_opcode[3];
+ if (den == 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_DIV_BY_ZERO,
+ "Divide by zero");
+ return (opcode_t *)handler;
+ }
+ IREG(1) = IREG(2) / den;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_div_i_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ INTVAL den = cur_opcode[3];
+ if (den == 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_DIV_BY_ZERO,
+ "Divide by zero");
+ return (opcode_t *)handler;
+ }
+ IREG(1) = cur_opcode[2] / den;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_div_n_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ FLOATVAL den = NREG(3);
+ if (FLOAT_IS_ZERO(den)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_DIV_BY_ZERO,
+ "Divide by zero");
+ return (opcode_t *)handler;
+ }
+ NREG(1) = NREG(2) / den;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_div_n_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ FLOATVAL den = NREG(3);
+ if (FLOAT_IS_ZERO(den)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_DIV_BY_ZERO,
+ "Divide by zero");
+ return (opcode_t *)handler;
+ }
+ NREG(1) = CONST(2)->u.number / den;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_div_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ FLOATVAL den = CONST(3)->u.number;
+ if (FLOAT_IS_ZERO(den)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_DIV_BY_ZERO,
+ "Divide by zero");
+ return (opcode_t *)handler;
+ }
+ NREG(1) = NREG(2) / den;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_div_n_nc_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ FLOATVAL den = CONST(3)->u.number;
+ if (FLOAT_IS_ZERO(den)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_DIV_BY_ZERO,
+ "Divide by zero");
+ return (opcode_t *)handler;
+ }
+ NREG(1) = CONST(2)->u.number / den;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_div_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_divide(interp, PREG(2), PREG(3), PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_div_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_divide_int(interp, PREG(2), IREG(3), PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_div_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_divide_int(interp, PREG(2), cur_opcode[3], PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_div_p_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_divide_float(interp, PREG(2), NREG(3), PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_div_p_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_divide_float(interp, PREG(2), CONST(3)->u.number, PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_fdiv_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ INTVAL den = IREG(2);
+ FLOATVAL f;
+
+ if (den == 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3,
+ EXCEPTION_DIV_BY_ZERO,
+ "Divide by zero");
+ return (opcode_t *)handler;
+ }
+
+ f = floor(IREG(1) / den);
+ IREG(1) = (INTVAL)f;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_fdiv_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ INTVAL den = cur_opcode[2];
+ FLOATVAL f;
+
+ if (den == 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3,
+ EXCEPTION_DIV_BY_ZERO,
+ "Divide by zero");
+ return (opcode_t *)handler;
+ }
+
+ f = floor(IREG(1) / den);
+ IREG(1) = (INTVAL)f;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_fdiv_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ FLOATVAL den = NREG(2);
+ if (FLOAT_IS_ZERO(den)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3,
+ EXCEPTION_DIV_BY_ZERO,
+ "Divide by zero");
+ return (opcode_t *)handler;
+ }
+ NREG(1) = floor(NREG(1) / den);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_fdiv_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ FLOATVAL den = CONST(2)->u.number;
+ if (FLOAT_IS_ZERO(den)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3,
+ EXCEPTION_DIV_BY_ZERO,
+ "Divide by zero");
+ return (opcode_t *)handler;
+ }
+ NREG(1) = floor(NREG(1) / den);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_fdiv_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_floor_divide(interp, PREG(1), PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_fdiv_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_floor_divide_int(interp, PREG(1), IREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_fdiv_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_floor_divide_int(interp, PREG(1), cur_opcode[2]);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_fdiv_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_floor_divide_float(interp, PREG(1), NREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_fdiv_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_floor_divide_float(interp, PREG(1), CONST(2)->u.number);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_fdiv_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ INTVAL den = IREG(3);
+ FLOATVAL f;
+
+ if (den == 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_DIV_BY_ZERO,
+ "Divide by zero");
+ return (opcode_t *)handler;
+ }
+
+ f = floor(IREG(2) / den);
+ IREG(1) = (INTVAL)f;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_fdiv_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ INTVAL den = IREG(3);
+ FLOATVAL f;
+
+ if (den == 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_DIV_BY_ZERO,
+ "Divide by zero");
+ return (opcode_t *)handler;
+ }
+
+ f = floor(cur_opcode[2] / den);
+ IREG(1) = (INTVAL)f;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_fdiv_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ INTVAL den = cur_opcode[3];
+ FLOATVAL f;
+
+ if (den == 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_DIV_BY_ZERO,
+ "Divide by zero");
+ return (opcode_t *)handler;
+ }
+
+ f = floor(IREG(2) / den);
+ IREG(1) = (INTVAL)f;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_fdiv_n_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ FLOATVAL den = NREG(3);
+ if (FLOAT_IS_ZERO(den)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_DIV_BY_ZERO,
+ "Divide by zero");
+ return (opcode_t *)handler;
+ }
+ NREG(1) = floor(NREG(2) / den);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_fdiv_n_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ FLOATVAL den = NREG(3);
+ if (FLOAT_IS_ZERO(den)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_DIV_BY_ZERO,
+ "Divide by zero");
+ return (opcode_t *)handler;
+ }
+ NREG(1) = floor(CONST(2)->u.number / den);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_fdiv_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ FLOATVAL den = CONST(3)->u.number;
+ if (FLOAT_IS_ZERO(den)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_DIV_BY_ZERO,
+ "Divide by zero");
+ return (opcode_t *)handler;
+ }
+ NREG(1) = floor(NREG(2) / den);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_fdiv_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_floor_divide(interp, PREG(2), PREG(3), PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_fdiv_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_floor_divide_int(interp, PREG(2), IREG(3), PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_fdiv_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_floor_divide_int(interp, PREG(2), cur_opcode[3], PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_fdiv_p_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_floor_divide_float(interp, PREG(2), NREG(3), PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_fdiv_p_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_floor_divide_float(interp, PREG(2), CONST(3)->u.number, PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_ceil_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = ceil(NREG(1));
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_ceil_i_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ FLOATVAL f = ceil(NREG(2));
+ IREG(1) = (INTVAL)f;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_ceil_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = ceil(NREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_floor_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = floor(NREG(1));
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_floor_i_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ FLOATVAL f = floor(NREG(2));
+ IREG(1) = (INTVAL)f;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_floor_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = floor(NREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_inc_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1)++;
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_inc_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1)++;
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_inc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_increment(interp, PREG(1));
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_mod_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = intval_mod(IREG(1), IREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_mod_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = intval_mod(IREG(1), cur_opcode[2]);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_mod_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = floatval_mod(NREG(1), NREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_mod_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = floatval_mod(NREG(1), CONST(2)->u.number);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_mod_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_modulus(interp, PREG(1), PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_mod_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_modulus_int(interp, PREG(1), IREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_mod_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_modulus_int(interp, PREG(1), cur_opcode[2]);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_mod_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_modulus_float(interp, PREG(1), NREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_mod_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_modulus_float(interp, PREG(1), CONST(2)->u.number);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_mod_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = intval_mod(IREG(2), IREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_mod_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = intval_mod(cur_opcode[2], IREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_mod_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = intval_mod(IREG(2), cur_opcode[3]);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_mod_n_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = floatval_mod(NREG(2), NREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_mod_n_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = floatval_mod(CONST(2)->u.number, NREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_mod_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = floatval_mod(NREG(2), CONST(3)->u.number);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_mod_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_modulus(interp, PREG(2), PREG(3), PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_mod_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_modulus_int(interp, PREG(2), IREG(3), PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_mod_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_modulus_int(interp, PREG(2), cur_opcode[3], PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_mod_p_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_modulus_float(interp, PREG(2), NREG(3), PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_mod_p_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_modulus_float(interp, PREG(2), CONST(3)->u.number, PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_mul_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) *= IREG(2);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_mul_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) *= cur_opcode[2];
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_mul_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) *= NREG(2);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_mul_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) *= CONST(2)->u.number;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_mul_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_multiply(interp, PREG(1), PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_mul_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_multiply_int(interp, PREG(1), IREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_mul_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_multiply_int(interp, PREG(1), cur_opcode[2]);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_mul_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_multiply_float(interp, PREG(1), NREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_mul_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_multiply_float(interp, PREG(1), CONST(2)->u.number);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_mul_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = IREG(2) * IREG(3);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_mul_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = cur_opcode[2] * IREG(3);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_mul_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = IREG(2) * cur_opcode[3];
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_mul_n_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = NREG(2) * NREG(3);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_mul_n_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = CONST(2)->u.number * NREG(3);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_mul_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = NREG(2) * CONST(3)->u.number;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_mul_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_multiply(interp, PREG(2), PREG(3), PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_mul_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_multiply_int(interp, PREG(2), IREG(3), PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_mul_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_multiply_int(interp, PREG(2), cur_opcode[3], PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_mul_p_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_multiply_float(interp, PREG(2), NREG(3), PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_mul_p_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_multiply_float(interp, PREG(2), CONST(3)->u.number, PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_neg_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = - IREG(1);
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_neg_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = - NREG(1);
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_neg_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_neg(interp, PREG(1));
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_neg_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = - IREG(2);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_neg_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = - NREG(2);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_neg_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_neg(interp, PREG(2), PREG(1));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_pow_n_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = pow((FLOATVAL)NREG(2), (FLOATVAL)NREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_pow_n_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = pow((FLOATVAL)CONST(2)->u.number, (FLOATVAL)NREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_pow_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = pow((FLOATVAL)NREG(2), (FLOATVAL)CONST(3)->u.number);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_pow_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const FLOATVAL a = VTABLE_get_number(interp, PREG(2));
+ const FLOATVAL b = VTABLE_get_number(interp, PREG(3));
+ const FLOATVAL c = pow(a, b);
+ if (PMC_IS_NULL(PREG(1)))
+ PREG(1) = Parrot_pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_Float));
+ else
+ PREG(1) = Parrot_pmc_new(interp, PREG(1)->vtable->base_type);
+ VTABLE_set_number_native(interp, PREG(1), c);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_pow_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const FLOATVAL a = VTABLE_get_number(interp, PREG(2));
+ const FLOATVAL b = (FLOATVAL)IREG(3);
+ const FLOATVAL c = pow(a, b);
+ if (PMC_IS_NULL(PREG(1)))
+ PREG(1) = Parrot_pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_Float));
+ else
+ PREG(1) = Parrot_pmc_new(interp, PREG(1)->vtable->base_type);
+ VTABLE_set_number_native(interp, PREG(1), c);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_pow_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const FLOATVAL a = VTABLE_get_number(interp, PREG(2));
+ const FLOATVAL b = (FLOATVAL)cur_opcode[3];
+ const FLOATVAL c = pow(a, b);
+ if (PMC_IS_NULL(PREG(1)))
+ PREG(1) = Parrot_pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_Float));
+ else
+ PREG(1) = Parrot_pmc_new(interp, PREG(1)->vtable->base_type);
+ VTABLE_set_number_native(interp, PREG(1), c);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_pow_p_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const FLOATVAL a = VTABLE_get_number(interp, PREG(2));
+ const FLOATVAL c = pow(a, NREG(3));
+ if (PMC_IS_NULL(PREG(1)))
+ PREG(1) = Parrot_pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_Float));
+ else
+ PREG(1) = Parrot_pmc_new(interp, PREG(1)->vtable->base_type);
+ VTABLE_set_number_native(interp, PREG(1), c);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_pow_p_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const FLOATVAL a = VTABLE_get_number(interp, PREG(2));
+ const FLOATVAL c = pow(a, CONST(3)->u.number);
+ if (PMC_IS_NULL(PREG(1)))
+ PREG(1) = Parrot_pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_Float));
+ else
+ PREG(1) = Parrot_pmc_new(interp, PREG(1)->vtable->base_type);
+ VTABLE_set_number_native(interp, PREG(1), c);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_pow_n_n_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ FLOATVAL n2 = NREG(2);
+ FLOATVAL res = 1.0;
+ INTVAL e = IREG(3);
+ int s = 1;
+ if (e != 0) {
+ if (e < 0) {
+ s = -1;
+ e = -e;
+ }
+ }
+ while (e) {
+ if (e & 1) {
+ res *= n2;
+ }
+ n2 *= n2;
+ e >>= 1;
+ }
+ if (s < 0) {
+ res = 1.0/res;
+ }
+ NREG(1) = res;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_pow_n_nc_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ FLOATVAL n2 = CONST(2)->u.number;
+ FLOATVAL res = 1.0;
+ INTVAL e = IREG(3);
+ int s = 1;
+ if (e != 0) {
+ if (e < 0) {
+ s = -1;
+ e = -e;
+ }
+ }
+ while (e) {
+ if (e & 1) {
+ res *= n2;
+ }
+ n2 *= n2;
+ e >>= 1;
+ }
+ if (s < 0) {
+ res = 1.0/res;
+ }
+ NREG(1) = res;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_pow_n_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ FLOATVAL n2 = NREG(2);
+ FLOATVAL res = 1.0;
+ INTVAL e = cur_opcode[3];
+ int s = 1;
+ if (e != 0) {
+ if (e < 0) {
+ s = -1;
+ e = -e;
+ }
+ }
+ while (e) {
+ if (e & 1) {
+ res *= n2;
+ }
+ n2 *= n2;
+ e >>= 1;
+ }
+ if (s < 0) {
+ res = 1.0/res;
+ }
+ NREG(1) = res;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_pow_n_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ FLOATVAL n2 = CONST(2)->u.number;
+ FLOATVAL res = 1.0;
+ INTVAL e = cur_opcode[3];
+ int s = 1;
+ if (e != 0) {
+ if (e < 0) {
+ s = -1;
+ e = -e;
+ }
+ }
+ while (e) {
+ if (e & 1) {
+ res *= n2;
+ }
+ n2 *= n2;
+ e >>= 1;
+ }
+ if (s < 0) {
+ res = 1.0/res;
+ }
+ NREG(1) = res;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_sub_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) -= IREG(2);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_sub_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) -= cur_opcode[2];
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_sub_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) -= NREG(2);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_sub_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) -= CONST(2)->u.number;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_sub_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_subtract(interp, PREG(1), PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_sub_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_subtract_int(interp, PREG(1), IREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_sub_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_subtract_int(interp, PREG(1), cur_opcode[2]);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_sub_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_subtract_float(interp, PREG(1), NREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_sub_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_subtract_float(interp, PREG(1), CONST(2)->u.number);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_sub_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = IREG(2) - IREG(3);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_sub_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = cur_opcode[2] - IREG(3);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_sub_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = IREG(2) - cur_opcode[3];
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_sub_n_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = NREG(2) - NREG(3);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_sub_n_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = CONST(2)->u.number - NREG(3);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_sub_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = NREG(2) - CONST(3)->u.number;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_sub_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_subtract(interp, PREG(2), PREG(3), PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_sub_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_subtract_int(interp, PREG(2), IREG(3), PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_sub_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_subtract_int(interp, PREG(2), cur_opcode[3], PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_sub_p_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_subtract_float(interp, PREG(2), NREG(3), PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_sub_p_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_subtract_float(interp, PREG(2), CONST(3)->u.number, PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_sqrt_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = sqrt((FLOATVAL)NREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_acos_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = acos((FLOATVAL)NREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_asec_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = acos(((FLOATVAL)1) / ((FLOATVAL)NREG(2)));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_asin_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = asin((FLOATVAL)NREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_atan_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = atan((FLOATVAL)NREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_atan_n_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = atan2((FLOATVAL)NREG(2), (FLOATVAL)NREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_atan_n_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = atan2((FLOATVAL)CONST(2)->u.number, (FLOATVAL)NREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_atan_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = atan2((FLOATVAL)NREG(2), (FLOATVAL)CONST(3)->u.number);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_cos_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = cos((FLOATVAL)NREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_cosh_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = cosh((FLOATVAL)NREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_exp_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = exp((FLOATVAL)NREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_ln_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = log((FLOATVAL)NREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_log10_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = log10((FLOATVAL)NREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_log2_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ FLOATVAL temp = log((FLOATVAL)2.0);
+ NREG(1) = log((FLOATVAL)NREG(2)) / temp;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_sec_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = ((FLOATVAL)1) / cos((FLOATVAL)NREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_sech_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = ((FLOATVAL)1) / cosh((FLOATVAL)NREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_sin_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = sin((FLOATVAL)NREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_sinh_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = sinh((FLOATVAL)NREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_tan_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = tan((FLOATVAL)NREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_tanh_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = tanh((FLOATVAL)NREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_callmethodcc_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const object = PREG(1);
+ STRING * const meth = SREG(2);
+ opcode_t * const next = cur_opcode + 3;
+
+ PMC * const method_pmc = VTABLE_find_method(interp, object, meth);
+ opcode_t *dest = NULL;
+ PMC * const signature = Parrot_pcc_get_signature(interp,
+ CURRENT_CONTEXT(interp));
+
+ if (PMC_IS_NULL(method_pmc)) {
+ PMC * const _class = VTABLE_get_class(interp, object);
+ if (PMC_IS_NULL(_class)) {
+ dest = Parrot_ex_throw_from_op_args(interp, next,
+ EXCEPTION_METHOD_NOT_FOUND,
+ "Method '%Ss' not found for non-object", meth);
+ }
+ else {
+ dest = Parrot_ex_throw_from_op_args(interp, next,
+ EXCEPTION_METHOD_NOT_FOUND,
+ "Method '%Ss' not found for invocant of class '%Ss'", meth,
+ VTABLE_get_string(interp, _class));
+ }
+ }
+ else {
+ if (!PMC_IS_NULL(signature))
+ Parrot_pcc_set_object(interp, signature, object);
+ interp->current_cont = NEED_CONTINUATION;
+ dest = VTABLE_invoke(interp, method_pmc, next);
+ }
+ return (opcode_t *)dest;
+}
+
+opcode_t *
+Parrot_callmethodcc_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const object = PREG(1);
+ STRING * const meth = CONST(2)->u.string;
+ opcode_t * const next = cur_opcode + 3;
+
+ PMC * const method_pmc = VTABLE_find_method(interp, object, meth);
+ opcode_t *dest = NULL;
+ PMC * const signature = Parrot_pcc_get_signature(interp,
+ CURRENT_CONTEXT(interp));
+
+ if (PMC_IS_NULL(method_pmc)) {
+ PMC * const _class = VTABLE_get_class(interp, object);
+ if (PMC_IS_NULL(_class)) {
+ dest = Parrot_ex_throw_from_op_args(interp, next,
+ EXCEPTION_METHOD_NOT_FOUND,
+ "Method '%Ss' not found for non-object", meth);
+ }
+ else {
+ dest = Parrot_ex_throw_from_op_args(interp, next,
+ EXCEPTION_METHOD_NOT_FOUND,
+ "Method '%Ss' not found for invocant of class '%Ss'", meth,
+ VTABLE_get_string(interp, _class));
+ }
+ }
+ else {
+ if (!PMC_IS_NULL(signature))
+ Parrot_pcc_set_object(interp, signature, object);
+ interp->current_cont = NEED_CONTINUATION;
+ dest = VTABLE_invoke(interp, method_pmc, next);
+ }
+ return (opcode_t *)dest;
+}
+
+opcode_t *
+Parrot_callmethodcc_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ opcode_t *dest;
+ opcode_t * const next = cur_opcode + 3;
+ PMC * signature = Parrot_pcc_get_signature(interp,
+ CURRENT_CONTEXT(interp));
+
+ if (!PMC_IS_NULL(signature))
+ Parrot_pcc_set_object(interp, signature, PREG(1));
+ interp->current_cont = NEED_CONTINUATION;
+ dest = VTABLE_invoke(interp, PREG(2), next);
+
+ return (opcode_t *)dest;
+}
+
+opcode_t *
+Parrot_callmethod_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const object = PREG(1);
+ STRING * const meth = SREG(2);
+ opcode_t * const next = cur_opcode + 4;
+
+ PMC * const method_pmc = VTABLE_find_method(interp, object, meth);
+ opcode_t *dest = NULL;
+ PMC * signature = Parrot_pcc_get_signature(interp,
+ CURRENT_CONTEXT(interp));
+
+
+ if (PMC_IS_NULL(method_pmc)) {
+ dest = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_METHOD_NOT_FOUND,
+ "Method '%Ss' not found for invocant of class '%Ss'", meth,
+ VTABLE_get_string(interp, VTABLE_get_class(interp, object)));
+ }
+ else {
+ if (!PMC_IS_NULL(signature))
+ Parrot_pcc_set_object(interp, signature, object);
+ interp->current_cont = PREG(3);
+ dest = (opcode_t *)VTABLE_invoke(interp, method_pmc, next);
+ }
+ return (opcode_t *)dest;
+}
+
+opcode_t *
+Parrot_callmethod_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const object = PREG(1);
+ STRING * const meth = CONST(2)->u.string;
+ opcode_t * const next = cur_opcode + 4;
+
+ PMC * const method_pmc = VTABLE_find_method(interp, object, meth);
+ opcode_t *dest = NULL;
+ PMC * signature = Parrot_pcc_get_signature(interp,
+ CURRENT_CONTEXT(interp));
+
+
+ if (PMC_IS_NULL(method_pmc)) {
+ dest = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_METHOD_NOT_FOUND,
+ "Method '%Ss' not found for invocant of class '%Ss'", meth,
+ VTABLE_get_string(interp, VTABLE_get_class(interp, object)));
+ }
+ else {
+ if (!PMC_IS_NULL(signature))
+ Parrot_pcc_set_object(interp, signature, object);
+ interp->current_cont = PREG(3);
+ dest = (opcode_t *)VTABLE_invoke(interp, method_pmc, next);
+ }
+ return (opcode_t *)dest;
+}
+
+opcode_t *
+Parrot_callmethod_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const object = PREG(1);
+ PMC * const method_pmc = PREG(2);
+ opcode_t * const next = cur_opcode + 4;
+
+ opcode_t *dest;
+ PMC * signature = Parrot_pcc_get_signature(interp,
+ CURRENT_CONTEXT(interp));
+
+ if (!PMC_IS_NULL(signature))
+ Parrot_pcc_set_object(interp, signature, object);
+ interp->current_cont = PREG(3);
+ dest = (opcode_t *)VTABLE_invoke(interp, method_pmc, next);
+ return (opcode_t *)dest;
+}
+
+opcode_t *
+Parrot_tailcallmethod_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ opcode_t * const next = cur_opcode + 3;
+ PMC * const object = PREG(1);
+ STRING * const meth = SREG(2);
+ PMC * const method_pmc = VTABLE_find_method(interp, object, meth);
+
+ opcode_t *dest;
+ PMC * signature = Parrot_pcc_get_signature(interp,
+ CURRENT_CONTEXT(interp));
+
+ if (PMC_IS_NULL(method_pmc)) {
+ dest = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_METHOD_NOT_FOUND,
+ "Method '%Ss' not found for invocant of class '%Ss'", meth,
+ VTABLE_get_string(interp, VTABLE_get_class(interp, object)));
+ }
+ else {
+ interp->current_cont = Parrot_pcc_get_continuation(interp, CURRENT_CONTEXT(interp));
+ PObj_get_FLAGS(interp->current_cont) |= SUB_FLAG_TAILCALL;
+ if (!PMC_IS_NULL(signature))
+ Parrot_pcc_set_object(interp, signature, object);
+ dest = (opcode_t *)VTABLE_invoke(interp, method_pmc, next);
+ }
+ return (opcode_t *)dest;
+}
+
+opcode_t *
+Parrot_tailcallmethod_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ opcode_t * const next = cur_opcode + 3;
+ PMC * const object = PREG(1);
+ STRING * const meth = CONST(2)->u.string;
+ PMC * const method_pmc = VTABLE_find_method(interp, object, meth);
+
+ opcode_t *dest;
+ PMC * signature = Parrot_pcc_get_signature(interp,
+ CURRENT_CONTEXT(interp));
+
+ if (PMC_IS_NULL(method_pmc)) {
+ dest = Parrot_ex_throw_from_op_args(interp, next, EXCEPTION_METHOD_NOT_FOUND,
+ "Method '%Ss' not found for invocant of class '%Ss'", meth,
+ VTABLE_get_string(interp, VTABLE_get_class(interp, object)));
+ }
+ else {
+ interp->current_cont = Parrot_pcc_get_continuation(interp, CURRENT_CONTEXT(interp));
+ PObj_get_FLAGS(interp->current_cont) |= SUB_FLAG_TAILCALL;
+ if (!PMC_IS_NULL(signature))
+ Parrot_pcc_set_object(interp, signature, object);
+ dest = (opcode_t *)VTABLE_invoke(interp, method_pmc, next);
+ }
+ return (opcode_t *)dest;
+}
+
+opcode_t *
+Parrot_tailcallmethod_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ opcode_t * const next = cur_opcode + 3;
+ PMC * const object = PREG(1);
+ PMC * const method_pmc = PREG(2);
+
+ opcode_t *dest;
+ PMC * signature = Parrot_pcc_get_signature(interp,
+ CURRENT_CONTEXT(interp));
+
+ interp->current_cont = Parrot_pcc_get_continuation(interp, CURRENT_CONTEXT(interp));
+ PObj_get_FLAGS(interp->current_cont) |= SUB_FLAG_TAILCALL;
+
+ if (!PMC_IS_NULL(signature))
+ Parrot_pcc_set_object(interp, signature, object);
+ dest = (opcode_t *)VTABLE_invoke(interp, method_pmc, next);
+ return (opcode_t *)dest;
+}
+
+opcode_t *
+Parrot_addmethod_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_add_method(interp, PREG(1), SREG(2), PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_addmethod_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_add_method(interp, PREG(1), CONST(2)->u.string, PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_can_i_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = VTABLE_can(interp, PREG(2), SREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_can_i_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = VTABLE_can(interp, PREG(2), CONST(3)->u.string);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_does_i_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = SREG(3) ? VTABLE_does(interp, PREG(2), SREG(3)) : 0;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_does_i_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = CONST(3)->u.string ? VTABLE_does(interp, PREG(2), CONST(3)->u.string) : 0;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_does_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = PREG(3) ? VTABLE_does_pmc(interp, PREG(2), PREG(3)) : 0;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_does_i_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = CONST(3)->u.key ? VTABLE_does_pmc(interp, PREG(2), CONST(3)->u.key) : 0;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_isa_i_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = SREG(3) ? VTABLE_isa(interp, PREG(2), SREG(3)) : 0;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_isa_i_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = CONST(3)->u.string ? VTABLE_isa(interp, PREG(2), CONST(3)->u.string) : 0;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_isa_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = PREG(3) ? VTABLE_isa_pmc(interp, PREG(2), PREG(3)) : 0;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_isa_i_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = CONST(3)->u.key ? VTABLE_isa_pmc(interp, PREG(2), CONST(3)->u.key) : 0;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_newclass_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const name = Parrot_pmc_new(interp, enum_class_String);
+ VTABLE_set_string_native(interp, name, SREG(2));
+ PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, name);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_newclass_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const name = Parrot_pmc_new(interp, enum_class_String);
+ VTABLE_set_string_native(interp, name, CONST(2)->u.string);
+ PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, name);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_newclass_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_newclass_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, CONST(2)->u.key);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_subclass_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const parent_class = Parrot_oo_get_class(interp, PREG(2));
+ opcode_t * const next = cur_opcode + 3;
+
+ if (PMC_IS_NULL(parent_class)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' doesn't exist", VTABLE_get_string(interp, PREG(2)));
+ return (opcode_t *)handler;
+ }
+ PREG(1) = Parrot_pmc_new(interp, enum_class_Class);
+ VTABLE_add_parent(interp, PREG(1), parent_class);
+ return (opcode_t *)next;
+}
+
+opcode_t *
+Parrot_subclass_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const parent_class = Parrot_oo_get_class(interp, CONST(2)->u.key);
+ opcode_t * const next = cur_opcode + 3;
+
+ if (PMC_IS_NULL(parent_class)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' doesn't exist", VTABLE_get_string(interp, CONST(2)->u.key));
+ return (opcode_t *)handler;
+ }
+ PREG(1) = Parrot_pmc_new(interp, enum_class_Class);
+ VTABLE_add_parent(interp, PREG(1), parent_class);
+ return (opcode_t *)next;
+}
+
+opcode_t *
+Parrot_subclass_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const parent_class = Parrot_oo_get_class(interp, PREG(2));
+ opcode_t * const next = cur_opcode + 4;
+
+ if (PMC_IS_NULL(parent_class)) {
+ opcode_t * handler = Parrot_ex_throw_from_op_args(interp, next,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' doesn't exist", VTABLE_get_string(interp, PREG(2)));
+ return (opcode_t *)handler;
+ }
+ PREG(1) = Parrot_oo_newclass_from_str(interp, SREG(3));
+ VTABLE_add_parent(interp, PREG(1), parent_class);
+ return (opcode_t *)next;
+}
+
+opcode_t *
+Parrot_subclass_p_pc_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const parent_class = Parrot_oo_get_class(interp, CONST(2)->u.key);
+ opcode_t * const next = cur_opcode + 4;
+
+ if (PMC_IS_NULL(parent_class)) {
+ opcode_t * handler = Parrot_ex_throw_from_op_args(interp, next,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' doesn't exist", VTABLE_get_string(interp, CONST(2)->u.key));
+ return (opcode_t *)handler;
+ }
+ PREG(1) = Parrot_oo_newclass_from_str(interp, SREG(3));
+ VTABLE_add_parent(interp, PREG(1), parent_class);
+ return (opcode_t *)next;
+}
+
+opcode_t *
+Parrot_subclass_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const parent_class = Parrot_oo_get_class(interp, PREG(2));
+ opcode_t * const next = cur_opcode + 4;
+
+ if (PMC_IS_NULL(parent_class)) {
+ opcode_t * handler = Parrot_ex_throw_from_op_args(interp, next,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' doesn't exist", VTABLE_get_string(interp, PREG(2)));
+ return (opcode_t *)handler;
+ }
+ PREG(1) = Parrot_oo_newclass_from_str(interp, CONST(3)->u.string);
+ VTABLE_add_parent(interp, PREG(1), parent_class);
+ return (opcode_t *)next;
+}
+
+opcode_t *
+Parrot_subclass_p_pc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const parent_class = Parrot_oo_get_class(interp, CONST(2)->u.key);
+ opcode_t * const next = cur_opcode + 4;
+
+ if (PMC_IS_NULL(parent_class)) {
+ opcode_t * handler = Parrot_ex_throw_from_op_args(interp, next,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' doesn't exist", VTABLE_get_string(interp, CONST(2)->u.key));
+ return (opcode_t *)handler;
+ }
+ PREG(1) = Parrot_oo_newclass_from_str(interp, CONST(3)->u.string);
+ VTABLE_add_parent(interp, PREG(1), parent_class);
+ return (opcode_t *)next;
+}
+
+opcode_t *
+Parrot_subclass_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const parent_class = Parrot_oo_get_class(interp, PREG(2));
+ opcode_t * const next = cur_opcode + 4;
+
+ if (PMC_IS_NULL(parent_class)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' doesn't exist", VTABLE_get_string(interp, PREG(2)));
+ return (opcode_t *)handler;
+ }
+ PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, PREG(3));
+ VTABLE_add_parent(interp, PREG(1), parent_class);
+ return (opcode_t *)next;
+}
+
+opcode_t *
+Parrot_subclass_p_pc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const parent_class = Parrot_oo_get_class(interp, CONST(2)->u.key);
+ opcode_t * const next = cur_opcode + 4;
+
+ if (PMC_IS_NULL(parent_class)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' doesn't exist", VTABLE_get_string(interp, CONST(2)->u.key));
+ return (opcode_t *)handler;
+ }
+ PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, PREG(3));
+ VTABLE_add_parent(interp, PREG(1), parent_class);
+ return (opcode_t *)next;
+}
+
+opcode_t *
+Parrot_subclass_p_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const parent_class = Parrot_oo_get_class(interp, PREG(2));
+ opcode_t * const next = cur_opcode + 4;
+
+ if (PMC_IS_NULL(parent_class)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' doesn't exist", VTABLE_get_string(interp, PREG(2)));
+ return (opcode_t *)handler;
+ }
+ PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, CONST(3)->u.key);
+ VTABLE_add_parent(interp, PREG(1), parent_class);
+ return (opcode_t *)next;
+}
+
+opcode_t *
+Parrot_subclass_p_pc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const parent_class = Parrot_oo_get_class(interp, CONST(2)->u.key);
+ opcode_t * const next = cur_opcode + 4;
+
+ if (PMC_IS_NULL(parent_class)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' doesn't exist", VTABLE_get_string(interp, CONST(2)->u.key));
+ return (opcode_t *)handler;
+ }
+ PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, CONST(3)->u.key);
+ VTABLE_add_parent(interp, PREG(1), parent_class);
+ return (opcode_t *)next;
+}
+
+opcode_t *
+Parrot_subclass_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const parent_class = Parrot_oo_get_class_str(interp, SREG(2));
+ opcode_t * const next = cur_opcode + 3;
+
+ if (PMC_IS_NULL(parent_class)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' doesn't exist", SREG(2));
+ return (opcode_t *)handler;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, enum_class_Class);
+ VTABLE_add_parent(interp, PREG(1), parent_class);
+ return (opcode_t *)next;
+}
+
+opcode_t *
+Parrot_subclass_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const parent_class = Parrot_oo_get_class_str(interp, CONST(2)->u.string);
+ opcode_t * const next = cur_opcode + 3;
+
+ if (PMC_IS_NULL(parent_class)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' doesn't exist", CONST(2)->u.string);
+ return (opcode_t *)handler;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, enum_class_Class);
+ VTABLE_add_parent(interp, PREG(1), parent_class);
+ return (opcode_t *)next;
+}
+
+opcode_t *
+Parrot_subclass_p_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const parent_class = Parrot_oo_get_class_str(interp, SREG(2));
+ opcode_t * const next = cur_opcode + 4;
+
+ if (PMC_IS_NULL(parent_class)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' doesn't exist", SREG(2));
+ return (opcode_t *)handler;
+ }
+
+ PREG(1) = Parrot_oo_newclass_from_str(interp, SREG(3));
+ VTABLE_add_parent(interp, PREG(1), parent_class);
+ return (opcode_t *)next;
+}
+
+opcode_t *
+Parrot_subclass_p_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const parent_class = Parrot_oo_get_class_str(interp, CONST(2)->u.string);
+ opcode_t * const next = cur_opcode + 4;
+
+ if (PMC_IS_NULL(parent_class)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' doesn't exist", CONST(2)->u.string);
+ return (opcode_t *)handler;
+ }
+
+ PREG(1) = Parrot_oo_newclass_from_str(interp, SREG(3));
+ VTABLE_add_parent(interp, PREG(1), parent_class);
+ return (opcode_t *)next;
+}
+
+opcode_t *
+Parrot_subclass_p_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const parent_class = Parrot_oo_get_class_str(interp, SREG(2));
+ opcode_t * const next = cur_opcode + 4;
+
+ if (PMC_IS_NULL(parent_class)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' doesn't exist", SREG(2));
+ return (opcode_t *)handler;
+ }
+
+ PREG(1) = Parrot_oo_newclass_from_str(interp, CONST(3)->u.string);
+ VTABLE_add_parent(interp, PREG(1), parent_class);
+ return (opcode_t *)next;
+}
+
+opcode_t *
+Parrot_subclass_p_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const parent_class = Parrot_oo_get_class_str(interp, CONST(2)->u.string);
+ opcode_t * const next = cur_opcode + 4;
+
+ if (PMC_IS_NULL(parent_class)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' doesn't exist", CONST(2)->u.string);
+ return (opcode_t *)handler;
+ }
+
+ PREG(1) = Parrot_oo_newclass_from_str(interp, CONST(3)->u.string);
+ VTABLE_add_parent(interp, PREG(1), parent_class);
+ return (opcode_t *)next;
+}
+
+opcode_t *
+Parrot_subclass_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const parent_class = Parrot_oo_get_class_str(interp, SREG(2));
+ opcode_t * const next = cur_opcode + 4;
+
+ if (PMC_IS_NULL(parent_class)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' doesn't exist", SREG(2));
+ return (opcode_t *)handler;
+ }
+
+ PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, PREG(3));
+ VTABLE_add_parent(interp, PREG(1), parent_class);
+ return (opcode_t *)next;
+}
+
+opcode_t *
+Parrot_subclass_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const parent_class = Parrot_oo_get_class_str(interp, CONST(2)->u.string);
+ opcode_t * const next = cur_opcode + 4;
+
+ if (PMC_IS_NULL(parent_class)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' doesn't exist", CONST(2)->u.string);
+ return (opcode_t *)handler;
+ }
+
+ PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, PREG(3));
+ VTABLE_add_parent(interp, PREG(1), parent_class);
+ return (opcode_t *)next;
+}
+
+opcode_t *
+Parrot_subclass_p_s_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const parent_class = Parrot_oo_get_class_str(interp, SREG(2));
+ opcode_t * const next = cur_opcode + 4;
+
+ if (PMC_IS_NULL(parent_class)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' doesn't exist", SREG(2));
+ return (opcode_t *)handler;
+ }
+
+ PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, CONST(3)->u.key);
+ VTABLE_add_parent(interp, PREG(1), parent_class);
+ return (opcode_t *)next;
+}
+
+opcode_t *
+Parrot_subclass_p_sc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const parent_class = Parrot_oo_get_class_str(interp, CONST(2)->u.string);
+ opcode_t * const next = cur_opcode + 4;
+
+ if (PMC_IS_NULL(parent_class)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' doesn't exist", CONST(2)->u.string);
+ return (opcode_t *)handler;
+ }
+
+ PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, CONST(3)->u.key);
+ VTABLE_add_parent(interp, PREG(1), parent_class);
+ return (opcode_t *)next;
+}
+
+opcode_t *
+Parrot_get_class_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = Parrot_oo_get_class_str(interp, SREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_get_class_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = Parrot_oo_get_class_str(interp, CONST(2)->u.string);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_get_class_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = Parrot_oo_get_class(interp, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_get_class_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = Parrot_oo_get_class(interp, CONST(2)->u.key);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_class_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_class(interp, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_addparent_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_add_parent(interp, PREG(1), PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_removeparent_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_remove_parent(interp, PREG(1), PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_addrole_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_add_role(interp, PREG(1), PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_addattribute_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const class_name = string_from_literal(interp, "Class");
+ STRING * const role_name = string_from_literal(interp, "Role");
+
+ if (VTABLE_isa(interp, PREG(1), class_name) || VTABLE_isa(interp, PREG(1), role_name))
+ VTABLE_add_attribute(interp, PREG(1), SREG(2), PMCNULL);
+ else {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, NULL,
+ EXCEPTION_INVALID_OPERATION,
+ "Cannot add attribute to non-class");
+ return (opcode_t *)handler;
+ }
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_addattribute_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const class_name = string_from_literal(interp, "Class");
+ STRING * const role_name = string_from_literal(interp, "Role");
+
+ if (VTABLE_isa(interp, PREG(1), class_name) || VTABLE_isa(interp, PREG(1), role_name))
+ VTABLE_add_attribute(interp, PREG(1), CONST(2)->u.string, PMCNULL);
+ else {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, NULL,
+ EXCEPTION_INVALID_OPERATION,
+ "Cannot add attribute to non-class");
+ return (opcode_t *)handler;
+ }
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_removeattribute_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_remove_attribute(interp, PREG(1), SREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_removeattribute_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_remove_attribute(interp, PREG(1), CONST(2)->u.string);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_getattribute_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_attr_str(interp, PREG(2), SREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_getattribute_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_attr_str(interp, PREG(2), CONST(3)->u.string);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_getattribute_p_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_attr_keyed(interp, PREG(2), PREG(3), SREG(4));
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_getattribute_p_p_pc_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_attr_keyed(interp, PREG(2), CONST(3)->u.key, SREG(4));
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_getattribute_p_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_attr_keyed(interp, PREG(2), PREG(3), CONST(4)->u.string);
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_getattribute_p_p_pc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_attr_keyed(interp, PREG(2), CONST(3)->u.key, CONST(4)->u.string);
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_setattribute_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_attr_str(interp, PREG(1), SREG(2), PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_setattribute_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_attr_str(interp, PREG(1), CONST(2)->u.string, PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_setattribute_p_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_attr_keyed(interp, PREG(1), PREG(2), SREG(3), PREG(4));
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_setattribute_p_pc_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_attr_keyed(interp, PREG(1), CONST(2)->u.key, SREG(3), PREG(4));
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_setattribute_p_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_attr_keyed(interp, PREG(1), PREG(2), CONST(3)->u.string, PREG(4));
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_setattribute_p_pc_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_attr_keyed(interp, PREG(1), CONST(2)->u.key, CONST(3)->u.string, PREG(4));
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_inspect_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_inspect(interp, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_inspect_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_inspect(interp, CONST(2)->u.key);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_inspect_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_inspect_str(interp, PREG(2), SREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_inspect_p_pc_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_inspect_str(interp, CONST(2)->u.key, SREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_inspect_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_inspect_str(interp, PREG(2), CONST(3)->u.string);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_inspect_p_pc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_inspect_str(interp, CONST(2)->u.key, CONST(3)->u.string);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_new_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const name = SREG(2);
+ PMC * const _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp))
+ ? Parrot_oo_get_class_str(interp, name)
+ : PMCNULL;
+
+ if (!PMC_IS_NULL(_class))
+ PREG(1) = VTABLE_instantiate(interp, _class, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type_str(interp, name);
+ if (type <= 0) {
+ opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", name);
+ return (opcode_t *)dest;
+ }
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_new_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const name = CONST(2)->u.string;
+ PMC * const _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp))
+ ? Parrot_oo_get_class_str(interp, name)
+ : PMCNULL;
+
+ if (!PMC_IS_NULL(_class))
+ PREG(1) = VTABLE_instantiate(interp, _class, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type_str(interp, name);
+ if (type <= 0) {
+ opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", name);
+ return (opcode_t *)dest;
+ }
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_new_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const name = SREG(2);
+ PMC * const _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp))
+ ? Parrot_oo_get_class_str(interp, name)
+ : PMCNULL;
+
+ if (!PMC_IS_NULL(_class))
+ PREG(1) = VTABLE_instantiate(interp, _class, PREG(3));
+ else {
+ const INTVAL type = Parrot_pmc_get_type_str(interp, name);
+ if (type <= 0) {
+ opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", name);
+ return (opcode_t *)dest;
+ }
+ PREG(1) = Parrot_pmc_new_init(interp, type, PREG(3));
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_new_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const name = CONST(2)->u.string;
+ PMC * const _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp))
+ ? Parrot_oo_get_class_str(interp, name)
+ : PMCNULL;
+
+ if (!PMC_IS_NULL(_class))
+ PREG(1) = VTABLE_instantiate(interp, _class, PREG(3));
+ else {
+ const INTVAL type = Parrot_pmc_get_type_str(interp, name);
+ if (type <= 0) {
+ opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", name);
+ return (opcode_t *)dest;
+ }
+ PREG(1) = Parrot_pmc_new_init(interp, type, PREG(3));
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_new_p_s_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const name = SREG(2);
+ PMC * const _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp))
+ ? Parrot_oo_get_class_str(interp, name)
+ : PMCNULL;
+
+ if (!PMC_IS_NULL(_class))
+ PREG(1) = VTABLE_instantiate(interp, _class, CONST(3)->u.key);
+ else {
+ const INTVAL type = Parrot_pmc_get_type_str(interp, name);
+ if (type <= 0) {
+ opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", name);
+ return (opcode_t *)dest;
+ }
+ PREG(1) = Parrot_pmc_new_init(interp, type, CONST(3)->u.key);
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_new_p_sc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const name = CONST(2)->u.string;
+ PMC * const _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp))
+ ? Parrot_oo_get_class_str(interp, name)
+ : PMCNULL;
+
+ if (!PMC_IS_NULL(_class))
+ PREG(1) = VTABLE_instantiate(interp, _class, CONST(3)->u.key);
+ else {
+ const INTVAL type = Parrot_pmc_get_type_str(interp, name);
+ if (type <= 0) {
+ opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", name);
+ return (opcode_t *)dest;
+ }
+ PREG(1) = Parrot_pmc_new_init(interp, type, CONST(3)->u.key);
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_new_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const name_key = PREG(2);
+ PMC * const _class = Parrot_oo_get_class(interp, name_key);
+
+ if (!PMC_IS_NULL(_class))
+ PREG(1) = VTABLE_instantiate(interp, _class, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, name_key);
+ if (type <= 0) {
+ opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));
+ return (opcode_t *)dest;
+ }
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_new_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const name_key = CONST(2)->u.key;
+ PMC * const _class = Parrot_oo_get_class(interp, name_key);
+
+ if (!PMC_IS_NULL(_class))
+ PREG(1) = VTABLE_instantiate(interp, _class, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, name_key);
+ if (type <= 0) {
+ opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));
+ return (opcode_t *)dest;
+ }
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_new_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const name_key = PREG(2);
+ PMC * const _class = Parrot_oo_get_class(interp, name_key);
+
+ if (!PMC_IS_NULL(_class))
+ PREG(1) = VTABLE_instantiate(interp, _class, PREG(3));
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, name_key);
+ if (type <= 0) {
+ opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));
+ return (opcode_t *)dest;
+ }
+ PREG(1) = Parrot_pmc_new_init(interp, type, PREG(3));
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_new_p_pc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const name_key = CONST(2)->u.key;
+ PMC * const _class = Parrot_oo_get_class(interp, name_key);
+
+ if (!PMC_IS_NULL(_class))
+ PREG(1) = VTABLE_instantiate(interp, _class, PREG(3));
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, name_key);
+ if (type <= 0) {
+ opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));
+ return (opcode_t *)dest;
+ }
+ PREG(1) = Parrot_pmc_new_init(interp, type, PREG(3));
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_new_p_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const name_key = PREG(2);
+ PMC * const _class = Parrot_oo_get_class(interp, name_key);
+
+ if (!PMC_IS_NULL(_class))
+ PREG(1) = VTABLE_instantiate(interp, _class, CONST(3)->u.key);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, name_key);
+ if (type <= 0) {
+ opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));
+ return (opcode_t *)dest;
+ }
+ PREG(1) = Parrot_pmc_new_init(interp, type, CONST(3)->u.key);
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_new_p_pc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const name_key = CONST(2)->u.key;
+ PMC * const _class = Parrot_oo_get_class(interp, name_key);
+
+ if (!PMC_IS_NULL(_class))
+ PREG(1) = VTABLE_instantiate(interp, _class, CONST(3)->u.key);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, name_key);
+ if (type <= 0) {
+ opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));
+ return (opcode_t *)dest;
+ }
+ PREG(1) = Parrot_pmc_new_init(interp, type, CONST(3)->u.key);
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_root_new_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const key = PREG(2);
+ PMC * const root_ns = interp->root_namespace;
+ PMC * const ns = Parrot_get_namespace_keyed(interp, root_ns, key);
+ PMC * classobj = PMCNULL;
+
+ if (!PMC_IS_NULL(ns))
+ classobj = Parrot_oo_get_class(interp, ns);
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, key));
+ return (opcode_t *)dest;
+ }
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_root_new_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const key = CONST(2)->u.key;
+ PMC * const root_ns = interp->root_namespace;
+ PMC * const ns = Parrot_get_namespace_keyed(interp, root_ns, key);
+ PMC * classobj = PMCNULL;
+
+ if (!PMC_IS_NULL(ns))
+ classobj = Parrot_oo_get_class(interp, ns);
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, key));
+ return (opcode_t *)dest;
+ }
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_root_new_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const key = PREG(2);
+ PMC * const root_ns = interp->root_namespace;
+ PMC * const ns = Parrot_get_namespace_keyed(interp, root_ns, key);
+ PMC * classobj = PMCNULL;
+
+ if (!PMC_IS_NULL(ns))
+ classobj = Parrot_oo_get_class(interp, ns);
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PREG(3));
+ else {
+ opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, key));
+ return (opcode_t *)dest;
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_root_new_p_pc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const key = CONST(2)->u.key;
+ PMC * const root_ns = interp->root_namespace;
+ PMC * const ns = Parrot_get_namespace_keyed(interp, root_ns, key);
+ PMC * classobj = PMCNULL;
+
+ if (!PMC_IS_NULL(ns))
+ classobj = Parrot_oo_get_class(interp, ns);
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PREG(3));
+ else {
+ opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, key));
+ return (opcode_t *)dest;
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_root_new_p_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const key = PREG(2);
+ PMC * const root_ns = interp->root_namespace;
+ PMC * const ns = Parrot_get_namespace_keyed(interp, root_ns, key);
+ PMC * classobj = PMCNULL;
+
+ if (!PMC_IS_NULL(ns))
+ classobj = Parrot_oo_get_class(interp, ns);
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, CONST(3)->u.key);
+ else {
+ opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, key));
+ return (opcode_t *)dest;
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_root_new_p_pc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const key = CONST(2)->u.key;
+ PMC * const root_ns = interp->root_namespace;
+ PMC * const ns = Parrot_get_namespace_keyed(interp, root_ns, key);
+ PMC * classobj = PMCNULL;
+
+ if (!PMC_IS_NULL(ns))
+ classobj = Parrot_oo_get_class(interp, ns);
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, CONST(3)->u.key);
+ else {
+ opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, key));
+ return (opcode_t *)dest;
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_typeof_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = VTABLE_name(interp, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_typeof_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_class(interp, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_get_repr_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = VTABLE_get_repr(interp, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_find_method_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ opcode_t * const resume = cur_opcode + 4;
+ PREG(1) = VTABLE_find_method(interp, PREG(2), SREG(3));
+ if (PMC_IS_NULL(PREG(1)) || !VTABLE_defined(interp, PREG(1))) {
+ opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, resume,
+ EXCEPTION_METHOD_NOT_FOUND,
+ "Method '%Ss' not found for invocant of class '%Ss'", SREG(3),
+ VTABLE_get_string(interp, VTABLE_get_class(interp, PREG(2))));
+ return (opcode_t *)dest;
+ }
+ return (opcode_t *)resume;
+}
+
+opcode_t *
+Parrot_find_method_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ opcode_t * const resume = cur_opcode + 4;
+ PREG(1) = VTABLE_find_method(interp, PREG(2), CONST(3)->u.string);
+ if (PMC_IS_NULL(PREG(1)) || !VTABLE_defined(interp, PREG(1))) {
+ opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, resume,
+ EXCEPTION_METHOD_NOT_FOUND,
+ "Method '%Ss' not found for invocant of class '%Ss'", CONST(3)->u.string,
+ VTABLE_get_string(interp, VTABLE_get_class(interp, PREG(2))));
+ return (opcode_t *)dest;
+ }
+ return (opcode_t *)resume;
+}
+
+opcode_t *
+Parrot_defined_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_defined(interp, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_defined_i_p_ki(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_defined_keyed_int(interp, PREG(2), IREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_defined_i_p_kic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_defined_keyed_int(interp, PREG(2), cur_opcode[3]);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_defined_i_p_k(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_defined_keyed(interp, PREG(2), PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_defined_i_p_kc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_defined_keyed(interp, PREG(2), CONST(3)->u.key);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_exists_i_p_ki(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_exists_keyed_int(interp, PREG(2), IREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_exists_i_p_kic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_exists_keyed_int(interp, PREG(2), cur_opcode[3]);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_exists_i_p_k(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = PMC_IS_NULL(PREG(2)) ? 0: VTABLE_exists_keyed(interp, PREG(2), PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_exists_i_p_kc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = PMC_IS_NULL(PREG(2)) ? 0: VTABLE_exists_keyed(interp, PREG(2), CONST(3)->u.key);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_delete_p_k(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_delete_keyed(interp, PREG(1), PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_delete_p_kc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_delete_keyed(interp, PREG(1), CONST(2)->u.key);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_delete_p_ki(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_delete_keyed_int(interp, PREG(1), IREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_delete_p_kic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_delete_keyed_int(interp, PREG(1), cur_opcode[2]);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_elements_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = VTABLE_elements(interp, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_push_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_push_integer(interp, PREG(1), IREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_push_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_push_integer(interp, PREG(1), cur_opcode[2]);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_push_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_push_float(interp, PREG(1), NREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_push_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_push_float(interp, PREG(1), CONST(2)->u.number);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_push_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_push_string(interp, PREG(1), SREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_push_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_push_string(interp, PREG(1), CONST(2)->u.string);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_push_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_push_pmc(interp, PREG(1), PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_pop_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = VTABLE_pop_integer(interp, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_pop_n_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = VTABLE_pop_float(interp, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_pop_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = VTABLE_pop_string(interp, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_pop_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_pop_pmc(interp, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_unshift_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_unshift_integer(interp, PREG(1), IREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_unshift_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_unshift_integer(interp, PREG(1), cur_opcode[2]);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_unshift_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_unshift_float(interp, PREG(1), NREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_unshift_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_unshift_float(interp, PREG(1), CONST(2)->u.number);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_unshift_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_unshift_string(interp, PREG(1), SREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_unshift_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_unshift_string(interp, PREG(1), CONST(2)->u.string);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_unshift_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_unshift_pmc(interp, PREG(1), PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_shift_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = VTABLE_shift_integer(interp, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_shift_n_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = VTABLE_shift_float(interp, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_shift_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = VTABLE_shift_string(interp, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_shift_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_shift_pmc(interp, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_splice_p_p_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_splice(interp, PREG(1), PREG(2), IREG(3), IREG(4));
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_splice_p_p_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_splice(interp, PREG(1), PREG(2), cur_opcode[3], IREG(4));
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_splice_p_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_splice(interp, PREG(1), PREG(2), IREG(3), cur_opcode[4]);
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_splice_p_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_splice(interp, PREG(1), PREG(2), cur_opcode[3], cur_opcode[4]);
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_setprop_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_setprop(interp, PREG(1), SREG(2), PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_setprop_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_setprop(interp, PREG(1), CONST(2)->u.string, PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_getprop_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_getprop(interp, PREG(3), SREG(2));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_getprop_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_getprop(interp, PREG(3), CONST(2)->u.string);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_delprop_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_delprop(interp, PREG(1), SREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_delprop_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_delprop(interp, PREG(1), CONST(2)->u.string);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_prophash_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_getprops(interp, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_freeze_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_freeze(interp, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_thaw_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = Parrot_thaw(interp, SREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_thaw_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = Parrot_thaw(interp, CONST(2)->u.string);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_add_multi_s_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_mmd_add_multi_from_long_sig(interp, SREG(1), SREG(2), PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_add_multi_sc_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_mmd_add_multi_from_long_sig(interp, CONST(1)->u.string, SREG(2), PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_add_multi_s_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_mmd_add_multi_from_long_sig(interp, SREG(1), CONST(2)->u.string, PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_add_multi_sc_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_mmd_add_multi_from_long_sig(interp, CONST(1)->u.string, CONST(2)->u.string, PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_find_multi_p_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = Parrot_mmd_find_multi_from_long_sig(interp, SREG(2), SREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_find_multi_p_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = Parrot_mmd_find_multi_from_long_sig(interp, CONST(2)->u.string, SREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_find_multi_p_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = Parrot_mmd_find_multi_from_long_sig(interp, SREG(2), CONST(3)->u.string);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_find_multi_p_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = Parrot_mmd_find_multi_from_long_sig(interp, CONST(2)->u.string, CONST(3)->u.string);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_register_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_pmc_gc_register(interp, PREG(1));
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_unregister_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_pmc_gc_unregister(interp, PREG(1));
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_box_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = Parrot_pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_Integer));
+ VTABLE_set_integer_native(interp, PREG(1), IREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_box_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = Parrot_pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_Integer));
+ VTABLE_set_integer_native(interp, PREG(1), cur_opcode[2]);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_box_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = Parrot_pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_Float));
+ VTABLE_set_number_native(interp, PREG(1), NREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_box_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = Parrot_pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_Float));
+ VTABLE_set_number_native(interp, PREG(1), CONST(2)->u.number);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_box_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = Parrot_pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_String));
+ VTABLE_set_string_native(interp, PREG(1), SREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_box_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = Parrot_pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_String));
+ VTABLE_set_string_native(interp, PREG(1), CONST(2)->u.string);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_iter_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_iter(interp, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_morph_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_morph(interp, PREG(1), PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_morph_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_morph(interp, PREG(1), CONST(2)->u.key);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_clone_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ /* cloning a NULL STRING produces an empty STRING; TT #964 */
+ SREG(1) = STRING_IS_NULL(SREG(2))
+ ? Parrot_str_new(interp, NULL, 0)
+ : SREG(2);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_clone_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ /* cloning a NULL STRING produces an empty STRING; TT #964 */
+ SREG(1) = STRING_IS_NULL(CONST(2)->u.string)
+ ? Parrot_str_new(interp, NULL, 0)
+ : CONST(2)->u.string;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = IREG(2);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = cur_opcode[2];
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_i_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (INTVAL)(NREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_i_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (INTVAL)(CONST(2)->u.number);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_to_int(interp, SREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_to_int(interp, CONST(2)->u.string);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = NREG(2);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = CONST(2)->u.number;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_n_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = (FLOATVAL)IREG(2);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = (FLOATVAL)cur_opcode[2];
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_n_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = Parrot_str_to_num(interp, SREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_n_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = Parrot_str_to_num(interp, CONST(2)->u.string);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_n_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = VTABLE_get_number(interp, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = VTABLE_get_string(interp, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = SREG(2);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = CONST(2)->u.string;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_from_int(interp, IREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_from_int(interp, cur_opcode[2]);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_s_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_from_num(interp, NREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_s_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_from_num(interp, CONST(2)->u.number);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = CONST(2)->u.key;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = PREG(2);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_integer_native(interp, PREG(1), IREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_integer_native(interp, PREG(1), cur_opcode[2]);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_number_native(interp, PREG(1), NREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_number_native(interp, PREG(1), CONST(2)->u.number);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_string_native(interp, PREG(1), SREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_string_native(interp, PREG(1), CONST(2)->u.string);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = VTABLE_get_integer(interp, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_assign_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_assign_pmc(interp, PREG(1), PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_assign_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_integer_native(interp, PREG(1), IREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_assign_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_integer_native(interp, PREG(1), cur_opcode[2]);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_assign_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_number_native(interp, PREG(1), NREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_assign_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_number_native(interp, PREG(1), CONST(2)->u.number);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_assign_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_assign_string_native(interp, PREG(1), SREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_assign_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_assign_string_native(interp, PREG(1), CONST(2)->u.string);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_assign_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = SREG(2);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_assign_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = CONST(2)->u.string;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_setref_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_pmc(interp, PREG(1), PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_deref_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc(interp, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_p_ki_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_integer_keyed_int(interp, PREG(1), IREG(2), IREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_p_kic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_integer_keyed_int(interp, PREG(1), cur_opcode[2], IREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_p_ki_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_integer_keyed_int(interp, PREG(1), IREG(2), cur_opcode[3]);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_p_kic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_integer_keyed_int(interp, PREG(1), cur_opcode[2], cur_opcode[3]);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_p_ki_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_number_keyed_int(interp, PREG(1), IREG(2), NREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_p_kic_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_number_keyed_int(interp, PREG(1), cur_opcode[2], NREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_p_ki_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_number_keyed_int(interp, PREG(1), IREG(2), CONST(3)->u.number);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_p_kic_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_number_keyed_int(interp, PREG(1), cur_opcode[2], CONST(3)->u.number);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_p_ki_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_string_keyed_int(interp, PREG(1), IREG(2), SREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_p_kic_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_string_keyed_int(interp, PREG(1), cur_opcode[2], SREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_p_ki_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_string_keyed_int(interp, PREG(1), IREG(2), CONST(3)->u.string);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_p_kic_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_string_keyed_int(interp, PREG(1), cur_opcode[2], CONST(3)->u.string);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_p_ki_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_pmc_keyed_int(interp, PREG(1), IREG(2), PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_p_kic_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_pmc_keyed_int(interp, PREG(1), cur_opcode[2], PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_i_p_ki(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = VTABLE_get_integer_keyed_int(interp, PREG(2), IREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_i_p_kic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = VTABLE_get_integer_keyed_int(interp, PREG(2), cur_opcode[3]);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_n_p_ki(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = VTABLE_get_number_keyed_int(interp, PREG(2), IREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_n_p_kic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = VTABLE_get_number_keyed_int(interp, PREG(2), cur_opcode[3]);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_s_p_ki(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = VTABLE_get_string_keyed_int(interp, PREG(2), IREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_s_p_kic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = VTABLE_get_string_keyed_int(interp, PREG(2), cur_opcode[3]);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_p_p_ki(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), IREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_p_p_kic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), cur_opcode[3]);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_p_k_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_integer_keyed(interp, PREG(1), PREG(2), IREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_p_kc_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_integer_keyed(interp, PREG(1), CONST(2)->u.key, IREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_p_k_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_integer_keyed(interp, PREG(1), PREG(2), cur_opcode[3]);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_p_kc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_integer_keyed(interp, PREG(1), CONST(2)->u.key, cur_opcode[3]);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_p_k_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_number_keyed(interp, PREG(1), PREG(2), NREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_p_kc_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_number_keyed(interp, PREG(1), CONST(2)->u.key, NREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_p_k_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_number_keyed(interp, PREG(1), PREG(2), CONST(3)->u.number);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_p_kc_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_number_keyed(interp, PREG(1), CONST(2)->u.key, CONST(3)->u.number);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_p_k_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_string_keyed(interp, PREG(1), PREG(2), SREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_p_kc_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_string_keyed(interp, PREG(1), CONST(2)->u.key, SREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_p_k_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_string_keyed(interp, PREG(1), PREG(2), CONST(3)->u.string);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_p_kc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_string_keyed(interp, PREG(1), CONST(2)->u.key, CONST(3)->u.string);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_p_k_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_pmc_keyed(interp, PREG(1), PREG(2), PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_p_kc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_pmc_keyed(interp, PREG(1), CONST(2)->u.key, PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_i_p_k(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = VTABLE_get_integer_keyed(interp, PREG(2), PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_i_p_kc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = VTABLE_get_integer_keyed(interp, PREG(2), CONST(3)->u.key);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_n_p_k(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = VTABLE_get_number_keyed(interp, PREG(2), PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_n_p_kc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = VTABLE_get_number_keyed(interp, PREG(2), CONST(3)->u.key);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_s_p_k(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = VTABLE_get_string_keyed(interp, PREG(2), PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_s_p_kc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = VTABLE_get_string_keyed(interp, PREG(2), CONST(3)->u.key);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_p_p_k(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_p_p_kc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), CONST(3)->u.key);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_clone_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_clone(interp, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_clone_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_clone_pmc(interp, PREG(2), PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_clone_p_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_clone_pmc(interp, PREG(2), CONST(3)->u.key);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_copy_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (PMC_IS_NULL(PREG(1))) {
+ opcode_t * const dest = cur_opcode + 3;
+ opcode_t * const handler = Parrot_ex_throw_from_op_args(interp, dest,
+ EXCEPTION_NULL_REG_ACCESS, "Null PMC in copy");
+ return (opcode_t *)handler;
+ }
+ else {
+ PMC * const clone = VTABLE_clone(interp, PREG(2));
+ /* Preserve the metadata on the destination. */
+ PMC * const meta = VTABLE_getprops(interp, PREG(1));
+
+ /* avoid leaks and unreachable memory by destroying the destination PMC */
+ Parrot_pmc_destroy(interp, PREG(1));
+
+ /* the source PMC knows how to clone itself, but we must reuse the
+ * destination header */
+ memmove(PREG(1), clone, sizeof (PMC));
+
+ /* don't let the clone's destruction destroy the destination's data */
+ PObj_custom_destroy_CLEAR(clone);
+ PMC_data(clone) = NULL;
+ PMC_metadata(clone) = NULL;
+
+ /* Restore metadata. */
+ if (!PMC_IS_NULL(meta)) {
+ PMC * const iter = VTABLE_get_iter(interp, meta);
+ while (VTABLE_get_bool(interp, iter)) {
+ STRING * const key = VTABLE_shift_string(interp, iter);
+ PMC * const value = VTABLE_get_pmc_keyed_str(interp, meta, key);
+ VTABLE_setprop(interp, PREG(1), key, value);
+ }
+ }
+ }
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_null_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = STRINGNULL;
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_null_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = 0;
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_null_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = PMCNULL;
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_null_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = 0;
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_ord_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = string_ord(interp, SREG(2), 0);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_ord_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = string_ord(interp, CONST(2)->u.string, 0);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_ord_i_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = string_ord(interp, SREG(2), IREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_ord_i_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = string_ord(interp, CONST(2)->u.string, IREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_ord_i_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = string_ord(interp, SREG(2), cur_opcode[3]);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_ord_i_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = string_ord(interp, CONST(2)->u.string, cur_opcode[3]);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_chr_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const s = string_chr(interp, (UINTVAL)IREG(2));
+ SREG(1) = s;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_chr_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const s = string_chr(interp, (UINTVAL)cur_opcode[2]);
+ SREG(1) = s;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_chopn_s_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_chopn(interp, SREG(2), IREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_chopn_s_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_chopn(interp, CONST(2)->u.string, IREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_chopn_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_chopn(interp, SREG(2), cur_opcode[3]);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_chopn_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_chopn(interp, CONST(2)->u.string, cur_opcode[3]);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_concat_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_concat(interp, SREG(1), SREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_concat_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_concat(interp, SREG(1), CONST(2)->u.string);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_concat_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_concatenate(interp, PREG(1), PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_concat_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_concatenate_str(interp, PREG(1), SREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_concat_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_concatenate_str(interp, PREG(1), CONST(2)->u.string);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_concat_s_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_concat(interp, SREG(2), SREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_concat_s_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_concat(interp, CONST(2)->u.string, SREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_concat_s_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_concat(interp, SREG(2), CONST(3)->u.string);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_concat_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_concatenate_str(interp, PREG(2), SREG(3), PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_concat_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_concatenate_str(interp, PREG(2), CONST(3)->u.string, PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_concat_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_concatenate(interp, PREG(2), PREG(3), PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_repeat_s_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (IREG(3) < 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, NULL,
+ EXCEPTION_NEG_REPEAT,
+ "Cannot repeat with negative arg");
+ return (opcode_t *)handler;
+ }
+ SREG(1) = Parrot_str_repeat(interp, SREG(2), (UINTVAL)IREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_repeat_s_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (IREG(3) < 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, NULL,
+ EXCEPTION_NEG_REPEAT,
+ "Cannot repeat with negative arg");
+ return (opcode_t *)handler;
+ }
+ SREG(1) = Parrot_str_repeat(interp, CONST(2)->u.string, (UINTVAL)IREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_repeat_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (cur_opcode[3] < 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, NULL,
+ EXCEPTION_NEG_REPEAT,
+ "Cannot repeat with negative arg");
+ return (opcode_t *)handler;
+ }
+ SREG(1) = Parrot_str_repeat(interp, SREG(2), (UINTVAL)cur_opcode[3]);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_repeat_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (cur_opcode[3] < 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, NULL,
+ EXCEPTION_NEG_REPEAT,
+ "Cannot repeat with negative arg");
+ return (opcode_t *)handler;
+ }
+ SREG(1) = Parrot_str_repeat(interp, CONST(2)->u.string, (UINTVAL)cur_opcode[3]);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_repeat_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (IREG(3) < 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, NULL,
+ EXCEPTION_NEG_REPEAT,
+ "Cannot repeat with negative arg");
+ return (opcode_t *)handler;
+ }
+ PREG(1) = VTABLE_repeat_int(interp, PREG(2), IREG(3), PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_repeat_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (cur_opcode[3] < 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, NULL,
+ EXCEPTION_NEG_REPEAT,
+ "Cannot repeat with negative arg");
+ return (opcode_t *)handler;
+ }
+ PREG(1) = VTABLE_repeat_int(interp, PREG(2), cur_opcode[3], PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_repeat_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (VTABLE_get_integer(interp, PREG(3)) < 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, NULL,
+ EXCEPTION_NEG_REPEAT,
+ "Cannot repeat with negative arg");
+ return (opcode_t *)handler;
+ }
+ PREG(1) = VTABLE_repeat(interp, PREG(2), PREG(3), PREG(1));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_repeat_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_repeat_int(interp, PREG(1), IREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_repeat_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_repeat_int(interp, PREG(1), cur_opcode[2]);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_repeat_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_i_repeat(interp, PREG(1), PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_length_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_length(interp, SREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_length_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_length(interp, CONST(2)->u.string);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_bytelength_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_byte_length(interp, SREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_bytelength_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_byte_length(interp, CONST(2)->u.string);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_pin_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_str_pin(interp, SREG(1));
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_unpin_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ Parrot_str_unpin(interp, SREG(1));
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_substr_s_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL len = Parrot_str_byte_length(interp, SREG(2));
+ SREG(1) = Parrot_str_substr(interp, SREG(2), IREG(3), len);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_substr_s_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL len = Parrot_str_byte_length(interp, CONST(2)->u.string);
+ SREG(1) = Parrot_str_substr(interp, CONST(2)->u.string, IREG(3), len);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_substr_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL len = Parrot_str_byte_length(interp, SREG(2));
+ SREG(1) = Parrot_str_substr(interp, SREG(2), cur_opcode[3], len);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_substr_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL len = Parrot_str_byte_length(interp, CONST(2)->u.string);
+ SREG(1) = Parrot_str_substr(interp, CONST(2)->u.string, cur_opcode[3], len);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_substr_s_s_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_substr(interp, SREG(2), IREG(3), IREG(4));
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_substr_s_sc_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_substr(interp, CONST(2)->u.string, IREG(3), IREG(4));
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_substr_s_s_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_substr(interp, SREG(2), cur_opcode[3], IREG(4));
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_substr_s_sc_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_substr(interp, CONST(2)->u.string, cur_opcode[3], IREG(4));
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_substr_s_s_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_substr(interp, SREG(2), IREG(3), cur_opcode[4]);
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_substr_s_sc_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_substr(interp, CONST(2)->u.string, IREG(3), cur_opcode[4]);
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_substr_s_s_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_substr(interp, SREG(2), cur_opcode[3], cur_opcode[4]);
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_substr_s_sc_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_substr(interp, CONST(2)->u.string, cur_opcode[3], cur_opcode[4]);
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_substr_s_p_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = VTABLE_substr_str(interp, PREG(2), IREG(3), IREG(4));
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_substr_s_p_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = VTABLE_substr_str(interp, PREG(2), cur_opcode[3], IREG(4));
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_substr_s_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = VTABLE_substr_str(interp, PREG(2), IREG(3), cur_opcode[4]);
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_substr_s_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = VTABLE_substr_str(interp, PREG(2), cur_opcode[3], cur_opcode[4]);
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_replace_s_s_i_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_replace(interp, SREG(2), IREG(3), IREG(4), SREG(5));
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_replace_s_sc_i_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_replace(interp, CONST(2)->u.string, IREG(3), IREG(4), SREG(5));
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_replace_s_s_ic_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_replace(interp, SREG(2), cur_opcode[3], IREG(4), SREG(5));
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_replace_s_sc_ic_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_replace(interp, CONST(2)->u.string, cur_opcode[3], IREG(4), SREG(5));
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_replace_s_s_i_ic_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_replace(interp, SREG(2), IREG(3), cur_opcode[4], SREG(5));
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_replace_s_sc_i_ic_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_replace(interp, CONST(2)->u.string, IREG(3), cur_opcode[4], SREG(5));
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_replace_s_s_ic_ic_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_replace(interp, SREG(2), cur_opcode[3], cur_opcode[4], SREG(5));
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_replace_s_sc_ic_ic_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_replace(interp, CONST(2)->u.string, cur_opcode[3], cur_opcode[4], SREG(5));
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_replace_s_s_i_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_replace(interp, SREG(2), IREG(3), IREG(4), CONST(5)->u.string);
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_replace_s_sc_i_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_replace(interp, CONST(2)->u.string, IREG(3), IREG(4), CONST(5)->u.string);
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_replace_s_s_ic_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_replace(interp, SREG(2), cur_opcode[3], IREG(4), CONST(5)->u.string);
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_replace_s_sc_ic_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_replace(interp, CONST(2)->u.string, cur_opcode[3], IREG(4), CONST(5)->u.string);
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_replace_s_s_i_ic_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_replace(interp, SREG(2), IREG(3), cur_opcode[4], CONST(5)->u.string);
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_replace_s_sc_i_ic_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_replace(interp, CONST(2)->u.string, IREG(3), cur_opcode[4], CONST(5)->u.string);
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_replace_s_s_ic_ic_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_replace(interp, SREG(2), cur_opcode[3], cur_opcode[4], CONST(5)->u.string);
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_replace_s_sc_ic_ic_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_replace(interp, CONST(2)->u.string, cur_opcode[3], cur_opcode[4], CONST(5)->u.string);
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_index_i_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (SREG(2) && SREG(3)) ? Parrot_str_find_index(interp, SREG(2), SREG(3), 0) : -1;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_index_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (CONST(2)->u.string && SREG(3)) ? Parrot_str_find_index(interp, CONST(2)->u.string, SREG(3), 0) : -1;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_index_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (SREG(2) && CONST(3)->u.string) ? Parrot_str_find_index(interp, SREG(2), CONST(3)->u.string, 0) : -1;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_index_i_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (CONST(2)->u.string && CONST(3)->u.string) ? Parrot_str_find_index(interp, CONST(2)->u.string, CONST(3)->u.string, 0) : -1;
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_index_i_s_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (SREG(2) && SREG(3)) ? Parrot_str_find_index(interp, SREG(2), SREG(3), IREG(4)) : -1;
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_index_i_sc_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (CONST(2)->u.string && SREG(3)) ? Parrot_str_find_index(interp, CONST(2)->u.string, SREG(3), IREG(4)) : -1;
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_index_i_s_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (SREG(2) && CONST(3)->u.string) ? Parrot_str_find_index(interp, SREG(2), CONST(3)->u.string, IREG(4)) : -1;
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_index_i_sc_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (CONST(2)->u.string && CONST(3)->u.string) ? Parrot_str_find_index(interp, CONST(2)->u.string, CONST(3)->u.string, IREG(4)) : -1;
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_index_i_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (SREG(2) && SREG(3)) ? Parrot_str_find_index(interp, SREG(2), SREG(3), cur_opcode[4]) : -1;
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_index_i_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (CONST(2)->u.string && SREG(3)) ? Parrot_str_find_index(interp, CONST(2)->u.string, SREG(3), cur_opcode[4]) : -1;
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_index_i_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (SREG(2) && CONST(3)->u.string) ? Parrot_str_find_index(interp, SREG(2), CONST(3)->u.string, cur_opcode[4]) : -1;
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_index_i_sc_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = (CONST(2)->u.string && CONST(3)->u.string) ? Parrot_str_find_index(interp, CONST(2)->u.string, CONST(3)->u.string, cur_opcode[4]) : -1;
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_sprintf_s_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1)=Parrot_psprintf(interp, SREG(2), PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_sprintf_s_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1)=Parrot_psprintf(interp, CONST(2)->u.string, PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_sprintf_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_string_native(interp, PREG(1),
+ Parrot_psprintf(interp, VTABLE_get_string(interp, PREG(2)), PREG(3)));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_new_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_new_noinit(interp, enum_stringrep_one, 0);
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_new_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_new_noinit(interp, enum_stringrep_one, IREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_new_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_new_noinit(interp, enum_stringrep_one, cur_opcode[2]);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_stringinfo_i_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (SREG(2) == NULL)
+ IREG(1) = 0;
+ else {
+ switch (IREG(3)) {
+ case STRINGINFO_HEADER:
+ IREG(1) = PTR2UINTVAL(SREG(2));
+ break;
+ case STRINGINFO_STRSTART:
+ IREG(1) = PTR2UINTVAL(SREG(2)->strstart);
+ break;
+ case STRINGINFO_BUFLEN:
+ IREG(1) = Buffer_buflen(SREG(2));
+ break;
+ case STRINGINFO_FLAGS:
+ IREG(1) = PObj_get_FLAGS(SREG(2));
+ break;
+ case STRINGINFO_BUFUSED:
+ IREG(1) = SREG(2)->bufused;
+ break;
+ case STRINGINFO_STRLEN:
+ IREG(1) = SREG(2)->strlen;
+ break;
+ default:
+ {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, NULL,
+ EXCEPTION_INVALID_OPERATION,
+ "stringinfo: unknown info type: %d", IREG(3));
+ return (opcode_t *)handler;
+ }
+ }
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_stringinfo_i_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (CONST(2)->u.string == NULL)
+ IREG(1) = 0;
+ else {
+ switch (IREG(3)) {
+ case STRINGINFO_HEADER:
+ IREG(1) = PTR2UINTVAL(CONST(2)->u.string);
+ break;
+ case STRINGINFO_STRSTART:
+ IREG(1) = PTR2UINTVAL(CONST(2)->u.string->strstart);
+ break;
+ case STRINGINFO_BUFLEN:
+ IREG(1) = Buffer_buflen(CONST(2)->u.string);
+ break;
+ case STRINGINFO_FLAGS:
+ IREG(1) = PObj_get_FLAGS(CONST(2)->u.string);
+ break;
+ case STRINGINFO_BUFUSED:
+ IREG(1) = CONST(2)->u.string->bufused;
+ break;
+ case STRINGINFO_STRLEN:
+ IREG(1) = CONST(2)->u.string->strlen;
+ break;
+ default:
+ {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, NULL,
+ EXCEPTION_INVALID_OPERATION,
+ "stringinfo: unknown info type: %d", IREG(3));
+ return (opcode_t *)handler;
+ }
+ }
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_stringinfo_i_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (SREG(2) == NULL)
+ IREG(1) = 0;
+ else {
+ switch (cur_opcode[3]) {
+ case STRINGINFO_HEADER:
+ IREG(1) = PTR2UINTVAL(SREG(2));
+ break;
+ case STRINGINFO_STRSTART:
+ IREG(1) = PTR2UINTVAL(SREG(2)->strstart);
+ break;
+ case STRINGINFO_BUFLEN:
+ IREG(1) = Buffer_buflen(SREG(2));
+ break;
+ case STRINGINFO_FLAGS:
+ IREG(1) = PObj_get_FLAGS(SREG(2));
+ break;
+ case STRINGINFO_BUFUSED:
+ IREG(1) = SREG(2)->bufused;
+ break;
+ case STRINGINFO_STRLEN:
+ IREG(1) = SREG(2)->strlen;
+ break;
+ default:
+ {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, NULL,
+ EXCEPTION_INVALID_OPERATION,
+ "stringinfo: unknown info type: %d", cur_opcode[3]);
+ return (opcode_t *)handler;
+ }
+ }
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_stringinfo_i_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (CONST(2)->u.string == NULL)
+ IREG(1) = 0;
+ else {
+ switch (cur_opcode[3]) {
+ case STRINGINFO_HEADER:
+ IREG(1) = PTR2UINTVAL(CONST(2)->u.string);
+ break;
+ case STRINGINFO_STRSTART:
+ IREG(1) = PTR2UINTVAL(CONST(2)->u.string->strstart);
+ break;
+ case STRINGINFO_BUFLEN:
+ IREG(1) = Buffer_buflen(CONST(2)->u.string);
+ break;
+ case STRINGINFO_FLAGS:
+ IREG(1) = PObj_get_FLAGS(CONST(2)->u.string);
+ break;
+ case STRINGINFO_BUFUSED:
+ IREG(1) = CONST(2)->u.string->bufused;
+ break;
+ case STRINGINFO_STRLEN:
+ IREG(1) = CONST(2)->u.string->strlen;
+ break;
+ default:
+ {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, NULL,
+ EXCEPTION_INVALID_OPERATION,
+ "stringinfo: unknown info type: %d", cur_opcode[3]);
+ return (opcode_t *)handler;
+ }
+ }
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_upcase_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_upcase(interp, SREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_upcase_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_upcase(interp, CONST(2)->u.string);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_downcase_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_downcase(interp, SREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_downcase_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_downcase(interp, CONST(2)->u.string);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_titlecase_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_titlecase(interp, SREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_titlecase_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_titlecase(interp, CONST(2)->u.string);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_join_s_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_join(interp, SREG(2), PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_join_s_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_join(interp, CONST(2)->u.string, PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_split_p_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = Parrot_str_split(interp, SREG(2), SREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_split_p_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = Parrot_str_split(interp, CONST(2)->u.string, SREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_split_p_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = Parrot_str_split(interp, SREG(2), CONST(3)->u.string);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_split_p_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = Parrot_str_split(interp, CONST(2)->u.string, CONST(3)->u.string);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_charset_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_charset_number_of_str(interp, SREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_charset_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_charset_number_of_str(interp, CONST(2)->u.string);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_charsetname_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_charset_name(interp, IREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_charsetname_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_charset_name(interp, cur_opcode[2]);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_find_charset_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL n = Parrot_charset_number(interp, SREG(2));
+ if (n < 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, NULL,
+ EXCEPTION_INVALID_CHARTYPE,
+ "charset '%Ss' not found", SREG(2));
+ return (opcode_t *)handler;
+ }
+ IREG(1) = n;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_find_charset_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL n = Parrot_charset_number(interp, CONST(2)->u.string);
+ if (n < 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, NULL,
+ EXCEPTION_INVALID_CHARTYPE,
+ "charset '%Ss' not found", CONST(2)->u.string);
+ return (opcode_t *)handler;
+ }
+ IREG(1) = n;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_trans_charset_s_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_change_charset(interp, SREG(2), IREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_trans_charset_s_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_change_charset(interp, CONST(2)->u.string, IREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_trans_charset_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_change_charset(interp, SREG(2), cur_opcode[3]);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_trans_charset_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_change_charset(interp, CONST(2)->u.string, cur_opcode[3]);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_encoding_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_encoding_number_of_str(interp, SREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_encoding_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_encoding_number_of_str(interp, CONST(2)->u.string);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_encodingname_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_encoding_name(interp, IREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_encodingname_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_encoding_name(interp, cur_opcode[2]);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_find_encoding_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL n = Parrot_encoding_number(interp, SREG(2));
+ if (n < 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, NULL,
+ EXCEPTION_INVALID_ENCODING,
+ "encoding '%Ss' not found", SREG(2));
+ return (opcode_t *)handler;
+ }
+ IREG(1) = n;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_find_encoding_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const INTVAL n = Parrot_encoding_number(interp, CONST(2)->u.string);
+ if (n < 0) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, NULL,
+ EXCEPTION_INVALID_ENCODING,
+ "encoding '%Ss' not found", CONST(2)->u.string);
+ return (opcode_t *)handler;
+ }
+ IREG(1) = n;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_trans_encoding_s_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_change_encoding(interp, SREG(2), IREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_trans_encoding_s_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_change_encoding(interp, CONST(2)->u.string, IREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_trans_encoding_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_change_encoding(interp, SREG(2), cur_opcode[3]);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_trans_encoding_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_change_encoding(interp, CONST(2)->u.string, cur_opcode[3]);
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_is_cclass_i_i_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_is_cclass(interp, IREG(2), SREG(3), IREG(4));
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_is_cclass_i_ic_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_is_cclass(interp, cur_opcode[2], SREG(3), IREG(4));
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_is_cclass_i_i_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_is_cclass(interp, IREG(2), CONST(3)->u.string, IREG(4));
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_is_cclass_i_ic_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_is_cclass(interp, cur_opcode[2], CONST(3)->u.string, IREG(4));
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_is_cclass_i_i_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_is_cclass(interp, IREG(2), SREG(3), cur_opcode[4]);
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_is_cclass_i_ic_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_is_cclass(interp, cur_opcode[2], SREG(3), cur_opcode[4]);
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_is_cclass_i_i_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_is_cclass(interp, IREG(2), CONST(3)->u.string, cur_opcode[4]);
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_is_cclass_i_ic_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_is_cclass(interp, cur_opcode[2], CONST(3)->u.string, cur_opcode[4]);
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_find_cclass_i_i_s_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_find_cclass(interp, IREG(2), SREG(3), IREG(4), IREG(5));
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_find_cclass_i_ic_s_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_find_cclass(interp, cur_opcode[2], SREG(3), IREG(4), IREG(5));
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_find_cclass_i_i_sc_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_find_cclass(interp, IREG(2), CONST(3)->u.string, IREG(4), IREG(5));
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_find_cclass_i_ic_sc_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_find_cclass(interp, cur_opcode[2], CONST(3)->u.string, IREG(4), IREG(5));
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_find_cclass_i_i_s_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_find_cclass(interp, IREG(2), SREG(3), cur_opcode[4], IREG(5));
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_find_cclass_i_ic_s_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_find_cclass(interp, cur_opcode[2], SREG(3), cur_opcode[4], IREG(5));
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_find_cclass_i_i_sc_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_find_cclass(interp, IREG(2), CONST(3)->u.string, cur_opcode[4], IREG(5));
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_find_cclass_i_ic_sc_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_find_cclass(interp, cur_opcode[2], CONST(3)->u.string, cur_opcode[4], IREG(5));
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_find_cclass_i_i_s_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_find_cclass(interp, IREG(2), SREG(3), IREG(4), cur_opcode[5]);
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_find_cclass_i_ic_s_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_find_cclass(interp, cur_opcode[2], SREG(3), IREG(4), cur_opcode[5]);
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_find_cclass_i_i_sc_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_find_cclass(interp, IREG(2), CONST(3)->u.string, IREG(4), cur_opcode[5]);
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_find_cclass_i_ic_sc_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_find_cclass(interp, cur_opcode[2], CONST(3)->u.string, IREG(4), cur_opcode[5]);
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_find_cclass_i_i_s_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_find_cclass(interp, IREG(2), SREG(3), cur_opcode[4], cur_opcode[5]);
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_find_cclass_i_ic_s_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_find_cclass(interp, cur_opcode[2], SREG(3), cur_opcode[4], cur_opcode[5]);
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_find_cclass_i_i_sc_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_find_cclass(interp, IREG(2), CONST(3)->u.string, cur_opcode[4], cur_opcode[5]);
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_find_cclass_i_ic_sc_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_find_cclass(interp, cur_opcode[2], CONST(3)->u.string, cur_opcode[4], cur_opcode[5]);
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_find_not_cclass_i_i_s_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), SREG(3), IREG(4), IREG(5));
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_find_not_cclass_i_ic_s_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_find_not_cclass(interp, cur_opcode[2], SREG(3), IREG(4), IREG(5));
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_find_not_cclass_i_i_sc_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), CONST(3)->u.string, IREG(4), IREG(5));
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_find_not_cclass_i_ic_sc_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_find_not_cclass(interp, cur_opcode[2], CONST(3)->u.string, IREG(4), IREG(5));
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_find_not_cclass_i_i_s_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), SREG(3), cur_opcode[4], IREG(5));
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_find_not_cclass_i_ic_s_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_find_not_cclass(interp, cur_opcode[2], SREG(3), cur_opcode[4], IREG(5));
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_find_not_cclass_i_i_sc_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), CONST(3)->u.string, cur_opcode[4], IREG(5));
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_find_not_cclass_i_ic_sc_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_find_not_cclass(interp, cur_opcode[2], CONST(3)->u.string, cur_opcode[4], IREG(5));
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_find_not_cclass_i_i_s_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), SREG(3), IREG(4), cur_opcode[5]);
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_find_not_cclass_i_ic_s_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_find_not_cclass(interp, cur_opcode[2], SREG(3), IREG(4), cur_opcode[5]);
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_find_not_cclass_i_i_sc_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), CONST(3)->u.string, IREG(4), cur_opcode[5]);
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_find_not_cclass_i_ic_sc_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_find_not_cclass(interp, cur_opcode[2], CONST(3)->u.string, IREG(4), cur_opcode[5]);
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_find_not_cclass_i_i_s_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), SREG(3), cur_opcode[4], cur_opcode[5]);
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_find_not_cclass_i_ic_s_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_find_not_cclass(interp, cur_opcode[2], SREG(3), cur_opcode[4], cur_opcode[5]);
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_find_not_cclass_i_i_sc_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), CONST(3)->u.string, cur_opcode[4], cur_opcode[5]);
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_find_not_cclass_i_ic_sc_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_str_find_not_cclass(interp, cur_opcode[2], CONST(3)->u.string, cur_opcode[4], cur_opcode[5]);
+
+return (opcode_t *)cur_opcode + 6;}
+
+opcode_t *
+Parrot_escape_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_escape(interp, SREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_compose_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_compose(interp, SREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_compose_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = Parrot_str_compose(interp, CONST(2)->u.string);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_spawnw_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_Run_OS_Command(interp, SREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_spawnw_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_Run_OS_Command(interp, CONST(2)->u.string);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_spawnw_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_Run_OS_Command_Argv(interp, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_err_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = errno;
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_err_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const char * const tmp = strerror(errno);
+ SREG(1) = string_make(interp, tmp, strlen(tmp), "ascii", 0);
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_err_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const char * const tmp = strerror(IREG(2));
+ SREG(1) = string_make(interp, tmp, strlen(tmp), "ascii", 0);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_err_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ const char * const tmp = strerror(cur_opcode[2]);
+ SREG(1) = string_make(interp, tmp, strlen(tmp), "ascii", 0);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_time_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = Parrot_intval_time();
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_time_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ NREG(1) = Parrot_floatval_time();
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_gmtime_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ struct tm tm;
+ const time_t t = (time_t) IREG(2);
+ char resultbuffer[26];
+ Parrot_gmtime_r(&t, &tm);
+ Parrot_asctime_r(&tm, resultbuffer);
+ SREG(1) = Parrot_str_new(interp, resultbuffer, 25);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_gmtime_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ struct tm tm;
+ const time_t t = (time_t) cur_opcode[2];
+ char resultbuffer[26];
+ Parrot_gmtime_r(&t, &tm);
+ Parrot_asctime_r(&tm, resultbuffer);
+ SREG(1) = Parrot_str_new(interp, resultbuffer, 25);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_localtime_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ struct tm tm;
+ const time_t t = (time_t) IREG(2);
+ char resultbuffer[26];
+ Parrot_localtime_r(&t, &tm);
+ Parrot_asctime_r(&tm, resultbuffer);
+ SREG(1) = Parrot_str_new(interp, resultbuffer, 25);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_localtime_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ struct tm tm;
+ const time_t t = (time_t) cur_opcode[2];
+ char resultbuffer[26];
+ Parrot_localtime_r(&t, &tm);
+ Parrot_asctime_r(&tm, resultbuffer);
+ SREG(1) = Parrot_str_new(interp, resultbuffer, 25);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_decodetime_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ struct tm tm;
+ const time_t t = (time_t) IREG(2);
+ Parrot_gmtime_r(&t, &tm);
+ PREG(1) = tm_to_array(interp, &tm);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_decodetime_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ struct tm tm;
+ const time_t t = (time_t) cur_opcode[2];
+ Parrot_gmtime_r(&t, &tm);
+ PREG(1) = tm_to_array(interp, &tm);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_decodelocaltime_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ struct tm tm;
+ const time_t t = (time_t) IREG(2);
+ Parrot_localtime_r(&t, &tm);
+ PREG(1) = tm_to_array(interp, &tm);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_decodelocaltime_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ struct tm tm;
+ const time_t t = (time_t) cur_opcode[2];
+ Parrot_localtime_r(&t, &tm);
+ PREG(1) = tm_to_array(interp, &tm);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_sysinfo_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = sysinfo_s(interp, IREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_sysinfo_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ SREG(1) = sysinfo_s(interp, cur_opcode[2]);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_sysinfo_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = sysinfo_i(interp, IREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_sysinfo_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ IREG(1) = sysinfo_i(interp, cur_opcode[2]);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_sleep_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ opcode_t *next = cur_opcode + 2;
+ if (IREG(1) < 0) {
+ opcode_t * const handler = Parrot_ex_throw_from_op_args(interp, next,
+ EXCEPTION_NEG_SLEEP,
+ "Cannot go back in time");
+ return (opcode_t *)handler;
+ }
+ next = (opcode_t *)Parrot_cx_schedule_sleep(interp, (FLOATVAL) IREG(1), next);
+ return (opcode_t *)next;
+}
+
+opcode_t *
+Parrot_sleep_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ opcode_t *next = cur_opcode + 2;
+ if (cur_opcode[1] < 0) {
+ opcode_t * const handler = Parrot_ex_throw_from_op_args(interp, next,
+ EXCEPTION_NEG_SLEEP,
+ "Cannot go back in time");
+ return (opcode_t *)handler;
+ }
+ next = (opcode_t *)Parrot_cx_schedule_sleep(interp, (FLOATVAL) cur_opcode[1], next);
+ return (opcode_t *)next;
+}
+
+opcode_t *
+Parrot_sleep_n(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ opcode_t *next = cur_opcode + 2;
+ if (NREG(1) < 0.0) {
+ opcode_t * const handler = Parrot_ex_throw_from_op_args(interp, next,
+ EXCEPTION_NEG_SLEEP,
+ "Cannot go back in time");
+ return (opcode_t *)handler;
+ }
+ next = (opcode_t *)Parrot_cx_schedule_sleep(interp, NREG(1), next);
+ return (opcode_t *)next;
+}
+
+opcode_t *
+Parrot_sleep_nc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ opcode_t *next = cur_opcode + 2;
+ if (CONST(1)->u.number < 0.0) {
+ opcode_t * const handler = Parrot_ex_throw_from_op_args(interp, next,
+ EXCEPTION_NEG_SLEEP,
+ "Cannot go back in time");
+ return (opcode_t *)handler;
+ }
+ next = (opcode_t *)Parrot_cx_schedule_sleep(interp, CONST(1)->u.number, next);
+ return (opcode_t *)next;
+}
+
+opcode_t *
+Parrot_store_lex_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const ctx = CURRENT_CONTEXT(interp);
+ STRING * const lex_name = SREG(1);
+ PMC * const lex_pad = Parrot_find_pad(interp, lex_name, ctx);
+
+ if (PMC_IS_NULL(lex_pad)) {
+ opcode_t * const handler = Parrot_ex_throw_from_op_args(interp, NULL,
+ EXCEPTION_LEX_NOT_FOUND,
+ "Lexical '%Ss' not found", lex_name);
+ return (opcode_t *)handler;
+ }
+ VTABLE_set_pmc_keyed_str(interp, lex_pad, lex_name, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_store_lex_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const ctx = CURRENT_CONTEXT(interp);
+ STRING * const lex_name = CONST(1)->u.string;
+ PMC * const lex_pad = Parrot_find_pad(interp, lex_name, ctx);
+
+ if (PMC_IS_NULL(lex_pad)) {
+ opcode_t * const handler = Parrot_ex_throw_from_op_args(interp, NULL,
+ EXCEPTION_LEX_NOT_FOUND,
+ "Lexical '%Ss' not found", lex_name);
+ return (opcode_t *)handler;
+ }
+ VTABLE_set_pmc_keyed_str(interp, lex_pad, lex_name, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_store_dynamic_lex_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const lex_name = SREG(1);
+ PMC * const ctx =
+ Parrot_pcc_get_caller_ctx(interp, CURRENT_CONTEXT(interp));
+ PMC * const lex_pad =
+ PMC_IS_NULL(ctx)
+ ? PMCNULL
+ : Parrot_find_dynamic_pad(interp, lex_name, ctx);
+
+ if (PMC_IS_NULL(lex_pad)) {
+ opcode_t * const handler = Parrot_ex_throw_from_op_args(interp, NULL,
+ EXCEPTION_LEX_NOT_FOUND,
+ "Lexical '%Ss' not found in dynamic scope", lex_name);
+ return (opcode_t *)handler;
+ }
+ VTABLE_set_pmc_keyed_str(interp, lex_pad, lex_name, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_store_dynamic_lex_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const lex_name = CONST(1)->u.string;
+ PMC * const ctx =
+ Parrot_pcc_get_caller_ctx(interp, CURRENT_CONTEXT(interp));
+ PMC * const lex_pad =
+ PMC_IS_NULL(ctx)
+ ? PMCNULL
+ : Parrot_find_dynamic_pad(interp, lex_name, ctx);
+
+ if (PMC_IS_NULL(lex_pad)) {
+ opcode_t * const handler = Parrot_ex_throw_from_op_args(interp, NULL,
+ EXCEPTION_LEX_NOT_FOUND,
+ "Lexical '%Ss' not found in dynamic scope", lex_name);
+ return (opcode_t *)handler;
+ }
+ VTABLE_set_pmc_keyed_str(interp, lex_pad, lex_name, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_find_lex_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const ctx = CURRENT_CONTEXT(interp);
+ STRING * const lex_name = SREG(2);
+ PMC * const lex_pad = Parrot_find_pad(interp, lex_name, ctx);
+
+ PMC * const result =
+ PMC_IS_NULL(lex_pad)
+ ? NULL
+ : VTABLE_get_pmc_keyed_str(interp, lex_pad, lex_name);
+ if (!result) {
+ opcode_t * const handler = Parrot_ex_throw_from_op_args(interp, NULL,
+ EXCEPTION_LEX_NOT_FOUND,
+ "Lexical '%Ss' not found", lex_name);
+ return (opcode_t *)handler;
+ }
+ PREG(1) = result;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_find_lex_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const ctx = CURRENT_CONTEXT(interp);
+ STRING * const lex_name = CONST(2)->u.string;
+ PMC * const lex_pad = Parrot_find_pad(interp, lex_name, ctx);
+
+ PMC * const result =
+ PMC_IS_NULL(lex_pad)
+ ? NULL
+ : VTABLE_get_pmc_keyed_str(interp, lex_pad, lex_name);
+ if (!result) {
+ opcode_t * const handler = Parrot_ex_throw_from_op_args(interp, NULL,
+ EXCEPTION_LEX_NOT_FOUND,
+ "Lexical '%Ss' not found", lex_name);
+ return (opcode_t *)handler;
+ }
+ PREG(1) = result;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_find_dynamic_lex_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const lex_name = SREG(2);
+ PMC * const ctx =
+ Parrot_pcc_get_caller_ctx(interp, CURRENT_CONTEXT(interp));
+ PMC * const lex_pad =
+ PMC_IS_NULL(ctx)
+ ? PMCNULL
+ : Parrot_find_dynamic_pad(interp, lex_name, ctx);
+ PMC * const result =
+ PMC_IS_NULL(lex_pad)
+ ? PMCNULL
+ : VTABLE_get_pmc_keyed_str(interp, lex_pad, lex_name);
+ PREG(1) = result;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_find_dynamic_lex_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const lex_name = CONST(2)->u.string;
+ PMC * const ctx =
+ Parrot_pcc_get_caller_ctx(interp, CURRENT_CONTEXT(interp));
+ PMC * const lex_pad =
+ PMC_IS_NULL(ctx)
+ ? PMCNULL
+ : Parrot_find_dynamic_pad(interp, lex_name, ctx);
+ PMC * const result =
+ PMC_IS_NULL(lex_pad)
+ ? PMCNULL
+ : VTABLE_get_pmc_keyed_str(interp, lex_pad, lex_name);
+ PREG(1) = result;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_find_caller_lex_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const lex_name = SREG(2);
+ PMC * ctx = CURRENT_CONTEXT(interp);
+ PMC * result = PMCNULL;
+
+ for (ctx = Parrot_pcc_get_caller_ctx(interp, ctx);
+ !PMC_IS_NULL(ctx) && PMC_IS_NULL(result);
+ ctx = Parrot_pcc_get_caller_ctx(interp, ctx))
+ {
+ PMC * const lex_pad = Parrot_find_pad(interp, lex_name, ctx);
+ if (!PMC_IS_NULL(lex_pad)) {
+ result = VTABLE_get_pmc_keyed_str(interp, lex_pad, lex_name);
+ }
+ if (!result) result = PMCNULL;
+ }
+ PREG(1) = result;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_find_caller_lex_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const lex_name = CONST(2)->u.string;
+ PMC * ctx = CURRENT_CONTEXT(interp);
+ PMC * result = PMCNULL;
+
+ for (ctx = Parrot_pcc_get_caller_ctx(interp, ctx);
+ !PMC_IS_NULL(ctx) && PMC_IS_NULL(result);
+ ctx = Parrot_pcc_get_caller_ctx(interp, ctx))
+ {
+ PMC * const lex_pad = Parrot_find_pad(interp, lex_name, ctx);
+ if (!PMC_IS_NULL(lex_pad)) {
+ result = VTABLE_get_pmc_keyed_str(interp, lex_pad, lex_name);
+ }
+ if (!result) result = PMCNULL;
+ }
+ PREG(1) = result;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_get_namespace_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
+ PREG(1) = cur_ns;
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_get_namespace_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
+ PMC * const ns = Parrot_get_namespace_keyed(interp, cur_ns, PREG(2));
+
+ PREG(1) = PMC_IS_NULL(ns) ? PMCNULL : ns;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_get_namespace_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
+ PMC * const ns = Parrot_get_namespace_keyed(interp, cur_ns, CONST(2)->u.key);
+
+ PREG(1) = PMC_IS_NULL(ns) ? PMCNULL : ns;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_get_hll_namespace_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp);
+ PREG(1) = hll_ns;
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_get_hll_namespace_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp);
+ if (PMC_IS_NULL(hll_ns))
+ PREG(1) = PMCNULL;
+ else {
+ PMC * const ns = Parrot_get_namespace_keyed(interp, hll_ns, PREG(2));
+ PREG(1) = ns;
+ }
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_get_hll_namespace_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp);
+ if (PMC_IS_NULL(hll_ns))
+ PREG(1) = PMCNULL;
+ else {
+ PMC * const ns = Parrot_get_namespace_keyed(interp, hll_ns, CONST(2)->u.key);
+ PREG(1) = ns;
+ }
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_get_root_namespace_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const root_ns = interp->root_namespace;
+ PREG(1) = root_ns;
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_get_root_namespace_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const root_ns = interp->root_namespace;
+ if (PMC_IS_NULL(root_ns))
+ PREG(1) = PMCNULL;
+ else {
+ PMC * const ns = Parrot_get_namespace_keyed(interp, root_ns, PREG(2));
+ PREG(1) = ns;
+ }
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_get_root_namespace_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const root_ns = interp->root_namespace;
+ if (PMC_IS_NULL(root_ns))
+ PREG(1) = PMCNULL;
+ else {
+ PMC * const ns = Parrot_get_namespace_keyed(interp, root_ns, CONST(2)->u.key);
+ PREG(1) = ns;
+ }
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_get_global_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
+ PREG(1) = Parrot_find_global_op(interp, cur_ns, SREG(2), cur_opcode + 3);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_get_global_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
+ PREG(1) = Parrot_find_global_op(interp, cur_ns, CONST(2)->u.string, cur_opcode + 3);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_get_global_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
+ if (PMC_IS_NULL(cur_ns)) {
+ PREG(1) = PMCNULL;
+ }
+ else {
+ PMC * const ns = Parrot_get_namespace_keyed(interp, cur_ns, PREG(2));
+ if (PMC_IS_NULL(ns))
+ PREG(1) = PMCNULL;
+ else
+ PREG(1) = Parrot_find_global_op(interp, ns, SREG(3), cur_opcode + 4);
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_get_global_p_pc_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
+ if (PMC_IS_NULL(cur_ns)) {
+ PREG(1) = PMCNULL;
+ }
+ else {
+ PMC * const ns = Parrot_get_namespace_keyed(interp, cur_ns, CONST(2)->u.key);
+ if (PMC_IS_NULL(ns))
+ PREG(1) = PMCNULL;
+ else
+ PREG(1) = Parrot_find_global_op(interp, ns, SREG(3), cur_opcode + 4);
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_get_global_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
+ if (PMC_IS_NULL(cur_ns)) {
+ PREG(1) = PMCNULL;
+ }
+ else {
+ PMC * const ns = Parrot_get_namespace_keyed(interp, cur_ns, PREG(2));
+ if (PMC_IS_NULL(ns))
+ PREG(1) = PMCNULL;
+ else
+ PREG(1) = Parrot_find_global_op(interp, ns, CONST(3)->u.string, cur_opcode + 4);
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_get_global_p_pc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
+ if (PMC_IS_NULL(cur_ns)) {
+ PREG(1) = PMCNULL;
+ }
+ else {
+ PMC * const ns = Parrot_get_namespace_keyed(interp, cur_ns, CONST(2)->u.key);
+ if (PMC_IS_NULL(ns))
+ PREG(1) = PMCNULL;
+ else
+ PREG(1) = Parrot_find_global_op(interp, ns, CONST(3)->u.string, cur_opcode + 4);
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_get_hll_global_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp);
+ PREG(1) = Parrot_find_global_op(interp, hll_ns, SREG(2), cur_opcode + 3);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_get_hll_global_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp);
+ PREG(1) = Parrot_find_global_op(interp, hll_ns, CONST(2)->u.string, cur_opcode + 3);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_get_hll_global_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp);
+ if (PMC_IS_NULL(hll_ns)) {
+ PREG(1) = hll_ns;
+ }
+ else {
+ PMC * const ns = Parrot_get_namespace_keyed(interp, hll_ns, PREG(2));
+ if (PMC_IS_NULL(ns))
+ PREG(1) = PMCNULL;
+ else
+ PREG(1) = Parrot_find_global_op(interp, ns, SREG(3), cur_opcode + 4);
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_get_hll_global_p_pc_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp);
+ if (PMC_IS_NULL(hll_ns)) {
+ PREG(1) = hll_ns;
+ }
+ else {
+ PMC * const ns = Parrot_get_namespace_keyed(interp, hll_ns, CONST(2)->u.key);
+ if (PMC_IS_NULL(ns))
+ PREG(1) = PMCNULL;
+ else
+ PREG(1) = Parrot_find_global_op(interp, ns, SREG(3), cur_opcode + 4);
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_get_hll_global_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp);
+ if (PMC_IS_NULL(hll_ns)) {
+ PREG(1) = hll_ns;
+ }
+ else {
+ PMC * const ns = Parrot_get_namespace_keyed(interp, hll_ns, PREG(2));
+ if (PMC_IS_NULL(ns))
+ PREG(1) = PMCNULL;
+ else
+ PREG(1) = Parrot_find_global_op(interp, ns, CONST(3)->u.string, cur_opcode + 4);
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_get_hll_global_p_pc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp);
+ if (PMC_IS_NULL(hll_ns)) {
+ PREG(1) = hll_ns;
+ }
+ else {
+ PMC * const ns = Parrot_get_namespace_keyed(interp, hll_ns, CONST(2)->u.key);
+ if (PMC_IS_NULL(ns))
+ PREG(1) = PMCNULL;
+ else
+ PREG(1) = Parrot_find_global_op(interp, ns, CONST(3)->u.string, cur_opcode + 4);
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_get_root_global_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const root_ns = interp->root_namespace;
+ PREG(1) = Parrot_find_global_op(interp, root_ns, SREG(2), cur_opcode + 3);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_get_root_global_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const root_ns = interp->root_namespace;
+ PREG(1) = Parrot_find_global_op(interp, root_ns, CONST(2)->u.string, cur_opcode + 3);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_get_root_global_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const root_ns = interp->root_namespace;
+ if (PMC_IS_NULL(root_ns))
+ PREG(1) = PMCNULL;
+ else {
+ PMC * const ns = Parrot_get_namespace_keyed(interp, root_ns, PREG(2));
+ if (PMC_IS_NULL(ns))
+ PREG(1) = PMCNULL;
+ else
+ PREG(1) = Parrot_find_global_op(interp, ns, SREG(3), cur_opcode + 4);
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_get_root_global_p_pc_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const root_ns = interp->root_namespace;
+ if (PMC_IS_NULL(root_ns))
+ PREG(1) = PMCNULL;
+ else {
+ PMC * const ns = Parrot_get_namespace_keyed(interp, root_ns, CONST(2)->u.key);
+ if (PMC_IS_NULL(ns))
+ PREG(1) = PMCNULL;
+ else
+ PREG(1) = Parrot_find_global_op(interp, ns, SREG(3), cur_opcode + 4);
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_get_root_global_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const root_ns = interp->root_namespace;
+ if (PMC_IS_NULL(root_ns))
+ PREG(1) = PMCNULL;
+ else {
+ PMC * const ns = Parrot_get_namespace_keyed(interp, root_ns, PREG(2));
+ if (PMC_IS_NULL(ns))
+ PREG(1) = PMCNULL;
+ else
+ PREG(1) = Parrot_find_global_op(interp, ns, CONST(3)->u.string, cur_opcode + 4);
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_get_root_global_p_pc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const root_ns = interp->root_namespace;
+ if (PMC_IS_NULL(root_ns))
+ PREG(1) = PMCNULL;
+ else {
+ PMC * const ns = Parrot_get_namespace_keyed(interp, root_ns, CONST(2)->u.key);
+ if (PMC_IS_NULL(ns))
+ PREG(1) = PMCNULL;
+ else
+ PREG(1) = Parrot_find_global_op(interp, ns, CONST(3)->u.string, cur_opcode + 4);
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_global_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
+ Parrot_set_global(interp, cur_ns, SREG(1), PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_global_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
+ Parrot_set_global(interp, cur_ns, CONST(1)->u.string, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_global_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
+ PMC * const ns = Parrot_make_namespace_keyed(interp, cur_ns, PREG(1));
+
+ Parrot_set_global(interp, ns, SREG(2), PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_global_pc_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
+ PMC * const ns = Parrot_make_namespace_keyed(interp, cur_ns, CONST(1)->u.key);
+
+ Parrot_set_global(interp, ns, SREG(2), PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_global_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
+ PMC * const ns = Parrot_make_namespace_keyed(interp, cur_ns, PREG(1));
+
+ Parrot_set_global(interp, ns, CONST(2)->u.string, PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_global_pc_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
+ PMC * const ns = Parrot_make_namespace_keyed(interp, cur_ns, CONST(1)->u.key);
+
+ Parrot_set_global(interp, ns, CONST(2)->u.string, PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_hll_global_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp);
+ Parrot_set_global(interp, hll_ns, SREG(1), PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_hll_global_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp);
+ Parrot_set_global(interp, hll_ns, CONST(1)->u.string, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_hll_global_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp);
+ PMC * const ns = Parrot_make_namespace_keyed(interp, hll_ns, PREG(1));
+
+ Parrot_set_global(interp, ns, SREG(2), PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_hll_global_pc_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp);
+ PMC * const ns = Parrot_make_namespace_keyed(interp, hll_ns, CONST(1)->u.key);
+
+ Parrot_set_global(interp, ns, SREG(2), PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_hll_global_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp);
+ PMC * const ns = Parrot_make_namespace_keyed(interp, hll_ns, PREG(1));
+
+ Parrot_set_global(interp, ns, CONST(2)->u.string, PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_hll_global_pc_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp);
+ PMC * const ns = Parrot_make_namespace_keyed(interp, hll_ns, CONST(1)->u.key);
+
+ Parrot_set_global(interp, ns, CONST(2)->u.string, PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_root_global_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const root_ns = interp->root_namespace;
+ Parrot_set_global(interp, root_ns, SREG(1), PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_root_global_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const root_ns = interp->root_namespace;
+ Parrot_set_global(interp, root_ns, CONST(1)->u.string, PREG(2));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_set_root_global_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const root_ns = interp->root_namespace;
+ PMC * const ns = Parrot_make_namespace_keyed(interp, root_ns, PREG(1));
+
+ Parrot_set_global(interp, ns, SREG(2), PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_root_global_pc_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const root_ns = interp->root_namespace;
+ PMC * const ns = Parrot_make_namespace_keyed(interp, root_ns, CONST(1)->u.key);
+
+ Parrot_set_global(interp, ns, SREG(2), PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_root_global_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const root_ns = interp->root_namespace;
+ PMC * const ns = Parrot_make_namespace_keyed(interp, root_ns, PREG(1));
+
+ Parrot_set_global(interp, ns, CONST(2)->u.string, PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_set_root_global_pc_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const root_ns = interp->root_namespace;
+ PMC * const ns = Parrot_make_namespace_keyed(interp, root_ns, CONST(1)->u.key);
+
+ Parrot_set_global(interp, ns, CONST(2)->u.string, PREG(3));
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_find_name_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (!SREG(2)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, NULL,
+ EXCEPTION_INVALID_OPERATION,
+ "Tried to find null name");
+ return (opcode_t *)handler;
+ }
+
+ PREG(1) = Parrot_find_name_op(interp, SREG(2), cur_opcode + 3);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_find_name_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ if (!CONST(2)->u.string) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, NULL,
+ EXCEPTION_INVALID_OPERATION,
+ "Tried to find null name");
+ return (opcode_t *)handler;
+ }
+
+ PREG(1) = Parrot_find_name_op(interp, CONST(2)->u.string, cur_opcode + 3);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_find_sub_not_null_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ opcode_t *dest = cur_opcode + 3;
+ PMC *sub = Parrot_find_name_op(interp, SREG(2), dest);
+
+ if (PMC_IS_NULL(sub)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, dest,
+ EXCEPTION_GLOBAL_NOT_FOUND,
+ "Could not find sub %Ss", SREG(2));
+ return (opcode_t *)handler;
+ }
+
+ PREG(1) = sub;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_find_sub_not_null_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ opcode_t *dest = cur_opcode + 3;
+ PMC *sub = Parrot_find_name_op(interp, CONST(2)->u.string, dest);
+
+ if (PMC_IS_NULL(sub)) {
+ opcode_t *handler = Parrot_ex_throw_from_op_args(interp, dest,
+ EXCEPTION_GLOBAL_NOT_FOUND,
+ "Could not find sub %Ss", CONST(2)->u.string);
+ return (opcode_t *)handler;
+ }
+
+ PREG(1) = sub;
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_trap(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#if defined(__GNUC__) && defined(i386)
+ __asm__("int3"); /* opcode 0xcc */
+#endif
+#if defined(__GNUC__) && defined(PPC)
+ __asm__("trap"); /* opcode tr 31, 0, 0 */
+#endif
+
+return (opcode_t *)cur_opcode + 1;}
+
+opcode_t *
+Parrot_set_label_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ VTABLE_set_pointer(interp, PREG(1), (CUR_OPCODE + cur_opcode[2]));
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_get_label_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ void * const ptr = VTABLE_get_pointer(interp, PREG(2));
+ IREG(1) = PTR2INTVAL(ptr);
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_fetch_p_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), PREG(3));
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, PREG(4));
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_fetch_p_pc_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed(interp, CONST(2)->u.key, PREG(3));
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, PREG(4));
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_fetch_p_p_pc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), CONST(3)->u.key);
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, PREG(4));
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_fetch_p_pc_pc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed(interp, CONST(2)->u.key, CONST(3)->u.key);
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, PREG(4));
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_fetch_p_p_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), PREG(3));
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_fetch_p_pc_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed(interp, CONST(2)->u.key, PREG(3));
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_fetch_p_p_pc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), CONST(3)->u.key);
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_fetch_p_pc_pc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed(interp, CONST(2)->u.key, CONST(3)->u.key);
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_fetch_p_p_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), IREG(3));
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, PREG(4));
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_fetch_p_pc_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed_int(interp, CONST(2)->u.key, IREG(3));
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, PREG(4));
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_fetch_p_p_ic_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), cur_opcode[3]);
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, PREG(4));
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_fetch_p_pc_ic_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed_int(interp, CONST(2)->u.key, cur_opcode[3]);
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, PREG(4));
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_fetch_p_p_i_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), IREG(3));
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_fetch_p_pc_i_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed_int(interp, CONST(2)->u.key, IREG(3));
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_fetch_p_p_ic_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), cur_opcode[3]);
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_fetch_p_pc_ic_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed_int(interp, CONST(2)->u.key, cur_opcode[3]);
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_fetch_p_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), SREG(3));
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, PREG(4));
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_fetch_p_pc_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed_str(interp, CONST(2)->u.key, SREG(3));
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, PREG(4));
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_fetch_p_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), CONST(3)->u.string);
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, PREG(4));
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_fetch_p_pc_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed_str(interp, CONST(2)->u.key, CONST(3)->u.string);
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, PREG(4));
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_fetch_p_p_s_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), SREG(3));
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_fetch_p_pc_s_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed_str(interp, CONST(2)->u.key, SREG(3));
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_fetch_p_p_sc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), CONST(3)->u.string);
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_fetch_p_pc_sc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed_str(interp, CONST(2)->u.key, CONST(3)->u.string);
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_vivify_p_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), PREG(3));
+
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
+
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, PREG(4));
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+ VTABLE_set_pmc_keyed(interp, PREG(2), PREG(3), PREG(1));
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_vivify_p_pc_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed(interp, CONST(2)->u.key, PREG(3));
+
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
+
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, PREG(4));
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+ VTABLE_set_pmc_keyed(interp, CONST(2)->u.key, PREG(3), PREG(1));
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_vivify_p_p_pc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), CONST(3)->u.key);
+
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
+
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, PREG(4));
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+ VTABLE_set_pmc_keyed(interp, PREG(2), CONST(3)->u.key, PREG(1));
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_vivify_p_pc_pc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed(interp, CONST(2)->u.key, CONST(3)->u.key);
+
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
+
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, PREG(4));
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+ VTABLE_set_pmc_keyed(interp, CONST(2)->u.key, CONST(3)->u.key, PREG(1));
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_vivify_p_p_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), PREG(3));
+
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+ VTABLE_set_pmc_keyed(interp, PREG(2), PREG(3), PREG(1));
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_vivify_p_pc_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed(interp, CONST(2)->u.key, PREG(3));
+
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+ VTABLE_set_pmc_keyed(interp, CONST(2)->u.key, PREG(3), PREG(1));
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_vivify_p_p_pc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), CONST(3)->u.key);
+
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+ VTABLE_set_pmc_keyed(interp, PREG(2), CONST(3)->u.key, PREG(1));
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_vivify_p_pc_pc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed(interp, CONST(2)->u.key, CONST(3)->u.key);
+
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+ VTABLE_set_pmc_keyed(interp, CONST(2)->u.key, CONST(3)->u.key, PREG(1));
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_vivify_p_p_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), IREG(3));
+
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, PREG(4));
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+
+ VTABLE_set_pmc_keyed_int(interp, PREG(2), IREG(3), PREG(1));
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_vivify_p_pc_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed_int(interp, CONST(2)->u.key, IREG(3));
+
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, PREG(4));
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+
+ VTABLE_set_pmc_keyed_int(interp, CONST(2)->u.key, IREG(3), PREG(1));
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_vivify_p_p_ic_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), cur_opcode[3]);
+
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, PREG(4));
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+
+ VTABLE_set_pmc_keyed_int(interp, PREG(2), cur_opcode[3], PREG(1));
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_vivify_p_pc_ic_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed_int(interp, CONST(2)->u.key, cur_opcode[3]);
+
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, PREG(4));
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+
+ VTABLE_set_pmc_keyed_int(interp, CONST(2)->u.key, cur_opcode[3], PREG(1));
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_vivify_p_p_i_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), IREG(3));
+
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+
+ VTABLE_set_pmc_keyed_int(interp, PREG(2), IREG(3), PREG(1));
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_vivify_p_pc_i_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed_int(interp, CONST(2)->u.key, IREG(3));
+
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+
+ VTABLE_set_pmc_keyed_int(interp, CONST(2)->u.key, IREG(3), PREG(1));
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_vivify_p_p_ic_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), cur_opcode[3]);
+
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+
+ VTABLE_set_pmc_keyed_int(interp, PREG(2), cur_opcode[3], PREG(1));
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_vivify_p_pc_ic_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed_int(interp, CONST(2)->u.key, cur_opcode[3]);
+
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+
+ VTABLE_set_pmc_keyed_int(interp, CONST(2)->u.key, cur_opcode[3], PREG(1));
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_vivify_p_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), SREG(3));
+
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, PREG(4));
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+
+ VTABLE_set_pmc_keyed_str(interp, PREG(2), SREG(3), PREG(1));
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_vivify_p_pc_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed_str(interp, CONST(2)->u.key, SREG(3));
+
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, PREG(4));
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+
+ VTABLE_set_pmc_keyed_str(interp, CONST(2)->u.key, SREG(3), PREG(1));
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_vivify_p_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), CONST(3)->u.string);
+
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, PREG(4));
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+
+ VTABLE_set_pmc_keyed_str(interp, PREG(2), CONST(3)->u.string, PREG(1));
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_vivify_p_pc_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed_str(interp, CONST(2)->u.key, CONST(3)->u.string);
+
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, PREG(4));
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, PREG(4)));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+
+ VTABLE_set_pmc_keyed_str(interp, CONST(2)->u.key, CONST(3)->u.string, PREG(1));
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_vivify_p_p_s_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), SREG(3));
+
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+
+ VTABLE_set_pmc_keyed_str(interp, PREG(2), SREG(3), PREG(1));
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_vivify_p_pc_s_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed_str(interp, CONST(2)->u.key, SREG(3));
+
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+
+ VTABLE_set_pmc_keyed_str(interp, CONST(2)->u.key, SREG(3), PREG(1));
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_vivify_p_p_sc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), CONST(3)->u.string);
+
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+
+ VTABLE_set_pmc_keyed_str(interp, PREG(2), CONST(3)->u.string, PREG(1));
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_vivify_p_pc_sc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PREG(1) = VTABLE_get_pmc_keyed_str(interp, CONST(2)->u.key, CONST(3)->u.string);
+
+ if (PMC_IS_NULL(PREG(1))) {
+ PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+ if (!PMC_IS_NULL(classobj))
+ PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
+ else {
+ const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(
+ interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));
+ return (opcode_t *)dest;
+ }
+
+ PREG(1) = Parrot_pmc_new(interp, type);
+ }
+
+ VTABLE_set_pmc_keyed_str(interp, CONST(2)->u.key, CONST(3)->u.string, PREG(1));
+ }
+
+return (opcode_t *)cur_opcode + 5;}
+
+opcode_t *
+Parrot_new_p_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const name = SREG(2);
+ PMC * const _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp))
+ ? Parrot_oo_get_class_str(interp, name)
+ : PMCNULL;
+
+ if (!PMC_IS_NULL(_class)) {
+ PMC *initial = Parrot_pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_Integer));
+ VTABLE_set_integer_native(interp, initial, IREG(3));
+ PREG(1) = VTABLE_instantiate(interp, _class, initial);
+ }
+ else {
+ const INTVAL type = Parrot_pmc_get_type_str(interp, name);
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", name);
+ return (opcode_t *)dest;
+ }
+ PREG(1) = Parrot_pmc_new_init_int(interp, type, IREG(3));
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_new_p_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const name = CONST(2)->u.string;
+ PMC * const _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp))
+ ? Parrot_oo_get_class_str(interp, name)
+ : PMCNULL;
+
+ if (!PMC_IS_NULL(_class)) {
+ PMC *initial = Parrot_pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_Integer));
+ VTABLE_set_integer_native(interp, initial, IREG(3));
+ PREG(1) = VTABLE_instantiate(interp, _class, initial);
+ }
+ else {
+ const INTVAL type = Parrot_pmc_get_type_str(interp, name);
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", name);
+ return (opcode_t *)dest;
+ }
+ PREG(1) = Parrot_pmc_new_init_int(interp, type, IREG(3));
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_new_p_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const name = SREG(2);
+ PMC * const _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp))
+ ? Parrot_oo_get_class_str(interp, name)
+ : PMCNULL;
+
+ if (!PMC_IS_NULL(_class)) {
+ PMC *initial = Parrot_pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_Integer));
+ VTABLE_set_integer_native(interp, initial, cur_opcode[3]);
+ PREG(1) = VTABLE_instantiate(interp, _class, initial);
+ }
+ else {
+ const INTVAL type = Parrot_pmc_get_type_str(interp, name);
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", name);
+ return (opcode_t *)dest;
+ }
+ PREG(1) = Parrot_pmc_new_init_int(interp, type, cur_opcode[3]);
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_new_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ STRING * const name = CONST(2)->u.string;
+ PMC * const _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp))
+ ? Parrot_oo_get_class_str(interp, name)
+ : PMCNULL;
+
+ if (!PMC_IS_NULL(_class)) {
+ PMC *initial = Parrot_pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_Integer));
+ VTABLE_set_integer_native(interp, initial, cur_opcode[3]);
+ PREG(1) = VTABLE_instantiate(interp, _class, initial);
+ }
+ else {
+ const INTVAL type = Parrot_pmc_get_type_str(interp, name);
+ if (type <= 0) {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", name);
+ return (opcode_t *)dest;
+ }
+ PREG(1) = Parrot_pmc_new_init_int(interp, type, cur_opcode[3]);
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_new_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const name_key = PREG(2);
+
+ /* get_class() returns a PMCProxy for core types, so check for core PMCs */
+ const INTVAL type = Parrot_pmc_get_type(interp, name_key);
+
+ /* if it's clearly a PIR-level PMC */
+ if (type > enum_class_core_max) {
+ PMC * const _class = Parrot_oo_get_class(interp, name_key);
+ if (!PMC_IS_NULL(_class)) {
+ PMC *initial = Parrot_pmc_new(interp,
+ Parrot_get_ctx_HLL_type(interp, enum_class_Integer));
+ VTABLE_set_integer_native(interp, initial, IREG(3));
+ PREG(1) = VTABLE_instantiate(interp, _class, initial);
+ }
+ }
+
+ /* if it's a core PMC */
+ else if (type > enum_class_default)
+ PREG(1) = Parrot_pmc_new_init_int(interp, type, IREG(3));
+
+ /* it's a typo */
+ else {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));
+ return (opcode_t *)dest;
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_new_p_pc_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const name_key = CONST(2)->u.key;
+
+ /* get_class() returns a PMCProxy for core types, so check for core PMCs */
+ const INTVAL type = Parrot_pmc_get_type(interp, name_key);
+
+ /* if it's clearly a PIR-level PMC */
+ if (type > enum_class_core_max) {
+ PMC * const _class = Parrot_oo_get_class(interp, name_key);
+ if (!PMC_IS_NULL(_class)) {
+ PMC *initial = Parrot_pmc_new(interp,
+ Parrot_get_ctx_HLL_type(interp, enum_class_Integer));
+ VTABLE_set_integer_native(interp, initial, IREG(3));
+ PREG(1) = VTABLE_instantiate(interp, _class, initial);
+ }
+ }
+
+ /* if it's a core PMC */
+ else if (type > enum_class_default)
+ PREG(1) = Parrot_pmc_new_init_int(interp, type, IREG(3));
+
+ /* it's a typo */
+ else {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));
+ return (opcode_t *)dest;
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_new_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const name_key = PREG(2);
+
+ /* get_class() returns a PMCProxy for core types, so check for core PMCs */
+ const INTVAL type = Parrot_pmc_get_type(interp, name_key);
+
+ /* if it's clearly a PIR-level PMC */
+ if (type > enum_class_core_max) {
+ PMC * const _class = Parrot_oo_get_class(interp, name_key);
+ if (!PMC_IS_NULL(_class)) {
+ PMC *initial = Parrot_pmc_new(interp,
+ Parrot_get_ctx_HLL_type(interp, enum_class_Integer));
+ VTABLE_set_integer_native(interp, initial, cur_opcode[3]);
+ PREG(1) = VTABLE_instantiate(interp, _class, initial);
+ }
+ }
+
+ /* if it's a core PMC */
+ else if (type > enum_class_default)
+ PREG(1) = Parrot_pmc_new_init_int(interp, type, cur_opcode[3]);
+
+ /* it's a typo */
+ else {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));
+ return (opcode_t *)dest;
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_new_p_pc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const name_key = CONST(2)->u.key;
+
+ /* get_class() returns a PMCProxy for core types, so check for core PMCs */
+ const INTVAL type = Parrot_pmc_get_type(interp, name_key);
+
+ /* if it's clearly a PIR-level PMC */
+ if (type > enum_class_core_max) {
+ PMC * const _class = Parrot_oo_get_class(interp, name_key);
+ if (!PMC_IS_NULL(_class)) {
+ PMC *initial = Parrot_pmc_new(interp,
+ Parrot_get_ctx_HLL_type(interp, enum_class_Integer));
+ VTABLE_set_integer_native(interp, initial, cur_opcode[3]);
+ PREG(1) = VTABLE_instantiate(interp, _class, initial);
+ }
+ }
+
+ /* if it's a core PMC */
+ else if (type > enum_class_default)
+ PREG(1) = Parrot_pmc_new_init_int(interp, type, cur_opcode[3]);
+
+ /* it's a typo */
+ else {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));
+ return (opcode_t *)dest;
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_root_new_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const name_key = PREG(2);
+
+ /* get_class() returns a PMCProxy for core types, so check for core PMCs */
+ const INTVAL type = Parrot_pmc_get_type(interp, name_key);
+
+ /* if it's clearly a PIR-level PMC */
+ if (type > enum_class_core_max) {
+ PMC * const root_ns = interp->root_namespace;
+ PMC * const ns = Parrot_get_namespace_keyed(interp, root_ns, name_key);
+ PMC * const _class = Parrot_oo_get_class(interp, ns);
+ if (!PMC_IS_NULL(_class)) {
+ PMC *initial = Parrot_pmc_new(interp,
+ Parrot_get_ctx_HLL_type(interp, enum_class_Integer));
+ VTABLE_set_integer_native(interp, initial, IREG(3));
+ PREG(1) = VTABLE_instantiate(interp, _class, initial);
+ }
+ }
+
+ /* if it's a core PMC */
+ else if (type > enum_class_default)
+ PREG(1) = Parrot_pmc_new_init_int(interp, type, IREG(3));
+
+ /* it's a typo */
+ else {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));
+ return (opcode_t *)dest;
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_root_new_p_pc_i(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const name_key = CONST(2)->u.key;
+
+ /* get_class() returns a PMCProxy for core types, so check for core PMCs */
+ const INTVAL type = Parrot_pmc_get_type(interp, name_key);
+
+ /* if it's clearly a PIR-level PMC */
+ if (type > enum_class_core_max) {
+ PMC * const root_ns = interp->root_namespace;
+ PMC * const ns = Parrot_get_namespace_keyed(interp, root_ns, name_key);
+ PMC * const _class = Parrot_oo_get_class(interp, ns);
+ if (!PMC_IS_NULL(_class)) {
+ PMC *initial = Parrot_pmc_new(interp,
+ Parrot_get_ctx_HLL_type(interp, enum_class_Integer));
+ VTABLE_set_integer_native(interp, initial, IREG(3));
+ PREG(1) = VTABLE_instantiate(interp, _class, initial);
+ }
+ }
+
+ /* if it's a core PMC */
+ else if (type > enum_class_default)
+ PREG(1) = Parrot_pmc_new_init_int(interp, type, IREG(3));
+
+ /* it's a typo */
+ else {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));
+ return (opcode_t *)dest;
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_root_new_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const name_key = PREG(2);
+
+ /* get_class() returns a PMCProxy for core types, so check for core PMCs */
+ const INTVAL type = Parrot_pmc_get_type(interp, name_key);
+
+ /* if it's clearly a PIR-level PMC */
+ if (type > enum_class_core_max) {
+ PMC * const root_ns = interp->root_namespace;
+ PMC * const ns = Parrot_get_namespace_keyed(interp, root_ns, name_key);
+ PMC * const _class = Parrot_oo_get_class(interp, ns);
+ if (!PMC_IS_NULL(_class)) {
+ PMC *initial = Parrot_pmc_new(interp,
+ Parrot_get_ctx_HLL_type(interp, enum_class_Integer));
+ VTABLE_set_integer_native(interp, initial, cur_opcode[3]);
+ PREG(1) = VTABLE_instantiate(interp, _class, initial);
+ }
+ }
+
+ /* if it's a core PMC */
+ else if (type > enum_class_default)
+ PREG(1) = Parrot_pmc_new_init_int(interp, type, cur_opcode[3]);
+
+ /* it's a typo */
+ else {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));
+ return (opcode_t *)dest;
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_root_new_p_pc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ PMC * const name_key = CONST(2)->u.key;
+
+ /* get_class() returns a PMCProxy for core types, so check for core PMCs */
+ const INTVAL type = Parrot_pmc_get_type(interp, name_key);
+
+ /* if it's clearly a PIR-level PMC */
+ if (type > enum_class_core_max) {
+ PMC * const root_ns = interp->root_namespace;
+ PMC * const ns = Parrot_get_namespace_keyed(interp, root_ns, name_key);
+ PMC * const _class = Parrot_oo_get_class(interp, ns);
+ if (!PMC_IS_NULL(_class)) {
+ PMC *initial = Parrot_pmc_new(interp,
+ Parrot_get_ctx_HLL_type(interp, enum_class_Integer));
+ VTABLE_set_integer_native(interp, initial, cur_opcode[3]);
+ PREG(1) = VTABLE_instantiate(interp, _class, initial);
+ }
+ }
+
+ /* if it's a core PMC */
+ else if (type > enum_class_default)
+ PREG(1) = Parrot_pmc_new_init_int(interp, type, cur_opcode[3]);
+
+ /* it's a typo */
+ else {
+ opcode_t *dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
+ EXCEPTION_NO_CLASS,
+ "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));
+ return (opcode_t *)dest;
+ }
+
+return (opcode_t *)cur_opcode + 4;}
+
+opcode_t *
+Parrot_find_codepoint_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#if PARROT_HAS_ICU
+ UErrorCode err = U_ZERO_ERROR;
+ char * const cstr = Parrot_str_to_cstring(interp, SREG(2));
+ UChar32 codepoint = u_charFromName(U_EXTENDED_CHAR_NAME, cstr, &err);
+ Parrot_str_free_cstring(cstr);
+ IREG(1) = U_SUCCESS(err) ? (INTVAL) codepoint : -1;
+#else
+ opcode_t * const dest = cur_opcode + 3;
+ Parrot_ex_throw_from_op_args(interp, dest, EXCEPTION_LIBRARY_ERROR,
+ "no ICU lib loaded");
+#endif
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_find_codepoint_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#if PARROT_HAS_ICU
+ UErrorCode err = U_ZERO_ERROR;
+ char * const cstr = Parrot_str_to_cstring(interp, CONST(2)->u.string);
+ UChar32 codepoint = u_charFromName(U_EXTENDED_CHAR_NAME, cstr, &err);
+ Parrot_str_free_cstring(cstr);
+ IREG(1) = U_SUCCESS(err) ? (INTVAL) codepoint : -1;
+#else
+ opcode_t * const dest = cur_opcode + 3;
+ Parrot_ex_throw_from_op_args(interp, dest, EXCEPTION_LIBRARY_ERROR,
+ "no ICU lib loaded");
+#endif
+
+return (opcode_t *)cur_opcode + 3;}
+
+opcode_t *
+Parrot_unroll_p(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ /* Go to the next op after loop unrolling */
+ opcode_t * const dest = cur_opcode + 2;
+ PMC *eh = PMCNULL;
+ if (!PMC_IS_NULL(PREG(1))) {
+ /* If isa ExceptionHandler, use it. If isa Exception, get its active handler */
+ if (VTABLE_isa(interp, PREG(1), Parrot_str_new_constant(interp, "ExceptionHandler")))
+ eh = PREG(1);
+ else if (VTABLE_isa(interp, PREG(1), Parrot_str_new_constant(interp, "Exception"))) {
+ PMC *iter = VTABLE_get_attr_str(interp,
+ PREG(1), Parrot_str_new_constant(interp, "handler_iter"));
+ if (!PMC_IS_NULL(iter))
+ eh = VTABLE_get_pmc_keyed_int(interp, iter, -1);
+ }
+ }
+ if (!PMC_IS_NULL(eh)) {
+ /* Get the runloop_id from the continuation and jump to it. */
+ Parrot_runloop *rl = interp->current_runloop;
+ INTVAL rid;
+ Parrot_pcc_invoke_method_from_c_args(interp,
+ eh, Parrot_str_new_constant(interp, "rid"),
+ "->I", &rid);
+ while (rl && rl->id != rid)
+ rl = rl->prev;
+ if (rl) {
+ if (rl != interp->current_runloop) {
+ rl->handler_start = dest;
+ longjmp(rl->resume, 3);
+ }
+ }
+ else
+ Parrot_ex_throw_from_c_args(interp, NULL,
+ EXCEPTION_INVALID_OPERATION, "missing runloop");
+ }
+
+return (opcode_t *)cur_opcode + 2;}
+
+opcode_t *
+Parrot_unroll_pc(opcode_t *cur_opcode, PARROT_INTERP) {
+ const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+ /* Go to the next op after loop unrolling */
+ opcode_t * const dest = cur_opcode + 2;
+ PMC *eh = PMCNULL;
+ if (!PMC_IS_NULL(CONST(1)->u.key)) {
+ /* If isa ExceptionHandler, use it. If isa Exception, get its active handler */
+ if (VTABLE_isa(interp, CONST(1)->u.key, Parrot_str_new_constant(interp, "ExceptionHandler")))
+ eh = CONST(1)->u.key;
+ else if (VTABLE_isa(interp, CONST(1)->u.key, Parrot_str_new_constant(interp, "Exception"))) {
+ PMC *iter = VTABLE_get_attr_str(interp,
+ CONST(1)->u.key, Parrot_str_new_constant(interp, "handler_iter"));
+ if (!PMC_IS_NULL(iter))
+ eh = VTABLE_get_pmc_keyed_int(interp, iter, -1);
+ }
+ }
+ if (!PMC_IS_NULL(eh)) {
+ /* Get the runloop_id from the continuation and jump to it. */
+ Parrot_runloop *rl = interp->current_runloop;
+ INTVAL rid;
+ Parrot_pcc_invoke_method_from_c_args(interp,
+ eh, Parrot_str_new_constant(interp, "rid"),
+ "->I", &rid);
+ while (rl && rl->id != rid)
+ rl = rl->prev;
+ if (rl) {
+ if (rl != interp->current_runloop) {
+ rl->handler_start = dest;
+ longjmp(rl->resume, 3);
+ }
+ }
+ else
+ Parrot_ex_throw_from_c_args(interp, NULL,
+ EXCEPTION_INVALID_OPERATION, "missing runloop");
+ }
+
+return (opcode_t *)cur_opcode + 2;}
+
+
+/*
+** op lib descriptor:
+*/
+
+static op_lib_t core_op_lib = {
+ "core", /* name */
+ "", /* suffix */
+ PARROT_FUNCTION_CORE, /* core_type = PARROT_XX_CORE */
+ 0, /* flags */
+ 2, /* major_version */
+ 4, /* minor_version */
+ 0, /* patch_version */
+ 1268, /* op_count */
+ core_op_info_table, /* op_info_table */
+ core_op_func_table, /* op_func_table */
+ get_op /* op_code() */
+};
+
+/*
+** Op lookup function:
+*/
+
+#define OP_HASH_SIZE 3041
+
+/* we could calculate a prime somewhat bigger than
+ * n of fullnames + n of names
+ * for now this should be ok
+ *
+ * look up an op_code: at first call to op_code() a hash
+ * of short and full opcode names is created
+ * hash functions are from imcc, thanks to Melvin.
+ */
+
+
+typedef struct hop {
+ op_info_t * info;
+ struct hop *next;
+} HOP;
+static HOP **hop;
+
+static void hop_init(PARROT_INTERP);
+static size_t hash_str(const char *str);
+static void store_op(PARROT_INTERP, op_info_t *info, int full);
+
+/* XXX on changing interpreters, this should be called,
+ through a hook */
+
+static void hop_deinit(PARROT_INTERP);
+
+/*
+ * find a short or full opcode
+ * usage:
+ *
+ * interp->op_lib->op_code("set", 0)
+ * interp->op_lib->op_code("set_i_i", 1)
+ *
+ * returns >= 0 (found idx into info_table), -1 if not
+ */
+
+static size_t hash_str(const char *str) {
+ size_t key = 0;
+ const char *s = str;
+
+ while (*s) {
+ key *= 65599;
+ key += *s++;
+ }
+
+ return key;
+}
+
+static void store_op(PARROT_INTERP, op_info_t *info, int full) {
+ HOP * const p = mem_gc_allocate_zeroed_typed(interp, HOP);
+ const size_t hidx =
+ hash_str(full ? info->full_name : info->name) % OP_HASH_SIZE;
+
+ p->info = info;
+ p->next = hop[hidx];
+ hop[hidx] = p;
+}
+static int get_op(PARROT_INTERP, const char * name, int full) {
+ const HOP * p;
+ const size_t hidx = hash_str(name) % OP_HASH_SIZE;
+ if (!hop) {
+ hop = mem_gc_allocate_n_zeroed_typed(interp, OP_HASH_SIZE,HOP *);
+ hop_init(interp);
+ }
+ for (p = hop[hidx]; p; p = p->next) {
+ if(STREQ(name, full ? p->info->full_name : p->info->name))
+ return p->info - core_op_lib.op_info_table;
+ }
+ return -1;
+}
+static void hop_init(PARROT_INTERP) {
+ size_t i;
+ op_info_t * const info = core_op_lib.op_info_table;
+ /* store full names */
+ for (i = 0; i < core_op_lib.op_count; i++)
+ store_op(interp, info + i, 1);
+ /* plus one short name */
+ for (i = 0; i < core_op_lib.op_count; i++)
+ if (get_op(interp, info[i].name, 0) == -1)
+ store_op(interp, info + i, 0);
+}
+static void hop_deinit(PARROT_INTERP)
+{
+ if (hop) {
+ size_t i;
+ for (i = 0; i < OP_HASH_SIZE; i++) {
+ HOP *p = hop[i];
+ while (p) {
+ HOP * const next = p->next;
+ mem_gc_free(interp, p);
+ p = next;
+ }
+ }
+ mem_sys_free(hop);
+ hop = NULL;
+ }
+}
+op_lib_t *
+Parrot_DynOp_core_2_4_0(PARROT_INTERP, long init) {
+ /* initialize and return op_lib ptr */
+ if (init == 1) {
+
+ return &core_op_lib;
+ }
+ /* set op_lib to the passed ptr (in init) */
+ else if (init) {
+
+ }
+ /* deinit - free resources */
+ else {
+ hop_deinit(interp);
+ }
+ return NULL;
+}
+
+
+/*
+ * dynamic lib load function - called once
+ */
+ PMC*
+Parrot_lib_core_ops_load(PARROT_INTERP);
+
+ PMC*
+Parrot_lib_core_ops_load(PARROT_INTERP)
+
+{
+ PMC *const lib = Parrot_pmc_new(interp, enum_class_ParrotLibrary);
+ ((Parrot_ParrotLibrary_attributes*)PMC_data(lib))->oplib_init = (void *) Parrot_DynOp_core_2_4_0;
+ dynop_register(interp, lib);
+ return lib;
+}
+
+
+/*
+ * Local variables:
+ * c-file-style: "parrot"
+ * buffer-read-only: t
+ * End:
+ * vim: expandtab shiftwidth=4:
+ */
Modified: branches/ucs4_encoding/src/ops/var.ops
==============================================================================
--- branches/ucs4_encoding/src/ops/var.ops Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/src/ops/var.ops Mon May 24 21:18:41 2010 (r46974)
@@ -496,7 +496,7 @@
=head1 COPYRIGHT
-Copyright (C) 2001-2009, Parrot Foundation.
+Copyright (C) 2001-2010, Parrot Foundation.
=head1 LICENSE
Modified: branches/ucs4_encoding/src/packfile/pf_items.c
==============================================================================
--- branches/ucs4_encoding/src/packfile/pf_items.c Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/src/packfile/pf_items.c Mon May 24 21:18:41 2010 (r46974)
@@ -1370,7 +1370,8 @@
*/
-PARROT_PURE_FUNCTION
+PARROT_CONST_FUNCTION
+PARROT_WARN_UNUSED_RESULT
size_t
PF_size_strlen(const UINTVAL len)
{
Modified: branches/ucs4_encoding/src/parrot_debugger.c
==============================================================================
--- branches/ucs4_encoding/src/parrot_debugger.c Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/src/parrot_debugger.c Mon May 24 21:18:41 2010 (r46974)
@@ -140,8 +140,7 @@
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
-#include "../compilers/imcc/imc.h"
-#include "../compilers/imcc/parser.h"
+#include "parrot/parrot.h"
#include "parrot/embed.h"
#include "parrot/debugger.h"
#include "parrot/runcore_api.h"
@@ -206,34 +205,13 @@
PackFile_fixup_subs(interp, PBC_MAIN, NULL);
}
else {
- void *yyscanner;
- Parrot_PackFile pf = PackFile_new(interp, 0);
- int pasm_file = 0;
-
- do_yylex_init(interp, &yyscanner);
+ STRING *errmsg = NULL;
+ Parrot_PackFile pf = PackFile_new(interp, 0);
Parrot_pbc_load(interp, pf);
-
- IMCC_push_parser_state(interp);
- IMCC_INFO(interp)->state->file = mem_sys_strdup(filename);
-
- if (!(imc_yyin_set(fopen(filename, "r"), yyscanner))) {
- IMCC_fatal_standalone(interp, EXCEPTION_PIO_ERROR,
- "Error reading source file %s.\n",
- filename);
- }
-
- if (ext && STREQ(ext, ".pasm"))
- pasm_file = 1;
-
- emit_open(interp, 1, NULL);
- IMCC_INFO(interp)->state->pasm_file = pasm_file;
- yyparse(yyscanner, interp);
- imc_compile_all_units(interp);
-
- imc_cleanup(interp, yyscanner);
-
- fclose(imc_yyin_get(yyscanner));
+ Parrot_compile_file(interp, filename, &errmsg);
+ if (errmsg)
+ Parrot_ex_throw_from_c_args(interp, NULL, 1, "%S", errmsg);
PackFile_fixup_subs(interp, PBC_POSTCOMP, NULL);
/* load the source for debugger list */
Modified: branches/ucs4_encoding/src/pmc.c
==============================================================================
--- branches/ucs4_encoding/src/pmc.c Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/src/pmc.c Mon May 24 21:18:41 2010 (r46974)
@@ -80,6 +80,7 @@
*/
PARROT_EXPORT
+PARROT_PURE_FUNCTION
PARROT_WARN_UNUSED_RESULT
PARROT_HOT
INTVAL
@@ -187,8 +188,7 @@
PARROT_CANNOT_RETURN_NULL
PARROT_IGNORABLE_RESULT
PMC *
-Parrot_pmc_reuse(PARROT_INTERP, ARGIN(PMC *pmc), INTVAL new_type,
- SHIM(UINTVAL flags))
+Parrot_pmc_reuse(PARROT_INTERP, ARGIN(PMC *pmc), INTVAL new_type, SHIM(UINTVAL flags))
{
ASSERT_ARGS(Parrot_pmc_reuse)
pmc = Parrot_pmc_reuse_noinit(interp, pmc, new_type);
@@ -292,8 +292,7 @@
PARROT_CANNOT_RETURN_NULL
PARROT_IGNORABLE_RESULT
PMC *
-Parrot_pmc_reuse_by_class(PARROT_INTERP, ARGMOD(PMC *pmc), ARGIN(PMC *class_),
- UINTVAL flags)
+Parrot_pmc_reuse_by_class(PARROT_INTERP, ARGMOD(PMC *pmc), ARGIN(PMC *class_), UINTVAL flags)
{
ASSERT_ARGS(Parrot_pmc_reuse_by_class)
const INTVAL new_type = PARROT_CLASS(class_)->id;
@@ -495,6 +494,7 @@
PARROT_EXPORT
PARROT_CANNOT_RETURN_NULL
+PARROT_WARN_UNUSED_RESULT
PMC *
Parrot_pmc_new_constant_noinit(PARROT_INTERP, INTVAL base_type)
{
Modified: branches/ucs4_encoding/src/pmc/nci.pmc
==============================================================================
--- branches/ucs4_encoding/src/pmc/nci.pmc Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/src/pmc/nci.pmc Mon May 24 21:18:41 2010 (r46974)
@@ -169,6 +169,7 @@
pmclass NCI auto_attrs provides invokable {
/* NCI thunk handling attributes */
+ /* NCI thunk handling attributes */
ATTR STRING *signature; /* The signature. */
ATTR void *func; /* Function pointer to call. */
ATTR PMC *fb_info; /* Frame-builder info */
Modified: branches/ucs4_encoding/src/runcore/trace.c
==============================================================================
--- branches/ucs4_encoding/src/runcore/trace.c Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/src/runcore/trace.c Mon May 24 21:18:41 2010 (r46974)
@@ -34,12 +34,18 @@
/* HEADERIZER BEGIN: static */
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
+PARROT_CANNOT_RETURN_NULL
+static Interp * debugger_or_interp(PARROT_INTERP)
+ __attribute__nonnull__(1);
+
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
static STRING* trace_class_name(PARROT_INTERP, ARGIN(const PMC* pmc))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
+#define ASSERT_ARGS_debugger_or_interp __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_trace_class_name __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(pmc))
@@ -48,15 +54,17 @@
/*
-=item C<Interp * debugger_or_interp(PARROT_INTERP)>
+=item C<static Interp * debugger_or_interp(PARROT_INTERP)>
Get debugger if available
=cut
*/
+
PARROT_CANNOT_RETURN_NULL
-Interp *
-debugger_or_interp(PARROT_INTERP) {
+static Interp *
+debugger_or_interp(PARROT_INTERP)
+{
ASSERT_ARGS(debugger_or_interp)
return interp->pdb && interp->pdb->debugger
@@ -231,15 +239,18 @@
break;
case KEY_string_FLAG|KEY_register_FLAG:
{
- const STRING * const s = REG_STR(interp,
- VTABLE_get_integer(interp, key));
- STRING * const escaped = Parrot_str_escape_truncate(interp, s, 20);
- if (escaped)
- len += Parrot_io_eprintf(debugger, "S%vd=\"%Ss\"",
- VTABLE_get_integer(interp, key), escaped);
+ const INTVAL keynum = VTABLE_get_integer(interp, key);
+ if (keynum < Parrot_pcc_get_regs_used(interp, CURRENT_CONTEXT(interp), REGNO_STR)) {
+ const STRING * const s = REG_STR(interp, keynum);
+ STRING * const escaped = Parrot_str_escape_truncate(interp, s, 20);
+ if (escaped)
+ len += Parrot_io_eprintf(debugger, "S%vd=\"%Ss\"",
+ keynum, escaped);
+ else
+ len += Parrot_io_eprintf(debugger, "S%vd=\"(null)\"", keynum);
+ }
else
- len += Parrot_io_eprintf(debugger, "S%vd=\"(null)\"",
- VTABLE_get_integer(interp, key));
+ len += Parrot_io_eprintf(debugger, "**WRONG KEY STRING REG %d**", keynum);
}
break;
case KEY_pmc_FLAG|KEY_register_FLAG:
Modified: branches/ucs4_encoding/src/string/api.c
==============================================================================
--- branches/ucs4_encoding/src/string/api.c Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/src/string/api.c Mon May 24 21:18:41 2010 (r46974)
@@ -981,6 +981,7 @@
*/
PARROT_EXPORT
+PARROT_PURE_FUNCTION
PARROT_WARN_UNUSED_RESULT
INTVAL
Parrot_str_length(SHIM_INTERP, ARGIN_NULLOK(const STRING *s))
Modified: branches/ucs4_encoding/src/string/charset.c
==============================================================================
--- branches/ucs4_encoding/src/string/charset.c Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/src/string/charset.c Mon May 24 21:18:41 2010 (r46974)
@@ -150,6 +150,7 @@
*/
PARROT_EXPORT
+PARROT_PURE_FUNCTION
PARROT_CAN_RETURN_NULL
PARROT_WARN_UNUSED_RESULT
const CHARSET *
@@ -228,6 +229,7 @@
*/
PARROT_EXPORT
+PARROT_PURE_FUNCTION
PARROT_WARN_UNUSED_RESULT
INTVAL
Parrot_charset_number_of_str(SHIM_INTERP, ARGIN(const STRING *src))
@@ -255,6 +257,7 @@
*/
PARROT_EXPORT
+PARROT_PURE_FUNCTION
PARROT_CAN_RETURN_NULL
PARROT_WARN_UNUSED_RESULT
STRING *
@@ -278,6 +281,7 @@
*/
PARROT_EXPORT
+PARROT_PURE_FUNCTION
PARROT_CAN_RETURN_NULL
PARROT_WARN_UNUSED_RESULT
const CHARSET *
@@ -302,6 +306,7 @@
*/
PARROT_EXPORT
+PARROT_PURE_FUNCTION
PARROT_CAN_RETURN_NULL
PARROT_WARN_UNUSED_RESULT
const char *
@@ -541,6 +546,7 @@
*/
PARROT_EXPORT
+PARROT_PURE_FUNCTION
PARROT_WARN_UNUSED_RESULT
PARROT_CAN_RETURN_NULL
const CHARSET *
@@ -562,6 +568,7 @@
*/
PARROT_EXPORT
+PARROT_PURE_FUNCTION
PARROT_WARN_UNUSED_RESULT
PARROT_CAN_RETURN_NULL
charset_converter_t
@@ -574,7 +581,7 @@
for (i = 0; i < n; ++i) {
if (lhs == all_charsets->set[i].charset) {
- One_charset * const left = all_charsets->set + i;
+ const One_charset * const left = all_charsets->set + i;
const int nc = left->n_converters;
int j;
Modified: branches/ucs4_encoding/t/codingstd/linelength.t
==============================================================================
--- branches/ucs4_encoding/t/codingstd/linelength.t Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/t/codingstd/linelength.t Mon May 24 21:18:41 2010 (r46974)
@@ -125,6 +125,8 @@
compilers/pirc/macro/macroparser.h
compilers/pirc/src/hdocprep.l
compilers/pirc/src/hdocprep.c
+# generated files
+src/ops/core_ops.c
# generated by tools/dev/nci_thunk_gen.pir
src/nci/core_thunks.c
src/nci/extra_thunks.c
Modified: branches/ucs4_encoding/t/codingstd/perlcritic.t
==============================================================================
--- branches/ucs4_encoding/t/codingstd/perlcritic.t Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/t/codingstd/perlcritic.t Mon May 24 21:18:41 2010 (r46974)
@@ -1,5 +1,5 @@
#! perl
-# Copyright (C) 2008-2009, Parrot Foundation.
+# Copyright (C) 2008-2010, Parrot Foundation.
# $Id$
=head1 NAME
@@ -85,6 +85,7 @@
@files = grep {! m/$filter_languages/}
map { $_->path }
grep { $_->read !~ m/use v6;/ }
+ grep { $_->read !~ m/#! nqp/ }
$dist->get_perl_language_files();
}
else {
Modified: branches/ucs4_encoding/t/compilers/imcc/syn/regressions.t
==============================================================================
--- branches/ucs4_encoding/t/compilers/imcc/syn/regressions.t Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/t/compilers/imcc/syn/regressions.t Mon May 24 21:18:41 2010 (r46974)
@@ -6,7 +6,7 @@
use warnings;
use lib qw( . lib ../lib ../../lib );
use Test::More;
-use Parrot::Test tests => 21;
+use Parrot::Test tests => 22;
pir_error_output_like( <<'CODE', <<'OUT', 'invalid get_results syntax');
.sub main :main
@@ -37,6 +37,33 @@
ok 2 - caught div_n_nc_nc exception
OUT
+pir_output_is( <<'CODE', <<'OUT', 'fold symbolic constants (TT #1652)');
+.sub main :main
+ .const int SECONDS_PER_MINUTE = 60
+ $I0 = 30 * SECONDS_PER_MINUTE
+ say $I0
+
+ .const num DAYS_PER_YEAR = 365.24e0
+ $N0 = DAYS_PER_YEAR * 2.96460137564761618e-03
+ 'printf'("%f\n", $N0)
+
+ .const string HI = "Hello "
+ $S0 = concat HI, "World!"
+ say $S0
+.end
+
+.sub 'printf'
+ .param string fmt
+ .param pmc data :slurpy
+ $S0 = sprintf fmt, data
+ print $S0
+.end
+CODE
+1800
+1.082791
+Hello World!
+OUT
+
pir_output_is( <<'CODE', <<'OUT', 'comments before .param(TT #1035)');
.sub main :main
comments(1,2)
Copied: branches/ucs4_encoding/t/compilers/opsc/01-parse.t (from r46972, trunk/t/compilers/opsc/01-parse.t)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ucs4_encoding/t/compilers/opsc/01-parse.t Mon May 24 21:18:41 2010 (r46974, copy of r46972, trunk/t/compilers/opsc/01-parse.t)
@@ -0,0 +1,205 @@
+#! parrot
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+.include 't/compilers/opsc/common.pir'
+
+.sub 'main' :main
+
+ .include 'test_more.pir'
+ load_bytecode 'opsc.pbc'
+
+ plan(12)
+
+ test_parse_basic_op()
+ test_parse_many_ops()
+ test_parse_header()
+ test_parse_params()
+ test_parse_flags()
+.end
+
+.sub "test_parse_basic_op"
+ .local string buf
+ .local pmc res
+
+ buf = <<"END"
+inline op noop() {
+}
+END
+
+ "_parse_buffer"(buf)
+ is(1, 1, "Simple noop parsed")
+
+ buf = <<"END"
+inline op noop() {
+ foo
+}
+END
+
+ "_parse_buffer"(buf)
+ is(1, 1, "noop body parsed")
+
+ buf = <<"END"
+inline op noop() {
+ foo {
+ bar{};
+ }
+}
+END
+
+ "_parse_buffer"(buf)
+ is(1, 1, "noop nested body parsed")
+
+
+.end
+
+.sub "test_parse_many_ops"
+ .local string buf
+ .local pmc res
+
+ buf = <<"END"
+
+
+=item noop
+
+asdfs
+
+=cut
+
+inline op noop() {
+}
+
+=item halt
+
+asdsad
+
+=cut
+
+inline op halt() {
+}
+
+=head2
+
+ads
+
+=cut
+
+inline op rule_the_world() {
+}
+
+
+END
+
+ res = "_parse_buffer"(buf)
+ is(1, 1, "Multiple ops parsed")
+
+ $I0 = res['body';'op']
+ is($I0, 3, "...and we have 3 ops")
+
+.end
+
+# test parsing ops file header.
+.sub "test_parse_header"
+ .local string buf
+ .local pmc res
+
+ buf = <<"END"
+/*
+ * $Id$
+** core.ops
+*/
+
+BEGIN_OPS_PREAMBLE
+
+#include "parrot/dynext.h"
+#include "parrot/embed.h"
+#include "parrot/runcore_api.h"
+#include "../pmc/pmc_continuation.h"
+#include "../pmc/pmc_parrotlibrary.h"
+
+END_OPS_PREAMBLE
+
+=head1 NAME
+
+core.ops - Core Opcodes
+
+=cut
+
+=head1 DESCRIPTION
+
+Parrot's core library of ops.
+
+Core operations are primarily flow control and interpreter
+introspection.
+
+=cut
+
+inline op noop() {
+}
+
+END
+
+ res = "_parse_buffer"(buf)
+ is(1, 1, "Header parsed")
+
+ $I0 = res['body';'op']
+ is($I0, 1, "...and we have our op")
+
+.end
+
+.sub "test_parse_params"
+ .local string buf
+ .local pmc res
+
+ buf = <<"END"
+
+inline op reserved(inconst INT) {
+ /* reserve 1 entries */
+}
+
+END
+
+ "_parse_buffer"(buf)
+ is(1, 1, "Op with single param parsed")
+
+ buf = <<"END"
+
+inline op add(out INT, inconst INT, inconst INT) {
+}
+
+END
+
+ "_parse_buffer"(buf)
+ is(1, 1, "Op with multiple param parsed")
+
+.end
+
+.sub "test_parse_flags"
+ .local string buf
+ .local pmc res
+
+ buf = <<"END"
+
+inline op hcf() :flow :deprecated {
+}
+
+END
+
+ res = "_parse_buffer"(buf)
+ is(1, 1, "Op with flags parsed")
+
+ .local pmc op
+ op = res['body';'op';0;'op_flag']
+ $S0 = op[0]
+ is($S0, ":flow ", "First flag parsed")
+ $S0 = op[1]
+ is($S0, ":deprecated ", "Second flag parsed")
+.end
+
+# Don't forget to update plan!
+
+# Local Variables:
+# mode: pir
+# fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4 ft=pir:
Copied: branches/ucs4_encoding/t/compilers/opsc/02-parse-all-ops.t (from r46972, trunk/t/compilers/opsc/02-parse-all-ops.t)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ucs4_encoding/t/compilers/opsc/02-parse-all-ops.t Mon May 24 21:18:41 2010 (r46974, copy of r46972, trunk/t/compilers/opsc/02-parse-all-ops.t)
@@ -0,0 +1,90 @@
+#! parrot
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+.include 't/compilers/opsc/common.pir'
+
+.sub 'main' :main
+ .include 'test_more.pir'
+ load_bytecode 'opsc.pbc'
+
+ .local int total
+ .local pmc os, all_files, ops_files, dynops_files
+
+ all_files = new ['ResizablePMCArray']
+ ops_files = get_ops_from_dir('./src/ops/')
+ dynops_files = get_ops_from_dir('./src/dynoplibs/')
+
+ #prepend the arrays to all_files
+ splice all_files, ops_files, 0, 0
+ splice all_files, dynops_files, 0, 0
+
+ total = elements all_files
+ all_files.'sort'()
+
+ plan(total)
+ test_parse(all_files)
+.end
+
+.sub get_ops_from_dir
+ .param string dir
+ .local pmc files, filtered_files, os, it
+
+ $P0 = loadlib 'os'
+ os = new ['OS']
+ files = os.'readdir'(dir)
+ filtered_files = new ['ResizablePMCArray']
+
+ .local int len, is_pmc, total
+ .local string filename, filename_end
+
+ #filter out anything that doesn't end in .ops
+ it = iter files
+ iter_start:
+ unless it goto iter_done
+ filename = shift it
+
+ len = length filename
+ unless len > 4 goto iter_start
+
+ filename_end = substr filename, -4
+ is_pmc = iseq filename_end, ".ops"
+ unless is_pmc goto iter_start
+
+ filename = dir . filename
+ push filtered_files, filename
+ goto iter_start
+
+ iter_done:
+ .return (filtered_files)
+.end
+
+.sub 'test_parse'
+ .param pmc list
+ .local int i
+ .local pmc it
+
+ it = iter list
+ iter_start:
+ unless it goto iter_done
+ $S0 = shift it
+ push_eh fail
+ _parse_one_file($S0)
+ pop_eh
+ ok(1, $S0)
+ goto iter_start
+ fail:
+ ok(0, $S0)
+ goto iter_start
+
+ iter_done:
+
+.end
+
+# Don't forget to update plan!
+
+# Local Variables:
+# mode: pir
+# fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4 ft=pir:
Copied: branches/ucs4_encoding/t/compilers/opsc/03-past.t (from r46972, trunk/t/compilers/opsc/03-past.t)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ucs4_encoding/t/compilers/opsc/03-past.t Mon May 24 21:18:41 2010 (r46974, copy of r46972, trunk/t/compilers/opsc/03-past.t)
@@ -0,0 +1,110 @@
+#! ./parrot-nqp
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+
+# "Comprehensive" test for creating PAST for op.
+# Parse single op and check various aspects of created PAST.
+
+pir::load_bytecode('opsc.pbc');
+pir::load_bytecode('dumper.pbc');
+
+plan(26);
+
+my $buf := q|
+BEGIN_OPS_PREAMBLE
+/*
+THE HEADER
+*/
+END_OPS_PREAMBLE
+
+op bar() {
+ # Nothing here
+}
+
+inline op foo(out INT, in PMC, inconst NUM) :flow :deprecated {
+ foo # We don't handle anything in C<body> during parse/past.
+}
+
+|;
+my $compiler := pir::compreg__Ps('Ops');
+
+my $past := $compiler.compile($buf, target => 'past');
+
+ok(1, "PAST::Node created");
+
+my $preambles := $past<preamble>;
+
+ok(~$preambles[0] ~~ /HEADER/, 'Header parsed');
+
+my @ops := @($past<ops>);
+# One "bar" and two "foo"
+ok(+ at ops == 3, 'We have 3 ops');
+
+my $op := @ops[1];
+ok($op.name == 'foo', "Name parsed");
+
+my %flags := $op<flags>;
+ok(%flags<flow>, ':flow flag parsed');
+ok(%flags<deprecated>, ':deprecated flag parsed');
+ok(%flags == 2, "And there are only 2 flags");
+
+# Check op params
+my @args := $op<args>;
+ok(+ at args == 3, "Got 3 parameters");
+
+my $arg;
+
+$arg := @args[0];
+ok($arg<direction> eq 'out', 'First direction is correct');
+ok($arg<type> eq 'INT', 'First type is correct');
+
+$arg := @args[1];
+ok($arg<direction> eq 'in', 'Second direction is correct');
+ok($arg<type> eq 'PMC', 'Second type is correct');
+
+$arg := @args[2];
+ok($arg<direction> eq 'inconst', 'Third direction is correct');
+ok($arg<type> eq 'NUM', 'Third type is correct');
+
+# Check normalization
+ at args := $op<normalized_args>;
+$arg := @args[0];
+ok($arg<direction> eq 'o', 'First direction is correct');
+ok($arg<type> eq 'i', 'First type is correct');
+ok(!($arg<variant>), 'First arg without variant');
+
+$arg := @args[1];
+ok($arg<direction> eq 'i', 'Second direction is correct');
+ok($arg<type> eq 'p', 'Second type is correct');
+ok($arg<variant> eq 'pc', 'Second variant is correct');
+
+$arg := @args[2];
+ok($arg<direction> eq 'i', 'Third direction is correct');
+ok($arg<type> eq 'nc', 'Third type is correct');
+ok(!($arg<variant>), 'Third arg without variant');
+
+ok( ($op.arg_types).join('_') eq 'i_p_nc', "First variant correct");
+
+
+# Second created op should have _pc_
+$op := @ops[2];
+ok( $op.arg_types.join('_') eq 'i_pc_nc', "Second variant correct");
+
+# Check body munching.
+$op := @ops[0];
+my $goto_offset := 0;
+for @($op) {
+ $goto_offset := $goto_offset || $_<name> eq 'goto_offset';
+}
+ok( $goto_offset, "goto NEXT appended for non :flow ops");
+
+
+# Don't forget to update plan!
+
+# Local Variables:
+# mode: cperl
+# cperl-indent-level: 4
+# fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4 ft=perl6:
Copied: branches/ucs4_encoding/t/compilers/opsc/04-op.t (from r46972, trunk/t/compilers/opsc/04-op.t)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ucs4_encoding/t/compilers/opsc/04-op.t Mon May 24 21:18:41 2010 (r46974, copy of r46972, trunk/t/compilers/opsc/04-op.t)
@@ -0,0 +1,36 @@
+#!./parrot-nqp
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+# Checking Ops::Op
+
+pir::load_bytecode("opsc.pbc");
+
+plan(7);
+
+my $op := Ops::Op.new(
+ code => 42,
+ name => 'set',
+ type => 'inline',
+ args => <foo bar baz>,
+ flags => hash(),
+ arg_types => <i i ic>,
+);
+
+ok( 1, "Op created");
+
+ok( $op.code == 42, "... with proper code");
+ok( $op.name eq 'set', "... with proper name");
+ok( $op.type eq 'inline', "... with proper type");
+ok( +$op.arg_types == 3, "... with proper arg_types");
+say('# ' ~ $op.arg_types);
+
+ok( $op.full_name eq 'set_i_i_ic', "full_name is correct");
+
+$op := Ops::Op.new(
+ name => 'set',
+ type => 'inline',
+);
+ok( $op.full_name eq 'set', "Argless op's full_name is correct");
+
+# vim: expandtab shiftwidth=4 ft=perl6:
Copied: branches/ucs4_encoding/t/compilers/opsc/05-oplib.t (from r46972, trunk/t/compilers/opsc/05-oplib.t)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ucs4_encoding/t/compilers/opsc/05-oplib.t Mon May 24 21:18:41 2010 (r46974, copy of r46972, trunk/t/compilers/opsc/05-oplib.t)
@@ -0,0 +1,28 @@
+#!./parrot-nqp
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+# Checking for OpLib num and skip files parsing.
+
+pir::load_bytecode("opsc.pbc");
+
+plan(5);
+
+my $lib := Ops::OpLib.new(
+ :num_file('src/ops/ops.num'),
+ :skip_file('src/ops/ops.skip'),
+);
+
+# It's 1200 currently. But testing for exact match isn't nessary.
+ok( $lib.max_op_num > 1000, "ops.num file parsed");
+say('# ' ~ $lib.max_op_num);
+
+# Check couple random ops.
+ok( $lib.op_num_table<end> == 0, "'end' has code 0");
+ok( $lib.op_num_table<set_addr_p_i> != 42, "'set_addr_p_i' have non 0 code");
+
+ok( $lib.op_skip_table<abs_i_ic>, "'abs_i_ic' in skiptable");
+ok( $lib.op_skip_table<ne_nc_nc_ic>, "'ne_nc_nc_ic' in skiptable");
+#_dumper($lib.skiptable);
+
+# vim: expandtab shiftwidth=4 ft=perl6:
Copied: branches/ucs4_encoding/t/compilers/opsc/06-opsfile.t (from r46972, trunk/t/compilers/opsc/06-opsfile.t)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ucs4_encoding/t/compilers/opsc/06-opsfile.t Mon May 24 21:18:41 2010 (r46974, copy of r46972, trunk/t/compilers/opsc/06-opsfile.t)
@@ -0,0 +1,45 @@
+#!./parrot-nqp
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+pir::load_bytecode("opsc.pbc");
+pir::load_bytecode("nqp-setting.pbc");
+
+plan(7);
+
+my $oplib := Ops::OpLib.new;
+my @files := <
+ src/ops/core.ops
+ src/ops/math.ops
+>;
+
+my $f := Ops::File.new(:oplib($oplib), |@files, :core(1));
+
+my @ops := $f.ops;
+# 84 core
+# 116 math
+# We can generate more than 1 Ops::Op per op due args expansion.
+say( "# Parsed " ~ + at ops);
+# There is more than 300 ops in this 2 files.
+# Feel free to update number if you change them.
+ok(+ at ops == 306, "Ops parsed correctly");
+say('# ' ~ + at ops);
+
+my $op := @ops[0];
+#_dumper($op);
+# First op should be C<end> and has code 0.
+ok($op.name eq 'end', "First op is end");
+ok($op<code> == 0, "... with code 0");
+
+$op := @ops[(+ at ops)-1];
+ok($op.name eq 'tanh', "Last op is tanh");
+say('# ' ~ $op.name);
+ok($op<code> > 84 + 116, "... with non zero code");
+
+my $version := join(' ', |$f.version);
+ok( $version ~~ /^\d+ \s \d+ \s \d+$/, "Version parsed");
+say("# $version");
+
+ok( $f.preamble ~~ /pmc_parrotlibrary.h/, "Preamble preserved");
+
+# vim: expandtab shiftwidth=4 ft=perl6:
Copied: branches/ucs4_encoding/t/compilers/opsc/07-emitter.t (from r46972, trunk/t/compilers/opsc/07-emitter.t)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ucs4_encoding/t/compilers/opsc/07-emitter.t Mon May 24 21:18:41 2010 (r46974, copy of r46972, trunk/t/compilers/opsc/07-emitter.t)
@@ -0,0 +1,129 @@
+#! ./parrot-nqp
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+pir::load_bytecode("opsc.pbc");
+
+plan(22);
+
+my $trans := Ops::Trans::C.new();
+
+my @files := <
+ src/ops/io.ops
+ src/ops/sys.ops
+ src/ops/cmp.ops
+>;
+
+my $lib := Ops::OpLib.new();
+my $emitter := Ops::Emitter.new(
+ :ops_file(Ops::File.new(
+ :oplib($lib),
+ :core(1),
+ |@files)
+ ),
+ :trans($trans),
+ :script('ops2c'),
+ :flags(
+ hash( dir => 'tmp/', core => 1 )
+ ),
+);
+
+ok( $emitter, "Emitter created");
+ok( $emitter<include> eq 'parrot/oplib/core_ops.h', 'Include is correct');
+say('# ' ~ $emitter<include>);
+ok( $emitter<func_header> ~~ /^tmp/, 'header file in tmp');
+say('# ' ~ $emitter<func_header>);
+
+#$emitter.print_c_header_file();
+
+my $fh := pir::new__Ps('StringHandle');
+$fh.open('header.h', 'w');
+$emitter.emit_c_op_func_header($fh);
+
+$fh.close();
+my $header := $fh.readall();
+
+ok($header ~~ /define \s PARROT_OPLIB_CORE_OPS_H_GUARD/, 'Guard generated');
+ok($header ~~ /endif/, 'Close guard generated');
+ok($header ~~ /DO \s NOT \s EDIT \s THIS \s FILE/, 'Preamble generated');
+ok($header ~~ /Parrot_DynOp_core_ \d+ _ \d+ _ \d+/, '... and contains init_func');
+ok($header ~~ /Parrot_sysinfo_s_i/, 'We have proper names of ops functions');
+
+# Testing C emitting.
+#$emitter.print_c_source_file();
+
+$fh := pir::new__Ps('StringHandle');
+$fh.open('core.c', 'w');
+$emitter.emit_c_source_file($fh);
+
+$fh.close();
+my $source := $fh.readall();
+
+ok($source ~~ /DO \s NOT \s EDIT \s THIS \s FILE/, 'Preamble generated');
+ok($source ~~ /Parrot_pcc_get_constants/, 'defines from Trans::C generated');
+ok($source ~~ /io_private.h/, 'Preamble from io.ops preserved');
+
+ok($source ~~ /static \s int \s get_op/, 'Trans::C preamble generated');
+
+ok($source ~~ /PARROT_FUNCTION_CORE/, 'Trans::C core_type preserved');
+ok($source ~~ /static \s size_t \s hash_str/, 'Trans::C op_lookup preserved');
+
+ok($source ~~ /'PREG(1)'/, 'Trans::C arg translation works');
+ok($source ~! /'OP_SIZE'/, 'Trans::C translates OP_SIZE');
+
+# "eq"
+ok($source ~~ /'0,' \s '0,' \s '1'/, "Labels handled correctly");
+
+my $op_body := '
+inline op do_stuff(invar PMC)
+{
+ restart ADDRESS(234);
+}';
+my $new_body := translate_op_body($trans, $op_body);
+my $restart_addr_ok := $new_body ~~ /'return' \s '(' 'opcode_t' \s '*' ')' \s? '234'/;
+ok($restart_addr_ok, "restart ADDRESS() translated ok");
+
+$op_body := '
+inline op branch(in LABEL) :base_loop :flow {
+ goto OFFSET($1);
+}';
+$new_body := translate_op_body($trans, $op_body);
+$restart_addr_ok := $new_body ~~ /'return (opcode_t *)cur_opcode + IREG(1);'/;
+ok($restart_addr_ok, "goto OFFSET() and \$1 translated ok");
+ok($new_body ~~ /'PARROT_JUMP_RELATIVE'/, "jump flags generated");
+
+$op_body := '
+inline op thingy(in PMC) {
+ opcode * next = expr NEXT();
+}';
+$new_body := translate_op_body($trans, $op_body);
+$restart_addr_ok := $new_body ~~ /'cur_opcode + 2;'/;
+ok($restart_addr_ok, "expr NEXT() translated ok");
+
+$op_body := '
+inline op runinterp(in PMC) {
+}';
+$new_body := translate_op_body($trans, $op_body);
+$restart_addr_ok := $new_body ~~ /'PARROT_JUMP_RELATIVE'/;
+ok($restart_addr_ok, "runinterp has PARROT_JUMP_RELATIVE");
+
+#say($source);
+
+sub translate_op_body($trans, $body) {
+ my $file := Ops::File.new_str(
+ :oplib($lib), $body);
+ my $emitter := Ops::Emitter.new(
+ :ops_file($file),
+ :trans($trans),
+ :script("opsc"),
+ :flags( hash(core => '1') )
+ );
+
+ my $sh := pir::new__Ps('StringHandle');
+ $sh.open('your_bank_account_information.txt', 'w');
+ $emitter.emit_c_source_file($sh);
+ $sh.close();
+ $sh.readall();
+}
+
+# vim: expandtab shiftwidth=4 ft=perl6:
Copied: branches/ucs4_encoding/t/compilers/opsc/common.pir (from r46972, trunk/t/compilers/opsc/common.pir)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ucs4_encoding/t/compilers/opsc/common.pir Mon May 24 21:18:41 2010 (r46974, copy of r46972, trunk/t/compilers/opsc/common.pir)
@@ -0,0 +1,39 @@
+#! parrot
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+=head1 COMMON FUNCTIONS FOR TESTING
+
+=cut
+
+.sub '_parse_buffer'
+ .param string buffer
+
+ .local pmc compiler
+ compiler = compreg 'Ops'
+ .tailcall compiler.'parse'(buffer, 'target'=>'parse')
+.end
+
+.sub '_parse_one_file'
+ .param string filename
+ .local string buf
+
+ buf = '_slurp'(filename)
+ .tailcall '_parse_buffer'(buf)
+.end
+
+
+.sub '_slurp'
+ .param string file
+ .local pmc pio
+ pio = open file
+ $S0 = pio.'readall'()
+ close pio
+ .return ($S0)
+.end
+
+# Local Variables:
+# mode: pir
+# fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4 ft=pir:
Modified: branches/ucs4_encoding/t/harness.pir
==============================================================================
--- branches/ucs4_encoding/t/harness.pir Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/t/harness.pir Mon May 24 21:18:41 2010 (r46974)
@@ -297,7 +297,7 @@
$I1 = index $S0, '/branches/'
unless $I1 >= 0 goto L2
$I1 += 10
- $I2 = find_not_cclass .CCLASS_WHITESPACE, $S0, $I1, $I0
+ $I2 = find_cclass .CCLASS_WHITESPACE, $S0, $I1, $I0
$I3 = $I2 - $I1
$S1 = substr $S0, $I1, $I3
L2:
@@ -361,10 +361,11 @@
set $P0, 1
$P0[0] = 'parrot_test_run.tar.gz'
push contents, $P0
- load_bytecode 'LWP.pir'
+ load_bytecode 'LWP/UserAgent.pir'
.const string url = 'http://smolder.plusthree.com/app/projects/process_add_report/8'
.local pmc ua, response
ua = new ['LWP';'UserAgent']
+ ua.'env_proxy'()
ua.'show_progress'(1)
response = ua.'post'(url, contents :flat, 'form-data' :named('Content-Type'), 'close' :named('Connection'))
$I0 = response.'code'()
Modified: branches/ucs4_encoding/t/library/lwp.t
==============================================================================
--- branches/ucs4_encoding/t/library/lwp.t Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/t/library/lwp.t Mon May 24 21:18:41 2010 (r46974)
@@ -19,16 +19,18 @@
.sub 'main' :main
.include 'test_more.pir'
- load_bytecode 'LWP.pir'
+ load_bytecode 'LWP/UserAgent.pir'
load_bytecode 'osutils.pbc'
- plan(38)
+ plan(48)
test_new()
test_unknown_protocol()
test_bad_request()
test_file_not_found()
test_file()
+ test_file_head()
test_file_post_delete()
+ test_file_proxy()
.end
.sub 'test_new'
@@ -127,6 +129,28 @@
ok($I0, "Last-Modified contains GMT")
.end
+.sub 'test_file_head'
+ .local pmc ua, response
+ ua = new ['LWP';'UserAgent']
+ response = ua.'head'('file:t/library/lwp.t')
+ $I0 = isa response, ['HTTP';'Response']
+ ok($I0, "HEAD file:t/library/lwp.t")
+ $I0 = response.'code'()
+ is($I0, 200, "code")
+ $I0 = response.'is_success'()
+ ok($I0, "is success")
+ $S0 = response.'content'()
+ is($S0, '', "no content")
+ $I0 = response.'get_header'('Content-Length')
+ $I0 = $I0 > 2000
+ ok($I0, "Content-Length")
+ $S0 = response.'get_header'('Last-Modified')
+ diag($S0)
+ $I0 = index $S0, 'GMT'
+ $I0 = $I0 > 0
+ ok($I0, "Last-Modified contains GMT")
+.end
+
.sub 'test_file_post_delete'
.const string data = "the file contains some text"
.const string filename = 't/library/file.txt'
@@ -138,7 +162,7 @@
response = ua.'put'(url, data)
$I0 = isa response, ['HTTP';'Response']
- ok($I0, "POST file:t/library/file.txt")
+ ok($I0, "PUT file:t/library/file.txt")
$I0 = response.'code'()
is($I0, 200, "code")
$I0 = response.'is_success'()
@@ -165,6 +189,21 @@
ok($I0, "is error")
.end
+.sub 'test_file_proxy'
+ .local pmc ua, response
+ ua = new ['LWP';'UserAgent']
+ ua.'proxy'('file', 'file://proxy.net')
+ response = ua.'get'('file:t/library/lwp.t')
+ $I0 = isa response, ['HTTP';'Response']
+ ok($I0, "GET file:t/library/lwp.t via a proxy")
+ $I0 = response.'code'()
+ is($I0, 400, "code")
+ $S0 = response.'message'()
+ is($S0, "You can not proxy through the filesystem", "message")
+ $I0 = response.'is_error'()
+ ok($I0, "is error")
+.end
+
# Local Variables:
# mode: pir
# fill-column: 100
Modified: branches/ucs4_encoding/t/library/uri.t
==============================================================================
--- branches/ucs4_encoding/t/library/uri.t Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/t/library/uri.t Mon May 24 21:18:41 2010 (r46974)
@@ -21,7 +21,7 @@
load_bytecode 'URI.pir'
- plan(53)
+ plan(60)
test_new()
test_uri()
test_file()
@@ -158,6 +158,21 @@
is($S0, '127.0.0.1', 'host')
$S0 = $P0.'port'()
is($S0, '8080', 'port')
+
+ $P0 = factory('http://user:passwd@proxy.net:8000/path')
+ ok($P0, "http://user:passwd@proxy.net:8000/path")
+ $I0 = isa $P0, ['URI';'http']
+ ok($I0, "isa ['URI';'http']")
+ $S0 = $P0.'scheme'()
+ is($S0, 'http', "scheme")
+ $S0 = $P0.'authority'()
+ is($S0, 'user:passwd at proxy.net:8000', 'authority')
+ $S0 = $P0.'userinfo'()
+ is($S0, 'user:passwd', 'userinfo')
+ $S0 = $P0.'host'()
+ is($S0, 'proxy.net', 'host')
+ $S0 = $P0.'port'()
+ is($S0, '8000', 'port')
.end
.sub 'test_https'
Deleted: branches/ucs4_encoding/t/op/01-parse_ops.t
==============================================================================
--- branches/ucs4_encoding/t/op/01-parse_ops.t Mon May 24 21:18:41 2010 (r46973)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,105 +0,0 @@
-#! perl
-# Copyright (C) 2006-2008, Parrot Foundation.
-# $Id$
-
-use strict;
-use warnings;
-use lib qw( . lib ../lib ../../lib );
-use Parrot::Test;
-use Parrot::Op;
-use Parrot::OpLib::core;
-
-=head1 NAME
-
-t/op/01-parse_ops.t - Parse core opcodes
-
-=head1 SYNOPSIS
-
- % prove t/op/01-parse_ops.t
-
-=head1 DESCRIPTION
-
-Tests that all parrot opcodes are parsed properly.
-
-=cut
-
-my $object_map = {
- i => q<I0>,
- ic => q<42>,
- k => q<P0>,
- kc => q<[ 'foo' ; 'bar' ]>,
- kic => q<[ 1 ]>,
- ks => q<P0>,
- ksc => q<[ 'foo' ; 'bar' ]>,
- n => q<N0>,
- nc => q<13.013>,
- p => q<P0>,
- pc => undef, ## TT #1158 figure out how to test this type
- s => q<S0>,
- sc => q<'foo'>,
-};
-
-my %parse_errors = map { $_ => 1 } qw(
- defined
- delete
- eq
- exists
- le
- lt
- ne
- set
- slice
- yield
-);
-
-my %cmds;
-
-## extract the register types from each opcode
-for my $op (@$Parrot::OpLib::core::ops) {
- my @regtypes = $op->arg_types;
-
- ## for now, avoid opcodes with regtypes i do not know how to represent
- next unless @regtypes == grep { defined $$object_map{$_} } @regtypes;
-
- ## extract the basename of the opcode
- my $basename = $op->name;
-
- ## create the argument list
- my $args = join ', ' => map $$object_map{$_}, @regtypes;
-
- ## store the test commands
- $cmds{$basename}{ $basename . ' ' . $args }++;
-}
-
-$ENV{TEST_PROG_ARGS} ||= '';
-
-plan skip_all => 'IMCC cannot do parse-only with JIT enabled'
- if $ENV{TEST_PROG_ARGS} =~ /--runcore=jit/;
-
-plan skip_all => 'IMCC cannot do parse-only with switched core'
- if $ENV{TEST_PROG_ARGS} =~ /--runcore=switch/;
-
-plan tests => scalar keys %cmds;
-
-for my $cmd ( sort keys %cmds ) {
- my @args = (
- ## retrieve the test commands, and trick IMCC to parse only
- join( $/ => 'end', sort( keys %{ $cmds{$cmd} } ), '' ),
- qr/^(?!error:imcc:syntax error,)/,
- "parsing: $cmd"
- );
-
- if ( $parse_errors{$cmd} ) {
- pasm_error_output_like(@args);
- }
- else {
- pasm_output_like(@args);
- }
-}
-
-# Local Variables:
-# mode: cperl
-# cperl-indent-level: 4
-# fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:
Modified: branches/ucs4_encoding/t/op/stringu.t
==============================================================================
--- branches/ucs4_encoding/t/op/stringu.t Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/t/op/stringu.t Mon May 24 21:18:41 2010 (r46974)
@@ -6,7 +6,7 @@
use warnings;
use lib qw( . lib ../lib ../../lib );
use Test::More;
-use Parrot::Test tests => 33;
+use Parrot::Test tests => 34;
use Parrot::Config;
=head1 NAME
@@ -574,8 +574,23 @@
equal
OUT
+pir_output_is( <<'CODE', <<'OUT', 'join mixed encodings' );
+.sub 'main'
+ new $P0, 'ResizablePMCArray'
+ push $P0, ascii:"a"
+ push $P0, unicode:"\x{e1}" # a acute
+ push $P0, iso-8859-1:"\x{e1}" # a acute
+ join $S0, "", $P0
+ $I0 = length $S0
+ say $I0
+.end
+CODE
+3
+OUT
+
SKIP: {
skip( 'no ICU lib', 1 ) unless $PConfig{has_icu};
+
pir_output_is( <<'CODE', <<'OUT', 'find_codepoint opcode (experimental)');
.sub 'main'
$I1 = find_codepoint 'THISISNOTTHENAMEOFNOTHING'
Modified: branches/ucs4_encoding/t/pmc/resizablestringarray.t
==============================================================================
--- branches/ucs4_encoding/t/pmc/resizablestringarray.t Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/t/pmc/resizablestringarray.t Mon May 24 21:18:41 2010 (r46974)
@@ -23,7 +23,7 @@
.include 'test_more.pir'
# set a test plan
- plan(261)
+ plan(263)
'size/resize'()
'clone'()
@@ -1343,6 +1343,7 @@
.SpliceMadeEasy({ splice $P1, $P2, 0, 2 }, "ABCDE345", "splice, replace at beginning")
.SpliceMadeEasy({ splice $P1, $P2, 2, 2 }, "12ABCDE5", "splice, replace in middle")
.SpliceMadeEasy({ splice $P1, $P2, 3, 2 }, "123ABCDE", "splice, replace at end")
+ .SpliceMadeEasy({ splice $P1, $P2, -3, 2 }, "12ABCDE5", "splice, replace in middle start from end")
.SpliceMadeEasy({
$P2 = new ['ResizableStringArray']
splice $P1, $P2, 2, 2
@@ -1355,6 +1356,20 @@
$P1 = new ['ResizableStringArray']
$P1[0] = "1"
+ $P2 = new ['ResizableStringArray']
+ $P2[0] = 'A'
+ $I0 = 0
+ push_eh handle_negtoobig
+ splice $P1, $P2, -10, 1
+ goto after_negtoobig
+handle_negtoobig:
+ inc $I0
+after_negtoobig:
+ pop_eh
+ is($I0, 1, 'splice, negative offset too long throws')
+
+ $P1 = new ['ResizableStringArray']
+ $P1[0] = "1"
$P1[1] = "2"
$P1[2] = "3"
$P1[3] = "4"
Modified: branches/ucs4_encoding/tools/build/ops2c.pl
==============================================================================
--- branches/ucs4_encoding/tools/build/ops2c.pl Mon May 24 21:06:39 2010 (r46973)
+++ branches/ucs4_encoding/tools/build/ops2c.pl Mon May 24 21:18:41 2010 (r46974)
@@ -1,149 +1,20 @@
#! perl
-# Copyright (C) 2001-2008, Parrot Foundation.
+# Copyright (C) 2001-2010, Parrot Foundation.
# $Id$
-use warnings;
use strict;
+use warnings;
+
use FindBin qw($Bin);
use lib "$Bin/../lib"; # install location
-use lib "$Bin/../../lib"; # build location
-use Parrot::Ops2c::Auxiliary qw( Usage getoptions );
-use Parrot::Ops2c::Utils ();
-
-my $flagref = getoptions();
-if ( ( not defined $flagref )
- or $flagref->{help}
- or ( not @ARGV ) )
-{
- Usage();
- exit 1;
-}
-
-my $self = Parrot::Ops2c::Utils->new(
- {
- argv => [@ARGV],
- flag => $flagref,
- script => $0,
- }
-);
-if ( not defined $self ) {
- Usage();
- exit 1;
-}
-
-$self->print_c_header_file();
-
-$self->print_c_source_file();
-
-exit 0;
-
-#################### DOCUMENTATION ####################
-
-=head1 NAME
-
-tools/build/ops2c.pl - Parser for .ops files
-
-=head1 SYNOPSIS
-
- % perl tools/build/ops2c.pl trans [--help] [--no-lines] [--dynamic]
- [--core | input.ops [input2.ops ...]]
- trans := C
-
-For example:
-
- % perl tools/build/ops2c.pl C --core
-
- % perl tools/build/ops2c.pl C --dynamic myops.ops
-
-=head1 DESCRIPTION
-
-This script uses a supplied transform to create a pair of C header and
-implementation files from the operation definitions found in one or more
-F<*.ops> files.
-
-=head2 Transforms
-
-The first command-line argument is the last package name component of a
-subclass of C<Parrot::OpTrans>. These subclasses all have full names of
-the form C<Parrot::OpTrans::*>. An instance of the class is created and
-later consulted for various bits of information needed to generate the C
-code. Each creates a different type of run loop.
-
-=over
-
-=item C<C>
-
-Create the function-based (slow or fast core) run loop.
-
-=back
-
-=head2 Options
-
-=over 4
-
-=item C<--help>
-
-Print synopsis.
-
-=item C<--dynamic>
-
-Indicate that the opcode library is dynamic.
-
-=item C<--core>
-
-Build the Parrot core opcode library.
-
-=item C<--no-lines>
-
-Do not generate C<#line> directives in the generated C code.
-
-=back
-
-=head1 NOTE
-
-Most of the functionality in F<tools/build/ops2c.pl> has been extracted into
-methods and subroutines found in Parrot::Ops2c::Utils and
-Parrot::Ops2c::Auxiliary. This refactoring facilitates unit testing and
-coverage analysis of that functionality. A test suite has been provided in
-F<t/tools/ops2cutils/>. It is recommended that future refactoring of this
-functionality proceed in a test-driven manner, I<i.e.,> tests should be
-written reflecting any changes to interface or functionality; the code should
-be written which implements the revisions; the code should be tested; and
-coverage analysis should be performed with Devel::Cover to measure the extent
-to which the tests exercise the code.
-
-=head1 AUTHORS
-
-Based on the commit logs, the following members of the Parrot project have
-contributed to this program:
-
- ambs bernhard boemmels brentdax chip
- coke dan gregor grunblatt jgoff
- jkeenan jonathan josh jrieks leo
- mikescott mrjoltcola nicholas particle paultcochrane
- petdance rgrjr robert simon
-
-=head1 SEE ALSO
-
-=over 4
-
-=item F<tools/build/ops2pm.pl>
-
-=item C<Parrot::OpsFile>
-
-=item C<Parrot::Op>
-
-=item C<Parrot::OpTrans>
-
-=item C<Parrot::OpTrans::C>
-
-=item C<Parrot::Ops2c::Utils>
-
-=item C<Parrot::Ops2c::Auxiliary>
-
-=back
+use Parrot::Config;
+use File::Spec;
-=cut
+warn 'ops2c.pl is deprecated. Use ops2c$(EXE) instead';
+# Ignore "core"
+shift @ARGV;
+my $ops2c = File::Spec->catfile($PConfig{bindir}, 'ops2c');
+exec $ops2c, @ARGV;
# Local Variables:
# mode: cperl
Deleted: branches/ucs4_encoding/tools/build/ops2pm.pl
==============================================================================
--- branches/ucs4_encoding/tools/build/ops2pm.pl Mon May 24 21:18:41 2010 (r46973)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,164 +0,0 @@
-#! perl
-# Copyright (C) 2001-2007, Parrot Foundation.
-# $Id$
-
-use strict;
-use warnings;
-
-use lib 'lib';
-use Parrot::Ops2pm;
-use Parrot::Ops2pm::Auxiliary qw( Usage getoptions );
-
-my $flagref = getoptions();
-
-if ( $flagref->{help} or !@ARGV ) {
- Usage();
- exit;
-}
-
-my $self = Parrot::Ops2pm->new(
- {
- argv => [@ARGV],
- nolines => $flagref->{nolines},
- renum => $flagref->{renum},
- moddir => "lib/Parrot/OpLib",
- module => "core.pm",
- inc_dir => "include/parrot/oplib",
- inc_f => "ops.h",
- script => "tools/build/ops2pm.pl",
- }
-);
-
-$self->prepare_ops();
-$self->load_op_map_files();
-$self->sort_ops();
-$self->prepare_real_ops();
-$self->print_module();
-$self->print_h();
-
-exit 0;
-
-################### DOCUMENTATION ####################
-
-=head1 NAME
-
-tools/build/ops2pm.pl - Generate Perl module from operation definitions
-
-=head1 SYNOPSIS
-
- $ perl tools/build/ops2pm.pl [--help] [--no-lines] input.ops [input2.ops ...]
- $ perl tools/build/ops2pm.pl [--renum] input.ops [input2.ops ...]
-
-=head1 DESCRIPTION
-
-Reads the ops files listed on the command line and outputs a
-F<Parrot::OpLib::core> module containing information about the ops.
-Also outputs F<include/parrot/oplib/ops.h>. This program is called by Parrot's
-F<make>.
-
-If called with the C<--renum> flag, renumbers the file F<src/ops/ops.num>.
-This is mandatory when adding or removing opcodes.
-
-=head1 OPTIONS
-
-=over 4
-
-=item C<--help>
-
-Print synopsis.
-
-=item C<--no-lines>
-
-Do not generate C<#line> directives in the generated C code.
-
-=item C<--renum>
-
-Renumber opcodes according to existing ops in ops/num and natural
-order in the given ops files. See also F<tools/dev/ops_renum.mak>.
-
-=back
-
-Most of the functionality in this program is now held in Parrot::Ops2pm::Util
-methods and a small number of Parrot::Ops2pm::Auxiliary subroutines.
-See those modules' documentation for discussion of those functions.
-Revisions to the functionality should be made in those packages and tested
-against tests found in F<t/tools/ops2pm/>.
-
-=head1 WARNING
-
-Generating a C<Parrot::OpLib::core> module for a set of ops files that
-you do not later turn into C code (see F<tools/build/ops2c.pl>) with the
-same op content and order is a recipe for disaster. But as long as you
-just run these tools in the standard build process via C<make> there
-shouldn't be a problem.
-
-=head1 TODO
-
-The original design of the ops processing code was intended to be
-a read-only representation of what was in a particular ops file. It was
-not originally intended that it was a mechanism for building a bigger
-virtual ops file from multiple physical ops files.
-
-This code does half of that job (the other half is getting them to
-compile together instead of separately in a F<*_ops.c> file).
-
-You can see evidence of this by the way this code reaches in to the
-internal C<OPS> hash key to do its concatenation, and the way it
-twiddles each op's C<CODE> hash key after that.
-
-If the op and oplib Perl modules are going to be used for modifying
-information read from ops files in addition to reading it, they should
-be changed to make the above operations explicitly supported.
-
-Otherwise, the Parrot build and interpreter start-up logic should be
-modified so that it doesn't need to concatenate separate ops files.
-
-=head1 SEE ALSO
-
-=over 4
-
-=item F<tools/build/ops2c.pl>.
-
-=item F<lib/Parrot/Ops2pm.pm>.
-
-=item F<lib/Parrot/Ops2pm/Auxiliary.pm>.
-
-=item F<tools/dev/ops_renum.mak>.
-
-=back
-
-=head1 AUTHOR
-
-Over the years, F<tools/build/ops2pm.pl> has been worked on by the following Parrot hackers:
-
- bernhard
- brentdax
- chip
- chromatic
- coke
- dan
- gregor
- jkeenan
- leo
- mikescott
- particle
- paultcochrane
- petdance
- robert
- simon
- tewk
-
-Others who provided code cited in the version control logs include:
-
- Andy Dougherty
- Jeff Gof
- Steve Fink
-
-=cut
-
-# Local Variables:
-# mode: cperl
-# cperl-indent-level: 4
-# fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:
Deleted: branches/ucs4_encoding/tools/dev/opsrenumber.pl
==============================================================================
--- branches/ucs4_encoding/tools/dev/opsrenumber.pl Mon May 24 21:18:41 2010 (r46973)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,77 +0,0 @@
-#! perl
-# Copyright (C) 2001-2007, Parrot Foundation.
-# $Id$
-
-use strict;
-use warnings;
-
-use lib 'lib';
-use Parrot::OpsRenumber;
-
-my $self = Parrot::OpsRenumber->new(
- {
- argv => [@ARGV],
- moddir => "lib/Parrot/OpLib",
- module => "core.pm",
- inc_dir => "include/parrot/oplib",
- inc_f => "ops.h",
- script => "tools/dev/opsrenumber.pl",
- }
-);
-
-$self->prepare_ops();
-$self->renum_op_map_file();
-
-exit 0;
-
-################### DOCUMENTATION ####################
-
-=head1 NAME
-
-tools/dev/opsrenumber.pl - Renumber F<src/ops/ops.num>.
-
-=head1 SYNOPSIS
-
- $ perl tools/dev/opsrenumber.pl input.ops [input2.ops ...]
-
-=head1 DESCRIPTION
-
-This program should be used when adding or removing opcodes.
-
-All opcodes except the first seven are potentially deletable and the opcodes'
-order may be rearranged. However, in and after Parrot 1.0.0, deletion of
-opcodes should be a rare event. The program will automatically detect which
-opcodes have been deleted and will renumber the remaining codes appropriately.
-
-The program, however, will B<not> automatically detect new opcodes. This is
-a feature, not a bug, as it is intended to require someone to think about why
-new opcodes should be added. Once a decision to add new opcodes has been
-made, those opcodes should be entered manually at the endc of
-F<src/ops/ops.num>, then F<tools/dev/opsrenumber.pl> (or F<make opsrenumber>)
-should be run.
-
-=head1 SEE ALSO
-
-=over 4
-
-=item F<lib/Parrot/Ops2pm/Base.pm>.
-
-=item F<lib/Parrot/OpsRenumber.pm>.
-
-=back
-
-=head1 AUTHOR
-
-This code was refactored out of F<tools/build/ops2pm.pl>. That file contains
-a list of the contributors to this code over the years.
-
-The refactoring of this file was done by James E Keenan.
-
-=cut
-
-# Local Variables:
-# mode: cperl
-# cperl-indent-level: 4
-# fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:
More information about the parrot-commits
mailing list