[svn:parrot] r47051 - in trunk: . compilers/data_json compilers/imcc compilers/opsc compilers/opsc/src compilers/opsc/src/Ops compilers/pct compilers/pct/src/PCT compilers/pge compilers/tge config/auto/sizes config/auto/zlib config/gen/config_pm config/gen/makefiles config/gen/platform/generic config/gen/platform/solaris config/gen/platform/win32 docs docs/book/draft docs/book/pct docs/book/pir docs/dev docs/pdds docs/user/pir examples/benchmarks examples/embed examples/io examples/json examples/languages/abc examples/languages/squaak examples/library examples/pasm examples/pge examples/pir examples/sdl/lcd examples/sdl/minesweeper examples/shootout examples/tge/branch examples/tutorial ext/nqp-rx ext/nqp-rx/src/stage0 include/parrot include/parrot/oplib lib/Parrot lib/Parrot/Configure/Step ports/cygwin ports/debian ports/fedora/2.3.0 ports/suse/2.2.0 runtime/parrot/languages runtime/parrot/library runtime/parrot/library/Archive runtime/parrot/library/CGI runtime/par rot/library/Config runtime/parrot/library/Configure runtime/parrot/library/Digest runtime/parrot/library/HTTP runtime/parrot/library/LWP runtime/parrot/library/Math runtime/parrot/library/PGE runtime/parrot/library/Stream runtime/parrot/library/TAP runtime/parrot/library/Test runtime/parrot/library/Test/Builder src src/call src/dynoplibs src/gc src/interp src/io src/ops src/pmc src/runcore t/compilers/imcc/imcpasm t/compilers/imcc/syn t/compilers/pge/p5regex t/compilers/pge/perl6regex t/compilers/tge t/dynoplibs t/dynpmc t/examples t/library t/oo t/op t/pmc t/pmc/testlib t/src t/steps/init/hints tools/build tools/dev tools/util

plobsing at svn.parrot.org plobsing at svn.parrot.org
Thu May 27 08:45:29 UTC 2010


Author: plobsing
Date: Thu May 27 08:45:23 2010
New Revision: 47051
URL: https://trac.parrot.org/parrot/changeset/47051

Log:
merge ops_massacre

Added:
   trunk/src/dynoplibs/bit.ops
      - copied unchanged from r47047, branches/ops_massacre/src/dynoplibs/bit.ops
   trunk/src/dynoplibs/debug.ops
      - copied unchanged from r47047, branches/ops_massacre/src/dynoplibs/debug.ops
   trunk/src/dynoplibs/io.ops
      - copied unchanged from r47047, branches/ops_massacre/src/dynoplibs/io.ops
   trunk/src/dynoplibs/sys.ops
      - copied unchanged from r47047, branches/ops_massacre/src/dynoplibs/sys.ops
   trunk/src/dynoplibs/trans.ops
      - copied unchanged from r47047, branches/ops_massacre/src/dynoplibs/trans.ops
   trunk/t/dynoplibs/bit.t
      - copied unchanged from r47047, branches/ops_massacre/t/dynoplibs/bit.t
   trunk/t/dynoplibs/debug.t
      - copied unchanged from r47047, branches/ops_massacre/t/dynoplibs/debug.t
   trunk/t/dynoplibs/io.t
      - copied unchanged from r47047, branches/ops_massacre/t/dynoplibs/io.t
   trunk/t/dynoplibs/sysinfo.t
      - copied unchanged from r47047, branches/ops_massacre/t/dynoplibs/sysinfo.t
   trunk/t/dynoplibs/time.t
      - copied unchanged from r47047, branches/ops_massacre/t/dynoplibs/time.t
   trunk/t/dynoplibs/trans-infnan.t
      - copied unchanged from r47047, branches/ops_massacre/t/dynoplibs/trans-infnan.t
   trunk/t/dynoplibs/trans-old.t
      - copied unchanged from r47047, branches/ops_massacre/t/dynoplibs/trans-old.t
   trunk/t/dynoplibs/trans.t
      - copied unchanged from r47047, branches/ops_massacre/t/dynoplibs/trans.t
Deleted:
   trunk/src/ops/debug.ops
   trunk/t/op/debuginfo.t
   trunk/t/op/io.t
   trunk/t/op/sysinfo.t
   trunk/t/op/trans.t
   trunk/t/op/trans_old.t
Modified:
   trunk/   (props changed)
   trunk/MANIFEST
   trunk/compilers/data_json/Rules.mak   (props changed)
   trunk/compilers/imcc/Rules.in   (props changed)
   trunk/compilers/opsc/ops2c.nqp
   trunk/compilers/opsc/src/Ops/Emitter.pm
   trunk/compilers/opsc/src/builtins.pir
   trunk/compilers/pct/Rules.mak   (props changed)
   trunk/compilers/pct/src/PCT/HLLCompiler.pir
   trunk/compilers/pge/Rules.mak   (props changed)
   trunk/compilers/tge/Rules.mak   (props changed)
   trunk/compilers/tge/tgc.pir
   trunk/config/auto/sizes/intval_maxmin_c.in   (props changed)
   trunk/config/auto/zlib/   (props changed)
   trunk/config/gen/config_pm/config_pir.in
   trunk/config/gen/makefiles/root.in
   trunk/config/gen/platform/generic/time.c
   trunk/config/gen/platform/solaris/time.c
   trunk/config/gen/platform/win32/time.c
   trunk/docs/book/draft/README   (props changed)
   trunk/docs/book/draft/appa_glossary.pod   (props changed)
   trunk/docs/book/draft/appb_patch_submission.pod   (props changed)
   trunk/docs/book/draft/appc_command_line_options.pod   (props changed)
   trunk/docs/book/draft/appd_build_options.pod   (props changed)
   trunk/docs/book/draft/appe_source_code.pod   (props changed)
   trunk/docs/book/draft/ch01_introduction.pod   (props changed)
   trunk/docs/book/draft/ch02_getting_started.pod   (props changed)
   trunk/docs/book/draft/ch07_dynpmcs.pod   (props changed)
   trunk/docs/book/draft/ch08_dynops.pod   (props changed)
   trunk/docs/book/draft/ch10_opcode_reference.pod   (props changed)
   trunk/docs/book/draft/ch11_directive_reference.pod   (props changed)
   trunk/docs/book/draft/ch12_operator_reference.pod   (props changed)
   trunk/docs/book/draft/chXX_hlls.pod   (contents, props changed)
   trunk/docs/book/draft/chXX_library.pod   (props changed)
   trunk/docs/book/draft/chXX_testing_and_debugging.pod   (props changed)
   trunk/docs/book/pct/ch01_introduction.pod   (props changed)
   trunk/docs/book/pct/ch02_getting_started.pod   (props changed)
   trunk/docs/book/pct/ch03_compiler_tools.pod   (props changed)
   trunk/docs/book/pct/ch04_pge.pod   (props changed)
   trunk/docs/book/pct/ch05_nqp.pod   (props changed)
   trunk/docs/book/pir/ch04_variables.pod
   trunk/docs/book/pir/ch08_io.pod
   trunk/docs/compiler_faq.pod
   trunk/docs/dev/c_functions.pod   (props changed)
   trunk/docs/pdds/pdd22_io.pod
   trunk/docs/pdds/pdd30_install.pod   (props changed)
   trunk/docs/user/pir/intro.pod
   trunk/examples/benchmarks/primes.pasm
   trunk/examples/benchmarks/primes_i.pasm
   trunk/examples/embed/cotorra.c   (props changed)
   trunk/examples/io/http.pir
   trunk/examples/io/httpd.pir
   trunk/examples/json/postalcodes.pir
   trunk/examples/languages/abc/   (props changed)
   trunk/examples/languages/squaak/   (props changed)
   trunk/examples/library/md5sum.pir
   trunk/examples/library/ncurses_life.pir
   trunk/examples/pasm/cat.pasm
   trunk/examples/pge/demo.pir   (contents, props changed)
   trunk/examples/pir/io.pir
   trunk/examples/pir/life.pir
   trunk/examples/pir/make_hello_pbc.pir
   trunk/examples/pir/pirric.pir
   trunk/examples/pir/quine_ord.pir
   trunk/examples/pir/readline.pir
   trunk/examples/pir/sudoku.pir
   trunk/examples/pir/uniq.pir
   trunk/examples/sdl/lcd/clock.pir
   trunk/examples/sdl/minesweeper/field.pir
   trunk/examples/shootout/binarytrees.pir
   trunk/examples/shootout/fasta.pir
   trunk/examples/shootout/knucleotide.pir
   trunk/examples/shootout/nbody.pir
   trunk/examples/shootout/partialsums-2.pir
   trunk/examples/shootout/partialsums.pir
   trunk/examples/shootout/regexdna.pir
   trunk/examples/shootout/revcomp.pir
   trunk/examples/shootout/sumcol.pir
   trunk/examples/tge/branch/transform.pir
   trunk/examples/tutorial/40_file_ops.pir
   trunk/ext/nqp-rx/Rules.mak   (props changed)
   trunk/ext/nqp-rx/src/stage0/HLL-s0.pir
   trunk/ext/nqp-rx/src/stage0/NQP-s0.pir
   trunk/ext/nqp-rx/src/stage0/P6Regex-s0.pir
   trunk/ext/nqp-rx/src/stage0/Regex-s0.pir
   trunk/ext/nqp-rx/src/stage0/nqp-setting.nqp
   trunk/include/parrot/call.h   (props changed)
   trunk/include/parrot/gc_api.h   (props changed)
   trunk/include/parrot/io.h
   trunk/include/parrot/misc.h
   trunk/include/parrot/oplib/core_ops.h
   trunk/include/parrot/oplib/ops.h
   trunk/include/parrot/opsenum.h
   trunk/include/parrot/runcore_api.h   (props changed)
   trunk/include/parrot/runcore_profiling.h   (props changed)
   trunk/include/parrot/runcore_trace.h   (props changed)
   trunk/lib/Parrot/Configure/Step/Test.pm   (props changed)
   trunk/lib/Parrot/H2inc.pm   (props changed)
   trunk/ports/cygwin/parrot-1.0.0-1.cygport   (props changed)
   trunk/ports/debian/libparrot-dev.install.in   (props changed)
   trunk/ports/debian/libparrot.install.in   (props changed)
   trunk/ports/debian/parrot-doc.install.in   (props changed)
   trunk/ports/debian/parrot.install.in   (props changed)
   trunk/ports/fedora/2.3.0/   (props changed)
   trunk/ports/suse/2.2.0/   (props changed)
   trunk/runtime/parrot/languages/   (props changed)
   trunk/runtime/parrot/library/Archive/Tar.pir
   trunk/runtime/parrot/library/Archive/Zip.pir
   trunk/runtime/parrot/library/CGI/QueryHash.pir
   trunk/runtime/parrot/library/Config/JSON.pir
   trunk/runtime/parrot/library/Configure/genfile.pir
   trunk/runtime/parrot/library/Crow.pir
   trunk/runtime/parrot/library/Digest/MD5.pir
   trunk/runtime/parrot/library/HTTP/Message.pir
   trunk/runtime/parrot/library/LWP/Protocol.pir
   trunk/runtime/parrot/library/LWP/UserAgent.pir
   trunk/runtime/parrot/library/Math/Rand.pir   (props changed)
   trunk/runtime/parrot/library/PGE/Util.pir
   trunk/runtime/parrot/library/Rules.mak   (props changed)
   trunk/runtime/parrot/library/Stream/ParrotIO.pir
   trunk/runtime/parrot/library/TAP/Harness.pir
   trunk/runtime/parrot/library/TAP/Parser.pir
   trunk/runtime/parrot/library/Test/Builder/Output.pir
   trunk/runtime/parrot/library/Test/More.pir
   trunk/runtime/parrot/library/distutils.pir
   trunk/runtime/parrot/library/osutils.pir
   trunk/runtime/parrot/library/parrotlib.pir
   trunk/runtime/parrot/library/pcre.pir
   trunk/src/call/ops.c   (props changed)
   trunk/src/call/pcc.c   (props changed)
   trunk/src/dynoplibs/Defines.in
   trunk/src/dynoplibs/Rules.in
   trunk/src/dynoplibs/math.ops
   trunk/src/gc/alloc_memory.c   (props changed)
   trunk/src/gc/alloc_resources.c   (props changed)
   trunk/src/gc/api.c   (props changed)
   trunk/src/gc/malloc.c   (props changed)
   trunk/src/gc/malloc_trace.c   (props changed)
   trunk/src/gc/mark_sweep.c   (props changed)
   trunk/src/gc/system.c   (props changed)
   trunk/src/interp/inter_cb.c   (props changed)
   trunk/src/interp/inter_create.c   (props changed)
   trunk/src/interp/inter_misc.c   (contents, props changed)
   trunk/src/io/api.c
   trunk/src/ops/bit.ops
   trunk/src/ops/core_ops.c
   trunk/src/ops/io.ops
   trunk/src/ops/math.ops
   trunk/src/ops/sys.ops
   trunk/src/pmc/filehandle.pmc
   trunk/src/runcore/cores.c   (props changed)
   trunk/src/runcore/main.c   (props changed)
   trunk/src/runcore/profiling.c   (props changed)
   trunk/src/runcore/trace.c   (props changed)
   trunk/src/utils.c
   trunk/t/compilers/imcc/imcpasm/opt1.t
   trunk/t/compilers/imcc/syn/op.t
   trunk/t/compilers/imcc/syn/tail.t
   trunk/t/compilers/pge/p5regex/p5rx.t
   trunk/t/compilers/pge/perl6regex/01-regex.t
   trunk/t/compilers/tge/NoneGrammar.tg   (props changed)
   trunk/t/dynoplibs/math.t
   trunk/t/dynoplibs/obscure.t
   trunk/t/dynpmc/gziphandle.t
   trunk/t/dynpmc/os.t
   trunk/t/examples/pir.t
   trunk/t/library/coroutine.t
   trunk/t/oo/methods.t
   trunk/t/oo/root_new.t   (props changed)
   trunk/t/op/arithmetics.t
   trunk/t/op/arithmetics_pmc.t
   trunk/t/op/inf_nan.t
   trunk/t/op/integer.t
   trunk/t/op/interp.t
   trunk/t/op/number.t
   trunk/t/op/sprintf.t
   trunk/t/op/string.t
   trunk/t/op/string_cs.t
   trunk/t/op/stringu.t
   trunk/t/op/time.t
   trunk/t/op/time_old.t
   trunk/t/pmc/complex.t
   trunk/t/pmc/eval.t
   trunk/t/pmc/filehandle.t
   trunk/t/pmc/freeze.t
   trunk/t/pmc/integer.t
   trunk/t/pmc/io.t
   trunk/t/pmc/namespace-old.t   (props changed)
   trunk/t/pmc/nci.t
   trunk/t/pmc/string.t
   trunk/t/pmc/stringhandle.t
   trunk/t/pmc/sub.t
   trunk/t/pmc/sys.t
   trunk/t/pmc/testlib/packfile_common.pir
   trunk/t/src/embed.t   (props changed)
   trunk/t/src/extend.t
   trunk/t/steps/init/hints/linux-01.t   (props changed)
   trunk/tools/build/h2inc.pl   (props changed)
   trunk/tools/dev/fetch_languages.pl   (props changed)
   trunk/tools/dev/mk_gitignore.pl   (props changed)
   trunk/tools/dev/nci_thunk_gen.pir
   trunk/tools/dev/pbc_to_exe.pir
   trunk/tools/util/parrot-config.pir
   trunk/tools/util/perlcritic-cage.conf   (props changed)
   trunk/tools/util/pgegrep

Modified: trunk/MANIFEST
==============================================================================
--- trunk/MANIFEST	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/MANIFEST	Thu May 27 08:45:23 2010	(r47051)
@@ -1,7 +1,7 @@
 # ex: set ro:
 # $Id$
 #
-# generated by tools/dev/mk_manifest_and_skip.pl Wed May 26 01:29:10 2010 UT
+# generated by tools/dev/mk_manifest_and_skip.pl Thu May 27 08:42:24 2010 UT
 #
 # See below for documentation on the format of this file.
 #
@@ -1253,9 +1253,14 @@
 src/dynoplibs/Defines.in                                    []
 src/dynoplibs/README                                        []doc
 src/dynoplibs/Rules.in                                      []
+src/dynoplibs/bit.ops                                       []
+src/dynoplibs/debug.ops                                     []
 src/dynoplibs/deprecated.ops                                []
+src/dynoplibs/io.ops                                        []
 src/dynoplibs/math.ops                                      []
 src/dynoplibs/obscure.ops                                   []
+src/dynoplibs/sys.ops                                       []
+src/dynoplibs/trans.ops                                     []
 src/dynpmc/Defines.in                                       []
 src/dynpmc/README.pod                                       []doc
 src/dynpmc/Rules.in                                         []
@@ -1324,7 +1329,6 @@
 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                                              []
 src/ops/math.ops                                            []
@@ -1648,9 +1652,17 @@
 t/distro/file_metadata.t                                    [test]
 t/distro/manifest.t                                         [test]
 t/distro/manifest_generated.t                               [test]
+t/dynoplibs/bit.t                                           [test]
+t/dynoplibs/debug.t                                         [test]
 t/dynoplibs/deprecated.t                                    [test]
+t/dynoplibs/io.t                                            [test]
 t/dynoplibs/math.t                                          [test]
 t/dynoplibs/obscure.t                                       [test]
+t/dynoplibs/sysinfo.t                                       [test]
+t/dynoplibs/time.t                                          [test]
+t/dynoplibs/trans-infnan.t                                  [test]
+t/dynoplibs/trans-old.t                                     [test]
+t/dynoplibs/trans.t                                         [test]
 t/dynpmc/dynlexpad.t                                        [test]
 t/dynpmc/file.t                                             [test]
 t/dynpmc/foo.t                                              [test]
@@ -1776,7 +1788,6 @@
 t/op/cmp-nonbranch.t                                        [test]
 t/op/comp.t                                                 [test]
 t/op/copy.t                                                 [test]
-t/op/debuginfo.t                                            [test]
 t/op/errorson.t                                             [test]
 t/op/exceptions.t                                           [test]
 t/op/exit.t                                                 [test]
@@ -1788,7 +1799,6 @@
 t/op/inf_nan.t                                              [test]
 t/op/integer.t                                              [test]
 t/op/interp.t                                               [test]
-t/op/io.t                                                   [test]
 t/op/jit.t                                                  [test]
 t/op/jitn.t                                                 [test]
 t/op/lexicals.t                                             [test]
@@ -1807,11 +1817,8 @@
 t/op/string_cs.t                                            [test]
 t/op/string_mem.t                                           [test]
 t/op/stringu.t                                              [test]
-t/op/sysinfo.t                                              [test]
 t/op/time.t                                                 [test]
 t/op/time_old.t                                             [test]
-t/op/trans.t                                                [test]
-t/op/trans_old.t                                            [test]
 t/op/vivify.t                                               [test]
 t/perl/Parrot_Distribution.t                                [test]
 t/perl/Parrot_Docs.t                                        [test]

Modified: trunk/compilers/opsc/ops2c.nqp
==============================================================================
--- trunk/compilers/opsc/ops2c.nqp	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/compilers/opsc/ops2c.nqp	Thu May 27 08:45:23 2010	(r47051)
@@ -55,7 +55,6 @@
         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

Modified: trunk/compilers/opsc/src/Ops/Emitter.pm
==============================================================================
--- trunk/compilers/opsc/src/Ops/Emitter.pm	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/compilers/opsc/src/Ops/Emitter.pm	Thu May 27 08:45:23 2010	(r47051)
@@ -74,13 +74,15 @@
 
 method print_c_header_files() {
 
-    my $fh := pir::open__PSs(self<func_header>, 'w')
+    my $fh := pir::new__Ps('FileHandle');
+    $fh.open(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')
+        $fh := pir::new__Ps('FileHandle');
+        $fh.open(self<enum_header>, 'w')
             || die("Can't open "~ self<enum_header>);
         self.emit_c_op_enum_header($fh);
         $fh.close();
@@ -119,7 +121,8 @@
 method print_ops_num_files() {
 
     my $file := ~self<dir> ~ "include/parrot/opsenum.h";
-    my $fh := pir::open__pss($file, 'w')
+    my $fh := pir::new__Ps('FileHandle');
+    $fh.open($file, 'w')
         || die("Can't open $file for writing: " ~ ~pir::err__s());
     self.emit_c_opsenum_header($fh, $file);
     $fh.close();
@@ -164,7 +167,8 @@
     $fh.close();
 
     # ... and write it to disk
-    my $final := pir::open__PSs(self<source>, 'w') || die("Can't open filehandle");
+    my $final := pir::new__Ps('FileHandle');
+    $final.open(self<source>, 'w') || die("Can't open filehandle");
     $final.print($fh.readall());
     $final.close();
     return self<source>;

Modified: trunk/compilers/opsc/src/builtins.pir
==============================================================================
--- trunk/compilers/opsc/src/builtins.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/compilers/opsc/src/builtins.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -93,9 +93,10 @@
 .sub 'slurp'
     .param string file
     .local pmc pio
-    pio  = open file
+    pio = new ['FileHandle']
+    pio.'open'(file)
     $S0  = pio.'readall'()
-    close pio
+    pio.'close'()
     .return ($S0)
 .end
 

Modified: trunk/compilers/pct/src/PCT/HLLCompiler.pir
==============================================================================
--- trunk/compilers/pct/src/PCT/HLLCompiler.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/compilers/pct/src/PCT/HLLCompiler.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -329,11 +329,13 @@
     result = self.stagename(result, adverbs :flat :named)
     $N1 = time
     $N2 = $N1 - $N0
-    printerr "Stage '"
-    printerr stagename
-    printerr "': "
-    printerr $N2
-    printerr " sec\n"
+    $P0 = getinterp
+    $P1 = $P0.'stdhandle'(2)
+    $P1.'print'("Stage '")
+    $P1.'print'(stagename)
+    $P1.'print'("': ")
+    $P1.'print'($N2)
+    $P1.'print'(" sec\n")
     if target == stagename goto have_result
     goto stagestats_loop
 
@@ -611,11 +613,14 @@
 
     # on startup show the welcome message
     $P0 = self.'commandline_banner'()
-    printerr $P0
+    $P1 = getinterp
+    $P2 = $P1.'stdhandle'(2)
+    $P2.'print'($P0)
 
     .local pmc stdin
     .local int has_readline
-    stdin = getstdin
+    $P0 = getinterp
+    stdin = $P0.'stdhandle'(0)
     encoding = adverbs['encoding']
     if encoding == 'fixed_8' goto interactive_loop
     unless encoding goto interactive_loop
@@ -746,7 +751,7 @@
   iter_loop_1:
     $S0 = ifh.'readall'(iname)
     code .= $S0
-    close ifh
+    ifh.'close'()
     goto iter_loop
   iter_end:
     $S0 = join ' ', files
@@ -876,15 +881,17 @@
     if target != 'pir' goto end
     .local string output
     .local pmc ofh
-    ofh = getstdout
+    $P0 = getinterp
+    ofh = $P0.'stdhandle'(1)
     output = adverbs['output']
     if output == '' goto save_output_1
     if output == '-' goto save_output_1
-    ofh = open output, 'w'
+    ofh = new ['FileHandle']
+    ofh.'open'(output, 'w')
     unless ofh goto err_output
   save_output_1:
     print ofh, result
-    close ofh
+    ofh.'close'()
   end:
     .return ()
 

Modified: trunk/compilers/tge/tgc.pir
==============================================================================
--- trunk/compilers/tge/tgc.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/compilers/tge/tgc.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -64,24 +64,27 @@
     if ck_output goto OUTPUT_FILE
 
   OUTPUT_STDOUT:
-    outfh = getstdout
+    $P0 = getinterp
+    outfh = $P0.'stdhandle'(1)
     goto OUTPUT_DONE
 
   OUTPUT_FILE:
     outfile = opts['output']
-    outfh = open outfile, 'w'
+    outfh = new ['FileHandle']
+    outfh.'open'(outfile, 'w')
     unless outfh goto ERR_NO_OUTFILE
 
   OUTPUT_DONE:
 
     # Read grammar file and compile here
     .local pmc infh
-    infh = open infile, 'r'
+    infh = new ['FileHandle']
+    infh.'open'(infile, 'r')
     unless infh goto ERR_NO_INFILE
 
     .local string source
-    source = read infh, 65535
-    close infh
+    source = infh.'read'(65535)
+    infh.'close'()
 
     .local pmc grammar
     grammar = new ['TGE';'Compiler']
@@ -99,10 +102,12 @@
   goto END
 
   USAGE:
-    printerr "Usage: "
-    printerr prog
-    printerr " [OPTIONS] FILE\n"
-    printerr <<"OPTIONS"
+    $P0 = getinterp
+    $P1 = $P0.'stdhandle'(2)
+    $P1.'print'("Usage: ")
+    $P1.'print'(prog)
+    $P1.'print'(" [OPTIONS] FILE\n")
+    $P1.'print'(<<"OPTIONS")
  Options:
   --output=OUTFILE  -- redirect output to OUTFILE
   --help            -- print this message
@@ -110,19 +115,25 @@
     exit 1
 
   ERR_TOO_FEW_ARGS:
-    printerr "Error: too few arguments\n\n"
+    $P0 = getinterp
+    $P1 = $P0.'stdhandle'(2)
+    $P1.'print'("Error: too few arguments\n\n")
     goto USAGE
 
   ERR_NO_INFILE:
-    printerr "Error: file not found: "
-    printerr infile
-    printerr "\n\n"
+    $P0 = getinterp
+    $P1 = $P0.'stdhandle'(2)
+    $P1.'print'("Error: file not found: ")
+    $P1.'print'(infile)
+    $P1.'print'("\n\n")
     goto USAGE
 
   ERR_NO_OUTFILE:
-    printerr "Error: file not found: "
-    printerr outfile
-    printerr "\n\n"
+    $P0 = getinterp
+    $P1 = $P0.'stdhandle'(2)
+    $P1.'print'("Error: file not found: ")
+    $P1.'print'(outfile)
+    $P1.'print'("\n\n")
     goto USAGE
 
   END:

Modified: trunk/config/gen/config_pm/config_pir.in
==============================================================================
--- trunk/config/gen/config_pm/config_pir.in	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/config/gen/config_pm/config_pir.in	Thu May 27 08:45:23 2010	(r47051)
@@ -40,15 +40,21 @@
 =cut
 
 .include "interpinfo.pasm"
-.include "stat.pasm"
+.loadlib 'os'
 
 .sub _config
     .local string prefix, conf_file
     prefix = interpinfo .INTERPINFO_RUNTIME_PREFIX
 
     $S0 = concat prefix, "/runtime"
-    $I0 = stat $S0, .STAT_EXISTS
-    if $I0 goto L1
+
+    $P0 = new ['OS']
+    push_eh file_not_found
+        # OS.stat throws on file not found
+        $P0.'stat'($S0)
+        goto L1
+    pop_eh
+  file_not_found:
     conf_file = "@libdir@@versiondir@/include/config.fpmc"
     goto L2
   L1:

Modified: trunk/config/gen/makefiles/root.in
==============================================================================
--- trunk/config/gen/makefiles/root.in	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/config/gen/makefiles/root.in	Thu May 27 08:45:23 2010	(r47051)
@@ -628,6 +628,30 @@
 
 $(GEN_LIBRARY) : $(PARROT) $(GEN_PASM_INCLUDES)
 
+$(LIBRARY_DIR)/Digest/MD5.pbc: $(DYNEXT_DIR)/bit_ops$(LOAD_EXT)
+
+$(LIBRARY_DIR)/Archive/Zip.pbc: $(DYNEXT_DIR)/sys_ops$(LOAD_EXT) $(DYNEXT_DIR)/io_ops$(LOAD_EXT)
+
+$(LIBRARY_DIR)/Configure/genfile.pbc: $(DYNEXT_DIR)/sys_ops$(LOAD_EXT)
+
+$(LIBRARY_DIR)/HTTP/Message.pbc: $(DYNEXT_DIR)/sys_ops$(LOAD_EXT)
+
+$(LIBRARY_DIR)/distutils.pbc: $(DYNEXT_DIR)/sys_ops$(LOAD_EXT)
+
+$(LIBRARY_DIR)/pcre.pbc: $(DYNEXT_DIR)/sys_ops$(LOAD_EXT)
+
+$(LIBRARY_DIR)/LWP/Protocol.pbc: $(DYNEXT_DIR)/io_ops$(LOAD_EXT) $(DYNEXT_DIR)/sys_ops$(LOAD_EXT)
+
+$(LIBRARY_DIR)/Test/More.pbc: $(DYNEXT_DIR)/io_ops$(LOAD_EXT)
+
+$(LIBRARY_DIR)/Archive/Tar.pbc: $(DYNEXT_DIR)/io_ops$(LOAD_EXT)
+
+$(LIBRARY_DIR)/osutils.pbc: $(DYNEXT_DIR)/io_ops$(LOAD_EXT)
+
+$(LIBRARY_DIR)/Config/JSON.pbc: $(DYNEXT_DIR)/io_ops$(LOAD_EXT) $(DYNEXT_DIR)/sys_ops$(LOAD_EXT)
+
+$(LIBRARY_DIR)/LWP/UserAgent.pbc: $(DYNEXT_DIR)/io_ops$(LOAD_EXT)
+
 # constant string support
 .c.str : # suffix rule (limited support)
 	$(PERL) $(BUILD_TOOLS_DIR)/c2str.pl $< > $@

Modified: trunk/config/gen/platform/generic/time.c
==============================================================================
--- trunk/config/gen/platform/generic/time.c	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/config/gen/platform/generic/time.c	Thu May 27 08:45:23 2010	(r47051)
@@ -94,6 +94,7 @@
 
 */
 
+PARROT_EXPORT
 struct tm *
 Parrot_gmtime_r(const time_t *t, struct tm *tm)
 {
@@ -108,6 +109,7 @@
 
 */
 
+PARROT_EXPORT
 struct tm *
 Parrot_localtime_r(const time_t *t, struct tm *tm)
 {
@@ -122,6 +124,7 @@
 
 */
 
+PARROT_EXPORT
 char*
 Parrot_asctime_r(const struct tm *tm, char *buffer)
 {

Modified: trunk/config/gen/platform/solaris/time.c
==============================================================================
--- trunk/config/gen/platform/solaris/time.c	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/config/gen/platform/solaris/time.c	Thu May 27 08:45:23 2010	(r47051)
@@ -94,6 +94,7 @@
 
 */
 
+PARROT_EXPORT
 struct tm *
 Parrot_gmtime_r(const time_t *t, struct tm *tm)
 {
@@ -108,6 +109,7 @@
 
 */
 
+PARROT_EXPORT
 struct tm *
 Parrot_localtime_r(const time_t *t, struct tm *tm)
 {
@@ -122,6 +124,7 @@
 
 */
 
+PARROT_EXPORT
 char*
 Parrot_asctime_r(const struct tm *tm, char *buffer)
 {

Modified: trunk/config/gen/platform/win32/time.c
==============================================================================
--- trunk/config/gen/platform/win32/time.c	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/config/gen/platform/win32/time.c	Thu May 27 08:45:23 2010	(r47051)
@@ -122,6 +122,7 @@
 
 */
 
+PARROT_EXPORT
 struct tm *
 Parrot_gmtime_r(const time_t *t, struct tm *tm)
 {
@@ -139,6 +140,7 @@
 
 */
 
+PARROT_EXPORT
 struct tm *
 Parrot_localtime_r(const time_t *t, struct tm *tm)
 {
@@ -157,6 +159,7 @@
 
 */
 
+PARROT_EXPORT
 char*
 Parrot_asctime_r(const struct tm *tm, char *buffer)
 {

Modified: trunk/docs/book/draft/chXX_hlls.pod
==============================================================================
--- trunk/docs/book/draft/chXX_hlls.pod	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/docs/book/draft/chXX_hlls.pod	Thu May 27 08:45:23 2010	(r47051)
@@ -127,11 +127,12 @@
 =begin PIR
 
   .sub main
-    $P0 = getstdin
+    $P0 = getinterp
+    $P0 = $P0.'stdhandle'(0)
     $P1 = compreg 'PIR'
     
     loop_top:
-      $S0 = readline $P0
+      $S0 = $P0.'readline'()
       $S0 = ".sub '' :anon\n" . $S0
       $S0 = $S0 . "\n.end\n"
       $P2 = $P1($S0)

Modified: trunk/docs/book/pir/ch04_variables.pod
==============================================================================
--- trunk/docs/book/pir/ch04_variables.pod	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/docs/book/pir/ch04_variables.pod	Thu May 27 08:45:23 2010	(r47051)
@@ -133,12 +133,16 @@
 C<vers>X<vers opcode> (versine).  All angle arguments for the X<trigonometric
 opcodes> trigonometric opcodes are in radians:
 
-=begin PIR_FRAGMENT
+=begin PIR_FRAGMENT_INVALID
+
+  .loadlib 'trans_ops'
+
+  # ...
 
   $N0 = sin $N1
   $N0 = exp 2
 
-=end PIR_FRAGMENT
+=end PIR_FRAGMENT_INVALID
 
 The majority of the floating-point operations have a single argument and a
 single result. The arguments can generally be either an integer or number, but
@@ -167,14 +171,18 @@
 The C<or>X<or opcode> opcode returns the first argument if
 it's true and the second argument otherwise:
 
-=begin PIR_FRAGMENT
+=begin PIR_FRAGMENT_INVALID
+
+  .loadlib 'bit_ops'
+
+  # ...
 
   $I0 = or 1, 0  # returns 1
   $I0 = or 0, 2  # returns 2
 
   $P0 = or $P1, $P2
 
-=end PIR_FRAGMENT
+=end PIR_FRAGMENT_INVALID[
 
 Both C<and> and C<or> are short-circuiting ops. If they can determine what
 value to return from the first argument, they'll never evaluate the second.
@@ -210,30 +218,42 @@
 value that is the logical AND, OR, or XOR of each bit in the source arguments.
 They each take two arguments.
 
-=begin PIR_FRAGMENT
+=begin PIR_FRAGMENT_INVALID
+
+  .loadlib 'bit_ops'
+
+  # ...
 
   $I0 = bor $I1, $I2
   $P0 = bxor $P1, $I2
 
-=end PIR_FRAGMENT
+=end PIR_FRAGMENT_INVALID
 
 C<band>, C<bor>, and C<bxor> also have variants that modify the result
 in place.
 
-=begin PIR_FRAGMENT
+=begin PIR_FRAGMENT_INVALID
+
+  .loadlib 'bit_ops'
+
+  # ...
 
   $I0 = band $I1
   $P0 = bor $P1
 
-=end PIR_FRAGMENT
+=end PIR_FRAGMENT_INVALID
 
 C<bnot>X<bnot opcode> is the logical NOT of each bit in the source argument.
 
-=begin PIR_FRAGMENT
+=begin PIR_FRAGMENT_INVALID
+
+  .loadlib 'bit_ops'
+
+  # ...
 
   $I0 = bnot $I1
 
-=end PIR_FRAGMENT
+=end PIR_FRAGMENT_INVALID
 
 X<shl opcode>
 X<shr opcode>
@@ -241,13 +261,17 @@
 The logical and arithmetic shift operations shift their values by a specified
 number of bits:
 
-=begin PIR_FRAGMENT
+=begin PIR_FRAGMENT_INVALID
+
+  .loadlib 'bit_ops'
+
+  # ...
 
   $I0 = shl $I1, $I2        # shift $I1 left by count $I2
   $I0 = shr $I1, $I2        # arithmetic shift right
   $P0 = lsr $P1, $P2        # logical shift right
 
-=end PIR_FRAGMENT
+=end PIR_FRAGMENT_INVALID
 
 =head2 Working with Strings
 
@@ -889,14 +913,18 @@
 operation on each byte of the strings to produce the result string.
 Remember that in-place string operations are no longer available.
 
-=begin PIR_FRAGMENT
+=begin PIR_FRAGMENT_INVALID
+
+  .loadlib 'bit_ops'
+
+  # ...
 
   $P0 = bors $P1
   $P0 = bands $P1
   $S0 = bors $S1, $S2
   $P0 = bxors $P1, $S2
 
-=end PIR_FRAGMENT
+=end PIR_FRAGMENT_INVALID
 
 The bitwise string opcodes produce meaningful results only when used with
 simple ASCII strings, because Parrot performs bitwise operations per byte.

Modified: trunk/docs/book/pir/ch08_io.pod
==============================================================================
--- trunk/docs/book/pir/ch08_io.pod	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/docs/book/pir/ch08_io.pod	Thu May 27 08:45:23 2010	(r47051)
@@ -12,24 +12,32 @@
 The C<open>X<open opcode> opcode opens a new filehandle. It takes a
 string argument, which is the path to the file:
 
-=begin PIR_FRAGMENT
+=begin PIR_FRAGMENT_INVALID
+
+  .loadlib 'io_ops'
+
+  # ...
 
   $P0 = open 'my/file/name.txt'
 
-=end PIR_FRAGMENT
+=end PIR_FRAGMENT_INVALID
 
 By default, it opens the filehandle as read-only, but an optional second string
 argument can specify the mode for the file. The modes are C<r> for read, C<w>
 for write, C<a> for append, and C<p> for pipe:N<These are the same as the C
 language read-modes, so may be familiar.>
 
-=begin PIR_FRAGMENT
+=begin PIR_FRAGMENT_INVALID
+
+  .loadlib 'io_ops'
+
+  # ...
 
   $P0 = open 'my/file/name.txt', 'a'
 
   $P0 = open 'myfile.txt', 'r'
 
-=end PIR_FRAGMENT
+=end PIR_FRAGMENT_INVALID
 
 You can combine modes; a handle that can read and write uses the mode string
 C<rw>. A handle that can read and write but will not overwrite the existing
@@ -42,11 +50,15 @@
 input, standard output, or standard error filehandles, though you can
 recreate them.>
 
-=begin PIR_FRAGMENT
+=begin PIR_FRAGMENT_INVALID
+
+  .loadlib 'io_ops'
+
+  # ...
 
   close $P0
 
-=end PIR_FRAGMENT
+=end PIR_FRAGMENT_INVALID
 
 The C<print>X<print opcode> opcode prints a string argument or the
 string form of an integer, number, or PMC to a filehandle:
@@ -71,13 +83,19 @@
 mentioning is the C<printerr>X<printerr opcode> opcode, which prints an
 argument to the standard error instead of standard output:
 
-=begin PIR_FRAGMENT
+=begin PIR_FRAGMENT_INVALID
 
   say 'Turnip'
 
+  # ...
+
+  .loadlib 'io_ops'
+
+  # ...
+
   printerr 'Blancmange'
 
-=end PIR_FRAGMENT
+=end PIR_FRAGMENT_INVALID
 
 The C<read>X<read opcode> and C<readline>X<readline opcode> opcodes read
 values from a filehandle.  C<read> takes an integer value and returns a
@@ -85,44 +103,58 @@
 of input from a filehandle and returns the string without the trailing
 newline:
 
-=begin PIR_FRAGMENT
+=begin PIR_FRAGMENT_INVALID
+
+  .loadlib 'io_ops'
 
   $S0 = read $P0, 10
 
   $S0 = readline $P0
 
-=end PIR_FRAGMENT
+=end PIR_FRAGMENT_INVALID
 
 The C<read> opcode has a one-argument variant that reads from standard input:
 
-=begin PIR_FRAGMENT
+=begin PIR_FRAGMENT_INVALID
 
-      $S0 = read 10
+  .loadlib 'io_ops'
 
-=end PIR_FRAGMENT
+  # ...
+
+  $S0 = read 10
+
+=end PIR_FRAGMENT_INVALID
 
 The C<getstdin>X<getstdin opcode>, C<getstdout>X<getstdout opcode>, and
 C<getstderr>X<getstderr opcode> opcodes fetch the filehandle objects for
 the standard streams: standard input, standard output, and standard
 error:
 
-=begin PIR_FRAGMENT
+=begin PIR_FRAGMENT_INVALID
+
+  .loadlib 'io_ops'
+
+  # ...
 
   $P0 = getstdin    # Standard input handle
   $P1 = getstdout   # Standard output handle
   $P2 = getstderr   # Standard error handle
 
-=end PIR_FRAGMENT
+=end PIR_FRAGMENT_INVALID
 
 Once you have the filehandle for one of the standard streams, you can use it
 just like any other filehandle object:
 
-=begin PIR_FRAGMENT
+=begin PIR_FRAGMENT_INVALID
+
+  .loadlib 'io_ops'
+
+  # ...
 
   $P0 = getstdout
   print $P0, 'hello'
 
-=end PIR_FRAGMENT
+=end PIR_FRAGMENT_INVALID
 
 This following example reads data from the file F<myfile.txt> one line at a
 time using the C<readline> opcode. As it loops over the lines of the file, it
@@ -131,6 +163,8 @@
 
 =begin PIR
 
+  .loadlib 'io_ops'
+
   .sub 'main'
     $P0 = getstdout
     $P1 = open 'myfile.txt', 'r'

Modified: trunk/docs/compiler_faq.pod
==============================================================================
--- trunk/docs/compiler_faq.pod	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/docs/compiler_faq.pod	Thu May 27 08:45:23 2010	(r47051)
@@ -526,7 +526,9 @@
 
 or with the class object:
 
-=begin PIR_FRAGMENT
+=begin PIR_FRAGMENT_INVALID
+
+    .loadlib 'io_ops'
 
     $P1 = get_class 'Dog'   # find the 'Dog' class
     unless null $P1 goto have_dog_class
@@ -535,7 +537,7 @@
   have_dog_class:
     new $P0, $P1    # creates a Dog object and stores it in register $P0
 
-=end PIR_FRAGMENT
+=end PIR_FRAGMENT_INVALID
 
 The chief difference is that using a string constant will produce the
 specific error "Class 'Dog' not found" if that happens to be the case;

Modified: trunk/docs/pdds/pdd22_io.pod
==============================================================================
--- trunk/docs/pdds/pdd22_io.pod	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/docs/pdds/pdd22_io.pod	Thu May 27 08:45:23 2010	(r47051)
@@ -464,6 +464,8 @@
 
 =begin PIR_FRAGMENT_INVALID
 
+  .loadlib 'io_ops'
+  ...
   $P0 = open $S1
   $P0 = open $S1, $S2
   $P0 = open $P1
@@ -488,6 +490,8 @@
 
 =begin PIR_FRAGMENT_INVALID
 
+  .loadlib 'io_ops'
+  ...
   close $P0
   close $P0, $P1
 
@@ -554,14 +558,16 @@
 
 =item C<printerr>
 
-=begin PIR_FRAGMENT
+=begin PIR_FRAGMENT_INVALID
 
+  .loadlib 'io_ops'
+  ...
   printerr $I0
   printerr $N0
   printerr $S0
   printerr $P0
 
-=end PIR_FRAGMENT
+=end PIR_FRAGMENT_INVALID
 
 Writes an integer, float, string, or PMC value to standard error.
 
@@ -578,6 +584,8 @@
 
 =begin PIR_FRAGMENT_INVALID
 
+  .loadlib 'io_ops'
+  ...
   $S0 = read $I1
   $S0 = read $P1, $I2
   $P0 = read $P1, $I2, $P3
@@ -598,6 +606,8 @@
 
 =begin PIR_FRAGMENT_INVALID
 
+  .loadlib 'io_ops'
+  ...
   $S0 = readline $P1
   $P0 = readline $P1, $P2
 
@@ -613,12 +623,14 @@
 
 =item C<peek>
 
-=begin PIR_FRAGMENT
+=begin PIR_FRAGMENT_INVALID
 
+  .loadlib 'io_ops'
+  ...
   $S0 = peek
   $S0 = peek $P1
 
-=end PIR_FRAGMENT
+=end PIR_FRAGMENT_INVALID
 
 [C<peek>, C<seek>, C<tell>, and C<poll> are all candidates for moving from
 opcodes to FileHandle object methods.]
@@ -641,6 +653,8 @@
 
 =begin PIR_FRAGMENT_INVALID
 
+  .loadlib 'io_ops'
+  ...
   seek $P0, $I1, $I2
   seek $P0, $I1, $I2, $I3
   seek $P0, $I1, $I2, $P3
@@ -664,6 +678,8 @@
 
 =begin PIR_FRAGMENT_INVALID
 
+  .loadlib 'io_ops'
+  ...
   $I0 = tell $P1
   ($I0, $I1) = tell $P2
 

Modified: trunk/docs/user/pir/intro.pod
==============================================================================
--- trunk/docs/user/pir/intro.pod	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/docs/user/pir/intro.pod	Thu May 27 08:45:23 2010	(r47051)
@@ -410,22 +410,26 @@
 pass it a string register or variable where you wish the characters
 read to be placed and the number of characters you wish to read:
 
-=begin PIR_FRAGMENT
+=begin PIR_FRAGMENT_INVALID
 
+  .loadlib 'io_ops'
+  ...
   read $S1, 100
 
-=end PIR_FRAGMENT
+=end PIR_FRAGMENT_INVALID
 
 This line will read 100 characters (or until the end of the line) and
 put the read string into C<$S1>. In case you need a number, just
 assign the string to the correct register type:
 
-=begin PIR_FRAGMENT
+=begin PIR_FRAGMENT_INVALID
 
+  .loadlib 'io_ops'
   read $S1, 100
+  ...
   $I1 = $S1
 
-=end PIR_FRAGMENT
+=end PIR_FRAGMENT_INVALID
 
 With the PIR syntax shown in this article you should be able to start
 writing simple programs. Next article we will look into available

Modified: trunk/examples/benchmarks/primes.pasm
==============================================================================
--- trunk/examples/benchmarks/primes.pasm	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/examples/benchmarks/primes.pasm	Thu May 27 08:45:23 2010	(r47051)
@@ -42,6 +42,7 @@
     div     P4, P1, 2
     # Check if P3 is a factor of P1
 LOOP:
+.loadlib 'math_ops' # cmod is a dynop
     cmod    P5, P1, P3
     if      P5, OK
 

Modified: trunk/examples/benchmarks/primes_i.pasm
==============================================================================
--- trunk/examples/benchmarks/primes_i.pasm	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/examples/benchmarks/primes_i.pasm	Thu May 27 08:45:23 2010	(r47051)
@@ -30,6 +30,7 @@
 	set     I3, 2
 	div     I4, I1, 2
 LOOP:   # Check if I3 is a factor of I1
+.loadlib 'math_ops' # cmod is a dynop
 	cmod    I5, I1, I3
 	if      I5, OK
 	# We've found a factor, so it can't be a prime and

Modified: trunk/examples/io/http.pir
==============================================================================
--- trunk/examples/io/http.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/examples/io/http.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -53,7 +53,7 @@
     print "Socket error\n"
     end
 END:
-    close sock
+    sock.'close'()
     end
 .end
 

Modified: trunk/examples/io/httpd.pir
==============================================================================
--- trunk/examples/io/httpd.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/examples/io/httpd.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -95,6 +95,9 @@
 .include 'except_types.pasm'
 .include 'socket.pasm'
 
+.loadlib 'io_ops'
+.loadlib 'sys_ops'
+
 .sub main :main
     .local pmc listener, work, fp
     .local pmc fp               # read requested files from disk

Modified: trunk/examples/json/postalcodes.pir
==============================================================================
--- trunk/examples/json/postalcodes.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/examples/json/postalcodes.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -18,6 +18,7 @@
 =cut
 
 .include 'socket.pasm'
+.loadlib 'io_ops'
 
 .sub _main :main
     .param pmc argv

Modified: trunk/examples/library/md5sum.pir
==============================================================================
--- trunk/examples/library/md5sum.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/examples/library/md5sum.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -24,6 +24,8 @@
 
 =cut
 
+.loadlib 'os'       # OS object
+
 .sub _main :main
     .param pmc args
 
@@ -34,9 +36,9 @@
     $I0 = $I0 - 1
     if $I0 > 0 goto has_args
     $S0 = args[0]
-    printerr "(parrot) "
-    printerr $S0
-    printerr " filename [filename ...]\n"
+    print "(parrot) "
+    print $S0
+    print " filename [filename ...]\n"
     exit 1
 
 has_args:
@@ -50,7 +52,10 @@
     file = args[$I1]
     .include "stat.pasm"
     # Get size of file
-    size = stat file, .STAT_FILESIZE
+    .local pmc os, stat_buf
+    os = new ['OS']
+    stat_buf = os.'stat'(file)
+    size = stat_buf[7]
     .local pmc pio, cl
     cl = new 'FileHandle'
     # slurp the file into memory
@@ -60,8 +65,12 @@
     $I2 = length contents
     if $I2 == size goto size_ok
 
-    printerr file
-    printerr ": size mismatch\n"
+    print file
+    print ": size mismatch ("
+    print size
+    print " vs "
+    print $I2
+    print ")\n"
     goto iter_cont
 
 size_ok:

Modified: trunk/examples/library/ncurses_life.pir
==============================================================================
--- trunk/examples/library/ncurses_life.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/examples/library/ncurses_life.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -56,6 +56,8 @@
 
 =cut
 
+.loadlib 'io_ops'
+
 .sub _MAIN :main
     .param pmc argv
     # the command line

Modified: trunk/examples/pasm/cat.pasm
==============================================================================
--- trunk/examples/pasm/cat.pasm	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/examples/pasm/cat.pasm	Thu May 27 08:45:23 2010	(r47051)
@@ -19,6 +19,8 @@
 
 =cut
 
+.loadlib 'io_ops'
+
 	getstdin P0
 	getstdout P1
 REDO:

Modified: trunk/examples/pge/demo.pir
==============================================================================
--- trunk/examples/pge/demo.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/examples/pge/demo.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -34,8 +34,9 @@
   read_loop:
     print "\ninput \"regex <pattern>\", \"glob <pattern>\", \"save <name>\",\n"
     print "target string, \"pir\", \"exp\", \"trace\", \"next\"\n"
-    getstdin stdin
-    readline x, stdin
+    $P0 = getinterp
+    stdin = $P0.'stdhandle'(0)
+    x = stdin.'readline'()
     length $I0, x
     if $I0 < 1 goto end_demo
     $I0 = index x, " "

Modified: trunk/examples/pir/io.pir
==============================================================================
--- trunk/examples/pir/io.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/examples/pir/io.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -17,6 +17,8 @@
 
 =cut
 
+.loadlib 'io_ops' # convenient I/O dynamic opcodes
+
 .sub 'example' :main
     .local string test_fn
     test_fn = "tmp_example_io.tmp"

Modified: trunk/examples/pir/life.pir
==============================================================================
--- trunk/examples/pir/life.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/examples/pir/life.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -86,7 +86,9 @@
 	inc $I0
 	mod $I31,$I0,100
 	if $I31, skip
-	printerr "."
+        $P0 = getinterp
+        $P1 = $P0.'stdhandle'(2)
+	print $P1, "."
 skip:
 
 	local_branch jmpstack,  generate

Modified: trunk/examples/pir/make_hello_pbc.pir
==============================================================================
--- trunk/examples/pir/make_hello_pbc.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/examples/pir/make_hello_pbc.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -84,9 +84,10 @@
 
     # Now pack Packfile and save it
     $S0 = pf
-    $P1 = open "generated_hello.pbc", "w"
+    $P1 = new ['FileHandle']
+    $P1.'open'("generated_hello.pbc", "w")
     $P1.'puts'($S0)
-    close $P1
+    $P1.'close'()
 
     # And check it!
     load_bytecode 'generated_hello.pbc'

Modified: trunk/examples/pir/pirric.pir
==============================================================================
--- trunk/examples/pir/pirric.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/examples/pir/pirric.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -49,6 +49,10 @@
 
 .include 'warnings.pasm'
 
+.loadlib 'io_ops'
+.loadlib 'debug_ops'
+.loadlib 'trans_ops'
+
 #-----------------------------------------------------------------------
 
 .sub pirric_aux_loadbytecode

Modified: trunk/examples/pir/quine_ord.pir
==============================================================================
--- trunk/examples/pir/quine_ord.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/examples/pir/quine_ord.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -1,6 +1,9 @@
 # Copyright (C) 2006-2010, Parrot Foundation.
 # ATT no autoexpanding svn markers please
 
+# XXX currently broken
+.loadlib 'io_ops'
+
 .sub quine :main
     .param pmc argv
 

Modified: trunk/examples/pir/readline.pir
==============================================================================
--- trunk/examples/pir/readline.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/examples/pir/readline.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -19,6 +19,7 @@
 =cut
 
 .include 'cclass.pasm'
+.loadlib 'io_ops'
 
 .sub "example" :main
         .local pmc stdin

Modified: trunk/examples/pir/sudoku.pir
==============================================================================
--- trunk/examples/pir/sudoku.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/examples/pir/sudoku.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -151,6 +151,9 @@
 
 .const string VERSION="0.2.3"
 
+.loadlib 'bit_ops'
+.loadlib 'io_ops'
+
 .sub _main :main
     .param pmc argv
     .local int argc

Modified: trunk/examples/pir/uniq.pir
==============================================================================
--- trunk/examples/pir/uniq.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/examples/pir/uniq.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -41,6 +41,8 @@
 
 =cut
 
+.loadlib 'io_ops' # convenient I/O dynamic opcodes
+
 .sub "uniq" :main
   .param pmc argv
 

Modified: trunk/examples/sdl/lcd/clock.pir
==============================================================================
--- trunk/examples/sdl/lcd/clock.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/examples/sdl/lcd/clock.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -20,6 +20,8 @@
 
 .include "tm.pasm"
 .include "timer.pasm"
+.loadlib 'sys_ops'
+.loadlib 'math_ops'
 
 =item _main
 

Modified: trunk/examples/sdl/minesweeper/field.pir
==============================================================================
--- trunk/examples/sdl/minesweeper/field.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/examples/sdl/minesweeper/field.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -35,6 +35,7 @@
 =cut
 
 .include "iterator.pasm"
+.loadlib 'math_ops'
 .namespace ["Mines::Field"]
 
 # size of a single mine field, in pixels

Modified: trunk/examples/shootout/binarytrees.pir
==============================================================================
--- trunk/examples/shootout/binarytrees.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/examples/shootout/binarytrees.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -6,6 +6,8 @@
 # by Joshua Isom, modified by Leopold Toetsch
 # modified by karl : default value of N=10 to match shootout output
 
+.loadlib 'trans_ops'
+
 .sub itemcheck
 	.param pmc node
 	$I0 = exists node[0]

Modified: trunk/examples/shootout/fasta.pir
==============================================================================
--- trunk/examples/shootout/fasta.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/examples/shootout/fasta.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -160,10 +160,11 @@
 
 .sub main :main
 	.param pmc argv
-	.local pmc stdout
+	.local pmc interp, stdout
 	.local int n
 	# stdout is linebuffered per default - make it block buffered
-	stdout = getstdout
+        interp = getinterp
+	stdout = interp.'stdhandle'(1)
 	stdout.'buffer_size'(40960)
 	$I0 = argv
 	if $I0 > 1 goto argsok

Modified: trunk/examples/shootout/knucleotide.pir
==============================================================================
--- trunk/examples/shootout/knucleotide.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/examples/shootout/knucleotide.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -1,6 +1,8 @@
 # Copyright (C) 2005-2010, Parrot Foundation.
 # $Id$
 
+.loadlib 'io_ops'
+
 .sub main :main
 	.local pmc stdin
 	.local string line

Modified: trunk/examples/shootout/nbody.pir
==============================================================================
--- trunk/examples/shootout/nbody.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/examples/shootout/nbody.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -9,6 +9,8 @@
 # speed up  from 1m25 to 6s by Leopold Toetsch
 # changed default value to 1000 to match shootout default (karl)
 
+.loadlib 'trans_ops'
+
 .const int x = 0
 .const int y = 1
 .const int z = 2

Modified: trunk/examples/shootout/partialsums-2.pir
==============================================================================
--- trunk/examples/shootout/partialsums-2.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/examples/shootout/partialsums-2.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -7,6 +7,8 @@
 # By Joshua Isom
 # changed default value to N=25000 (shootout test default) Karl Forner
 
+.loadlib 'trans_ops'
+
 .sub main :main
 	.param pmc argv
 	.local int k, n

Modified: trunk/examples/shootout/partialsums.pir
==============================================================================
--- trunk/examples/shootout/partialsums.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/examples/shootout/partialsums.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -7,6 +7,8 @@
 # By Joshua Isom
 # changed default value to N=25000 (shootout test default) Karl Forner
 
+.loadlib 'trans_ops'
+
 .sub main :main
 	.param pmc argv
 	.local int k, n

Modified: trunk/examples/shootout/regexdna.pir
==============================================================================
--- trunk/examples/shootout/regexdna.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/examples/shootout/regexdna.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -61,8 +61,10 @@
 	############################################
 	# Read in the file
 beginwhile:
-	chunk = read 65535
-	chunklen = length chunk
+        $P0      = getinterp
+        $P1      = $P0.'stdhandle'(0) # stdin
+        chunk    = $P1.'read'(65535)
+        chunklen = length chunk
 	unless chunklen goto endwhile
 	# They don't say you have to match case insenitive...
 	chunk = downcase chunk

Modified: trunk/examples/shootout/revcomp.pir
==============================================================================
--- trunk/examples/shootout/revcomp.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/examples/shootout/revcomp.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -35,15 +35,16 @@
 .sub main :main
 	.local pmc stdin, stdout
 	.local string line, seq
-	stdin = getstdin
-	stdout = getstdout
+        $P0    = getinterp
+        stdin  = $P0.'stdhandle'(0)
+        stdout = $P0.'stdhandle'(1)
 	# stdout is linebuffered per default - make it block buffered
 	stdout.'buffer_size'(8192)
 
 	seq = ''
 
 beginwhile:
-	line = readline stdin
+	line = stdin.'readline'()
 	unless line goto endwhile
 	$I0 = ord line
 	unless $I0 == 62 goto else   # '>'

Modified: trunk/examples/shootout/sumcol.pir
==============================================================================
--- trunk/examples/shootout/sumcol.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/examples/shootout/sumcol.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -7,17 +7,18 @@
 # N.B. it is called the sum-file benchmark on the computer shootout (KF)
 
 .sub main :main
-	.local pmc stdin
+	.local pmc interp, stdin
 	.local string line
 	.local int count, tmp, linelen
-	count = 0
-	stdin = getstdin
+	count  = 0
+	interp = getinterp
+	stdin  = interp.'stdhandle'(0)
 beginwhile:
-	line = readline stdin
+	line    = stdin.'readline'()
 	linelen = length line
 	unless linelen goto endwhile
-	tmp	= line
-	count += tmp
+	tmp     = line
+	count  += tmp
 	goto beginwhile
 endwhile:
 	print count

Modified: trunk/examples/tge/branch/transform.pir
==============================================================================
--- trunk/examples/tge/branch/transform.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/examples/tge/branch/transform.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -105,21 +105,23 @@
     $I0 = argv
     if $I0 == 2 goto fromfile
 
-    filehandle = getstdin
+    $P0 = getinterp
+    filehandle = $P0.'stdhandle'(0)
     goto grabline
 
   fromfile:
     # Read in the source file
     filename = argv[1]
-    filehandle = open filename, 'r'
+    filehandle = new ['FileHandle']
+    filehandle.'open'(filename, 'r')
 
   grabline:
-    $S1 = read filehandle, 65535
+    $S1 = filehandle.'read'(65535)
 #    $S1 = readline filehandle
 #    print $S1
 
     if $I0 != 2 goto finished
-    close filehandle
+    filehandle.'close'()
 
   finished:
     .return ($S1)

Modified: trunk/examples/tutorial/40_file_ops.pir
==============================================================================
--- trunk/examples/tutorial/40_file_ops.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/examples/tutorial/40_file_ops.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -10,14 +10,16 @@
 .sub main :main
     .local pmc fileout, filein
 
-    fileout = open '40_file_ops_data.txt', 'w'
-    print fileout, "The quick brown fox jumps over the lazy dog.\n"
-    close fileout
+    fileout = new ['FileHandle']
+    fileout.'open'('40_file_ops_data.txt', 'w')
+    fileout.'print'("The quick brown fox jumps over the lazy dog.\n")
+    fileout.'close'()
 
-    filein = open '40_file_ops_data.txt', 'r'
-    $S0 = readline filein
+    filein = new ['FileHandle']
+    filein.'open'('40_file_ops_data.txt', 'r')
+    $S0 = filein.'readline'()
     say $S0
-    close filein
+    filein.'close'()
 
     # Be nice and remove the temporary file we created.
     $P0 = loadlib 'os'

Modified: trunk/ext/nqp-rx/src/stage0/HLL-s0.pir
==============================================================================
--- trunk/ext/nqp-rx/src/stage0/HLL-s0.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/ext/nqp-rx/src/stage0/HLL-s0.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -902,7 +902,7 @@
 ### .include 'gen/hllgrammar-grammar.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1274853022.01464")
+.sub "_block11"  :anon :subid("10_1274941405.48928")
 .annotate 'line', 0
     get_hll_global $P14, ["HLL";"Grammar"], "_block13" 
     capture_lex $P14
@@ -919,15 +919,15 @@
     $P343 = $P14()
 .annotate 'line', 1
     .return ($P343)
-    .const 'Sub' $P345 = "104_1274853022.01464" 
+    .const 'Sub' $P345 = "104_1274941405.48928" 
     .return ($P345)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post105") :outer("10_1274853022.01464")
+.sub "" :load :init :subid("post105") :outer("10_1274941405.48928")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1274853022.01464" 
+    .const 'Sub' $P12 = "10_1274941405.48928" 
     .local pmc block
     set block, $P12
     $P348 = get_root_global ["parrot"], "P6metaclass"
@@ -936,81 +936,81 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block13"  :subid("11_1274853022.01464") :outer("10_1274853022.01464")
+.sub "_block13"  :subid("11_1274941405.48928") :outer("10_1274941405.48928")
 .annotate 'line', 5
-    .const 'Sub' $P329 = "101_1274853022.01464" 
+    .const 'Sub' $P329 = "101_1274941405.48928" 
     capture_lex $P329
-    .const 'Sub' $P322 = "99_1274853022.01464" 
+    .const 'Sub' $P322 = "99_1274941405.48928" 
     capture_lex $P322
-    .const 'Sub' $P309 = "96_1274853022.01464" 
+    .const 'Sub' $P309 = "96_1274941405.48928" 
     capture_lex $P309
-    .const 'Sub' $P277 = "91_1274853022.01464" 
+    .const 'Sub' $P277 = "91_1274941405.48928" 
     capture_lex $P277
-    .const 'Sub' $P271 = "89_1274853022.01464" 
+    .const 'Sub' $P271 = "89_1274941405.48928" 
     capture_lex $P271
-    .const 'Sub' $P266 = "87_1274853022.01464" 
+    .const 'Sub' $P266 = "87_1274941405.48928" 
     capture_lex $P266
-    .const 'Sub' $P260 = "85_1274853022.01464" 
+    .const 'Sub' $P260 = "85_1274941405.48928" 
     capture_lex $P260
-    .const 'Sub' $P254 = "83_1274853022.01464" 
+    .const 'Sub' $P254 = "83_1274941405.48928" 
     capture_lex $P254
-    .const 'Sub' $P249 = "81_1274853022.01464" 
+    .const 'Sub' $P249 = "81_1274941405.48928" 
     capture_lex $P249
-    .const 'Sub' $P244 = "79_1274853022.01464" 
+    .const 'Sub' $P244 = "79_1274941405.48928" 
     capture_lex $P244
-    .const 'Sub' $P239 = "77_1274853022.01464" 
+    .const 'Sub' $P239 = "77_1274941405.48928" 
     capture_lex $P239
-    .const 'Sub' $P234 = "75_1274853022.01464" 
+    .const 'Sub' $P234 = "75_1274941405.48928" 
     capture_lex $P234
-    .const 'Sub' $P229 = "73_1274853022.01464" 
+    .const 'Sub' $P229 = "73_1274941405.48928" 
     capture_lex $P229
-    .const 'Sub' $P224 = "71_1274853022.01464" 
+    .const 'Sub' $P224 = "71_1274941405.48928" 
     capture_lex $P224
-    .const 'Sub' $P219 = "69_1274853022.01464" 
+    .const 'Sub' $P219 = "69_1274941405.48928" 
     capture_lex $P219
-    .const 'Sub' $P208 = "65_1274853022.01464" 
+    .const 'Sub' $P208 = "65_1274941405.48928" 
     capture_lex $P208
-    .const 'Sub' $P195 = "63_1274853022.01464" 
+    .const 'Sub' $P195 = "63_1274941405.48928" 
     capture_lex $P195
-    .const 'Sub' $P183 = "61_1274853022.01464" 
+    .const 'Sub' $P183 = "61_1274941405.48928" 
     capture_lex $P183
-    .const 'Sub' $P176 = "59_1274853022.01464" 
+    .const 'Sub' $P176 = "59_1274941405.48928" 
     capture_lex $P176
-    .const 'Sub' $P167 = "57_1274853022.01464" 
+    .const 'Sub' $P167 = "57_1274941405.48928" 
     capture_lex $P167
-    .const 'Sub' $P160 = "55_1274853022.01464" 
+    .const 'Sub' $P160 = "55_1274941405.48928" 
     capture_lex $P160
-    .const 'Sub' $P151 = "53_1274853022.01464" 
+    .const 'Sub' $P151 = "53_1274941405.48928" 
     capture_lex $P151
-    .const 'Sub' $P144 = "51_1274853022.01464" 
+    .const 'Sub' $P144 = "51_1274941405.48928" 
     capture_lex $P144
-    .const 'Sub' $P135 = "49_1274853022.01464" 
+    .const 'Sub' $P135 = "49_1274941405.48928" 
     capture_lex $P135
-    .const 'Sub' $P128 = "47_1274853022.01464" 
+    .const 'Sub' $P128 = "47_1274941405.48928" 
     capture_lex $P128
-    .const 'Sub' $P121 = "45_1274853022.01464" 
+    .const 'Sub' $P121 = "45_1274941405.48928" 
     capture_lex $P121
-    .const 'Sub' $P111 = "43_1274853022.01464" 
+    .const 'Sub' $P111 = "43_1274941405.48928" 
     capture_lex $P111
-    .const 'Sub' $P103 = "41_1274853022.01464" 
+    .const 'Sub' $P103 = "41_1274941405.48928" 
     capture_lex $P103
-    .const 'Sub' $P93 = "40_1274853022.01464" 
+    .const 'Sub' $P93 = "40_1274941405.48928" 
     capture_lex $P93
-    .const 'Sub' $P87 = "38_1274853022.01464" 
+    .const 'Sub' $P87 = "38_1274941405.48928" 
     capture_lex $P87
-    .const 'Sub' $P82 = "36_1274853022.01464" 
+    .const 'Sub' $P82 = "36_1274941405.48928" 
     capture_lex $P82
-    .const 'Sub' $P74 = "34_1274853022.01464" 
+    .const 'Sub' $P74 = "34_1274941405.48928" 
     capture_lex $P74
-    .const 'Sub' $P68 = "32_1274853022.01464" 
+    .const 'Sub' $P68 = "32_1274941405.48928" 
     capture_lex $P68
-    .const 'Sub' $P62 = "30_1274853022.01464" 
+    .const 'Sub' $P62 = "30_1274941405.48928" 
     capture_lex $P62
-    .const 'Sub' $P56 = "28_1274853022.01464" 
+    .const 'Sub' $P56 = "28_1274941405.48928" 
     capture_lex $P56
-    .const 'Sub' $P23 = "14_1274853022.01464" 
+    .const 'Sub' $P23 = "14_1274941405.48928" 
     capture_lex $P23
-    .const 'Sub' $P15 = "12_1274853022.01464" 
+    .const 'Sub' $P15 = "12_1274941405.48928" 
     capture_lex $P15
     $P0 = find_dynamic_lex "$*CTXSAVE"
     if null $P0 goto ctxsave_done
@@ -1019,17 +1019,17 @@
     $P0."ctxsave"()
   ctxsave_done:
 .annotate 'line', 33
-    .const 'Sub' $P329 = "101_1274853022.01464" 
+    .const 'Sub' $P329 = "101_1274941405.48928" 
     capture_lex $P329
 .annotate 'line', 5
     .return ($P329)
-    .const 'Sub' $P340 = "103_1274853022.01464" 
+    .const 'Sub' $P340 = "103_1274941405.48928" 
     .return ($P340)
 .end
 
 
 .namespace ["HLL";"Grammar"]
-.sub "ws"  :subid("12_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "ws"  :subid("12_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 5
     .local string rx16_tgt
     .local int rx16_pos
@@ -1113,7 +1113,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__ws"  :subid("13_1274853022.01464") :method
+.sub "!PREFIX__ws"  :subid("13_1274941405.48928") :method
 .annotate 'line', 5
     new $P18, "ResizablePMCArray"
     push $P18, ""
@@ -1122,7 +1122,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "termish"  :subid("14_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "termish"  :subid("14_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 5
     .local string rx24_tgt
     .local int rx24_pos
@@ -1214,7 +1214,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__termish"  :subid("15_1274853022.01464") :method
+.sub "!PREFIX__termish"  :subid("15_1274941405.48928") :method
 .annotate 'line', 5
     new $P26, "ResizablePMCArray"
     push $P26, ""
@@ -1223,7 +1223,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "term"  :subid("16_1274853022.01464") :method
+.sub "term"  :subid("16_1274941405.48928") :method
 .annotate 'line', 13
     $P33 = self."!protoregex"("term")
     .return ($P33)
@@ -1231,7 +1231,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__term"  :subid("17_1274853022.01464") :method
+.sub "!PREFIX__term"  :subid("17_1274941405.48928") :method
 .annotate 'line', 13
     $P35 = self."!PREFIX__!protoregex"("term")
     .return ($P35)
@@ -1239,7 +1239,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "infix"  :subid("18_1274853022.01464") :method
+.sub "infix"  :subid("18_1274941405.48928") :method
 .annotate 'line', 14
     $P37 = self."!protoregex"("infix")
     .return ($P37)
@@ -1247,7 +1247,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__infix"  :subid("19_1274853022.01464") :method
+.sub "!PREFIX__infix"  :subid("19_1274941405.48928") :method
 .annotate 'line', 14
     $P39 = self."!PREFIX__!protoregex"("infix")
     .return ($P39)
@@ -1255,7 +1255,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "prefix"  :subid("20_1274853022.01464") :method
+.sub "prefix"  :subid("20_1274941405.48928") :method
 .annotate 'line', 15
     $P41 = self."!protoregex"("prefix")
     .return ($P41)
@@ -1263,7 +1263,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__prefix"  :subid("21_1274853022.01464") :method
+.sub "!PREFIX__prefix"  :subid("21_1274941405.48928") :method
 .annotate 'line', 15
     $P43 = self."!PREFIX__!protoregex"("prefix")
     .return ($P43)
@@ -1271,7 +1271,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "postfix"  :subid("22_1274853022.01464") :method
+.sub "postfix"  :subid("22_1274941405.48928") :method
 .annotate 'line', 16
     $P45 = self."!protoregex"("postfix")
     .return ($P45)
@@ -1279,7 +1279,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postfix"  :subid("23_1274853022.01464") :method
+.sub "!PREFIX__postfix"  :subid("23_1274941405.48928") :method
 .annotate 'line', 16
     $P47 = self."!PREFIX__!protoregex"("postfix")
     .return ($P47)
@@ -1287,7 +1287,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "circumfix"  :subid("24_1274853022.01464") :method
+.sub "circumfix"  :subid("24_1274941405.48928") :method
 .annotate 'line', 17
     $P49 = self."!protoregex"("circumfix")
     .return ($P49)
@@ -1295,7 +1295,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__circumfix"  :subid("25_1274853022.01464") :method
+.sub "!PREFIX__circumfix"  :subid("25_1274941405.48928") :method
 .annotate 'line', 17
     $P51 = self."!PREFIX__!protoregex"("circumfix")
     .return ($P51)
@@ -1303,7 +1303,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "postcircumfix"  :subid("26_1274853022.01464") :method
+.sub "postcircumfix"  :subid("26_1274941405.48928") :method
 .annotate 'line', 18
     $P53 = self."!protoregex"("postcircumfix")
     .return ($P53)
@@ -1311,7 +1311,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postcircumfix"  :subid("27_1274853022.01464") :method
+.sub "!PREFIX__postcircumfix"  :subid("27_1274941405.48928") :method
 .annotate 'line', 18
     $P55 = self."!PREFIX__!protoregex"("postcircumfix")
     .return ($P55)
@@ -1319,7 +1319,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "term:sym<circumfix>"  :subid("28_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "term:sym<circumfix>"  :subid("28_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 5
     .local string rx57_tgt
     .local int rx57_pos
@@ -1377,7 +1377,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__term:sym<circumfix>"  :subid("29_1274853022.01464") :method
+.sub "!PREFIX__term:sym<circumfix>"  :subid("29_1274941405.48928") :method
 .annotate 'line', 5
     $P59 = self."!PREFIX__!subrule"("circumfix", "")
     new $P60, "ResizablePMCArray"
@@ -1387,7 +1387,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "infixish"  :subid("30_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "infixish"  :subid("30_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 5
     .local string rx63_tgt
     .local int rx63_pos
@@ -1445,7 +1445,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__infixish"  :subid("31_1274853022.01464") :method
+.sub "!PREFIX__infixish"  :subid("31_1274941405.48928") :method
 .annotate 'line', 5
     $P65 = self."!PREFIX__!subrule"("OPER=infix", "")
     new $P66, "ResizablePMCArray"
@@ -1455,7 +1455,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "prefixish"  :subid("32_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "prefixish"  :subid("32_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 5
     .local string rx69_tgt
     .local int rx69_pos
@@ -1518,7 +1518,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__prefixish"  :subid("33_1274853022.01464") :method
+.sub "!PREFIX__prefixish"  :subid("33_1274941405.48928") :method
 .annotate 'line', 5
     $P71 = self."!PREFIX__!subrule"("OPER=prefix", "")
     new $P72, "ResizablePMCArray"
@@ -1528,7 +1528,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "postfixish"  :subid("34_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "postfixish"  :subid("34_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 5
     .local string rx75_tgt
     .local int rx75_pos
@@ -1602,7 +1602,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postfixish"  :subid("35_1274853022.01464") :method
+.sub "!PREFIX__postfixish"  :subid("35_1274941405.48928") :method
 .annotate 'line', 5
     $P77 = self."!PREFIX__!subrule"("OPER=postcircumfix", "")
     $P78 = self."!PREFIX__!subrule"("OPER=postfix", "")
@@ -1614,7 +1614,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "nullterm"  :subid("36_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "nullterm"  :subid("36_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 5
     .local string rx83_tgt
     .local int rx83_pos
@@ -1665,7 +1665,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__nullterm"  :subid("37_1274853022.01464") :method
+.sub "!PREFIX__nullterm"  :subid("37_1274941405.48928") :method
 .annotate 'line', 5
     new $P85, "ResizablePMCArray"
     push $P85, ""
@@ -1674,7 +1674,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "nullterm_alt"  :subid("38_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "nullterm_alt"  :subid("38_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 5
     .local string rx88_tgt
     .local int rx88_pos
@@ -1732,7 +1732,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__nullterm_alt"  :subid("39_1274853022.01464") :method
+.sub "!PREFIX__nullterm_alt"  :subid("39_1274941405.48928") :method
 .annotate 'line', 5
     $P90 = self."!PREFIX__!subrule"("term", "")
     new $P91, "ResizablePMCArray"
@@ -1742,7 +1742,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "nulltermish"  :subid("40_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "nulltermish"  :subid("40_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 33
     new $P95, 'ExceptionHandler'
     set_addr $P95, control_94
@@ -1769,7 +1769,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_delimited"  :subid("41_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "quote_delimited"  :subid("41_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 33
     .local string rx104_tgt
     .local int rx104_pos
@@ -1851,7 +1851,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_delimited"  :subid("42_1274853022.01464") :method
+.sub "!PREFIX__quote_delimited"  :subid("42_1274941405.48928") :method
 .annotate 'line', 33
     $P106 = self."!PREFIX__!subrule"("starter", "")
     new $P107, "ResizablePMCArray"
@@ -1861,7 +1861,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_atom"  :subid("43_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "quote_atom"  :subid("43_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 33
     .local string rx112_tgt
     .local int rx112_pos
@@ -1952,7 +1952,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_atom"  :subid("44_1274853022.01464") :method
+.sub "!PREFIX__quote_atom"  :subid("44_1274941405.48928") :method
 .annotate 'line', 33
     new $P114, "ResizablePMCArray"
     push $P114, ""
@@ -1961,7 +1961,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "decint"  :subid("45_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "decint"  :subid("45_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 33
     .local string rx122_tgt
     .local int rx122_pos
@@ -2033,7 +2033,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__decint"  :subid("46_1274853022.01464") :method
+.sub "!PREFIX__decint"  :subid("46_1274941405.48928") :method
 .annotate 'line', 33
     new $P124, "ResizablePMCArray"
     push $P124, ""
@@ -2042,7 +2042,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "decints"  :subid("47_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "decints"  :subid("47_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 33
     .local string rx129_tgt
     .local int rx129_pos
@@ -2126,7 +2126,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__decints"  :subid("48_1274853022.01464") :method
+.sub "!PREFIX__decints"  :subid("48_1274941405.48928") :method
 .annotate 'line', 33
     new $P131, "ResizablePMCArray"
     push $P131, ""
@@ -2135,7 +2135,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "hexint"  :subid("49_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "hexint"  :subid("49_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 33
     .local string rx136_tgt
     .local int rx136_pos
@@ -2216,7 +2216,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__hexint"  :subid("50_1274853022.01464") :method
+.sub "!PREFIX__hexint"  :subid("50_1274941405.48928") :method
 .annotate 'line', 33
     new $P138, "ResizablePMCArray"
     push $P138, ""
@@ -2225,7 +2225,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "hexints"  :subid("51_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "hexints"  :subid("51_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 33
     .local string rx145_tgt
     .local int rx145_pos
@@ -2309,7 +2309,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__hexints"  :subid("52_1274853022.01464") :method
+.sub "!PREFIX__hexints"  :subid("52_1274941405.48928") :method
 .annotate 'line', 33
     new $P147, "ResizablePMCArray"
     push $P147, ""
@@ -2318,7 +2318,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "octint"  :subid("53_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "octint"  :subid("53_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 33
     .local string rx152_tgt
     .local int rx152_pos
@@ -2399,7 +2399,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__octint"  :subid("54_1274853022.01464") :method
+.sub "!PREFIX__octint"  :subid("54_1274941405.48928") :method
 .annotate 'line', 33
     new $P154, "ResizablePMCArray"
     push $P154, ""
@@ -2408,7 +2408,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "octints"  :subid("55_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "octints"  :subid("55_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 33
     .local string rx161_tgt
     .local int rx161_pos
@@ -2492,7 +2492,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__octints"  :subid("56_1274853022.01464") :method
+.sub "!PREFIX__octints"  :subid("56_1274941405.48928") :method
 .annotate 'line', 33
     new $P163, "ResizablePMCArray"
     push $P163, ""
@@ -2501,7 +2501,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "binint"  :subid("57_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "binint"  :subid("57_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 33
     .local string rx168_tgt
     .local int rx168_pos
@@ -2582,7 +2582,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__binint"  :subid("58_1274853022.01464") :method
+.sub "!PREFIX__binint"  :subid("58_1274941405.48928") :method
 .annotate 'line', 33
     new $P170, "ResizablePMCArray"
     push $P170, ""
@@ -2591,7 +2591,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "binints"  :subid("59_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "binints"  :subid("59_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 33
     .local string rx177_tgt
     .local int rx177_pos
@@ -2675,7 +2675,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__binints"  :subid("60_1274853022.01464") :method
+.sub "!PREFIX__binints"  :subid("60_1274941405.48928") :method
 .annotate 'line', 33
     new $P179, "ResizablePMCArray"
     push $P179, ""
@@ -2684,7 +2684,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "integer"  :subid("61_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "integer"  :subid("61_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 33
     .local string rx184_tgt
     .local int rx184_pos
@@ -2832,7 +2832,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__integer"  :subid("62_1274853022.01464") :method
+.sub "!PREFIX__integer"  :subid("62_1274941405.48928") :method
 .annotate 'line', 33
     $P186 = self."!PREFIX__!subrule"("VALUE=decint", "")
     $P187 = self."!PREFIX__!subrule"("VALUE=decint", "0d")
@@ -2850,7 +2850,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "dec_number"  :subid("63_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "dec_number"  :subid("63_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 33
     .local string rx196_tgt
     .local int rx196_pos
@@ -3029,7 +3029,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__dec_number"  :subid("64_1274853022.01464") :method
+.sub "!PREFIX__dec_number"  :subid("64_1274941405.48928") :method
 .annotate 'line', 33
     new $P198, "ResizablePMCArray"
     push $P198, ""
@@ -3040,7 +3040,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "escale"  :subid("65_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "escale"  :subid("65_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 33
     .local string rx209_tgt
     .local int rx209_pos
@@ -3117,7 +3117,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__escale"  :subid("66_1274853022.01464") :method
+.sub "!PREFIX__escale"  :subid("66_1274941405.48928") :method
 .annotate 'line', 33
     new $P211, "ResizablePMCArray"
     push $P211, "e"
@@ -3127,7 +3127,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape"  :subid("67_1274853022.01464") :method
+.sub "quote_escape"  :subid("67_1274941405.48928") :method
 .annotate 'line', 79
     $P216 = self."!protoregex"("quote_escape")
     .return ($P216)
@@ -3135,7 +3135,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape"  :subid("68_1274853022.01464") :method
+.sub "!PREFIX__quote_escape"  :subid("68_1274941405.48928") :method
 .annotate 'line', 79
     $P218 = self."!PREFIX__!protoregex"("quote_escape")
     .return ($P218)
@@ -3143,7 +3143,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<backslash>"  :subid("69_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "quote_escape:sym<backslash>"  :subid("69_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 33
     .local string rx220_tgt
     .local int rx220_pos
@@ -3205,7 +3205,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<backslash>"  :subid("70_1274853022.01464") :method
+.sub "!PREFIX__quote_escape:sym<backslash>"  :subid("70_1274941405.48928") :method
 .annotate 'line', 33
     new $P222, "ResizablePMCArray"
     push $P222, "\\\\"
@@ -3214,7 +3214,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<stopper>"  :subid("71_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "quote_escape:sym<stopper>"  :subid("71_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 33
     .local string rx225_tgt
     .local int rx225_pos
@@ -3283,7 +3283,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<stopper>"  :subid("72_1274853022.01464") :method
+.sub "!PREFIX__quote_escape:sym<stopper>"  :subid("72_1274941405.48928") :method
 .annotate 'line', 33
     new $P227, "ResizablePMCArray"
     push $P227, "\\"
@@ -3292,7 +3292,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<bs>"  :subid("73_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "quote_escape:sym<bs>"  :subid("73_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 33
     .local string rx230_tgt
     .local int rx230_pos
@@ -3354,7 +3354,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<bs>"  :subid("74_1274853022.01464") :method
+.sub "!PREFIX__quote_escape:sym<bs>"  :subid("74_1274941405.48928") :method
 .annotate 'line', 33
     new $P232, "ResizablePMCArray"
     push $P232, "\\b"
@@ -3363,7 +3363,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<nl>"  :subid("75_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "quote_escape:sym<nl>"  :subid("75_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 33
     .local string rx235_tgt
     .local int rx235_pos
@@ -3425,7 +3425,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<nl>"  :subid("76_1274853022.01464") :method
+.sub "!PREFIX__quote_escape:sym<nl>"  :subid("76_1274941405.48928") :method
 .annotate 'line', 33
     new $P237, "ResizablePMCArray"
     push $P237, "\\n"
@@ -3434,7 +3434,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<cr>"  :subid("77_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "quote_escape:sym<cr>"  :subid("77_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 33
     .local string rx240_tgt
     .local int rx240_pos
@@ -3496,7 +3496,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<cr>"  :subid("78_1274853022.01464") :method
+.sub "!PREFIX__quote_escape:sym<cr>"  :subid("78_1274941405.48928") :method
 .annotate 'line', 33
     new $P242, "ResizablePMCArray"
     push $P242, "\\r"
@@ -3505,7 +3505,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<tab>"  :subid("79_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "quote_escape:sym<tab>"  :subid("79_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 33
     .local string rx245_tgt
     .local int rx245_pos
@@ -3567,7 +3567,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<tab>"  :subid("80_1274853022.01464") :method
+.sub "!PREFIX__quote_escape:sym<tab>"  :subid("80_1274941405.48928") :method
 .annotate 'line', 33
     new $P247, "ResizablePMCArray"
     push $P247, "\\t"
@@ -3576,7 +3576,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<ff>"  :subid("81_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "quote_escape:sym<ff>"  :subid("81_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 33
     .local string rx250_tgt
     .local int rx250_pos
@@ -3638,7 +3638,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<ff>"  :subid("82_1274853022.01464") :method
+.sub "!PREFIX__quote_escape:sym<ff>"  :subid("82_1274941405.48928") :method
 .annotate 'line', 33
     new $P252, "ResizablePMCArray"
     push $P252, "\\f"
@@ -3647,7 +3647,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<hex>"  :subid("83_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "quote_escape:sym<hex>"  :subid("83_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 33
     .local string rx255_tgt
     .local int rx255_pos
@@ -3745,7 +3745,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<hex>"  :subid("84_1274853022.01464") :method
+.sub "!PREFIX__quote_escape:sym<hex>"  :subid("84_1274941405.48928") :method
 .annotate 'line', 33
     new $P257, "ResizablePMCArray"
     push $P257, unicode:"\\x"
@@ -3754,7 +3754,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<oct>"  :subid("85_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "quote_escape:sym<oct>"  :subid("85_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 33
     .local string rx261_tgt
     .local int rx261_pos
@@ -3852,7 +3852,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<oct>"  :subid("86_1274853022.01464") :method
+.sub "!PREFIX__quote_escape:sym<oct>"  :subid("86_1274941405.48928") :method
 .annotate 'line', 33
     new $P263, "ResizablePMCArray"
     push $P263, "\\o"
@@ -3861,7 +3861,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<chr>"  :subid("87_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "quote_escape:sym<chr>"  :subid("87_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 33
     .local string rx267_tgt
     .local int rx267_pos
@@ -3930,7 +3930,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<chr>"  :subid("88_1274853022.01464") :method
+.sub "!PREFIX__quote_escape:sym<chr>"  :subid("88_1274941405.48928") :method
 .annotate 'line', 33
     new $P269, "ResizablePMCArray"
     push $P269, "\\c"
@@ -3939,7 +3939,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<0>"  :subid("89_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "quote_escape:sym<0>"  :subid("89_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 33
     .local string rx272_tgt
     .local int rx272_pos
@@ -4022,7 +4022,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<0>"  :subid("90_1274853022.01464") :method
+.sub "!PREFIX__quote_escape:sym<0>"  :subid("90_1274941405.48928") :method
 .annotate 'line', 33
     new $P274, "ResizablePMCArray"
     push $P274, "\\0"
@@ -4031,13 +4031,13 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<misc>"  :subid("91_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "quote_escape:sym<misc>"  :subid("91_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 33
-    .const 'Sub' $P297 = "95_1274853022.01464" 
+    .const 'Sub' $P297 = "95_1274941405.48928" 
     capture_lex $P297
-    .const 'Sub' $P290 = "94_1274853022.01464" 
+    .const 'Sub' $P290 = "94_1274941405.48928" 
     capture_lex $P290
-    .const 'Sub' $P285 = "93_1274853022.01464" 
+    .const 'Sub' $P285 = "93_1274941405.48928" 
     capture_lex $P285
     .local string rx278_tgt
     .local int rx278_pos
@@ -4073,7 +4073,7 @@
     find_lex $P282, unicode:"$\x{a2}"
     $P283 = $P282."MATCH"()
     store_lex "$/", $P283
-    .const 'Sub' $P285 = "93_1274853022.01464" 
+    .const 'Sub' $P285 = "93_1274941405.48928" 
     capture_lex $P285
     $P286 = $P285()
   # rx literal  "\\"
@@ -4099,7 +4099,7 @@
 .annotate 'line', 103
   # rx subrule $P290 subtype=capture negate=
     rx278_cur."!cursor_pos"(rx278_pos)
-    .const 'Sub' $P290 = "94_1274853022.01464" 
+    .const 'Sub' $P290 = "94_1274941405.48928" 
     capture_lex $P290
     $P10 = rx278_cur.$P290()
     unless $P10, rx278_fail
@@ -4133,7 +4133,7 @@
     find_lex $P294, unicode:"$\x{a2}"
     $P295 = $P294."MATCH"()
     store_lex "$/", $P295
-    .const 'Sub' $P297 = "95_1274853022.01464" 
+    .const 'Sub' $P297 = "95_1274941405.48928" 
     capture_lex $P297
     $P307 = $P297()
   alt288_end:
@@ -4179,7 +4179,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<misc>"  :subid("92_1274853022.01464") :method
+.sub "!PREFIX__quote_escape:sym<misc>"  :subid("92_1274941405.48928") :method
 .annotate 'line', 33
     new $P280, "ResizablePMCArray"
     push $P280, ""
@@ -4188,14 +4188,14 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block284"  :anon :subid("93_1274853022.01464") :outer("91_1274853022.01464")
+.sub "_block284"  :anon :subid("93_1274941405.48928") :outer("91_1274941405.48928")
 .annotate 'line', 99
     .return ()
 .end
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block289"  :anon :subid("94_1274853022.01464") :method :outer("91_1274853022.01464")
+.sub "_block289"  :anon :subid("94_1274941405.48928") :method :outer("91_1274941405.48928")
 .annotate 'line', 103
     .local string rx291_tgt
     .local int rx291_pos
@@ -4250,7 +4250,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block296"  :anon :subid("95_1274853022.01464") :outer("91_1274853022.01464")
+.sub "_block296"  :anon :subid("95_1274941405.48928") :outer("91_1274941405.48928")
 .annotate 'line', 104
     find_lex $P298, "$/"
     $P299 = $P298."CURSOR"()
@@ -4273,9 +4273,9 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "charname"  :subid("96_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "charname"  :subid("96_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 33
-    .const 'Sub' $P319 = "98_1274853022.01464" 
+    .const 'Sub' $P319 = "98_1274941405.48928" 
     capture_lex $P319
     .local string rx310_tgt
     .local int rx310_pos
@@ -4353,7 +4353,7 @@
 .annotate 'line', 113
   # rx subrule "before" subtype=zerowidth negate=
     rx310_cur."!cursor_pos"(rx310_pos)
-    .const 'Sub' $P319 = "98_1274853022.01464" 
+    .const 'Sub' $P319 = "98_1274941405.48928" 
     capture_lex $P319
     $P10 = rx310_cur."before"($P319)
     unless $P10, rx310_fail
@@ -4378,7 +4378,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charname"  :subid("97_1274853022.01464") :method
+.sub "!PREFIX__charname"  :subid("97_1274941405.48928") :method
 .annotate 'line', 33
     $P312 = self."!PREFIX__!subrule"("integer", "")
     new $P313, "ResizablePMCArray"
@@ -4440,7 +4440,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block318"  :anon :subid("98_1274853022.01464") :method :outer("96_1274853022.01464")
+.sub "_block318"  :anon :subid("98_1274941405.48928") :method :outer("96_1274941405.48928")
 .annotate 'line', 113
     .local string rx320_tgt
     .local int rx320_pos
@@ -4500,7 +4500,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "charnames"  :subid("99_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "charnames"  :subid("99_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 33
     .local string rx323_tgt
     .local int rx323_pos
@@ -4584,7 +4584,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charnames"  :subid("100_1274853022.01464") :method
+.sub "!PREFIX__charnames"  :subid("100_1274941405.48928") :method
 .annotate 'line', 33
     new $P325, "ResizablePMCArray"
     push $P325, ""
@@ -4593,7 +4593,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "charspec"  :subid("101_1274853022.01464") :method :outer("11_1274853022.01464")
+.sub "charspec"  :subid("101_1274941405.48928") :method :outer("11_1274941405.48928")
 .annotate 'line', 33
     .local string rx330_tgt
     .local int rx330_pos
@@ -4723,7 +4723,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charspec"  :subid("102_1274853022.01464") :method
+.sub "!PREFIX__charspec"  :subid("102_1274941405.48928") :method
 .annotate 'line', 33
     $P332 = self."!PREFIX__!subrule"("", "")
     $P333 = self."!PREFIX__!subrule"("charnames", "[")
@@ -4764,18 +4764,18 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block339" :load :anon :subid("103_1274853022.01464")
+.sub "_block339" :load :anon :subid("103_1274941405.48928")
 .annotate 'line', 5
-    .const 'Sub' $P341 = "11_1274853022.01464" 
+    .const 'Sub' $P341 = "11_1274941405.48928" 
     $P342 = $P341()
     .return ($P342)
 .end
 
 
 .namespace []
-.sub "_block344" :load :anon :subid("104_1274853022.01464")
+.sub "_block344" :load :anon :subid("104_1274941405.48928")
 .annotate 'line', 1
-    .const 'Sub' $P346 = "10_1274853022.01464" 
+    .const 'Sub' $P346 = "10_1274941405.48928" 
     $P347 = $P346()
     .return ($P347)
 .end
@@ -4783,7 +4783,7 @@
 ### .include 'gen/hllgrammar-actions.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1274853024.15996")
+.sub "_block11"  :anon :subid("10_1274941410.07011")
 .annotate 'line', 0
     get_hll_global $P14, ["HLL";"Actions"], "_block13" 
     capture_lex $P14
@@ -4800,15 +4800,15 @@
     $P620 = $P14()
 .annotate 'line', 1
     .return ($P620)
-    .const 'Sub' $P622 = "54_1274853024.15996" 
+    .const 'Sub' $P622 = "54_1274941410.07011" 
     .return ($P622)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post55") :outer("10_1274853024.15996")
+.sub "" :load :init :subid("post55") :outer("10_1274941410.07011")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1274853024.15996" 
+    .const 'Sub' $P12 = "10_1274941410.07011" 
     .local pmc block
     set block, $P12
     $P625 = get_root_global ["parrot"], "P6metaclass"
@@ -4817,73 +4817,73 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block13"  :subid("11_1274853024.15996") :outer("10_1274853024.15996")
+.sub "_block13"  :subid("11_1274941410.07011") :outer("10_1274941410.07011")
 .annotate 'line', 3
-    .const 'Sub' $P598 = "52_1274853024.15996" 
+    .const 'Sub' $P598 = "52_1274941410.07011" 
     capture_lex $P598
-    .const 'Sub' $P573 = "50_1274853024.15996" 
+    .const 'Sub' $P573 = "50_1274941410.07011" 
     capture_lex $P573
-    .const 'Sub' $P543 = "49_1274853024.15996" 
+    .const 'Sub' $P543 = "49_1274941410.07011" 
     capture_lex $P543
-    .const 'Sub' $P524 = "48_1274853024.15996" 
+    .const 'Sub' $P524 = "48_1274941410.07011" 
     capture_lex $P524
-    .const 'Sub' $P517 = "47_1274853024.15996" 
+    .const 'Sub' $P517 = "47_1274941410.07011" 
     capture_lex $P517
-    .const 'Sub' $P507 = "46_1274853024.15996" 
+    .const 'Sub' $P507 = "46_1274941410.07011" 
     capture_lex $P507
-    .const 'Sub' $P490 = "45_1274853024.15996" 
+    .const 'Sub' $P490 = "45_1274941410.07011" 
     capture_lex $P490
-    .const 'Sub' $P473 = "44_1274853024.15996" 
+    .const 'Sub' $P473 = "44_1274941410.07011" 
     capture_lex $P473
-    .const 'Sub' $P466 = "43_1274853024.15996" 
+    .const 'Sub' $P466 = "43_1274941410.07011" 
     capture_lex $P466
-    .const 'Sub' $P459 = "42_1274853024.15996" 
+    .const 'Sub' $P459 = "42_1274941410.07011" 
     capture_lex $P459
-    .const 'Sub' $P452 = "41_1274853024.15996" 
+    .const 'Sub' $P452 = "41_1274941410.07011" 
     capture_lex $P452
-    .const 'Sub' $P445 = "40_1274853024.15996" 
+    .const 'Sub' $P445 = "40_1274941410.07011" 
     capture_lex $P445
-    .const 'Sub' $P438 = "39_1274853024.15996" 
+    .const 'Sub' $P438 = "39_1274941410.07011" 
     capture_lex $P438
-    .const 'Sub' $P428 = "38_1274853024.15996" 
+    .const 'Sub' $P428 = "38_1274941410.07011" 
     capture_lex $P428
-    .const 'Sub' $P421 = "37_1274853024.15996" 
+    .const 'Sub' $P421 = "37_1274941410.07011" 
     capture_lex $P421
-    .const 'Sub' $P405 = "36_1274853024.15996" 
+    .const 'Sub' $P405 = "36_1274941410.07011" 
     capture_lex $P405
-    .const 'Sub' $P330 = "34_1274853024.15996" 
+    .const 'Sub' $P330 = "34_1274941410.07011" 
     capture_lex $P330
-    .const 'Sub' $P267 = "31_1274853024.15996" 
+    .const 'Sub' $P267 = "31_1274941410.07011" 
     capture_lex $P267
-    .const 'Sub' $P258 = "30_1274853024.15996" 
+    .const 'Sub' $P258 = "30_1274941410.07011" 
     capture_lex $P258
-    .const 'Sub' $P249 = "29_1274853024.15996" 
+    .const 'Sub' $P249 = "29_1274941410.07011" 
     capture_lex $P249
-    .const 'Sub' $P240 = "28_1274853024.15996" 
+    .const 'Sub' $P240 = "28_1274941410.07011" 
     capture_lex $P240
-    .const 'Sub' $P231 = "27_1274853024.15996" 
+    .const 'Sub' $P231 = "27_1274941410.07011" 
     capture_lex $P231
-    .const 'Sub' $P222 = "26_1274853024.15996" 
+    .const 'Sub' $P222 = "26_1274941410.07011" 
     capture_lex $P222
-    .const 'Sub' $P212 = "25_1274853024.15996" 
+    .const 'Sub' $P212 = "25_1274941410.07011" 
     capture_lex $P212
-    .const 'Sub' $P202 = "24_1274853024.15996" 
+    .const 'Sub' $P202 = "24_1274941410.07011" 
     capture_lex $P202
-    .const 'Sub' $P194 = "23_1274853024.15996" 
+    .const 'Sub' $P194 = "23_1274941410.07011" 
     capture_lex $P194
-    .const 'Sub' $P184 = "22_1274853024.15996" 
+    .const 'Sub' $P184 = "22_1274941410.07011" 
     capture_lex $P184
-    .const 'Sub' $P174 = "21_1274853024.15996" 
+    .const 'Sub' $P174 = "21_1274941410.07011" 
     capture_lex $P174
-    .const 'Sub' $P73 = "18_1274853024.15996" 
+    .const 'Sub' $P73 = "18_1274941410.07011" 
     capture_lex $P73
-    .const 'Sub' $P35 = "15_1274853024.15996" 
+    .const 'Sub' $P35 = "15_1274941410.07011" 
     capture_lex $P35
-    .const 'Sub' $P28 = "14_1274853024.15996" 
+    .const 'Sub' $P28 = "14_1274941410.07011" 
     capture_lex $P28
-    .const 'Sub' $P22 = "13_1274853024.15996" 
+    .const 'Sub' $P22 = "13_1274941410.07011" 
     capture_lex $P22
-    .const 'Sub' $P15 = "12_1274853024.15996" 
+    .const 'Sub' $P15 = "12_1274941410.07011" 
     capture_lex $P15
     $P0 = find_dynamic_lex "$*CTXSAVE"
     if null $P0 goto ctxsave_done
@@ -4892,17 +4892,17 @@
     $P0."ctxsave"()
   ctxsave_done:
 .annotate 'line', 224
-    .const 'Sub' $P598 = "52_1274853024.15996" 
+    .const 'Sub' $P598 = "52_1274941410.07011" 
     newclosure $P615, $P598
 .annotate 'line', 3
     .return ($P615)
-    .const 'Sub' $P617 = "53_1274853024.15996" 
+    .const 'Sub' $P617 = "53_1274941410.07011" 
     .return ($P617)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "string_to_int"  :subid("12_1274853024.15996") :outer("11_1274853024.15996")
+.sub "string_to_int"  :subid("12_1274941410.07011") :outer("11_1274941410.07011")
     .param pmc param_18
     .param pmc param_19
 .annotate 'line', 3
@@ -4955,7 +4955,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "ints_to_string"  :subid("13_1274853024.15996") :outer("11_1274853024.15996")
+.sub "ints_to_string"  :subid("13_1274941410.07011") :outer("11_1274941410.07011")
     .param pmc param_25
 .annotate 'line', 37
     new $P24, 'ExceptionHandler'
@@ -4996,7 +4996,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "CTXSAVE"  :subid("14_1274853024.15996") :method :outer("11_1274853024.15996")
+.sub "CTXSAVE"  :subid("14_1274941410.07011") :method :outer("11_1274941410.07011")
 .annotate 'line', 62
     new $P30, 'ExceptionHandler'
     set_addr $P30, control_29
@@ -5025,10 +5025,10 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "SET_BLOCK_OUTER_CTX"  :subid("15_1274853024.15996") :method :outer("11_1274853024.15996")
+.sub "SET_BLOCK_OUTER_CTX"  :subid("15_1274941410.07011") :method :outer("11_1274941410.07011")
     .param pmc param_38
 .annotate 'line', 76
-    .const 'Sub' $P48 = "16_1274853024.15996" 
+    .const 'Sub' $P48 = "16_1274941410.07011" 
     capture_lex $P48
     new $P37, 'ExceptionHandler'
     set_addr $P37, control_36
@@ -5063,7 +5063,7 @@
     set $P43, $I46
     goto if_44_end
   if_44:
-    .const 'Sub' $P48 = "16_1274853024.15996" 
+    .const 'Sub' $P48 = "16_1274941410.07011" 
     capture_lex $P48
     $P71 = $P48()
     set $P43, $P71
@@ -5079,9 +5079,9 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block47"  :anon :subid("16_1274853024.15996") :outer("15_1274853024.15996")
+.sub "_block47"  :anon :subid("16_1274941410.07011") :outer("15_1274941410.07011")
 .annotate 'line', 78
-    .const 'Sub' $P62 = "17_1274853024.15996" 
+    .const 'Sub' $P62 = "17_1274941410.07011" 
     capture_lex $P62
 .annotate 'line', 79
     $P49 = root_new ['parrot';'ResizablePMCArray']
@@ -5111,7 +5111,7 @@
     unless $P56, loop68_done
     shift $P60, $P56
   loop68_redo:
-    .const 'Sub' $P62 = "17_1274853024.15996" 
+    .const 'Sub' $P62 = "17_1274941410.07011" 
     capture_lex $P62
     $P62($P60)
   loop68_next:
@@ -5131,7 +5131,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block61"  :anon :subid("17_1274853024.15996") :outer("16_1274853024.15996")
+.sub "_block61"  :anon :subid("17_1274941410.07011") :outer("16_1274941410.07011")
     .param pmc param_63
 .annotate 'line', 82
     .lex "$_", param_63
@@ -5146,14 +5146,14 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "EXPR"  :subid("18_1274853024.15996") :method :outer("11_1274853024.15996")
+.sub "EXPR"  :subid("18_1274941410.07011") :method :outer("11_1274941410.07011")
     .param pmc param_76
     .param pmc param_77 :optional
     .param int has_param_77 :opt_flag
 .annotate 'line', 89
-    .const 'Sub' $P156 = "20_1274853024.15996" 
+    .const 'Sub' $P156 = "20_1274941410.07011" 
     capture_lex $P156
-    .const 'Sub' $P123 = "19_1274853024.15996" 
+    .const 'Sub' $P123 = "19_1274941410.07011" 
     capture_lex $P123
     new $P75, 'ExceptionHandler'
     set_addr $P75, control_74
@@ -5288,7 +5288,7 @@
     find_lex $P120, "$past"
     $P121 = $P120."name"()
     if $P121, unless_119_end
-    .const 'Sub' $P123 = "19_1274853024.15996" 
+    .const 'Sub' $P123 = "19_1274941410.07011" 
     capture_lex $P123
     $P123()
   unless_119_end:
@@ -5312,7 +5312,7 @@
     unless $P150, loop167_done
     shift $P154, $P150
   loop167_redo:
-    .const 'Sub' $P156 = "20_1274853024.15996" 
+    .const 'Sub' $P156 = "20_1274941410.07011" 
     capture_lex $P156
     $P156($P154)
   loop167_next:
@@ -5357,7 +5357,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block122"  :anon :subid("19_1274853024.15996") :outer("18_1274853024.15996")
+.sub "_block122"  :anon :subid("19_1274941410.07011") :outer("18_1274941410.07011")
 .annotate 'line', 98
     new $P124, "Undef"
     .lex "$name", $P124
@@ -5407,7 +5407,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block155"  :anon :subid("20_1274853024.15996") :outer("18_1274853024.15996")
+.sub "_block155"  :anon :subid("20_1274941410.07011") :outer("18_1274941410.07011")
     .param pmc param_157
 .annotate 'line', 109
     .lex "$_", param_157
@@ -5430,7 +5430,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "term:sym<circumfix>"  :subid("21_1274853024.15996") :method :outer("11_1274853024.15996")
+.sub "term:sym<circumfix>"  :subid("21_1274941410.07011") :method :outer("11_1274941410.07011")
     .param pmc param_177
 .annotate 'line', 114
     new $P176, 'ExceptionHandler'
@@ -5460,7 +5460,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "termish"  :subid("22_1274853024.15996") :method :outer("11_1274853024.15996")
+.sub "termish"  :subid("22_1274941410.07011") :method :outer("11_1274941410.07011")
     .param pmc param_187
 .annotate 'line', 116
     new $P186, 'ExceptionHandler'
@@ -5490,7 +5490,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "nullterm"  :subid("23_1274853024.15996") :method :outer("11_1274853024.15996")
+.sub "nullterm"  :subid("23_1274941410.07011") :method :outer("11_1274941410.07011")
     .param pmc param_197
 .annotate 'line', 117
     new $P196, 'ExceptionHandler'
@@ -5512,7 +5512,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "nullterm_alt"  :subid("24_1274853024.15996") :method :outer("11_1274853024.15996")
+.sub "nullterm_alt"  :subid("24_1274941410.07011") :method :outer("11_1274941410.07011")
     .param pmc param_205
 .annotate 'line', 118
     new $P204, 'ExceptionHandler'
@@ -5542,7 +5542,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "integer"  :subid("25_1274853024.15996") :method :outer("11_1274853024.15996")
+.sub "integer"  :subid("25_1274941410.07011") :method :outer("11_1274941410.07011")
     .param pmc param_215
 .annotate 'line', 120
     new $P214, 'ExceptionHandler'
@@ -5572,7 +5572,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "dec_number"  :subid("26_1274853024.15996") :method :outer("11_1274853024.15996")
+.sub "dec_number"  :subid("26_1274941410.07011") :method :outer("11_1274941410.07011")
     .param pmc param_225
 .annotate 'line', 122
     new $P224, 'ExceptionHandler'
@@ -5595,7 +5595,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "decint"  :subid("27_1274853024.15996") :method :outer("11_1274853024.15996")
+.sub "decint"  :subid("27_1274941410.07011") :method :outer("11_1274941410.07011")
     .param pmc param_234
 .annotate 'line', 124
     new $P233, 'ExceptionHandler'
@@ -5618,7 +5618,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "hexint"  :subid("28_1274853024.15996") :method :outer("11_1274853024.15996")
+.sub "hexint"  :subid("28_1274941410.07011") :method :outer("11_1274941410.07011")
     .param pmc param_243
 .annotate 'line', 125
     new $P242, 'ExceptionHandler'
@@ -5641,7 +5641,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "octint"  :subid("29_1274853024.15996") :method :outer("11_1274853024.15996")
+.sub "octint"  :subid("29_1274941410.07011") :method :outer("11_1274941410.07011")
     .param pmc param_252
 .annotate 'line', 126
     new $P251, 'ExceptionHandler'
@@ -5664,7 +5664,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "binint"  :subid("30_1274853024.15996") :method :outer("11_1274853024.15996")
+.sub "binint"  :subid("30_1274941410.07011") :method :outer("11_1274941410.07011")
     .param pmc param_261
 .annotate 'line', 127
     new $P260, 'ExceptionHandler'
@@ -5687,10 +5687,10 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_EXPR"  :subid("31_1274853024.15996") :method :outer("11_1274853024.15996")
+.sub "quote_EXPR"  :subid("31_1274941410.07011") :method :outer("11_1274941410.07011")
     .param pmc param_270
 .annotate 'line', 129
-    .const 'Sub' $P286 = "32_1274853024.15996" 
+    .const 'Sub' $P286 = "32_1274941410.07011" 
     capture_lex $P286
     new $P269, 'ExceptionHandler'
     set_addr $P269, control_268
@@ -5722,7 +5722,7 @@
     $P282 = $P280."ACCEPTS"($P281)
     if $P282, if_279
 .annotate 'line', 135
-    .const 'Sub' $P286 = "32_1274853024.15996" 
+    .const 'Sub' $P286 = "32_1274941410.07011" 
     capture_lex $P286
     $P286()
     goto if_279_end
@@ -5761,9 +5761,9 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block285"  :anon :subid("32_1274853024.15996") :outer("31_1274853024.15996")
+.sub "_block285"  :anon :subid("32_1274941410.07011") :outer("31_1274941410.07011")
 .annotate 'line', 135
-    .const 'Sub' $P305 = "33_1274853024.15996" 
+    .const 'Sub' $P305 = "33_1274941410.07011" 
     capture_lex $P305
 .annotate 'line', 136
     $P287 = root_new ['parrot';'ResizablePMCArray']
@@ -5814,7 +5814,7 @@
     unless $P300, loop310_done
     shift $P303, $P300
   loop310_redo:
-    .const 'Sub' $P305 = "33_1274853024.15996" 
+    .const 'Sub' $P305 = "33_1274941410.07011" 
     capture_lex $P305
     $P305($P303)
   loop310_next:
@@ -5837,7 +5837,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block304"  :anon :subid("33_1274853024.15996") :outer("32_1274853024.15996")
+.sub "_block304"  :anon :subid("33_1274941410.07011") :outer("32_1274941410.07011")
     .param pmc param_306
 .annotate 'line', 139
     .lex "$_", param_306
@@ -5849,10 +5849,10 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_delimited"  :subid("34_1274853024.15996") :method :outer("11_1274853024.15996")
+.sub "quote_delimited"  :subid("34_1274941410.07011") :method :outer("11_1274941410.07011")
     .param pmc param_333
 .annotate 'line', 152
-    .const 'Sub' $P345 = "35_1274853024.15996" 
+    .const 'Sub' $P345 = "35_1274941410.07011" 
     capture_lex $P345
     new $P332, 'ExceptionHandler'
     set_addr $P332, control_331
@@ -5895,7 +5895,7 @@
     unless $P339, loop377_done
     shift $P343, $P339
   loop377_redo:
-    .const 'Sub' $P345 = "35_1274853024.15996" 
+    .const 'Sub' $P345 = "35_1274941410.07011" 
     capture_lex $P345
     $P345($P343)
   loop377_next:
@@ -5973,7 +5973,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block344"  :anon :subid("35_1274853024.15996") :outer("34_1274853024.15996")
+.sub "_block344"  :anon :subid("35_1274941410.07011") :outer("34_1274941410.07011")
     .param pmc param_347
 .annotate 'line', 156
     new $P346, "Undef"
@@ -6042,7 +6042,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_atom"  :subid("36_1274853024.15996") :method :outer("11_1274853024.15996")
+.sub "quote_atom"  :subid("36_1274941410.07011") :method :outer("11_1274941410.07011")
     .param pmc param_408
 .annotate 'line', 177
     new $P407, 'ExceptionHandler'
@@ -6091,7 +6091,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<backslash>"  :subid("37_1274853024.15996") :method :outer("11_1274853024.15996")
+.sub "quote_escape:sym<backslash>"  :subid("37_1274941410.07011") :method :outer("11_1274941410.07011")
     .param pmc param_424
 .annotate 'line', 181
     new $P423, 'ExceptionHandler'
@@ -6112,7 +6112,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<stopper>"  :subid("38_1274853024.15996") :method :outer("11_1274853024.15996")
+.sub "quote_escape:sym<stopper>"  :subid("38_1274941410.07011") :method :outer("11_1274941410.07011")
     .param pmc param_431
 .annotate 'line', 182
     new $P430, 'ExceptionHandler'
@@ -6142,7 +6142,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<bs>"  :subid("39_1274853024.15996") :method :outer("11_1274853024.15996")
+.sub "quote_escape:sym<bs>"  :subid("39_1274941410.07011") :method :outer("11_1274941410.07011")
     .param pmc param_441
 .annotate 'line', 184
     new $P440, 'ExceptionHandler'
@@ -6163,7 +6163,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<nl>"  :subid("40_1274853024.15996") :method :outer("11_1274853024.15996")
+.sub "quote_escape:sym<nl>"  :subid("40_1274941410.07011") :method :outer("11_1274941410.07011")
     .param pmc param_448
 .annotate 'line', 185
     new $P447, 'ExceptionHandler'
@@ -6184,7 +6184,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<cr>"  :subid("41_1274853024.15996") :method :outer("11_1274853024.15996")
+.sub "quote_escape:sym<cr>"  :subid("41_1274941410.07011") :method :outer("11_1274941410.07011")
     .param pmc param_455
 .annotate 'line', 186
     new $P454, 'ExceptionHandler'
@@ -6205,7 +6205,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<tab>"  :subid("42_1274853024.15996") :method :outer("11_1274853024.15996")
+.sub "quote_escape:sym<tab>"  :subid("42_1274941410.07011") :method :outer("11_1274941410.07011")
     .param pmc param_462
 .annotate 'line', 187
     new $P461, 'ExceptionHandler'
@@ -6226,7 +6226,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<ff>"  :subid("43_1274853024.15996") :method :outer("11_1274853024.15996")
+.sub "quote_escape:sym<ff>"  :subid("43_1274941410.07011") :method :outer("11_1274941410.07011")
     .param pmc param_469
 .annotate 'line', 188
     new $P468, 'ExceptionHandler'
@@ -6247,7 +6247,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<hex>"  :subid("44_1274853024.15996") :method :outer("11_1274853024.15996")
+.sub "quote_escape:sym<hex>"  :subid("44_1274941410.07011") :method :outer("11_1274941410.07011")
     .param pmc param_476
 .annotate 'line', 190
     new $P475, 'ExceptionHandler'
@@ -6305,7 +6305,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<oct>"  :subid("45_1274853024.15996") :method :outer("11_1274853024.15996")
+.sub "quote_escape:sym<oct>"  :subid("45_1274941410.07011") :method :outer("11_1274941410.07011")
     .param pmc param_493
 .annotate 'line', 194
     new $P492, 'ExceptionHandler'
@@ -6363,7 +6363,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<chr>"  :subid("46_1274853024.15996") :method :outer("11_1274853024.15996")
+.sub "quote_escape:sym<chr>"  :subid("46_1274941410.07011") :method :outer("11_1274941410.07011")
     .param pmc param_510
 .annotate 'line', 198
     new $P509, 'ExceptionHandler'
@@ -6395,7 +6395,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<0>"  :subid("47_1274853024.15996") :method :outer("11_1274853024.15996")
+.sub "quote_escape:sym<0>"  :subid("47_1274941410.07011") :method :outer("11_1274941410.07011")
     .param pmc param_520
 .annotate 'line', 202
     new $P519, 'ExceptionHandler'
@@ -6418,7 +6418,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<misc>"  :subid("48_1274853024.15996") :method :outer("11_1274853024.15996")
+.sub "quote_escape:sym<misc>"  :subid("48_1274941410.07011") :method :outer("11_1274941410.07011")
     .param pmc param_527
 .annotate 'line', 206
     new $P526, 'ExceptionHandler'
@@ -6476,7 +6476,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "charname"  :subid("49_1274853024.15996") :method :outer("11_1274853024.15996")
+.sub "charname"  :subid("49_1274941410.07011") :method :outer("11_1274941410.07011")
     .param pmc param_546
 .annotate 'line', 210
     new $P545, 'ExceptionHandler'
@@ -6549,10 +6549,10 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "charnames"  :subid("50_1274853024.15996") :method :outer("11_1274853024.15996")
+.sub "charnames"  :subid("50_1274941410.07011") :method :outer("11_1274941410.07011")
     .param pmc param_576
 .annotate 'line', 218
-    .const 'Sub' $P585 = "51_1274853024.15996" 
+    .const 'Sub' $P585 = "51_1274941410.07011" 
     capture_lex $P585
     new $P575, 'ExceptionHandler'
     set_addr $P575, control_574
@@ -6586,7 +6586,7 @@
     unless $P579, loop591_done
     shift $P583, $P579
   loop591_redo:
-    .const 'Sub' $P585 = "51_1274853024.15996" 
+    .const 'Sub' $P585 = "51_1274941410.07011" 
     capture_lex $P585
     $P585($P583)
   loop591_next:
@@ -6615,7 +6615,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block584"  :anon :subid("51_1274853024.15996") :outer("50_1274853024.15996")
+.sub "_block584"  :anon :subid("51_1274941410.07011") :outer("50_1274941410.07011")
     .param pmc param_586
 .annotate 'line', 220
     .lex "$_", param_586
@@ -6629,7 +6629,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "charspec"  :subid("52_1274853024.15996") :method :outer("11_1274853024.15996")
+.sub "charspec"  :subid("52_1274941410.07011") :method :outer("11_1274941410.07011")
     .param pmc param_601
 .annotate 'line', 224
     new $P600, 'ExceptionHandler'
@@ -6679,18 +6679,18 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block616" :load :anon :subid("53_1274853024.15996")
+.sub "_block616" :load :anon :subid("53_1274941410.07011")
 .annotate 'line', 3
-    .const 'Sub' $P618 = "11_1274853024.15996" 
+    .const 'Sub' $P618 = "11_1274941410.07011" 
     $P619 = $P618()
     .return ($P619)
 .end
 
 
 .namespace []
-.sub "_block621" :load :anon :subid("54_1274853024.15996")
+.sub "_block621" :load :anon :subid("54_1274941410.07011")
 .annotate 'line', 1
-    .const 'Sub' $P623 = "10_1274853024.15996" 
+    .const 'Sub' $P623 = "10_1274941410.07011" 
     $P624 = $P623()
     .return ($P624)
 .end
@@ -6698,7 +6698,7 @@
 ### .include 'gen/hllcompiler.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1274853025.56197")
+.sub "_block11"  :anon :subid("10_1274941413.10427")
 .annotate 'line', 0
     get_hll_global $P14, ["HLL";"Compiler"], "_block13" 
     capture_lex $P14
@@ -6712,81 +6712,81 @@
 .annotate 'line', 6
     get_hll_global $P14, ["HLL";"Compiler"], "_block13" 
     capture_lex $P14
-    $P489 = $P14()
+    $P492 = $P14()
 .annotate 'line', 1
-    .return ($P489)
-    .const 'Sub' $P491 = "35_1274853025.56197" 
-    .return ($P491)
+    .return ($P492)
+    .const 'Sub' $P494 = "35_1274941413.10427" 
+    .return ($P494)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post36") :outer("10_1274853025.56197")
+.sub "" :load :init :subid("post36") :outer("10_1274941413.10427")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1274853025.56197" 
+    .const 'Sub' $P12 = "10_1274941413.10427" 
     .local pmc block
     set block, $P12
 .annotate 'line', 2
     load_bytecode "PCT/HLLCompiler.pbc"
 .annotate 'line', 1
-    $P494 = get_root_global ["parrot"], "P6metaclass"
-    new $P495, "ResizablePMCArray"
-    push $P495, "$!language"
-    $P494."new_class"("HLL::Compiler", "PCT::HLLCompiler" :named("parent"), $P495 :named("attr"))
+    $P497 = get_root_global ["parrot"], "P6metaclass"
+    new $P498, "ResizablePMCArray"
+    push $P498, "$!language"
+    $P497."new_class"("HLL::Compiler", "PCT::HLLCompiler" :named("parent"), $P498 :named("attr"))
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block13"  :subid("11_1274853025.56197") :outer("10_1274853025.56197")
+.sub "_block13"  :subid("11_1274941413.10427") :outer("10_1274941413.10427")
 .annotate 'line', 6
-    .const 'Sub' $P481 = "34_1274853025.56197" 
-    capture_lex $P481
-    .const 'Sub' $P439 = "32_1274853025.56197" 
-    capture_lex $P439
-    .const 'Sub' $P298 = "26_1274853025.56197" 
+    .const 'Sub' $P484 = "34_1274941413.10427" 
+    capture_lex $P484
+    .const 'Sub' $P442 = "32_1274941413.10427" 
+    capture_lex $P442
+    .const 'Sub' $P298 = "26_1274941413.10427" 
     capture_lex $P298
-    .const 'Sub' $P283 = "25_1274853025.56197" 
+    .const 'Sub' $P283 = "25_1274941413.10427" 
     capture_lex $P283
-    .const 'Sub' $P188 = "20_1274853025.56197" 
+    .const 'Sub' $P188 = "20_1274941413.10427" 
     capture_lex $P188
-    .const 'Sub' $P153 = "18_1274853025.56197" 
+    .const 'Sub' $P153 = "18_1274941413.10427" 
     capture_lex $P153
-    .const 'Sub' $P138 = "17_1274853025.56197" 
+    .const 'Sub' $P138 = "17_1274941413.10427" 
     capture_lex $P138
-    .const 'Sub' $P122 = "16_1274853025.56197" 
+    .const 'Sub' $P122 = "16_1274941413.10427" 
     capture_lex $P122
-    .const 'Sub' $P33 = "13_1274853025.56197" 
+    .const 'Sub' $P33 = "13_1274941413.10427" 
     capture_lex $P33
-    .const 'Sub' $P15 = "12_1274853025.56197" 
+    .const 'Sub' $P15 = "12_1274941413.10427" 
     capture_lex $P15
 .annotate 'line', 14
-    .const 'Sub' $P15 = "12_1274853025.56197" 
+    .const 'Sub' $P15 = "12_1274941413.10427" 
     newclosure $P31, $P15
     .lex "value_type", $P31
 .annotate 'line', 10
     find_lex $P32, "value_type"
 .annotate 'line', 163
-    .const 'Sub' $P481 = "34_1274853025.56197" 
-    newclosure $P487, $P481
+    .const 'Sub' $P484 = "34_1274941413.10427" 
+    newclosure $P490, $P484
 .annotate 'line', 6
-    .return ($P487)
+    .return ($P490)
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "" :load :init :subid("post37") :outer("11_1274853025.56197")
+.sub "" :load :init :subid("post37") :outer("11_1274941413.10427")
 .annotate 'line', 6
     get_hll_global $P14, ["HLL";"Compiler"], "_block13" 
     .local pmc block
     set block, $P14
 .annotate 'line', 11
-    get_hll_global $P488, ["HLL"], "Compiler"
-    $P488."language"("parrot")
+    get_hll_global $P491, ["HLL"], "Compiler"
+    $P491."language"("parrot")
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "value_type"  :subid("12_1274853025.56197") :outer("11_1274853025.56197")
+.sub "value_type"  :subid("12_1274941413.10427") :outer("11_1274941413.10427")
     .param pmc param_18
 .annotate 'line', 14
     new $P17, 'ExceptionHandler'
@@ -6830,15 +6830,15 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "get_exports"  :subid("13_1274853025.56197") :method :outer("11_1274853025.56197")
+.sub "get_exports"  :subid("13_1274941413.10427") :method :outer("11_1274941413.10427")
     .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_1274853025.56197" 
+    .const 'Sub' $P105 = "15_1274941413.10427" 
     capture_lex $P105
-    .const 'Sub' $P84 = "14_1274853025.56197" 
+    .const 'Sub' $P84 = "14_1274941413.10427" 
     capture_lex $P84
     new $P35, 'ExceptionHandler'
     set_addr $P35, control_34
@@ -6944,7 +6944,7 @@
     unless $P100, loop117_done
     shift $P103, $P100
   loop117_redo:
-    .const 'Sub' $P105 = "15_1274853025.56197" 
+    .const 'Sub' $P105 = "15_1274941413.10427" 
     capture_lex $P105
     $P105($P103)
   loop117_next:
@@ -6974,7 +6974,7 @@
     unless $P79, loop97_done
     shift $P82, $P79
   loop97_redo:
-    .const 'Sub' $P84 = "14_1274853025.56197" 
+    .const 'Sub' $P84 = "14_1274941413.10427" 
     capture_lex $P84
     $P84($P82)
   loop97_next:
@@ -7002,7 +7002,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block104"  :anon :subid("15_1274853025.56197") :outer("13_1274853025.56197")
+.sub "_block104"  :anon :subid("15_1274941413.10427") :outer("13_1274941413.10427")
     .param pmc param_107
 .annotate 'line', 40
     new $P106, "Undef"
@@ -7034,7 +7034,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block83"  :anon :subid("14_1274853025.56197") :outer("13_1274853025.56197")
+.sub "_block83"  :anon :subid("14_1274941413.10427") :outer("13_1274941413.10427")
     .param pmc param_86
 .annotate 'line', 34
     new $P85, "Undef"
@@ -7073,7 +7073,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "get_module"  :subid("16_1274853025.56197") :method :outer("11_1274853025.56197")
+.sub "get_module"  :subid("16_1274941413.10427") :method :outer("11_1274941413.10427")
     .param pmc param_125
 .annotate 'line', 47
     new $P124, 'ExceptionHandler'
@@ -7113,7 +7113,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "language"  :subid("17_1274853025.56197") :method :outer("11_1274853025.56197")
+.sub "language"  :subid("17_1274941413.10427") :method :outer("11_1274941413.10427")
     .param pmc param_141 :optional
     .param int has_param_141 :opt_flag
 .annotate 'line', 53
@@ -7157,10 +7157,10 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "load_module"  :subid("18_1274853025.56197") :method :outer("11_1274853025.56197")
+.sub "load_module"  :subid("18_1274941413.10427") :method :outer("11_1274941413.10427")
     .param pmc param_156
 .annotate 'line', 61
-    .const 'Sub' $P166 = "19_1274853025.56197" 
+    .const 'Sub' $P166 = "19_1274941413.10427" 
     capture_lex $P166
     new $P155, 'ExceptionHandler'
     set_addr $P155, control_154
@@ -7187,7 +7187,7 @@
     assign $P164, 0
     store_lex "$loaded", $P164
 .annotate 'line', 64
-    .const 'Sub' $P166 = "19_1274853025.56197" 
+    .const 'Sub' $P166 = "19_1274941413.10427" 
     capture_lex $P166
     $P166()
 .annotate 'line', 65
@@ -7216,7 +7216,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block165"  :anon :subid("19_1274853025.56197") :outer("18_1274853025.56197")
+.sub "_block165"  :anon :subid("19_1274941413.10427") :outer("18_1274941413.10427")
 .annotate 'line', 64
     new $P173, 'ExceptionHandler'
     set_addr $P173, control_172
@@ -7249,11 +7249,11 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "import"  :subid("20_1274853025.56197") :method :outer("11_1274853025.56197")
+.sub "import"  :subid("20_1274941413.10427") :method :outer("11_1274941413.10427")
     .param pmc param_191
     .param pmc param_192
 .annotate 'line', 69
-    .const 'Sub' $P198 = "21_1274853025.56197" 
+    .const 'Sub' $P198 = "21_1274941413.10427" 
     capture_lex $P198
     new $P190, 'ExceptionHandler'
     set_addr $P190, control_189
@@ -7275,7 +7275,7 @@
     unless $P193, loop279_done
     shift $P196, $P193
   loop279_redo:
-    .const 'Sub' $P198 = "21_1274853025.56197" 
+    .const 'Sub' $P198 = "21_1274941413.10427" 
     capture_lex $P198
     $P198($P196)
   loop279_next:
@@ -7300,14 +7300,14 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block197"  :anon :subid("21_1274853025.56197") :outer("20_1274853025.56197")
+.sub "_block197"  :anon :subid("21_1274941413.10427") :outer("20_1274941413.10427")
     .param pmc param_201
 .annotate 'line', 70
-    .const 'Sub' $P268 = "24_1274853025.56197" 
+    .const 'Sub' $P268 = "24_1274941413.10427" 
     capture_lex $P268
-    .const 'Sub' $P248 = "23_1274853025.56197" 
+    .const 'Sub' $P248 = "23_1274941413.10427" 
     capture_lex $P248
-    .const 'Sub' $P219 = "22_1274853025.56197" 
+    .const 'Sub' $P219 = "22_1274941413.10427" 
     capture_lex $P219
 .annotate 'line', 71
     new $P199, "Undef"
@@ -7355,7 +7355,7 @@
     unless $P263, loop276_done
     shift $P266, $P263
   loop276_redo:
-    .const 'Sub' $P268 = "24_1274853025.56197" 
+    .const 'Sub' $P268 = "24_1274941413.10427" 
     capture_lex $P268
     $P268($P266)
   loop276_next:
@@ -7387,7 +7387,7 @@
     unless $P243, loop260_done
     shift $P246, $P243
   loop260_redo:
-    .const 'Sub' $P248 = "23_1274853025.56197" 
+    .const 'Sub' $P248 = "23_1274941413.10427" 
     capture_lex $P248
     $P248($P246)
   loop260_next:
@@ -7421,7 +7421,7 @@
     unless $P214, loop232_done
     shift $P217, $P214
   loop232_redo:
-    .const 'Sub' $P219 = "22_1274853025.56197" 
+    .const 'Sub' $P219 = "22_1274941413.10427" 
     capture_lex $P219
     $P219($P217)
   loop232_next:
@@ -7444,7 +7444,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block267"  :anon :subid("24_1274853025.56197") :outer("21_1274853025.56197")
+.sub "_block267"  :anon :subid("24_1274941413.10427") :outer("21_1274941413.10427")
     .param pmc param_269
 .annotate 'line', 80
     .lex "$_", param_269
@@ -7464,7 +7464,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block247"  :anon :subid("23_1274853025.56197") :outer("21_1274853025.56197")
+.sub "_block247"  :anon :subid("23_1274941413.10427") :outer("21_1274941413.10427")
     .param pmc param_249
 .annotate 'line', 77
     .lex "$_", param_249
@@ -7484,7 +7484,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block218"  :anon :subid("22_1274853025.56197") :outer("21_1274853025.56197")
+.sub "_block218"  :anon :subid("22_1274941413.10427") :outer("21_1274941413.10427")
     .param pmc param_220
 .annotate 'line', 74
     .lex "$_", param_220
@@ -7505,7 +7505,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "autoprint"  :subid("25_1274853025.56197") :method :outer("11_1274853025.56197")
+.sub "autoprint"  :subid("25_1274941413.10427") :method :outer("11_1274941413.10427")
     .param pmc param_286
 .annotate 'line', 85
     new $P285, 'ExceptionHandler'
@@ -7515,9 +7515,9 @@
     .lex "self", self
     .lex "$value", param_286
 .annotate 'line', 87
-    getstdout $P289
-    tell $I290, $P289
-    set $N291, $I290
+    getinterp $P289
+    $P290 = $P289."stdhandle"(1)
+    $N291 = $P290."tell"()
     find_dynamic_lex $P292, "$*AUTOPRINTPOS"
     unless_null $P292, vivify_58
     get_hll_global $P292, "$AUTOPRINTPOS"
@@ -7548,11 +7548,11 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "interactive"  :subid("26_1274853025.56197") :method :outer("11_1274853025.56197")
+.sub "interactive"  :subid("26_1274941413.10427") :method :outer("11_1274941413.10427")
     .param pmc param_301 :slurpy :named
 .annotate 'line', 90
-    .const 'Sub' $P328 = "27_1274853025.56197" 
-    capture_lex $P328
+    .const 'Sub' $P331 = "27_1274941413.10427" 
+    capture_lex $P331
     new $P300, 'ExceptionHandler'
     set_addr $P300, control_299
     $P300."handle_types"(57)
@@ -7583,491 +7583,493 @@
     set $P309, $S308
     store_lex "$target", $P309
 .annotate 'line', 93
-    find_lex $P310, "self"
-    $S311 = $P310."commandline_banner"()
-    printerr $S311
+    getinterp $P310
+    $P311 = $P310."stdhandle"(2)
+    find_lex $P312, "self"
+    $S313 = $P312."commandline_banner"()
+    print $P311, $S313
 .annotate 'line', 95
-    getstdin $P312
-    store_lex "$stdin", $P312
+    getinterp $P314
+    $P315 = $P314."stdhandle"(0)
+    store_lex "$stdin", $P315
 .annotate 'line', 96
-    find_lex $P313, "%adverbs"
-    unless_null $P313, vivify_62
-    $P313 = root_new ['parrot';'Hash']
+    find_lex $P316, "%adverbs"
+    unless_null $P316, vivify_62
+    $P316 = root_new ['parrot';'Hash']
   vivify_62:
-    set $P314, $P313["encoding"]
-    unless_null $P314, vivify_63
-    new $P314, "Undef"
+    set $P317, $P316["encoding"]
+    unless_null $P317, vivify_63
+    new $P317, "Undef"
   vivify_63:
-    set $S315, $P314
-    new $P316, 'String'
-    set $P316, $S315
-    store_lex "$encoding", $P316
+    set $S318, $P317
+    new $P319, 'String'
+    set $P319, $S318
+    store_lex "$encoding", $P319
 .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
+    find_lex $P323, "$encoding"
+    if $P323, if_322
+    set $P321, $P323
+    goto if_322_end
+  if_322:
+    find_lex $P324, "$encoding"
+    set $S325, $P324
+    isne $I326, $S325, "fixed_8"
+    new $P321, 'Integer'
+    set $P321, $I326
+  if_322_end:
+    unless $P321, if_320_end
 .annotate 'line', 98
-    find_lex $P324, "$stdin"
-    find_lex $P325, "$encoding"
-    $P324."encoding"($P325)
-  if_317_end:
+    find_lex $P327, "$stdin"
+    find_lex $P328, "$encoding"
+    $P327."encoding"($P328)
+  if_320_end:
 .annotate 'line', 101
-    new $P436, 'ExceptionHandler'
-    set_addr $P436, loop435_handler
-    $P436."handle_types"(64, 66, 65)
-    push_eh $P436
-  loop435_test:
-    new $P326, "Integer"
-    assign $P326, 1
-    unless $P326, loop435_done
-  loop435_redo:
-    .const 'Sub' $P328 = "27_1274853025.56197" 
-    capture_lex $P328
-    $P328()
-  loop435_next:
-    goto loop435_test
-  loop435_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P437, exception, 'type'
-    eq $P437, 64, loop435_next
-    eq $P437, 66, loop435_redo
-  loop435_done:
+    new $P439, 'ExceptionHandler'
+    set_addr $P439, loop438_handler
+    $P439."handle_types"(64, 66, 65)
+    push_eh $P439
+  loop438_test:
+    new $P329, "Integer"
+    assign $P329, 1
+    unless $P329, loop438_done
+  loop438_redo:
+    .const 'Sub' $P331 = "27_1274941413.10427" 
+    capture_lex $P331
+    $P331()
+  loop438_next:
+    goto loop438_test
+  loop438_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P440, exception, 'type'
+    eq $P440, 64, loop438_next
+    eq $P440, 66, loop438_redo
+  loop438_done:
     pop_eh 
 .annotate 'line', 90
-    .return ($P326)
+    .return ($P329)
   control_299:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P438, exception, "payload"
-    .return ($P438)
+    getattribute $P441, exception, "payload"
+    .return ($P441)
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block327"  :anon :subid("27_1274853025.56197") :outer("26_1274853025.56197")
+.sub "_block330"  :anon :subid("27_1274941413.10427") :outer("26_1274941413.10427")
 .annotate 'line', 101
-    .const 'Sub' $P364 = "28_1274853025.56197" 
-    capture_lex $P364
+    .const 'Sub' $P367 = "28_1274941413.10427" 
+    capture_lex $P367
 .annotate 'line', 104
-    new $P329, "Undef"
-    .lex "$prompt", $P329
+    new $P332, "Undef"
+    .lex "$prompt", $P332
 .annotate 'line', 105
-    new $P330, "Undef"
-    .lex "$code", $P330
+    new $P333, "Undef"
+    .lex "$code", $P333
 .annotate 'line', 110
-    new $P331, "Undef"
-    .lex "$*AUTOPRINTPOS", $P331
+    new $P334, "Undef"
+    .lex "$*AUTOPRINTPOS", $P334
 .annotate 'line', 111
-    get_global $P332, "$interactive_ctx"
-    unless_null $P332, vivify_64
-    new $P332, "Undef"
-    set_global "$interactive_ctx", $P332
+    get_global $P335, "$interactive_ctx"
+    unless_null $P335, vivify_64
+    new $P335, "Undef"
+    set_global "$interactive_ctx", $P335
   vivify_64:
 .annotate 'line', 112
-    get_global $P333, "%interactive_pad"
-    unless_null $P333, vivify_65
-    $P333 = root_new ['parrot';'Hash']
-    set_global "%interactive_pad", $P333
+    get_global $P336, "%interactive_pad"
+    unless_null $P336, vivify_65
+    $P336 = root_new ['parrot';'Hash']
+    set_global "%interactive_pad", $P336
   vivify_65:
 .annotate 'line', 113
-    new $P334, "Undef"
-    .lex "$*CTXSAVE", $P334
+    new $P337, "Undef"
+    .lex "$*CTXSAVE", $P337
 .annotate 'line', 114
-    new $P335, "Undef"
-    .lex "$*MAIN_CTX", $P335
+    new $P338, "Undef"
+    .lex "$*MAIN_CTX", $P338
 .annotate 'line', 102
-    find_lex $P337, "$stdin"
-    if $P337, unless_336_end
+    find_lex $P340, "$stdin"
+    if $P340, unless_339_end
 .include "except_types.pasm"
-    $P338 = new "Exception"
-    $P338["type"] = .CONTROL_LOOP_LAST
-    throw $P338
-  unless_336_end:
+    $P341 = new "Exception"
+    $P341["type"] = .CONTROL_LOOP_LAST
+    throw $P341
+  unless_339_end:
 .annotate 'line', 104
-    find_lex $P340, "self"
-    $P341 = $P340."commandline_prompt"()
-    set $P339, $P341
-    defined $I343, $P339
-    if $I343, default_342
-    new $P344, "String"
-    assign $P344, "> "
-    set $P339, $P344
-  default_342:
-    store_lex "$prompt", $P339
+    find_lex $P343, "self"
+    $P344 = $P343."commandline_prompt"()
+    set $P342, $P344
+    defined $I346, $P342
+    if $I346, default_345
+    new $P347, "String"
+    assign $P347, "> "
+    set $P342, $P347
+  default_345:
+    store_lex "$prompt", $P342
 .annotate 'line', 105
-    find_lex $P345, "$stdin"
-    find_lex $P346, "$prompt"
-    set $S347, $P346
-    $P348 = $P345."readline_interactive"($S347)
-    store_lex "$code", $P348
+    find_lex $P348, "$stdin"
+    find_lex $P349, "$prompt"
+    set $S350, $P349
+    $P351 = $P348."readline_interactive"($S350)
+    store_lex "$code", $P351
 .annotate 'line', 107
-    find_lex $P350, "$code"
-    isnull $I351, $P350
-    unless $I351, if_349_end
+    find_lex $P353, "$code"
+    isnull $I354, $P353
+    unless $I354, if_352_end
 .include "except_types.pasm"
-    $P352 = new "Exception"
-    $P352["type"] = .CONTROL_LOOP_LAST
-    throw $P352
-  if_349_end:
+    $P355 = new "Exception"
+    $P355["type"] = .CONTROL_LOOP_LAST
+    throw $P355
+  if_352_end:
 .annotate 'line', 110
-    getstdout $P353
-    tell $I354, $P353
-    new $P355, 'Integer'
-    set $P355, $I354
-    store_lex "$*AUTOPRINTPOS", $P355
-    get_global $P356, "$interactive_ctx"
-    get_global $P357, "%interactive_pad"
+    getinterp $P356
+    $P357 = $P356."stdhandle"(1)
+    $P358 = $P357."tell"()
+    store_lex "$*AUTOPRINTPOS", $P358
+    get_global $P359, "$interactive_ctx"
+    get_global $P360, "%interactive_pad"
 .annotate 'line', 113
-    find_lex $P358, "self"
-    store_lex "$*CTXSAVE", $P358
-    find_lex $P359, "$*MAIN_CTX"
-    unless_null $P359, vivify_66
-    get_hll_global $P359, "$MAIN_CTX"
-    unless_null $P359, vivify_67
+    find_lex $P361, "self"
+    store_lex "$*CTXSAVE", $P361
+    find_lex $P362, "$*MAIN_CTX"
+    unless_null $P362, vivify_66
+    get_hll_global $P362, "$MAIN_CTX"
+    unless_null $P362, vivify_67
     die "Contextual $*MAIN_CTX not found"
   vivify_67:
   vivify_66:
 .annotate 'line', 116
-    find_lex $P362, "$code"
-    if $P362, if_361
-    set $P360, $P362
-    goto if_361_end
-  if_361:
-    .const 'Sub' $P364 = "28_1274853025.56197" 
-    capture_lex $P364
-    $P434 = $P364()
-    set $P360, $P434
-  if_361_end:
+    find_lex $P365, "$code"
+    if $P365, if_364
+    set $P363, $P365
+    goto if_364_end
+  if_364:
+    .const 'Sub' $P367 = "28_1274941413.10427" 
+    capture_lex $P367
+    $P437 = $P367()
+    set $P363, $P437
+  if_364_end:
 .annotate 'line', 101
-    .return ($P360)
+    .return ($P363)
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block363"  :anon :subid("28_1274853025.56197") :outer("27_1274853025.56197")
+.sub "_block366"  :anon :subid("28_1274941413.10427") :outer("27_1274941413.10427")
 .annotate 'line', 116
-    .const 'Sub' $P402 = "31_1274853025.56197" 
-    capture_lex $P402
-    .const 'Sub' $P370 = "29_1274853025.56197" 
-    capture_lex $P370
+    .const 'Sub' $P405 = "31_1274941413.10427" 
+    capture_lex $P405
+    .const 'Sub' $P373 = "29_1274941413.10427" 
+    capture_lex $P373
 .annotate 'line', 118
-    new $P365, "Undef"
-    .lex "$output", $P365
+    new $P368, "Undef"
+    .lex "$output", $P368
 .annotate 'line', 117
-    find_lex $P366, "$code"
-    concat $P367, $P366, "\n"
-    store_lex "$code", $P367
-    find_lex $P368, "$output"
+    find_lex $P369, "$code"
+    concat $P370, $P369, "\n"
+    store_lex "$code", $P370
+    find_lex $P371, "$output"
 .annotate 'line', 119
-    .const 'Sub' $P370 = "29_1274853025.56197" 
-    capture_lex $P370
-    $P370()
+    .const 'Sub' $P373 = "29_1274941413.10427" 
+    capture_lex $P373
+    $P373()
 .annotate 'line', 126
-    find_dynamic_lex $P394, "$*MAIN_CTX"
-    unless_null $P394, vivify_68
-    get_hll_global $P394, "$MAIN_CTX"
-    unless_null $P394, vivify_69
+    find_dynamic_lex $P397, "$*MAIN_CTX"
+    unless_null $P397, vivify_68
+    get_hll_global $P397, "$MAIN_CTX"
+    unless_null $P397, vivify_69
     die "Contextual $*MAIN_CTX not found"
   vivify_69:
   vivify_68:
-    defined $I395, $P394
-    unless $I395, if_393_end
+    defined $I398, $P397
+    unless $I398, if_396_end
 .annotate 'line', 127
-    find_dynamic_lex $P397, "$*MAIN_CTX"
-    unless_null $P397, vivify_70
-    get_hll_global $P397, "$MAIN_CTX"
-    unless_null $P397, vivify_71
+    find_dynamic_lex $P400, "$*MAIN_CTX"
+    unless_null $P400, vivify_70
+    get_hll_global $P400, "$MAIN_CTX"
+    unless_null $P400, vivify_71
     die "Contextual $*MAIN_CTX not found"
   vivify_71:
   vivify_70:
-    $P398 = $P397."lexpad_full"()
-    defined $I399, $P398
-    unless $I399, for_undef_72
-    iter $P396, $P398
-    new $P410, 'ExceptionHandler'
-    set_addr $P410, loop409_handler
-    $P410."handle_types"(64, 66, 65)
-    push_eh $P410
-  loop409_test:
-    unless $P396, loop409_done
-    shift $P400, $P396
-  loop409_redo:
-    .const 'Sub' $P402 = "31_1274853025.56197" 
-    capture_lex $P402
-    $P402($P400)
-  loop409_next:
-    goto loop409_test
-  loop409_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P411, exception, 'type'
-    eq $P411, 64, loop409_next
-    eq $P411, 66, loop409_redo
-  loop409_done:
+    $P401 = $P400."lexpad_full"()
+    defined $I402, $P401
+    unless $I402, for_undef_72
+    iter $P399, $P401
+    new $P413, 'ExceptionHandler'
+    set_addr $P413, loop412_handler
+    $P413."handle_types"(64, 66, 65)
+    push_eh $P413
+  loop412_test:
+    unless $P399, loop412_done
+    shift $P403, $P399
+  loop412_redo:
+    .const 'Sub' $P405 = "31_1274941413.10427" 
+    capture_lex $P405
+    $P405($P403)
+  loop412_next:
+    goto loop412_test
+  loop412_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P414, exception, 'type'
+    eq $P414, 64, loop412_next
+    eq $P414, 66, loop412_redo
+  loop412_done:
     pop_eh 
   for_undef_72:
-  if_393_end:
+  if_396_end:
 .annotate 'line', 131
-    find_lex $P413, "$output"
-    isnull $I414, $P413
-    unless $I414, if_412_end
+    find_lex $P416, "$output"
+    isnull $I417, $P416
+    unless $I417, if_415_end
 .include "except_types.pasm"
-    $P415 = new "Exception"
-    $P415["type"] = .CONTROL_LOOP_NEXT
-    throw $P415
-  if_412_end:
+    $P418 = new "Exception"
+    $P418["type"] = .CONTROL_LOOP_NEXT
+    throw $P418
+  if_415_end:
 .annotate 'line', 133
-    find_lex $P418, "$target"
-    isfalse $I419, $P418
-    if $I419, if_417
+    find_lex $P421, "$target"
+    isfalse $I422, $P421
+    if $I422, if_420
 .annotate 'line', 135
-    find_lex $P425, "$target"
-    set $S426, $P425
-    iseq $I427, $S426, "pir"
-    if $I427, if_424
+    find_lex $P428, "$target"
+    set $S429, $P428
+    iseq $I430, $S429, "pir"
+    if $I430, if_427
 .annotate 'line', 138
-    find_lex $P429, "self"
-    find_lex $P430, "$output"
-    find_lex $P431, "$target"
-    find_lex $P432, "%adverbs"
-    $P433 = $P429."dumper"($P430, $P431, $P432 :flat)
+    find_lex $P432, "self"
+    find_lex $P433, "$output"
+    find_lex $P434, "$target"
+    find_lex $P435, "%adverbs"
+    $P436 = $P432."dumper"($P433, $P434, $P435 :flat)
 .annotate 'line', 137
-    set $P423, $P433
+    set $P426, $P436
 .annotate 'line', 135
-    goto if_424_end
-  if_424:
+    goto if_427_end
+  if_427:
 .annotate 'line', 136
-    find_lex $P428, "$output"
-    say $P428
-  if_424_end:
+    find_lex $P431, "$output"
+    say $P431
+  if_427_end:
 .annotate 'line', 135
-    set $P416, $P423
+    set $P419, $P426
 .annotate 'line', 133
-    goto if_417_end
-  if_417:
+    goto if_420_end
+  if_420:
 .annotate 'line', 134
-    find_lex $P420, "self"
-    find_lex $P421, "$output"
-    $P422 = $P420."autoprint"($P421)
+    find_lex $P423, "self"
+    find_lex $P424, "$output"
+    $P425 = $P423."autoprint"($P424)
 .annotate 'line', 133
-    set $P416, $P422
-  if_417_end:
+    set $P419, $P425
+  if_420_end:
 .annotate 'line', 116
-    .return ($P416)
+    .return ($P419)
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block369"  :anon :subid("29_1274853025.56197") :outer("28_1274853025.56197")
+.sub "_block372"  :anon :subid("29_1274941413.10427") :outer("28_1274941413.10427")
 .annotate 'line', 119
-    .const 'Sub' $P382 = "30_1274853025.56197" 
-    capture_lex $P382
-    new $P378, 'ExceptionHandler'
-    set_addr $P378, control_377
-    $P378."handle_types_except"(57, 58, 59, 60, 62, 63, 64, 65, 66)
-    push_eh $P378
+    .const 'Sub' $P385 = "30_1274941413.10427" 
+    capture_lex $P385
+    new $P381, 'ExceptionHandler'
+    set_addr $P381, control_380
+    $P381."handle_types_except"(57, 58, 59, 60, 62, 63, 64, 65, 66)
+    push_eh $P381
 .annotate 'line', 120
-    find_lex $P371, "self"
-    find_lex $P372, "$code"
-    get_global $P373, "$interactive_ctx"
-    find_lex $P374, "%adverbs"
-    $P375 = $P371."eval"($P372, $P374 :flat, $P373 :named("outer_ctx"))
-    store_lex "$output", $P375
+    find_lex $P374, "self"
+    find_lex $P375, "$code"
+    get_global $P376, "$interactive_ctx"
+    find_lex $P377, "%adverbs"
+    $P378 = $P374."eval"($P375, $P377 :flat, $P376 :named("outer_ctx"))
+    store_lex "$output", $P378
 .annotate 'line', 119
     pop_eh 
-    goto skip_handler_376
-  control_377:
+    goto skip_handler_379
+  control_380:
 .annotate 'line', 121
     .local pmc exception 
     .get_results (exception) 
-    .const 'Sub' $P382 = "30_1274853025.56197" 
-    newclosure $P390, $P382
-    $P390(exception)
-    new $P391, 'Integer'
-    set $P391, 1
-    set exception["handled"], $P391
-    set $I392, exception["handled"]
-    ne $I392, 1, nothandled_380
-  handled_379:
+    .const 'Sub' $P385 = "30_1274941413.10427" 
+    newclosure $P393, $P385
+    $P393(exception)
+    new $P394, 'Integer'
+    set $P394, 1
+    set exception["handled"], $P394
+    set $I395, exception["handled"]
+    ne $I395, 1, nothandled_383
+  handled_382:
     .return (exception)
-  nothandled_380:
+  nothandled_383:
     rethrow exception
-  skip_handler_376:
+  skip_handler_379:
 .annotate 'line', 119
     .return ()
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block381"  :anon :subid("30_1274853025.56197") :outer("29_1274853025.56197")
-    .param pmc param_383
+.sub "_block384"  :anon :subid("30_1274941413.10427") :outer("29_1274941413.10427")
+    .param pmc param_386
 .annotate 'line', 121
-    .lex "$_", param_383
-    find_lex $P384, "$_"
-    .lex "$!", $P384
+    .lex "$_", param_386
+    find_lex $P387, "$_"
+    .lex "$!", $P387
 .annotate 'line', 122
-    find_lex $P385, "$!"
-    set $S386, $P385
-    new $P387, 'String'
-    set $P387, $S386
-    concat $P388, $P387, "\n"
-    print $P388
+    find_lex $P388, "$!"
+    set $S389, $P388
+    new $P390, 'String'
+    set $P390, $S389
+    concat $P391, $P390, "\n"
+    print $P391
 .annotate 'line', 123
 .include "except_types.pasm"
-    $P389 = new "Exception"
-    $P389["type"] = .CONTROL_LOOP_NEXT
-    throw $P389
+    $P392 = new "Exception"
+    $P392["type"] = .CONTROL_LOOP_NEXT
+    throw $P392
 .annotate 'line', 121
-    .return ($P389)
+    .return ($P392)
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block401"  :anon :subid("31_1274853025.56197") :outer("28_1274853025.56197")
-    .param pmc param_403
+.sub "_block404"  :anon :subid("31_1274941413.10427") :outer("28_1274941413.10427")
+    .param pmc param_406
 .annotate 'line', 127
-    .lex "$_", param_403
+    .lex "$_", param_406
 .annotate 'line', 128
-    find_lex $P404, "$_"
-    $P405 = $P404."value"()
-    find_lex $P406, "$_"
-    $P407 = $P406."key"()
-    get_global $P408, "%interactive_pad"
-    unless_null $P408, vivify_73
-    $P408 = root_new ['parrot';'Hash']
-    set_global "%interactive_pad", $P408
+    find_lex $P407, "$_"
+    $P408 = $P407."value"()
+    find_lex $P409, "$_"
+    $P410 = $P409."key"()
+    get_global $P411, "%interactive_pad"
+    unless_null $P411, vivify_73
+    $P411 = root_new ['parrot';'Hash']
+    set_global "%interactive_pad", $P411
   vivify_73:
-    set $P408[$P407], $P405
+    set $P411[$P410], $P408
 .annotate 'line', 127
-    .return ($P405)
+    .return ($P408)
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "eval"  :subid("32_1274853025.56197") :method :outer("11_1274853025.56197")
-    .param pmc param_442
-    .param pmc param_443 :slurpy
-    .param pmc param_444 :slurpy :named
+.sub "eval"  :subid("32_1274941413.10427") :method :outer("11_1274941413.10427")
+    .param pmc param_445
+    .param pmc param_446 :slurpy
+    .param pmc param_447 :slurpy :named
 .annotate 'line', 144
-    .const 'Sub' $P463 = "33_1274853025.56197" 
-    capture_lex $P463
-    new $P441, 'ExceptionHandler'
-    set_addr $P441, control_440
-    $P441."handle_types"(57)
-    push_eh $P441
-    .lex "self", self
-    .lex "$code", param_442
-    .lex "@args", param_443
-    .lex "%adverbs", param_444
+    .const 'Sub' $P466 = "33_1274941413.10427" 
+    capture_lex $P466
+    new $P444, 'ExceptionHandler'
+    set_addr $P444, control_443
+    $P444."handle_types"(57)
+    push_eh $P444
+    .lex "self", self
+    .lex "$code", param_445
+    .lex "@args", param_446
+    .lex "%adverbs", param_447
 .annotate 'line', 145
-    new $P445, "Undef"
-    .lex "$output", $P445
+    new $P448, "Undef"
+    .lex "$output", $P448
 .annotate 'line', 144
-    find_lex $P446, "$output"
+    find_lex $P449, "$output"
 .annotate 'line', 146
-    find_lex $P447, "self"
-    find_lex $P448, "$code"
-    find_lex $P449, "%adverbs"
-    $P450 = $P447."compile"($P448, $P449 :flat)
-    store_lex "$output", $P450
+    find_lex $P450, "self"
+    find_lex $P451, "$code"
+    find_lex $P452, "%adverbs"
+    $P453 = $P450."compile"($P451, $P452 :flat)
+    store_lex "$output", $P453
 .annotate 'line', 148
-    find_lex $P454, "$output"
-    isa $I455, $P454, "String"
-    new $P456, 'Integer'
-    set $P456, $I455
-    isfalse $I457, $P456
-    if $I457, if_453
-    new $P452, 'Integer'
-    set $P452, $I457
-    goto if_453_end
-  if_453:
+    find_lex $P457, "$output"
+    isa $I458, $P457, "String"
+    new $P459, 'Integer'
+    set $P459, $I458
+    isfalse $I460, $P459
+    if $I460, if_456
+    new $P455, 'Integer'
+    set $P455, $I460
+    goto if_456_end
+  if_456:
 .annotate 'line', 149
-    find_lex $P458, "%adverbs"
-    unless_null $P458, vivify_74
-    $P458 = root_new ['parrot';'Hash']
+    find_lex $P461, "%adverbs"
+    unless_null $P461, vivify_74
+    $P461 = root_new ['parrot';'Hash']
   vivify_74:
-    set $P459, $P458["target"]
-    unless_null $P459, vivify_75
-    new $P459, "Undef"
+    set $P462, $P461["target"]
+    unless_null $P462, vivify_75
+    new $P462, "Undef"
   vivify_75:
-    set $S460, $P459
-    iseq $I461, $S460, ""
-    new $P452, 'Integer'
-    set $P452, $I461
-  if_453_end:
-    unless $P452, if_451_end
-    .const 'Sub' $P463 = "33_1274853025.56197" 
-    capture_lex $P463
-    $P463()
-  if_451_end:
+    set $S463, $P462
+    iseq $I464, $S463, ""
+    new $P455, 'Integer'
+    set $P455, $I464
+  if_456_end:
+    unless $P455, if_454_end
+    .const 'Sub' $P466 = "33_1274941413.10427" 
+    capture_lex $P466
+    $P466()
+  if_454_end:
 .annotate 'line', 148
-    find_lex $P479, "$output"
+    find_lex $P482, "$output"
 .annotate 'line', 144
-    .return ($P479)
-  control_440:
+    .return ($P482)
+  control_443:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P480, exception, "payload"
-    .return ($P480)
+    getattribute $P483, exception, "payload"
+    .return ($P483)
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block462"  :anon :subid("33_1274853025.56197") :outer("32_1274853025.56197")
+.sub "_block465"  :anon :subid("33_1274941413.10427") :outer("32_1274941413.10427")
 .annotate 'line', 150
-    new $P464, "Undef"
-    .lex "$outer_ctx", $P464
-    find_lex $P465, "%adverbs"
-    unless_null $P465, vivify_76
-    $P465 = root_new ['parrot';'Hash']
+    new $P467, "Undef"
+    .lex "$outer_ctx", $P467
+    find_lex $P468, "%adverbs"
+    unless_null $P468, vivify_76
+    $P468 = root_new ['parrot';'Hash']
   vivify_76:
-    set $P466, $P465["outer_ctx"]
-    unless_null $P466, vivify_77
-    new $P466, "Undef"
+    set $P469, $P468["outer_ctx"]
+    unless_null $P469, vivify_77
+    new $P469, "Undef"
   vivify_77:
-    store_lex "$outer_ctx", $P466
+    store_lex "$outer_ctx", $P469
 .annotate 'line', 151
-    find_lex $P468, "$outer_ctx"
-    defined $I469, $P468
-    unless $I469, if_467_end
+    find_lex $P471, "$outer_ctx"
+    defined $I472, $P471
+    unless $I472, if_470_end
 .annotate 'line', 152
-    find_lex $P470, "$output"
-    unless_null $P470, vivify_78
-    $P470 = root_new ['parrot';'ResizablePMCArray']
+    find_lex $P473, "$output"
+    unless_null $P473, vivify_78
+    $P473 = root_new ['parrot';'ResizablePMCArray']
   vivify_78:
-    set $P471, $P470[0]
-    unless_null $P471, vivify_79
-    new $P471, "Undef"
+    set $P474, $P473[0]
+    unless_null $P474, vivify_79
+    new $P474, "Undef"
   vivify_79:
-    find_lex $P472, "$outer_ctx"
-    $P471."set_outer_ctx"($P472)
-  if_467_end:
+    find_lex $P475, "$outer_ctx"
+    $P474."set_outer_ctx"($P475)
+  if_470_end:
 .annotate 'line', 155
-    find_lex $P473, "%adverbs"
-    unless_null $P473, vivify_80
-    $P473 = root_new ['parrot';'Hash']
+    find_lex $P476, "%adverbs"
+    unless_null $P476, vivify_80
+    $P476 = root_new ['parrot';'Hash']
   vivify_80:
-    set $P474, $P473["trace"]
-    unless_null $P474, vivify_81
-    new $P474, "Undef"
+    set $P477, $P476["trace"]
+    unless_null $P477, vivify_81
+    new $P477, "Undef"
   vivify_81:
-    set $I475, $P474
-    trace $I475
+    set $I478, $P477
+    trace $I478
 .annotate 'line', 156
-    find_lex $P476, "$output"
-    find_lex $P477, "@args"
-    $P478 = $P476($P477 :flat)
-    store_lex "$output", $P478
+    find_lex $P479, "$output"
+    find_lex $P480, "@args"
+    $P481 = $P479($P480 :flat)
+    store_lex "$output", $P481
 .annotate 'line', 157
     trace 0
 .annotate 'line', 149
@@ -8076,39 +8078,39 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "ctxsave"  :subid("34_1274853025.56197") :method :outer("11_1274853025.56197")
+.sub "ctxsave"  :subid("34_1274941413.10427") :method :outer("11_1274941413.10427")
 .annotate 'line', 163
-    new $P483, 'ExceptionHandler'
-    set_addr $P483, control_482
-    $P483."handle_types"(57)
-    push_eh $P483
+    new $P486, 'ExceptionHandler'
+    set_addr $P486, control_485
+    $P486."handle_types"(57)
+    push_eh $P486
     .lex "self", self
 .annotate 'line', 165
 
                 $P0 = getinterp
-                $P484 = $P0['context';1]
+                $P487 = $P0['context';1]
             
-    store_dynamic_lex "$*MAIN_CTX", $P484
+    store_dynamic_lex "$*MAIN_CTX", $P487
 .annotate 'line', 169
-    new $P485, "Integer"
-    assign $P485, 0
-    store_dynamic_lex "$*CTXSAVE", $P485
+    new $P488, "Integer"
+    assign $P488, 0
+    store_dynamic_lex "$*CTXSAVE", $P488
 .annotate 'line', 163
-    .return ($P485)
-  control_482:
+    .return ($P488)
+  control_485:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P486, exception, "payload"
-    .return ($P486)
+    getattribute $P489, exception, "payload"
+    .return ($P489)
 .end
 
 
 .namespace []
-.sub "_block490" :load :anon :subid("35_1274853025.56197")
+.sub "_block493" :load :anon :subid("35_1274941413.10427")
 .annotate 'line', 1
-    .const 'Sub' $P492 = "10_1274853025.56197" 
-    $P493 = $P492()
-    .return ($P493)
+    .const 'Sub' $P495 = "10_1274941413.10427" 
+    $P496 = $P495()
+    .return ($P496)
 .end
 
 

Modified: trunk/ext/nqp-rx/src/stage0/NQP-s0.pir
==============================================================================
--- trunk/ext/nqp-rx/src/stage0/NQP-s0.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/ext/nqp-rx/src/stage0/NQP-s0.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -15,7 +15,7 @@
 ### .include 'gen/nqp-grammar.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1274853038.58734")
+.sub "_block11"  :anon :subid("10_1274941465.17654")
 .annotate 'line', 0
     get_hll_global $P14, ["NQP";"Grammar"], "_block13" 
     capture_lex $P14
@@ -32,15 +32,15 @@
     $P1379 = $P14()
 .annotate 'line', 1
     .return ($P1379)
-    .const 'Sub' $P1381 = "354_1274853038.58734" 
+    .const 'Sub' $P1381 = "354_1274941465.17654" 
     .return ($P1381)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post355") :outer("10_1274853038.58734")
+.sub "" :load :init :subid("post355") :outer("10_1274941465.17654")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1274853038.58734" 
+    .const 'Sub' $P12 = "10_1274941465.17654" 
     .local pmc block
     set block, $P12
     $P1384 = get_root_global ["parrot"], "P6metaclass"
@@ -49,307 +49,307 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block13"  :subid("11_1274853038.58734") :outer("10_1274853038.58734")
+.sub "_block13"  :subid("11_1274941465.17654") :outer("10_1274941465.17654")
 .annotate 'line', 4
     get_hll_global $P1295, ["NQP";"Regex"], "_block1294" 
     capture_lex $P1295
-    .const 'Sub' $P1281 = "331_1274853038.58734" 
+    .const 'Sub' $P1281 = "331_1274941465.17654" 
     capture_lex $P1281
-    .const 'Sub' $P1275 = "329_1274853038.58734" 
+    .const 'Sub' $P1275 = "329_1274941465.17654" 
     capture_lex $P1275
-    .const 'Sub' $P1269 = "327_1274853038.58734" 
+    .const 'Sub' $P1269 = "327_1274941465.17654" 
     capture_lex $P1269
-    .const 'Sub' $P1263 = "325_1274853038.58734" 
+    .const 'Sub' $P1263 = "325_1274941465.17654" 
     capture_lex $P1263
-    .const 'Sub' $P1257 = "323_1274853038.58734" 
+    .const 'Sub' $P1257 = "323_1274941465.17654" 
     capture_lex $P1257
-    .const 'Sub' $P1251 = "321_1274853038.58734" 
+    .const 'Sub' $P1251 = "321_1274941465.17654" 
     capture_lex $P1251
-    .const 'Sub' $P1244 = "319_1274853038.58734" 
+    .const 'Sub' $P1244 = "319_1274941465.17654" 
     capture_lex $P1244
-    .const 'Sub' $P1237 = "317_1274853038.58734" 
+    .const 'Sub' $P1237 = "317_1274941465.17654" 
     capture_lex $P1237
-    .const 'Sub' $P1230 = "315_1274853038.58734" 
+    .const 'Sub' $P1230 = "315_1274941465.17654" 
     capture_lex $P1230
-    .const 'Sub' $P1223 = "313_1274853038.58734" 
+    .const 'Sub' $P1223 = "313_1274941465.17654" 
     capture_lex $P1223
-    .const 'Sub' $P1217 = "311_1274853038.58734" 
+    .const 'Sub' $P1217 = "311_1274941465.17654" 
     capture_lex $P1217
-    .const 'Sub' $P1210 = "309_1274853038.58734" 
+    .const 'Sub' $P1210 = "309_1274941465.17654" 
     capture_lex $P1210
-    .const 'Sub' $P1203 = "307_1274853038.58734" 
+    .const 'Sub' $P1203 = "307_1274941465.17654" 
     capture_lex $P1203
-    .const 'Sub' $P1196 = "305_1274853038.58734" 
+    .const 'Sub' $P1196 = "305_1274941465.17654" 
     capture_lex $P1196
-    .const 'Sub' $P1189 = "303_1274853038.58734" 
+    .const 'Sub' $P1189 = "303_1274941465.17654" 
     capture_lex $P1189
-    .const 'Sub' $P1182 = "301_1274853038.58734" 
+    .const 'Sub' $P1182 = "301_1274941465.17654" 
     capture_lex $P1182
-    .const 'Sub' $P1175 = "299_1274853038.58734" 
+    .const 'Sub' $P1175 = "299_1274941465.17654" 
     capture_lex $P1175
-    .const 'Sub' $P1168 = "297_1274853038.58734" 
+    .const 'Sub' $P1168 = "297_1274941465.17654" 
     capture_lex $P1168
-    .const 'Sub' $P1161 = "295_1274853038.58734" 
+    .const 'Sub' $P1161 = "295_1274941465.17654" 
     capture_lex $P1161
-    .const 'Sub' $P1154 = "293_1274853038.58734" 
+    .const 'Sub' $P1154 = "293_1274941465.17654" 
     capture_lex $P1154
-    .const 'Sub' $P1147 = "291_1274853038.58734" 
+    .const 'Sub' $P1147 = "291_1274941465.17654" 
     capture_lex $P1147
-    .const 'Sub' $P1140 = "289_1274853038.58734" 
+    .const 'Sub' $P1140 = "289_1274941465.17654" 
     capture_lex $P1140
-    .const 'Sub' $P1133 = "287_1274853038.58734" 
+    .const 'Sub' $P1133 = "287_1274941465.17654" 
     capture_lex $P1133
-    .const 'Sub' $P1126 = "285_1274853038.58734" 
+    .const 'Sub' $P1126 = "285_1274941465.17654" 
     capture_lex $P1126
-    .const 'Sub' $P1119 = "283_1274853038.58734" 
+    .const 'Sub' $P1119 = "283_1274941465.17654" 
     capture_lex $P1119
-    .const 'Sub' $P1112 = "281_1274853038.58734" 
+    .const 'Sub' $P1112 = "281_1274941465.17654" 
     capture_lex $P1112
-    .const 'Sub' $P1105 = "279_1274853038.58734" 
+    .const 'Sub' $P1105 = "279_1274941465.17654" 
     capture_lex $P1105
-    .const 'Sub' $P1098 = "277_1274853038.58734" 
+    .const 'Sub' $P1098 = "277_1274941465.17654" 
     capture_lex $P1098
-    .const 'Sub' $P1091 = "275_1274853038.58734" 
+    .const 'Sub' $P1091 = "275_1274941465.17654" 
     capture_lex $P1091
-    .const 'Sub' $P1084 = "273_1274853038.58734" 
+    .const 'Sub' $P1084 = "273_1274941465.17654" 
     capture_lex $P1084
-    .const 'Sub' $P1077 = "271_1274853038.58734" 
+    .const 'Sub' $P1077 = "271_1274941465.17654" 
     capture_lex $P1077
-    .const 'Sub' $P1070 = "269_1274853038.58734" 
+    .const 'Sub' $P1070 = "269_1274941465.17654" 
     capture_lex $P1070
-    .const 'Sub' $P1063 = "267_1274853038.58734" 
+    .const 'Sub' $P1063 = "267_1274941465.17654" 
     capture_lex $P1063
-    .const 'Sub' $P1056 = "265_1274853038.58734" 
+    .const 'Sub' $P1056 = "265_1274941465.17654" 
     capture_lex $P1056
-    .const 'Sub' $P1049 = "263_1274853038.58734" 
+    .const 'Sub' $P1049 = "263_1274941465.17654" 
     capture_lex $P1049
-    .const 'Sub' $P1042 = "261_1274853038.58734" 
+    .const 'Sub' $P1042 = "261_1274941465.17654" 
     capture_lex $P1042
-    .const 'Sub' $P1035 = "259_1274853038.58734" 
+    .const 'Sub' $P1035 = "259_1274941465.17654" 
     capture_lex $P1035
-    .const 'Sub' $P1029 = "257_1274853038.58734" 
+    .const 'Sub' $P1029 = "257_1274941465.17654" 
     capture_lex $P1029
-    .const 'Sub' $P1022 = "255_1274853038.58734" 
+    .const 'Sub' $P1022 = "255_1274941465.17654" 
     capture_lex $P1022
-    .const 'Sub' $P1015 = "253_1274853038.58734" 
+    .const 'Sub' $P1015 = "253_1274941465.17654" 
     capture_lex $P1015
-    .const 'Sub' $P1008 = "251_1274853038.58734" 
+    .const 'Sub' $P1008 = "251_1274941465.17654" 
     capture_lex $P1008
-    .const 'Sub' $P1001 = "249_1274853038.58734" 
+    .const 'Sub' $P1001 = "249_1274941465.17654" 
     capture_lex $P1001
-    .const 'Sub' $P994 = "247_1274853038.58734" 
+    .const 'Sub' $P994 = "247_1274941465.17654" 
     capture_lex $P994
-    .const 'Sub' $P987 = "245_1274853038.58734" 
+    .const 'Sub' $P987 = "245_1274941465.17654" 
     capture_lex $P987
-    .const 'Sub' $P980 = "243_1274853038.58734" 
+    .const 'Sub' $P980 = "243_1274941465.17654" 
     capture_lex $P980
-    .const 'Sub' $P974 = "241_1274853038.58734" 
+    .const 'Sub' $P974 = "241_1274941465.17654" 
     capture_lex $P974
-    .const 'Sub' $P968 = "239_1274853038.58734" 
+    .const 'Sub' $P968 = "239_1274941465.17654" 
     capture_lex $P968
-    .const 'Sub' $P963 = "237_1274853038.58734" 
+    .const 'Sub' $P963 = "237_1274941465.17654" 
     capture_lex $P963
-    .const 'Sub' $P957 = "235_1274853038.58734" 
+    .const 'Sub' $P957 = "235_1274941465.17654" 
     capture_lex $P957
-    .const 'Sub' $P951 = "233_1274853038.58734" 
+    .const 'Sub' $P951 = "233_1274941465.17654" 
     capture_lex $P951
-    .const 'Sub' $P946 = "231_1274853038.58734" 
+    .const 'Sub' $P946 = "231_1274941465.17654" 
     capture_lex $P946
-    .const 'Sub' $P941 = "229_1274853038.58734" 
+    .const 'Sub' $P941 = "229_1274941465.17654" 
     capture_lex $P941
-    .const 'Sub' $P934 = "227_1274853038.58734" 
+    .const 'Sub' $P934 = "227_1274941465.17654" 
     capture_lex $P934
-    .const 'Sub' $P926 = "225_1274853038.58734" 
+    .const 'Sub' $P926 = "225_1274941465.17654" 
     capture_lex $P926
-    .const 'Sub' $P921 = "223_1274853038.58734" 
+    .const 'Sub' $P921 = "223_1274941465.17654" 
     capture_lex $P921
-    .const 'Sub' $P916 = "221_1274853038.58734" 
+    .const 'Sub' $P916 = "221_1274941465.17654" 
     capture_lex $P916
-    .const 'Sub' $P911 = "219_1274853038.58734" 
+    .const 'Sub' $P911 = "219_1274941465.17654" 
     capture_lex $P911
-    .const 'Sub' $P903 = "217_1274853038.58734" 
+    .const 'Sub' $P903 = "217_1274941465.17654" 
     capture_lex $P903
-    .const 'Sub' $P895 = "215_1274853038.58734" 
+    .const 'Sub' $P895 = "215_1274941465.17654" 
     capture_lex $P895
-    .const 'Sub' $P890 = "213_1274853038.58734" 
+    .const 'Sub' $P890 = "213_1274941465.17654" 
     capture_lex $P890
-    .const 'Sub' $P885 = "211_1274853038.58734" 
+    .const 'Sub' $P885 = "211_1274941465.17654" 
     capture_lex $P885
-    .const 'Sub' $P880 = "209_1274853038.58734" 
+    .const 'Sub' $P880 = "209_1274941465.17654" 
     capture_lex $P880
-    .const 'Sub' $P874 = "207_1274853038.58734" 
+    .const 'Sub' $P874 = "207_1274941465.17654" 
     capture_lex $P874
-    .const 'Sub' $P868 = "205_1274853038.58734" 
+    .const 'Sub' $P868 = "205_1274941465.17654" 
     capture_lex $P868
-    .const 'Sub' $P862 = "203_1274853038.58734" 
+    .const 'Sub' $P862 = "203_1274941465.17654" 
     capture_lex $P862
-    .const 'Sub' $P856 = "201_1274853038.58734" 
+    .const 'Sub' $P856 = "201_1274941465.17654" 
     capture_lex $P856
-    .const 'Sub' $P850 = "199_1274853038.58734" 
+    .const 'Sub' $P850 = "199_1274941465.17654" 
     capture_lex $P850
-    .const 'Sub' $P845 = "197_1274853038.58734" 
+    .const 'Sub' $P845 = "197_1274941465.17654" 
     capture_lex $P845
-    .const 'Sub' $P840 = "195_1274853038.58734" 
+    .const 'Sub' $P840 = "195_1274941465.17654" 
     capture_lex $P840
-    .const 'Sub' $P827 = "191_1274853038.58734" 
+    .const 'Sub' $P827 = "191_1274941465.17654" 
     capture_lex $P827
-    .const 'Sub' $P819 = "189_1274853038.58734" 
+    .const 'Sub' $P819 = "189_1274941465.17654" 
     capture_lex $P819
-    .const 'Sub' $P813 = "187_1274853038.58734" 
+    .const 'Sub' $P813 = "187_1274941465.17654" 
     capture_lex $P813
-    .const 'Sub' $P806 = "185_1274853038.58734" 
+    .const 'Sub' $P806 = "185_1274941465.17654" 
     capture_lex $P806
-    .const 'Sub' $P800 = "183_1274853038.58734" 
+    .const 'Sub' $P800 = "183_1274941465.17654" 
     capture_lex $P800
-    .const 'Sub' $P792 = "181_1274853038.58734" 
+    .const 'Sub' $P792 = "181_1274941465.17654" 
     capture_lex $P792
-    .const 'Sub' $P784 = "179_1274853038.58734" 
+    .const 'Sub' $P784 = "179_1274941465.17654" 
     capture_lex $P784
-    .const 'Sub' $P778 = "177_1274853038.58734" 
+    .const 'Sub' $P778 = "177_1274941465.17654" 
     capture_lex $P778
-    .const 'Sub' $P772 = "175_1274853038.58734" 
+    .const 'Sub' $P772 = "175_1274941465.17654" 
     capture_lex $P772
-    .const 'Sub' $P757 = "171_1274853038.58734" 
+    .const 'Sub' $P757 = "171_1274941465.17654" 
     capture_lex $P757
-    .const 'Sub' $P720 = "169_1274853038.58734" 
+    .const 'Sub' $P720 = "169_1274941465.17654" 
     capture_lex $P720
-    .const 'Sub' $P712 = "167_1274853038.58734" 
+    .const 'Sub' $P712 = "167_1274941465.17654" 
     capture_lex $P712
-    .const 'Sub' $P706 = "165_1274853038.58734" 
+    .const 'Sub' $P706 = "165_1274941465.17654" 
     capture_lex $P706
-    .const 'Sub' $P696 = "163_1274853038.58734" 
+    .const 'Sub' $P696 = "163_1274941465.17654" 
     capture_lex $P696
-    .const 'Sub' $P682 = "161_1274853038.58734" 
+    .const 'Sub' $P682 = "161_1274941465.17654" 
     capture_lex $P682
-    .const 'Sub' $P673 = "159_1274853038.58734" 
+    .const 'Sub' $P673 = "159_1274941465.17654" 
     capture_lex $P673
-    .const 'Sub' $P654 = "157_1274853038.58734" 
+    .const 'Sub' $P654 = "157_1274941465.17654" 
     capture_lex $P654
-    .const 'Sub' $P630 = "155_1274853038.58734" 
+    .const 'Sub' $P630 = "155_1274941465.17654" 
     capture_lex $P630
-    .const 'Sub' $P623 = "153_1274853038.58734" 
+    .const 'Sub' $P623 = "153_1274941465.17654" 
     capture_lex $P623
-    .const 'Sub' $P616 = "151_1274853038.58734" 
+    .const 'Sub' $P616 = "151_1274941465.17654" 
     capture_lex $P616
-    .const 'Sub' $P606 = "147_1274853038.58734" 
+    .const 'Sub' $P606 = "147_1274941465.17654" 
     capture_lex $P606
-    .const 'Sub' $P598 = "145_1274853038.58734" 
+    .const 'Sub' $P598 = "145_1274941465.17654" 
     capture_lex $P598
-    .const 'Sub' $P592 = "143_1274853038.58734" 
+    .const 'Sub' $P592 = "143_1274941465.17654" 
     capture_lex $P592
-    .const 'Sub' $P578 = "141_1274853038.58734" 
+    .const 'Sub' $P578 = "141_1274941465.17654" 
     capture_lex $P578
-    .const 'Sub' $P571 = "139_1274853038.58734" 
+    .const 'Sub' $P571 = "139_1274941465.17654" 
     capture_lex $P571
-    .const 'Sub' $P564 = "137_1274853038.58734" 
+    .const 'Sub' $P564 = "137_1274941465.17654" 
     capture_lex $P564
-    .const 'Sub' $P557 = "135_1274853038.58734" 
+    .const 'Sub' $P557 = "135_1274941465.17654" 
     capture_lex $P557
-    .const 'Sub' $P530 = "131_1274853038.58734" 
+    .const 'Sub' $P530 = "131_1274941465.17654" 
     capture_lex $P530
-    .const 'Sub' $P521 = "129_1274853038.58734" 
+    .const 'Sub' $P521 = "129_1274941465.17654" 
     capture_lex $P521
-    .const 'Sub' $P514 = "127_1274853038.58734" 
+    .const 'Sub' $P514 = "127_1274941465.17654" 
     capture_lex $P514
-    .const 'Sub' $P505 = "123_1274853038.58734" 
+    .const 'Sub' $P505 = "123_1274941465.17654" 
     capture_lex $P505
-    .const 'Sub' $P500 = "121_1274853038.58734" 
+    .const 'Sub' $P500 = "121_1274941465.17654" 
     capture_lex $P500
-    .const 'Sub' $P488 = "119_1274853038.58734" 
+    .const 'Sub' $P488 = "119_1274941465.17654" 
     capture_lex $P488
-    .const 'Sub' $P476 = "117_1274853038.58734" 
+    .const 'Sub' $P476 = "117_1274941465.17654" 
     capture_lex $P476
-    .const 'Sub' $P468 = "115_1274853038.58734" 
+    .const 'Sub' $P468 = "115_1274941465.17654" 
     capture_lex $P468
-    .const 'Sub' $P463 = "113_1274853038.58734" 
+    .const 'Sub' $P463 = "113_1274941465.17654" 
     capture_lex $P463
-    .const 'Sub' $P457 = "111_1274853038.58734" 
+    .const 'Sub' $P457 = "111_1274941465.17654" 
     capture_lex $P457
-    .const 'Sub' $P451 = "109_1274853038.58734" 
+    .const 'Sub' $P451 = "109_1274941465.17654" 
     capture_lex $P451
-    .const 'Sub' $P445 = "107_1274853038.58734" 
+    .const 'Sub' $P445 = "107_1274941465.17654" 
     capture_lex $P445
-    .const 'Sub' $P439 = "105_1274853038.58734" 
+    .const 'Sub' $P439 = "105_1274941465.17654" 
     capture_lex $P439
-    .const 'Sub' $P433 = "103_1274853038.58734" 
+    .const 'Sub' $P433 = "103_1274941465.17654" 
     capture_lex $P433
-    .const 'Sub' $P427 = "101_1274853038.58734" 
+    .const 'Sub' $P427 = "101_1274941465.17654" 
     capture_lex $P427
-    .const 'Sub' $P421 = "99_1274853038.58734" 
+    .const 'Sub' $P421 = "99_1274941465.17654" 
     capture_lex $P421
-    .const 'Sub' $P415 = "97_1274853038.58734" 
+    .const 'Sub' $P415 = "97_1274941465.17654" 
     capture_lex $P415
-    .const 'Sub' $P407 = "95_1274853038.58734" 
+    .const 'Sub' $P407 = "95_1274941465.17654" 
     capture_lex $P407
-    .const 'Sub' $P399 = "93_1274853038.58734" 
+    .const 'Sub' $P399 = "93_1274941465.17654" 
     capture_lex $P399
-    .const 'Sub' $P387 = "89_1274853038.58734" 
+    .const 'Sub' $P387 = "89_1274941465.17654" 
     capture_lex $P387
-    .const 'Sub' $P379 = "87_1274853038.58734" 
+    .const 'Sub' $P379 = "87_1274941465.17654" 
     capture_lex $P379
-    .const 'Sub' $P369 = "83_1274853038.58734" 
+    .const 'Sub' $P369 = "83_1274941465.17654" 
     capture_lex $P369
-    .const 'Sub' $P362 = "81_1274853038.58734" 
+    .const 'Sub' $P362 = "81_1274941465.17654" 
     capture_lex $P362
-    .const 'Sub' $P355 = "79_1274853038.58734" 
+    .const 'Sub' $P355 = "79_1274941465.17654" 
     capture_lex $P355
-    .const 'Sub' $P343 = "75_1274853038.58734" 
+    .const 'Sub' $P343 = "75_1274941465.17654" 
     capture_lex $P343
-    .const 'Sub' $P335 = "73_1274853038.58734" 
+    .const 'Sub' $P335 = "73_1274941465.17654" 
     capture_lex $P335
-    .const 'Sub' $P327 = "71_1274853038.58734" 
+    .const 'Sub' $P327 = "71_1274941465.17654" 
     capture_lex $P327
-    .const 'Sub' $P307 = "69_1274853038.58734" 
+    .const 'Sub' $P307 = "69_1274941465.17654" 
     capture_lex $P307
-    .const 'Sub' $P298 = "67_1274853038.58734" 
+    .const 'Sub' $P298 = "67_1274941465.17654" 
     capture_lex $P298
-    .const 'Sub' $P280 = "64_1274853038.58734" 
+    .const 'Sub' $P280 = "64_1274941465.17654" 
     capture_lex $P280
-    .const 'Sub' $P260 = "62_1274853038.58734" 
+    .const 'Sub' $P260 = "62_1274941465.17654" 
     capture_lex $P260
-    .const 'Sub' $P251 = "58_1274853038.58734" 
+    .const 'Sub' $P251 = "58_1274941465.17654" 
     capture_lex $P251
-    .const 'Sub' $P246 = "56_1274853038.58734" 
+    .const 'Sub' $P246 = "56_1274941465.17654" 
     capture_lex $P246
-    .const 'Sub' $P237 = "52_1274853038.58734" 
+    .const 'Sub' $P237 = "52_1274941465.17654" 
     capture_lex $P237
-    .const 'Sub' $P232 = "50_1274853038.58734" 
+    .const 'Sub' $P232 = "50_1274941465.17654" 
     capture_lex $P232
-    .const 'Sub' $P227 = "48_1274853038.58734" 
+    .const 'Sub' $P227 = "48_1274941465.17654" 
     capture_lex $P227
-    .const 'Sub' $P219 = "46_1274853038.58734" 
+    .const 'Sub' $P219 = "46_1274941465.17654" 
     capture_lex $P219
-    .const 'Sub' $P212 = "44_1274853038.58734" 
+    .const 'Sub' $P212 = "44_1274941465.17654" 
     capture_lex $P212
-    .const 'Sub' $P206 = "42_1274853038.58734" 
+    .const 'Sub' $P206 = "42_1274941465.17654" 
     capture_lex $P206
-    .const 'Sub' $P198 = "40_1274853038.58734" 
+    .const 'Sub' $P198 = "40_1274941465.17654" 
     capture_lex $P198
-    .const 'Sub' $P192 = "38_1274853038.58734" 
+    .const 'Sub' $P192 = "38_1274941465.17654" 
     capture_lex $P192
-    .const 'Sub' $P186 = "36_1274853038.58734" 
+    .const 'Sub' $P186 = "36_1274941465.17654" 
     capture_lex $P186
-    .const 'Sub' $P170 = "33_1274853038.58734" 
+    .const 'Sub' $P170 = "33_1274941465.17654" 
     capture_lex $P170
-    .const 'Sub' $P157 = "31_1274853038.58734" 
+    .const 'Sub' $P157 = "31_1274941465.17654" 
     capture_lex $P157
-    .const 'Sub' $P150 = "29_1274853038.58734" 
+    .const 'Sub' $P150 = "29_1274941465.17654" 
     capture_lex $P150
-    .const 'Sub' $P100 = "26_1274853038.58734" 
+    .const 'Sub' $P100 = "26_1274941465.17654" 
     capture_lex $P100
-    .const 'Sub' $P82 = "23_1274853038.58734" 
+    .const 'Sub' $P82 = "23_1274941465.17654" 
     capture_lex $P82
-    .const 'Sub' $P68 = "21_1274853038.58734" 
+    .const 'Sub' $P68 = "21_1274941465.17654" 
     capture_lex $P68
-    .const 'Sub' $P54 = "19_1274853038.58734" 
+    .const 'Sub' $P54 = "19_1274941465.17654" 
     capture_lex $P54
-    .const 'Sub' $P46 = "17_1274853038.58734" 
+    .const 'Sub' $P46 = "17_1274941465.17654" 
     capture_lex $P46
-    .const 'Sub' $P39 = "15_1274853038.58734" 
+    .const 'Sub' $P39 = "15_1274941465.17654" 
     capture_lex $P39
-    .const 'Sub' $P33 = "13_1274853038.58734" 
+    .const 'Sub' $P33 = "13_1274941465.17654" 
     capture_lex $P33
-    .const 'Sub' $P15 = "12_1274853038.58734" 
+    .const 'Sub' $P15 = "12_1274941465.17654" 
     capture_lex $P15
     $P0 = find_dynamic_lex "$*CTXSAVE"
     if null $P0 goto ctxsave_done
@@ -363,13 +363,13 @@
     $P1358 = $P1295()
 .annotate 'line', 4
     .return ($P1358)
-    .const 'Sub' $P1360 = "353_1274853038.58734" 
+    .const 'Sub' $P1360 = "353_1274941465.17654" 
     .return ($P1360)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "" :load :init :subid("post356") :outer("11_1274853038.58734")
+.sub "" :load :init :subid("post356") :outer("11_1274941465.17654")
 .annotate 'line', 4
     get_hll_global $P14, ["NQP";"Grammar"], "_block13" 
     .local pmc block
@@ -426,7 +426,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "TOP"  :subid("12_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "TOP"  :subid("12_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     new $P17, 'ExceptionHandler'
     set_addr $P17, control_16
@@ -509,7 +509,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "identifier"  :subid("13_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "identifier"  :subid("13_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx34_tgt
     .local int rx34_pos
@@ -567,7 +567,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__identifier"  :subid("14_1274853038.58734") :method
+.sub "!PREFIX__identifier"  :subid("14_1274941465.17654") :method
 .annotate 'line', 4
     $P36 = self."!PREFIX__!subrule"("ident", "")
     new $P37, "ResizablePMCArray"
@@ -577,7 +577,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "name"  :subid("15_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "name"  :subid("15_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx40_tgt
     .local int rx40_pos
@@ -651,7 +651,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__name"  :subid("16_1274853038.58734") :method
+.sub "!PREFIX__name"  :subid("16_1274941465.17654") :method
 .annotate 'line', 4
     new $P42, "ResizablePMCArray"
     push $P42, ""
@@ -660,7 +660,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "deflongname"  :subid("17_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "deflongname"  :subid("17_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx47_tgt
     .local int rx47_pos
@@ -733,7 +733,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__deflongname"  :subid("18_1274853038.58734") :method
+.sub "!PREFIX__deflongname"  :subid("18_1274941465.17654") :method
 .annotate 'line', 4
     $P49 = self."!PREFIX__!subrule"("identifier", "")
     new $P50, "ResizablePMCArray"
@@ -743,7 +743,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "ENDSTMT"  :subid("19_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "ENDSTMT"  :subid("19_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx55_tgt
     .local int rx55_pos
@@ -875,7 +875,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__ENDSTMT"  :subid("20_1274853038.58734") :method
+.sub "!PREFIX__ENDSTMT"  :subid("20_1274941465.17654") :method
 .annotate 'line', 4
     new $P57, "ResizablePMCArray"
     push $P57, ""
@@ -884,7 +884,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "ws"  :subid("21_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "ws"  :subid("21_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx69_tgt
     .local int rx69_pos
@@ -1039,7 +1039,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__ws"  :subid("22_1274853038.58734") :method
+.sub "!PREFIX__ws"  :subid("22_1274941465.17654") :method
 .annotate 'line', 4
     new $P71, "ResizablePMCArray"
     push $P71, ""
@@ -1049,9 +1049,9 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "unv"  :subid("23_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "unv"  :subid("23_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
-    .const 'Sub' $P90 = "25_1274853038.58734" 
+    .const 'Sub' $P90 = "25_1274941465.17654" 
     capture_lex $P90
     .local string rx83_tgt
     .local int rx83_pos
@@ -1097,7 +1097,7 @@
   rxanchor88_done:
   # rx subrule "before" subtype=zerowidth negate=
     rx83_cur."!cursor_pos"(rx83_pos)
-    .const 'Sub' $P90 = "25_1274853038.58734" 
+    .const 'Sub' $P90 = "25_1274941465.17654" 
     capture_lex $P90
     $P10 = rx83_cur."before"($P90)
     unless $P10, rx83_fail
@@ -1176,7 +1176,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__unv"  :subid("24_1274853038.58734") :method
+.sub "!PREFIX__unv"  :subid("24_1274941465.17654") :method
 .annotate 'line', 4
     new $P85, "ResizablePMCArray"
     push $P85, ""
@@ -1187,7 +1187,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block89"  :anon :subid("25_1274853038.58734") :method :outer("23_1274853038.58734")
+.sub "_block89"  :anon :subid("25_1274941465.17654") :method :outer("23_1274941465.17654")
 .annotate 'line', 45
     .local string rx91_tgt
     .local int rx91_pos
@@ -1277,9 +1277,9 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "pod_comment"  :subid("26_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "pod_comment"  :subid("26_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
-    .const 'Sub' $P141 = "28_1274853038.58734" 
+    .const 'Sub' $P141 = "28_1274941465.17654" 
     capture_lex $P141
     .local string rx101_tgt
     .local int rx101_pos
@@ -1765,7 +1765,7 @@
   rxanchor139_done:
   # rx subrule "before" subtype=zerowidth negate=
     rx101_cur."!cursor_pos"(rx101_pos)
-    .const 'Sub' $P141 = "28_1274853038.58734" 
+    .const 'Sub' $P141 = "28_1274941465.17654" 
     capture_lex $P141
     $P10 = rx101_cur."before"($P141)
     unless $P10, rx101_fail
@@ -1816,7 +1816,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__pod_comment"  :subid("27_1274853038.58734") :method
+.sub "!PREFIX__pod_comment"  :subid("27_1274941465.17654") :method
 .annotate 'line', 4
     new $P103, "ResizablePMCArray"
     push $P103, ""
@@ -1825,7 +1825,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block140"  :anon :subid("28_1274853038.58734") :method :outer("26_1274853038.58734")
+.sub "_block140"  :anon :subid("28_1274941465.17654") :method :outer("26_1274941465.17654")
 .annotate 'line', 68
     .local string rx142_tgt
     .local int rx142_pos
@@ -1944,7 +1944,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "comp_unit"  :subid("29_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "comp_unit"  :subid("29_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx151_tgt
     .local int rx151_pos
@@ -2029,7 +2029,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__comp_unit"  :subid("30_1274853038.58734") :method
+.sub "!PREFIX__comp_unit"  :subid("30_1274941465.17654") :method
 .annotate 'line', 4
     $P153 = self."!PREFIX__!subrule"("", "")
     new $P154, "ResizablePMCArray"
@@ -2039,7 +2039,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statementlist"  :subid("31_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "statementlist"  :subid("31_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx158_tgt
     .local int rx158_pos
@@ -2147,7 +2147,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statementlist"  :subid("32_1274853038.58734") :method
+.sub "!PREFIX__statementlist"  :subid("32_1274941465.17654") :method
 .annotate 'line', 4
     new $P160, "ResizablePMCArray"
     push $P160, ""
@@ -2157,9 +2157,9 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement"  :subid("33_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "statement"  :subid("33_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
-    .const 'Sub' $P176 = "35_1274853038.58734" 
+    .const 'Sub' $P176 = "35_1274941465.17654" 
     capture_lex $P176
     .local string rx171_tgt
     .local int rx171_pos
@@ -2194,7 +2194,7 @@
 .annotate 'line', 95
   # rx subrule "before" subtype=zerowidth negate=1
     rx171_cur."!cursor_pos"(rx171_pos)
-    .const 'Sub' $P176 = "35_1274853038.58734" 
+    .const 'Sub' $P176 = "35_1274941465.17654" 
     capture_lex $P176
     $P10 = rx171_cur."before"($P176)
     if $P10, rx171_fail
@@ -2299,7 +2299,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement"  :subid("34_1274853038.58734") :method
+.sub "!PREFIX__statement"  :subid("34_1274941465.17654") :method
 .annotate 'line', 4
     new $P173, "ResizablePMCArray"
     push $P173, ""
@@ -2308,7 +2308,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block175"  :anon :subid("35_1274853038.58734") :method :outer("33_1274853038.58734")
+.sub "_block175"  :anon :subid("35_1274941465.17654") :method :outer("33_1274941465.17654")
 .annotate 'line', 95
     .local string rx177_tgt
     .local int rx177_pos
@@ -2372,7 +2372,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "eat_terminator"  :subid("36_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "eat_terminator"  :subid("36_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx187_tgt
     .local int rx187_pos
@@ -2459,7 +2459,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__eat_terminator"  :subid("37_1274853038.58734") :method
+.sub "!PREFIX__eat_terminator"  :subid("37_1274941465.17654") :method
 .annotate 'line', 4
     new $P189, "ResizablePMCArray"
     push $P189, ""
@@ -2471,7 +2471,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "xblock"  :subid("38_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "xblock"  :subid("38_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx193_tgt
     .local int rx193_pos
@@ -2542,7 +2542,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__xblock"  :subid("39_1274853038.58734") :method
+.sub "!PREFIX__xblock"  :subid("39_1274941465.17654") :method
 .annotate 'line', 4
     $P195 = self."!PREFIX__!subrule"("EXPR", "")
     new $P196, "ResizablePMCArray"
@@ -2552,7 +2552,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "pblock"  :subid("40_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "pblock"  :subid("40_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx199_tgt
     .local int rx199_pos
@@ -2671,7 +2671,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__pblock"  :subid("41_1274853038.58734") :method
+.sub "!PREFIX__pblock"  :subid("41_1274941465.17654") :method
 .annotate 'line', 4
     $P201 = self."!PREFIX__!subrule"("", "")
     $P202 = self."!PREFIX__!subrule"("", "")
@@ -2684,7 +2684,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "lambda"  :subid("42_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "lambda"  :subid("42_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx207_tgt
     .local int rx207_pos
@@ -2755,7 +2755,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__lambda"  :subid("43_1274853038.58734") :method
+.sub "!PREFIX__lambda"  :subid("43_1274941465.17654") :method
 .annotate 'line', 4
     new $P209, "ResizablePMCArray"
     push $P209, "<->"
@@ -2765,7 +2765,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "block"  :subid("44_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "block"  :subid("44_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx213_tgt
     .local int rx213_pos
@@ -2848,7 +2848,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__block"  :subid("45_1274853038.58734") :method
+.sub "!PREFIX__block"  :subid("45_1274941465.17654") :method
 .annotate 'line', 4
     $P215 = self."!PREFIX__!subrule"("", "")
     new $P216, "ResizablePMCArray"
@@ -2859,7 +2859,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "blockoid"  :subid("46_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "blockoid"  :subid("46_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx220_tgt
     .local int rx220_pos
@@ -2954,7 +2954,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__blockoid"  :subid("47_1274853038.58734") :method
+.sub "!PREFIX__blockoid"  :subid("47_1274941465.17654") :method
 .annotate 'line', 4
     $P222 = self."!PREFIX__!subrule"("", "")
     new $P223, "ResizablePMCArray"
@@ -2964,7 +2964,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "newpad"  :subid("48_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "newpad"  :subid("48_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx228_tgt
     .local int rx228_pos
@@ -3015,7 +3015,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__newpad"  :subid("49_1274853038.58734") :method
+.sub "!PREFIX__newpad"  :subid("49_1274941465.17654") :method
 .annotate 'line', 4
     new $P230, "ResizablePMCArray"
     push $P230, ""
@@ -3024,7 +3024,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "outerctx"  :subid("50_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "outerctx"  :subid("50_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx233_tgt
     .local int rx233_pos
@@ -3075,7 +3075,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__outerctx"  :subid("51_1274853038.58734") :method
+.sub "!PREFIX__outerctx"  :subid("51_1274941465.17654") :method
 .annotate 'line', 4
     new $P235, "ResizablePMCArray"
     push $P235, ""
@@ -3084,7 +3084,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "finishpad"  :subid("52_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "finishpad"  :subid("52_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx238_tgt
     .local int rx238_pos
@@ -3135,7 +3135,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__finishpad"  :subid("53_1274853038.58734") :method
+.sub "!PREFIX__finishpad"  :subid("53_1274941465.17654") :method
 .annotate 'line', 4
     new $P240, "ResizablePMCArray"
     push $P240, ""
@@ -3144,7 +3144,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "terminator"  :subid("54_1274853038.58734") :method
+.sub "terminator"  :subid("54_1274941465.17654") :method
 .annotate 'line', 147
     $P243 = self."!protoregex"("terminator")
     .return ($P243)
@@ -3152,7 +3152,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator"  :subid("55_1274853038.58734") :method
+.sub "!PREFIX__terminator"  :subid("55_1274941465.17654") :method
 .annotate 'line', 147
     $P245 = self."!PREFIX__!protoregex"("terminator")
     .return ($P245)
@@ -3160,7 +3160,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "terminator:sym<;>"  :subid("56_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "terminator:sym<;>"  :subid("56_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx247_tgt
     .local int rx247_pos
@@ -3217,7 +3217,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator:sym<;>"  :subid("57_1274853038.58734") :method
+.sub "!PREFIX__terminator:sym<;>"  :subid("57_1274941465.17654") :method
 .annotate 'line', 4
     new $P249, "ResizablePMCArray"
     push $P249, ";"
@@ -3226,7 +3226,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "terminator:sym<}>"  :subid("58_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "terminator:sym<}>"  :subid("58_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx252_tgt
     .local int rx252_pos
@@ -3283,7 +3283,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator:sym<}>"  :subid("59_1274853038.58734") :method
+.sub "!PREFIX__terminator:sym<}>"  :subid("59_1274941465.17654") :method
 .annotate 'line', 4
     new $P254, "ResizablePMCArray"
     push $P254, "}"
@@ -3292,7 +3292,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control"  :subid("60_1274853038.58734") :method
+.sub "statement_control"  :subid("60_1274941465.17654") :method
 .annotate 'line', 154
     $P257 = self."!protoregex"("statement_control")
     .return ($P257)
@@ -3300,7 +3300,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control"  :subid("61_1274853038.58734") :method
+.sub "!PREFIX__statement_control"  :subid("61_1274941465.17654") :method
 .annotate 'line', 154
     $P259 = self."!PREFIX__!protoregex"("statement_control")
     .return ($P259)
@@ -3308,7 +3308,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<if>"  :subid("62_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "statement_control:sym<if>"  :subid("62_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx261_tgt
     .local int rx261_pos
@@ -3318,7 +3318,7 @@
     .local pmc rx261_cur
     (rx261_cur, rx261_pos, rx261_tgt) = self."!cursor_start"()
     rx261_cur."!cursor_debug"("START ", "statement_control:sym<if>")
-    rx261_cur."!cursor_caparray"("xblock", "else")
+    rx261_cur."!cursor_caparray"("else", "xblock")
     .lex unicode:"$\x{a2}", rx261_cur
     .local pmc match
     .lex "$/", match
@@ -3502,7 +3502,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<if>"  :subid("63_1274853038.58734") :method
+.sub "!PREFIX__statement_control:sym<if>"  :subid("63_1274941465.17654") :method
 .annotate 'line', 4
     new $P263, "ResizablePMCArray"
     push $P263, "if"
@@ -3511,9 +3511,9 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<unless>"  :subid("64_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "statement_control:sym<unless>"  :subid("64_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
-    .const 'Sub' $P291 = "66_1274853038.58734" 
+    .const 'Sub' $P291 = "66_1274941465.17654" 
     capture_lex $P291
     .local string rx281_tgt
     .local int rx281_pos
@@ -3601,7 +3601,7 @@
     rx281_pos = $P10."pos"()
   # rx subrule "before" subtype=zerowidth negate=1
     rx281_cur."!cursor_pos"(rx281_pos)
-    .const 'Sub' $P291 = "66_1274853038.58734" 
+    .const 'Sub' $P291 = "66_1274941465.17654" 
     capture_lex $P291
     $P10 = rx281_cur."before"($P291)
     if $P10, rx281_fail
@@ -3653,7 +3653,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<unless>"  :subid("65_1274853038.58734") :method
+.sub "!PREFIX__statement_control:sym<unless>"  :subid("65_1274941465.17654") :method
 .annotate 'line', 4
     new $P283, "ResizablePMCArray"
     push $P283, "unless"
@@ -3662,7 +3662,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block290"  :anon :subid("66_1274853038.58734") :method :outer("64_1274853038.58734")
+.sub "_block290"  :anon :subid("66_1274941465.17654") :method :outer("64_1274941465.17654")
 .annotate 'line', 166
     .local string rx292_tgt
     .local int rx292_pos
@@ -3718,7 +3718,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<while>"  :subid("67_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "statement_control:sym<while>"  :subid("67_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx299_tgt
     .local int rx299_pos
@@ -3828,7 +3828,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<while>"  :subid("68_1274853038.58734") :method
+.sub "!PREFIX__statement_control:sym<while>"  :subid("68_1274941465.17654") :method
 .annotate 'line', 4
     new $P301, "ResizablePMCArray"
     push $P301, "until"
@@ -3838,7 +3838,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<repeat>"  :subid("69_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "statement_control:sym<repeat>"  :subid("69_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx308_tgt
     .local int rx308_pos
@@ -4073,7 +4073,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<repeat>"  :subid("70_1274853038.58734") :method
+.sub "!PREFIX__statement_control:sym<repeat>"  :subid("70_1274941465.17654") :method
 .annotate 'line', 4
     new $P310, "ResizablePMCArray"
     push $P310, "repeat"
@@ -4082,7 +4082,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<for>"  :subid("71_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "statement_control:sym<for>"  :subid("71_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx328_tgt
     .local int rx328_pos
@@ -4179,7 +4179,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<for>"  :subid("72_1274853038.58734") :method
+.sub "!PREFIX__statement_control:sym<for>"  :subid("72_1274941465.17654") :method
 .annotate 'line', 4
     new $P330, "ResizablePMCArray"
     push $P330, "for"
@@ -4188,7 +4188,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<CATCH>"  :subid("73_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "statement_control:sym<CATCH>"  :subid("73_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx336_tgt
     .local int rx336_pos
@@ -4285,7 +4285,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<CATCH>"  :subid("74_1274853038.58734") :method
+.sub "!PREFIX__statement_control:sym<CATCH>"  :subid("74_1274941465.17654") :method
 .annotate 'line', 4
     new $P338, "ResizablePMCArray"
     push $P338, "CATCH"
@@ -4294,7 +4294,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<CONTROL>"  :subid("75_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "statement_control:sym<CONTROL>"  :subid("75_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx344_tgt
     .local int rx344_pos
@@ -4391,7 +4391,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<CONTROL>"  :subid("76_1274853038.58734") :method
+.sub "!PREFIX__statement_control:sym<CONTROL>"  :subid("76_1274941465.17654") :method
 .annotate 'line', 4
     new $P346, "ResizablePMCArray"
     push $P346, "CONTROL"
@@ -4400,7 +4400,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_prefix"  :subid("77_1274853038.58734") :method
+.sub "statement_prefix"  :subid("77_1274941465.17654") :method
 .annotate 'line', 197
     $P352 = self."!protoregex"("statement_prefix")
     .return ($P352)
@@ -4408,7 +4408,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix"  :subid("78_1274853038.58734") :method
+.sub "!PREFIX__statement_prefix"  :subid("78_1274941465.17654") :method
 .annotate 'line', 197
     $P354 = self."!PREFIX__!protoregex"("statement_prefix")
     .return ($P354)
@@ -4416,7 +4416,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_prefix:sym<INIT>"  :subid("79_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "statement_prefix:sym<INIT>"  :subid("79_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx356_tgt
     .local int rx356_pos
@@ -4495,7 +4495,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix:sym<INIT>"  :subid("80_1274853038.58734") :method
+.sub "!PREFIX__statement_prefix:sym<INIT>"  :subid("80_1274941465.17654") :method
 .annotate 'line', 4
     $P358 = self."!PREFIX__!subrule"("blorst", "INIT")
     new $P359, "ResizablePMCArray"
@@ -4505,7 +4505,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_prefix:sym<try>"  :subid("81_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "statement_prefix:sym<try>"  :subid("81_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx363_tgt
     .local int rx363_pos
@@ -4586,7 +4586,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix:sym<try>"  :subid("82_1274853038.58734") :method
+.sub "!PREFIX__statement_prefix:sym<try>"  :subid("82_1274941465.17654") :method
 .annotate 'line', 4
     $P365 = self."!PREFIX__!subrule"("blorst", "try")
     new $P366, "ResizablePMCArray"
@@ -4596,7 +4596,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "blorst"  :subid("83_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "blorst"  :subid("83_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx370_tgt
     .local int rx370_pos
@@ -4685,7 +4685,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__blorst"  :subid("84_1274853038.58734") :method
+.sub "!PREFIX__blorst"  :subid("84_1274941465.17654") :method
 .annotate 'line', 4
     new $P372, "ResizablePMCArray"
     push $P372, ""
@@ -4694,7 +4694,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond"  :subid("85_1274853038.58734") :method
+.sub "statement_mod_cond"  :subid("85_1274941465.17654") :method
 .annotate 'line', 211
     $P376 = self."!protoregex"("statement_mod_cond")
     .return ($P376)
@@ -4702,7 +4702,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond"  :subid("86_1274853038.58734") :method
+.sub "!PREFIX__statement_mod_cond"  :subid("86_1274941465.17654") :method
 .annotate 'line', 211
     $P378 = self."!PREFIX__!protoregex"("statement_mod_cond")
     .return ($P378)
@@ -4710,7 +4710,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond:sym<if>"  :subid("87_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "statement_mod_cond:sym<if>"  :subid("87_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx380_tgt
     .local int rx380_pos
@@ -4799,7 +4799,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond:sym<if>"  :subid("88_1274853038.58734") :method
+.sub "!PREFIX__statement_mod_cond:sym<if>"  :subid("88_1274941465.17654") :method
 .annotate 'line', 4
     new $P382, "ResizablePMCArray"
     push $P382, "if"
@@ -4808,7 +4808,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond:sym<unless>"  :subid("89_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "statement_mod_cond:sym<unless>"  :subid("89_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx388_tgt
     .local int rx388_pos
@@ -4897,7 +4897,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond:sym<unless>"  :subid("90_1274853038.58734") :method
+.sub "!PREFIX__statement_mod_cond:sym<unless>"  :subid("90_1274941465.17654") :method
 .annotate 'line', 4
     new $P390, "ResizablePMCArray"
     push $P390, "unless"
@@ -4906,7 +4906,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop"  :subid("91_1274853038.58734") :method
+.sub "statement_mod_loop"  :subid("91_1274941465.17654") :method
 .annotate 'line', 216
     $P396 = self."!protoregex"("statement_mod_loop")
     .return ($P396)
@@ -4914,7 +4914,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop"  :subid("92_1274853038.58734") :method
+.sub "!PREFIX__statement_mod_loop"  :subid("92_1274941465.17654") :method
 .annotate 'line', 216
     $P398 = self."!PREFIX__!protoregex"("statement_mod_loop")
     .return ($P398)
@@ -4922,7 +4922,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop:sym<while>"  :subid("93_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "statement_mod_loop:sym<while>"  :subid("93_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx400_tgt
     .local int rx400_pos
@@ -5011,7 +5011,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop:sym<while>"  :subid("94_1274853038.58734") :method
+.sub "!PREFIX__statement_mod_loop:sym<while>"  :subid("94_1274941465.17654") :method
 .annotate 'line', 4
     new $P402, "ResizablePMCArray"
     push $P402, "while"
@@ -5020,7 +5020,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop:sym<until>"  :subid("95_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "statement_mod_loop:sym<until>"  :subid("95_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx408_tgt
     .local int rx408_pos
@@ -5109,7 +5109,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop:sym<until>"  :subid("96_1274853038.58734") :method
+.sub "!PREFIX__statement_mod_loop:sym<until>"  :subid("96_1274941465.17654") :method
 .annotate 'line', 4
     new $P410, "ResizablePMCArray"
     push $P410, "until"
@@ -5118,7 +5118,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<fatarrow>"  :subid("97_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "term:sym<fatarrow>"  :subid("97_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx416_tgt
     .local int rx416_pos
@@ -5176,7 +5176,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<fatarrow>"  :subid("98_1274853038.58734") :method
+.sub "!PREFIX__term:sym<fatarrow>"  :subid("98_1274941465.17654") :method
 .annotate 'line', 4
     $P418 = self."!PREFIX__!subrule"("fatarrow", "")
     new $P419, "ResizablePMCArray"
@@ -5186,7 +5186,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<colonpair>"  :subid("99_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "term:sym<colonpair>"  :subid("99_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx422_tgt
     .local int rx422_pos
@@ -5244,7 +5244,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<colonpair>"  :subid("100_1274853038.58734") :method
+.sub "!PREFIX__term:sym<colonpair>"  :subid("100_1274941465.17654") :method
 .annotate 'line', 4
     $P424 = self."!PREFIX__!subrule"("colonpair", "")
     new $P425, "ResizablePMCArray"
@@ -5254,7 +5254,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<variable>"  :subid("101_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "term:sym<variable>"  :subid("101_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx428_tgt
     .local int rx428_pos
@@ -5312,7 +5312,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<variable>"  :subid("102_1274853038.58734") :method
+.sub "!PREFIX__term:sym<variable>"  :subid("102_1274941465.17654") :method
 .annotate 'line', 4
     $P430 = self."!PREFIX__!subrule"("variable", "")
     new $P431, "ResizablePMCArray"
@@ -5322,7 +5322,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<package_declarator>"  :subid("103_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "term:sym<package_declarator>"  :subid("103_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx434_tgt
     .local int rx434_pos
@@ -5380,7 +5380,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<package_declarator>"  :subid("104_1274853038.58734") :method
+.sub "!PREFIX__term:sym<package_declarator>"  :subid("104_1274941465.17654") :method
 .annotate 'line', 4
     $P436 = self."!PREFIX__!subrule"("package_declarator", "")
     new $P437, "ResizablePMCArray"
@@ -5390,7 +5390,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<scope_declarator>"  :subid("105_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "term:sym<scope_declarator>"  :subid("105_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx440_tgt
     .local int rx440_pos
@@ -5448,7 +5448,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<scope_declarator>"  :subid("106_1274853038.58734") :method
+.sub "!PREFIX__term:sym<scope_declarator>"  :subid("106_1274941465.17654") :method
 .annotate 'line', 4
     $P442 = self."!PREFIX__!subrule"("scope_declarator", "")
     new $P443, "ResizablePMCArray"
@@ -5458,7 +5458,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<routine_declarator>"  :subid("107_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "term:sym<routine_declarator>"  :subid("107_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx446_tgt
     .local int rx446_pos
@@ -5516,7 +5516,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<routine_declarator>"  :subid("108_1274853038.58734") :method
+.sub "!PREFIX__term:sym<routine_declarator>"  :subid("108_1274941465.17654") :method
 .annotate 'line', 4
     $P448 = self."!PREFIX__!subrule"("routine_declarator", "")
     new $P449, "ResizablePMCArray"
@@ -5526,7 +5526,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<regex_declarator>"  :subid("109_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "term:sym<regex_declarator>"  :subid("109_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx452_tgt
     .local int rx452_pos
@@ -5584,7 +5584,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<regex_declarator>"  :subid("110_1274853038.58734") :method
+.sub "!PREFIX__term:sym<regex_declarator>"  :subid("110_1274941465.17654") :method
 .annotate 'line', 4
     $P454 = self."!PREFIX__!subrule"("regex_declarator", "")
     new $P455, "ResizablePMCArray"
@@ -5594,7 +5594,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<statement_prefix>"  :subid("111_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "term:sym<statement_prefix>"  :subid("111_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx458_tgt
     .local int rx458_pos
@@ -5652,7 +5652,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<statement_prefix>"  :subid("112_1274853038.58734") :method
+.sub "!PREFIX__term:sym<statement_prefix>"  :subid("112_1274941465.17654") :method
 .annotate 'line', 4
     $P460 = self."!PREFIX__!subrule"("statement_prefix", "")
     new $P461, "ResizablePMCArray"
@@ -5662,7 +5662,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<lambda>"  :subid("113_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "term:sym<lambda>"  :subid("113_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx464_tgt
     .local int rx464_pos
@@ -5724,7 +5724,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<lambda>"  :subid("114_1274853038.58734") :method
+.sub "!PREFIX__term:sym<lambda>"  :subid("114_1274941465.17654") :method
 .annotate 'line', 4
     new $P466, "ResizablePMCArray"
     push $P466, ""
@@ -5733,7 +5733,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "fatarrow"  :subid("115_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "fatarrow"  :subid("115_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx469_tgt
     .local int rx469_pos
@@ -5826,7 +5826,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__fatarrow"  :subid("116_1274853038.58734") :method
+.sub "!PREFIX__fatarrow"  :subid("116_1274941465.17654") :method
 .annotate 'line', 4
     $P471 = self."!PREFIX__!subrule"("key", "")
     new $P472, "ResizablePMCArray"
@@ -5836,7 +5836,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "colonpair"  :subid("117_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "colonpair"  :subid("117_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx477_tgt
     .local int rx477_pos
@@ -5965,7 +5965,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__colonpair"  :subid("118_1274853038.58734") :method
+.sub "!PREFIX__colonpair"  :subid("118_1274941465.17654") :method
 .annotate 'line', 4
     $P479 = self."!PREFIX__!subrule"("circumfix", ":")
     $P480 = self."!PREFIX__!subrule"("identifier", ":")
@@ -5979,7 +5979,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "variable"  :subid("119_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "variable"  :subid("119_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx489_tgt
     .local int rx489_pos
@@ -6134,7 +6134,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__variable"  :subid("120_1274853038.58734") :method
+.sub "!PREFIX__variable"  :subid("120_1274941465.17654") :method
 .annotate 'line', 4
     $P491 = self."!PREFIX__!subrule"("sigil", "")
     $P492 = self."!PREFIX__!subrule"("sigil", "")
@@ -6149,7 +6149,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "sigil"  :subid("121_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "sigil"  :subid("121_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx501_tgt
     .local int rx501_pos
@@ -6207,7 +6207,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__sigil"  :subid("122_1274853038.58734") :method
+.sub "!PREFIX__sigil"  :subid("122_1274941465.17654") :method
 .annotate 'line', 4
     new $P503, "ResizablePMCArray"
     push $P503, "&"
@@ -6219,7 +6219,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "twigil"  :subid("123_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "twigil"  :subid("123_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx506_tgt
     .local int rx506_pos
@@ -6277,7 +6277,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__twigil"  :subid("124_1274853038.58734") :method
+.sub "!PREFIX__twigil"  :subid("124_1274941465.17654") :method
 .annotate 'line', 4
     new $P508, "ResizablePMCArray"
     push $P508, "?"
@@ -6288,7 +6288,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_declarator"  :subid("125_1274853038.58734") :method
+.sub "package_declarator"  :subid("125_1274941465.17654") :method
 .annotate 'line', 256
     $P511 = self."!protoregex"("package_declarator")
     .return ($P511)
@@ -6296,7 +6296,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator"  :subid("126_1274853038.58734") :method
+.sub "!PREFIX__package_declarator"  :subid("126_1274941465.17654") :method
 .annotate 'line', 256
     $P513 = self."!PREFIX__!protoregex"("package_declarator")
     .return ($P513)
@@ -6304,7 +6304,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_declarator:sym<module>"  :subid("127_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "package_declarator:sym<module>"  :subid("127_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx515_tgt
     .local int rx515_pos
@@ -6383,7 +6383,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator:sym<module>"  :subid("128_1274853038.58734") :method
+.sub "!PREFIX__package_declarator:sym<module>"  :subid("128_1274941465.17654") :method
 .annotate 'line', 4
     $P517 = self."!PREFIX__!subrule"("package_def", "module")
     new $P518, "ResizablePMCArray"
@@ -6393,7 +6393,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_declarator:sym<class>"  :subid("129_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "package_declarator:sym<class>"  :subid("129_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx522_tgt
     .local int rx522_pos
@@ -6485,7 +6485,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator:sym<class>"  :subid("130_1274853038.58734") :method
+.sub "!PREFIX__package_declarator:sym<class>"  :subid("130_1274941465.17654") :method
 .annotate 'line', 4
     $P524 = self."!PREFIX__!subrule"("package_def", "grammar")
     $P525 = self."!PREFIX__!subrule"("package_def", "class")
@@ -6497,7 +6497,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_def"  :subid("131_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "package_def"  :subid("131_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx531_tgt
     .local int rx531_pos
@@ -6701,7 +6701,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_def"  :subid("132_1274853038.58734") :method
+.sub "!PREFIX__package_def"  :subid("132_1274941465.17654") :method
 .annotate 'line', 4
     new $P533, "ResizablePMCArray"
     push $P533, ""
@@ -6710,7 +6710,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scope_declarator"  :subid("133_1274853038.58734") :method
+.sub "scope_declarator"  :subid("133_1274941465.17654") :method
 .annotate 'line', 270
     $P554 = self."!protoregex"("scope_declarator")
     .return ($P554)
@@ -6718,7 +6718,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator"  :subid("134_1274853038.58734") :method
+.sub "!PREFIX__scope_declarator"  :subid("134_1274941465.17654") :method
 .annotate 'line', 270
     $P556 = self."!PREFIX__!protoregex"("scope_declarator")
     .return ($P556)
@@ -6726,7 +6726,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<my>"  :subid("135_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "scope_declarator:sym<my>"  :subid("135_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx558_tgt
     .local int rx558_pos
@@ -6805,7 +6805,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<my>"  :subid("136_1274853038.58734") :method
+.sub "!PREFIX__scope_declarator:sym<my>"  :subid("136_1274941465.17654") :method
 .annotate 'line', 4
     $P560 = self."!PREFIX__!subrule"("scoped", "my")
     new $P561, "ResizablePMCArray"
@@ -6815,7 +6815,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<our>"  :subid("137_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "scope_declarator:sym<our>"  :subid("137_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx565_tgt
     .local int rx565_pos
@@ -6894,7 +6894,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<our>"  :subid("138_1274853038.58734") :method
+.sub "!PREFIX__scope_declarator:sym<our>"  :subid("138_1274941465.17654") :method
 .annotate 'line', 4
     $P567 = self."!PREFIX__!subrule"("scoped", "our")
     new $P568, "ResizablePMCArray"
@@ -6904,7 +6904,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<has>"  :subid("139_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "scope_declarator:sym<has>"  :subid("139_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx572_tgt
     .local int rx572_pos
@@ -6983,7 +6983,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<has>"  :subid("140_1274853038.58734") :method
+.sub "!PREFIX__scope_declarator:sym<has>"  :subid("140_1274941465.17654") :method
 .annotate 'line', 4
     $P574 = self."!PREFIX__!subrule"("scoped", "has")
     new $P575, "ResizablePMCArray"
@@ -6993,7 +6993,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scoped"  :subid("141_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "scoped"  :subid("141_1274941465.17654") :method :outer("11_1274941465.17654")
     .param pmc param_579
 .annotate 'line', 275
     .lex "$*SCOPE", param_579
@@ -7111,7 +7111,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scoped"  :subid("142_1274853038.58734") :method
+.sub "!PREFIX__scoped"  :subid("142_1274941465.17654") :method
 .annotate 'line', 4
     new $P582, "ResizablePMCArray"
     push $P582, ""
@@ -7121,7 +7121,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "typename"  :subid("143_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "typename"  :subid("143_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx593_tgt
     .local int rx593_pos
@@ -7179,7 +7179,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__typename"  :subid("144_1274853038.58734") :method
+.sub "!PREFIX__typename"  :subid("144_1274941465.17654") :method
 .annotate 'line', 4
     $P595 = self."!PREFIX__!subrule"("name", "")
     new $P596, "ResizablePMCArray"
@@ -7189,7 +7189,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "declarator"  :subid("145_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "declarator"  :subid("145_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx599_tgt
     .local int rx599_pos
@@ -7263,7 +7263,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__declarator"  :subid("146_1274853038.58734") :method
+.sub "!PREFIX__declarator"  :subid("146_1274941465.17654") :method
 .annotate 'line', 4
     $P601 = self."!PREFIX__!subrule"("routine_declarator", "")
     $P602 = self."!PREFIX__!subrule"("variable_declarator", "")
@@ -7275,7 +7275,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "variable_declarator"  :subid("147_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "variable_declarator"  :subid("147_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx607_tgt
     .local int rx607_pos
@@ -7333,7 +7333,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__variable_declarator"  :subid("148_1274853038.58734") :method
+.sub "!PREFIX__variable_declarator"  :subid("148_1274941465.17654") :method
 .annotate 'line', 4
     $P609 = self."!PREFIX__!subrule"("variable", "")
     new $P610, "ResizablePMCArray"
@@ -7343,7 +7343,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_declarator"  :subid("149_1274853038.58734") :method
+.sub "routine_declarator"  :subid("149_1274941465.17654") :method
 .annotate 'line', 289
     $P613 = self."!protoregex"("routine_declarator")
     .return ($P613)
@@ -7351,7 +7351,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator"  :subid("150_1274853038.58734") :method
+.sub "!PREFIX__routine_declarator"  :subid("150_1274941465.17654") :method
 .annotate 'line', 289
     $P615 = self."!PREFIX__!protoregex"("routine_declarator")
     .return ($P615)
@@ -7359,7 +7359,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_declarator:sym<sub>"  :subid("151_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "routine_declarator:sym<sub>"  :subid("151_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx617_tgt
     .local int rx617_pos
@@ -7438,7 +7438,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator:sym<sub>"  :subid("152_1274853038.58734") :method
+.sub "!PREFIX__routine_declarator:sym<sub>"  :subid("152_1274941465.17654") :method
 .annotate 'line', 4
     $P619 = self."!PREFIX__!subrule"("routine_def", "sub")
     new $P620, "ResizablePMCArray"
@@ -7448,7 +7448,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_declarator:sym<method>"  :subid("153_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "routine_declarator:sym<method>"  :subid("153_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx624_tgt
     .local int rx624_pos
@@ -7527,7 +7527,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator:sym<method>"  :subid("154_1274853038.58734") :method
+.sub "!PREFIX__routine_declarator:sym<method>"  :subid("154_1274941465.17654") :method
 .annotate 'line', 4
     $P626 = self."!PREFIX__!subrule"("method_def", "method")
     new $P627, "ResizablePMCArray"
@@ -7537,7 +7537,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_def"  :subid("155_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "routine_def"  :subid("155_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx631_tgt
     .local int rx631_pos
@@ -7744,7 +7744,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_def"  :subid("156_1274853038.58734") :method
+.sub "!PREFIX__routine_def"  :subid("156_1274941465.17654") :method
 .annotate 'line', 4
     new $P633, "ResizablePMCArray"
     push $P633, ""
@@ -7753,7 +7753,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "method_def"  :subid("157_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "method_def"  :subid("157_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx655_tgt
     .local int rx655_pos
@@ -7923,7 +7923,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__method_def"  :subid("158_1274853038.58734") :method
+.sub "!PREFIX__method_def"  :subid("158_1274941465.17654") :method
 .annotate 'line', 4
     new $P657, "ResizablePMCArray"
     push $P657, ""
@@ -7932,7 +7932,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "signature"  :subid("159_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "signature"  :subid("159_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx674_tgt
     .local int rx674_pos
@@ -8022,7 +8022,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__signature"  :subid("160_1274853038.58734") :method
+.sub "!PREFIX__signature"  :subid("160_1274941465.17654") :method
 .annotate 'line', 4
     new $P676, "ResizablePMCArray"
     push $P676, ""
@@ -8031,7 +8031,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "parameter"  :subid("161_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "parameter"  :subid("161_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx683_tgt
     .local int rx683_pos
@@ -8041,7 +8041,7 @@
     .local pmc rx683_cur
     (rx683_cur, rx683_pos, rx683_tgt) = self."!cursor_start"()
     rx683_cur."!cursor_debug"("START ", "parameter")
-    rx683_cur."!cursor_caparray"("typename", "default_value")
+    rx683_cur."!cursor_caparray"("default_value", "typename")
     .lex unicode:"$\x{a2}", rx683_cur
     .local pmc match
     .lex "$/", match
@@ -8213,7 +8213,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__parameter"  :subid("162_1274853038.58734") :method
+.sub "!PREFIX__parameter"  :subid("162_1274941465.17654") :method
 .annotate 'line', 4
     new $P685, "ResizablePMCArray"
     push $P685, ""
@@ -8222,7 +8222,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "param_var"  :subid("163_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "param_var"  :subid("163_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx697_tgt
     .local int rx697_pos
@@ -8330,7 +8330,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__param_var"  :subid("164_1274853038.58734") :method
+.sub "!PREFIX__param_var"  :subid("164_1274941465.17654") :method
 .annotate 'line', 4
     $P699 = self."!PREFIX__!subrule"("sigil", "")
     new $P700, "ResizablePMCArray"
@@ -8340,7 +8340,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "named_param"  :subid("165_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "named_param"  :subid("165_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx707_tgt
     .local int rx707_pos
@@ -8406,7 +8406,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__named_param"  :subid("166_1274853038.58734") :method
+.sub "!PREFIX__named_param"  :subid("166_1274941465.17654") :method
 .annotate 'line', 4
     $P709 = self."!PREFIX__!subrule"("param_var", ":")
     new $P710, "ResizablePMCArray"
@@ -8416,7 +8416,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "default_value"  :subid("167_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "default_value"  :subid("167_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx713_tgt
     .local int rx713_pos
@@ -8496,7 +8496,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__default_value"  :subid("168_1274853038.58734") :method
+.sub "!PREFIX__default_value"  :subid("168_1274941465.17654") :method
 .annotate 'line', 4
     new $P715, "ResizablePMCArray"
     push $P715, ""
@@ -8505,7 +8505,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "regex_declarator"  :subid("169_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "regex_declarator"  :subid("169_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx721_tgt
     .local int rx721_pos
@@ -8906,7 +8906,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__regex_declarator"  :subid("170_1274853038.58734") :method
+.sub "!PREFIX__regex_declarator"  :subid("170_1274941465.17654") :method
 .annotate 'line', 4
     new $P723, "ResizablePMCArray"
     push $P723, ""
@@ -8915,7 +8915,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "dotty"  :subid("171_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "dotty"  :subid("171_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx758_tgt
     .local int rx758_pos
@@ -9071,7 +9071,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__dotty"  :subid("172_1274853038.58734") :method
+.sub "!PREFIX__dotty"  :subid("172_1274941465.17654") :method
 .annotate 'line', 4
     $P760 = self."!PREFIX__!subrule"("longname=identifier", ".")
     new $P761, "ResizablePMCArray"
@@ -9083,7 +9083,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term"  :subid("173_1274853038.58734") :method
+.sub "term"  :subid("173_1274941465.17654") :method
 .annotate 'line', 362
     $P769 = self."!protoregex"("term")
     .return ($P769)
@@ -9091,7 +9091,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term"  :subid("174_1274853038.58734") :method
+.sub "!PREFIX__term"  :subid("174_1274941465.17654") :method
 .annotate 'line', 362
     $P771 = self."!PREFIX__!protoregex"("term")
     .return ($P771)
@@ -9099,7 +9099,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<self>"  :subid("175_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "term:sym<self>"  :subid("175_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx773_tgt
     .local int rx773_pos
@@ -9179,7 +9179,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<self>"  :subid("176_1274853038.58734") :method
+.sub "!PREFIX__term:sym<self>"  :subid("176_1274941465.17654") :method
 .annotate 'line', 4
     new $P775, "ResizablePMCArray"
     push $P775, "self"
@@ -9188,7 +9188,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<identifier>"  :subid("177_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "term:sym<identifier>"  :subid("177_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx779_tgt
     .local int rx779_pos
@@ -9260,7 +9260,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<identifier>"  :subid("178_1274853038.58734") :method
+.sub "!PREFIX__term:sym<identifier>"  :subid("178_1274941465.17654") :method
 .annotate 'line', 4
     $P781 = self."!PREFIX__!subrule"("identifier", "")
     new $P782, "ResizablePMCArray"
@@ -9270,7 +9270,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<name>"  :subid("179_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "term:sym<name>"  :subid("179_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx785_tgt
     .local int rx785_pos
@@ -9343,7 +9343,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<name>"  :subid("180_1274853038.58734") :method
+.sub "!PREFIX__term:sym<name>"  :subid("180_1274941465.17654") :method
 .annotate 'line', 4
     $P787 = self."!PREFIX__!subrule"("name", "")
     new $P788, "ResizablePMCArray"
@@ -9353,7 +9353,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<pir::op>"  :subid("181_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "term:sym<pir::op>"  :subid("181_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx793_tgt
     .local int rx793_pos
@@ -9446,7 +9446,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<pir::op>"  :subid("182_1274853038.58734") :method
+.sub "!PREFIX__term:sym<pir::op>"  :subid("182_1274941465.17654") :method
 .annotate 'line', 4
     new $P795, "ResizablePMCArray"
     push $P795, "pir::"
@@ -9455,7 +9455,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "args"  :subid("183_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "args"  :subid("183_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx801_tgt
     .local int rx801_pos
@@ -9527,7 +9527,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__args"  :subid("184_1274853038.58734") :method
+.sub "!PREFIX__args"  :subid("184_1274941465.17654") :method
 .annotate 'line', 4
     $P803 = self."!PREFIX__!subrule"("arglist", "(")
     new $P804, "ResizablePMCArray"
@@ -9537,7 +9537,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "arglist"  :subid("185_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "arglist"  :subid("185_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx807_tgt
     .local int rx807_pos
@@ -9609,7 +9609,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__arglist"  :subid("186_1274853038.58734") :method
+.sub "!PREFIX__arglist"  :subid("186_1274941465.17654") :method
 .annotate 'line', 4
     $P809 = self."!PREFIX__!subrule"("", "")
     new $P810, "ResizablePMCArray"
@@ -9619,7 +9619,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<value>"  :subid("187_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "term:sym<value>"  :subid("187_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx814_tgt
     .local int rx814_pos
@@ -9677,7 +9677,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<value>"  :subid("188_1274853038.58734") :method
+.sub "!PREFIX__term:sym<value>"  :subid("188_1274941465.17654") :method
 .annotate 'line', 4
     $P816 = self."!PREFIX__!subrule"("value", "")
     new $P817, "ResizablePMCArray"
@@ -9687,7 +9687,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "value"  :subid("189_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "value"  :subid("189_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx820_tgt
     .local int rx820_pos
@@ -9761,7 +9761,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__value"  :subid("190_1274853038.58734") :method
+.sub "!PREFIX__value"  :subid("190_1274941465.17654") :method
 .annotate 'line', 4
     $P822 = self."!PREFIX__!subrule"("number", "")
     $P823 = self."!PREFIX__!subrule"("quote", "")
@@ -9773,7 +9773,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "number"  :subid("191_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "number"  :subid("191_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx828_tgt
     .local int rx828_pos
@@ -9873,7 +9873,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__number"  :subid("192_1274853038.58734") :method
+.sub "!PREFIX__number"  :subid("192_1274941465.17654") :method
 .annotate 'line', 4
     new $P830, "ResizablePMCArray"
     push $P830, ""
@@ -9882,7 +9882,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote"  :subid("193_1274853038.58734") :method
+.sub "quote"  :subid("193_1274941465.17654") :method
 .annotate 'line', 403
     $P837 = self."!protoregex"("quote")
     .return ($P837)
@@ -9890,7 +9890,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote"  :subid("194_1274853038.58734") :method
+.sub "!PREFIX__quote"  :subid("194_1274941465.17654") :method
 .annotate 'line', 403
     $P839 = self."!PREFIX__!protoregex"("quote")
     .return ($P839)
@@ -9898,7 +9898,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<apos>"  :subid("195_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "quote:sym<apos>"  :subid("195_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx841_tgt
     .local int rx841_pos
@@ -9962,7 +9962,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<apos>"  :subid("196_1274853038.58734") :method
+.sub "!PREFIX__quote:sym<apos>"  :subid("196_1274941465.17654") :method
 .annotate 'line', 4
     new $P843, "ResizablePMCArray"
     push $P843, "'"
@@ -9971,7 +9971,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<dblq>"  :subid("197_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "quote:sym<dblq>"  :subid("197_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx846_tgt
     .local int rx846_pos
@@ -10035,7 +10035,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<dblq>"  :subid("198_1274853038.58734") :method
+.sub "!PREFIX__quote:sym<dblq>"  :subid("198_1274941465.17654") :method
 .annotate 'line', 4
     new $P848, "ResizablePMCArray"
     push $P848, "\""
@@ -10044,7 +10044,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<q>"  :subid("199_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "quote:sym<q>"  :subid("199_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx851_tgt
     .local int rx851_pos
@@ -10128,7 +10128,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<q>"  :subid("200_1274853038.58734") :method
+.sub "!PREFIX__quote:sym<q>"  :subid("200_1274941465.17654") :method
 .annotate 'line', 4
     $P853 = self."!PREFIX__!subrule"("", "q")
     new $P854, "ResizablePMCArray"
@@ -10138,7 +10138,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<qq>"  :subid("201_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "quote:sym<qq>"  :subid("201_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx857_tgt
     .local int rx857_pos
@@ -10222,7 +10222,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<qq>"  :subid("202_1274853038.58734") :method
+.sub "!PREFIX__quote:sym<qq>"  :subid("202_1274941465.17654") :method
 .annotate 'line', 4
     $P859 = self."!PREFIX__!subrule"("", "qq")
     new $P860, "ResizablePMCArray"
@@ -10232,7 +10232,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<Q>"  :subid("203_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "quote:sym<Q>"  :subid("203_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx863_tgt
     .local int rx863_pos
@@ -10316,7 +10316,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<Q>"  :subid("204_1274853038.58734") :method
+.sub "!PREFIX__quote:sym<Q>"  :subid("204_1274941465.17654") :method
 .annotate 'line', 4
     $P865 = self."!PREFIX__!subrule"("", "Q")
     new $P866, "ResizablePMCArray"
@@ -10326,7 +10326,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<Q:PIR>"  :subid("205_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "quote:sym<Q:PIR>"  :subid("205_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx869_tgt
     .local int rx869_pos
@@ -10396,7 +10396,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<Q:PIR>"  :subid("206_1274853038.58734") :method
+.sub "!PREFIX__quote:sym<Q:PIR>"  :subid("206_1274941465.17654") :method
 .annotate 'line', 4
     $P871 = self."!PREFIX__!subrule"("", "Q:PIR")
     new $P872, "ResizablePMCArray"
@@ -10406,7 +10406,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym</ />"  :subid("207_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "quote:sym</ />"  :subid("207_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx875_tgt
     .local int rx875_pos
@@ -10491,7 +10491,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym</ />"  :subid("208_1274853038.58734") :method
+.sub "!PREFIX__quote:sym</ />"  :subid("208_1274941465.17654") :method
 .annotate 'line', 4
     $P877 = self."!PREFIX__!subrule"("", "/")
     new $P878, "ResizablePMCArray"
@@ -10501,7 +10501,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<$>"  :subid("209_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "quote_escape:sym<$>"  :subid("209_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx881_tgt
     .local int rx881_pos
@@ -10569,7 +10569,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<$>"  :subid("210_1274853038.58734") :method
+.sub "!PREFIX__quote_escape:sym<$>"  :subid("210_1274941465.17654") :method
 .annotate 'line', 4
     new $P883, "ResizablePMCArray"
     push $P883, "$"
@@ -10578,7 +10578,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<{ }>"  :subid("211_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "quote_escape:sym<{ }>"  :subid("211_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx886_tgt
     .local int rx886_pos
@@ -10646,7 +10646,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<{ }>"  :subid("212_1274853038.58734") :method
+.sub "!PREFIX__quote_escape:sym<{ }>"  :subid("212_1274941465.17654") :method
 .annotate 'line', 4
     new $P888, "ResizablePMCArray"
     push $P888, "{"
@@ -10655,7 +10655,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<esc>"  :subid("213_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "quote_escape:sym<esc>"  :subid("213_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx891_tgt
     .local int rx891_pos
@@ -10717,7 +10717,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<esc>"  :subid("214_1274853038.58734") :method
+.sub "!PREFIX__quote_escape:sym<esc>"  :subid("214_1274941465.17654") :method
 .annotate 'line', 4
     new $P893, "ResizablePMCArray"
     push $P893, "\\e"
@@ -10726,7 +10726,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<( )>"  :subid("215_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "circumfix:sym<( )>"  :subid("215_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx896_tgt
     .local int rx896_pos
@@ -10810,7 +10810,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<( )>"  :subid("216_1274853038.58734") :method
+.sub "!PREFIX__circumfix:sym<( )>"  :subid("216_1274941465.17654") :method
 .annotate 'line', 4
     $P898 = self."!PREFIX__!subrule"("", "(")
     new $P899, "ResizablePMCArray"
@@ -10820,7 +10820,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<[ ]>"  :subid("217_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "circumfix:sym<[ ]>"  :subid("217_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx904_tgt
     .local int rx904_pos
@@ -10904,7 +10904,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<[ ]>"  :subid("218_1274853038.58734") :method
+.sub "!PREFIX__circumfix:sym<[ ]>"  :subid("218_1274941465.17654") :method
 .annotate 'line', 4
     $P906 = self."!PREFIX__!subrule"("", "[")
     new $P907, "ResizablePMCArray"
@@ -10914,7 +10914,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<ang>"  :subid("219_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "circumfix:sym<ang>"  :subid("219_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx912_tgt
     .local int rx912_pos
@@ -10978,7 +10978,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<ang>"  :subid("220_1274853038.58734") :method
+.sub "!PREFIX__circumfix:sym<ang>"  :subid("220_1274941465.17654") :method
 .annotate 'line', 4
     new $P914, "ResizablePMCArray"
     push $P914, "<"
@@ -10987,7 +10987,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub unicode:"circumfix:sym<\x{ab} \x{bb}>"  :subid("221_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub unicode:"circumfix:sym<\x{ab} \x{bb}>"  :subid("221_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx917_tgt
     .local int rx917_pos
@@ -11051,7 +11051,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub unicode:"!PREFIX__circumfix:sym<\x{ab} \x{bb}>"  :subid("222_1274853038.58734") :method
+.sub unicode:"!PREFIX__circumfix:sym<\x{ab} \x{bb}>"  :subid("222_1274941465.17654") :method
 .annotate 'line', 4
     new $P919, "ResizablePMCArray"
     push $P919, unicode:"\x{ab}"
@@ -11060,7 +11060,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<{ }>"  :subid("223_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "circumfix:sym<{ }>"  :subid("223_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx922_tgt
     .local int rx922_pos
@@ -11124,7 +11124,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<{ }>"  :subid("224_1274853038.58734") :method
+.sub "!PREFIX__circumfix:sym<{ }>"  :subid("224_1274941465.17654") :method
 .annotate 'line', 4
     new $P924, "ResizablePMCArray"
     push $P924, "{"
@@ -11133,7 +11133,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<sigil>"  :subid("225_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "circumfix:sym<sigil>"  :subid("225_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx927_tgt
     .local int rx927_pos
@@ -11223,7 +11223,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<sigil>"  :subid("226_1274853038.58734") :method
+.sub "!PREFIX__circumfix:sym<sigil>"  :subid("226_1274941465.17654") :method
 .annotate 'line', 4
     $P929 = self."!PREFIX__!subrule"("sigil", "")
     new $P930, "ResizablePMCArray"
@@ -11233,7 +11233,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "semilist"  :subid("227_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "semilist"  :subid("227_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 4
     .local string rx935_tgt
     .local int rx935_pos
@@ -11301,7 +11301,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__semilist"  :subid("228_1274853038.58734") :method
+.sub "!PREFIX__semilist"  :subid("228_1274941465.17654") :method
 .annotate 'line', 4
     new $P937, "ResizablePMCArray"
     push $P937, ""
@@ -11310,7 +11310,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infixish"  :subid("229_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "infixish"  :subid("229_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx942_tgt
     .local int rx942_pos
@@ -11372,7 +11372,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infixish"  :subid("230_1274853038.58734") :method
+.sub "!PREFIX__infixish"  :subid("230_1274941465.17654") :method
 .annotate 'line', 433
     new $P944, "ResizablePMCArray"
     push $P944, ""
@@ -11381,7 +11381,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infixstopper"  :subid("231_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "infixstopper"  :subid("231_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx947_tgt
     .local int rx947_pos
@@ -11436,7 +11436,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infixstopper"  :subid("232_1274853038.58734") :method
+.sub "!PREFIX__infixstopper"  :subid("232_1274941465.17654") :method
 .annotate 'line', 433
     new $P949, "ResizablePMCArray"
     push $P949, ""
@@ -11445,7 +11445,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<[ ]>"  :subid("233_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "postcircumfix:sym<[ ]>"  :subid("233_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx952_tgt
     .local int rx952_pos
@@ -11531,7 +11531,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<[ ]>"  :subid("234_1274853038.58734") :method
+.sub "!PREFIX__postcircumfix:sym<[ ]>"  :subid("234_1274941465.17654") :method
 .annotate 'line', 433
     $P954 = self."!PREFIX__!subrule"("", "[")
     new $P955, "ResizablePMCArray"
@@ -11541,7 +11541,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<{ }>"  :subid("235_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "postcircumfix:sym<{ }>"  :subid("235_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx958_tgt
     .local int rx958_pos
@@ -11627,7 +11627,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<{ }>"  :subid("236_1274853038.58734") :method
+.sub "!PREFIX__postcircumfix:sym<{ }>"  :subid("236_1274941465.17654") :method
 .annotate 'line', 433
     $P960 = self."!PREFIX__!subrule"("", "{")
     new $P961, "ResizablePMCArray"
@@ -11637,7 +11637,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<ang>"  :subid("237_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "postcircumfix:sym<ang>"  :subid("237_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx964_tgt
     .local int rx964_pos
@@ -11710,7 +11710,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<ang>"  :subid("238_1274853038.58734") :method
+.sub "!PREFIX__postcircumfix:sym<ang>"  :subid("238_1274941465.17654") :method
 .annotate 'line', 433
     new $P966, "ResizablePMCArray"
     push $P966, "<"
@@ -11719,7 +11719,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<( )>"  :subid("239_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "postcircumfix:sym<( )>"  :subid("239_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx969_tgt
     .local int rx969_pos
@@ -11805,7 +11805,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<( )>"  :subid("240_1274853038.58734") :method
+.sub "!PREFIX__postcircumfix:sym<( )>"  :subid("240_1274941465.17654") :method
 .annotate 'line', 433
     $P971 = self."!PREFIX__!subrule"("", "(")
     new $P972, "ResizablePMCArray"
@@ -11815,7 +11815,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postfix:sym<.>"  :subid("241_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "postfix:sym<.>"  :subid("241_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx975_tgt
     .local int rx975_pos
@@ -11880,7 +11880,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<.>"  :subid("242_1274853038.58734") :method
+.sub "!PREFIX__postfix:sym<.>"  :subid("242_1274941465.17654") :method
 .annotate 'line', 433
     $P977 = self."!PREFIX__!subrule"("dotty", "")
     new $P978, "ResizablePMCArray"
@@ -11890,7 +11890,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<++>"  :subid("243_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "prefix:sym<++>"  :subid("243_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx981_tgt
     .local int rx981_pos
@@ -11969,7 +11969,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<++>"  :subid("244_1274853038.58734") :method
+.sub "!PREFIX__prefix:sym<++>"  :subid("244_1274941465.17654") :method
 .annotate 'line', 433
     $P983 = self."!PREFIX__!subrule"("O", "++")
     new $P984, "ResizablePMCArray"
@@ -11979,7 +11979,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<-->"  :subid("245_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "prefix:sym<-->"  :subid("245_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx988_tgt
     .local int rx988_pos
@@ -12058,7 +12058,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<-->"  :subid("246_1274853038.58734") :method
+.sub "!PREFIX__prefix:sym<-->"  :subid("246_1274941465.17654") :method
 .annotate 'line', 433
     $P990 = self."!PREFIX__!subrule"("O", "--")
     new $P991, "ResizablePMCArray"
@@ -12068,7 +12068,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postfix:sym<++>"  :subid("247_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "postfix:sym<++>"  :subid("247_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx995_tgt
     .local int rx995_pos
@@ -12147,7 +12147,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<++>"  :subid("248_1274853038.58734") :method
+.sub "!PREFIX__postfix:sym<++>"  :subid("248_1274941465.17654") :method
 .annotate 'line', 433
     $P997 = self."!PREFIX__!subrule"("O", "++")
     new $P998, "ResizablePMCArray"
@@ -12157,7 +12157,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postfix:sym<-->"  :subid("249_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "postfix:sym<-->"  :subid("249_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1002_tgt
     .local int rx1002_pos
@@ -12236,7 +12236,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<-->"  :subid("250_1274853038.58734") :method
+.sub "!PREFIX__postfix:sym<-->"  :subid("250_1274941465.17654") :method
 .annotate 'line', 433
     $P1004 = self."!PREFIX__!subrule"("O", "--")
     new $P1005, "ResizablePMCArray"
@@ -12246,7 +12246,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<**>"  :subid("251_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "infix:sym<**>"  :subid("251_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1009_tgt
     .local int rx1009_pos
@@ -12325,7 +12325,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<**>"  :subid("252_1274853038.58734") :method
+.sub "!PREFIX__infix:sym<**>"  :subid("252_1274941465.17654") :method
 .annotate 'line', 433
     $P1011 = self."!PREFIX__!subrule"("O", "**")
     new $P1012, "ResizablePMCArray"
@@ -12335,7 +12335,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<+>"  :subid("253_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "prefix:sym<+>"  :subid("253_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1016_tgt
     .local int rx1016_pos
@@ -12414,7 +12414,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<+>"  :subid("254_1274853038.58734") :method
+.sub "!PREFIX__prefix:sym<+>"  :subid("254_1274941465.17654") :method
 .annotate 'line', 433
     $P1018 = self."!PREFIX__!subrule"("O", "+")
     new $P1019, "ResizablePMCArray"
@@ -12424,7 +12424,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<~>"  :subid("255_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "prefix:sym<~>"  :subid("255_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1023_tgt
     .local int rx1023_pos
@@ -12503,7 +12503,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<~>"  :subid("256_1274853038.58734") :method
+.sub "!PREFIX__prefix:sym<~>"  :subid("256_1274941465.17654") :method
 .annotate 'line', 433
     $P1025 = self."!PREFIX__!subrule"("O", "~")
     new $P1026, "ResizablePMCArray"
@@ -12513,7 +12513,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<->"  :subid("257_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "prefix:sym<->"  :subid("257_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1030_tgt
     .local int rx1030_pos
@@ -12602,7 +12602,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<->"  :subid("258_1274853038.58734") :method
+.sub "!PREFIX__prefix:sym<->"  :subid("258_1274941465.17654") :method
 .annotate 'line', 433
     new $P1032, "ResizablePMCArray"
     push $P1032, "-"
@@ -12611,7 +12611,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<?>"  :subid("259_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "prefix:sym<?>"  :subid("259_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1036_tgt
     .local int rx1036_pos
@@ -12690,7 +12690,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<?>"  :subid("260_1274853038.58734") :method
+.sub "!PREFIX__prefix:sym<?>"  :subid("260_1274941465.17654") :method
 .annotate 'line', 433
     $P1038 = self."!PREFIX__!subrule"("O", "?")
     new $P1039, "ResizablePMCArray"
@@ -12700,7 +12700,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<!>"  :subid("261_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "prefix:sym<!>"  :subid("261_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1043_tgt
     .local int rx1043_pos
@@ -12779,7 +12779,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<!>"  :subid("262_1274853038.58734") :method
+.sub "!PREFIX__prefix:sym<!>"  :subid("262_1274941465.17654") :method
 .annotate 'line', 433
     $P1045 = self."!PREFIX__!subrule"("O", "!")
     new $P1046, "ResizablePMCArray"
@@ -12789,7 +12789,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<|>"  :subid("263_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "prefix:sym<|>"  :subid("263_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1050_tgt
     .local int rx1050_pos
@@ -12868,7 +12868,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<|>"  :subid("264_1274853038.58734") :method
+.sub "!PREFIX__prefix:sym<|>"  :subid("264_1274941465.17654") :method
 .annotate 'line', 433
     $P1052 = self."!PREFIX__!subrule"("O", "|")
     new $P1053, "ResizablePMCArray"
@@ -12878,7 +12878,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<*>"  :subid("265_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "infix:sym<*>"  :subid("265_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1057_tgt
     .local int rx1057_pos
@@ -12957,7 +12957,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<*>"  :subid("266_1274853038.58734") :method
+.sub "!PREFIX__infix:sym<*>"  :subid("266_1274941465.17654") :method
 .annotate 'line', 433
     $P1059 = self."!PREFIX__!subrule"("O", "*")
     new $P1060, "ResizablePMCArray"
@@ -12967,7 +12967,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym</>"  :subid("267_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "infix:sym</>"  :subid("267_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1064_tgt
     .local int rx1064_pos
@@ -13046,7 +13046,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym</>"  :subid("268_1274853038.58734") :method
+.sub "!PREFIX__infix:sym</>"  :subid("268_1274941465.17654") :method
 .annotate 'line', 433
     $P1066 = self."!PREFIX__!subrule"("O", "/")
     new $P1067, "ResizablePMCArray"
@@ -13056,7 +13056,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<%>"  :subid("269_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "infix:sym<%>"  :subid("269_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1071_tgt
     .local int rx1071_pos
@@ -13135,7 +13135,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<%>"  :subid("270_1274853038.58734") :method
+.sub "!PREFIX__infix:sym<%>"  :subid("270_1274941465.17654") :method
 .annotate 'line', 433
     $P1073 = self."!PREFIX__!subrule"("O", "%")
     new $P1074, "ResizablePMCArray"
@@ -13145,7 +13145,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<+>"  :subid("271_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "infix:sym<+>"  :subid("271_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1078_tgt
     .local int rx1078_pos
@@ -13224,7 +13224,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<+>"  :subid("272_1274853038.58734") :method
+.sub "!PREFIX__infix:sym<+>"  :subid("272_1274941465.17654") :method
 .annotate 'line', 433
     $P1080 = self."!PREFIX__!subrule"("O", "+")
     new $P1081, "ResizablePMCArray"
@@ -13234,7 +13234,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<->"  :subid("273_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "infix:sym<->"  :subid("273_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1085_tgt
     .local int rx1085_pos
@@ -13313,7 +13313,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<->"  :subid("274_1274853038.58734") :method
+.sub "!PREFIX__infix:sym<->"  :subid("274_1274941465.17654") :method
 .annotate 'line', 433
     $P1087 = self."!PREFIX__!subrule"("O", "-")
     new $P1088, "ResizablePMCArray"
@@ -13323,7 +13323,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<~>"  :subid("275_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "infix:sym<~>"  :subid("275_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1092_tgt
     .local int rx1092_pos
@@ -13402,7 +13402,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<~>"  :subid("276_1274853038.58734") :method
+.sub "!PREFIX__infix:sym<~>"  :subid("276_1274941465.17654") :method
 .annotate 'line', 433
     $P1094 = self."!PREFIX__!subrule"("O", "~")
     new $P1095, "ResizablePMCArray"
@@ -13412,7 +13412,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<==>"  :subid("277_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "infix:sym<==>"  :subid("277_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1099_tgt
     .local int rx1099_pos
@@ -13491,7 +13491,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<==>"  :subid("278_1274853038.58734") :method
+.sub "!PREFIX__infix:sym<==>"  :subid("278_1274941465.17654") :method
 .annotate 'line', 433
     $P1101 = self."!PREFIX__!subrule"("O", "==")
     new $P1102, "ResizablePMCArray"
@@ -13501,7 +13501,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<!=>"  :subid("279_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "infix:sym<!=>"  :subid("279_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1106_tgt
     .local int rx1106_pos
@@ -13580,7 +13580,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<!=>"  :subid("280_1274853038.58734") :method
+.sub "!PREFIX__infix:sym<!=>"  :subid("280_1274941465.17654") :method
 .annotate 'line', 433
     $P1108 = self."!PREFIX__!subrule"("O", "!=")
     new $P1109, "ResizablePMCArray"
@@ -13590,7 +13590,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<<=>"  :subid("281_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "infix:sym<<=>"  :subid("281_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1113_tgt
     .local int rx1113_pos
@@ -13669,7 +13669,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<<=>"  :subid("282_1274853038.58734") :method
+.sub "!PREFIX__infix:sym<<=>"  :subid("282_1274941465.17654") :method
 .annotate 'line', 433
     $P1115 = self."!PREFIX__!subrule"("O", "<=")
     new $P1116, "ResizablePMCArray"
@@ -13679,7 +13679,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<>=>"  :subid("283_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "infix:sym<>=>"  :subid("283_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1120_tgt
     .local int rx1120_pos
@@ -13758,7 +13758,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<>=>"  :subid("284_1274853038.58734") :method
+.sub "!PREFIX__infix:sym<>=>"  :subid("284_1274941465.17654") :method
 .annotate 'line', 433
     $P1122 = self."!PREFIX__!subrule"("O", ">=")
     new $P1123, "ResizablePMCArray"
@@ -13768,7 +13768,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<<>"  :subid("285_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "infix:sym<<>"  :subid("285_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1127_tgt
     .local int rx1127_pos
@@ -13847,7 +13847,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<<>"  :subid("286_1274853038.58734") :method
+.sub "!PREFIX__infix:sym<<>"  :subid("286_1274941465.17654") :method
 .annotate 'line', 433
     $P1129 = self."!PREFIX__!subrule"("O", "<")
     new $P1130, "ResizablePMCArray"
@@ -13857,7 +13857,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<>>"  :subid("287_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "infix:sym<>>"  :subid("287_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1134_tgt
     .local int rx1134_pos
@@ -13936,7 +13936,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<>>"  :subid("288_1274853038.58734") :method
+.sub "!PREFIX__infix:sym<>>"  :subid("288_1274941465.17654") :method
 .annotate 'line', 433
     $P1136 = self."!PREFIX__!subrule"("O", ">")
     new $P1137, "ResizablePMCArray"
@@ -13946,7 +13946,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<eq>"  :subid("289_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "infix:sym<eq>"  :subid("289_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1141_tgt
     .local int rx1141_pos
@@ -14025,7 +14025,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<eq>"  :subid("290_1274853038.58734") :method
+.sub "!PREFIX__infix:sym<eq>"  :subid("290_1274941465.17654") :method
 .annotate 'line', 433
     $P1143 = self."!PREFIX__!subrule"("O", "eq")
     new $P1144, "ResizablePMCArray"
@@ -14035,7 +14035,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<ne>"  :subid("291_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "infix:sym<ne>"  :subid("291_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1148_tgt
     .local int rx1148_pos
@@ -14114,7 +14114,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<ne>"  :subid("292_1274853038.58734") :method
+.sub "!PREFIX__infix:sym<ne>"  :subid("292_1274941465.17654") :method
 .annotate 'line', 433
     $P1150 = self."!PREFIX__!subrule"("O", "ne")
     new $P1151, "ResizablePMCArray"
@@ -14124,7 +14124,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<le>"  :subid("293_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "infix:sym<le>"  :subid("293_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1155_tgt
     .local int rx1155_pos
@@ -14203,7 +14203,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<le>"  :subid("294_1274853038.58734") :method
+.sub "!PREFIX__infix:sym<le>"  :subid("294_1274941465.17654") :method
 .annotate 'line', 433
     $P1157 = self."!PREFIX__!subrule"("O", "le")
     new $P1158, "ResizablePMCArray"
@@ -14213,7 +14213,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<ge>"  :subid("295_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "infix:sym<ge>"  :subid("295_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1162_tgt
     .local int rx1162_pos
@@ -14292,7 +14292,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<ge>"  :subid("296_1274853038.58734") :method
+.sub "!PREFIX__infix:sym<ge>"  :subid("296_1274941465.17654") :method
 .annotate 'line', 433
     $P1164 = self."!PREFIX__!subrule"("O", "ge")
     new $P1165, "ResizablePMCArray"
@@ -14302,7 +14302,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<lt>"  :subid("297_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "infix:sym<lt>"  :subid("297_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1169_tgt
     .local int rx1169_pos
@@ -14381,7 +14381,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<lt>"  :subid("298_1274853038.58734") :method
+.sub "!PREFIX__infix:sym<lt>"  :subid("298_1274941465.17654") :method
 .annotate 'line', 433
     $P1171 = self."!PREFIX__!subrule"("O", "lt")
     new $P1172, "ResizablePMCArray"
@@ -14391,7 +14391,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<gt>"  :subid("299_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "infix:sym<gt>"  :subid("299_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1176_tgt
     .local int rx1176_pos
@@ -14470,7 +14470,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<gt>"  :subid("300_1274853038.58734") :method
+.sub "!PREFIX__infix:sym<gt>"  :subid("300_1274941465.17654") :method
 .annotate 'line', 433
     $P1178 = self."!PREFIX__!subrule"("O", "gt")
     new $P1179, "ResizablePMCArray"
@@ -14480,7 +14480,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<=:=>"  :subid("301_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "infix:sym<=:=>"  :subid("301_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1183_tgt
     .local int rx1183_pos
@@ -14559,7 +14559,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<=:=>"  :subid("302_1274853038.58734") :method
+.sub "!PREFIX__infix:sym<=:=>"  :subid("302_1274941465.17654") :method
 .annotate 'line', 433
     $P1185 = self."!PREFIX__!subrule"("O", "=:=")
     new $P1186, "ResizablePMCArray"
@@ -14569,7 +14569,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<~~>"  :subid("303_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "infix:sym<~~>"  :subid("303_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1190_tgt
     .local int rx1190_pos
@@ -14648,7 +14648,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<~~>"  :subid("304_1274853038.58734") :method
+.sub "!PREFIX__infix:sym<~~>"  :subid("304_1274941465.17654") :method
 .annotate 'line', 433
     $P1192 = self."!PREFIX__!subrule"("O", "~~")
     new $P1193, "ResizablePMCArray"
@@ -14658,7 +14658,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<&&>"  :subid("305_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "infix:sym<&&>"  :subid("305_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1197_tgt
     .local int rx1197_pos
@@ -14737,7 +14737,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<&&>"  :subid("306_1274853038.58734") :method
+.sub "!PREFIX__infix:sym<&&>"  :subid("306_1274941465.17654") :method
 .annotate 'line', 433
     $P1199 = self."!PREFIX__!subrule"("O", "&&")
     new $P1200, "ResizablePMCArray"
@@ -14747,7 +14747,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<||>"  :subid("307_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "infix:sym<||>"  :subid("307_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1204_tgt
     .local int rx1204_pos
@@ -14826,7 +14826,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<||>"  :subid("308_1274853038.58734") :method
+.sub "!PREFIX__infix:sym<||>"  :subid("308_1274941465.17654") :method
 .annotate 'line', 433
     $P1206 = self."!PREFIX__!subrule"("O", "||")
     new $P1207, "ResizablePMCArray"
@@ -14836,7 +14836,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<//>"  :subid("309_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "infix:sym<//>"  :subid("309_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1211_tgt
     .local int rx1211_pos
@@ -14915,7 +14915,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<//>"  :subid("310_1274853038.58734") :method
+.sub "!PREFIX__infix:sym<//>"  :subid("310_1274941465.17654") :method
 .annotate 'line', 433
     $P1213 = self."!PREFIX__!subrule"("O", "//")
     new $P1214, "ResizablePMCArray"
@@ -14925,7 +14925,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<?? !!>"  :subid("311_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "infix:sym<?? !!>"  :subid("311_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1218_tgt
     .local int rx1218_pos
@@ -15014,7 +15014,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<?? !!>"  :subid("312_1274853038.58734") :method
+.sub "!PREFIX__infix:sym<?? !!>"  :subid("312_1274941465.17654") :method
 .annotate 'line', 433
     $P1220 = self."!PREFIX__!subrule"("", "??")
     new $P1221, "ResizablePMCArray"
@@ -15024,7 +15024,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<=>"  :subid("313_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "infix:sym<=>"  :subid("313_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1224_tgt
     .local int rx1224_pos
@@ -15102,7 +15102,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<=>"  :subid("314_1274853038.58734") :method
+.sub "!PREFIX__infix:sym<=>"  :subid("314_1274941465.17654") :method
 .annotate 'line', 433
     $P1226 = self."!PREFIX__!subrule"("", "=")
     new $P1227, "ResizablePMCArray"
@@ -15112,7 +15112,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<:=>"  :subid("315_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "infix:sym<:=>"  :subid("315_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1231_tgt
     .local int rx1231_pos
@@ -15191,7 +15191,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<:=>"  :subid("316_1274853038.58734") :method
+.sub "!PREFIX__infix:sym<:=>"  :subid("316_1274941465.17654") :method
 .annotate 'line', 433
     $P1233 = self."!PREFIX__!subrule"("O", ":=")
     new $P1234, "ResizablePMCArray"
@@ -15201,7 +15201,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<::=>"  :subid("317_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "infix:sym<::=>"  :subid("317_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1238_tgt
     .local int rx1238_pos
@@ -15280,7 +15280,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<::=>"  :subid("318_1274853038.58734") :method
+.sub "!PREFIX__infix:sym<::=>"  :subid("318_1274941465.17654") :method
 .annotate 'line', 433
     $P1240 = self."!PREFIX__!subrule"("O", "::=")
     new $P1241, "ResizablePMCArray"
@@ -15290,7 +15290,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<,>"  :subid("319_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "infix:sym<,>"  :subid("319_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1245_tgt
     .local int rx1245_pos
@@ -15369,7 +15369,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<,>"  :subid("320_1274853038.58734") :method
+.sub "!PREFIX__infix:sym<,>"  :subid("320_1274941465.17654") :method
 .annotate 'line', 433
     $P1247 = self."!PREFIX__!subrule"("O", ",")
     new $P1248, "ResizablePMCArray"
@@ -15379,7 +15379,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<return>"  :subid("321_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "prefix:sym<return>"  :subid("321_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1252_tgt
     .local int rx1252_pos
@@ -15464,7 +15464,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<return>"  :subid("322_1274853038.58734") :method
+.sub "!PREFIX__prefix:sym<return>"  :subid("322_1274941465.17654") :method
 .annotate 'line', 433
     new $P1254, "ResizablePMCArray"
     push $P1254, "return"
@@ -15473,7 +15473,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<make>"  :subid("323_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "prefix:sym<make>"  :subid("323_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1258_tgt
     .local int rx1258_pos
@@ -15558,7 +15558,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<make>"  :subid("324_1274853038.58734") :method
+.sub "!PREFIX__prefix:sym<make>"  :subid("324_1274941465.17654") :method
 .annotate 'line', 433
     new $P1260, "ResizablePMCArray"
     push $P1260, "make"
@@ -15567,7 +15567,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<last>"  :subid("325_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "term:sym<last>"  :subid("325_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1264_tgt
     .local int rx1264_pos
@@ -15639,7 +15639,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<last>"  :subid("326_1274853038.58734") :method
+.sub "!PREFIX__term:sym<last>"  :subid("326_1274941465.17654") :method
 .annotate 'line', 433
     new $P1266, "ResizablePMCArray"
     push $P1266, "last"
@@ -15648,7 +15648,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<next>"  :subid("327_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "term:sym<next>"  :subid("327_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1270_tgt
     .local int rx1270_pos
@@ -15720,7 +15720,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<next>"  :subid("328_1274853038.58734") :method
+.sub "!PREFIX__term:sym<next>"  :subid("328_1274941465.17654") :method
 .annotate 'line', 433
     new $P1272, "ResizablePMCArray"
     push $P1272, "next"
@@ -15729,7 +15729,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<redo>"  :subid("329_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "term:sym<redo>"  :subid("329_1274941465.17654") :method :outer("11_1274941465.17654")
 .annotate 'line', 433
     .local string rx1276_tgt
     .local int rx1276_pos
@@ -15801,7 +15801,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<redo>"  :subid("330_1274853038.58734") :method
+.sub "!PREFIX__term:sym<redo>"  :subid("330_1274941465.17654") :method
 .annotate 'line', 433
     new $P1278, "ResizablePMCArray"
     push $P1278, "redo"
@@ -15810,7 +15810,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "smartmatch"  :subid("331_1274853038.58734") :method :outer("11_1274853038.58734")
+.sub "smartmatch"  :subid("331_1274941465.17654") :method :outer("11_1274941465.17654")
     .param pmc param_1284
 .annotate 'line', 544
     new $P1283, 'ExceptionHandler'
@@ -15863,34 +15863,34 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "_block1294"  :subid("332_1274853038.58734") :outer("11_1274853038.58734")
+.sub "_block1294"  :subid("332_1274941465.17654") :outer("11_1274941465.17654")
 .annotate 'line', 550
-    .const 'Sub' $P1352 = "351_1274853038.58734" 
+    .const 'Sub' $P1352 = "351_1274941465.17654" 
     capture_lex $P1352
-    .const 'Sub' $P1347 = "349_1274853038.58734" 
+    .const 'Sub' $P1347 = "349_1274941465.17654" 
     capture_lex $P1347
-    .const 'Sub' $P1334 = "346_1274853038.58734" 
+    .const 'Sub' $P1334 = "346_1274941465.17654" 
     capture_lex $P1334
-    .const 'Sub' $P1324 = "343_1274853038.58734" 
+    .const 'Sub' $P1324 = "343_1274941465.17654" 
     capture_lex $P1324
-    .const 'Sub' $P1319 = "341_1274853038.58734" 
+    .const 'Sub' $P1319 = "341_1274941465.17654" 
     capture_lex $P1319
-    .const 'Sub' $P1310 = "338_1274853038.58734" 
+    .const 'Sub' $P1310 = "338_1274941465.17654" 
     capture_lex $P1310
-    .const 'Sub' $P1305 = "336_1274853038.58734" 
+    .const 'Sub' $P1305 = "336_1274941465.17654" 
     capture_lex $P1305
-    .const 'Sub' $P1296 = "333_1274853038.58734" 
+    .const 'Sub' $P1296 = "333_1274941465.17654" 
     capture_lex $P1296
-    .const 'Sub' $P1352 = "351_1274853038.58734" 
+    .const 'Sub' $P1352 = "351_1274941465.17654" 
     capture_lex $P1352
     .return ($P1352)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "metachar:sym<:my>"  :subid("333_1274853038.58734") :method :outer("332_1274853038.58734")
+.sub "metachar:sym<:my>"  :subid("333_1274941465.17654") :method :outer("332_1274941465.17654")
 .annotate 'line', 550
-    .const 'Sub' $P1302 = "335_1274853038.58734" 
+    .const 'Sub' $P1302 = "335_1274941465.17654" 
     capture_lex $P1302
     .local string rx1297_tgt
     .local int rx1297_pos
@@ -15931,7 +15931,7 @@
     add rx1297_pos, 1
   # rx subrule "before" subtype=zerowidth negate=
     rx1297_cur."!cursor_pos"(rx1297_pos)
-    .const 'Sub' $P1302 = "335_1274853038.58734" 
+    .const 'Sub' $P1302 = "335_1274941465.17654" 
     capture_lex $P1302
     $P10 = rx1297_cur."before"($P1302)
     unless $P10, rx1297_fail
@@ -15974,7 +15974,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__metachar:sym<:my>"  :subid("334_1274853038.58734") :method
+.sub "!PREFIX__metachar:sym<:my>"  :subid("334_1274941465.17654") :method
 .annotate 'line', 550
     new $P1299, "ResizablePMCArray"
     push $P1299, ":"
@@ -15983,7 +15983,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "_block1301"  :anon :subid("335_1274853038.58734") :method :outer("333_1274853038.58734")
+.sub "_block1301"  :anon :subid("335_1274941465.17654") :method :outer("333_1274941465.17654")
 .annotate 'line', 552
     .local string rx1303_tgt
     .local int rx1303_pos
@@ -16039,7 +16039,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "metachar:sym<{ }>"  :subid("336_1274853038.58734") :method :outer("332_1274853038.58734")
+.sub "metachar:sym<{ }>"  :subid("336_1274941465.17654") :method :outer("332_1274941465.17654")
 .annotate 'line', 550
     .local string rx1306_tgt
     .local int rx1306_pos
@@ -16104,7 +16104,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__metachar:sym<{ }>"  :subid("337_1274853038.58734") :method
+.sub "!PREFIX__metachar:sym<{ }>"  :subid("337_1274941465.17654") :method
 .annotate 'line', 550
     new $P1308, "ResizablePMCArray"
     push $P1308, "{"
@@ -16113,9 +16113,9 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "metachar:sym<nqpvar>"  :subid("338_1274853038.58734") :method :outer("332_1274853038.58734")
+.sub "metachar:sym<nqpvar>"  :subid("338_1274941465.17654") :method :outer("332_1274941465.17654")
 .annotate 'line', 550
-    .const 'Sub' $P1316 = "340_1274853038.58734" 
+    .const 'Sub' $P1316 = "340_1274941465.17654" 
     capture_lex $P1316
     .local string rx1311_tgt
     .local int rx1311_pos
@@ -16155,7 +16155,7 @@
     lt $I11, 0, rx1311_fail
   # rx subrule "before" subtype=zerowidth negate=
     rx1311_cur."!cursor_pos"(rx1311_pos)
-    .const 'Sub' $P1316 = "340_1274853038.58734" 
+    .const 'Sub' $P1316 = "340_1274941465.17654" 
     capture_lex $P1316
     $P10 = rx1311_cur."before"($P1316)
     unless $P10, rx1311_fail
@@ -16186,7 +16186,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__metachar:sym<nqpvar>"  :subid("339_1274853038.58734") :method
+.sub "!PREFIX__metachar:sym<nqpvar>"  :subid("339_1274941465.17654") :method
 .annotate 'line', 550
     new $P1313, "ResizablePMCArray"
     push $P1313, "$"
@@ -16196,7 +16196,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "_block1315"  :anon :subid("340_1274853038.58734") :method :outer("338_1274853038.58734")
+.sub "_block1315"  :anon :subid("340_1274941465.17654") :method :outer("338_1274941465.17654")
 .annotate 'line', 560
     .local string rx1317_tgt
     .local int rx1317_pos
@@ -16254,7 +16254,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "assertion:sym<{ }>"  :subid("341_1274853038.58734") :method :outer("332_1274853038.58734")
+.sub "assertion:sym<{ }>"  :subid("341_1274941465.17654") :method :outer("332_1274941465.17654")
 .annotate 'line', 550
     .local string rx1320_tgt
     .local int rx1320_pos
@@ -16319,7 +16319,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<{ }>"  :subid("342_1274853038.58734") :method
+.sub "!PREFIX__assertion:sym<{ }>"  :subid("342_1274941465.17654") :method
 .annotate 'line', 550
     new $P1322, "ResizablePMCArray"
     push $P1322, "{"
@@ -16328,9 +16328,9 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "assertion:sym<?{ }>"  :subid("343_1274853038.58734") :method :outer("332_1274853038.58734")
+.sub "assertion:sym<?{ }>"  :subid("343_1274941465.17654") :method :outer("332_1274941465.17654")
 .annotate 'line', 550
-    .const 'Sub' $P1330 = "345_1274853038.58734" 
+    .const 'Sub' $P1330 = "345_1274941465.17654" 
     capture_lex $P1330
     .local string rx1325_tgt
     .local int rx1325_pos
@@ -16374,7 +16374,7 @@
     inc rx1325_pos
   # rx subrule "before" subtype=zerowidth negate=
     rx1325_cur."!cursor_pos"(rx1325_pos)
-    .const 'Sub' $P1330 = "345_1274853038.58734" 
+    .const 'Sub' $P1330 = "345_1274941465.17654" 
     capture_lex $P1330
     $P10 = rx1325_cur."before"($P1330)
     unless $P10, rx1325_fail
@@ -16416,7 +16416,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<?{ }>"  :subid("344_1274853038.58734") :method
+.sub "!PREFIX__assertion:sym<?{ }>"  :subid("344_1274941465.17654") :method
 .annotate 'line', 550
     new $P1327, "ResizablePMCArray"
     push $P1327, "!"
@@ -16426,7 +16426,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "_block1329"  :anon :subid("345_1274853038.58734") :method :outer("343_1274853038.58734")
+.sub "_block1329"  :anon :subid("345_1274941465.17654") :method :outer("343_1274941465.17654")
 .annotate 'line', 568
     .local string rx1331_tgt
     .local int rx1331_pos
@@ -16482,9 +16482,9 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "assertion:sym<name>"  :subid("346_1274853038.58734") :method :outer("332_1274853038.58734")
+.sub "assertion:sym<name>"  :subid("346_1274941465.17654") :method :outer("332_1274941465.17654")
 .annotate 'line', 550
-    .const 'Sub' $P1343 = "348_1274853038.58734" 
+    .const 'Sub' $P1343 = "348_1274941465.17654" 
     capture_lex $P1343
     .local string rx1335_tgt
     .local int rx1335_pos
@@ -16549,7 +16549,7 @@
 .annotate 'line', 574
   # rx subrule "before" subtype=zerowidth negate=
     rx1335_cur."!cursor_pos"(rx1335_pos)
-    .const 'Sub' $P1343 = "348_1274853038.58734" 
+    .const 'Sub' $P1343 = "348_1274941465.17654" 
     capture_lex $P1343
     $P10 = rx1335_cur."before"($P1343)
     unless $P10, rx1335_fail
@@ -16656,7 +16656,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<name>"  :subid("347_1274853038.58734") :method
+.sub "!PREFIX__assertion:sym<name>"  :subid("347_1274941465.17654") :method
 .annotate 'line', 550
     new $P1337, "ResizablePMCArray"
     push $P1337, ""
@@ -16665,7 +16665,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "_block1342"  :anon :subid("348_1274853038.58734") :method :outer("346_1274853038.58734")
+.sub "_block1342"  :anon :subid("348_1274941465.17654") :method :outer("346_1274941465.17654")
 .annotate 'line', 574
     .local string rx1344_tgt
     .local int rx1344_pos
@@ -16721,7 +16721,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "assertion:sym<var>"  :subid("349_1274853038.58734") :method :outer("332_1274853038.58734")
+.sub "assertion:sym<var>"  :subid("349_1274941465.17654") :method :outer("332_1274941465.17654")
 .annotate 'line', 550
     .local string rx1348_tgt
     .local int rx1348_pos
@@ -16786,7 +16786,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<var>"  :subid("350_1274853038.58734") :method
+.sub "!PREFIX__assertion:sym<var>"  :subid("350_1274941465.17654") :method
 .annotate 'line', 550
     new $P1350, "ResizablePMCArray"
     push $P1350, "$"
@@ -16796,7 +16796,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "codeblock"  :subid("351_1274853038.58734") :method :outer("332_1274853038.58734")
+.sub "codeblock"  :subid("351_1274941465.17654") :method :outer("332_1274941465.17654")
 .annotate 'line', 550
     .local string rx1353_tgt
     .local int rx1353_pos
@@ -16855,7 +16855,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__codeblock"  :subid("352_1274853038.58734") :method
+.sub "!PREFIX__codeblock"  :subid("352_1274941465.17654") :method
 .annotate 'line', 550
     $P1355 = self."!PREFIX__!subrule"("block", "")
     new $P1356, "ResizablePMCArray"
@@ -16865,18 +16865,18 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block1359" :load :anon :subid("353_1274853038.58734")
+.sub "_block1359" :load :anon :subid("353_1274941465.17654")
 .annotate 'line', 4
-    .const 'Sub' $P1361 = "11_1274853038.58734" 
+    .const 'Sub' $P1361 = "11_1274941465.17654" 
     $P1362 = $P1361()
     .return ($P1362)
 .end
 
 
 .namespace []
-.sub "_block1380" :load :anon :subid("354_1274853038.58734")
+.sub "_block1380" :load :anon :subid("354_1274941465.17654")
 .annotate 'line', 1
-    .const 'Sub' $P1382 = "10_1274853038.58734" 
+    .const 'Sub' $P1382 = "10_1274941465.17654" 
     $P1383 = $P1382()
     .return ($P1383)
 .end
@@ -16884,7 +16884,7 @@
 ### .include 'gen/nqp-actions.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1274853047.92727")
+.sub "_block11"  :anon :subid("10_1274941486.75974")
 .annotate 'line', 0
     get_hll_global $P14, ["NQP";"Actions"], "_block13" 
     capture_lex $P14
@@ -16901,15 +16901,15 @@
     $P2323 = $P14()
 .annotate 'line', 1
     .return ($P2323)
-    .const 'Sub' $P2325 = "137_1274853047.92727" 
+    .const 'Sub' $P2325 = "137_1274941486.75974" 
     .return ($P2325)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post138") :outer("10_1274853047.92727")
+.sub "" :load :init :subid("post138") :outer("10_1274941486.75974")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1274853047.92727" 
+    .const 'Sub' $P12 = "10_1274941486.75974" 
     .local pmc block
     set block, $P12
     $P2328 = get_root_global ["parrot"], "P6metaclass"
@@ -16918,213 +16918,213 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block13"  :subid("11_1274853047.92727") :outer("10_1274853047.92727")
+.sub "_block13"  :subid("11_1274941486.75974") :outer("10_1274941486.75974")
 .annotate 'line', 3
-    .const 'Sub' $P2319 = "136_1274853047.92727" 
+    .const 'Sub' $P2319 = "136_1274941486.75974" 
     capture_lex $P2319
     get_hll_global $P2203, ["NQP";"RegexActions"], "_block2202" 
     capture_lex $P2203
-    .const 'Sub' $P2192 = "126_1274853047.92727" 
+    .const 'Sub' $P2192 = "126_1274941486.75974" 
     capture_lex $P2192
-    .const 'Sub' $P2185 = "125_1274853047.92727" 
+    .const 'Sub' $P2185 = "125_1274941486.75974" 
     capture_lex $P2185
-    .const 'Sub' $P2178 = "124_1274853047.92727" 
+    .const 'Sub' $P2178 = "124_1274941486.75974" 
     capture_lex $P2178
-    .const 'Sub' $P2171 = "123_1274853047.92727" 
+    .const 'Sub' $P2171 = "123_1274941486.75974" 
     capture_lex $P2171
-    .const 'Sub' $P2158 = "122_1274853047.92727" 
+    .const 'Sub' $P2158 = "122_1274941486.75974" 
     capture_lex $P2158
-    .const 'Sub' $P2148 = "121_1274853047.92727" 
+    .const 'Sub' $P2148 = "121_1274941486.75974" 
     capture_lex $P2148
-    .const 'Sub' $P2138 = "120_1274853047.92727" 
+    .const 'Sub' $P2138 = "120_1274941486.75974" 
     capture_lex $P2138
-    .const 'Sub' $P2128 = "119_1274853047.92727" 
+    .const 'Sub' $P2128 = "119_1274941486.75974" 
     capture_lex $P2128
-    .const 'Sub' $P2121 = "118_1274853047.92727" 
+    .const 'Sub' $P2121 = "118_1274941486.75974" 
     capture_lex $P2121
-    .const 'Sub' $P2107 = "117_1274853047.92727" 
+    .const 'Sub' $P2107 = "117_1274941486.75974" 
     capture_lex $P2107
-    .const 'Sub' $P2097 = "116_1274853047.92727" 
+    .const 'Sub' $P2097 = "116_1274941486.75974" 
     capture_lex $P2097
-    .const 'Sub' $P2060 = "115_1274853047.92727" 
+    .const 'Sub' $P2060 = "115_1274941486.75974" 
     capture_lex $P2060
-    .const 'Sub' $P2046 = "114_1274853047.92727" 
+    .const 'Sub' $P2046 = "114_1274941486.75974" 
     capture_lex $P2046
-    .const 'Sub' $P2036 = "113_1274853047.92727" 
+    .const 'Sub' $P2036 = "113_1274941486.75974" 
     capture_lex $P2036
-    .const 'Sub' $P2026 = "112_1274853047.92727" 
+    .const 'Sub' $P2026 = "112_1274941486.75974" 
     capture_lex $P2026
-    .const 'Sub' $P2016 = "111_1274853047.92727" 
+    .const 'Sub' $P2016 = "111_1274941486.75974" 
     capture_lex $P2016
-    .const 'Sub' $P2006 = "110_1274853047.92727" 
+    .const 'Sub' $P2006 = "110_1274941486.75974" 
     capture_lex $P2006
-    .const 'Sub' $P1996 = "109_1274853047.92727" 
+    .const 'Sub' $P1996 = "109_1274941486.75974" 
     capture_lex $P1996
-    .const 'Sub' $P1968 = "108_1274853047.92727" 
+    .const 'Sub' $P1968 = "108_1274941486.75974" 
     capture_lex $P1968
-    .const 'Sub' $P1951 = "107_1274853047.92727" 
+    .const 'Sub' $P1951 = "107_1274941486.75974" 
     capture_lex $P1951
-    .const 'Sub' $P1941 = "106_1274853047.92727" 
+    .const 'Sub' $P1941 = "106_1274941486.75974" 
     capture_lex $P1941
-    .const 'Sub' $P1928 = "105_1274853047.92727" 
+    .const 'Sub' $P1928 = "105_1274941486.75974" 
     capture_lex $P1928
-    .const 'Sub' $P1915 = "104_1274853047.92727" 
+    .const 'Sub' $P1915 = "104_1274941486.75974" 
     capture_lex $P1915
-    .const 'Sub' $P1902 = "103_1274853047.92727" 
+    .const 'Sub' $P1902 = "103_1274941486.75974" 
     capture_lex $P1902
-    .const 'Sub' $P1892 = "102_1274853047.92727" 
+    .const 'Sub' $P1892 = "102_1274941486.75974" 
     capture_lex $P1892
-    .const 'Sub' $P1863 = "101_1274853047.92727" 
+    .const 'Sub' $P1863 = "101_1274941486.75974" 
     capture_lex $P1863
-    .const 'Sub' $P1839 = "100_1274853047.92727" 
+    .const 'Sub' $P1839 = "100_1274941486.75974" 
     capture_lex $P1839
-    .const 'Sub' $P1829 = "99_1274853047.92727" 
+    .const 'Sub' $P1829 = "99_1274941486.75974" 
     capture_lex $P1829
-    .const 'Sub' $P1819 = "98_1274853047.92727" 
+    .const 'Sub' $P1819 = "98_1274941486.75974" 
     capture_lex $P1819
-    .const 'Sub' $P1792 = "97_1274853047.92727" 
+    .const 'Sub' $P1792 = "97_1274941486.75974" 
     capture_lex $P1792
-    .const 'Sub' $P1774 = "96_1274853047.92727" 
+    .const 'Sub' $P1774 = "96_1274941486.75974" 
     capture_lex $P1774
-    .const 'Sub' $P1764 = "95_1274853047.92727" 
+    .const 'Sub' $P1764 = "95_1274941486.75974" 
     capture_lex $P1764
-    .const 'Sub' $P1660 = "92_1274853047.92727" 
+    .const 'Sub' $P1660 = "92_1274941486.75974" 
     capture_lex $P1660
-    .const 'Sub' $P1650 = "91_1274853047.92727" 
+    .const 'Sub' $P1650 = "91_1274941486.75974" 
     capture_lex $P1650
-    .const 'Sub' $P1621 = "90_1274853047.92727" 
+    .const 'Sub' $P1621 = "90_1274941486.75974" 
     capture_lex $P1621
-    .const 'Sub' $P1579 = "89_1274853047.92727" 
+    .const 'Sub' $P1579 = "89_1274941486.75974" 
     capture_lex $P1579
-    .const 'Sub' $P1563 = "88_1274853047.92727" 
+    .const 'Sub' $P1563 = "88_1274941486.75974" 
     capture_lex $P1563
-    .const 'Sub' $P1554 = "87_1274853047.92727" 
+    .const 'Sub' $P1554 = "87_1274941486.75974" 
     capture_lex $P1554
-    .const 'Sub' $P1522 = "86_1274853047.92727" 
+    .const 'Sub' $P1522 = "86_1274941486.75974" 
     capture_lex $P1522
-    .const 'Sub' $P1423 = "83_1274853047.92727" 
+    .const 'Sub' $P1423 = "83_1274941486.75974" 
     capture_lex $P1423
-    .const 'Sub' $P1406 = "82_1274853047.92727" 
+    .const 'Sub' $P1406 = "82_1274941486.75974" 
     capture_lex $P1406
-    .const 'Sub' $P1386 = "81_1274853047.92727" 
+    .const 'Sub' $P1386 = "81_1274941486.75974" 
     capture_lex $P1386
-    .const 'Sub' $P1302 = "80_1274853047.92727" 
+    .const 'Sub' $P1302 = "80_1274941486.75974" 
     capture_lex $P1302
-    .const 'Sub' $P1278 = "78_1274853047.92727" 
+    .const 'Sub' $P1278 = "78_1274941486.75974" 
     capture_lex $P1278
-    .const 'Sub' $P1244 = "76_1274853047.92727" 
+    .const 'Sub' $P1244 = "76_1274941486.75974" 
     capture_lex $P1244
-    .const 'Sub' $P1194 = "74_1274853047.92727" 
+    .const 'Sub' $P1194 = "74_1274941486.75974" 
     capture_lex $P1194
-    .const 'Sub' $P1184 = "73_1274853047.92727" 
+    .const 'Sub' $P1184 = "73_1274941486.75974" 
     capture_lex $P1184
-    .const 'Sub' $P1174 = "72_1274853047.92727" 
+    .const 'Sub' $P1174 = "72_1274941486.75974" 
     capture_lex $P1174
-    .const 'Sub' $P1103 = "70_1274853047.92727" 
+    .const 'Sub' $P1103 = "70_1274941486.75974" 
     capture_lex $P1103
-    .const 'Sub' $P1086 = "69_1274853047.92727" 
+    .const 'Sub' $P1086 = "69_1274941486.75974" 
     capture_lex $P1086
-    .const 'Sub' $P1076 = "68_1274853047.92727" 
+    .const 'Sub' $P1076 = "68_1274941486.75974" 
     capture_lex $P1076
-    .const 'Sub' $P1066 = "67_1274853047.92727" 
+    .const 'Sub' $P1066 = "67_1274941486.75974" 
     capture_lex $P1066
-    .const 'Sub' $P1056 = "66_1274853047.92727" 
+    .const 'Sub' $P1056 = "66_1274941486.75974" 
     capture_lex $P1056
-    .const 'Sub' $P1046 = "65_1274853047.92727" 
+    .const 'Sub' $P1046 = "65_1274941486.75974" 
     capture_lex $P1046
-    .const 'Sub' $P1022 = "64_1274853047.92727" 
+    .const 'Sub' $P1022 = "64_1274941486.75974" 
     capture_lex $P1022
-    .const 'Sub' $P969 = "63_1274853047.92727" 
+    .const 'Sub' $P969 = "63_1274941486.75974" 
     capture_lex $P969
-    .const 'Sub' $P959 = "62_1274853047.92727" 
+    .const 'Sub' $P959 = "62_1274941486.75974" 
     capture_lex $P959
-    .const 'Sub' $P870 = "60_1274853047.92727" 
+    .const 'Sub' $P870 = "60_1274941486.75974" 
     capture_lex $P870
-    .const 'Sub' $P844 = "59_1274853047.92727" 
+    .const 'Sub' $P844 = "59_1274941486.75974" 
     capture_lex $P844
-    .const 'Sub' $P828 = "58_1274853047.92727" 
+    .const 'Sub' $P828 = "58_1274941486.75974" 
     capture_lex $P828
-    .const 'Sub' $P818 = "57_1274853047.92727" 
+    .const 'Sub' $P818 = "57_1274941486.75974" 
     capture_lex $P818
-    .const 'Sub' $P808 = "56_1274853047.92727" 
+    .const 'Sub' $P808 = "56_1274941486.75974" 
     capture_lex $P808
-    .const 'Sub' $P798 = "55_1274853047.92727" 
+    .const 'Sub' $P798 = "55_1274941486.75974" 
     capture_lex $P798
-    .const 'Sub' $P788 = "54_1274853047.92727" 
+    .const 'Sub' $P788 = "54_1274941486.75974" 
     capture_lex $P788
-    .const 'Sub' $P778 = "53_1274853047.92727" 
+    .const 'Sub' $P778 = "53_1274941486.75974" 
     capture_lex $P778
-    .const 'Sub' $P768 = "52_1274853047.92727" 
+    .const 'Sub' $P768 = "52_1274941486.75974" 
     capture_lex $P768
-    .const 'Sub' $P758 = "51_1274853047.92727" 
+    .const 'Sub' $P758 = "51_1274941486.75974" 
     capture_lex $P758
-    .const 'Sub' $P748 = "50_1274853047.92727" 
+    .const 'Sub' $P748 = "50_1274941486.75974" 
     capture_lex $P748
-    .const 'Sub' $P738 = "49_1274853047.92727" 
+    .const 'Sub' $P738 = "49_1274941486.75974" 
     capture_lex $P738
-    .const 'Sub' $P728 = "48_1274853047.92727" 
+    .const 'Sub' $P728 = "48_1274941486.75974" 
     capture_lex $P728
-    .const 'Sub' $P718 = "47_1274853047.92727" 
+    .const 'Sub' $P718 = "47_1274941486.75974" 
     capture_lex $P718
-    .const 'Sub' $P708 = "46_1274853047.92727" 
+    .const 'Sub' $P708 = "46_1274941486.75974" 
     capture_lex $P708
-    .const 'Sub' $P698 = "45_1274853047.92727" 
+    .const 'Sub' $P698 = "45_1274941486.75974" 
     capture_lex $P698
-    .const 'Sub' $P680 = "44_1274853047.92727" 
+    .const 'Sub' $P680 = "44_1274941486.75974" 
     capture_lex $P680
-    .const 'Sub' $P645 = "43_1274853047.92727" 
+    .const 'Sub' $P645 = "43_1274941486.75974" 
     capture_lex $P645
-    .const 'Sub' $P629 = "42_1274853047.92727" 
+    .const 'Sub' $P629 = "42_1274941486.75974" 
     capture_lex $P629
-    .const 'Sub' $P608 = "41_1274853047.92727" 
+    .const 'Sub' $P608 = "41_1274941486.75974" 
     capture_lex $P608
-    .const 'Sub' $P588 = "40_1274853047.92727" 
+    .const 'Sub' $P588 = "40_1274941486.75974" 
     capture_lex $P588
-    .const 'Sub' $P575 = "39_1274853047.92727" 
+    .const 'Sub' $P575 = "39_1274941486.75974" 
     capture_lex $P575
-    .const 'Sub' $P549 = "38_1274853047.92727" 
+    .const 'Sub' $P549 = "38_1274941486.75974" 
     capture_lex $P549
-    .const 'Sub' $P513 = "37_1274853047.92727" 
+    .const 'Sub' $P513 = "37_1274941486.75974" 
     capture_lex $P513
-    .const 'Sub' $P496 = "36_1274853047.92727" 
+    .const 'Sub' $P496 = "36_1274941486.75974" 
     capture_lex $P496
-    .const 'Sub' $P482 = "35_1274853047.92727" 
+    .const 'Sub' $P482 = "35_1274941486.75974" 
     capture_lex $P482
-    .const 'Sub' $P429 = "33_1274853047.92727" 
+    .const 'Sub' $P429 = "33_1274941486.75974" 
     capture_lex $P429
-    .const 'Sub' $P418 = "32_1274853047.92727" 
+    .const 'Sub' $P418 = "32_1274941486.75974" 
     capture_lex $P418
-    .const 'Sub' $P405 = "31_1274853047.92727" 
+    .const 'Sub' $P405 = "31_1274941486.75974" 
     capture_lex $P405
-    .const 'Sub' $P385 = "30_1274853047.92727" 
+    .const 'Sub' $P385 = "30_1274941486.75974" 
     capture_lex $P385
-    .const 'Sub' $P375 = "29_1274853047.92727" 
+    .const 'Sub' $P375 = "29_1274941486.75974" 
     capture_lex $P375
-    .const 'Sub' $P365 = "28_1274853047.92727" 
+    .const 'Sub' $P365 = "28_1274941486.75974" 
     capture_lex $P365
-    .const 'Sub' $P349 = "27_1274853047.92727" 
+    .const 'Sub' $P349 = "27_1274941486.75974" 
     capture_lex $P349
-    .const 'Sub' $P289 = "25_1274853047.92727" 
+    .const 'Sub' $P289 = "25_1274941486.75974" 
     capture_lex $P289
-    .const 'Sub' $P246 = "23_1274853047.92727" 
+    .const 'Sub' $P246 = "23_1274941486.75974" 
     capture_lex $P246
-    .const 'Sub' $P214 = "22_1274853047.92727" 
+    .const 'Sub' $P214 = "22_1274941486.75974" 
     capture_lex $P214
-    .const 'Sub' $P181 = "21_1274853047.92727" 
+    .const 'Sub' $P181 = "21_1274941486.75974" 
     capture_lex $P181
-    .const 'Sub' $P171 = "20_1274853047.92727" 
+    .const 'Sub' $P171 = "20_1274941486.75974" 
     capture_lex $P171
-    .const 'Sub' $P151 = "19_1274853047.92727" 
+    .const 'Sub' $P151 = "19_1274941486.75974" 
     capture_lex $P151
-    .const 'Sub' $P100 = "18_1274853047.92727" 
+    .const 'Sub' $P100 = "18_1274941486.75974" 
     capture_lex $P100
-    .const 'Sub' $P84 = "17_1274853047.92727" 
+    .const 'Sub' $P84 = "17_1274941486.75974" 
     capture_lex $P84
-    .const 'Sub' $P63 = "16_1274853047.92727" 
+    .const 'Sub' $P63 = "16_1274941486.75974" 
     capture_lex $P63
-    .const 'Sub' $P27 = "13_1274853047.92727" 
+    .const 'Sub' $P27 = "13_1274941486.75974" 
     capture_lex $P27
-    .const 'Sub' $P16 = "12_1274853047.92727" 
+    .const 'Sub' $P16 = "12_1274941486.75974" 
     capture_lex $P16
     get_global $P15, "@BLOCK"
     unless_null $P15, vivify_141
@@ -17132,27 +17132,27 @@
     set_global "@BLOCK", $P15
   vivify_141:
 .annotate 'line', 9
-    .const 'Sub' $P16 = "12_1274853047.92727" 
+    .const 'Sub' $P16 = "12_1274941486.75974" 
     newclosure $P26, $P16
     .lex "xblock_immediate", $P26
 .annotate 'line', 14
-    .const 'Sub' $P27 = "13_1274853047.92727" 
+    .const 'Sub' $P27 = "13_1274941486.75974" 
     newclosure $P62, $P27
     .lex "block_immediate", $P62
 .annotate 'line', 24
-    .const 'Sub' $P63 = "16_1274853047.92727" 
+    .const 'Sub' $P63 = "16_1274941486.75974" 
     newclosure $P83, $P63
     .lex "vivitype", $P83
 .annotate 'line', 43
-    .const 'Sub' $P84 = "17_1274853047.92727" 
+    .const 'Sub' $P84 = "17_1274941486.75974" 
     newclosure $P99, $P84
     .lex "colonpair_str", $P99
 .annotate 'line', 213
-    .const 'Sub' $P100 = "18_1274853047.92727" 
+    .const 'Sub' $P100 = "18_1274941486.75974" 
     newclosure $P150, $P100
     .lex "push_block_handler", $P150
 .annotate 'line', 797
-    .const 'Sub' $P151 = "19_1274853047.92727" 
+    .const 'Sub' $P151 = "19_1274941486.75974" 
     newclosure $P166, $P151
     .lex "control", $P166
 .annotate 'line', 3
@@ -17179,19 +17179,19 @@
     $P2313 = $P2203()
 .annotate 'line', 3
     .return ($P2313)
-    .const 'Sub' $P2315 = "135_1274853047.92727" 
+    .const 'Sub' $P2315 = "135_1274941486.75974" 
     .return ($P2315)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "" :load :init :subid("post139") :outer("11_1274853047.92727")
+.sub "" :load :init :subid("post139") :outer("11_1274941486.75974")
 .annotate 'line', 3
     get_hll_global $P14, ["NQP";"Actions"], "_block13" 
     .local pmc block
     set block, $P14
 .annotate 'line', 5
-    .const 'Sub' $P2319 = "136_1274853047.92727" 
+    .const 'Sub' $P2319 = "136_1274941486.75974" 
     capture_lex $P2319
     $P2319()
     $P2322 = get_root_global ["parrot"], "P6metaclass"
@@ -17200,7 +17200,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block2318"  :anon :subid("136_1274853047.92727") :outer("11_1274853047.92727")
+.sub "_block2318"  :anon :subid("136_1274941486.75974") :outer("11_1274941486.75974")
 .annotate 'line', 6
     get_global $P2320, "@BLOCK"
     unless_null $P2320, vivify_140
@@ -17215,7 +17215,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "xblock_immediate"  :subid("12_1274853047.92727") :outer("11_1274853047.92727")
+.sub "xblock_immediate"  :subid("12_1274941486.75974") :outer("11_1274941486.75974")
     .param pmc param_19
 .annotate 'line', 9
     new $P18, 'ExceptionHandler'
@@ -17251,10 +17251,10 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "block_immediate"  :subid("13_1274853047.92727") :outer("11_1274853047.92727")
+.sub "block_immediate"  :subid("13_1274941486.75974") :outer("11_1274941486.75974")
     .param pmc param_30
 .annotate 'line', 14
-    .const 'Sub' $P40 = "14_1274853047.92727" 
+    .const 'Sub' $P40 = "14_1274941486.75974" 
     capture_lex $P40
     new $P29, 'ExceptionHandler'
     set_addr $P29, control_28
@@ -17276,7 +17276,7 @@
     set $P33, $P38
   unless_34_end:
     if $P33, unless_32_end
-    .const 'Sub' $P40 = "14_1274853047.92727" 
+    .const 'Sub' $P40 = "14_1274941486.75974" 
     capture_lex $P40
     $P40()
   unless_32_end:
@@ -17292,9 +17292,9 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block39"  :anon :subid("14_1274853047.92727") :outer("13_1274853047.92727")
+.sub "_block39"  :anon :subid("14_1274941486.75974") :outer("13_1274941486.75974")
 .annotate 'line', 16
-    .const 'Sub' $P51 = "15_1274853047.92727" 
+    .const 'Sub' $P51 = "15_1274941486.75974" 
     capture_lex $P51
 .annotate 'line', 17
     new $P41, "Undef"
@@ -17317,7 +17317,7 @@
     unless $P45, loop56_done
     shift $P49, $P45
   loop56_redo:
-    .const 'Sub' $P51 = "15_1274853047.92727" 
+    .const 'Sub' $P51 = "15_1274941486.75974" 
     capture_lex $P51
     $P51($P49)
   loop56_next:
@@ -17340,7 +17340,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block50"  :anon :subid("15_1274853047.92727") :outer("14_1274853047.92727")
+.sub "_block50"  :anon :subid("15_1274941486.75974") :outer("14_1274941486.75974")
     .param pmc param_52
 .annotate 'line', 18
     .lex "$_", param_52
@@ -17352,7 +17352,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "vivitype"  :subid("16_1274853047.92727") :outer("11_1274853047.92727")
+.sub "vivitype"  :subid("16_1274941486.75974") :outer("11_1274941486.75974")
     .param pmc param_66
 .annotate 'line', 24
     new $P65, 'ExceptionHandler'
@@ -17400,7 +17400,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "colonpair_str"  :subid("17_1274853047.92727") :outer("11_1274853047.92727")
+.sub "colonpair_str"  :subid("17_1274941486.75974") :outer("11_1274941486.75974")
     .param pmc param_87
 .annotate 'line', 43
     new $P86, 'ExceptionHandler'
@@ -17438,7 +17438,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "push_block_handler"  :subid("18_1274853047.92727") :outer("11_1274853047.92727")
+.sub "push_block_handler"  :subid("18_1274941486.75974") :outer("11_1274941486.75974")
     .param pmc param_103
     .param pmc param_104
 .annotate 'line', 213
@@ -17555,7 +17555,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "control"  :subid("19_1274853047.92727") :outer("11_1274853047.92727")
+.sub "control"  :subid("19_1274941486.75974") :outer("11_1274941486.75974")
     .param pmc param_154
     .param pmc param_155
 .annotate 'line', 797
@@ -17593,7 +17593,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "TOP"  :subid("20_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "TOP"  :subid("20_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_174
 .annotate 'line', 33
     new $P173, 'ExceptionHandler'
@@ -17623,7 +17623,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "deflongname"  :subid("21_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "deflongname"  :subid("21_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_184
 .annotate 'line', 35
     new $P183, 'ExceptionHandler'
@@ -17712,7 +17712,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "comp_unit"  :subid("22_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "comp_unit"  :subid("22_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_217
 .annotate 'line', 49
     new $P216, 'ExceptionHandler'
@@ -17786,10 +17786,10 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statementlist"  :subid("23_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "statementlist"  :subid("23_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_249
 .annotate 'line', 76
-    .const 'Sub' $P263 = "24_1274853047.92727" 
+    .const 'Sub' $P263 = "24_1274941486.75974" 
     capture_lex $P263
     new $P248, 'ExceptionHandler'
     set_addr $P248, control_247
@@ -17834,7 +17834,7 @@
     unless $P257, loop282_done
     shift $P261, $P257
   loop282_redo:
-    .const 'Sub' $P263 = "24_1274853047.92727" 
+    .const 'Sub' $P263 = "24_1274941486.75974" 
     capture_lex $P263
     $P263($P261)
   loop282_next:
@@ -17864,7 +17864,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block262"  :anon :subid("24_1274853047.92727") :outer("23_1274853047.92727")
+.sub "_block262"  :anon :subid("24_1274941486.75974") :outer("23_1274941486.75974")
     .param pmc param_265
 .annotate 'line', 80
     new $P264, "Undef"
@@ -17918,12 +17918,12 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement"  :subid("25_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "statement"  :subid("25_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_292
     .param pmc param_293 :optional
     .param int has_param_293 :opt_flag
 .annotate 'line', 89
-    .const 'Sub' $P301 = "26_1274853047.92727" 
+    .const 'Sub' $P301 = "26_1274941486.75974" 
     capture_lex $P301
     new $P291, 'ExceptionHandler'
     set_addr $P291, control_290
@@ -17982,7 +17982,7 @@
     goto if_297_end
   if_297:
 .annotate 'line', 91
-    .const 'Sub' $P301 = "26_1274853047.92727" 
+    .const 'Sub' $P301 = "26_1274941486.75974" 
     capture_lex $P301
     $P301()
   if_297_end:
@@ -18001,7 +18001,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block300"  :anon :subid("26_1274853047.92727") :outer("25_1274853047.92727")
+.sub "_block300"  :anon :subid("26_1274941486.75974") :outer("25_1274941486.75974")
 .annotate 'line', 92
     new $P302, "Undef"
     .lex "$mc", $P302
@@ -18114,7 +18114,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "xblock"  :subid("27_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "xblock"  :subid("27_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_352
 .annotate 'line', 107
     new $P351, 'ExceptionHandler'
@@ -18158,7 +18158,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "pblock"  :subid("28_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "pblock"  :subid("28_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_368
 .annotate 'line', 111
     new $P367, 'ExceptionHandler'
@@ -18190,7 +18190,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "block"  :subid("29_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "block"  :subid("29_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_378
 .annotate 'line', 115
     new $P377, 'ExceptionHandler'
@@ -18222,7 +18222,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "blockoid"  :subid("30_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "blockoid"  :subid("30_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_388
 .annotate 'line', 119
     new $P387, 'ExceptionHandler'
@@ -18278,7 +18278,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "newpad"  :subid("31_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "newpad"  :subid("31_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_408
 .annotate 'line', 128
     new $P407, 'ExceptionHandler'
@@ -18313,7 +18313,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "outerctx"  :subid("32_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "outerctx"  :subid("32_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_421
 .annotate 'line', 133
     new $P420, 'ExceptionHandler'
@@ -18352,10 +18352,10 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<if>"  :subid("33_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "statement_control:sym<if>"  :subid("33_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_432
 .annotate 'line', 140
-    .const 'Sub' $P460 = "34_1274853047.92727" 
+    .const 'Sub' $P460 = "34_1274941486.75974" 
     capture_lex $P460
     new $P431, 'ExceptionHandler'
     set_addr $P431, control_430
@@ -18440,7 +18440,7 @@
     isgt $I458, $N457, 0.0
     unless $I458, loop475_done
   loop475_redo:
-    .const 'Sub' $P460 = "34_1274853047.92727" 
+    .const 'Sub' $P460 = "34_1274941486.75974" 
     capture_lex $P460
     $P460()
   loop475_next:
@@ -18468,7 +18468,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block459"  :anon :subid("34_1274853047.92727") :outer("33_1274853047.92727")
+.sub "_block459"  :anon :subid("34_1274941486.75974") :outer("33_1274941486.75974")
 .annotate 'line', 149
     new $P461, "Undef"
     .lex "$else", $P461
@@ -18507,7 +18507,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<unless>"  :subid("35_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "statement_control:sym<unless>"  :subid("35_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_485
 .annotate 'line', 156
     new $P484, 'ExceptionHandler'
@@ -18548,7 +18548,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<while>"  :subid("36_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "statement_control:sym<while>"  :subid("36_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_499
 .annotate 'line', 162
     new $P498, 'ExceptionHandler'
@@ -18598,7 +18598,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<repeat>"  :subid("37_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "statement_control:sym<repeat>"  :subid("37_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_516
 .annotate 'line', 168
     new $P515, 'ExceptionHandler'
@@ -18698,7 +18698,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<for>"  :subid("38_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "statement_control:sym<for>"  :subid("38_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_552
 .annotate 'line', 182
     new $P551, 'ExceptionHandler'
@@ -18778,7 +18778,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<return>"  :subid("39_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "statement_control:sym<return>"  :subid("39_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_578
 .annotate 'line', 195
     new $P577, 'ExceptionHandler'
@@ -18813,7 +18813,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<CATCH>"  :subid("40_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "statement_control:sym<CATCH>"  :subid("40_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_591
 .annotate 'line', 199
     new $P590, 'ExceptionHandler'
@@ -18871,7 +18871,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<CONTROL>"  :subid("41_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "statement_control:sym<CONTROL>"  :subid("41_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_611
 .annotate 'line', 206
     new $P610, 'ExceptionHandler'
@@ -18929,7 +18929,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_prefix:sym<INIT>"  :subid("42_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "statement_prefix:sym<INIT>"  :subid("42_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_632
 .annotate 'line', 250
     new $P631, 'ExceptionHandler'
@@ -18975,7 +18975,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_prefix:sym<try>"  :subid("43_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "statement_prefix:sym<try>"  :subid("43_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_648
 .annotate 'line', 255
     new $P647, 'ExceptionHandler'
@@ -19052,7 +19052,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "blorst"  :subid("44_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "blorst"  :subid("44_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_683
 .annotate 'line', 278
     new $P682, 'ExceptionHandler'
@@ -19111,7 +19111,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_mod_cond:sym<if>"  :subid("45_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "statement_mod_cond:sym<if>"  :subid("45_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_701
 .annotate 'line', 286
     new $P700, 'ExceptionHandler'
@@ -19141,7 +19141,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_mod_cond:sym<unless>"  :subid("46_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "statement_mod_cond:sym<unless>"  :subid("46_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_711
 .annotate 'line', 287
     new $P710, 'ExceptionHandler'
@@ -19171,7 +19171,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_mod_loop:sym<while>"  :subid("47_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "statement_mod_loop:sym<while>"  :subid("47_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_721
 .annotate 'line', 289
     new $P720, 'ExceptionHandler'
@@ -19201,7 +19201,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_mod_loop:sym<until>"  :subid("48_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "statement_mod_loop:sym<until>"  :subid("48_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_731
 .annotate 'line', 290
     new $P730, 'ExceptionHandler'
@@ -19231,7 +19231,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<fatarrow>"  :subid("49_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "term:sym<fatarrow>"  :subid("49_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_741
 .annotate 'line', 294
     new $P740, 'ExceptionHandler'
@@ -19261,7 +19261,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<colonpair>"  :subid("50_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "term:sym<colonpair>"  :subid("50_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_751
 .annotate 'line', 295
     new $P750, 'ExceptionHandler'
@@ -19291,7 +19291,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<variable>"  :subid("51_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "term:sym<variable>"  :subid("51_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_761
 .annotate 'line', 296
     new $P760, 'ExceptionHandler'
@@ -19321,7 +19321,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<package_declarator>"  :subid("52_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "term:sym<package_declarator>"  :subid("52_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_771
 .annotate 'line', 297
     new $P770, 'ExceptionHandler'
@@ -19351,7 +19351,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<scope_declarator>"  :subid("53_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "term:sym<scope_declarator>"  :subid("53_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_781
 .annotate 'line', 298
     new $P780, 'ExceptionHandler'
@@ -19381,7 +19381,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<routine_declarator>"  :subid("54_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "term:sym<routine_declarator>"  :subid("54_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_791
 .annotate 'line', 299
     new $P790, 'ExceptionHandler'
@@ -19411,7 +19411,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<regex_declarator>"  :subid("55_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "term:sym<regex_declarator>"  :subid("55_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_801
 .annotate 'line', 300
     new $P800, 'ExceptionHandler'
@@ -19441,7 +19441,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<statement_prefix>"  :subid("56_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "term:sym<statement_prefix>"  :subid("56_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_811
 .annotate 'line', 301
     new $P810, 'ExceptionHandler'
@@ -19471,7 +19471,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<lambda>"  :subid("57_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "term:sym<lambda>"  :subid("57_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_821
 .annotate 'line', 302
     new $P820, 'ExceptionHandler'
@@ -19501,7 +19501,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "fatarrow"  :subid("58_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "fatarrow"  :subid("58_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_831
 .annotate 'line', 304
     new $P830, 'ExceptionHandler'
@@ -19550,7 +19550,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "colonpair"  :subid("59_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "colonpair"  :subid("59_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_847
 .annotate 'line', 310
     new $P846, 'ExceptionHandler'
@@ -19631,10 +19631,10 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "variable"  :subid("60_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "variable"  :subid("60_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_873
 .annotate 'line', 318
-    .const 'Sub' $P886 = "61_1274853047.92727" 
+    .const 'Sub' $P886 = "61_1274941486.75974" 
     capture_lex $P886
     new $P872, 'ExceptionHandler'
     set_addr $P872, control_871
@@ -19658,7 +19658,7 @@
   vivify_313:
     if $P878, if_876
 .annotate 'line', 324
-    .const 'Sub' $P886 = "61_1274853047.92727" 
+    .const 'Sub' $P886 = "61_1274941486.75974" 
     capture_lex $P886
     $P886()
     goto if_876_end
@@ -19695,7 +19695,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block885"  :anon :subid("61_1274853047.92727") :outer("60_1274853047.92727")
+.sub "_block885"  :anon :subid("61_1274941486.75974") :outer("60_1274941486.75974")
 .annotate 'line', 325
     $P887 = root_new ['parrot';'ResizablePMCArray']
     .lex "@name", $P887
@@ -19864,7 +19864,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "package_declarator:sym<module>"  :subid("62_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "package_declarator:sym<module>"  :subid("62_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_962
 .annotate 'line', 356
     new $P961, 'ExceptionHandler'
@@ -19894,7 +19894,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "package_declarator:sym<class>"  :subid("63_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "package_declarator:sym<class>"  :subid("63_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_972
 .annotate 'line', 357
     new $P971, 'ExceptionHandler'
@@ -20051,7 +20051,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "package_def"  :subid("64_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "package_def"  :subid("64_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1025
 .annotate 'line', 380
     new $P1024, 'ExceptionHandler'
@@ -20129,7 +20129,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "scope_declarator:sym<my>"  :subid("65_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "scope_declarator:sym<my>"  :subid("65_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1049
 .annotate 'line', 387
     new $P1048, 'ExceptionHandler'
@@ -20159,7 +20159,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "scope_declarator:sym<our>"  :subid("66_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "scope_declarator:sym<our>"  :subid("66_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1059
 .annotate 'line', 388
     new $P1058, 'ExceptionHandler'
@@ -20189,7 +20189,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "scope_declarator:sym<has>"  :subid("67_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "scope_declarator:sym<has>"  :subid("67_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1069
 .annotate 'line', 389
     new $P1068, 'ExceptionHandler'
@@ -20219,7 +20219,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "scoped"  :subid("68_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "scoped"  :subid("68_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1079
 .annotate 'line', 391
     new $P1078, 'ExceptionHandler'
@@ -20251,7 +20251,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "declarator"  :subid("69_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "declarator"  :subid("69_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1089
 .annotate 'line', 395
     new $P1088, 'ExceptionHandler'
@@ -20309,10 +20309,10 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "variable_declarator"  :subid("70_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "variable_declarator"  :subid("70_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1106
 .annotate 'line', 401
-    .const 'Sub' $P1146 = "71_1274853047.92727" 
+    .const 'Sub' $P1146 = "71_1274941486.75974" 
     capture_lex $P1146
     new $P1105, 'ExceptionHandler'
     set_addr $P1105, control_1104
@@ -20394,7 +20394,7 @@
     iseq $I1131, $S1130, "has"
     if $I1131, if_1128
 .annotate 'line', 418
-    .const 'Sub' $P1146 = "71_1274853047.92727" 
+    .const 'Sub' $P1146 = "71_1274941486.75974" 
     capture_lex $P1146
     $P1146()
     goto if_1128_end
@@ -20454,7 +20454,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1145"  :anon :subid("71_1274853047.92727") :outer("70_1274853047.92727")
+.sub "_block1145"  :anon :subid("71_1274941486.75974") :outer("70_1274941486.75974")
 .annotate 'line', 419
     new $P1147, "Undef"
     .lex "$scope", $P1147
@@ -20515,7 +20515,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "routine_declarator:sym<sub>"  :subid("72_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "routine_declarator:sym<sub>"  :subid("72_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1177
 .annotate 'line', 429
     new $P1176, 'ExceptionHandler'
@@ -20545,7 +20545,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "routine_declarator:sym<method>"  :subid("73_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "routine_declarator:sym<method>"  :subid("73_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1187
 .annotate 'line', 430
     new $P1186, 'ExceptionHandler'
@@ -20575,10 +20575,10 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "routine_def"  :subid("74_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "routine_def"  :subid("74_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1197
 .annotate 'line', 432
-    .const 'Sub' $P1208 = "75_1274853047.92727" 
+    .const 'Sub' $P1208 = "75_1274941486.75974" 
     capture_lex $P1208
     new $P1196, 'ExceptionHandler'
     set_addr $P1196, control_1195
@@ -20615,7 +20615,7 @@
     new $P1206, "Undef"
   vivify_399:
     unless $P1206, if_1204_end
-    .const 'Sub' $P1208 = "75_1274853047.92727" 
+    .const 'Sub' $P1208 = "75_1274941486.75974" 
     capture_lex $P1208
     $P1208()
   if_1204_end:
@@ -20634,7 +20634,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1207"  :anon :subid("75_1274853047.92727") :outer("74_1274853047.92727")
+.sub "_block1207"  :anon :subid("75_1274941486.75974") :outer("74_1274941486.75974")
 .annotate 'line', 437
     new $P1209, "Undef"
     .lex "$name", $P1209
@@ -20730,10 +20730,10 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "method_def"  :subid("76_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "method_def"  :subid("76_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1247
 .annotate 'line', 450
-    .const 'Sub' $P1263 = "77_1274853047.92727" 
+    .const 'Sub' $P1263 = "77_1274941486.75974" 
     capture_lex $P1263
     new $P1246, 'ExceptionHandler'
     set_addr $P1246, control_1245
@@ -20785,7 +20785,7 @@
     new $P1261, "Undef"
   vivify_418:
     unless $P1261, if_1259_end
-    .const 'Sub' $P1263 = "77_1274853047.92727" 
+    .const 'Sub' $P1263 = "77_1274941486.75974" 
     capture_lex $P1263
     $P1263()
   if_1259_end:
@@ -20804,7 +20804,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1262"  :anon :subid("77_1274853047.92727") :outer("76_1274853047.92727")
+.sub "_block1262"  :anon :subid("77_1274941486.75974") :outer("76_1274941486.75974")
 .annotate 'line', 457
     new $P1264, "Undef"
     .lex "$name", $P1264
@@ -20835,10 +20835,10 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "signature"  :subid("78_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "signature"  :subid("78_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1281
 .annotate 'line', 464
-    .const 'Sub' $P1292 = "79_1274853047.92727" 
+    .const 'Sub' $P1292 = "79_1274941486.75974" 
     capture_lex $P1292
     new $P1280, 'ExceptionHandler'
     set_addr $P1280, control_1279
@@ -20882,7 +20882,7 @@
     unless $P1286, loop1298_done
     shift $P1290, $P1286
   loop1298_redo:
-    .const 'Sub' $P1292 = "79_1274853047.92727" 
+    .const 'Sub' $P1292 = "79_1274941486.75974" 
     capture_lex $P1292
     $P1292($P1290)
   loop1298_next:
@@ -20907,7 +20907,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1291"  :anon :subid("79_1274853047.92727") :outer("78_1274853047.92727")
+.sub "_block1291"  :anon :subid("79_1274941486.75974") :outer("78_1274941486.75974")
     .param pmc param_1293
 .annotate 'line', 466
     .lex "$_", param_1293
@@ -20920,7 +20920,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "parameter"  :subid("80_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "parameter"  :subid("80_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1305
 .annotate 'line', 469
     new $P1304, 'ExceptionHandler'
@@ -21152,7 +21152,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "param_var"  :subid("81_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "param_var"  :subid("81_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1389
 .annotate 'line', 501
     new $P1388, 'ExceptionHandler'
@@ -21205,7 +21205,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "named_param"  :subid("82_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "named_param"  :subid("82_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1409
 .annotate 'line', 509
     new $P1408, 'ExceptionHandler'
@@ -21258,14 +21258,14 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "regex_declarator"  :subid("83_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "regex_declarator"  :subid("83_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1426
     .param pmc param_1427 :optional
     .param int has_param_1427 :opt_flag
 .annotate 'line', 515
-    .const 'Sub' $P1497 = "85_1274853047.92727" 
+    .const 'Sub' $P1497 = "85_1274941486.75974" 
     capture_lex $P1497
-    .const 'Sub' $P1469 = "84_1274853047.92727" 
+    .const 'Sub' $P1469 = "84_1274941486.75974" 
     capture_lex $P1469
     new $P1425, 'ExceptionHandler'
     set_addr $P1425, control_1424
@@ -21323,13 +21323,13 @@
     iseq $I1467, $S1466, "open"
     if $I1467, if_1464
 .annotate 'line', 561
-    .const 'Sub' $P1497 = "85_1274853047.92727" 
+    .const 'Sub' $P1497 = "85_1274941486.75974" 
     capture_lex $P1497
     $P1497()
     goto if_1464_end
   if_1464:
 .annotate 'line', 548
-    .const 'Sub' $P1469 = "84_1274853047.92727" 
+    .const 'Sub' $P1469 = "84_1274941486.75974" 
     capture_lex $P1469
     $P1469()
   if_1464_end:
@@ -21386,7 +21386,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1496"  :anon :subid("85_1274853047.92727") :outer("83_1274853047.92727")
+.sub "_block1496"  :anon :subid("85_1274941486.75974") :outer("83_1274941486.75974")
 .annotate 'line', 562
     new $P1498, "Undef"
     .lex "$regex", $P1498
@@ -21437,7 +21437,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1468"  :anon :subid("84_1274853047.92727") :outer("83_1274853047.92727")
+.sub "_block1468"  :anon :subid("84_1274941486.75974") :outer("83_1274941486.75974")
 .annotate 'line', 549
     $P1470 = root_new ['parrot';'Hash']
     .lex "%h", $P1470
@@ -21535,7 +21535,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "dotty"  :subid("86_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "dotty"  :subid("86_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1525
 .annotate 'line', 579
     new $P1524, 'ExceptionHandler'
@@ -21632,7 +21632,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<self>"  :subid("87_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "term:sym<self>"  :subid("87_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1557
 .annotate 'line', 588
     new $P1556, 'ExceptionHandler'
@@ -21657,7 +21657,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<identifier>"  :subid("88_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "term:sym<identifier>"  :subid("88_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1566
 .annotate 'line', 592
     new $P1565, 'ExceptionHandler'
@@ -21706,7 +21706,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<name>"  :subid("89_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "term:sym<name>"  :subid("89_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1582
 .annotate 'line', 598
     new $P1581, 'ExceptionHandler'
@@ -21824,7 +21824,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<pir::op>"  :subid("90_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "term:sym<pir::op>"  :subid("90_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1624
 .annotate 'line', 612
     new $P1623, 'ExceptionHandler'
@@ -21915,7 +21915,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "args"  :subid("91_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "args"  :subid("91_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1653
 .annotate 'line', 627
     new $P1652, 'ExceptionHandler'
@@ -21945,10 +21945,10 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "arglist"  :subid("92_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "arglist"  :subid("92_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1663
 .annotate 'line', 629
-    .const 'Sub' $P1674 = "93_1274853047.92727" 
+    .const 'Sub' $P1674 = "93_1274941486.75974" 
     capture_lex $P1674
     new $P1662, 'ExceptionHandler'
     set_addr $P1662, control_1661
@@ -21980,7 +21980,7 @@
     new $P1672, "Undef"
   vivify_517:
     unless $P1672, if_1670_end
-    .const 'Sub' $P1674 = "93_1274853047.92727" 
+    .const 'Sub' $P1674 = "93_1274941486.75974" 
     capture_lex $P1674
     $P1674()
   if_1670_end:
@@ -22136,9 +22136,9 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1673"  :anon :subid("93_1274853047.92727") :outer("92_1274853047.92727")
+.sub "_block1673"  :anon :subid("93_1274941486.75974") :outer("92_1274941486.75974")
 .annotate 'line', 631
-    .const 'Sub' $P1695 = "94_1274853047.92727" 
+    .const 'Sub' $P1695 = "94_1274941486.75974" 
     capture_lex $P1695
 .annotate 'line', 632
     new $P1675, "Undef"
@@ -22191,7 +22191,7 @@
     unless $P1689, loop1700_done
     shift $P1693, $P1689
   loop1700_redo:
-    .const 'Sub' $P1695 = "94_1274853047.92727" 
+    .const 'Sub' $P1695 = "94_1274941486.75974" 
     capture_lex $P1695
     $P1695($P1693)
   loop1700_next:
@@ -22214,7 +22214,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1694"  :anon :subid("94_1274853047.92727") :outer("93_1274853047.92727")
+.sub "_block1694"  :anon :subid("94_1274941486.75974") :outer("93_1274941486.75974")
     .param pmc param_1696
 .annotate 'line', 634
     .lex "$_", param_1696
@@ -22226,7 +22226,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<value>"  :subid("95_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "term:sym<value>"  :subid("95_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1767
 .annotate 'line', 655
     new $P1766, 'ExceptionHandler'
@@ -22256,7 +22256,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "circumfix:sym<( )>"  :subid("96_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "circumfix:sym<( )>"  :subid("96_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1777
 .annotate 'line', 657
     new $P1776, 'ExceptionHandler'
@@ -22312,7 +22312,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "circumfix:sym<[ ]>"  :subid("97_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "circumfix:sym<[ ]>"  :subid("97_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1795
 .annotate 'line', 663
     new $P1794, 'ExceptionHandler'
@@ -22388,7 +22388,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "circumfix:sym<ang>"  :subid("98_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "circumfix:sym<ang>"  :subid("98_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1822
 .annotate 'line', 678
     new $P1821, 'ExceptionHandler'
@@ -22418,7 +22418,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub unicode:"circumfix:sym<\x{ab} \x{bb}>"  :subid("99_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub unicode:"circumfix:sym<\x{ab} \x{bb}>"  :subid("99_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1832
 .annotate 'line', 679
     new $P1831, 'ExceptionHandler'
@@ -22448,7 +22448,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "circumfix:sym<{ }>"  :subid("100_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "circumfix:sym<{ }>"  :subid("100_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1842
 .annotate 'line', 681
     new $P1841, 'ExceptionHandler'
@@ -22526,7 +22526,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "circumfix:sym<sigil>"  :subid("101_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "circumfix:sym<sigil>"  :subid("101_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1866
 .annotate 'line', 689
     new $P1865, 'ExceptionHandler'
@@ -22605,7 +22605,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "semilist"  :subid("102_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "semilist"  :subid("102_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1895
 .annotate 'line', 696
     new $P1894, 'ExceptionHandler'
@@ -22635,7 +22635,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<[ ]>"  :subid("103_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "postcircumfix:sym<[ ]>"  :subid("103_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1905
 .annotate 'line', 698
     new $P1904, 'ExceptionHandler'
@@ -22672,7 +22672,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<{ }>"  :subid("104_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "postcircumfix:sym<{ }>"  :subid("104_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1918
 .annotate 'line', 704
     new $P1917, 'ExceptionHandler'
@@ -22709,7 +22709,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<ang>"  :subid("105_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "postcircumfix:sym<ang>"  :subid("105_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1931
 .annotate 'line', 710
     new $P1930, 'ExceptionHandler'
@@ -22746,7 +22746,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<( )>"  :subid("106_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "postcircumfix:sym<( )>"  :subid("106_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1944
 .annotate 'line', 716
     new $P1943, 'ExceptionHandler'
@@ -22778,7 +22778,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "value"  :subid("107_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "value"  :subid("107_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1954
 .annotate 'line', 720
     new $P1953, 'ExceptionHandler'
@@ -22833,7 +22833,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "number"  :subid("108_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "number"  :subid("108_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1971
 .annotate 'line', 724
     new $P1970, 'ExceptionHandler'
@@ -22911,7 +22911,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<apos>"  :subid("109_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "quote:sym<apos>"  :subid("109_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_1999
 .annotate 'line', 730
     new $P1998, 'ExceptionHandler'
@@ -22941,7 +22941,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<dblq>"  :subid("110_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "quote:sym<dblq>"  :subid("110_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_2009
 .annotate 'line', 731
     new $P2008, 'ExceptionHandler'
@@ -22971,7 +22971,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<qq>"  :subid("111_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "quote:sym<qq>"  :subid("111_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_2019
 .annotate 'line', 732
     new $P2018, 'ExceptionHandler'
@@ -23001,7 +23001,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<q>"  :subid("112_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "quote:sym<q>"  :subid("112_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_2029
 .annotate 'line', 733
     new $P2028, 'ExceptionHandler'
@@ -23031,7 +23031,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<Q>"  :subid("113_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "quote:sym<Q>"  :subid("113_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_2039
 .annotate 'line', 734
     new $P2038, 'ExceptionHandler'
@@ -23061,7 +23061,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<Q:PIR>"  :subid("114_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "quote:sym<Q:PIR>"  :subid("114_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_2049
 .annotate 'line', 735
     new $P2048, 'ExceptionHandler'
@@ -23097,7 +23097,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym</ />"  :subid("115_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "quote:sym</ />"  :subid("115_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_2063
     .param pmc param_2064 :optional
     .param int has_param_2064 :opt_flag
@@ -23206,7 +23206,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote_escape:sym<$>"  :subid("116_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "quote_escape:sym<$>"  :subid("116_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_2100
 .annotate 'line', 764
     new $P2099, 'ExceptionHandler'
@@ -23236,7 +23236,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote_escape:sym<{ }>"  :subid("117_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "quote_escape:sym<{ }>"  :subid("117_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_2110
 .annotate 'line', 765
     new $P2109, 'ExceptionHandler'
@@ -23274,7 +23274,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote_escape:sym<esc>"  :subid("118_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "quote_escape:sym<esc>"  :subid("118_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_2124
 .annotate 'line', 770
     new $P2123, 'ExceptionHandler'
@@ -23295,7 +23295,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "postfix:sym<.>"  :subid("119_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "postfix:sym<.>"  :subid("119_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_2131
 .annotate 'line', 774
     new $P2130, 'ExceptionHandler'
@@ -23325,7 +23325,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "postfix:sym<++>"  :subid("120_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "postfix:sym<++>"  :subid("120_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_2141
 .annotate 'line', 776
     new $P2140, 'ExceptionHandler'
@@ -23355,7 +23355,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "postfix:sym<-->"  :subid("121_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "postfix:sym<-->"  :subid("121_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_2151
 .annotate 'line', 782
     new $P2150, 'ExceptionHandler'
@@ -23385,7 +23385,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "prefix:sym<make>"  :subid("122_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "prefix:sym<make>"  :subid("122_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_2161
 .annotate 'line', 788
     new $P2160, 'ExceptionHandler'
@@ -23415,7 +23415,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<next>"  :subid("123_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "term:sym<next>"  :subid("123_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_2174
 .annotate 'line', 810
     new $P2173, 'ExceptionHandler'
@@ -23436,7 +23436,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<last>"  :subid("124_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "term:sym<last>"  :subid("124_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_2181
 .annotate 'line', 811
     new $P2180, 'ExceptionHandler'
@@ -23457,7 +23457,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<redo>"  :subid("125_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "term:sym<redo>"  :subid("125_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_2188
 .annotate 'line', 812
     new $P2187, 'ExceptionHandler'
@@ -23478,7 +23478,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "infix:sym<~~>"  :subid("126_1274853047.92727") :method :outer("11_1274853047.92727")
+.sub "infix:sym<~~>"  :subid("126_1274941486.75974") :method :outer("11_1274941486.75974")
     .param pmc param_2195
 .annotate 'line', 814
     new $P2194, 'ExceptionHandler'
@@ -23504,24 +23504,24 @@
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "_block2202"  :subid("127_1274853047.92727") :outer("11_1274853047.92727")
+.sub "_block2202"  :subid("127_1274941486.75974") :outer("11_1274941486.75974")
 .annotate 'line', 819
-    .const 'Sub' $P2287 = "134_1274853047.92727" 
+    .const 'Sub' $P2287 = "134_1274941486.75974" 
     capture_lex $P2287
-    .const 'Sub' $P2274 = "133_1274853047.92727" 
+    .const 'Sub' $P2274 = "133_1274941486.75974" 
     capture_lex $P2274
-    .const 'Sub' $P2257 = "132_1274853047.92727" 
+    .const 'Sub' $P2257 = "132_1274941486.75974" 
     capture_lex $P2257
-    .const 'Sub' $P2244 = "131_1274853047.92727" 
+    .const 'Sub' $P2244 = "131_1274941486.75974" 
     capture_lex $P2244
-    .const 'Sub' $P2231 = "130_1274853047.92727" 
+    .const 'Sub' $P2231 = "130_1274941486.75974" 
     capture_lex $P2231
-    .const 'Sub' $P2218 = "129_1274853047.92727" 
+    .const 'Sub' $P2218 = "129_1274941486.75974" 
     capture_lex $P2218
-    .const 'Sub' $P2204 = "128_1274853047.92727" 
+    .const 'Sub' $P2204 = "128_1274941486.75974" 
     capture_lex $P2204
 .annotate 'line', 852
-    .const 'Sub' $P2287 = "134_1274853047.92727" 
+    .const 'Sub' $P2287 = "134_1274941486.75974" 
     newclosure $P2312, $P2287
 .annotate 'line', 819
     .return ($P2312)
@@ -23529,7 +23529,7 @@
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "metachar:sym<:my>"  :subid("128_1274853047.92727") :method :outer("127_1274853047.92727")
+.sub "metachar:sym<:my>"  :subid("128_1274941486.75974") :method :outer("127_1274941486.75974")
     .param pmc param_2207
 .annotate 'line', 821
     new $P2206, 'ExceptionHandler'
@@ -23568,7 +23568,7 @@
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "metachar:sym<{ }>"  :subid("129_1274853047.92727") :method :outer("127_1274853047.92727")
+.sub "metachar:sym<{ }>"  :subid("129_1274941486.75974") :method :outer("127_1274941486.75974")
     .param pmc param_2221
 .annotate 'line', 826
     new $P2220, 'ExceptionHandler'
@@ -23603,7 +23603,7 @@
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "metachar:sym<nqpvar>"  :subid("130_1274853047.92727") :method :outer("127_1274853047.92727")
+.sub "metachar:sym<nqpvar>"  :subid("130_1274941486.75974") :method :outer("127_1274941486.75974")
     .param pmc param_2234
 .annotate 'line', 831
     new $P2233, 'ExceptionHandler'
@@ -23638,7 +23638,7 @@
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "assertion:sym<{ }>"  :subid("131_1274853047.92727") :method :outer("127_1274853047.92727")
+.sub "assertion:sym<{ }>"  :subid("131_1274941486.75974") :method :outer("127_1274941486.75974")
     .param pmc param_2247
 .annotate 'line', 836
     new $P2246, 'ExceptionHandler'
@@ -23673,7 +23673,7 @@
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "assertion:sym<?{ }>"  :subid("132_1274853047.92727") :method :outer("127_1274853047.92727")
+.sub "assertion:sym<?{ }>"  :subid("132_1274941486.75974") :method :outer("127_1274941486.75974")
     .param pmc param_2260
 .annotate 'line', 841
     new $P2259, 'ExceptionHandler'
@@ -23720,7 +23720,7 @@
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "assertion:sym<var>"  :subid("133_1274853047.92727") :method :outer("127_1274853047.92727")
+.sub "assertion:sym<var>"  :subid("133_1274941486.75974") :method :outer("127_1274941486.75974")
     .param pmc param_2277
 .annotate 'line', 847
     new $P2276, 'ExceptionHandler'
@@ -23755,7 +23755,7 @@
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "codeblock"  :subid("134_1274853047.92727") :method :outer("127_1274853047.92727")
+.sub "codeblock"  :subid("134_1274941486.75974") :method :outer("127_1274941486.75974")
     .param pmc param_2290
 .annotate 'line', 852
     new $P2289, 'ExceptionHandler'
@@ -23819,18 +23819,18 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block2314" :load :anon :subid("135_1274853047.92727")
+.sub "_block2314" :load :anon :subid("135_1274941486.75974")
 .annotate 'line', 3
-    .const 'Sub' $P2316 = "11_1274853047.92727" 
+    .const 'Sub' $P2316 = "11_1274941486.75974" 
     $P2317 = $P2316()
     .return ($P2317)
 .end
 
 
 .namespace []
-.sub "_block2324" :load :anon :subid("137_1274853047.92727")
+.sub "_block2324" :load :anon :subid("137_1274941486.75974")
 .annotate 'line', 1
-    .const 'Sub' $P2326 = "10_1274853047.92727" 
+    .const 'Sub' $P2326 = "10_1274941486.75974" 
     $P2327 = $P2326()
     .return ($P2327)
 .end

Modified: trunk/ext/nqp-rx/src/stage0/P6Regex-s0.pir
==============================================================================
--- trunk/ext/nqp-rx/src/stage0/P6Regex-s0.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/ext/nqp-rx/src/stage0/P6Regex-s0.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -16,7 +16,7 @@
 ### .include 'gen/p6regex-grammar.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1274853027.61936")
+.sub "_block11"  :anon :subid("10_1274941417.47266")
 .annotate 'line', 0
     get_hll_global $P14, ["Regex";"P6Regex";"Grammar"], "_block13" 
     capture_lex $P14
@@ -33,15 +33,15 @@
     $P583 = $P14()
 .annotate 'line', 1
     .return ($P583)
-    .const 'Sub' $P585 = "159_1274853027.61936" 
+    .const 'Sub' $P585 = "159_1274941417.47266" 
     .return ($P585)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post160") :outer("10_1274853027.61936")
+.sub "" :load :init :subid("post160") :outer("10_1274941417.47266")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1274853027.61936" 
+    .const 'Sub' $P12 = "10_1274941417.47266" 
     .local pmc block
     set block, $P12
     $P588 = get_root_global ["parrot"], "P6metaclass"
@@ -50,131 +50,131 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block13"  :subid("11_1274853027.61936") :outer("10_1274853027.61936")
+.sub "_block13"  :subid("11_1274941417.47266") :outer("10_1274941417.47266")
 .annotate 'line', 3
-    .const 'Sub' $P571 = "156_1274853027.61936" 
+    .const 'Sub' $P571 = "156_1274941417.47266" 
     capture_lex $P571
-    .const 'Sub' $P563 = "154_1274853027.61936" 
+    .const 'Sub' $P563 = "154_1274941417.47266" 
     capture_lex $P563
-    .const 'Sub' $P555 = "152_1274853027.61936" 
+    .const 'Sub' $P555 = "152_1274941417.47266" 
     capture_lex $P555
-    .const 'Sub' $P534 = "147_1274853027.61936" 
+    .const 'Sub' $P534 = "147_1274941417.47266" 
     capture_lex $P534
-    .const 'Sub' $P499 = "141_1274853027.61936" 
+    .const 'Sub' $P499 = "141_1274941417.47266" 
     capture_lex $P499
-    .const 'Sub' $P487 = "138_1274853027.61936" 
+    .const 'Sub' $P487 = "138_1274941417.47266" 
     capture_lex $P487
-    .const 'Sub' $P474 = "135_1274853027.61936" 
+    .const 'Sub' $P474 = "135_1274941417.47266" 
     capture_lex $P474
-    .const 'Sub' $P468 = "133_1274853027.61936" 
+    .const 'Sub' $P468 = "133_1274941417.47266" 
     capture_lex $P468
-    .const 'Sub' $P457 = "130_1274853027.61936" 
+    .const 'Sub' $P457 = "130_1274941417.47266" 
     capture_lex $P457
-    .const 'Sub' $P446 = "127_1274853027.61936" 
+    .const 'Sub' $P446 = "127_1274941417.47266" 
     capture_lex $P446
-    .const 'Sub' $P437 = "123_1274853027.61936" 
+    .const 'Sub' $P437 = "123_1274941417.47266" 
     capture_lex $P437
-    .const 'Sub' $P431 = "121_1274853027.61936" 
+    .const 'Sub' $P431 = "121_1274941417.47266" 
     capture_lex $P431
-    .const 'Sub' $P425 = "119_1274853027.61936" 
+    .const 'Sub' $P425 = "119_1274941417.47266" 
     capture_lex $P425
-    .const 'Sub' $P419 = "117_1274853027.61936" 
+    .const 'Sub' $P419 = "117_1274941417.47266" 
     capture_lex $P419
-    .const 'Sub' $P413 = "115_1274853027.61936" 
+    .const 'Sub' $P413 = "115_1274941417.47266" 
     capture_lex $P413
-    .const 'Sub' $P405 = "113_1274853027.61936" 
+    .const 'Sub' $P405 = "113_1274941417.47266" 
     capture_lex $P405
-    .const 'Sub' $P394 = "111_1274853027.61936" 
+    .const 'Sub' $P394 = "111_1274941417.47266" 
     capture_lex $P394
-    .const 'Sub' $P383 = "109_1274853027.61936" 
+    .const 'Sub' $P383 = "109_1274941417.47266" 
     capture_lex $P383
-    .const 'Sub' $P377 = "107_1274853027.61936" 
+    .const 'Sub' $P377 = "107_1274941417.47266" 
     capture_lex $P377
-    .const 'Sub' $P371 = "105_1274853027.61936" 
+    .const 'Sub' $P371 = "105_1274941417.47266" 
     capture_lex $P371
-    .const 'Sub' $P365 = "103_1274853027.61936" 
+    .const 'Sub' $P365 = "103_1274941417.47266" 
     capture_lex $P365
-    .const 'Sub' $P359 = "101_1274853027.61936" 
+    .const 'Sub' $P359 = "101_1274941417.47266" 
     capture_lex $P359
-    .const 'Sub' $P353 = "99_1274853027.61936" 
+    .const 'Sub' $P353 = "99_1274941417.47266" 
     capture_lex $P353
-    .const 'Sub' $P347 = "97_1274853027.61936" 
+    .const 'Sub' $P347 = "97_1274941417.47266" 
     capture_lex $P347
-    .const 'Sub' $P341 = "95_1274853027.61936" 
+    .const 'Sub' $P341 = "95_1274941417.47266" 
     capture_lex $P341
-    .const 'Sub' $P335 = "93_1274853027.61936" 
+    .const 'Sub' $P335 = "93_1274941417.47266" 
     capture_lex $P335
-    .const 'Sub' $P323 = "89_1274853027.61936" 
+    .const 'Sub' $P323 = "89_1274941417.47266" 
     capture_lex $P323
-    .const 'Sub' $P311 = "87_1274853027.61936" 
+    .const 'Sub' $P311 = "87_1274941417.47266" 
     capture_lex $P311
-    .const 'Sub' $P304 = "85_1274853027.61936" 
+    .const 'Sub' $P304 = "85_1274941417.47266" 
     capture_lex $P304
-    .const 'Sub' $P287 = "83_1274853027.61936" 
+    .const 'Sub' $P287 = "83_1274941417.47266" 
     capture_lex $P287
-    .const 'Sub' $P280 = "81_1274853027.61936" 
+    .const 'Sub' $P280 = "81_1274941417.47266" 
     capture_lex $P280
-    .const 'Sub' $P274 = "79_1274853027.61936" 
+    .const 'Sub' $P274 = "79_1274941417.47266" 
     capture_lex $P274
-    .const 'Sub' $P268 = "77_1274853027.61936" 
+    .const 'Sub' $P268 = "77_1274941417.47266" 
     capture_lex $P268
-    .const 'Sub' $P261 = "75_1274853027.61936" 
+    .const 'Sub' $P261 = "75_1274941417.47266" 
     capture_lex $P261
-    .const 'Sub' $P254 = "73_1274853027.61936" 
+    .const 'Sub' $P254 = "73_1274941417.47266" 
     capture_lex $P254
-    .const 'Sub' $P247 = "71_1274853027.61936" 
+    .const 'Sub' $P247 = "71_1274941417.47266" 
     capture_lex $P247
-    .const 'Sub' $P240 = "69_1274853027.61936" 
+    .const 'Sub' $P240 = "69_1274941417.47266" 
     capture_lex $P240
-    .const 'Sub' $P234 = "67_1274853027.61936" 
+    .const 'Sub' $P234 = "67_1274941417.47266" 
     capture_lex $P234
-    .const 'Sub' $P228 = "65_1274853027.61936" 
+    .const 'Sub' $P228 = "65_1274941417.47266" 
     capture_lex $P228
-    .const 'Sub' $P222 = "63_1274853027.61936" 
+    .const 'Sub' $P222 = "63_1274941417.47266" 
     capture_lex $P222
-    .const 'Sub' $P216 = "61_1274853027.61936" 
+    .const 'Sub' $P216 = "61_1274941417.47266" 
     capture_lex $P216
-    .const 'Sub' $P210 = "59_1274853027.61936" 
+    .const 'Sub' $P210 = "59_1274941417.47266" 
     capture_lex $P210
-    .const 'Sub' $P205 = "57_1274853027.61936" 
+    .const 'Sub' $P205 = "57_1274941417.47266" 
     capture_lex $P205
-    .const 'Sub' $P200 = "55_1274853027.61936" 
+    .const 'Sub' $P200 = "55_1274941417.47266" 
     capture_lex $P200
-    .const 'Sub' $P194 = "53_1274853027.61936" 
+    .const 'Sub' $P194 = "53_1274941417.47266" 
     capture_lex $P194
-    .const 'Sub' $P188 = "51_1274853027.61936" 
+    .const 'Sub' $P188 = "51_1274941417.47266" 
     capture_lex $P188
-    .const 'Sub' $P182 = "49_1274853027.61936" 
+    .const 'Sub' $P182 = "49_1274941417.47266" 
     capture_lex $P182
-    .const 'Sub' $P166 = "44_1274853027.61936" 
+    .const 'Sub' $P166 = "44_1274941417.47266" 
     capture_lex $P166
-    .const 'Sub' $P154 = "42_1274853027.61936" 
+    .const 'Sub' $P154 = "42_1274941417.47266" 
     capture_lex $P154
-    .const 'Sub' $P147 = "40_1274853027.61936" 
+    .const 'Sub' $P147 = "40_1274941417.47266" 
     capture_lex $P147
-    .const 'Sub' $P140 = "38_1274853027.61936" 
+    .const 'Sub' $P140 = "38_1274941417.47266" 
     capture_lex $P140
-    .const 'Sub' $P133 = "36_1274853027.61936" 
+    .const 'Sub' $P133 = "36_1274941417.47266" 
     capture_lex $P133
-    .const 'Sub' $P114 = "31_1274853027.61936" 
+    .const 'Sub' $P114 = "31_1274941417.47266" 
     capture_lex $P114
-    .const 'Sub' $P101 = "28_1274853027.61936" 
+    .const 'Sub' $P101 = "28_1274941417.47266" 
     capture_lex $P101
-    .const 'Sub' $P94 = "26_1274853027.61936" 
+    .const 'Sub' $P94 = "26_1274941417.47266" 
     capture_lex $P94
-    .const 'Sub' $P82 = "24_1274853027.61936" 
+    .const 'Sub' $P82 = "24_1274941417.47266" 
     capture_lex $P82
-    .const 'Sub' $P75 = "22_1274853027.61936" 
+    .const 'Sub' $P75 = "22_1274941417.47266" 
     capture_lex $P75
-    .const 'Sub' $P63 = "20_1274853027.61936" 
+    .const 'Sub' $P63 = "20_1274941417.47266" 
     capture_lex $P63
-    .const 'Sub' $P56 = "18_1274853027.61936" 
+    .const 'Sub' $P56 = "18_1274941417.47266" 
     capture_lex $P56
-    .const 'Sub' $P46 = "15_1274853027.61936" 
+    .const 'Sub' $P46 = "15_1274941417.47266" 
     capture_lex $P46
-    .const 'Sub' $P38 = "13_1274853027.61936" 
+    .const 'Sub' $P38 = "13_1274941417.47266" 
     capture_lex $P38
-    .const 'Sub' $P15 = "12_1274853027.61936" 
+    .const 'Sub' $P15 = "12_1274941417.47266" 
     capture_lex $P15
     $P0 = find_dynamic_lex "$*CTXSAVE"
     if null $P0 goto ctxsave_done
@@ -182,16 +182,16 @@
     unless $I0 goto ctxsave_done
     $P0."ctxsave"()
   ctxsave_done:
-    .const 'Sub' $P571 = "156_1274853027.61936" 
+    .const 'Sub' $P571 = "156_1274941417.47266" 
     capture_lex $P571
     .return ($P571)
-    .const 'Sub' $P580 = "158_1274853027.61936" 
+    .const 'Sub' $P580 = "158_1274941417.47266" 
     .return ($P580)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "obs"  :subid("12_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "obs"  :subid("12_1274941417.47266") :method :outer("11_1274941417.47266")
     .param pmc param_18
     .param pmc param_19
     .param pmc param_20 :optional
@@ -239,7 +239,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "ws"  :subid("13_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "ws"  :subid("13_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx39_tgt
     .local int rx39_pos
@@ -321,7 +321,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__ws"  :subid("14_1274853027.61936") :method
+.sub "!PREFIX__ws"  :subid("14_1274941417.47266") :method
 .annotate 'line', 3
     new $P41, "ResizablePMCArray"
     push $P41, ""
@@ -330,9 +330,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "normspace"  :subid("15_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "normspace"  :subid("15_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
-    .const 'Sub' $P52 = "17_1274853027.61936" 
+    .const 'Sub' $P52 = "17_1274941417.47266" 
     capture_lex $P52
     .local string rx47_tgt
     .local int rx47_pos
@@ -366,7 +366,7 @@
 .annotate 'line', 10
   # rx subrule "before" subtype=zerowidth negate=
     rx47_cur."!cursor_pos"(rx47_pos)
-    .const 'Sub' $P52 = "17_1274853027.61936" 
+    .const 'Sub' $P52 = "17_1274941417.47266" 
     capture_lex $P52
     $P10 = rx47_cur."before"($P52)
     unless $P10, rx47_fail
@@ -394,7 +394,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__normspace"  :subid("16_1274853027.61936") :method
+.sub "!PREFIX__normspace"  :subid("16_1274941417.47266") :method
 .annotate 'line', 3
     new $P49, "ResizablePMCArray"
     push $P49, ""
@@ -403,7 +403,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block51"  :anon :subid("17_1274853027.61936") :method :outer("15_1274853027.61936")
+.sub "_block51"  :anon :subid("17_1274941417.47266") :method :outer("15_1274941417.47266")
 .annotate 'line', 10
     .local string rx53_tgt
     .local int rx53_pos
@@ -471,7 +471,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "arg"  :subid("18_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "arg"  :subid("18_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx57_tgt
     .local int rx57_pos
@@ -582,7 +582,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__arg"  :subid("19_1274853027.61936") :method
+.sub "!PREFIX__arg"  :subid("19_1274941417.47266") :method
 .annotate 'line', 3
     new $P59, "ResizablePMCArray"
     push $P59, ""
@@ -593,7 +593,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "arglist"  :subid("20_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "arglist"  :subid("20_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx64_tgt
     .local int rx64_pos
@@ -699,7 +699,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__arglist"  :subid("21_1274853027.61936") :method
+.sub "!PREFIX__arglist"  :subid("21_1274941417.47266") :method
 .annotate 'line', 3
     new $P66, "ResizablePMCArray"
     push $P66, ""
@@ -708,7 +708,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "TOP"  :subid("22_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "TOP"  :subid("22_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx76_tgt
     .local int rx76_pos
@@ -781,7 +781,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__TOP"  :subid("23_1274853027.61936") :method
+.sub "!PREFIX__TOP"  :subid("23_1274941417.47266") :method
 .annotate 'line', 3
     $P78 = self."!PREFIX__!subrule"("nibbler", "")
     new $P79, "ResizablePMCArray"
@@ -791,7 +791,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "nibbler"  :subid("24_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "nibbler"  :subid("24_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx83_tgt
     .local int rx83_pos
@@ -959,7 +959,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__nibbler"  :subid("25_1274853027.61936") :method
+.sub "!PREFIX__nibbler"  :subid("25_1274941417.47266") :method
 .annotate 'line', 3
     new $P85, "ResizablePMCArray"
     push $P85, ""
@@ -968,7 +968,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "termish"  :subid("26_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "termish"  :subid("26_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx95_tgt
     .local int rx95_pos
@@ -1036,7 +1036,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__termish"  :subid("27_1274853027.61936") :method
+.sub "!PREFIX__termish"  :subid("27_1274941417.47266") :method
 .annotate 'line', 3
     new $P97, "ResizablePMCArray"
     push $P97, ""
@@ -1045,9 +1045,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantified_atom"  :subid("28_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "quantified_atom"  :subid("28_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
-    .const 'Sub' $P110 = "30_1274853027.61936" 
+    .const 'Sub' $P110 = "30_1274941417.47266" 
     capture_lex $P110
     .local string rx102_tgt
     .local int rx102_pos
@@ -1110,7 +1110,7 @@
   alt108_1:
   # rx subrule "before" subtype=zerowidth negate=
     rx102_cur."!cursor_pos"(rx102_pos)
-    .const 'Sub' $P110 = "30_1274853027.61936" 
+    .const 'Sub' $P110 = "30_1274941417.47266" 
     capture_lex $P110
     $P10 = rx102_cur."before"($P110)
     unless $P10, rx102_fail
@@ -1148,7 +1148,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantified_atom"  :subid("29_1274853027.61936") :method
+.sub "!PREFIX__quantified_atom"  :subid("29_1274941417.47266") :method
 .annotate 'line', 3
     $P104 = self."!PREFIX__!subrule"("atom", "")
     new $P105, "ResizablePMCArray"
@@ -1158,7 +1158,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block109"  :anon :subid("30_1274853027.61936") :method :outer("28_1274853027.61936")
+.sub "_block109"  :anon :subid("30_1274941417.47266") :method :outer("28_1274941417.47266")
 .annotate 'line', 41
     .local string rx111_tgt
     .local int rx111_pos
@@ -1214,9 +1214,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "atom"  :subid("31_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "atom"  :subid("31_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
-    .const 'Sub' $P125 = "33_1274853027.61936" 
+    .const 'Sub' $P125 = "33_1274941417.47266" 
     capture_lex $P125
     .local string rx115_tgt
     .local int rx115_pos
@@ -1276,7 +1276,7 @@
   rxquantg122_done:
   # rx subrule "before" subtype=zerowidth negate=
     rx115_cur."!cursor_pos"(rx115_pos)
-    .const 'Sub' $P125 = "33_1274853027.61936" 
+    .const 'Sub' $P125 = "33_1274941417.47266" 
     capture_lex $P125
     $P10 = rx115_cur."before"($P125)
     unless $P10, rx115_fail
@@ -1313,7 +1313,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__atom"  :subid("32_1274853027.61936") :method
+.sub "!PREFIX__atom"  :subid("32_1274941417.47266") :method
 .annotate 'line', 3
     $P117 = self."!PREFIX__!subrule"("metachar", "")
     new $P118, "ResizablePMCArray"
@@ -1324,7 +1324,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block124"  :anon :subid("33_1274853027.61936") :method :outer("31_1274853027.61936")
+.sub "_block124"  :anon :subid("33_1274941417.47266") :method :outer("31_1274941417.47266")
 .annotate 'line', 47
     .local string rx126_tgt
     .local int rx126_pos
@@ -1379,7 +1379,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier"  :subid("34_1274853027.61936") :method
+.sub "quantifier"  :subid("34_1274941417.47266") :method
 .annotate 'line', 52
     $P130 = self."!protoregex"("quantifier")
     .return ($P130)
@@ -1387,7 +1387,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier"  :subid("35_1274853027.61936") :method
+.sub "!PREFIX__quantifier"  :subid("35_1274941417.47266") :method
 .annotate 'line', 52
     $P132 = self."!PREFIX__!protoregex"("quantifier")
     .return ($P132)
@@ -1395,7 +1395,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<*>"  :subid("36_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "quantifier:sym<*>"  :subid("36_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx134_tgt
     .local int rx134_pos
@@ -1474,7 +1474,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<*>"  :subid("37_1274853027.61936") :method
+.sub "!PREFIX__quantifier:sym<*>"  :subid("37_1274941417.47266") :method
 .annotate 'line', 3
     $P136 = self."!PREFIX__!subrule"("backmod", "*")
     new $P137, "ResizablePMCArray"
@@ -1484,7 +1484,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<+>"  :subid("38_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "quantifier:sym<+>"  :subid("38_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx141_tgt
     .local int rx141_pos
@@ -1563,7 +1563,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<+>"  :subid("39_1274853027.61936") :method
+.sub "!PREFIX__quantifier:sym<+>"  :subid("39_1274941417.47266") :method
 .annotate 'line', 3
     $P143 = self."!PREFIX__!subrule"("backmod", "+")
     new $P144, "ResizablePMCArray"
@@ -1573,7 +1573,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<?>"  :subid("40_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "quantifier:sym<?>"  :subid("40_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx148_tgt
     .local int rx148_pos
@@ -1652,7 +1652,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<?>"  :subid("41_1274853027.61936") :method
+.sub "!PREFIX__quantifier:sym<?>"  :subid("41_1274941417.47266") :method
 .annotate 'line', 3
     $P150 = self."!PREFIX__!subrule"("backmod", "?")
     new $P151, "ResizablePMCArray"
@@ -1662,7 +1662,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<**>"  :subid("42_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "quantifier:sym<**>"  :subid("42_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx155_tgt
     .local int rx155_pos
@@ -1851,7 +1851,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<**>"  :subid("43_1274853027.61936") :method
+.sub "!PREFIX__quantifier:sym<**>"  :subid("43_1274941417.47266") :method
 .annotate 'line', 3
     new $P157, "ResizablePMCArray"
     push $P157, "**"
@@ -1860,9 +1860,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backmod"  :subid("44_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "backmod"  :subid("44_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
-    .const 'Sub' $P175 = "46_1274853027.61936" 
+    .const 'Sub' $P175 = "46_1274941417.47266" 
     capture_lex $P175
     .local string rx167_tgt
     .local int rx167_pos
@@ -1932,7 +1932,7 @@
   alt173_2:
   # rx subrule "before" subtype=zerowidth negate=1
     rx167_cur."!cursor_pos"(rx167_pos)
-    .const 'Sub' $P175 = "46_1274853027.61936" 
+    .const 'Sub' $P175 = "46_1274941417.47266" 
     capture_lex $P175
     $P10 = rx167_cur."before"($P175)
     if $P10, rx167_fail
@@ -1956,7 +1956,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backmod"  :subid("45_1274853027.61936") :method
+.sub "!PREFIX__backmod"  :subid("45_1274941417.47266") :method
 .annotate 'line', 3
     new $P169, "ResizablePMCArray"
     push $P169, ""
@@ -1965,7 +1965,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block174"  :anon :subid("46_1274853027.61936") :method :outer("44_1274853027.61936")
+.sub "_block174"  :anon :subid("46_1274941417.47266") :method :outer("44_1274941417.47266")
 .annotate 'line', 71
     .local string rx176_tgt
     .local int rx176_pos
@@ -2021,7 +2021,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar"  :subid("47_1274853027.61936") :method
+.sub "metachar"  :subid("47_1274941417.47266") :method
 .annotate 'line', 73
     $P179 = self."!protoregex"("metachar")
     .return ($P179)
@@ -2029,7 +2029,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar"  :subid("48_1274853027.61936") :method
+.sub "!PREFIX__metachar"  :subid("48_1274941417.47266") :method
 .annotate 'line', 73
     $P181 = self."!PREFIX__!protoregex"("metachar")
     .return ($P181)
@@ -2037,7 +2037,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<ws>"  :subid("49_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "metachar:sym<ws>"  :subid("49_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx183_tgt
     .local int rx183_pos
@@ -2093,7 +2093,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<ws>"  :subid("50_1274853027.61936") :method
+.sub "!PREFIX__metachar:sym<ws>"  :subid("50_1274941417.47266") :method
 .annotate 'line', 3
     $P185 = self."!PREFIX__!subrule"("", "")
     new $P186, "ResizablePMCArray"
@@ -2103,7 +2103,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<[ ]>"  :subid("51_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "metachar:sym<[ ]>"  :subid("51_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx189_tgt
     .local int rx189_pos
@@ -2175,7 +2175,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<[ ]>"  :subid("52_1274853027.61936") :method
+.sub "!PREFIX__metachar:sym<[ ]>"  :subid("52_1274941417.47266") :method
 .annotate 'line', 3
     $P191 = self."!PREFIX__!subrule"("nibbler", "[")
     new $P192, "ResizablePMCArray"
@@ -2185,7 +2185,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<( )>"  :subid("53_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "metachar:sym<( )>"  :subid("53_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx195_tgt
     .local int rx195_pos
@@ -2257,7 +2257,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<( )>"  :subid("54_1274853027.61936") :method
+.sub "!PREFIX__metachar:sym<( )>"  :subid("54_1274941417.47266") :method
 .annotate 'line', 3
     $P197 = self."!PREFIX__!subrule"("nibbler", "(")
     new $P198, "ResizablePMCArray"
@@ -2267,7 +2267,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<'>"  :subid("55_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "metachar:sym<'>"  :subid("55_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx201_tgt
     .local int rx201_pos
@@ -2331,7 +2331,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<'>"  :subid("56_1274853027.61936") :method
+.sub "!PREFIX__metachar:sym<'>"  :subid("56_1274941417.47266") :method
 .annotate 'line', 3
     new $P203, "ResizablePMCArray"
     push $P203, "'"
@@ -2340,7 +2340,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<\">"  :subid("57_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "metachar:sym<\">"  :subid("57_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx206_tgt
     .local int rx206_pos
@@ -2404,7 +2404,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<\">"  :subid("58_1274853027.61936") :method
+.sub "!PREFIX__metachar:sym<\">"  :subid("58_1274941417.47266") :method
 .annotate 'line', 3
     new $P208, "ResizablePMCArray"
     push $P208, "\""
@@ -2413,7 +2413,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<.>"  :subid("59_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "metachar:sym<.>"  :subid("59_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx211_tgt
     .local int rx211_pos
@@ -2485,7 +2485,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<.>"  :subid("60_1274853027.61936") :method
+.sub "!PREFIX__metachar:sym<.>"  :subid("60_1274941417.47266") :method
 .annotate 'line', 3
     new $P213, "ResizablePMCArray"
     push $P213, "."
@@ -2494,7 +2494,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<^>"  :subid("61_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "metachar:sym<^>"  :subid("61_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx217_tgt
     .local int rx217_pos
@@ -2566,7 +2566,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<^>"  :subid("62_1274853027.61936") :method
+.sub "!PREFIX__metachar:sym<^>"  :subid("62_1274941417.47266") :method
 .annotate 'line', 3
     new $P219, "ResizablePMCArray"
     push $P219, "^"
@@ -2575,7 +2575,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<^^>"  :subid("63_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "metachar:sym<^^>"  :subid("63_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx223_tgt
     .local int rx223_pos
@@ -2647,7 +2647,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<^^>"  :subid("64_1274853027.61936") :method
+.sub "!PREFIX__metachar:sym<^^>"  :subid("64_1274941417.47266") :method
 .annotate 'line', 3
     new $P225, "ResizablePMCArray"
     push $P225, "^^"
@@ -2656,7 +2656,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<$>"  :subid("65_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "metachar:sym<$>"  :subid("65_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx229_tgt
     .local int rx229_pos
@@ -2728,7 +2728,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<$>"  :subid("66_1274853027.61936") :method
+.sub "!PREFIX__metachar:sym<$>"  :subid("66_1274941417.47266") :method
 .annotate 'line', 3
     new $P231, "ResizablePMCArray"
     push $P231, "$"
@@ -2737,7 +2737,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<$$>"  :subid("67_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "metachar:sym<$$>"  :subid("67_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx235_tgt
     .local int rx235_pos
@@ -2809,7 +2809,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<$$>"  :subid("68_1274853027.61936") :method
+.sub "!PREFIX__metachar:sym<$$>"  :subid("68_1274941417.47266") :method
 .annotate 'line', 3
     new $P237, "ResizablePMCArray"
     push $P237, "$$"
@@ -2818,7 +2818,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<:::>"  :subid("69_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "metachar:sym<:::>"  :subid("69_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx241_tgt
     .local int rx241_pos
@@ -2895,7 +2895,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<:::>"  :subid("70_1274853027.61936") :method
+.sub "!PREFIX__metachar:sym<:::>"  :subid("70_1274941417.47266") :method
 .annotate 'line', 3
     $P243 = self."!PREFIX__!subrule"("", ":::")
     new $P244, "ResizablePMCArray"
@@ -2905,7 +2905,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<::>"  :subid("71_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "metachar:sym<::>"  :subid("71_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx248_tgt
     .local int rx248_pos
@@ -2982,7 +2982,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<::>"  :subid("72_1274853027.61936") :method
+.sub "!PREFIX__metachar:sym<::>"  :subid("72_1274941417.47266") :method
 .annotate 'line', 3
     $P250 = self."!PREFIX__!subrule"("", "::")
     new $P251, "ResizablePMCArray"
@@ -2992,7 +2992,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<lwb>"  :subid("73_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "metachar:sym<lwb>"  :subid("73_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx255_tgt
     .local int rx255_pos
@@ -3077,7 +3077,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<lwb>"  :subid("74_1274853027.61936") :method
+.sub "!PREFIX__metachar:sym<lwb>"  :subid("74_1274941417.47266") :method
 .annotate 'line', 3
     new $P257, "ResizablePMCArray"
     push $P257, unicode:"\x{ab}"
@@ -3087,7 +3087,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<rwb>"  :subid("75_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "metachar:sym<rwb>"  :subid("75_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx262_tgt
     .local int rx262_pos
@@ -3172,7 +3172,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<rwb>"  :subid("76_1274853027.61936") :method
+.sub "!PREFIX__metachar:sym<rwb>"  :subid("76_1274941417.47266") :method
 .annotate 'line', 3
     new $P264, "ResizablePMCArray"
     push $P264, unicode:"\x{bb}"
@@ -3182,7 +3182,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<bs>"  :subid("77_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "metachar:sym<bs>"  :subid("77_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx269_tgt
     .local int rx269_pos
@@ -3247,7 +3247,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<bs>"  :subid("78_1274853027.61936") :method
+.sub "!PREFIX__metachar:sym<bs>"  :subid("78_1274941417.47266") :method
 .annotate 'line', 3
     $P271 = self."!PREFIX__!subrule"("backslash", "\\")
     new $P272, "ResizablePMCArray"
@@ -3257,7 +3257,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<mod>"  :subid("79_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "metachar:sym<mod>"  :subid("79_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx275_tgt
     .local int rx275_pos
@@ -3315,7 +3315,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<mod>"  :subid("80_1274853027.61936") :method
+.sub "!PREFIX__metachar:sym<mod>"  :subid("80_1274941417.47266") :method
 .annotate 'line', 3
     $P277 = self."!PREFIX__!subrule"("mod_internal", "")
     new $P278, "ResizablePMCArray"
@@ -3325,7 +3325,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<~>"  :subid("81_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "metachar:sym<~>"  :subid("81_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx281_tgt
     .local int rx281_pos
@@ -3424,7 +3424,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<~>"  :subid("82_1274853027.61936") :method
+.sub "!PREFIX__metachar:sym<~>"  :subid("82_1274941417.47266") :method
 .annotate 'line', 3
     $P283 = self."!PREFIX__!subrule"("", "~")
     new $P284, "ResizablePMCArray"
@@ -3434,7 +3434,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<{*}>"  :subid("83_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "metachar:sym<{*}>"  :subid("83_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx288_tgt
     .local int rx288_pos
@@ -3601,7 +3601,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<{*}>"  :subid("84_1274853027.61936") :method
+.sub "!PREFIX__metachar:sym<{*}>"  :subid("84_1274941417.47266") :method
 .annotate 'line', 3
     new $P290, "ResizablePMCArray"
     push $P290, "{*}"
@@ -3610,7 +3610,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<assert>"  :subid("85_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "metachar:sym<assert>"  :subid("85_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx305_tgt
     .local int rx305_pos
@@ -3695,7 +3695,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<assert>"  :subid("86_1274853027.61936") :method
+.sub "!PREFIX__metachar:sym<assert>"  :subid("86_1274941417.47266") :method
 .annotate 'line', 3
     $P307 = self."!PREFIX__!subrule"("assertion", "<")
     new $P308, "ResizablePMCArray"
@@ -3705,7 +3705,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<var>"  :subid("87_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "metachar:sym<var>"  :subid("87_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx312_tgt
     .local int rx312_pos
@@ -3867,7 +3867,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<var>"  :subid("88_1274853027.61936") :method
+.sub "!PREFIX__metachar:sym<var>"  :subid("88_1274941417.47266") :method
 .annotate 'line', 3
     new $P314, "ResizablePMCArray"
     push $P314, "$"
@@ -3877,7 +3877,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<PIR>"  :subid("89_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "metachar:sym<PIR>"  :subid("89_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx324_tgt
     .local int rx324_pos
@@ -3968,7 +3968,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<PIR>"  :subid("90_1274853027.61936") :method
+.sub "!PREFIX__metachar:sym<PIR>"  :subid("90_1274941417.47266") :method
 .annotate 'line', 3
     new $P326, "ResizablePMCArray"
     push $P326, ":PIR{{"
@@ -3977,7 +3977,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash"  :subid("91_1274853027.61936") :method
+.sub "backslash"  :subid("91_1274941417.47266") :method
 .annotate 'line', 120
     $P332 = self."!protoregex"("backslash")
     .return ($P332)
@@ -3985,7 +3985,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash"  :subid("92_1274853027.61936") :method
+.sub "!PREFIX__backslash"  :subid("92_1274941417.47266") :method
 .annotate 'line', 120
     $P334 = self."!PREFIX__!protoregex"("backslash")
     .return ($P334)
@@ -3993,7 +3993,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<w>"  :subid("93_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "backslash:sym<w>"  :subid("93_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx336_tgt
     .local int rx336_pos
@@ -4065,7 +4065,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<w>"  :subid("94_1274853027.61936") :method
+.sub "!PREFIX__backslash:sym<w>"  :subid("94_1274941417.47266") :method
 .annotate 'line', 3
     new $P338, "ResizablePMCArray"
     push $P338, "N"
@@ -4081,7 +4081,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<b>"  :subid("95_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "backslash:sym<b>"  :subid("95_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx342_tgt
     .local int rx342_pos
@@ -4153,7 +4153,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<b>"  :subid("96_1274853027.61936") :method
+.sub "!PREFIX__backslash:sym<b>"  :subid("96_1274941417.47266") :method
 .annotate 'line', 3
     new $P344, "ResizablePMCArray"
     push $P344, "B"
@@ -4163,7 +4163,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<e>"  :subid("97_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "backslash:sym<e>"  :subid("97_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx348_tgt
     .local int rx348_pos
@@ -4235,7 +4235,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<e>"  :subid("98_1274853027.61936") :method
+.sub "!PREFIX__backslash:sym<e>"  :subid("98_1274941417.47266") :method
 .annotate 'line', 3
     new $P350, "ResizablePMCArray"
     push $P350, "E"
@@ -4245,7 +4245,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<f>"  :subid("99_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "backslash:sym<f>"  :subid("99_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx354_tgt
     .local int rx354_pos
@@ -4317,7 +4317,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<f>"  :subid("100_1274853027.61936") :method
+.sub "!PREFIX__backslash:sym<f>"  :subid("100_1274941417.47266") :method
 .annotate 'line', 3
     new $P356, "ResizablePMCArray"
     push $P356, "F"
@@ -4327,7 +4327,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<h>"  :subid("101_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "backslash:sym<h>"  :subid("101_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx360_tgt
     .local int rx360_pos
@@ -4399,7 +4399,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<h>"  :subid("102_1274853027.61936") :method
+.sub "!PREFIX__backslash:sym<h>"  :subid("102_1274941417.47266") :method
 .annotate 'line', 3
     new $P362, "ResizablePMCArray"
     push $P362, "H"
@@ -4409,7 +4409,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<r>"  :subid("103_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "backslash:sym<r>"  :subid("103_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx366_tgt
     .local int rx366_pos
@@ -4481,7 +4481,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<r>"  :subid("104_1274853027.61936") :method
+.sub "!PREFIX__backslash:sym<r>"  :subid("104_1274941417.47266") :method
 .annotate 'line', 3
     new $P368, "ResizablePMCArray"
     push $P368, "R"
@@ -4491,7 +4491,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<t>"  :subid("105_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "backslash:sym<t>"  :subid("105_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx372_tgt
     .local int rx372_pos
@@ -4563,7 +4563,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<t>"  :subid("106_1274853027.61936") :method
+.sub "!PREFIX__backslash:sym<t>"  :subid("106_1274941417.47266") :method
 .annotate 'line', 3
     new $P374, "ResizablePMCArray"
     push $P374, "T"
@@ -4573,7 +4573,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<v>"  :subid("107_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "backslash:sym<v>"  :subid("107_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx378_tgt
     .local int rx378_pos
@@ -4645,7 +4645,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<v>"  :subid("108_1274853027.61936") :method
+.sub "!PREFIX__backslash:sym<v>"  :subid("108_1274941417.47266") :method
 .annotate 'line', 3
     new $P380, "ResizablePMCArray"
     push $P380, "V"
@@ -4655,7 +4655,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<o>"  :subid("109_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "backslash:sym<o>"  :subid("109_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx384_tgt
     .local int rx384_pos
@@ -4761,7 +4761,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<o>"  :subid("110_1274853027.61936") :method
+.sub "!PREFIX__backslash:sym<o>"  :subid("110_1274941417.47266") :method
 .annotate 'line', 3
     $P386 = self."!PREFIX__!subrule"("octints", "O[")
     $P387 = self."!PREFIX__!subrule"("octint", "O")
@@ -4777,7 +4777,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<x>"  :subid("111_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "backslash:sym<x>"  :subid("111_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx395_tgt
     .local int rx395_pos
@@ -4883,7 +4883,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<x>"  :subid("112_1274853027.61936") :method
+.sub "!PREFIX__backslash:sym<x>"  :subid("112_1274941417.47266") :method
 .annotate 'line', 3
     $P397 = self."!PREFIX__!subrule"("hexints", "X[")
     $P398 = self."!PREFIX__!subrule"("hexint", "X")
@@ -4899,7 +4899,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<c>"  :subid("113_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "backslash:sym<c>"  :subid("113_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx406_tgt
     .local int rx406_pos
@@ -4978,7 +4978,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<c>"  :subid("114_1274853027.61936") :method
+.sub "!PREFIX__backslash:sym<c>"  :subid("114_1274941417.47266") :method
 .annotate 'line', 3
     $P408 = self."!PREFIX__!subrule"("charspec", "C")
     $P409 = self."!PREFIX__!subrule"("charspec", "c")
@@ -4990,7 +4990,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<A>"  :subid("115_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "backslash:sym<A>"  :subid("115_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx414_tgt
     .local int rx414_pos
@@ -5053,7 +5053,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<A>"  :subid("116_1274853027.61936") :method
+.sub "!PREFIX__backslash:sym<A>"  :subid("116_1274941417.47266") :method
 .annotate 'line', 3
     $P416 = self."!PREFIX__!subrule"("", "A")
     new $P417, "ResizablePMCArray"
@@ -5063,7 +5063,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<z>"  :subid("117_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "backslash:sym<z>"  :subid("117_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx420_tgt
     .local int rx420_pos
@@ -5126,7 +5126,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<z>"  :subid("118_1274853027.61936") :method
+.sub "!PREFIX__backslash:sym<z>"  :subid("118_1274941417.47266") :method
 .annotate 'line', 3
     $P422 = self."!PREFIX__!subrule"("", "z")
     new $P423, "ResizablePMCArray"
@@ -5136,7 +5136,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<Z>"  :subid("119_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "backslash:sym<Z>"  :subid("119_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx426_tgt
     .local int rx426_pos
@@ -5199,7 +5199,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<Z>"  :subid("120_1274853027.61936") :method
+.sub "!PREFIX__backslash:sym<Z>"  :subid("120_1274941417.47266") :method
 .annotate 'line', 3
     $P428 = self."!PREFIX__!subrule"("", "Z")
     new $P429, "ResizablePMCArray"
@@ -5209,7 +5209,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<Q>"  :subid("121_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "backslash:sym<Q>"  :subid("121_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx432_tgt
     .local int rx432_pos
@@ -5272,7 +5272,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<Q>"  :subid("122_1274853027.61936") :method
+.sub "!PREFIX__backslash:sym<Q>"  :subid("122_1274941417.47266") :method
 .annotate 'line', 3
     $P434 = self."!PREFIX__!subrule"("", "Q")
     new $P435, "ResizablePMCArray"
@@ -5282,7 +5282,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<misc>"  :subid("123_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "backslash:sym<misc>"  :subid("123_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx438_tgt
     .local int rx438_pos
@@ -5339,7 +5339,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<misc>"  :subid("124_1274853027.61936") :method
+.sub "!PREFIX__backslash:sym<misc>"  :subid("124_1274941417.47266") :method
 .annotate 'line', 3
     new $P440, "ResizablePMCArray"
     push $P440, ""
@@ -5348,7 +5348,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion"  :subid("125_1274853027.61936") :method
+.sub "assertion"  :subid("125_1274941417.47266") :method
 .annotate 'line', 138
     $P443 = self."!protoregex"("assertion")
     .return ($P443)
@@ -5356,7 +5356,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion"  :subid("126_1274853027.61936") :method
+.sub "!PREFIX__assertion"  :subid("126_1274941417.47266") :method
 .annotate 'line', 138
     $P445 = self."!PREFIX__!protoregex"("assertion")
     .return ($P445)
@@ -5364,9 +5364,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<?>"  :subid("127_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "assertion:sym<?>"  :subid("127_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
-    .const 'Sub' $P454 = "129_1274853027.61936" 
+    .const 'Sub' $P454 = "129_1274941417.47266" 
     capture_lex $P454
     .local string rx447_tgt
     .local int rx447_pos
@@ -5410,7 +5410,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_1274853027.61936" 
+    .const 'Sub' $P454 = "129_1274941417.47266" 
     capture_lex $P454
     $P10 = rx447_cur."before"($P454)
     unless $P10, rx447_fail
@@ -5443,7 +5443,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<?>"  :subid("128_1274853027.61936") :method
+.sub "!PREFIX__assertion:sym<?>"  :subid("128_1274941417.47266") :method
 .annotate 'line', 3
     $P449 = self."!PREFIX__!subrule"("assertion", "?")
     new $P450, "ResizablePMCArray"
@@ -5454,7 +5454,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block453"  :anon :subid("129_1274853027.61936") :method :outer("127_1274853027.61936")
+.sub "_block453"  :anon :subid("129_1274941417.47266") :method :outer("127_1274941417.47266")
 .annotate 'line', 140
     .local string rx455_tgt
     .local int rx455_pos
@@ -5510,9 +5510,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<!>"  :subid("130_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "assertion:sym<!>"  :subid("130_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
-    .const 'Sub' $P465 = "132_1274853027.61936" 
+    .const 'Sub' $P465 = "132_1274941417.47266" 
     capture_lex $P465
     .local string rx458_tgt
     .local int rx458_pos
@@ -5556,7 +5556,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_1274853027.61936" 
+    .const 'Sub' $P465 = "132_1274941417.47266" 
     capture_lex $P465
     $P10 = rx458_cur."before"($P465)
     unless $P10, rx458_fail
@@ -5589,7 +5589,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<!>"  :subid("131_1274853027.61936") :method
+.sub "!PREFIX__assertion:sym<!>"  :subid("131_1274941417.47266") :method
 .annotate 'line', 3
     $P460 = self."!PREFIX__!subrule"("assertion", "!")
     new $P461, "ResizablePMCArray"
@@ -5600,7 +5600,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block464"  :anon :subid("132_1274853027.61936") :method :outer("130_1274853027.61936")
+.sub "_block464"  :anon :subid("132_1274941417.47266") :method :outer("130_1274941417.47266")
 .annotate 'line', 141
     .local string rx466_tgt
     .local int rx466_pos
@@ -5656,7 +5656,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<method>"  :subid("133_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "assertion:sym<method>"  :subid("133_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx469_tgt
     .local int rx469_pos
@@ -5722,7 +5722,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<method>"  :subid("134_1274853027.61936") :method
+.sub "!PREFIX__assertion:sym<method>"  :subid("134_1274941417.47266") :method
 .annotate 'line', 3
     $P471 = self."!PREFIX__!subrule"("assertion", ".")
     new $P472, "ResizablePMCArray"
@@ -5732,9 +5732,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<name>"  :subid("135_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "assertion:sym<name>"  :subid("135_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
-    .const 'Sub' $P483 = "137_1274853027.61936" 
+    .const 'Sub' $P483 = "137_1274941417.47266" 
     capture_lex $P483
     .local string rx475_tgt
     .local int rx475_pos
@@ -5744,7 +5744,7 @@
     .local pmc rx475_cur
     (rx475_cur, rx475_pos, rx475_tgt) = self."!cursor_start"()
     rx475_cur."!cursor_debug"("START ", "assertion:sym<name>")
-    rx475_cur."!cursor_caparray"("arglist", "nibbler", "assertion")
+    rx475_cur."!cursor_caparray"("nibbler", "arglist", "assertion")
     .lex unicode:"$\x{a2}", rx475_cur
     .local pmc match
     .lex "$/", match
@@ -5799,7 +5799,7 @@
 .annotate 'line', 150
   # rx subrule "before" subtype=zerowidth negate=
     rx475_cur."!cursor_pos"(rx475_pos)
-    .const 'Sub' $P483 = "137_1274853027.61936" 
+    .const 'Sub' $P483 = "137_1274941417.47266" 
     capture_lex $P483
     $P10 = rx475_cur."before"($P483)
     unless $P10, rx475_fail
@@ -5906,7 +5906,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<name>"  :subid("136_1274853027.61936") :method
+.sub "!PREFIX__assertion:sym<name>"  :subid("136_1274941417.47266") :method
 .annotate 'line', 3
     new $P477, "ResizablePMCArray"
     push $P477, ""
@@ -5915,7 +5915,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block482"  :anon :subid("137_1274853027.61936") :method :outer("135_1274853027.61936")
+.sub "_block482"  :anon :subid("137_1274941417.47266") :method :outer("135_1274941417.47266")
 .annotate 'line', 150
     .local string rx484_tgt
     .local int rx484_pos
@@ -5971,9 +5971,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<[>"  :subid("138_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "assertion:sym<[>"  :subid("138_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
-    .const 'Sub' $P493 = "140_1274853027.61936" 
+    .const 'Sub' $P493 = "140_1274941417.47266" 
     capture_lex $P493
     .local string rx488_tgt
     .local int rx488_pos
@@ -6008,7 +6008,7 @@
 .annotate 'line', 158
   # rx subrule "before" subtype=zerowidth negate=
     rx488_cur."!cursor_pos"(rx488_pos)
-    .const 'Sub' $P493 = "140_1274853027.61936" 
+    .const 'Sub' $P493 = "140_1274941417.47266" 
     capture_lex $P493
     $P10 = rx488_cur."before"($P493)
     unless $P10, rx488_fail
@@ -6046,7 +6046,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<[>"  :subid("139_1274853027.61936") :method
+.sub "!PREFIX__assertion:sym<[>"  :subid("139_1274941417.47266") :method
 .annotate 'line', 3
     new $P490, "ResizablePMCArray"
     push $P490, ""
@@ -6055,7 +6055,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block492"  :anon :subid("140_1274853027.61936") :method :outer("138_1274853027.61936")
+.sub "_block492"  :anon :subid("140_1274941417.47266") :method :outer("138_1274941417.47266")
 .annotate 'line', 158
     .local string rx494_tgt
     .local int rx494_pos
@@ -6135,9 +6135,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "cclass_elem"  :subid("141_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "cclass_elem"  :subid("141_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
-    .const 'Sub' $P511 = "143_1274853027.61936" 
+    .const 'Sub' $P511 = "143_1274941417.47266" 
     capture_lex $P511
     .local string rx500_tgt
     .local int rx500_pos
@@ -6240,7 +6240,7 @@
 .annotate 'line', 164
   # rx subrule $P511 subtype=capture negate=
     rx500_cur."!cursor_pos"(rx500_pos)
-    .const 'Sub' $P511 = "143_1274853027.61936" 
+    .const 'Sub' $P511 = "143_1274941417.47266" 
     capture_lex $P511
     $P10 = rx500_cur.$P511()
     unless $P10, rx500_fail
@@ -6321,7 +6321,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__cclass_elem"  :subid("142_1274853027.61936") :method
+.sub "!PREFIX__cclass_elem"  :subid("142_1274941417.47266") :method
 .annotate 'line', 3
     new $P502, "ResizablePMCArray"
     push $P502, ""
@@ -6332,13 +6332,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block510"  :anon :subid("143_1274853027.61936") :method :outer("141_1274853027.61936")
+.sub "_block510"  :anon :subid("143_1274941417.47266") :method :outer("141_1274941417.47266")
 .annotate 'line', 164
-    .const 'Sub' $P526 = "146_1274853027.61936" 
+    .const 'Sub' $P526 = "146_1274941417.47266" 
     capture_lex $P526
-    .const 'Sub' $P521 = "145_1274853027.61936" 
+    .const 'Sub' $P521 = "145_1274941417.47266" 
     capture_lex $P521
-    .const 'Sub' $P517 = "144_1274853027.61936" 
+    .const 'Sub' $P517 = "144_1274941417.47266" 
     capture_lex $P517
     .local string rx512_tgt
     .local int rx512_pos
@@ -6409,7 +6409,7 @@
     add rx512_pos, 1
   # rx subrule $P517 subtype=capture negate=
     rx512_cur."!cursor_pos"(rx512_pos)
-    .const 'Sub' $P517 = "144_1274853027.61936" 
+    .const 'Sub' $P517 = "144_1274941417.47266" 
     capture_lex $P517
     $P10 = rx512_cur.$P517()
     unless $P10, rx512_fail
@@ -6420,7 +6420,7 @@
   alt515_1:
   # rx subrule $P521 subtype=capture negate=
     rx512_cur."!cursor_pos"(rx512_pos)
-    .const 'Sub' $P521 = "145_1274853027.61936" 
+    .const 'Sub' $P521 = "145_1274941417.47266" 
     capture_lex $P521
     $P10 = rx512_cur.$P521()
     unless $P10, rx512_fail
@@ -6449,7 +6449,7 @@
     add rx512_pos, rx512_off, $I11
   # rx subrule $P526 subtype=capture negate=
     rx512_cur."!cursor_pos"(rx512_pos)
-    .const 'Sub' $P526 = "146_1274853027.61936" 
+    .const 'Sub' $P526 = "146_1274941417.47266" 
     capture_lex $P526
     $P10 = rx512_cur.$P526()
     unless $P10, rx512_fail
@@ -6478,7 +6478,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block516"  :anon :subid("144_1274853027.61936") :method :outer("143_1274853027.61936")
+.sub "_block516"  :anon :subid("144_1274941417.47266") :method :outer("143_1274941417.47266")
 .annotate 'line', 166
     .local string rx518_tgt
     .local int rx518_pos
@@ -6530,7 +6530,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block520"  :anon :subid("145_1274853027.61936") :method :outer("143_1274853027.61936")
+.sub "_block520"  :anon :subid("145_1274941417.47266") :method :outer("143_1274941417.47266")
 .annotate 'line', 166
     .local string rx522_tgt
     .local int rx522_pos
@@ -6586,7 +6586,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block525"  :anon :subid("146_1274853027.61936") :method :outer("143_1274853027.61936")
+.sub "_block525"  :anon :subid("146_1274941417.47266") :method :outer("143_1274941417.47266")
 .annotate 'line', 166
     .local string rx527_tgt
     .local int rx527_pos
@@ -6638,9 +6638,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_internal"  :subid("147_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "mod_internal"  :subid("147_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
-    .const 'Sub' $P543 = "149_1274853027.61936" 
+    .const 'Sub' $P543 = "149_1274941417.47266" 
     capture_lex $P543
     .local string rx535_tgt
     .local int rx535_pos
@@ -6690,7 +6690,7 @@
   rxquantr541_loop:
   # rx subrule $P543 subtype=capture negate=
     rx535_cur."!cursor_pos"(rx535_pos)
-    .const 'Sub' $P543 = "149_1274853027.61936" 
+    .const 'Sub' $P543 = "149_1274941417.47266" 
     capture_lex $P543
     $P10 = rx535_cur.$P543()
     unless $P10, rx535_fail
@@ -6792,7 +6792,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_internal"  :subid("148_1274853027.61936") :method
+.sub "!PREFIX__mod_internal"  :subid("148_1274941417.47266") :method
 .annotate 'line', 3
     $P537 = self."!PREFIX__!subrule"("mod_ident", ":")
     new $P538, "ResizablePMCArray"
@@ -6803,7 +6803,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block542"  :anon :subid("149_1274853027.61936") :method :outer("147_1274853027.61936")
+.sub "_block542"  :anon :subid("149_1274941417.47266") :method :outer("147_1274941417.47266")
 .annotate 'line', 176
     .local string rx544_tgt
     .local int rx544_pos
@@ -6871,7 +6871,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident"  :subid("150_1274853027.61936") :method
+.sub "mod_ident"  :subid("150_1274941417.47266") :method
 .annotate 'line', 181
     $P552 = self."!protoregex"("mod_ident")
     .return ($P552)
@@ -6879,7 +6879,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident"  :subid("151_1274853027.61936") :method
+.sub "!PREFIX__mod_ident"  :subid("151_1274941417.47266") :method
 .annotate 'line', 181
     $P554 = self."!PREFIX__!protoregex"("mod_ident")
     .return ($P554)
@@ -6887,7 +6887,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident:sym<ignorecase>"  :subid("152_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "mod_ident:sym<ignorecase>"  :subid("152_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx556_tgt
     .local int rx556_pos
@@ -6972,7 +6972,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident:sym<ignorecase>"  :subid("153_1274853027.61936") :method
+.sub "!PREFIX__mod_ident:sym<ignorecase>"  :subid("153_1274941417.47266") :method
 .annotate 'line', 3
     new $P558, "ResizablePMCArray"
     push $P558, "i"
@@ -6981,7 +6981,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident:sym<ratchet>"  :subid("154_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "mod_ident:sym<ratchet>"  :subid("154_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx564_tgt
     .local int rx564_pos
@@ -7066,7 +7066,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident:sym<ratchet>"  :subid("155_1274853027.61936") :method
+.sub "!PREFIX__mod_ident:sym<ratchet>"  :subid("155_1274941417.47266") :method
 .annotate 'line', 3
     new $P566, "ResizablePMCArray"
     push $P566, "r"
@@ -7075,7 +7075,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident:sym<sigspace>"  :subid("156_1274853027.61936") :method :outer("11_1274853027.61936")
+.sub "mod_ident:sym<sigspace>"  :subid("156_1274941417.47266") :method :outer("11_1274941417.47266")
 .annotate 'line', 3
     .local string rx572_tgt
     .local int rx572_pos
@@ -7160,7 +7160,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident:sym<sigspace>"  :subid("157_1274853027.61936") :method
+.sub "!PREFIX__mod_ident:sym<sigspace>"  :subid("157_1274941417.47266") :method
 .annotate 'line', 3
     new $P574, "ResizablePMCArray"
     push $P574, "s"
@@ -7169,18 +7169,18 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block579" :load :anon :subid("158_1274853027.61936")
+.sub "_block579" :load :anon :subid("158_1274941417.47266")
 .annotate 'line', 3
-    .const 'Sub' $P581 = "11_1274853027.61936" 
+    .const 'Sub' $P581 = "11_1274941417.47266" 
     $P582 = $P581()
     .return ($P582)
 .end
 
 
 .namespace []
-.sub "_block584" :load :anon :subid("159_1274853027.61936")
+.sub "_block584" :load :anon :subid("159_1274941417.47266")
 .annotate 'line', 1
-    .const 'Sub' $P586 = "10_1274853027.61936" 
+    .const 'Sub' $P586 = "10_1274941417.47266" 
     $P587 = $P586()
     .return ($P587)
 .end
@@ -7188,7 +7188,7 @@
 ### .include 'gen/p6regex-actions.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1274853033.06396")
+.sub "_block11"  :anon :subid("10_1274941429.15859")
 .annotate 'line', 0
     get_hll_global $P14, ["Regex";"P6Regex";"Actions"], "_block13" 
     capture_lex $P14
@@ -7205,15 +7205,15 @@
     $P1572 = $P14()
 .annotate 'line', 1
     .return ($P1572)
-    .const 'Sub' $P1574 = "90_1274853033.06396" 
+    .const 'Sub' $P1574 = "90_1274941429.15859" 
     .return ($P1574)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post91") :outer("10_1274853033.06396")
+.sub "" :load :init :subid("post91") :outer("10_1274941429.15859")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1274853033.06396" 
+    .const 'Sub' $P12 = "10_1274941429.15859" 
     .local pmc block
     set block, $P12
     $P1577 = get_root_global ["parrot"], "P6metaclass"
@@ -7222,115 +7222,115 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block13"  :subid("11_1274853033.06396") :outer("10_1274853033.06396")
+.sub "_block13"  :subid("11_1274941429.15859") :outer("10_1274941429.15859")
 .annotate 'line', 4
-    .const 'Sub' $P1534 = "88_1274853033.06396" 
+    .const 'Sub' $P1534 = "88_1274941429.15859" 
     capture_lex $P1534
-    .const 'Sub' $P1465 = "84_1274853033.06396" 
+    .const 'Sub' $P1465 = "84_1274941429.15859" 
     capture_lex $P1465
-    .const 'Sub' $P1397 = "82_1274853033.06396" 
+    .const 'Sub' $P1397 = "82_1274941429.15859" 
     capture_lex $P1397
-    .const 'Sub' $P1324 = "79_1274853033.06396" 
+    .const 'Sub' $P1324 = "79_1274941429.15859" 
     capture_lex $P1324
-    .const 'Sub' $P1310 = "78_1274853033.06396" 
+    .const 'Sub' $P1310 = "78_1274941429.15859" 
     capture_lex $P1310
-    .const 'Sub' $P1286 = "77_1274853033.06396" 
+    .const 'Sub' $P1286 = "77_1274941429.15859" 
     capture_lex $P1286
-    .const 'Sub' $P1268 = "76_1274853033.06396" 
+    .const 'Sub' $P1268 = "76_1274941429.15859" 
     capture_lex $P1268
-    .const 'Sub' $P1254 = "75_1274853033.06396" 
+    .const 'Sub' $P1254 = "75_1274941429.15859" 
     capture_lex $P1254
-    .const 'Sub' $P1241 = "74_1274853033.06396" 
+    .const 'Sub' $P1241 = "74_1274941429.15859" 
     capture_lex $P1241
-    .const 'Sub' $P1210 = "73_1274853033.06396" 
+    .const 'Sub' $P1210 = "73_1274941429.15859" 
     capture_lex $P1210
-    .const 'Sub' $P1179 = "72_1274853033.06396" 
+    .const 'Sub' $P1179 = "72_1274941429.15859" 
     capture_lex $P1179
-    .const 'Sub' $P1163 = "71_1274853033.06396" 
+    .const 'Sub' $P1163 = "71_1274941429.15859" 
     capture_lex $P1163
-    .const 'Sub' $P1147 = "70_1274853033.06396" 
+    .const 'Sub' $P1147 = "70_1274941429.15859" 
     capture_lex $P1147
-    .const 'Sub' $P1131 = "69_1274853033.06396" 
+    .const 'Sub' $P1131 = "69_1274941429.15859" 
     capture_lex $P1131
-    .const 'Sub' $P1115 = "68_1274853033.06396" 
+    .const 'Sub' $P1115 = "68_1274941429.15859" 
     capture_lex $P1115
-    .const 'Sub' $P1099 = "67_1274853033.06396" 
+    .const 'Sub' $P1099 = "67_1274941429.15859" 
     capture_lex $P1099
-    .const 'Sub' $P1083 = "66_1274853033.06396" 
+    .const 'Sub' $P1083 = "66_1274941429.15859" 
     capture_lex $P1083
-    .const 'Sub' $P1067 = "65_1274853033.06396" 
+    .const 'Sub' $P1067 = "65_1274941429.15859" 
     capture_lex $P1067
-    .const 'Sub' $P1043 = "64_1274853033.06396" 
+    .const 'Sub' $P1043 = "64_1274941429.15859" 
     capture_lex $P1043
-    .const 'Sub' $P1028 = "63_1274853033.06396" 
+    .const 'Sub' $P1028 = "63_1274941429.15859" 
     capture_lex $P1028
-    .const 'Sub' $P972 = "62_1274853033.06396" 
+    .const 'Sub' $P972 = "62_1274941429.15859" 
     capture_lex $P972
-    .const 'Sub' $P951 = "61_1274853033.06396" 
+    .const 'Sub' $P951 = "61_1274941429.15859" 
     capture_lex $P951
-    .const 'Sub' $P929 = "60_1274853033.06396" 
+    .const 'Sub' $P929 = "60_1274941429.15859" 
     capture_lex $P929
-    .const 'Sub' $P919 = "59_1274853033.06396" 
+    .const 'Sub' $P919 = "59_1274941429.15859" 
     capture_lex $P919
-    .const 'Sub' $P909 = "58_1274853033.06396" 
+    .const 'Sub' $P909 = "58_1274941429.15859" 
     capture_lex $P909
-    .const 'Sub' $P899 = "57_1274853033.06396" 
+    .const 'Sub' $P899 = "57_1274941429.15859" 
     capture_lex $P899
-    .const 'Sub' $P887 = "56_1274853033.06396" 
+    .const 'Sub' $P887 = "56_1274941429.15859" 
     capture_lex $P887
-    .const 'Sub' $P875 = "55_1274853033.06396" 
+    .const 'Sub' $P875 = "55_1274941429.15859" 
     capture_lex $P875
-    .const 'Sub' $P863 = "54_1274853033.06396" 
+    .const 'Sub' $P863 = "54_1274941429.15859" 
     capture_lex $P863
-    .const 'Sub' $P851 = "53_1274853033.06396" 
+    .const 'Sub' $P851 = "53_1274941429.15859" 
     capture_lex $P851
-    .const 'Sub' $P839 = "52_1274853033.06396" 
+    .const 'Sub' $P839 = "52_1274941429.15859" 
     capture_lex $P839
-    .const 'Sub' $P827 = "51_1274853033.06396" 
+    .const 'Sub' $P827 = "51_1274941429.15859" 
     capture_lex $P827
-    .const 'Sub' $P815 = "50_1274853033.06396" 
+    .const 'Sub' $P815 = "50_1274941429.15859" 
     capture_lex $P815
-    .const 'Sub' $P803 = "49_1274853033.06396" 
+    .const 'Sub' $P803 = "49_1274941429.15859" 
     capture_lex $P803
-    .const 'Sub' $P780 = "48_1274853033.06396" 
+    .const 'Sub' $P780 = "48_1274941429.15859" 
     capture_lex $P780
-    .const 'Sub' $P757 = "47_1274853033.06396" 
+    .const 'Sub' $P757 = "47_1274941429.15859" 
     capture_lex $P757
-    .const 'Sub' $P739 = "46_1274853033.06396" 
+    .const 'Sub' $P739 = "46_1274941429.15859" 
     capture_lex $P739
-    .const 'Sub' $P729 = "45_1274853033.06396" 
+    .const 'Sub' $P729 = "45_1274941429.15859" 
     capture_lex $P729
-    .const 'Sub' $P711 = "44_1274853033.06396" 
+    .const 'Sub' $P711 = "44_1274941429.15859" 
     capture_lex $P711
-    .const 'Sub' $P664 = "43_1274853033.06396" 
+    .const 'Sub' $P664 = "43_1274941429.15859" 
     capture_lex $P664
-    .const 'Sub' $P647 = "42_1274853033.06396" 
+    .const 'Sub' $P647 = "42_1274941429.15859" 
     capture_lex $P647
-    .const 'Sub' $P632 = "41_1274853033.06396" 
+    .const 'Sub' $P632 = "41_1274941429.15859" 
     capture_lex $P632
-    .const 'Sub' $P617 = "40_1274853033.06396" 
+    .const 'Sub' $P617 = "40_1274941429.15859" 
     capture_lex $P617
-    .const 'Sub' $P591 = "39_1274853033.06396" 
+    .const 'Sub' $P591 = "39_1274941429.15859" 
     capture_lex $P591
-    .const 'Sub' $P541 = "37_1274853033.06396" 
+    .const 'Sub' $P541 = "37_1274941429.15859" 
     capture_lex $P541
-    .const 'Sub' $P473 = "35_1274853033.06396" 
+    .const 'Sub' $P473 = "35_1274941429.15859" 
     capture_lex $P473
-    .const 'Sub' $P418 = "32_1274853033.06396" 
+    .const 'Sub' $P418 = "32_1274941429.15859" 
     capture_lex $P418
-    .const 'Sub' $P403 = "31_1274853033.06396" 
+    .const 'Sub' $P403 = "31_1274941429.15859" 
     capture_lex $P403
-    .const 'Sub' $P377 = "29_1274853033.06396" 
+    .const 'Sub' $P377 = "29_1274941429.15859" 
     capture_lex $P377
-    .const 'Sub' $P360 = "28_1274853033.06396" 
+    .const 'Sub' $P360 = "28_1274941429.15859" 
     capture_lex $P360
-    .const 'Sub' $P338 = "27_1274853033.06396" 
+    .const 'Sub' $P338 = "27_1274941429.15859" 
     capture_lex $P338
-    .const 'Sub' $P305 = "26_1274853033.06396" 
+    .const 'Sub' $P305 = "26_1274941429.15859" 
     capture_lex $P305
-    .const 'Sub' $P50 = "13_1274853033.06396" 
+    .const 'Sub' $P50 = "13_1274941429.15859" 
     capture_lex $P50
-    .const 'Sub' $P16 = "12_1274853033.06396" 
+    .const 'Sub' $P16 = "12_1274941429.15859" 
     capture_lex $P16
     get_global $P15, "@MODIFIERS"
     unless_null $P15, vivify_93
@@ -7338,19 +7338,19 @@
     set_global "@MODIFIERS", $P15
   vivify_93:
 .annotate 'line', 479
-    .const 'Sub' $P16 = "12_1274853033.06396" 
+    .const 'Sub' $P16 = "12_1274941429.15859" 
     newclosure $P49, $P16
     .lex "buildsub", $P49
 .annotate 'line', 496
-    .const 'Sub' $P50 = "13_1274853033.06396" 
+    .const 'Sub' $P50 = "13_1274941429.15859" 
     newclosure $P304, $P50
     .lex "capnames", $P304
 .annotate 'line', 562
-    .const 'Sub' $P305 = "26_1274853033.06396" 
+    .const 'Sub' $P305 = "26_1274941429.15859" 
     newclosure $P337, $P305
     .lex "backmod", $P337
 .annotate 'line', 569
-    .const 'Sub' $P338 = "27_1274853033.06396" 
+    .const 'Sub' $P338 = "27_1274941429.15859" 
     newclosure $P358, $P338
     .lex "subrule_alias", $P358
 .annotate 'line', 4
@@ -7368,13 +7368,13 @@
     find_lex $P1566, "subrule_alias"
 .annotate 'line', 4
     .return ($P1566)
-    .const 'Sub' $P1568 = "89_1274853033.06396" 
+    .const 'Sub' $P1568 = "89_1274941429.15859" 
     .return ($P1568)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "" :load :init :subid("post92") :outer("11_1274853033.06396")
+.sub "" :load :init :subid("post92") :outer("11_1274941429.15859")
 .annotate 'line', 4
     get_hll_global $P14, ["Regex";"P6Regex";"Actions"], "_block13" 
     .local pmc block
@@ -7390,7 +7390,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "buildsub"  :subid("12_1274853033.06396") :outer("11_1274853033.06396")
+.sub "buildsub"  :subid("12_1274941429.15859") :outer("11_1274941429.15859")
     .param pmc param_19
     .param pmc param_20 :optional
     .param int has_param_20 :opt_flag
@@ -7467,19 +7467,19 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "capnames"  :subid("13_1274853033.06396") :outer("11_1274853033.06396")
+.sub "capnames"  :subid("13_1274941429.15859") :outer("11_1274941429.15859")
     .param pmc param_53
     .param pmc param_54
 .annotate 'line', 496
-    .const 'Sub' $P279 = "24_1274853033.06396" 
+    .const 'Sub' $P279 = "24_1274941429.15859" 
     capture_lex $P279
-    .const 'Sub' $P216 = "21_1274853033.06396" 
+    .const 'Sub' $P216 = "21_1274941429.15859" 
     capture_lex $P216
-    .const 'Sub' $P174 = "19_1274853033.06396" 
+    .const 'Sub' $P174 = "19_1274941429.15859" 
     capture_lex $P174
-    .const 'Sub' $P132 = "17_1274853033.06396" 
+    .const 'Sub' $P132 = "17_1274941429.15859" 
     capture_lex $P132
-    .const 'Sub' $P65 = "14_1274853033.06396" 
+    .const 'Sub' $P65 = "14_1274941429.15859" 
     capture_lex $P65
     new $P52, 'ExceptionHandler'
     set_addr $P52, control_51
@@ -7535,21 +7535,21 @@
     set $S276, $P275
     iseq $I277, $S276, "quant"
     unless $I277, if_274_end
-    .const 'Sub' $P279 = "24_1274853033.06396" 
+    .const 'Sub' $P279 = "24_1274941429.15859" 
     capture_lex $P279
     $P279()
   if_274_end:
     goto if_211_end
   if_211:
 .annotate 'line', 534
-    .const 'Sub' $P216 = "21_1274853033.06396" 
+    .const 'Sub' $P216 = "21_1274941429.15859" 
     capture_lex $P216
     $P216()
   if_211_end:
     goto if_164_end
   if_164:
 .annotate 'line', 521
-    .const 'Sub' $P174 = "19_1274853033.06396" 
+    .const 'Sub' $P174 = "19_1274941429.15859" 
     capture_lex $P174
     $P174()
   if_164_end:
@@ -7569,7 +7569,7 @@
     unless $P126, loop161_done
     shift $P130, $P126
   loop161_redo:
-    .const 'Sub' $P132 = "17_1274853033.06396" 
+    .const 'Sub' $P132 = "17_1274941429.15859" 
     capture_lex $P132
     $P132($P130)
   loop161_next:
@@ -7588,7 +7588,7 @@
     goto if_60_end
   if_60:
 .annotate 'line', 499
-    .const 'Sub' $P65 = "14_1274853033.06396" 
+    .const 'Sub' $P65 = "14_1274941429.15859" 
     capture_lex $P65
     $P65()
   if_60_end:
@@ -7612,9 +7612,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block278"  :anon :subid("24_1274853033.06396") :outer("13_1274853033.06396")
+.sub "_block278"  :anon :subid("24_1274941429.15859") :outer("13_1274941429.15859")
 .annotate 'line', 551
-    .const 'Sub' $P290 = "25_1274853033.06396" 
+    .const 'Sub' $P290 = "25_1274941429.15859" 
     capture_lex $P290
 .annotate 'line', 552
     $P280 = root_new ['parrot';'Hash']
@@ -7643,7 +7643,7 @@
     unless $P285, loop295_done
     shift $P288, $P285
   loop295_redo:
-    .const 'Sub' $P290 = "25_1274853033.06396" 
+    .const 'Sub' $P290 = "25_1274941429.15859" 
     capture_lex $P290
     $P290($P288)
   loop295_next:
@@ -7673,7 +7673,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block289"  :anon :subid("25_1274853033.06396") :outer("24_1274853033.06396")
+.sub "_block289"  :anon :subid("25_1274941429.15859") :outer("24_1274941429.15859")
     .param pmc param_291
 .annotate 'line', 553
     .lex "$_", param_291
@@ -7693,11 +7693,11 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block215"  :anon :subid("21_1274853033.06396") :outer("13_1274853033.06396")
+.sub "_block215"  :anon :subid("21_1274941429.15859") :outer("13_1274941429.15859")
 .annotate 'line', 534
-    .const 'Sub' $P256 = "23_1274853033.06396" 
+    .const 'Sub' $P256 = "23_1274941429.15859" 
     capture_lex $P256
-    .const 'Sub' $P228 = "22_1274853033.06396" 
+    .const 'Sub' $P228 = "22_1274941429.15859" 
     capture_lex $P228
 .annotate 'line', 535
     new $P217, "Undef"
@@ -7732,7 +7732,7 @@
     unless $P223, loop244_done
     shift $P226, $P223
   loop244_redo:
-    .const 'Sub' $P228 = "22_1274853033.06396" 
+    .const 'Sub' $P228 = "22_1274941429.15859" 
     capture_lex $P228
     $P228($P226)
   loop244_next:
@@ -7771,7 +7771,7 @@
     unless $P251, loop269_done
     shift $P254, $P251
   loop269_redo:
-    .const 'Sub' $P256 = "23_1274853033.06396" 
+    .const 'Sub' $P256 = "23_1274941429.15859" 
     capture_lex $P256
     $P256($P254)
   loop269_next:
@@ -7801,7 +7801,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block227"  :anon :subid("22_1274853033.06396") :outer("21_1274853033.06396")
+.sub "_block227"  :anon :subid("22_1274941429.15859") :outer("21_1274941429.15859")
     .param pmc param_229
 .annotate 'line', 541
     .lex "$_", param_229
@@ -7841,7 +7841,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block255"  :anon :subid("23_1274853033.06396") :outer("21_1274853033.06396")
+.sub "_block255"  :anon :subid("23_1274941429.15859") :outer("21_1274941429.15859")
     .param pmc param_257
 .annotate 'line', 546
     .lex "$_", param_257
@@ -7881,9 +7881,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block173"  :anon :subid("19_1274853033.06396") :outer("13_1274853033.06396")
+.sub "_block173"  :anon :subid("19_1274941429.15859") :outer("13_1274941429.15859")
 .annotate 'line', 521
-    .const 'Sub' $P192 = "20_1274853033.06396" 
+    .const 'Sub' $P192 = "20_1274941429.15859" 
     capture_lex $P192
 .annotate 'line', 522
     new $P175, "Undef"
@@ -7926,7 +7926,7 @@
     unless $P187, loop208_done
     shift $P190, $P187
   loop208_redo:
-    .const 'Sub' $P192 = "20_1274853033.06396" 
+    .const 'Sub' $P192 = "20_1274941429.15859" 
     capture_lex $P192
     $P192($P190)
   loop208_next:
@@ -7946,7 +7946,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block191"  :anon :subid("20_1274853033.06396") :outer("19_1274853033.06396")
+.sub "_block191"  :anon :subid("20_1274941429.15859") :outer("19_1274941429.15859")
     .param pmc param_193
 .annotate 'line', 529
     .lex "$_", param_193
@@ -7986,10 +7986,10 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block131"  :anon :subid("17_1274853033.06396") :outer("13_1274853033.06396")
+.sub "_block131"  :anon :subid("17_1274941429.15859") :outer("13_1274941429.15859")
     .param pmc param_134
 .annotate 'line', 513
-    .const 'Sub' $P143 = "18_1274853033.06396" 
+    .const 'Sub' $P143 = "18_1274941429.15859" 
     capture_lex $P143
 .annotate 'line', 514
     $P133 = root_new ['parrot';'Hash']
@@ -8012,7 +8012,7 @@
     unless $P138, loop156_done
     shift $P141, $P138
   loop156_redo:
-    .const 'Sub' $P143 = "18_1274853033.06396" 
+    .const 'Sub' $P143 = "18_1274941429.15859" 
     capture_lex $P143
     $P143($P141)
   loop156_next:
@@ -8042,7 +8042,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block142"  :anon :subid("18_1274853033.06396") :outer("17_1274853033.06396")
+.sub "_block142"  :anon :subid("18_1274941429.15859") :outer("17_1274941429.15859")
     .param pmc param_144
 .annotate 'line', 515
     .lex "$_", param_144
@@ -8082,9 +8082,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block64"  :anon :subid("14_1274853033.06396") :outer("13_1274853033.06396")
+.sub "_block64"  :anon :subid("14_1274941429.15859") :outer("13_1274941429.15859")
 .annotate 'line', 499
-    .const 'Sub' $P74 = "15_1274853033.06396" 
+    .const 'Sub' $P74 = "15_1274941429.15859" 
     capture_lex $P74
 .annotate 'line', 500
     new $P66, "Undef"
@@ -8105,7 +8105,7 @@
     unless $P68, loop118_done
     shift $P72, $P68
   loop118_redo:
-    .const 'Sub' $P74 = "15_1274853033.06396" 
+    .const 'Sub' $P74 = "15_1274941429.15859" 
     capture_lex $P74
     $P74($P72)
   loop118_next:
@@ -8128,10 +8128,10 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block73"  :anon :subid("15_1274853033.06396") :outer("14_1274853033.06396")
+.sub "_block73"  :anon :subid("15_1274941429.15859") :outer("14_1274941429.15859")
     .param pmc param_76
 .annotate 'line', 501
-    .const 'Sub' $P85 = "16_1274853033.06396" 
+    .const 'Sub' $P85 = "16_1274941429.15859" 
     capture_lex $P85
 .annotate 'line', 502
     $P75 = root_new ['parrot';'Hash']
@@ -8154,7 +8154,7 @@
     unless $P80, loop105_done
     shift $P83, $P80
   loop105_redo:
-    .const 'Sub' $P85 = "16_1274853033.06396" 
+    .const 'Sub' $P85 = "16_1274941429.15859" 
     capture_lex $P85
     $P85($P83)
   loop105_next:
@@ -8203,7 +8203,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block84"  :anon :subid("16_1274853033.06396") :outer("15_1274853033.06396")
+.sub "_block84"  :anon :subid("16_1274941429.15859") :outer("15_1274941429.15859")
     .param pmc param_86
 .annotate 'line', 503
     .lex "$_", param_86
@@ -8262,7 +8262,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backmod"  :subid("26_1274853033.06396") :outer("11_1274853033.06396")
+.sub "backmod"  :subid("26_1274941429.15859") :outer("11_1274941429.15859")
     .param pmc param_308
     .param pmc param_309
 .annotate 'line', 562
@@ -8336,7 +8336,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "subrule_alias"  :subid("27_1274853033.06396") :outer("11_1274853033.06396")
+.sub "subrule_alias"  :subid("27_1274941429.15859") :outer("11_1274941429.15859")
     .param pmc param_341
     .param pmc param_342
 .annotate 'line', 569
@@ -8380,7 +8380,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "arg"  :subid("28_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "arg"  :subid("28_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_363
 .annotate 'line', 14
     new $P362, 'ExceptionHandler'
@@ -8436,10 +8436,10 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "arglist"  :subid("29_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "arglist"  :subid("29_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_380
 .annotate 'line', 18
-    .const 'Sub' $P390 = "30_1274853033.06396" 
+    .const 'Sub' $P390 = "30_1274941429.15859" 
     capture_lex $P390
     new $P379, 'ExceptionHandler'
     set_addr $P379, control_378
@@ -8473,7 +8473,7 @@
     unless $P384, loop396_done
     shift $P388, $P384
   loop396_redo:
-    .const 'Sub' $P390 = "30_1274853033.06396" 
+    .const 'Sub' $P390 = "30_1274941429.15859" 
     capture_lex $P390
     $P390($P388)
   loop396_next:
@@ -8502,7 +8502,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block389"  :anon :subid("30_1274853033.06396") :outer("29_1274853033.06396")
+.sub "_block389"  :anon :subid("30_1274941429.15859") :outer("29_1274941429.15859")
     .param pmc param_391
 .annotate 'line', 20
     .lex "$_", param_391
@@ -8515,7 +8515,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "TOP"  :subid("31_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "TOP"  :subid("31_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_406
 .annotate 'line', 24
     new $P405, 'ExceptionHandler'
@@ -8557,14 +8557,14 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "nibbler"  :subid("32_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "nibbler"  :subid("32_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_421
     .param pmc param_422 :optional
     .param int has_param_422 :opt_flag
 .annotate 'line', 30
-    .const 'Sub' $P456 = "34_1274853033.06396" 
+    .const 'Sub' $P456 = "34_1274941429.15859" 
     capture_lex $P456
-    .const 'Sub' $P430 = "33_1274853033.06396" 
+    .const 'Sub' $P430 = "33_1274941429.15859" 
     capture_lex $P430
     new $P420, 'ExceptionHandler'
     set_addr $P420, control_419
@@ -8585,7 +8585,7 @@
     set $S427, $P426
     iseq $I428, $S427, "open"
     unless $I428, if_425_end
-    .const 'Sub' $P430 = "33_1274853033.06396" 
+    .const 'Sub' $P430 = "33_1274941429.15859" 
     capture_lex $P430
     $P430()
   if_425_end:
@@ -8648,7 +8648,7 @@
     unless $P450, loop462_done
     shift $P454, $P450
   loop462_redo:
-    .const 'Sub' $P456 = "34_1274853033.06396" 
+    .const 'Sub' $P456 = "34_1274941429.15859" 
     capture_lex $P456
     $P456($P454)
   loop462_next:
@@ -8678,7 +8678,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block429"  :anon :subid("33_1274853033.06396") :outer("32_1274853033.06396")
+.sub "_block429"  :anon :subid("33_1274941429.15859") :outer("32_1274941429.15859")
 .annotate 'line', 32
     $P431 = root_new ['parrot';'Hash']
     .lex "%old", $P431
@@ -8718,7 +8718,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block455"  :anon :subid("34_1274853033.06396") :outer("32_1274853033.06396")
+.sub "_block455"  :anon :subid("34_1274941429.15859") :outer("32_1274941429.15859")
     .param pmc param_457
 .annotate 'line', 45
     .lex "$_", param_457
@@ -8733,10 +8733,10 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "termish"  :subid("35_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "termish"  :subid("35_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_476
 .annotate 'line', 55
-    .const 'Sub' $P489 = "36_1274853033.06396" 
+    .const 'Sub' $P489 = "36_1274941429.15859" 
     capture_lex $P489
     new $P475, 'ExceptionHandler'
     set_addr $P475, control_474
@@ -8779,7 +8779,7 @@
     unless $P483, loop534_done
     shift $P487, $P483
   loop534_redo:
-    .const 'Sub' $P489 = "36_1274853033.06396" 
+    .const 'Sub' $P489 = "36_1274941429.15859" 
     capture_lex $P489
     $P489($P487)
   loop534_next:
@@ -8808,7 +8808,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block488"  :anon :subid("36_1274853033.06396") :outer("35_1274853033.06396")
+.sub "_block488"  :anon :subid("36_1274941429.15859") :outer("35_1274941429.15859")
     .param pmc param_491
 .annotate 'line', 59
     new $P490, "Undef"
@@ -8935,10 +8935,10 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantified_atom"  :subid("37_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "quantified_atom"  :subid("37_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_544
 .annotate 'line', 76
-    .const 'Sub' $P553 = "38_1274853033.06396" 
+    .const 'Sub' $P553 = "38_1274941429.15859" 
     capture_lex $P553
     new $P543, 'ExceptionHandler'
     set_addr $P543, control_542
@@ -9001,7 +9001,7 @@
     goto if_549_end
   if_549:
 .annotate 'line', 78
-    .const 'Sub' $P553 = "38_1274853033.06396" 
+    .const 'Sub' $P553 = "38_1274941429.15859" 
     capture_lex $P553
     $P553()
   if_549_end:
@@ -9055,7 +9055,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block552"  :anon :subid("38_1274853033.06396") :outer("37_1274853033.06396")
+.sub "_block552"  :anon :subid("38_1274941429.15859") :outer("37_1274941429.15859")
 .annotate 'line', 80
     new $P554, "Undef"
     .lex "$qast", $P554
@@ -9094,7 +9094,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "atom"  :subid("39_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "atom"  :subid("39_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_594
 .annotate 'line', 91
     new $P593, 'ExceptionHandler'
@@ -9172,7 +9172,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<*>"  :subid("40_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "quantifier:sym<*>"  :subid("40_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_620
 .annotate 'line', 101
     new $P619, 'ExceptionHandler'
@@ -9212,7 +9212,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<+>"  :subid("41_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "quantifier:sym<+>"  :subid("41_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_635
 .annotate 'line', 106
     new $P634, 'ExceptionHandler'
@@ -9252,7 +9252,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<?>"  :subid("42_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "quantifier:sym<?>"  :subid("42_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_650
 .annotate 'line', 111
     new $P649, 'ExceptionHandler'
@@ -9296,7 +9296,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<**>"  :subid("43_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "quantifier:sym<**>"  :subid("43_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_667
 .annotate 'line', 117
     new $P666, 'ExceptionHandler'
@@ -9436,7 +9436,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<ws>"  :subid("44_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "metachar:sym<ws>"  :subid("44_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_714
 .annotate 'line', 131
     new $P713, 'ExceptionHandler'
@@ -9488,7 +9488,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<[ ]>"  :subid("45_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "metachar:sym<[ ]>"  :subid("45_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_732
 .annotate 'line', 140
     new $P731, 'ExceptionHandler'
@@ -9520,7 +9520,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<( )>"  :subid("46_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "metachar:sym<( )>"  :subid("46_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_742
 .annotate 'line', 144
     new $P741, 'ExceptionHandler'
@@ -9568,7 +9568,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<'>"  :subid("47_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "metachar:sym<'>"  :subid("47_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_760
 .annotate 'line', 151
     new $P759, 'ExceptionHandler'
@@ -9624,7 +9624,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<\">"  :subid("48_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "metachar:sym<\">"  :subid("48_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_783
 .annotate 'line', 158
     new $P782, 'ExceptionHandler'
@@ -9680,7 +9680,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<.>"  :subid("49_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "metachar:sym<.>"  :subid("49_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_806
 .annotate 'line', 165
     new $P805, 'ExceptionHandler'
@@ -9711,7 +9711,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<^>"  :subid("50_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "metachar:sym<^>"  :subid("50_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_818
 .annotate 'line', 170
     new $P817, 'ExceptionHandler'
@@ -9742,7 +9742,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<^^>"  :subid("51_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "metachar:sym<^^>"  :subid("51_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_830
 .annotate 'line', 175
     new $P829, 'ExceptionHandler'
@@ -9773,7 +9773,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<$>"  :subid("52_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "metachar:sym<$>"  :subid("52_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_842
 .annotate 'line', 180
     new $P841, 'ExceptionHandler'
@@ -9804,7 +9804,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<$$>"  :subid("53_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "metachar:sym<$$>"  :subid("53_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_854
 .annotate 'line', 185
     new $P853, 'ExceptionHandler'
@@ -9835,7 +9835,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<:::>"  :subid("54_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "metachar:sym<:::>"  :subid("54_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_866
 .annotate 'line', 190
     new $P865, 'ExceptionHandler'
@@ -9866,7 +9866,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<lwb>"  :subid("55_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "metachar:sym<lwb>"  :subid("55_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_878
 .annotate 'line', 195
     new $P877, 'ExceptionHandler'
@@ -9897,7 +9897,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<rwb>"  :subid("56_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "metachar:sym<rwb>"  :subid("56_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_890
 .annotate 'line', 200
     new $P889, 'ExceptionHandler'
@@ -9928,7 +9928,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<bs>"  :subid("57_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "metachar:sym<bs>"  :subid("57_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_902
 .annotate 'line', 205
     new $P901, 'ExceptionHandler'
@@ -9960,7 +9960,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<mod>"  :subid("58_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "metachar:sym<mod>"  :subid("58_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_912
 .annotate 'line', 209
     new $P911, 'ExceptionHandler'
@@ -9992,7 +9992,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<assert>"  :subid("59_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "metachar:sym<assert>"  :subid("59_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_922
 .annotate 'line', 213
     new $P921, 'ExceptionHandler'
@@ -10024,7 +10024,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<~>"  :subid("60_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "metachar:sym<~>"  :subid("60_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_932
 .annotate 'line', 217
     new $P931, 'ExceptionHandler'
@@ -10086,7 +10086,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<{*}>"  :subid("61_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "metachar:sym<{*}>"  :subid("61_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_954
 .annotate 'line', 230
     new $P953, 'ExceptionHandler'
@@ -10147,7 +10147,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<var>"  :subid("62_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "metachar:sym<var>"  :subid("62_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_975
 .annotate 'line', 237
     new $P974, 'ExceptionHandler'
@@ -10307,7 +10307,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<PIR>"  :subid("63_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "metachar:sym<PIR>"  :subid("63_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_1031
 .annotate 'line', 257
     new $P1030, 'ExceptionHandler'
@@ -10346,7 +10346,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<w>"  :subid("64_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "backslash:sym<w>"  :subid("64_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_1046
 .annotate 'line', 265
     new $P1045, 'ExceptionHandler'
@@ -10412,7 +10412,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<b>"  :subid("65_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "backslash:sym<b>"  :subid("65_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_1070
 .annotate 'line', 271
     new $P1069, 'ExceptionHandler'
@@ -10455,7 +10455,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<e>"  :subid("66_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "backslash:sym<e>"  :subid("66_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_1086
 .annotate 'line', 277
     new $P1085, 'ExceptionHandler'
@@ -10498,7 +10498,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<f>"  :subid("67_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "backslash:sym<f>"  :subid("67_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_1102
 .annotate 'line', 283
     new $P1101, 'ExceptionHandler'
@@ -10541,7 +10541,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<h>"  :subid("68_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "backslash:sym<h>"  :subid("68_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_1118
 .annotate 'line', 289
     new $P1117, 'ExceptionHandler'
@@ -10584,7 +10584,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<r>"  :subid("69_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "backslash:sym<r>"  :subid("69_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_1134
 .annotate 'line', 295
     new $P1133, 'ExceptionHandler'
@@ -10627,7 +10627,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<t>"  :subid("70_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "backslash:sym<t>"  :subid("70_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_1150
 .annotate 'line', 301
     new $P1149, 'ExceptionHandler'
@@ -10670,7 +10670,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<v>"  :subid("71_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "backslash:sym<v>"  :subid("71_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_1166
 .annotate 'line', 307
     new $P1165, 'ExceptionHandler'
@@ -10713,7 +10713,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<o>"  :subid("72_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "backslash:sym<o>"  :subid("72_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_1182
 .annotate 'line', 314
     new $P1181, 'ExceptionHandler'
@@ -10796,7 +10796,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<x>"  :subid("73_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "backslash:sym<x>"  :subid("73_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_1213
 .annotate 'line', 323
     new $P1212, 'ExceptionHandler'
@@ -10879,7 +10879,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<c>"  :subid("74_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "backslash:sym<c>"  :subid("74_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_1244
 .annotate 'line', 332
     new $P1243, 'ExceptionHandler'
@@ -10914,7 +10914,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<misc>"  :subid("75_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "backslash:sym<misc>"  :subid("75_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_1257
 .annotate 'line', 336
     new $P1256, 'ExceptionHandler'
@@ -10947,7 +10947,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<?>"  :subid("76_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "assertion:sym<?>"  :subid("76_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_1271
 .annotate 'line', 342
     new $P1270, 'ExceptionHandler'
@@ -11007,7 +11007,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<!>"  :subid("77_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "assertion:sym<!>"  :subid("77_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_1289
 .annotate 'line', 352
     new $P1288, 'ExceptionHandler'
@@ -11075,7 +11075,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<method>"  :subid("78_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "assertion:sym<method>"  :subid("78_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_1313
 .annotate 'line', 365
     new $P1312, 'ExceptionHandler'
@@ -11118,12 +11118,12 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<name>"  :subid("79_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "assertion:sym<name>"  :subid("79_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_1327
 .annotate 'line', 372
-    .const 'Sub' $P1385 = "81_1274853033.06396" 
+    .const 'Sub' $P1385 = "81_1274941429.15859" 
     capture_lex $P1385
-    .const 'Sub' $P1349 = "80_1274853033.06396" 
+    .const 'Sub' $P1349 = "80_1274941429.15859" 
     capture_lex $P1349
     new $P1326, 'ExceptionHandler'
     set_addr $P1326, control_1325
@@ -11219,7 +11219,7 @@
     unless $P1376, loop1390_done
     shift $P1383, $P1376
   loop1390_redo:
-    .const 'Sub' $P1385 = "81_1274853033.06396" 
+    .const 'Sub' $P1385 = "81_1274941429.15859" 
     capture_lex $P1385
     $P1385($P1383)
   loop1390_next:
@@ -11259,7 +11259,7 @@
     goto if_1344_end
   if_1344:
 .annotate 'line', 379
-    .const 'Sub' $P1349 = "80_1274853033.06396" 
+    .const 'Sub' $P1349 = "80_1274941429.15859" 
     capture_lex $P1349
     $P1349()
   if_1344_end:
@@ -11300,7 +11300,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1384"  :anon :subid("81_1274853033.06396") :outer("79_1274853033.06396")
+.sub "_block1384"  :anon :subid("81_1274941429.15859") :outer("79_1274941429.15859")
     .param pmc param_1386
 .annotate 'line', 401
     .lex "$_", param_1386
@@ -11312,7 +11312,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1348"  :anon :subid("80_1274853033.06396") :outer("79_1274853033.06396")
+.sub "_block1348"  :anon :subid("80_1274941429.15859") :outer("79_1274941429.15859")
 .annotate 'line', 380
     new $P1350, "Undef"
     .lex "$regexsym", $P1350
@@ -11343,10 +11343,10 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<[>"  :subid("82_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "assertion:sym<[>"  :subid("82_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_1400
 .annotate 'line', 407
-    .const 'Sub' $P1435 = "83_1274853033.06396" 
+    .const 'Sub' $P1435 = "83_1274941429.15859" 
     capture_lex $P1435
     new $P1399, 'ExceptionHandler'
     set_addr $P1399, control_1398
@@ -11438,7 +11438,7 @@
     islt $I1433, $N1430, $N1432
     unless $I1433, loop1458_done
   loop1458_redo:
-    .const 'Sub' $P1435 = "83_1274853033.06396" 
+    .const 'Sub' $P1435 = "83_1274941429.15859" 
     capture_lex $P1435
     $P1435()
   loop1458_next:
@@ -11466,7 +11466,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1434"  :anon :subid("83_1274853033.06396") :outer("82_1274853033.06396")
+.sub "_block1434"  :anon :subid("83_1274941429.15859") :outer("82_1274941429.15859")
 .annotate 'line', 421
     new $P1436, "Undef"
     .lex "$ast", $P1436
@@ -11517,12 +11517,12 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "cclass_elem"  :subid("84_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "cclass_elem"  :subid("84_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_1468
 .annotate 'line', 434
-    .const 'Sub' $P1493 = "86_1274853033.06396" 
+    .const 'Sub' $P1493 = "86_1274941429.15859" 
     capture_lex $P1493
-    .const 'Sub' $P1477 = "85_1274853033.06396" 
+    .const 'Sub' $P1477 = "85_1274941429.15859" 
     capture_lex $P1477
     new $P1467, 'ExceptionHandler'
     set_addr $P1467, control_1466
@@ -11571,7 +11571,7 @@
     unless $P1487, loop1518_done
     shift $P1491, $P1487
   loop1518_redo:
-    .const 'Sub' $P1493 = "86_1274853033.06396" 
+    .const 'Sub' $P1493 = "86_1274941429.15859" 
     capture_lex $P1493
     $P1493($P1491)
   loop1518_next:
@@ -11595,7 +11595,7 @@
     goto if_1473_end
   if_1473:
 .annotate 'line', 437
-    .const 'Sub' $P1477 = "85_1274853033.06396" 
+    .const 'Sub' $P1477 = "85_1274941429.15859" 
     capture_lex $P1477
     $P1477()
   if_1473_end:
@@ -11627,10 +11627,10 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1492"  :anon :subid("86_1274853033.06396") :outer("84_1274853033.06396")
+.sub "_block1492"  :anon :subid("86_1274941429.15859") :outer("84_1274941429.15859")
     .param pmc param_1494
 .annotate 'line', 441
-    .const 'Sub' $P1500 = "87_1274853033.06396" 
+    .const 'Sub' $P1500 = "87_1274941429.15859" 
     capture_lex $P1500
     .lex "$_", param_1494
 .annotate 'line', 442
@@ -11659,7 +11659,7 @@
 .annotate 'line', 442
     goto if_1496_end
   if_1496:
-    .const 'Sub' $P1500 = "87_1274853033.06396" 
+    .const 'Sub' $P1500 = "87_1274941429.15859" 
     capture_lex $P1500
     $P1513 = $P1500()
     set $P1495, $P1513
@@ -11670,7 +11670,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1499"  :anon :subid("87_1274853033.06396") :outer("86_1274853033.06396")
+.sub "_block1499"  :anon :subid("87_1274941429.15859") :outer("86_1274941429.15859")
 .annotate 'line', 443
     new $P1501, "Undef"
     .lex "$a", $P1501
@@ -11734,7 +11734,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1476"  :anon :subid("85_1274853033.06396") :outer("84_1274853033.06396")
+.sub "_block1476"  :anon :subid("85_1274941429.15859") :outer("84_1274941429.15859")
 .annotate 'line', 438
     new $P1478, "Undef"
     .lex "$name", $P1478
@@ -11762,7 +11762,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "mod_internal"  :subid("88_1274853033.06396") :method :outer("11_1274853033.06396")
+.sub "mod_internal"  :subid("88_1274941429.15859") :method :outer("11_1274941429.15859")
     .param pmc param_1537
 .annotate 'line', 472
     new $P1536, 'ExceptionHandler'
@@ -11860,18 +11860,18 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1567" :load :anon :subid("89_1274853033.06396")
+.sub "_block1567" :load :anon :subid("89_1274941429.15859")
 .annotate 'line', 4
-    .const 'Sub' $P1569 = "11_1274853033.06396" 
+    .const 'Sub' $P1569 = "11_1274941429.15859" 
     $P1570 = $P1569()
     .return ($P1570)
 .end
 
 
 .namespace []
-.sub "_block1573" :load :anon :subid("90_1274853033.06396")
+.sub "_block1573" :load :anon :subid("90_1274941429.15859")
 .annotate 'line', 1
-    .const 'Sub' $P1575 = "10_1274853033.06396" 
+    .const 'Sub' $P1575 = "10_1274941429.15859" 
     $P1576 = $P1575()
     .return ($P1576)
 .end

Modified: trunk/ext/nqp-rx/src/stage0/Regex-s0.pir
==============================================================================
--- trunk/ext/nqp-rx/src/stage0/Regex-s0.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/ext/nqp-rx/src/stage0/Regex-s0.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -429,13 +429,15 @@
     orig = getattribute self, '$!target'
     line = orig.'lineof'(from)
     inc line
-    printerr from
-    printerr '/'
-    printerr line
-    printerr ': '
+    $P0 = getinterp
+    $P1 = $P0.'stdhandle'(2)
+    print $P1, from
+    print $P1, '/'
+    print $P1, line
+    print $P1, ': '
     $S0 = join '', args
-    printerr $S0
-    printerr "\n"
+    print $P1, $S0
+    print $P1, "\n"
   done:
     .return (self)
 .end
@@ -2039,7 +2041,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
 

Modified: trunk/ext/nqp-rx/src/stage0/nqp-setting.nqp
==============================================================================
--- trunk/ext/nqp-rx/src/stage0/nqp-setting.nqp	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/ext/nqp-rx/src/stage0/nqp-setting.nqp	Thu May 27 08:45:23 2010	(r47051)
@@ -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');
@@ -213,9 +213,10 @@
 =end
 
 our sub slurp ($filename) {
-    my $handle := pir::open__Pss($file, 'r');
+    my $handle := FileHandle.new;
+    $handle.open($file, 'r');
     my $contents := $handle.readall;
-    pir::close($handle);
+    $handle.close();
     $contents;
 }
 
@@ -225,9 +226,10 @@
 =end item
 
 our sub spew($filename, $contents) {
-    my $handle := pir::open__Pss($filename, 'w');
+    my $handle := FileHandle.new();
+    $handle.open($filename, 'w');
     $handle.print($contents);
-    pir::close($handle);
+    $handle.close();
 }
 
 # vim: ft=perl6

Modified: trunk/include/parrot/io.h
==============================================================================
--- trunk/include/parrot/io.h	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/include/parrot/io.h	Thu May 27 08:45:23 2010	(r47051)
@@ -222,6 +222,10 @@
 
 PARROT_EXPORT
 PARROT_WARN_UNUSED_RESULT
+PIOOFF_T Parrot_io_make_offset32(INTVAL hi, INTVAL lo);
+
+PARROT_EXPORT
+PARROT_WARN_UNUSED_RESULT
 PARROT_CANNOT_RETURN_NULL
 PMC * Parrot_io_new_pmc(PARROT_INTERP, INTVAL flags)
         __attribute__nonnull__(1);
@@ -342,9 +346,6 @@
         FUNC_MODIFIES(*pmc);
 
 PARROT_WARN_UNUSED_RESULT
-PIOOFF_T Parrot_io_make_offset32(INTVAL hi, INTVAL lo);
-
-PARROT_WARN_UNUSED_RESULT
 PIOOFF_T Parrot_io_make_offset_pmc(PARROT_INTERP, ARGMOD(PMC *pmc))
         __attribute__nonnull__(1)
         __attribute__nonnull__(2)
@@ -378,6 +379,7 @@
        PARROT_ASSERT_ARG(interp) \
     , PARROT_ASSERT_ARG(pmc))
 #define ASSERT_ARGS_Parrot_io_make_offset __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
+#define ASSERT_ARGS_Parrot_io_make_offset32 __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
 #define ASSERT_ARGS_Parrot_io_new_pmc __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_Parrot_io_open __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
@@ -420,7 +422,6 @@
        PARROT_ASSERT_ARG(interp) \
     , PARROT_ASSERT_ARG(pmc) \
     , PARROT_ASSERT_ARG(buffer))
-#define ASSERT_ARGS_Parrot_io_make_offset32 __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
 #define ASSERT_ARGS_Parrot_io_make_offset_pmc __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp) \
     , PARROT_ASSERT_ARG(pmc))

Modified: trunk/include/parrot/misc.h
==============================================================================
--- trunk/include/parrot/misc.h	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/include/parrot/misc.h	Thu May 27 08:45:23 2010	(r47051)
@@ -83,6 +83,13 @@
 
 PARROT_EXPORT
 PARROT_WARN_UNUSED_RESULT
+PARROT_CANNOT_RETURN_NULL
+PMC* Parrot_tm_to_array(PARROT_INTERP, ARGIN(const struct tm *tm))
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2);
+
+PARROT_EXPORT
+PARROT_WARN_UNUSED_RESULT
 INTVAL Parrot_uint_rand(INTVAL how_random);
 
 PARROT_CONST_FUNCTION
@@ -102,12 +109,6 @@
         __attribute__nonnull__(4)
         FUNC_MODIFIES(*data);
 
-PARROT_WARN_UNUSED_RESULT
-PARROT_CANNOT_RETURN_NULL
-PMC* tm_to_array(PARROT_INTERP, ARGIN(const struct tm *tm))
-        __attribute__nonnull__(1)
-        __attribute__nonnull__(2);
-
 #define ASSERT_ARGS_Parrot_byte_index __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(base) \
     , PARROT_ASSERT_ARG(search))
@@ -123,6 +124,9 @@
     , PARROT_ASSERT_ARG(src_regs) \
     , PARROT_ASSERT_ARG(info))
 #define ASSERT_ARGS_Parrot_srand __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
+#define ASSERT_ARGS_Parrot_tm_to_array __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(tm))
 #define ASSERT_ARGS_Parrot_uint_rand __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
 #define ASSERT_ARGS_floatval_mod __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
 #define ASSERT_ARGS_intval_mod __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
@@ -130,9 +134,6 @@
        PARROT_ASSERT_ARG(interp) \
     , PARROT_ASSERT_ARG(data) \
     , PARROT_ASSERT_ARG(cmp))
-#define ASSERT_ARGS_tm_to_array __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(tm))
 /* Don't modify between HEADERIZER BEGIN / HEADERIZER END.  Your changes will be lost. */
 /* HEADERIZER END: src/utils.c */
 

Modified: trunk/include/parrot/oplib/core_ops.h
==============================================================================
--- trunk/include/parrot/oplib/core_ops.h	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/include/parrot/oplib/core_ops.h	Thu May 27 08:45:23 2010	(r47051)
@@ -140,108 +140,34 @@
  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);
@@ -439,30 +365,6 @@
  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);
@@ -477,13 +379,6 @@
  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);
@@ -491,35 +386,6 @@
  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);
@@ -546,17 +412,6 @@
  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);
@@ -657,18 +512,6 @@
  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);
@@ -690,25 +533,6 @@
  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);
@@ -1147,18 +971,6 @@
  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);

Modified: trunk/include/parrot/oplib/ops.h
==============================================================================
--- trunk/include/parrot/oplib/ops.h	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/include/parrot/oplib/ops.h	Thu May 27 08:45:23 2010	(r47051)
@@ -135,1155 +135,967 @@
     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_finalize_p,                      /* 1266 */
-    PARROT_OP_finalize_pc                      /* 1267 */
+    PARROT_OP_band_i_i_i,                      /* 119 */
+    PARROT_OP_band_i_ic_i,                     /* 120 */
+    PARROT_OP_band_i_i_ic,                     /* 121 */
+    PARROT_OP_bor_i_i,                         /* 122 */
+    PARROT_OP_bor_i_ic,                        /* 123 */
+    PARROT_OP_bor_i_i_i,                       /* 124 */
+    PARROT_OP_bor_i_ic_i,                      /* 125 */
+    PARROT_OP_bor_i_i_ic,                      /* 126 */
+    PARROT_OP_shl_i_i,                         /* 127 */
+    PARROT_OP_shl_i_ic,                        /* 128 */
+    PARROT_OP_shl_i_i_i,                       /* 129 */
+    PARROT_OP_shl_i_ic_i,                      /* 130 */
+    PARROT_OP_shl_i_i_ic,                      /* 131 */
+    PARROT_OP_shr_i_i,                         /* 132 */
+    PARROT_OP_shr_i_ic,                        /* 133 */
+    PARROT_OP_shr_i_i_i,                       /* 134 */
+    PARROT_OP_shr_i_ic_i,                      /* 135 */
+    PARROT_OP_shr_i_i_ic,                      /* 136 */
+    PARROT_OP_lsr_i_i,                         /* 137 */
+    PARROT_OP_lsr_i_ic,                        /* 138 */
+    PARROT_OP_lsr_i_i_i,                       /* 139 */
+    PARROT_OP_lsr_i_ic_i,                      /* 140 */
+    PARROT_OP_lsr_i_i_ic,                      /* 141 */
+    PARROT_OP_bxor_i_i,                        /* 142 */
+    PARROT_OP_bxor_i_ic,                       /* 143 */
+    PARROT_OP_bxor_i_i_i,                      /* 144 */
+    PARROT_OP_bxor_i_ic_i,                     /* 145 */
+    PARROT_OP_bxor_i_i_ic,                     /* 146 */
+    PARROT_OP_eq_i_i_ic,                       /* 147 */
+    PARROT_OP_eq_ic_i_ic,                      /* 148 */
+    PARROT_OP_eq_i_ic_ic,                      /* 149 */
+    PARROT_OP_eq_n_n_ic,                       /* 150 */
+    PARROT_OP_eq_nc_n_ic,                      /* 151 */
+    PARROT_OP_eq_n_nc_ic,                      /* 152 */
+    PARROT_OP_eq_s_s_ic,                       /* 153 */
+    PARROT_OP_eq_sc_s_ic,                      /* 154 */
+    PARROT_OP_eq_s_sc_ic,                      /* 155 */
+    PARROT_OP_eq_p_p_ic,                       /* 156 */
+    PARROT_OP_eq_p_i_ic,                       /* 157 */
+    PARROT_OP_eq_p_ic_ic,                      /* 158 */
+    PARROT_OP_eq_p_n_ic,                       /* 159 */
+    PARROT_OP_eq_p_nc_ic,                      /* 160 */
+    PARROT_OP_eq_p_s_ic,                       /* 161 */
+    PARROT_OP_eq_p_sc_ic,                      /* 162 */
+    PARROT_OP_eq_str_p_p_ic,                   /* 163 */
+    PARROT_OP_eq_num_p_p_ic,                   /* 164 */
+    PARROT_OP_eq_addr_s_s_ic,                  /* 165 */
+    PARROT_OP_eq_addr_sc_s_ic,                 /* 166 */
+    PARROT_OP_eq_addr_s_sc_ic,                 /* 167 */
+    PARROT_OP_eq_addr_sc_sc_ic,                /* 168 */
+    PARROT_OP_eq_addr_p_p_ic,                  /* 169 */
+    PARROT_OP_ne_i_i_ic,                       /* 170 */
+    PARROT_OP_ne_ic_i_ic,                      /* 171 */
+    PARROT_OP_ne_i_ic_ic,                      /* 172 */
+    PARROT_OP_ne_n_n_ic,                       /* 173 */
+    PARROT_OP_ne_nc_n_ic,                      /* 174 */
+    PARROT_OP_ne_n_nc_ic,                      /* 175 */
+    PARROT_OP_ne_s_s_ic,                       /* 176 */
+    PARROT_OP_ne_sc_s_ic,                      /* 177 */
+    PARROT_OP_ne_s_sc_ic,                      /* 178 */
+    PARROT_OP_ne_p_p_ic,                       /* 179 */
+    PARROT_OP_ne_p_i_ic,                       /* 180 */
+    PARROT_OP_ne_p_ic_ic,                      /* 181 */
+    PARROT_OP_ne_p_n_ic,                       /* 182 */
+    PARROT_OP_ne_p_nc_ic,                      /* 183 */
+    PARROT_OP_ne_p_s_ic,                       /* 184 */
+    PARROT_OP_ne_p_sc_ic,                      /* 185 */
+    PARROT_OP_ne_str_p_p_ic,                   /* 186 */
+    PARROT_OP_ne_num_p_p_ic,                   /* 187 */
+    PARROT_OP_ne_addr_s_s_ic,                  /* 188 */
+    PARROT_OP_ne_addr_sc_s_ic,                 /* 189 */
+    PARROT_OP_ne_addr_s_sc_ic,                 /* 190 */
+    PARROT_OP_ne_addr_sc_sc_ic,                /* 191 */
+    PARROT_OP_ne_addr_p_p_ic,                  /* 192 */
+    PARROT_OP_lt_i_i_ic,                       /* 193 */
+    PARROT_OP_lt_ic_i_ic,                      /* 194 */
+    PARROT_OP_lt_i_ic_ic,                      /* 195 */
+    PARROT_OP_lt_n_n_ic,                       /* 196 */
+    PARROT_OP_lt_nc_n_ic,                      /* 197 */
+    PARROT_OP_lt_n_nc_ic,                      /* 198 */
+    PARROT_OP_lt_s_s_ic,                       /* 199 */
+    PARROT_OP_lt_sc_s_ic,                      /* 200 */
+    PARROT_OP_lt_s_sc_ic,                      /* 201 */
+    PARROT_OP_lt_p_p_ic,                       /* 202 */
+    PARROT_OP_lt_p_i_ic,                       /* 203 */
+    PARROT_OP_lt_p_ic_ic,                      /* 204 */
+    PARROT_OP_lt_p_n_ic,                       /* 205 */
+    PARROT_OP_lt_p_nc_ic,                      /* 206 */
+    PARROT_OP_lt_p_s_ic,                       /* 207 */
+    PARROT_OP_lt_p_sc_ic,                      /* 208 */
+    PARROT_OP_lt_str_p_p_ic,                   /* 209 */
+    PARROT_OP_lt_num_p_p_ic,                   /* 210 */
+    PARROT_OP_le_i_i_ic,                       /* 211 */
+    PARROT_OP_le_ic_i_ic,                      /* 212 */
+    PARROT_OP_le_i_ic_ic,                      /* 213 */
+    PARROT_OP_le_n_n_ic,                       /* 214 */
+    PARROT_OP_le_nc_n_ic,                      /* 215 */
+    PARROT_OP_le_n_nc_ic,                      /* 216 */
+    PARROT_OP_le_s_s_ic,                       /* 217 */
+    PARROT_OP_le_sc_s_ic,                      /* 218 */
+    PARROT_OP_le_s_sc_ic,                      /* 219 */
+    PARROT_OP_le_p_p_ic,                       /* 220 */
+    PARROT_OP_le_p_i_ic,                       /* 221 */
+    PARROT_OP_le_p_ic_ic,                      /* 222 */
+    PARROT_OP_le_p_n_ic,                       /* 223 */
+    PARROT_OP_le_p_nc_ic,                      /* 224 */
+    PARROT_OP_le_p_s_ic,                       /* 225 */
+    PARROT_OP_le_p_sc_ic,                      /* 226 */
+    PARROT_OP_le_str_p_p_ic,                   /* 227 */
+    PARROT_OP_le_num_p_p_ic,                   /* 228 */
+    PARROT_OP_gt_p_p_ic,                       /* 229 */
+    PARROT_OP_gt_p_i_ic,                       /* 230 */
+    PARROT_OP_gt_p_ic_ic,                      /* 231 */
+    PARROT_OP_gt_p_n_ic,                       /* 232 */
+    PARROT_OP_gt_p_nc_ic,                      /* 233 */
+    PARROT_OP_gt_p_s_ic,                       /* 234 */
+    PARROT_OP_gt_p_sc_ic,                      /* 235 */
+    PARROT_OP_gt_str_p_p_ic,                   /* 236 */
+    PARROT_OP_gt_num_p_p_ic,                   /* 237 */
+    PARROT_OP_ge_p_p_ic,                       /* 238 */
+    PARROT_OP_ge_p_i_ic,                       /* 239 */
+    PARROT_OP_ge_p_ic_ic,                      /* 240 */
+    PARROT_OP_ge_p_n_ic,                       /* 241 */
+    PARROT_OP_ge_p_nc_ic,                      /* 242 */
+    PARROT_OP_ge_p_s_ic,                       /* 243 */
+    PARROT_OP_ge_p_sc_ic,                      /* 244 */
+    PARROT_OP_ge_str_p_p_ic,                   /* 245 */
+    PARROT_OP_ge_num_p_p_ic,                   /* 246 */
+    PARROT_OP_if_null_p_ic,                    /* 247 */
+    PARROT_OP_if_null_s_ic,                    /* 248 */
+    PARROT_OP_unless_null_p_ic,                /* 249 */
+    PARROT_OP_unless_null_s_ic,                /* 250 */
+    PARROT_OP_cmp_i_i_i,                       /* 251 */
+    PARROT_OP_cmp_i_ic_i,                      /* 252 */
+    PARROT_OP_cmp_i_i_ic,                      /* 253 */
+    PARROT_OP_cmp_i_n_n,                       /* 254 */
+    PARROT_OP_cmp_i_nc_n,                      /* 255 */
+    PARROT_OP_cmp_i_n_nc,                      /* 256 */
+    PARROT_OP_cmp_i_s_s,                       /* 257 */
+    PARROT_OP_cmp_i_sc_s,                      /* 258 */
+    PARROT_OP_cmp_i_s_sc,                      /* 259 */
+    PARROT_OP_cmp_i_p_p,                       /* 260 */
+    PARROT_OP_cmp_i_p_i,                       /* 261 */
+    PARROT_OP_cmp_i_p_ic,                      /* 262 */
+    PARROT_OP_cmp_i_p_n,                       /* 263 */
+    PARROT_OP_cmp_i_p_nc,                      /* 264 */
+    PARROT_OP_cmp_i_p_s,                       /* 265 */
+    PARROT_OP_cmp_i_p_sc,                      /* 266 */
+    PARROT_OP_cmp_str_i_p_p,                   /* 267 */
+    PARROT_OP_cmp_num_i_p_p,                   /* 268 */
+    PARROT_OP_cmp_pmc_p_p_p,                   /* 269 */
+    PARROT_OP_issame_i_p_p,                    /* 270 */
+    PARROT_OP_issame_i_s_s,                    /* 271 */
+    PARROT_OP_issame_i_sc_s,                   /* 272 */
+    PARROT_OP_issame_i_s_sc,                   /* 273 */
+    PARROT_OP_issame_i_sc_sc,                  /* 274 */
+    PARROT_OP_isntsame_i_p_p,                  /* 275 */
+    PARROT_OP_isntsame_i_s_s,                  /* 276 */
+    PARROT_OP_isntsame_i_sc_s,                 /* 277 */
+    PARROT_OP_isntsame_i_s_sc,                 /* 278 */
+    PARROT_OP_isntsame_i_sc_sc,                /* 279 */
+    PARROT_OP_istrue_i_p,                      /* 280 */
+    PARROT_OP_isfalse_i_p,                     /* 281 */
+    PARROT_OP_isnull_i_p,                      /* 282 */
+    PARROT_OP_isnull_i_pc,                     /* 283 */
+    PARROT_OP_isnull_i_s,                      /* 284 */
+    PARROT_OP_isnull_i_sc,                     /* 285 */
+    PARROT_OP_isgt_i_p_p,                      /* 286 */
+    PARROT_OP_isge_i_p_p,                      /* 287 */
+    PARROT_OP_isle_i_i_i,                      /* 288 */
+    PARROT_OP_isle_i_ic_i,                     /* 289 */
+    PARROT_OP_isle_i_i_ic,                     /* 290 */
+    PARROT_OP_isle_i_n_n,                      /* 291 */
+    PARROT_OP_isle_i_nc_n,                     /* 292 */
+    PARROT_OP_isle_i_n_nc,                     /* 293 */
+    PARROT_OP_isle_i_s_s,                      /* 294 */
+    PARROT_OP_isle_i_sc_s,                     /* 295 */
+    PARROT_OP_isle_i_s_sc,                     /* 296 */
+    PARROT_OP_isle_i_p_p,                      /* 297 */
+    PARROT_OP_islt_i_i_i,                      /* 298 */
+    PARROT_OP_islt_i_ic_i,                     /* 299 */
+    PARROT_OP_islt_i_i_ic,                     /* 300 */
+    PARROT_OP_islt_i_n_n,                      /* 301 */
+    PARROT_OP_islt_i_nc_n,                     /* 302 */
+    PARROT_OP_islt_i_n_nc,                     /* 303 */
+    PARROT_OP_islt_i_s_s,                      /* 304 */
+    PARROT_OP_islt_i_sc_s,                     /* 305 */
+    PARROT_OP_islt_i_s_sc,                     /* 306 */
+    PARROT_OP_islt_i_p_p,                      /* 307 */
+    PARROT_OP_iseq_i_i_i,                      /* 308 */
+    PARROT_OP_iseq_i_ic_i,                     /* 309 */
+    PARROT_OP_iseq_i_i_ic,                     /* 310 */
+    PARROT_OP_iseq_i_n_n,                      /* 311 */
+    PARROT_OP_iseq_i_nc_n,                     /* 312 */
+    PARROT_OP_iseq_i_n_nc,                     /* 313 */
+    PARROT_OP_iseq_i_s_s,                      /* 314 */
+    PARROT_OP_iseq_i_sc_s,                     /* 315 */
+    PARROT_OP_iseq_i_s_sc,                     /* 316 */
+    PARROT_OP_iseq_i_p_p,                      /* 317 */
+    PARROT_OP_isne_i_i_i,                      /* 318 */
+    PARROT_OP_isne_i_ic_i,                     /* 319 */
+    PARROT_OP_isne_i_i_ic,                     /* 320 */
+    PARROT_OP_isne_i_n_n,                      /* 321 */
+    PARROT_OP_isne_i_nc_n,                     /* 322 */
+    PARROT_OP_isne_i_n_nc,                     /* 323 */
+    PARROT_OP_isne_i_s_s,                      /* 324 */
+    PARROT_OP_isne_i_sc_s,                     /* 325 */
+    PARROT_OP_isne_i_s_sc,                     /* 326 */
+    PARROT_OP_isne_i_p_p,                      /* 327 */
+    PARROT_OP_and_i_i_i,                       /* 328 */
+    PARROT_OP_and_i_ic_i,                      /* 329 */
+    PARROT_OP_and_i_i_ic,                      /* 330 */
+    PARROT_OP_and_p_p_p,                       /* 331 */
+    PARROT_OP_not_i,                           /* 332 */
+    PARROT_OP_not_i_i,                         /* 333 */
+    PARROT_OP_not_p,                           /* 334 */
+    PARROT_OP_not_p_p,                         /* 335 */
+    PARROT_OP_or_i_i_i,                        /* 336 */
+    PARROT_OP_or_i_ic_i,                       /* 337 */
+    PARROT_OP_or_i_i_ic,                       /* 338 */
+    PARROT_OP_or_p_p_p,                        /* 339 */
+    PARROT_OP_xor_i_i_i,                       /* 340 */
+    PARROT_OP_xor_i_ic_i,                      /* 341 */
+    PARROT_OP_xor_i_i_ic,                      /* 342 */
+    PARROT_OP_xor_p_p_p,                       /* 343 */
+    PARROT_OP_print_i,                         /* 344 */
+    PARROT_OP_print_ic,                        /* 345 */
+    PARROT_OP_print_n,                         /* 346 */
+    PARROT_OP_print_nc,                        /* 347 */
+    PARROT_OP_print_s,                         /* 348 */
+    PARROT_OP_print_sc,                        /* 349 */
+    PARROT_OP_print_p,                         /* 350 */
+    PARROT_OP_say_i,                           /* 351 */
+    PARROT_OP_say_ic,                          /* 352 */
+    PARROT_OP_say_n,                           /* 353 */
+    PARROT_OP_say_nc,                          /* 354 */
+    PARROT_OP_say_s,                           /* 355 */
+    PARROT_OP_say_sc,                          /* 356 */
+    PARROT_OP_say_p,                           /* 357 */
+    PARROT_OP_print_p_i,                       /* 358 */
+    PARROT_OP_print_p_ic,                      /* 359 */
+    PARROT_OP_print_p_n,                       /* 360 */
+    PARROT_OP_print_p_nc,                      /* 361 */
+    PARROT_OP_print_p_s,                       /* 362 */
+    PARROT_OP_print_p_sc,                      /* 363 */
+    PARROT_OP_print_p_p,                       /* 364 */
+    PARROT_OP_abs_i,                           /* 365 */
+    PARROT_OP_abs_n,                           /* 366 */
+    PARROT_OP_abs_i_i,                         /* 367 */
+    PARROT_OP_abs_n_n,                         /* 368 */
+    PARROT_OP_abs_p,                           /* 369 */
+    PARROT_OP_abs_p_p,                         /* 370 */
+    PARROT_OP_add_i_i,                         /* 371 */
+    PARROT_OP_add_i_ic,                        /* 372 */
+    PARROT_OP_add_n_n,                         /* 373 */
+    PARROT_OP_add_n_nc,                        /* 374 */
+    PARROT_OP_add_p_p,                         /* 375 */
+    PARROT_OP_add_p_i,                         /* 376 */
+    PARROT_OP_add_p_ic,                        /* 377 */
+    PARROT_OP_add_p_n,                         /* 378 */
+    PARROT_OP_add_p_nc,                        /* 379 */
+    PARROT_OP_add_i_i_i,                       /* 380 */
+    PARROT_OP_add_i_ic_i,                      /* 381 */
+    PARROT_OP_add_i_i_ic,                      /* 382 */
+    PARROT_OP_add_n_n_n,                       /* 383 */
+    PARROT_OP_add_n_nc_n,                      /* 384 */
+    PARROT_OP_add_n_n_nc,                      /* 385 */
+    PARROT_OP_add_p_p_p,                       /* 386 */
+    PARROT_OP_add_p_p_i,                       /* 387 */
+    PARROT_OP_add_p_p_ic,                      /* 388 */
+    PARROT_OP_add_p_p_n,                       /* 389 */
+    PARROT_OP_add_p_p_nc,                      /* 390 */
+    PARROT_OP_dec_i,                           /* 391 */
+    PARROT_OP_dec_n,                           /* 392 */
+    PARROT_OP_dec_p,                           /* 393 */
+    PARROT_OP_div_i_i,                         /* 394 */
+    PARROT_OP_div_i_ic,                        /* 395 */
+    PARROT_OP_div_n_n,                         /* 396 */
+    PARROT_OP_div_n_nc,                        /* 397 */
+    PARROT_OP_div_p_p,                         /* 398 */
+    PARROT_OP_div_p_i,                         /* 399 */
+    PARROT_OP_div_p_ic,                        /* 400 */
+    PARROT_OP_div_p_n,                         /* 401 */
+    PARROT_OP_div_p_nc,                        /* 402 */
+    PARROT_OP_div_i_i_i,                       /* 403 */
+    PARROT_OP_div_i_ic_i,                      /* 404 */
+    PARROT_OP_div_i_i_ic,                      /* 405 */
+    PARROT_OP_div_i_ic_ic,                     /* 406 */
+    PARROT_OP_div_n_n_n,                       /* 407 */
+    PARROT_OP_div_n_nc_n,                      /* 408 */
+    PARROT_OP_div_n_n_nc,                      /* 409 */
+    PARROT_OP_div_n_nc_nc,                     /* 410 */
+    PARROT_OP_div_p_p_p,                       /* 411 */
+    PARROT_OP_div_p_p_i,                       /* 412 */
+    PARROT_OP_div_p_p_ic,                      /* 413 */
+    PARROT_OP_div_p_p_n,                       /* 414 */
+    PARROT_OP_div_p_p_nc,                      /* 415 */
+    PARROT_OP_fdiv_i_i,                        /* 416 */
+    PARROT_OP_fdiv_i_ic,                       /* 417 */
+    PARROT_OP_fdiv_n_n,                        /* 418 */
+    PARROT_OP_fdiv_n_nc,                       /* 419 */
+    PARROT_OP_fdiv_p_p,                        /* 420 */
+    PARROT_OP_fdiv_p_i,                        /* 421 */
+    PARROT_OP_fdiv_p_ic,                       /* 422 */
+    PARROT_OP_fdiv_p_n,                        /* 423 */
+    PARROT_OP_fdiv_p_nc,                       /* 424 */
+    PARROT_OP_fdiv_i_i_i,                      /* 425 */
+    PARROT_OP_fdiv_i_ic_i,                     /* 426 */
+    PARROT_OP_fdiv_i_i_ic,                     /* 427 */
+    PARROT_OP_fdiv_n_n_n,                      /* 428 */
+    PARROT_OP_fdiv_n_nc_n,                     /* 429 */
+    PARROT_OP_fdiv_n_n_nc,                     /* 430 */
+    PARROT_OP_fdiv_p_p_p,                      /* 431 */
+    PARROT_OP_fdiv_p_p_i,                      /* 432 */
+    PARROT_OP_fdiv_p_p_ic,                     /* 433 */
+    PARROT_OP_fdiv_p_p_n,                      /* 434 */
+    PARROT_OP_fdiv_p_p_nc,                     /* 435 */
+    PARROT_OP_ceil_n,                          /* 436 */
+    PARROT_OP_ceil_i_n,                        /* 437 */
+    PARROT_OP_ceil_n_n,                        /* 438 */
+    PARROT_OP_floor_n,                         /* 439 */
+    PARROT_OP_floor_i_n,                       /* 440 */
+    PARROT_OP_floor_n_n,                       /* 441 */
+    PARROT_OP_inc_i,                           /* 442 */
+    PARROT_OP_inc_n,                           /* 443 */
+    PARROT_OP_inc_p,                           /* 444 */
+    PARROT_OP_mod_i_i,                         /* 445 */
+    PARROT_OP_mod_i_ic,                        /* 446 */
+    PARROT_OP_mod_n_n,                         /* 447 */
+    PARROT_OP_mod_n_nc,                        /* 448 */
+    PARROT_OP_mod_p_p,                         /* 449 */
+    PARROT_OP_mod_p_i,                         /* 450 */
+    PARROT_OP_mod_p_ic,                        /* 451 */
+    PARROT_OP_mod_p_n,                         /* 452 */
+    PARROT_OP_mod_p_nc,                        /* 453 */
+    PARROT_OP_mod_i_i_i,                       /* 454 */
+    PARROT_OP_mod_i_ic_i,                      /* 455 */
+    PARROT_OP_mod_i_i_ic,                      /* 456 */
+    PARROT_OP_mod_n_n_n,                       /* 457 */
+    PARROT_OP_mod_n_nc_n,                      /* 458 */
+    PARROT_OP_mod_n_n_nc,                      /* 459 */
+    PARROT_OP_mod_p_p_p,                       /* 460 */
+    PARROT_OP_mod_p_p_i,                       /* 461 */
+    PARROT_OP_mod_p_p_ic,                      /* 462 */
+    PARROT_OP_mod_p_p_n,                       /* 463 */
+    PARROT_OP_mod_p_p_nc,                      /* 464 */
+    PARROT_OP_mul_i_i,                         /* 465 */
+    PARROT_OP_mul_i_ic,                        /* 466 */
+    PARROT_OP_mul_n_n,                         /* 467 */
+    PARROT_OP_mul_n_nc,                        /* 468 */
+    PARROT_OP_mul_p_p,                         /* 469 */
+    PARROT_OP_mul_p_i,                         /* 470 */
+    PARROT_OP_mul_p_ic,                        /* 471 */
+    PARROT_OP_mul_p_n,                         /* 472 */
+    PARROT_OP_mul_p_nc,                        /* 473 */
+    PARROT_OP_mul_i_i_i,                       /* 474 */
+    PARROT_OP_mul_i_ic_i,                      /* 475 */
+    PARROT_OP_mul_i_i_ic,                      /* 476 */
+    PARROT_OP_mul_n_n_n,                       /* 477 */
+    PARROT_OP_mul_n_nc_n,                      /* 478 */
+    PARROT_OP_mul_n_n_nc,                      /* 479 */
+    PARROT_OP_mul_p_p_p,                       /* 480 */
+    PARROT_OP_mul_p_p_i,                       /* 481 */
+    PARROT_OP_mul_p_p_ic,                      /* 482 */
+    PARROT_OP_mul_p_p_n,                       /* 483 */
+    PARROT_OP_mul_p_p_nc,                      /* 484 */
+    PARROT_OP_neg_i,                           /* 485 */
+    PARROT_OP_neg_n,                           /* 486 */
+    PARROT_OP_neg_p,                           /* 487 */
+    PARROT_OP_neg_i_i,                         /* 488 */
+    PARROT_OP_neg_n_n,                         /* 489 */
+    PARROT_OP_neg_p_p,                         /* 490 */
+    PARROT_OP_sub_i_i,                         /* 491 */
+    PARROT_OP_sub_i_ic,                        /* 492 */
+    PARROT_OP_sub_n_n,                         /* 493 */
+    PARROT_OP_sub_n_nc,                        /* 494 */
+    PARROT_OP_sub_p_p,                         /* 495 */
+    PARROT_OP_sub_p_i,                         /* 496 */
+    PARROT_OP_sub_p_ic,                        /* 497 */
+    PARROT_OP_sub_p_n,                         /* 498 */
+    PARROT_OP_sub_p_nc,                        /* 499 */
+    PARROT_OP_sub_i_i_i,                       /* 500 */
+    PARROT_OP_sub_i_ic_i,                      /* 501 */
+    PARROT_OP_sub_i_i_ic,                      /* 502 */
+    PARROT_OP_sub_n_n_n,                       /* 503 */
+    PARROT_OP_sub_n_nc_n,                      /* 504 */
+    PARROT_OP_sub_n_n_nc,                      /* 505 */
+    PARROT_OP_sub_p_p_p,                       /* 506 */
+    PARROT_OP_sub_p_p_i,                       /* 507 */
+    PARROT_OP_sub_p_p_ic,                      /* 508 */
+    PARROT_OP_sub_p_p_n,                       /* 509 */
+    PARROT_OP_sub_p_p_nc,                      /* 510 */
+    PARROT_OP_sqrt_n_n,                        /* 511 */
+    PARROT_OP_callmethodcc_p_s,                /* 512 */
+    PARROT_OP_callmethodcc_p_sc,               /* 513 */
+    PARROT_OP_callmethodcc_p_p,                /* 514 */
+    PARROT_OP_callmethod_p_s_p,                /* 515 */
+    PARROT_OP_callmethod_p_sc_p,               /* 516 */
+    PARROT_OP_callmethod_p_p_p,                /* 517 */
+    PARROT_OP_tailcallmethod_p_s,              /* 518 */
+    PARROT_OP_tailcallmethod_p_sc,             /* 519 */
+    PARROT_OP_tailcallmethod_p_p,              /* 520 */
+    PARROT_OP_addmethod_p_s_p,                 /* 521 */
+    PARROT_OP_addmethod_p_sc_p,                /* 522 */
+    PARROT_OP_can_i_p_s,                       /* 523 */
+    PARROT_OP_can_i_p_sc,                      /* 524 */
+    PARROT_OP_does_i_p_s,                      /* 525 */
+    PARROT_OP_does_i_p_sc,                     /* 526 */
+    PARROT_OP_does_i_p_p,                      /* 527 */
+    PARROT_OP_does_i_p_pc,                     /* 528 */
+    PARROT_OP_isa_i_p_s,                       /* 529 */
+    PARROT_OP_isa_i_p_sc,                      /* 530 */
+    PARROT_OP_isa_i_p_p,                       /* 531 */
+    PARROT_OP_isa_i_p_pc,                      /* 532 */
+    PARROT_OP_newclass_p_s,                    /* 533 */
+    PARROT_OP_newclass_p_sc,                   /* 534 */
+    PARROT_OP_newclass_p_p,                    /* 535 */
+    PARROT_OP_newclass_p_pc,                   /* 536 */
+    PARROT_OP_subclass_p_p,                    /* 537 */
+    PARROT_OP_subclass_p_pc,                   /* 538 */
+    PARROT_OP_subclass_p_p_s,                  /* 539 */
+    PARROT_OP_subclass_p_pc_s,                 /* 540 */
+    PARROT_OP_subclass_p_p_sc,                 /* 541 */
+    PARROT_OP_subclass_p_pc_sc,                /* 542 */
+    PARROT_OP_subclass_p_p_p,                  /* 543 */
+    PARROT_OP_subclass_p_pc_p,                 /* 544 */
+    PARROT_OP_subclass_p_p_pc,                 /* 545 */
+    PARROT_OP_subclass_p_pc_pc,                /* 546 */
+    PARROT_OP_subclass_p_s,                    /* 547 */
+    PARROT_OP_subclass_p_sc,                   /* 548 */
+    PARROT_OP_subclass_p_s_s,                  /* 549 */
+    PARROT_OP_subclass_p_sc_s,                 /* 550 */
+    PARROT_OP_subclass_p_s_sc,                 /* 551 */
+    PARROT_OP_subclass_p_sc_sc,                /* 552 */
+    PARROT_OP_subclass_p_s_p,                  /* 553 */
+    PARROT_OP_subclass_p_sc_p,                 /* 554 */
+    PARROT_OP_subclass_p_s_pc,                 /* 555 */
+    PARROT_OP_subclass_p_sc_pc,                /* 556 */
+    PARROT_OP_get_class_p_s,                   /* 557 */
+    PARROT_OP_get_class_p_sc,                  /* 558 */
+    PARROT_OP_get_class_p_p,                   /* 559 */
+    PARROT_OP_get_class_p_pc,                  /* 560 */
+    PARROT_OP_class_p_p,                       /* 561 */
+    PARROT_OP_addparent_p_p,                   /* 562 */
+    PARROT_OP_removeparent_p_p,                /* 563 */
+    PARROT_OP_addrole_p_p,                     /* 564 */
+    PARROT_OP_addattribute_p_s,                /* 565 */
+    PARROT_OP_addattribute_p_sc,               /* 566 */
+    PARROT_OP_removeattribute_p_s,             /* 567 */
+    PARROT_OP_removeattribute_p_sc,            /* 568 */
+    PARROT_OP_getattribute_p_p_s,              /* 569 */
+    PARROT_OP_getattribute_p_p_sc,             /* 570 */
+    PARROT_OP_getattribute_p_p_p_s,            /* 571 */
+    PARROT_OP_getattribute_p_p_pc_s,           /* 572 */
+    PARROT_OP_getattribute_p_p_p_sc,           /* 573 */
+    PARROT_OP_getattribute_p_p_pc_sc,          /* 574 */
+    PARROT_OP_setattribute_p_s_p,              /* 575 */
+    PARROT_OP_setattribute_p_sc_p,             /* 576 */
+    PARROT_OP_setattribute_p_p_s_p,            /* 577 */
+    PARROT_OP_setattribute_p_pc_s_p,           /* 578 */
+    PARROT_OP_setattribute_p_p_sc_p,           /* 579 */
+    PARROT_OP_setattribute_p_pc_sc_p,          /* 580 */
+    PARROT_OP_inspect_p_p,                     /* 581 */
+    PARROT_OP_inspect_p_pc,                    /* 582 */
+    PARROT_OP_inspect_p_p_s,                   /* 583 */
+    PARROT_OP_inspect_p_pc_s,                  /* 584 */
+    PARROT_OP_inspect_p_p_sc,                  /* 585 */
+    PARROT_OP_inspect_p_pc_sc,                 /* 586 */
+    PARROT_OP_new_p_s,                         /* 587 */
+    PARROT_OP_new_p_sc,                        /* 588 */
+    PARROT_OP_new_p_s_p,                       /* 589 */
+    PARROT_OP_new_p_sc_p,                      /* 590 */
+    PARROT_OP_new_p_s_pc,                      /* 591 */
+    PARROT_OP_new_p_sc_pc,                     /* 592 */
+    PARROT_OP_new_p_p,                         /* 593 */
+    PARROT_OP_new_p_pc,                        /* 594 */
+    PARROT_OP_new_p_p_p,                       /* 595 */
+    PARROT_OP_new_p_pc_p,                      /* 596 */
+    PARROT_OP_new_p_p_pc,                      /* 597 */
+    PARROT_OP_new_p_pc_pc,                     /* 598 */
+    PARROT_OP_root_new_p_p,                    /* 599 */
+    PARROT_OP_root_new_p_pc,                   /* 600 */
+    PARROT_OP_root_new_p_p_p,                  /* 601 */
+    PARROT_OP_root_new_p_pc_p,                 /* 602 */
+    PARROT_OP_root_new_p_p_pc,                 /* 603 */
+    PARROT_OP_root_new_p_pc_pc,                /* 604 */
+    PARROT_OP_typeof_s_p,                      /* 605 */
+    PARROT_OP_typeof_p_p,                      /* 606 */
+    PARROT_OP_get_repr_s_p,                    /* 607 */
+    PARROT_OP_find_method_p_p_s,               /* 608 */
+    PARROT_OP_find_method_p_p_sc,              /* 609 */
+    PARROT_OP_defined_i_p,                     /* 610 */
+    PARROT_OP_defined_i_p_ki,                  /* 611 */
+    PARROT_OP_defined_i_p_kic,                 /* 612 */
+    PARROT_OP_defined_i_p_k,                   /* 613 */
+    PARROT_OP_defined_i_p_kc,                  /* 614 */
+    PARROT_OP_exists_i_p_ki,                   /* 615 */
+    PARROT_OP_exists_i_p_kic,                  /* 616 */
+    PARROT_OP_exists_i_p_k,                    /* 617 */
+    PARROT_OP_exists_i_p_kc,                   /* 618 */
+    PARROT_OP_delete_p_k,                      /* 619 */
+    PARROT_OP_delete_p_kc,                     /* 620 */
+    PARROT_OP_delete_p_ki,                     /* 621 */
+    PARROT_OP_delete_p_kic,                    /* 622 */
+    PARROT_OP_elements_i_p,                    /* 623 */
+    PARROT_OP_push_p_i,                        /* 624 */
+    PARROT_OP_push_p_ic,                       /* 625 */
+    PARROT_OP_push_p_n,                        /* 626 */
+    PARROT_OP_push_p_nc,                       /* 627 */
+    PARROT_OP_push_p_s,                        /* 628 */
+    PARROT_OP_push_p_sc,                       /* 629 */
+    PARROT_OP_push_p_p,                        /* 630 */
+    PARROT_OP_pop_i_p,                         /* 631 */
+    PARROT_OP_pop_n_p,                         /* 632 */
+    PARROT_OP_pop_s_p,                         /* 633 */
+    PARROT_OP_pop_p_p,                         /* 634 */
+    PARROT_OP_unshift_p_i,                     /* 635 */
+    PARROT_OP_unshift_p_ic,                    /* 636 */
+    PARROT_OP_unshift_p_n,                     /* 637 */
+    PARROT_OP_unshift_p_nc,                    /* 638 */
+    PARROT_OP_unshift_p_s,                     /* 639 */
+    PARROT_OP_unshift_p_sc,                    /* 640 */
+    PARROT_OP_unshift_p_p,                     /* 641 */
+    PARROT_OP_shift_i_p,                       /* 642 */
+    PARROT_OP_shift_n_p,                       /* 643 */
+    PARROT_OP_shift_s_p,                       /* 644 */
+    PARROT_OP_shift_p_p,                       /* 645 */
+    PARROT_OP_splice_p_p_i_i,                  /* 646 */
+    PARROT_OP_splice_p_p_ic_i,                 /* 647 */
+    PARROT_OP_splice_p_p_i_ic,                 /* 648 */
+    PARROT_OP_splice_p_p_ic_ic,                /* 649 */
+    PARROT_OP_setprop_p_s_p,                   /* 650 */
+    PARROT_OP_setprop_p_sc_p,                  /* 651 */
+    PARROT_OP_getprop_p_s_p,                   /* 652 */
+    PARROT_OP_getprop_p_sc_p,                  /* 653 */
+    PARROT_OP_delprop_p_s,                     /* 654 */
+    PARROT_OP_delprop_p_sc,                    /* 655 */
+    PARROT_OP_prophash_p_p,                    /* 656 */
+    PARROT_OP_freeze_s_p,                      /* 657 */
+    PARROT_OP_thaw_p_s,                        /* 658 */
+    PARROT_OP_thaw_p_sc,                       /* 659 */
+    PARROT_OP_add_multi_s_s_p,                 /* 660 */
+    PARROT_OP_add_multi_sc_s_p,                /* 661 */
+    PARROT_OP_add_multi_s_sc_p,                /* 662 */
+    PARROT_OP_add_multi_sc_sc_p,               /* 663 */
+    PARROT_OP_find_multi_p_s_s,                /* 664 */
+    PARROT_OP_find_multi_p_sc_s,               /* 665 */
+    PARROT_OP_find_multi_p_s_sc,               /* 666 */
+    PARROT_OP_find_multi_p_sc_sc,              /* 667 */
+    PARROT_OP_register_p,                      /* 668 */
+    PARROT_OP_unregister_p,                    /* 669 */
+    PARROT_OP_box_p_i,                         /* 670 */
+    PARROT_OP_box_p_ic,                        /* 671 */
+    PARROT_OP_box_p_n,                         /* 672 */
+    PARROT_OP_box_p_nc,                        /* 673 */
+    PARROT_OP_box_p_s,                         /* 674 */
+    PARROT_OP_box_p_sc,                        /* 675 */
+    PARROT_OP_iter_p_p,                        /* 676 */
+    PARROT_OP_morph_p_p,                       /* 677 */
+    PARROT_OP_morph_p_pc,                      /* 678 */
+    PARROT_OP_clone_s_s,                       /* 679 */
+    PARROT_OP_clone_s_sc,                      /* 680 */
+    PARROT_OP_set_i_i,                         /* 681 */
+    PARROT_OP_set_i_ic,                        /* 682 */
+    PARROT_OP_set_i_n,                         /* 683 */
+    PARROT_OP_set_i_nc,                        /* 684 */
+    PARROT_OP_set_i_s,                         /* 685 */
+    PARROT_OP_set_i_sc,                        /* 686 */
+    PARROT_OP_set_n_n,                         /* 687 */
+    PARROT_OP_set_n_nc,                        /* 688 */
+    PARROT_OP_set_n_i,                         /* 689 */
+    PARROT_OP_set_n_ic,                        /* 690 */
+    PARROT_OP_set_n_s,                         /* 691 */
+    PARROT_OP_set_n_sc,                        /* 692 */
+    PARROT_OP_set_n_p,                         /* 693 */
+    PARROT_OP_set_s_p,                         /* 694 */
+    PARROT_OP_set_s_s,                         /* 695 */
+    PARROT_OP_set_s_sc,                        /* 696 */
+    PARROT_OP_set_s_i,                         /* 697 */
+    PARROT_OP_set_s_ic,                        /* 698 */
+    PARROT_OP_set_s_n,                         /* 699 */
+    PARROT_OP_set_s_nc,                        /* 700 */
+    PARROT_OP_set_p_pc,                        /* 701 */
+    PARROT_OP_set_p_p,                         /* 702 */
+    PARROT_OP_set_p_i,                         /* 703 */
+    PARROT_OP_set_p_ic,                        /* 704 */
+    PARROT_OP_set_p_n,                         /* 705 */
+    PARROT_OP_set_p_nc,                        /* 706 */
+    PARROT_OP_set_p_s,                         /* 707 */
+    PARROT_OP_set_p_sc,                        /* 708 */
+    PARROT_OP_set_i_p,                         /* 709 */
+    PARROT_OP_assign_p_p,                      /* 710 */
+    PARROT_OP_assign_p_i,                      /* 711 */
+    PARROT_OP_assign_p_ic,                     /* 712 */
+    PARROT_OP_assign_p_n,                      /* 713 */
+    PARROT_OP_assign_p_nc,                     /* 714 */
+    PARROT_OP_assign_p_s,                      /* 715 */
+    PARROT_OP_assign_p_sc,                     /* 716 */
+    PARROT_OP_assign_s_s,                      /* 717 */
+    PARROT_OP_assign_s_sc,                     /* 718 */
+    PARROT_OP_setref_p_p,                      /* 719 */
+    PARROT_OP_deref_p_p,                       /* 720 */
+    PARROT_OP_set_p_ki_i,                      /* 721 */
+    PARROT_OP_set_p_kic_i,                     /* 722 */
+    PARROT_OP_set_p_ki_ic,                     /* 723 */
+    PARROT_OP_set_p_kic_ic,                    /* 724 */
+    PARROT_OP_set_p_ki_n,                      /* 725 */
+    PARROT_OP_set_p_kic_n,                     /* 726 */
+    PARROT_OP_set_p_ki_nc,                     /* 727 */
+    PARROT_OP_set_p_kic_nc,                    /* 728 */
+    PARROT_OP_set_p_ki_s,                      /* 729 */
+    PARROT_OP_set_p_kic_s,                     /* 730 */
+    PARROT_OP_set_p_ki_sc,                     /* 731 */
+    PARROT_OP_set_p_kic_sc,                    /* 732 */
+    PARROT_OP_set_p_ki_p,                      /* 733 */
+    PARROT_OP_set_p_kic_p,                     /* 734 */
+    PARROT_OP_set_i_p_ki,                      /* 735 */
+    PARROT_OP_set_i_p_kic,                     /* 736 */
+    PARROT_OP_set_n_p_ki,                      /* 737 */
+    PARROT_OP_set_n_p_kic,                     /* 738 */
+    PARROT_OP_set_s_p_ki,                      /* 739 */
+    PARROT_OP_set_s_p_kic,                     /* 740 */
+    PARROT_OP_set_p_p_ki,                      /* 741 */
+    PARROT_OP_set_p_p_kic,                     /* 742 */
+    PARROT_OP_set_p_k_i,                       /* 743 */
+    PARROT_OP_set_p_kc_i,                      /* 744 */
+    PARROT_OP_set_p_k_ic,                      /* 745 */
+    PARROT_OP_set_p_kc_ic,                     /* 746 */
+    PARROT_OP_set_p_k_n,                       /* 747 */
+    PARROT_OP_set_p_kc_n,                      /* 748 */
+    PARROT_OP_set_p_k_nc,                      /* 749 */
+    PARROT_OP_set_p_kc_nc,                     /* 750 */
+    PARROT_OP_set_p_k_s,                       /* 751 */
+    PARROT_OP_set_p_kc_s,                      /* 752 */
+    PARROT_OP_set_p_k_sc,                      /* 753 */
+    PARROT_OP_set_p_kc_sc,                     /* 754 */
+    PARROT_OP_set_p_k_p,                       /* 755 */
+    PARROT_OP_set_p_kc_p,                      /* 756 */
+    PARROT_OP_set_i_p_k,                       /* 757 */
+    PARROT_OP_set_i_p_kc,                      /* 758 */
+    PARROT_OP_set_n_p_k,                       /* 759 */
+    PARROT_OP_set_n_p_kc,                      /* 760 */
+    PARROT_OP_set_s_p_k,                       /* 761 */
+    PARROT_OP_set_s_p_kc,                      /* 762 */
+    PARROT_OP_set_p_p_k,                       /* 763 */
+    PARROT_OP_set_p_p_kc,                      /* 764 */
+    PARROT_OP_clone_p_p,                       /* 765 */
+    PARROT_OP_clone_p_p_p,                     /* 766 */
+    PARROT_OP_clone_p_p_pc,                    /* 767 */
+    PARROT_OP_copy_p_p,                        /* 768 */
+    PARROT_OP_null_s,                          /* 769 */
+    PARROT_OP_null_i,                          /* 770 */
+    PARROT_OP_null_p,                          /* 771 */
+    PARROT_OP_null_n,                          /* 772 */
+    PARROT_OP_ord_i_s,                         /* 773 */
+    PARROT_OP_ord_i_sc,                        /* 774 */
+    PARROT_OP_ord_i_s_i,                       /* 775 */
+    PARROT_OP_ord_i_sc_i,                      /* 776 */
+    PARROT_OP_ord_i_s_ic,                      /* 777 */
+    PARROT_OP_ord_i_sc_ic,                     /* 778 */
+    PARROT_OP_chr_s_i,                         /* 779 */
+    PARROT_OP_chr_s_ic,                        /* 780 */
+    PARROT_OP_chopn_s_s_i,                     /* 781 */
+    PARROT_OP_chopn_s_sc_i,                    /* 782 */
+    PARROT_OP_chopn_s_s_ic,                    /* 783 */
+    PARROT_OP_chopn_s_sc_ic,                   /* 784 */
+    PARROT_OP_concat_s_s,                      /* 785 */
+    PARROT_OP_concat_s_sc,                     /* 786 */
+    PARROT_OP_concat_p_p,                      /* 787 */
+    PARROT_OP_concat_p_s,                      /* 788 */
+    PARROT_OP_concat_p_sc,                     /* 789 */
+    PARROT_OP_concat_s_s_s,                    /* 790 */
+    PARROT_OP_concat_s_sc_s,                   /* 791 */
+    PARROT_OP_concat_s_s_sc,                   /* 792 */
+    PARROT_OP_concat_p_p_s,                    /* 793 */
+    PARROT_OP_concat_p_p_sc,                   /* 794 */
+    PARROT_OP_concat_p_p_p,                    /* 795 */
+    PARROT_OP_repeat_s_s_i,                    /* 796 */
+    PARROT_OP_repeat_s_sc_i,                   /* 797 */
+    PARROT_OP_repeat_s_s_ic,                   /* 798 */
+    PARROT_OP_repeat_s_sc_ic,                  /* 799 */
+    PARROT_OP_repeat_p_p_i,                    /* 800 */
+    PARROT_OP_repeat_p_p_ic,                   /* 801 */
+    PARROT_OP_repeat_p_p_p,                    /* 802 */
+    PARROT_OP_repeat_p_i,                      /* 803 */
+    PARROT_OP_repeat_p_ic,                     /* 804 */
+    PARROT_OP_repeat_p_p,                      /* 805 */
+    PARROT_OP_length_i_s,                      /* 806 */
+    PARROT_OP_length_i_sc,                     /* 807 */
+    PARROT_OP_bytelength_i_s,                  /* 808 */
+    PARROT_OP_bytelength_i_sc,                 /* 809 */
+    PARROT_OP_pin_s,                           /* 810 */
+    PARROT_OP_unpin_s,                         /* 811 */
+    PARROT_OP_substr_s_s_i,                    /* 812 */
+    PARROT_OP_substr_s_sc_i,                   /* 813 */
+    PARROT_OP_substr_s_s_ic,                   /* 814 */
+    PARROT_OP_substr_s_sc_ic,                  /* 815 */
+    PARROT_OP_substr_s_s_i_i,                  /* 816 */
+    PARROT_OP_substr_s_sc_i_i,                 /* 817 */
+    PARROT_OP_substr_s_s_ic_i,                 /* 818 */
+    PARROT_OP_substr_s_sc_ic_i,                /* 819 */
+    PARROT_OP_substr_s_s_i_ic,                 /* 820 */
+    PARROT_OP_substr_s_sc_i_ic,                /* 821 */
+    PARROT_OP_substr_s_s_ic_ic,                /* 822 */
+    PARROT_OP_substr_s_sc_ic_ic,               /* 823 */
+    PARROT_OP_substr_s_p_i_i,                  /* 824 */
+    PARROT_OP_substr_s_p_ic_i,                 /* 825 */
+    PARROT_OP_substr_s_p_i_ic,                 /* 826 */
+    PARROT_OP_substr_s_p_ic_ic,                /* 827 */
+    PARROT_OP_replace_s_s_i_i_s,               /* 828 */
+    PARROT_OP_replace_s_sc_i_i_s,              /* 829 */
+    PARROT_OP_replace_s_s_ic_i_s,              /* 830 */
+    PARROT_OP_replace_s_sc_ic_i_s,             /* 831 */
+    PARROT_OP_replace_s_s_i_ic_s,              /* 832 */
+    PARROT_OP_replace_s_sc_i_ic_s,             /* 833 */
+    PARROT_OP_replace_s_s_ic_ic_s,             /* 834 */
+    PARROT_OP_replace_s_sc_ic_ic_s,            /* 835 */
+    PARROT_OP_replace_s_s_i_i_sc,              /* 836 */
+    PARROT_OP_replace_s_sc_i_i_sc,             /* 837 */
+    PARROT_OP_replace_s_s_ic_i_sc,             /* 838 */
+    PARROT_OP_replace_s_sc_ic_i_sc,            /* 839 */
+    PARROT_OP_replace_s_s_i_ic_sc,             /* 840 */
+    PARROT_OP_replace_s_sc_i_ic_sc,            /* 841 */
+    PARROT_OP_replace_s_s_ic_ic_sc,            /* 842 */
+    PARROT_OP_replace_s_sc_ic_ic_sc,           /* 843 */
+    PARROT_OP_index_i_s_s,                     /* 844 */
+    PARROT_OP_index_i_sc_s,                    /* 845 */
+    PARROT_OP_index_i_s_sc,                    /* 846 */
+    PARROT_OP_index_i_sc_sc,                   /* 847 */
+    PARROT_OP_index_i_s_s_i,                   /* 848 */
+    PARROT_OP_index_i_sc_s_i,                  /* 849 */
+    PARROT_OP_index_i_s_sc_i,                  /* 850 */
+    PARROT_OP_index_i_sc_sc_i,                 /* 851 */
+    PARROT_OP_index_i_s_s_ic,                  /* 852 */
+    PARROT_OP_index_i_sc_s_ic,                 /* 853 */
+    PARROT_OP_index_i_s_sc_ic,                 /* 854 */
+    PARROT_OP_index_i_sc_sc_ic,                /* 855 */
+    PARROT_OP_sprintf_s_s_p,                   /* 856 */
+    PARROT_OP_sprintf_s_sc_p,                  /* 857 */
+    PARROT_OP_sprintf_p_p_p,                   /* 858 */
+    PARROT_OP_new_s,                           /* 859 */
+    PARROT_OP_new_s_i,                         /* 860 */
+    PARROT_OP_new_s_ic,                        /* 861 */
+    PARROT_OP_stringinfo_i_s_i,                /* 862 */
+    PARROT_OP_stringinfo_i_sc_i,               /* 863 */
+    PARROT_OP_stringinfo_i_s_ic,               /* 864 */
+    PARROT_OP_stringinfo_i_sc_ic,              /* 865 */
+    PARROT_OP_upcase_s_s,                      /* 866 */
+    PARROT_OP_upcase_s_sc,                     /* 867 */
+    PARROT_OP_downcase_s_s,                    /* 868 */
+    PARROT_OP_downcase_s_sc,                   /* 869 */
+    PARROT_OP_titlecase_s_s,                   /* 870 */
+    PARROT_OP_titlecase_s_sc,                  /* 871 */
+    PARROT_OP_join_s_s_p,                      /* 872 */
+    PARROT_OP_join_s_sc_p,                     /* 873 */
+    PARROT_OP_split_p_s_s,                     /* 874 */
+    PARROT_OP_split_p_sc_s,                    /* 875 */
+    PARROT_OP_split_p_s_sc,                    /* 876 */
+    PARROT_OP_split_p_sc_sc,                   /* 877 */
+    PARROT_OP_charset_i_s,                     /* 878 */
+    PARROT_OP_charset_i_sc,                    /* 879 */
+    PARROT_OP_charsetname_s_i,                 /* 880 */
+    PARROT_OP_charsetname_s_ic,                /* 881 */
+    PARROT_OP_find_charset_i_s,                /* 882 */
+    PARROT_OP_find_charset_i_sc,               /* 883 */
+    PARROT_OP_trans_charset_s_s_i,             /* 884 */
+    PARROT_OP_trans_charset_s_sc_i,            /* 885 */
+    PARROT_OP_trans_charset_s_s_ic,            /* 886 */
+    PARROT_OP_trans_charset_s_sc_ic,           /* 887 */
+    PARROT_OP_encoding_i_s,                    /* 888 */
+    PARROT_OP_encoding_i_sc,                   /* 889 */
+    PARROT_OP_encodingname_s_i,                /* 890 */
+    PARROT_OP_encodingname_s_ic,               /* 891 */
+    PARROT_OP_find_encoding_i_s,               /* 892 */
+    PARROT_OP_find_encoding_i_sc,              /* 893 */
+    PARROT_OP_trans_encoding_s_s_i,            /* 894 */
+    PARROT_OP_trans_encoding_s_sc_i,           /* 895 */
+    PARROT_OP_trans_encoding_s_s_ic,           /* 896 */
+    PARROT_OP_trans_encoding_s_sc_ic,          /* 897 */
+    PARROT_OP_is_cclass_i_i_s_i,               /* 898 */
+    PARROT_OP_is_cclass_i_ic_s_i,              /* 899 */
+    PARROT_OP_is_cclass_i_i_sc_i,              /* 900 */
+    PARROT_OP_is_cclass_i_ic_sc_i,             /* 901 */
+    PARROT_OP_is_cclass_i_i_s_ic,              /* 902 */
+    PARROT_OP_is_cclass_i_ic_s_ic,             /* 903 */
+    PARROT_OP_is_cclass_i_i_sc_ic,             /* 904 */
+    PARROT_OP_is_cclass_i_ic_sc_ic,            /* 905 */
+    PARROT_OP_find_cclass_i_i_s_i_i,           /* 906 */
+    PARROT_OP_find_cclass_i_ic_s_i_i,          /* 907 */
+    PARROT_OP_find_cclass_i_i_sc_i_i,          /* 908 */
+    PARROT_OP_find_cclass_i_ic_sc_i_i,         /* 909 */
+    PARROT_OP_find_cclass_i_i_s_ic_i,          /* 910 */
+    PARROT_OP_find_cclass_i_ic_s_ic_i,         /* 911 */
+    PARROT_OP_find_cclass_i_i_sc_ic_i,         /* 912 */
+    PARROT_OP_find_cclass_i_ic_sc_ic_i,        /* 913 */
+    PARROT_OP_find_cclass_i_i_s_i_ic,          /* 914 */
+    PARROT_OP_find_cclass_i_ic_s_i_ic,         /* 915 */
+    PARROT_OP_find_cclass_i_i_sc_i_ic,         /* 916 */
+    PARROT_OP_find_cclass_i_ic_sc_i_ic,        /* 917 */
+    PARROT_OP_find_cclass_i_i_s_ic_ic,         /* 918 */
+    PARROT_OP_find_cclass_i_ic_s_ic_ic,        /* 919 */
+    PARROT_OP_find_cclass_i_i_sc_ic_ic,        /* 920 */
+    PARROT_OP_find_cclass_i_ic_sc_ic_ic,       /* 921 */
+    PARROT_OP_find_not_cclass_i_i_s_i_i,       /* 922 */
+    PARROT_OP_find_not_cclass_i_ic_s_i_i,      /* 923 */
+    PARROT_OP_find_not_cclass_i_i_sc_i_i,      /* 924 */
+    PARROT_OP_find_not_cclass_i_ic_sc_i_i,     /* 925 */
+    PARROT_OP_find_not_cclass_i_i_s_ic_i,      /* 926 */
+    PARROT_OP_find_not_cclass_i_ic_s_ic_i,     /* 927 */
+    PARROT_OP_find_not_cclass_i_i_sc_ic_i,     /* 928 */
+    PARROT_OP_find_not_cclass_i_ic_sc_ic_i,    /* 929 */
+    PARROT_OP_find_not_cclass_i_i_s_i_ic,      /* 930 */
+    PARROT_OP_find_not_cclass_i_ic_s_i_ic,     /* 931 */
+    PARROT_OP_find_not_cclass_i_i_sc_i_ic,     /* 932 */
+    PARROT_OP_find_not_cclass_i_ic_sc_i_ic,    /* 933 */
+    PARROT_OP_find_not_cclass_i_i_s_ic_ic,     /* 934 */
+    PARROT_OP_find_not_cclass_i_ic_s_ic_ic,    /* 935 */
+    PARROT_OP_find_not_cclass_i_i_sc_ic_ic,    /* 936 */
+    PARROT_OP_find_not_cclass_i_ic_sc_ic_ic,   /* 937 */
+    PARROT_OP_escape_s_s,                      /* 938 */
+    PARROT_OP_compose_s_s,                     /* 939 */
+    PARROT_OP_compose_s_sc,                    /* 940 */
+    PARROT_OP_spawnw_i_s,                      /* 941 */
+    PARROT_OP_spawnw_i_sc,                     /* 942 */
+    PARROT_OP_spawnw_i_p,                      /* 943 */
+    PARROT_OP_err_i,                           /* 944 */
+    PARROT_OP_err_s,                           /* 945 */
+    PARROT_OP_err_s_i,                         /* 946 */
+    PARROT_OP_err_s_ic,                        /* 947 */
+    PARROT_OP_time_i,                          /* 948 */
+    PARROT_OP_time_n,                          /* 949 */
+    PARROT_OP_sleep_i,                         /* 950 */
+    PARROT_OP_sleep_ic,                        /* 951 */
+    PARROT_OP_sleep_n,                         /* 952 */
+    PARROT_OP_sleep_nc,                        /* 953 */
+    PARROT_OP_store_lex_s_p,                   /* 954 */
+    PARROT_OP_store_lex_sc_p,                  /* 955 */
+    PARROT_OP_store_dynamic_lex_s_p,           /* 956 */
+    PARROT_OP_store_dynamic_lex_sc_p,          /* 957 */
+    PARROT_OP_find_lex_p_s,                    /* 958 */
+    PARROT_OP_find_lex_p_sc,                   /* 959 */
+    PARROT_OP_find_dynamic_lex_p_s,            /* 960 */
+    PARROT_OP_find_dynamic_lex_p_sc,           /* 961 */
+    PARROT_OP_find_caller_lex_p_s,             /* 962 */
+    PARROT_OP_find_caller_lex_p_sc,            /* 963 */
+    PARROT_OP_get_namespace_p,                 /* 964 */
+    PARROT_OP_get_namespace_p_p,               /* 965 */
+    PARROT_OP_get_namespace_p_pc,              /* 966 */
+    PARROT_OP_get_hll_namespace_p,             /* 967 */
+    PARROT_OP_get_hll_namespace_p_p,           /* 968 */
+    PARROT_OP_get_hll_namespace_p_pc,          /* 969 */
+    PARROT_OP_get_root_namespace_p,            /* 970 */
+    PARROT_OP_get_root_namespace_p_p,          /* 971 */
+    PARROT_OP_get_root_namespace_p_pc,         /* 972 */
+    PARROT_OP_get_global_p_s,                  /* 973 */
+    PARROT_OP_get_global_p_sc,                 /* 974 */
+    PARROT_OP_get_global_p_p_s,                /* 975 */
+    PARROT_OP_get_global_p_pc_s,               /* 976 */
+    PARROT_OP_get_global_p_p_sc,               /* 977 */
+    PARROT_OP_get_global_p_pc_sc,              /* 978 */
+    PARROT_OP_get_hll_global_p_s,              /* 979 */
+    PARROT_OP_get_hll_global_p_sc,             /* 980 */
+    PARROT_OP_get_hll_global_p_p_s,            /* 981 */
+    PARROT_OP_get_hll_global_p_pc_s,           /* 982 */
+    PARROT_OP_get_hll_global_p_p_sc,           /* 983 */
+    PARROT_OP_get_hll_global_p_pc_sc,          /* 984 */
+    PARROT_OP_get_root_global_p_s,             /* 985 */
+    PARROT_OP_get_root_global_p_sc,            /* 986 */
+    PARROT_OP_get_root_global_p_p_s,           /* 987 */
+    PARROT_OP_get_root_global_p_pc_s,          /* 988 */
+    PARROT_OP_get_root_global_p_p_sc,          /* 989 */
+    PARROT_OP_get_root_global_p_pc_sc,         /* 990 */
+    PARROT_OP_set_global_s_p,                  /* 991 */
+    PARROT_OP_set_global_sc_p,                 /* 992 */
+    PARROT_OP_set_global_p_s_p,                /* 993 */
+    PARROT_OP_set_global_pc_s_p,               /* 994 */
+    PARROT_OP_set_global_p_sc_p,               /* 995 */
+    PARROT_OP_set_global_pc_sc_p,              /* 996 */
+    PARROT_OP_set_hll_global_s_p,              /* 997 */
+    PARROT_OP_set_hll_global_sc_p,             /* 998 */
+    PARROT_OP_set_hll_global_p_s_p,            /* 999 */
+    PARROT_OP_set_hll_global_pc_s_p,           /* 1000 */
+    PARROT_OP_set_hll_global_p_sc_p,           /* 1001 */
+    PARROT_OP_set_hll_global_pc_sc_p,          /* 1002 */
+    PARROT_OP_set_root_global_s_p,             /* 1003 */
+    PARROT_OP_set_root_global_sc_p,            /* 1004 */
+    PARROT_OP_set_root_global_p_s_p,           /* 1005 */
+    PARROT_OP_set_root_global_pc_s_p,          /* 1006 */
+    PARROT_OP_set_root_global_p_sc_p,          /* 1007 */
+    PARROT_OP_set_root_global_pc_sc_p,         /* 1008 */
+    PARROT_OP_find_name_p_s,                   /* 1009 */
+    PARROT_OP_find_name_p_sc,                  /* 1010 */
+    PARROT_OP_find_sub_not_null_p_s,           /* 1011 */
+    PARROT_OP_find_sub_not_null_p_sc,          /* 1012 */
+    PARROT_OP_trap,                            /* 1013 */
+    PARROT_OP_set_label_p_ic,                  /* 1014 */
+    PARROT_OP_get_label_i_p,                   /* 1015 */
+    PARROT_OP_fetch_p_p_p_p,                   /* 1016 */
+    PARROT_OP_fetch_p_pc_p_p,                  /* 1017 */
+    PARROT_OP_fetch_p_p_pc_p,                  /* 1018 */
+    PARROT_OP_fetch_p_pc_pc_p,                 /* 1019 */
+    PARROT_OP_fetch_p_p_p_pc,                  /* 1020 */
+    PARROT_OP_fetch_p_pc_p_pc,                 /* 1021 */
+    PARROT_OP_fetch_p_p_pc_pc,                 /* 1022 */
+    PARROT_OP_fetch_p_pc_pc_pc,                /* 1023 */
+    PARROT_OP_fetch_p_p_i_p,                   /* 1024 */
+    PARROT_OP_fetch_p_pc_i_p,                  /* 1025 */
+    PARROT_OP_fetch_p_p_ic_p,                  /* 1026 */
+    PARROT_OP_fetch_p_pc_ic_p,                 /* 1027 */
+    PARROT_OP_fetch_p_p_i_pc,                  /* 1028 */
+    PARROT_OP_fetch_p_pc_i_pc,                 /* 1029 */
+    PARROT_OP_fetch_p_p_ic_pc,                 /* 1030 */
+    PARROT_OP_fetch_p_pc_ic_pc,                /* 1031 */
+    PARROT_OP_fetch_p_p_s_p,                   /* 1032 */
+    PARROT_OP_fetch_p_pc_s_p,                  /* 1033 */
+    PARROT_OP_fetch_p_p_sc_p,                  /* 1034 */
+    PARROT_OP_fetch_p_pc_sc_p,                 /* 1035 */
+    PARROT_OP_fetch_p_p_s_pc,                  /* 1036 */
+    PARROT_OP_fetch_p_pc_s_pc,                 /* 1037 */
+    PARROT_OP_fetch_p_p_sc_pc,                 /* 1038 */
+    PARROT_OP_fetch_p_pc_sc_pc,                /* 1039 */
+    PARROT_OP_vivify_p_p_p_p,                  /* 1040 */
+    PARROT_OP_vivify_p_pc_p_p,                 /* 1041 */
+    PARROT_OP_vivify_p_p_pc_p,                 /* 1042 */
+    PARROT_OP_vivify_p_pc_pc_p,                /* 1043 */
+    PARROT_OP_vivify_p_p_p_pc,                 /* 1044 */
+    PARROT_OP_vivify_p_pc_p_pc,                /* 1045 */
+    PARROT_OP_vivify_p_p_pc_pc,                /* 1046 */
+    PARROT_OP_vivify_p_pc_pc_pc,               /* 1047 */
+    PARROT_OP_vivify_p_p_i_p,                  /* 1048 */
+    PARROT_OP_vivify_p_pc_i_p,                 /* 1049 */
+    PARROT_OP_vivify_p_p_ic_p,                 /* 1050 */
+    PARROT_OP_vivify_p_pc_ic_p,                /* 1051 */
+    PARROT_OP_vivify_p_p_i_pc,                 /* 1052 */
+    PARROT_OP_vivify_p_pc_i_pc,                /* 1053 */
+    PARROT_OP_vivify_p_p_ic_pc,                /* 1054 */
+    PARROT_OP_vivify_p_pc_ic_pc,               /* 1055 */
+    PARROT_OP_vivify_p_p_s_p,                  /* 1056 */
+    PARROT_OP_vivify_p_pc_s_p,                 /* 1057 */
+    PARROT_OP_vivify_p_p_sc_p,                 /* 1058 */
+    PARROT_OP_vivify_p_pc_sc_p,                /* 1059 */
+    PARROT_OP_vivify_p_p_s_pc,                 /* 1060 */
+    PARROT_OP_vivify_p_pc_s_pc,                /* 1061 */
+    PARROT_OP_vivify_p_p_sc_pc,                /* 1062 */
+    PARROT_OP_vivify_p_pc_sc_pc,               /* 1063 */
+    PARROT_OP_new_p_s_i,                       /* 1064 */
+    PARROT_OP_new_p_sc_i,                      /* 1065 */
+    PARROT_OP_new_p_s_ic,                      /* 1066 */
+    PARROT_OP_new_p_sc_ic,                     /* 1067 */
+    PARROT_OP_new_p_p_i,                       /* 1068 */
+    PARROT_OP_new_p_pc_i,                      /* 1069 */
+    PARROT_OP_new_p_p_ic,                      /* 1070 */
+    PARROT_OP_new_p_pc_ic,                     /* 1071 */
+    PARROT_OP_root_new_p_p_i,                  /* 1072 */
+    PARROT_OP_root_new_p_pc_i,                 /* 1073 */
+    PARROT_OP_root_new_p_p_ic,                 /* 1074 */
+    PARROT_OP_root_new_p_pc_ic,                /* 1075 */
+    PARROT_OP_find_codepoint_i_s,              /* 1076 */
+    PARROT_OP_find_codepoint_i_sc,             /* 1077 */
+    PARROT_OP_finalize_p,                      /* 1078 */
+    PARROT_OP_finalize_pc                      /* 1079 */
 
 } parrot_opcode_enums;
 

Modified: trunk/include/parrot/opsenum.h
==============================================================================
--- trunk/include/parrot/opsenum.h	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/include/parrot/opsenum.h	Thu May 27 08:45:23 2010	(r47051)
@@ -134,1155 +134,967 @@
     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,
-    enum_ops_trap                          = 1201,
-    enum_ops_set_label_p_ic                = 1202,
-    enum_ops_get_label_i_p                 = 1203,
-    enum_ops_fetch_p_p_p_p                 = 1204,
-    enum_ops_fetch_p_pc_p_p                = 1205,
-    enum_ops_fetch_p_p_pc_p                = 1206,
-    enum_ops_fetch_p_pc_pc_p               = 1207,
-    enum_ops_fetch_p_p_p_pc                = 1208,
-    enum_ops_fetch_p_pc_p_pc               = 1209,
-    enum_ops_fetch_p_p_pc_pc               = 1210,
-    enum_ops_fetch_p_pc_pc_pc              = 1211,
-    enum_ops_fetch_p_p_i_p                 = 1212,
-    enum_ops_fetch_p_pc_i_p                = 1213,
-    enum_ops_fetch_p_p_ic_p                = 1214,
-    enum_ops_fetch_p_pc_ic_p               = 1215,
-    enum_ops_fetch_p_p_i_pc                = 1216,
-    enum_ops_fetch_p_pc_i_pc               = 1217,
-    enum_ops_fetch_p_p_ic_pc               = 1218,
-    enum_ops_fetch_p_pc_ic_pc              = 1219,
-    enum_ops_fetch_p_p_s_p                 = 1220,
-    enum_ops_fetch_p_pc_s_p                = 1221,
-    enum_ops_fetch_p_p_sc_p                = 1222,
-    enum_ops_fetch_p_pc_sc_p               = 1223,
-    enum_ops_fetch_p_p_s_pc                = 1224,
-    enum_ops_fetch_p_pc_s_pc               = 1225,
-    enum_ops_fetch_p_p_sc_pc               = 1226,
-    enum_ops_fetch_p_pc_sc_pc              = 1227,
-    enum_ops_vivify_p_p_p_p                = 1228,
-    enum_ops_vivify_p_pc_p_p               = 1229,
-    enum_ops_vivify_p_p_pc_p               = 1230,
-    enum_ops_vivify_p_pc_pc_p              = 1231,
-    enum_ops_vivify_p_p_p_pc               = 1232,
-    enum_ops_vivify_p_pc_p_pc              = 1233,
-    enum_ops_vivify_p_p_pc_pc              = 1234,
-    enum_ops_vivify_p_pc_pc_pc             = 1235,
-    enum_ops_vivify_p_p_i_p                = 1236,
-    enum_ops_vivify_p_pc_i_p               = 1237,
-    enum_ops_vivify_p_p_ic_p               = 1238,
-    enum_ops_vivify_p_pc_ic_p              = 1239,
-    enum_ops_vivify_p_p_i_pc               = 1240,
-    enum_ops_vivify_p_pc_i_pc              = 1241,
-    enum_ops_vivify_p_p_ic_pc              = 1242,
-    enum_ops_vivify_p_pc_ic_pc             = 1243,
-    enum_ops_vivify_p_p_s_p                = 1244,
-    enum_ops_vivify_p_pc_s_p               = 1245,
-    enum_ops_vivify_p_p_sc_p               = 1246,
-    enum_ops_vivify_p_pc_sc_p              = 1247,
-    enum_ops_vivify_p_p_s_pc               = 1248,
-    enum_ops_vivify_p_pc_s_pc              = 1249,
-    enum_ops_vivify_p_p_sc_pc              = 1250,
-    enum_ops_vivify_p_pc_sc_pc             = 1251,
-    enum_ops_new_p_s_i                     = 1252,
-    enum_ops_new_p_sc_i                    = 1253,
-    enum_ops_new_p_s_ic                    = 1254,
-    enum_ops_new_p_sc_ic                   = 1255,
-    enum_ops_new_p_p_i                     = 1256,
-    enum_ops_new_p_pc_i                    = 1257,
-    enum_ops_new_p_p_ic                    = 1258,
-    enum_ops_new_p_pc_ic                   = 1259,
-    enum_ops_root_new_p_p_i                = 1260,
-    enum_ops_root_new_p_pc_i               = 1261,
-    enum_ops_root_new_p_p_ic               = 1262,
-    enum_ops_root_new_p_pc_ic              = 1263,
-    enum_ops_find_codepoint_i_s            = 1264,
-    enum_ops_find_codepoint_i_sc           = 1265,
-    enum_ops_finalize_p                    = 1266,
-    enum_ops_finalize_pc                   = 1267,
+    enum_ops_band_i_i_i                    =  119,
+    enum_ops_band_i_ic_i                   =  120,
+    enum_ops_band_i_i_ic                   =  121,
+    enum_ops_bor_i_i                       =  122,
+    enum_ops_bor_i_ic                      =  123,
+    enum_ops_bor_i_i_i                     =  124,
+    enum_ops_bor_i_ic_i                    =  125,
+    enum_ops_bor_i_i_ic                    =  126,
+    enum_ops_shl_i_i                       =  127,
+    enum_ops_shl_i_ic                      =  128,
+    enum_ops_shl_i_i_i                     =  129,
+    enum_ops_shl_i_ic_i                    =  130,
+    enum_ops_shl_i_i_ic                    =  131,
+    enum_ops_shr_i_i                       =  132,
+    enum_ops_shr_i_ic                      =  133,
+    enum_ops_shr_i_i_i                     =  134,
+    enum_ops_shr_i_ic_i                    =  135,
+    enum_ops_shr_i_i_ic                    =  136,
+    enum_ops_lsr_i_i                       =  137,
+    enum_ops_lsr_i_ic                      =  138,
+    enum_ops_lsr_i_i_i                     =  139,
+    enum_ops_lsr_i_ic_i                    =  140,
+    enum_ops_lsr_i_i_ic                    =  141,
+    enum_ops_bxor_i_i                      =  142,
+    enum_ops_bxor_i_ic                     =  143,
+    enum_ops_bxor_i_i_i                    =  144,
+    enum_ops_bxor_i_ic_i                   =  145,
+    enum_ops_bxor_i_i_ic                   =  146,
+    enum_ops_eq_i_i_ic                     =  147,
+    enum_ops_eq_ic_i_ic                    =  148,
+    enum_ops_eq_i_ic_ic                    =  149,
+    enum_ops_eq_n_n_ic                     =  150,
+    enum_ops_eq_nc_n_ic                    =  151,
+    enum_ops_eq_n_nc_ic                    =  152,
+    enum_ops_eq_s_s_ic                     =  153,
+    enum_ops_eq_sc_s_ic                    =  154,
+    enum_ops_eq_s_sc_ic                    =  155,
+    enum_ops_eq_p_p_ic                     =  156,
+    enum_ops_eq_p_i_ic                     =  157,
+    enum_ops_eq_p_ic_ic                    =  158,
+    enum_ops_eq_p_n_ic                     =  159,
+    enum_ops_eq_p_nc_ic                    =  160,
+    enum_ops_eq_p_s_ic                     =  161,
+    enum_ops_eq_p_sc_ic                    =  162,
+    enum_ops_eq_str_p_p_ic                 =  163,
+    enum_ops_eq_num_p_p_ic                 =  164,
+    enum_ops_eq_addr_s_s_ic                =  165,
+    enum_ops_eq_addr_sc_s_ic               =  166,
+    enum_ops_eq_addr_s_sc_ic               =  167,
+    enum_ops_eq_addr_sc_sc_ic              =  168,
+    enum_ops_eq_addr_p_p_ic                =  169,
+    enum_ops_ne_i_i_ic                     =  170,
+    enum_ops_ne_ic_i_ic                    =  171,
+    enum_ops_ne_i_ic_ic                    =  172,
+    enum_ops_ne_n_n_ic                     =  173,
+    enum_ops_ne_nc_n_ic                    =  174,
+    enum_ops_ne_n_nc_ic                    =  175,
+    enum_ops_ne_s_s_ic                     =  176,
+    enum_ops_ne_sc_s_ic                    =  177,
+    enum_ops_ne_s_sc_ic                    =  178,
+    enum_ops_ne_p_p_ic                     =  179,
+    enum_ops_ne_p_i_ic                     =  180,
+    enum_ops_ne_p_ic_ic                    =  181,
+    enum_ops_ne_p_n_ic                     =  182,
+    enum_ops_ne_p_nc_ic                    =  183,
+    enum_ops_ne_p_s_ic                     =  184,
+    enum_ops_ne_p_sc_ic                    =  185,
+    enum_ops_ne_str_p_p_ic                 =  186,
+    enum_ops_ne_num_p_p_ic                 =  187,
+    enum_ops_ne_addr_s_s_ic                =  188,
+    enum_ops_ne_addr_sc_s_ic               =  189,
+    enum_ops_ne_addr_s_sc_ic               =  190,
+    enum_ops_ne_addr_sc_sc_ic              =  191,
+    enum_ops_ne_addr_p_p_ic                =  192,
+    enum_ops_lt_i_i_ic                     =  193,
+    enum_ops_lt_ic_i_ic                    =  194,
+    enum_ops_lt_i_ic_ic                    =  195,
+    enum_ops_lt_n_n_ic                     =  196,
+    enum_ops_lt_nc_n_ic                    =  197,
+    enum_ops_lt_n_nc_ic                    =  198,
+    enum_ops_lt_s_s_ic                     =  199,
+    enum_ops_lt_sc_s_ic                    =  200,
+    enum_ops_lt_s_sc_ic                    =  201,
+    enum_ops_lt_p_p_ic                     =  202,
+    enum_ops_lt_p_i_ic                     =  203,
+    enum_ops_lt_p_ic_ic                    =  204,
+    enum_ops_lt_p_n_ic                     =  205,
+    enum_ops_lt_p_nc_ic                    =  206,
+    enum_ops_lt_p_s_ic                     =  207,
+    enum_ops_lt_p_sc_ic                    =  208,
+    enum_ops_lt_str_p_p_ic                 =  209,
+    enum_ops_lt_num_p_p_ic                 =  210,
+    enum_ops_le_i_i_ic                     =  211,
+    enum_ops_le_ic_i_ic                    =  212,
+    enum_ops_le_i_ic_ic                    =  213,
+    enum_ops_le_n_n_ic                     =  214,
+    enum_ops_le_nc_n_ic                    =  215,
+    enum_ops_le_n_nc_ic                    =  216,
+    enum_ops_le_s_s_ic                     =  217,
+    enum_ops_le_sc_s_ic                    =  218,
+    enum_ops_le_s_sc_ic                    =  219,
+    enum_ops_le_p_p_ic                     =  220,
+    enum_ops_le_p_i_ic                     =  221,
+    enum_ops_le_p_ic_ic                    =  222,
+    enum_ops_le_p_n_ic                     =  223,
+    enum_ops_le_p_nc_ic                    =  224,
+    enum_ops_le_p_s_ic                     =  225,
+    enum_ops_le_p_sc_ic                    =  226,
+    enum_ops_le_str_p_p_ic                 =  227,
+    enum_ops_le_num_p_p_ic                 =  228,
+    enum_ops_gt_p_p_ic                     =  229,
+    enum_ops_gt_p_i_ic                     =  230,
+    enum_ops_gt_p_ic_ic                    =  231,
+    enum_ops_gt_p_n_ic                     =  232,
+    enum_ops_gt_p_nc_ic                    =  233,
+    enum_ops_gt_p_s_ic                     =  234,
+    enum_ops_gt_p_sc_ic                    =  235,
+    enum_ops_gt_str_p_p_ic                 =  236,
+    enum_ops_gt_num_p_p_ic                 =  237,
+    enum_ops_ge_p_p_ic                     =  238,
+    enum_ops_ge_p_i_ic                     =  239,
+    enum_ops_ge_p_ic_ic                    =  240,
+    enum_ops_ge_p_n_ic                     =  241,
+    enum_ops_ge_p_nc_ic                    =  242,
+    enum_ops_ge_p_s_ic                     =  243,
+    enum_ops_ge_p_sc_ic                    =  244,
+    enum_ops_ge_str_p_p_ic                 =  245,
+    enum_ops_ge_num_p_p_ic                 =  246,
+    enum_ops_if_null_p_ic                  =  247,
+    enum_ops_if_null_s_ic                  =  248,
+    enum_ops_unless_null_p_ic              =  249,
+    enum_ops_unless_null_s_ic              =  250,
+    enum_ops_cmp_i_i_i                     =  251,
+    enum_ops_cmp_i_ic_i                    =  252,
+    enum_ops_cmp_i_i_ic                    =  253,
+    enum_ops_cmp_i_n_n                     =  254,
+    enum_ops_cmp_i_nc_n                    =  255,
+    enum_ops_cmp_i_n_nc                    =  256,
+    enum_ops_cmp_i_s_s                     =  257,
+    enum_ops_cmp_i_sc_s                    =  258,
+    enum_ops_cmp_i_s_sc                    =  259,
+    enum_ops_cmp_i_p_p                     =  260,
+    enum_ops_cmp_i_p_i                     =  261,
+    enum_ops_cmp_i_p_ic                    =  262,
+    enum_ops_cmp_i_p_n                     =  263,
+    enum_ops_cmp_i_p_nc                    =  264,
+    enum_ops_cmp_i_p_s                     =  265,
+    enum_ops_cmp_i_p_sc                    =  266,
+    enum_ops_cmp_str_i_p_p                 =  267,
+    enum_ops_cmp_num_i_p_p                 =  268,
+    enum_ops_cmp_pmc_p_p_p                 =  269,
+    enum_ops_issame_i_p_p                  =  270,
+    enum_ops_issame_i_s_s                  =  271,
+    enum_ops_issame_i_sc_s                 =  272,
+    enum_ops_issame_i_s_sc                 =  273,
+    enum_ops_issame_i_sc_sc                =  274,
+    enum_ops_isntsame_i_p_p                =  275,
+    enum_ops_isntsame_i_s_s                =  276,
+    enum_ops_isntsame_i_sc_s               =  277,
+    enum_ops_isntsame_i_s_sc               =  278,
+    enum_ops_isntsame_i_sc_sc              =  279,
+    enum_ops_istrue_i_p                    =  280,
+    enum_ops_isfalse_i_p                   =  281,
+    enum_ops_isnull_i_p                    =  282,
+    enum_ops_isnull_i_pc                   =  283,
+    enum_ops_isnull_i_s                    =  284,
+    enum_ops_isnull_i_sc                   =  285,
+    enum_ops_isgt_i_p_p                    =  286,
+    enum_ops_isge_i_p_p                    =  287,
+    enum_ops_isle_i_i_i                    =  288,
+    enum_ops_isle_i_ic_i                   =  289,
+    enum_ops_isle_i_i_ic                   =  290,
+    enum_ops_isle_i_n_n                    =  291,
+    enum_ops_isle_i_nc_n                   =  292,
+    enum_ops_isle_i_n_nc                   =  293,
+    enum_ops_isle_i_s_s                    =  294,
+    enum_ops_isle_i_sc_s                   =  295,
+    enum_ops_isle_i_s_sc                   =  296,
+    enum_ops_isle_i_p_p                    =  297,
+    enum_ops_islt_i_i_i                    =  298,
+    enum_ops_islt_i_ic_i                   =  299,
+    enum_ops_islt_i_i_ic                   =  300,
+    enum_ops_islt_i_n_n                    =  301,
+    enum_ops_islt_i_nc_n                   =  302,
+    enum_ops_islt_i_n_nc                   =  303,
+    enum_ops_islt_i_s_s                    =  304,
+    enum_ops_islt_i_sc_s                   =  305,
+    enum_ops_islt_i_s_sc                   =  306,
+    enum_ops_islt_i_p_p                    =  307,
+    enum_ops_iseq_i_i_i                    =  308,
+    enum_ops_iseq_i_ic_i                   =  309,
+    enum_ops_iseq_i_i_ic                   =  310,
+    enum_ops_iseq_i_n_n                    =  311,
+    enum_ops_iseq_i_nc_n                   =  312,
+    enum_ops_iseq_i_n_nc                   =  313,
+    enum_ops_iseq_i_s_s                    =  314,
+    enum_ops_iseq_i_sc_s                   =  315,
+    enum_ops_iseq_i_s_sc                   =  316,
+    enum_ops_iseq_i_p_p                    =  317,
+    enum_ops_isne_i_i_i                    =  318,
+    enum_ops_isne_i_ic_i                   =  319,
+    enum_ops_isne_i_i_ic                   =  320,
+    enum_ops_isne_i_n_n                    =  321,
+    enum_ops_isne_i_nc_n                   =  322,
+    enum_ops_isne_i_n_nc                   =  323,
+    enum_ops_isne_i_s_s                    =  324,
+    enum_ops_isne_i_sc_s                   =  325,
+    enum_ops_isne_i_s_sc                   =  326,
+    enum_ops_isne_i_p_p                    =  327,
+    enum_ops_and_i_i_i                     =  328,
+    enum_ops_and_i_ic_i                    =  329,
+    enum_ops_and_i_i_ic                    =  330,
+    enum_ops_and_p_p_p                     =  331,
+    enum_ops_not_i                         =  332,
+    enum_ops_not_i_i                       =  333,
+    enum_ops_not_p                         =  334,
+    enum_ops_not_p_p                       =  335,
+    enum_ops_or_i_i_i                      =  336,
+    enum_ops_or_i_ic_i                     =  337,
+    enum_ops_or_i_i_ic                     =  338,
+    enum_ops_or_p_p_p                      =  339,
+    enum_ops_xor_i_i_i                     =  340,
+    enum_ops_xor_i_ic_i                    =  341,
+    enum_ops_xor_i_i_ic                    =  342,
+    enum_ops_xor_p_p_p                     =  343,
+    enum_ops_print_i                       =  344,
+    enum_ops_print_ic                      =  345,
+    enum_ops_print_n                       =  346,
+    enum_ops_print_nc                      =  347,
+    enum_ops_print_s                       =  348,
+    enum_ops_print_sc                      =  349,
+    enum_ops_print_p                       =  350,
+    enum_ops_say_i                         =  351,
+    enum_ops_say_ic                        =  352,
+    enum_ops_say_n                         =  353,
+    enum_ops_say_nc                        =  354,
+    enum_ops_say_s                         =  355,
+    enum_ops_say_sc                        =  356,
+    enum_ops_say_p                         =  357,
+    enum_ops_print_p_i                     =  358,
+    enum_ops_print_p_ic                    =  359,
+    enum_ops_print_p_n                     =  360,
+    enum_ops_print_p_nc                    =  361,
+    enum_ops_print_p_s                     =  362,
+    enum_ops_print_p_sc                    =  363,
+    enum_ops_print_p_p                     =  364,
+    enum_ops_abs_i                         =  365,
+    enum_ops_abs_n                         =  366,
+    enum_ops_abs_i_i                       =  367,
+    enum_ops_abs_n_n                       =  368,
+    enum_ops_abs_p                         =  369,
+    enum_ops_abs_p_p                       =  370,
+    enum_ops_add_i_i                       =  371,
+    enum_ops_add_i_ic                      =  372,
+    enum_ops_add_n_n                       =  373,
+    enum_ops_add_n_nc                      =  374,
+    enum_ops_add_p_p                       =  375,
+    enum_ops_add_p_i                       =  376,
+    enum_ops_add_p_ic                      =  377,
+    enum_ops_add_p_n                       =  378,
+    enum_ops_add_p_nc                      =  379,
+    enum_ops_add_i_i_i                     =  380,
+    enum_ops_add_i_ic_i                    =  381,
+    enum_ops_add_i_i_ic                    =  382,
+    enum_ops_add_n_n_n                     =  383,
+    enum_ops_add_n_nc_n                    =  384,
+    enum_ops_add_n_n_nc                    =  385,
+    enum_ops_add_p_p_p                     =  386,
+    enum_ops_add_p_p_i                     =  387,
+    enum_ops_add_p_p_ic                    =  388,
+    enum_ops_add_p_p_n                     =  389,
+    enum_ops_add_p_p_nc                    =  390,
+    enum_ops_dec_i                         =  391,
+    enum_ops_dec_n                         =  392,
+    enum_ops_dec_p                         =  393,
+    enum_ops_div_i_i                       =  394,
+    enum_ops_div_i_ic                      =  395,
+    enum_ops_div_n_n                       =  396,
+    enum_ops_div_n_nc                      =  397,
+    enum_ops_div_p_p                       =  398,
+    enum_ops_div_p_i                       =  399,
+    enum_ops_div_p_ic                      =  400,
+    enum_ops_div_p_n                       =  401,
+    enum_ops_div_p_nc                      =  402,
+    enum_ops_div_i_i_i                     =  403,
+    enum_ops_div_i_ic_i                    =  404,
+    enum_ops_div_i_i_ic                    =  405,
+    enum_ops_div_i_ic_ic                   =  406,
+    enum_ops_div_n_n_n                     =  407,
+    enum_ops_div_n_nc_n                    =  408,
+    enum_ops_div_n_n_nc                    =  409,
+    enum_ops_div_n_nc_nc                   =  410,
+    enum_ops_div_p_p_p                     =  411,
+    enum_ops_div_p_p_i                     =  412,
+    enum_ops_div_p_p_ic                    =  413,
+    enum_ops_div_p_p_n                     =  414,
+    enum_ops_div_p_p_nc                    =  415,
+    enum_ops_fdiv_i_i                      =  416,
+    enum_ops_fdiv_i_ic                     =  417,
+    enum_ops_fdiv_n_n                      =  418,
+    enum_ops_fdiv_n_nc                     =  419,
+    enum_ops_fdiv_p_p                      =  420,
+    enum_ops_fdiv_p_i                      =  421,
+    enum_ops_fdiv_p_ic                     =  422,
+    enum_ops_fdiv_p_n                      =  423,
+    enum_ops_fdiv_p_nc                     =  424,
+    enum_ops_fdiv_i_i_i                    =  425,
+    enum_ops_fdiv_i_ic_i                   =  426,
+    enum_ops_fdiv_i_i_ic                   =  427,
+    enum_ops_fdiv_n_n_n                    =  428,
+    enum_ops_fdiv_n_nc_n                   =  429,
+    enum_ops_fdiv_n_n_nc                   =  430,
+    enum_ops_fdiv_p_p_p                    =  431,
+    enum_ops_fdiv_p_p_i                    =  432,
+    enum_ops_fdiv_p_p_ic                   =  433,
+    enum_ops_fdiv_p_p_n                    =  434,
+    enum_ops_fdiv_p_p_nc                   =  435,
+    enum_ops_ceil_n                        =  436,
+    enum_ops_ceil_i_n                      =  437,
+    enum_ops_ceil_n_n                      =  438,
+    enum_ops_floor_n                       =  439,
+    enum_ops_floor_i_n                     =  440,
+    enum_ops_floor_n_n                     =  441,
+    enum_ops_inc_i                         =  442,
+    enum_ops_inc_n                         =  443,
+    enum_ops_inc_p                         =  444,
+    enum_ops_mod_i_i                       =  445,
+    enum_ops_mod_i_ic                      =  446,
+    enum_ops_mod_n_n                       =  447,
+    enum_ops_mod_n_nc                      =  448,
+    enum_ops_mod_p_p                       =  449,
+    enum_ops_mod_p_i                       =  450,
+    enum_ops_mod_p_ic                      =  451,
+    enum_ops_mod_p_n                       =  452,
+    enum_ops_mod_p_nc                      =  453,
+    enum_ops_mod_i_i_i                     =  454,
+    enum_ops_mod_i_ic_i                    =  455,
+    enum_ops_mod_i_i_ic                    =  456,
+    enum_ops_mod_n_n_n                     =  457,
+    enum_ops_mod_n_nc_n                    =  458,
+    enum_ops_mod_n_n_nc                    =  459,
+    enum_ops_mod_p_p_p                     =  460,
+    enum_ops_mod_p_p_i                     =  461,
+    enum_ops_mod_p_p_ic                    =  462,
+    enum_ops_mod_p_p_n                     =  463,
+    enum_ops_mod_p_p_nc                    =  464,
+    enum_ops_mul_i_i                       =  465,
+    enum_ops_mul_i_ic                      =  466,
+    enum_ops_mul_n_n                       =  467,
+    enum_ops_mul_n_nc                      =  468,
+    enum_ops_mul_p_p                       =  469,
+    enum_ops_mul_p_i                       =  470,
+    enum_ops_mul_p_ic                      =  471,
+    enum_ops_mul_p_n                       =  472,
+    enum_ops_mul_p_nc                      =  473,
+    enum_ops_mul_i_i_i                     =  474,
+    enum_ops_mul_i_ic_i                    =  475,
+    enum_ops_mul_i_i_ic                    =  476,
+    enum_ops_mul_n_n_n                     =  477,
+    enum_ops_mul_n_nc_n                    =  478,
+    enum_ops_mul_n_n_nc                    =  479,
+    enum_ops_mul_p_p_p                     =  480,
+    enum_ops_mul_p_p_i                     =  481,
+    enum_ops_mul_p_p_ic                    =  482,
+    enum_ops_mul_p_p_n                     =  483,
+    enum_ops_mul_p_p_nc                    =  484,
+    enum_ops_neg_i                         =  485,
+    enum_ops_neg_n                         =  486,
+    enum_ops_neg_p                         =  487,
+    enum_ops_neg_i_i                       =  488,
+    enum_ops_neg_n_n                       =  489,
+    enum_ops_neg_p_p                       =  490,
+    enum_ops_sub_i_i                       =  491,
+    enum_ops_sub_i_ic                      =  492,
+    enum_ops_sub_n_n                       =  493,
+    enum_ops_sub_n_nc                      =  494,
+    enum_ops_sub_p_p                       =  495,
+    enum_ops_sub_p_i                       =  496,
+    enum_ops_sub_p_ic                      =  497,
+    enum_ops_sub_p_n                       =  498,
+    enum_ops_sub_p_nc                      =  499,
+    enum_ops_sub_i_i_i                     =  500,
+    enum_ops_sub_i_ic_i                    =  501,
+    enum_ops_sub_i_i_ic                    =  502,
+    enum_ops_sub_n_n_n                     =  503,
+    enum_ops_sub_n_nc_n                    =  504,
+    enum_ops_sub_n_n_nc                    =  505,
+    enum_ops_sub_p_p_p                     =  506,
+    enum_ops_sub_p_p_i                     =  507,
+    enum_ops_sub_p_p_ic                    =  508,
+    enum_ops_sub_p_p_n                     =  509,
+    enum_ops_sub_p_p_nc                    =  510,
+    enum_ops_sqrt_n_n                      =  511,
+    enum_ops_callmethodcc_p_s              =  512,
+    enum_ops_callmethodcc_p_sc             =  513,
+    enum_ops_callmethodcc_p_p              =  514,
+    enum_ops_callmethod_p_s_p              =  515,
+    enum_ops_callmethod_p_sc_p             =  516,
+    enum_ops_callmethod_p_p_p              =  517,
+    enum_ops_tailcallmethod_p_s            =  518,
+    enum_ops_tailcallmethod_p_sc           =  519,
+    enum_ops_tailcallmethod_p_p            =  520,
+    enum_ops_addmethod_p_s_p               =  521,
+    enum_ops_addmethod_p_sc_p              =  522,
+    enum_ops_can_i_p_s                     =  523,
+    enum_ops_can_i_p_sc                    =  524,
+    enum_ops_does_i_p_s                    =  525,
+    enum_ops_does_i_p_sc                   =  526,
+    enum_ops_does_i_p_p                    =  527,
+    enum_ops_does_i_p_pc                   =  528,
+    enum_ops_isa_i_p_s                     =  529,
+    enum_ops_isa_i_p_sc                    =  530,
+    enum_ops_isa_i_p_p                     =  531,
+    enum_ops_isa_i_p_pc                    =  532,
+    enum_ops_newclass_p_s                  =  533,
+    enum_ops_newclass_p_sc                 =  534,
+    enum_ops_newclass_p_p                  =  535,
+    enum_ops_newclass_p_pc                 =  536,
+    enum_ops_subclass_p_p                  =  537,
+    enum_ops_subclass_p_pc                 =  538,
+    enum_ops_subclass_p_p_s                =  539,
+    enum_ops_subclass_p_pc_s               =  540,
+    enum_ops_subclass_p_p_sc               =  541,
+    enum_ops_subclass_p_pc_sc              =  542,
+    enum_ops_subclass_p_p_p                =  543,
+    enum_ops_subclass_p_pc_p               =  544,
+    enum_ops_subclass_p_p_pc               =  545,
+    enum_ops_subclass_p_pc_pc              =  546,
+    enum_ops_subclass_p_s                  =  547,
+    enum_ops_subclass_p_sc                 =  548,
+    enum_ops_subclass_p_s_s                =  549,
+    enum_ops_subclass_p_sc_s               =  550,
+    enum_ops_subclass_p_s_sc               =  551,
+    enum_ops_subclass_p_sc_sc              =  552,
+    enum_ops_subclass_p_s_p                =  553,
+    enum_ops_subclass_p_sc_p               =  554,
+    enum_ops_subclass_p_s_pc               =  555,
+    enum_ops_subclass_p_sc_pc              =  556,
+    enum_ops_get_class_p_s                 =  557,
+    enum_ops_get_class_p_sc                =  558,
+    enum_ops_get_class_p_p                 =  559,
+    enum_ops_get_class_p_pc                =  560,
+    enum_ops_class_p_p                     =  561,
+    enum_ops_addparent_p_p                 =  562,
+    enum_ops_removeparent_p_p              =  563,
+    enum_ops_addrole_p_p                   =  564,
+    enum_ops_addattribute_p_s              =  565,
+    enum_ops_addattribute_p_sc             =  566,
+    enum_ops_removeattribute_p_s           =  567,
+    enum_ops_removeattribute_p_sc          =  568,
+    enum_ops_getattribute_p_p_s            =  569,
+    enum_ops_getattribute_p_p_sc           =  570,
+    enum_ops_getattribute_p_p_p_s          =  571,
+    enum_ops_getattribute_p_p_pc_s         =  572,
+    enum_ops_getattribute_p_p_p_sc         =  573,
+    enum_ops_getattribute_p_p_pc_sc        =  574,
+    enum_ops_setattribute_p_s_p            =  575,
+    enum_ops_setattribute_p_sc_p           =  576,
+    enum_ops_setattribute_p_p_s_p          =  577,
+    enum_ops_setattribute_p_pc_s_p         =  578,
+    enum_ops_setattribute_p_p_sc_p         =  579,
+    enum_ops_setattribute_p_pc_sc_p        =  580,
+    enum_ops_inspect_p_p                   =  581,
+    enum_ops_inspect_p_pc                  =  582,
+    enum_ops_inspect_p_p_s                 =  583,
+    enum_ops_inspect_p_pc_s                =  584,
+    enum_ops_inspect_p_p_sc                =  585,
+    enum_ops_inspect_p_pc_sc               =  586,
+    enum_ops_new_p_s                       =  587,
+    enum_ops_new_p_sc                      =  588,
+    enum_ops_new_p_s_p                     =  589,
+    enum_ops_new_p_sc_p                    =  590,
+    enum_ops_new_p_s_pc                    =  591,
+    enum_ops_new_p_sc_pc                   =  592,
+    enum_ops_new_p_p                       =  593,
+    enum_ops_new_p_pc                      =  594,
+    enum_ops_new_p_p_p                     =  595,
+    enum_ops_new_p_pc_p                    =  596,
+    enum_ops_new_p_p_pc                    =  597,
+    enum_ops_new_p_pc_pc                   =  598,
+    enum_ops_root_new_p_p                  =  599,
+    enum_ops_root_new_p_pc                 =  600,
+    enum_ops_root_new_p_p_p                =  601,
+    enum_ops_root_new_p_pc_p               =  602,
+    enum_ops_root_new_p_p_pc               =  603,
+    enum_ops_root_new_p_pc_pc              =  604,
+    enum_ops_typeof_s_p                    =  605,
+    enum_ops_typeof_p_p                    =  606,
+    enum_ops_get_repr_s_p                  =  607,
+    enum_ops_find_method_p_p_s             =  608,
+    enum_ops_find_method_p_p_sc            =  609,
+    enum_ops_defined_i_p                   =  610,
+    enum_ops_defined_i_p_ki                =  611,
+    enum_ops_defined_i_p_kic               =  612,
+    enum_ops_defined_i_p_k                 =  613,
+    enum_ops_defined_i_p_kc                =  614,
+    enum_ops_exists_i_p_ki                 =  615,
+    enum_ops_exists_i_p_kic                =  616,
+    enum_ops_exists_i_p_k                  =  617,
+    enum_ops_exists_i_p_kc                 =  618,
+    enum_ops_delete_p_k                    =  619,
+    enum_ops_delete_p_kc                   =  620,
+    enum_ops_delete_p_ki                   =  621,
+    enum_ops_delete_p_kic                  =  622,
+    enum_ops_elements_i_p                  =  623,
+    enum_ops_push_p_i                      =  624,
+    enum_ops_push_p_ic                     =  625,
+    enum_ops_push_p_n                      =  626,
+    enum_ops_push_p_nc                     =  627,
+    enum_ops_push_p_s                      =  628,
+    enum_ops_push_p_sc                     =  629,
+    enum_ops_push_p_p                      =  630,
+    enum_ops_pop_i_p                       =  631,
+    enum_ops_pop_n_p                       =  632,
+    enum_ops_pop_s_p                       =  633,
+    enum_ops_pop_p_p                       =  634,
+    enum_ops_unshift_p_i                   =  635,
+    enum_ops_unshift_p_ic                  =  636,
+    enum_ops_unshift_p_n                   =  637,
+    enum_ops_unshift_p_nc                  =  638,
+    enum_ops_unshift_p_s                   =  639,
+    enum_ops_unshift_p_sc                  =  640,
+    enum_ops_unshift_p_p                   =  641,
+    enum_ops_shift_i_p                     =  642,
+    enum_ops_shift_n_p                     =  643,
+    enum_ops_shift_s_p                     =  644,
+    enum_ops_shift_p_p                     =  645,
+    enum_ops_splice_p_p_i_i                =  646,
+    enum_ops_splice_p_p_ic_i               =  647,
+    enum_ops_splice_p_p_i_ic               =  648,
+    enum_ops_splice_p_p_ic_ic              =  649,
+    enum_ops_setprop_p_s_p                 =  650,
+    enum_ops_setprop_p_sc_p                =  651,
+    enum_ops_getprop_p_s_p                 =  652,
+    enum_ops_getprop_p_sc_p                =  653,
+    enum_ops_delprop_p_s                   =  654,
+    enum_ops_delprop_p_sc                  =  655,
+    enum_ops_prophash_p_p                  =  656,
+    enum_ops_freeze_s_p                    =  657,
+    enum_ops_thaw_p_s                      =  658,
+    enum_ops_thaw_p_sc                     =  659,
+    enum_ops_add_multi_s_s_p               =  660,
+    enum_ops_add_multi_sc_s_p              =  661,
+    enum_ops_add_multi_s_sc_p              =  662,
+    enum_ops_add_multi_sc_sc_p             =  663,
+    enum_ops_find_multi_p_s_s              =  664,
+    enum_ops_find_multi_p_sc_s             =  665,
+    enum_ops_find_multi_p_s_sc             =  666,
+    enum_ops_find_multi_p_sc_sc            =  667,
+    enum_ops_register_p                    =  668,
+    enum_ops_unregister_p                  =  669,
+    enum_ops_box_p_i                       =  670,
+    enum_ops_box_p_ic                      =  671,
+    enum_ops_box_p_n                       =  672,
+    enum_ops_box_p_nc                      =  673,
+    enum_ops_box_p_s                       =  674,
+    enum_ops_box_p_sc                      =  675,
+    enum_ops_iter_p_p                      =  676,
+    enum_ops_morph_p_p                     =  677,
+    enum_ops_morph_p_pc                    =  678,
+    enum_ops_clone_s_s                     =  679,
+    enum_ops_clone_s_sc                    =  680,
+    enum_ops_set_i_i                       =  681,
+    enum_ops_set_i_ic                      =  682,
+    enum_ops_set_i_n                       =  683,
+    enum_ops_set_i_nc                      =  684,
+    enum_ops_set_i_s                       =  685,
+    enum_ops_set_i_sc                      =  686,
+    enum_ops_set_n_n                       =  687,
+    enum_ops_set_n_nc                      =  688,
+    enum_ops_set_n_i                       =  689,
+    enum_ops_set_n_ic                      =  690,
+    enum_ops_set_n_s                       =  691,
+    enum_ops_set_n_sc                      =  692,
+    enum_ops_set_n_p                       =  693,
+    enum_ops_set_s_p                       =  694,
+    enum_ops_set_s_s                       =  695,
+    enum_ops_set_s_sc                      =  696,
+    enum_ops_set_s_i                       =  697,
+    enum_ops_set_s_ic                      =  698,
+    enum_ops_set_s_n                       =  699,
+    enum_ops_set_s_nc                      =  700,
+    enum_ops_set_p_pc                      =  701,
+    enum_ops_set_p_p                       =  702,
+    enum_ops_set_p_i                       =  703,
+    enum_ops_set_p_ic                      =  704,
+    enum_ops_set_p_n                       =  705,
+    enum_ops_set_p_nc                      =  706,
+    enum_ops_set_p_s                       =  707,
+    enum_ops_set_p_sc                      =  708,
+    enum_ops_set_i_p                       =  709,
+    enum_ops_assign_p_p                    =  710,
+    enum_ops_assign_p_i                    =  711,
+    enum_ops_assign_p_ic                   =  712,
+    enum_ops_assign_p_n                    =  713,
+    enum_ops_assign_p_nc                   =  714,
+    enum_ops_assign_p_s                    =  715,
+    enum_ops_assign_p_sc                   =  716,
+    enum_ops_assign_s_s                    =  717,
+    enum_ops_assign_s_sc                   =  718,
+    enum_ops_setref_p_p                    =  719,
+    enum_ops_deref_p_p                     =  720,
+    enum_ops_set_p_ki_i                    =  721,
+    enum_ops_set_p_kic_i                   =  722,
+    enum_ops_set_p_ki_ic                   =  723,
+    enum_ops_set_p_kic_ic                  =  724,
+    enum_ops_set_p_ki_n                    =  725,
+    enum_ops_set_p_kic_n                   =  726,
+    enum_ops_set_p_ki_nc                   =  727,
+    enum_ops_set_p_kic_nc                  =  728,
+    enum_ops_set_p_ki_s                    =  729,
+    enum_ops_set_p_kic_s                   =  730,
+    enum_ops_set_p_ki_sc                   =  731,
+    enum_ops_set_p_kic_sc                  =  732,
+    enum_ops_set_p_ki_p                    =  733,
+    enum_ops_set_p_kic_p                   =  734,
+    enum_ops_set_i_p_ki                    =  735,
+    enum_ops_set_i_p_kic                   =  736,
+    enum_ops_set_n_p_ki                    =  737,
+    enum_ops_set_n_p_kic                   =  738,
+    enum_ops_set_s_p_ki                    =  739,
+    enum_ops_set_s_p_kic                   =  740,
+    enum_ops_set_p_p_ki                    =  741,
+    enum_ops_set_p_p_kic                   =  742,
+    enum_ops_set_p_k_i                     =  743,
+    enum_ops_set_p_kc_i                    =  744,
+    enum_ops_set_p_k_ic                    =  745,
+    enum_ops_set_p_kc_ic                   =  746,
+    enum_ops_set_p_k_n                     =  747,
+    enum_ops_set_p_kc_n                    =  748,
+    enum_ops_set_p_k_nc                    =  749,
+    enum_ops_set_p_kc_nc                   =  750,
+    enum_ops_set_p_k_s                     =  751,
+    enum_ops_set_p_kc_s                    =  752,
+    enum_ops_set_p_k_sc                    =  753,
+    enum_ops_set_p_kc_sc                   =  754,
+    enum_ops_set_p_k_p                     =  755,
+    enum_ops_set_p_kc_p                    =  756,
+    enum_ops_set_i_p_k                     =  757,
+    enum_ops_set_i_p_kc                    =  758,
+    enum_ops_set_n_p_k                     =  759,
+    enum_ops_set_n_p_kc                    =  760,
+    enum_ops_set_s_p_k                     =  761,
+    enum_ops_set_s_p_kc                    =  762,
+    enum_ops_set_p_p_k                     =  763,
+    enum_ops_set_p_p_kc                    =  764,
+    enum_ops_clone_p_p                     =  765,
+    enum_ops_clone_p_p_p                   =  766,
+    enum_ops_clone_p_p_pc                  =  767,
+    enum_ops_copy_p_p                      =  768,
+    enum_ops_null_s                        =  769,
+    enum_ops_null_i                        =  770,
+    enum_ops_null_p                        =  771,
+    enum_ops_null_n                        =  772,
+    enum_ops_ord_i_s                       =  773,
+    enum_ops_ord_i_sc                      =  774,
+    enum_ops_ord_i_s_i                     =  775,
+    enum_ops_ord_i_sc_i                    =  776,
+    enum_ops_ord_i_s_ic                    =  777,
+    enum_ops_ord_i_sc_ic                   =  778,
+    enum_ops_chr_s_i                       =  779,
+    enum_ops_chr_s_ic                      =  780,
+    enum_ops_chopn_s_s_i                   =  781,
+    enum_ops_chopn_s_sc_i                  =  782,
+    enum_ops_chopn_s_s_ic                  =  783,
+    enum_ops_chopn_s_sc_ic                 =  784,
+    enum_ops_concat_s_s                    =  785,
+    enum_ops_concat_s_sc                   =  786,
+    enum_ops_concat_p_p                    =  787,
+    enum_ops_concat_p_s                    =  788,
+    enum_ops_concat_p_sc                   =  789,
+    enum_ops_concat_s_s_s                  =  790,
+    enum_ops_concat_s_sc_s                 =  791,
+    enum_ops_concat_s_s_sc                 =  792,
+    enum_ops_concat_p_p_s                  =  793,
+    enum_ops_concat_p_p_sc                 =  794,
+    enum_ops_concat_p_p_p                  =  795,
+    enum_ops_repeat_s_s_i                  =  796,
+    enum_ops_repeat_s_sc_i                 =  797,
+    enum_ops_repeat_s_s_ic                 =  798,
+    enum_ops_repeat_s_sc_ic                =  799,
+    enum_ops_repeat_p_p_i                  =  800,
+    enum_ops_repeat_p_p_ic                 =  801,
+    enum_ops_repeat_p_p_p                  =  802,
+    enum_ops_repeat_p_i                    =  803,
+    enum_ops_repeat_p_ic                   =  804,
+    enum_ops_repeat_p_p                    =  805,
+    enum_ops_length_i_s                    =  806,
+    enum_ops_length_i_sc                   =  807,
+    enum_ops_bytelength_i_s                =  808,
+    enum_ops_bytelength_i_sc               =  809,
+    enum_ops_pin_s                         =  810,
+    enum_ops_unpin_s                       =  811,
+    enum_ops_substr_s_s_i                  =  812,
+    enum_ops_substr_s_sc_i                 =  813,
+    enum_ops_substr_s_s_ic                 =  814,
+    enum_ops_substr_s_sc_ic                =  815,
+    enum_ops_substr_s_s_i_i                =  816,
+    enum_ops_substr_s_sc_i_i               =  817,
+    enum_ops_substr_s_s_ic_i               =  818,
+    enum_ops_substr_s_sc_ic_i              =  819,
+    enum_ops_substr_s_s_i_ic               =  820,
+    enum_ops_substr_s_sc_i_ic              =  821,
+    enum_ops_substr_s_s_ic_ic              =  822,
+    enum_ops_substr_s_sc_ic_ic             =  823,
+    enum_ops_substr_s_p_i_i                =  824,
+    enum_ops_substr_s_p_ic_i               =  825,
+    enum_ops_substr_s_p_i_ic               =  826,
+    enum_ops_substr_s_p_ic_ic              =  827,
+    enum_ops_replace_s_s_i_i_s             =  828,
+    enum_ops_replace_s_sc_i_i_s            =  829,
+    enum_ops_replace_s_s_ic_i_s            =  830,
+    enum_ops_replace_s_sc_ic_i_s           =  831,
+    enum_ops_replace_s_s_i_ic_s            =  832,
+    enum_ops_replace_s_sc_i_ic_s           =  833,
+    enum_ops_replace_s_s_ic_ic_s           =  834,
+    enum_ops_replace_s_sc_ic_ic_s          =  835,
+    enum_ops_replace_s_s_i_i_sc            =  836,
+    enum_ops_replace_s_sc_i_i_sc           =  837,
+    enum_ops_replace_s_s_ic_i_sc           =  838,
+    enum_ops_replace_s_sc_ic_i_sc          =  839,
+    enum_ops_replace_s_s_i_ic_sc           =  840,
+    enum_ops_replace_s_sc_i_ic_sc          =  841,
+    enum_ops_replace_s_s_ic_ic_sc          =  842,
+    enum_ops_replace_s_sc_ic_ic_sc         =  843,
+    enum_ops_index_i_s_s                   =  844,
+    enum_ops_index_i_sc_s                  =  845,
+    enum_ops_index_i_s_sc                  =  846,
+    enum_ops_index_i_sc_sc                 =  847,
+    enum_ops_index_i_s_s_i                 =  848,
+    enum_ops_index_i_sc_s_i                =  849,
+    enum_ops_index_i_s_sc_i                =  850,
+    enum_ops_index_i_sc_sc_i               =  851,
+    enum_ops_index_i_s_s_ic                =  852,
+    enum_ops_index_i_sc_s_ic               =  853,
+    enum_ops_index_i_s_sc_ic               =  854,
+    enum_ops_index_i_sc_sc_ic              =  855,
+    enum_ops_sprintf_s_s_p                 =  856,
+    enum_ops_sprintf_s_sc_p                =  857,
+    enum_ops_sprintf_p_p_p                 =  858,
+    enum_ops_new_s                         =  859,
+    enum_ops_new_s_i                       =  860,
+    enum_ops_new_s_ic                      =  861,
+    enum_ops_stringinfo_i_s_i              =  862,
+    enum_ops_stringinfo_i_sc_i             =  863,
+    enum_ops_stringinfo_i_s_ic             =  864,
+    enum_ops_stringinfo_i_sc_ic            =  865,
+    enum_ops_upcase_s_s                    =  866,
+    enum_ops_upcase_s_sc                   =  867,
+    enum_ops_downcase_s_s                  =  868,
+    enum_ops_downcase_s_sc                 =  869,
+    enum_ops_titlecase_s_s                 =  870,
+    enum_ops_titlecase_s_sc                =  871,
+    enum_ops_join_s_s_p                    =  872,
+    enum_ops_join_s_sc_p                   =  873,
+    enum_ops_split_p_s_s                   =  874,
+    enum_ops_split_p_sc_s                  =  875,
+    enum_ops_split_p_s_sc                  =  876,
+    enum_ops_split_p_sc_sc                 =  877,
+    enum_ops_charset_i_s                   =  878,
+    enum_ops_charset_i_sc                  =  879,
+    enum_ops_charsetname_s_i               =  880,
+    enum_ops_charsetname_s_ic              =  881,
+    enum_ops_find_charset_i_s              =  882,
+    enum_ops_find_charset_i_sc             =  883,
+    enum_ops_trans_charset_s_s_i           =  884,
+    enum_ops_trans_charset_s_sc_i          =  885,
+    enum_ops_trans_charset_s_s_ic          =  886,
+    enum_ops_trans_charset_s_sc_ic         =  887,
+    enum_ops_encoding_i_s                  =  888,
+    enum_ops_encoding_i_sc                 =  889,
+    enum_ops_encodingname_s_i              =  890,
+    enum_ops_encodingname_s_ic             =  891,
+    enum_ops_find_encoding_i_s             =  892,
+    enum_ops_find_encoding_i_sc            =  893,
+    enum_ops_trans_encoding_s_s_i          =  894,
+    enum_ops_trans_encoding_s_sc_i         =  895,
+    enum_ops_trans_encoding_s_s_ic         =  896,
+    enum_ops_trans_encoding_s_sc_ic        =  897,
+    enum_ops_is_cclass_i_i_s_i             =  898,
+    enum_ops_is_cclass_i_ic_s_i            =  899,
+    enum_ops_is_cclass_i_i_sc_i            =  900,
+    enum_ops_is_cclass_i_ic_sc_i           =  901,
+    enum_ops_is_cclass_i_i_s_ic            =  902,
+    enum_ops_is_cclass_i_ic_s_ic           =  903,
+    enum_ops_is_cclass_i_i_sc_ic           =  904,
+    enum_ops_is_cclass_i_ic_sc_ic          =  905,
+    enum_ops_find_cclass_i_i_s_i_i         =  906,
+    enum_ops_find_cclass_i_ic_s_i_i        =  907,
+    enum_ops_find_cclass_i_i_sc_i_i        =  908,
+    enum_ops_find_cclass_i_ic_sc_i_i       =  909,
+    enum_ops_find_cclass_i_i_s_ic_i        =  910,
+    enum_ops_find_cclass_i_ic_s_ic_i       =  911,
+    enum_ops_find_cclass_i_i_sc_ic_i       =  912,
+    enum_ops_find_cclass_i_ic_sc_ic_i      =  913,
+    enum_ops_find_cclass_i_i_s_i_ic        =  914,
+    enum_ops_find_cclass_i_ic_s_i_ic       =  915,
+    enum_ops_find_cclass_i_i_sc_i_ic       =  916,
+    enum_ops_find_cclass_i_ic_sc_i_ic      =  917,
+    enum_ops_find_cclass_i_i_s_ic_ic       =  918,
+    enum_ops_find_cclass_i_ic_s_ic_ic      =  919,
+    enum_ops_find_cclass_i_i_sc_ic_ic      =  920,
+    enum_ops_find_cclass_i_ic_sc_ic_ic     =  921,
+    enum_ops_find_not_cclass_i_i_s_i_i     =  922,
+    enum_ops_find_not_cclass_i_ic_s_i_i    =  923,
+    enum_ops_find_not_cclass_i_i_sc_i_i    =  924,
+    enum_ops_find_not_cclass_i_ic_sc_i_i   =  925,
+    enum_ops_find_not_cclass_i_i_s_ic_i    =  926,
+    enum_ops_find_not_cclass_i_ic_s_ic_i   =  927,
+    enum_ops_find_not_cclass_i_i_sc_ic_i   =  928,
+    enum_ops_find_not_cclass_i_ic_sc_ic_i  =  929,
+    enum_ops_find_not_cclass_i_i_s_i_ic    =  930,
+    enum_ops_find_not_cclass_i_ic_s_i_ic   =  931,
+    enum_ops_find_not_cclass_i_i_sc_i_ic   =  932,
+    enum_ops_find_not_cclass_i_ic_sc_i_ic  =  933,
+    enum_ops_find_not_cclass_i_i_s_ic_ic   =  934,
+    enum_ops_find_not_cclass_i_ic_s_ic_ic  =  935,
+    enum_ops_find_not_cclass_i_i_sc_ic_ic  =  936,
+    enum_ops_find_not_cclass_i_ic_sc_ic_ic =  937,
+    enum_ops_escape_s_s                    =  938,
+    enum_ops_compose_s_s                   =  939,
+    enum_ops_compose_s_sc                  =  940,
+    enum_ops_spawnw_i_s                    =  941,
+    enum_ops_spawnw_i_sc                   =  942,
+    enum_ops_spawnw_i_p                    =  943,
+    enum_ops_err_i                         =  944,
+    enum_ops_err_s                         =  945,
+    enum_ops_err_s_i                       =  946,
+    enum_ops_err_s_ic                      =  947,
+    enum_ops_time_i                        =  948,
+    enum_ops_time_n                        =  949,
+    enum_ops_sleep_i                       =  950,
+    enum_ops_sleep_ic                      =  951,
+    enum_ops_sleep_n                       =  952,
+    enum_ops_sleep_nc                      =  953,
+    enum_ops_store_lex_s_p                 =  954,
+    enum_ops_store_lex_sc_p                =  955,
+    enum_ops_store_dynamic_lex_s_p         =  956,
+    enum_ops_store_dynamic_lex_sc_p        =  957,
+    enum_ops_find_lex_p_s                  =  958,
+    enum_ops_find_lex_p_sc                 =  959,
+    enum_ops_find_dynamic_lex_p_s          =  960,
+    enum_ops_find_dynamic_lex_p_sc         =  961,
+    enum_ops_find_caller_lex_p_s           =  962,
+    enum_ops_find_caller_lex_p_sc          =  963,
+    enum_ops_get_namespace_p               =  964,
+    enum_ops_get_namespace_p_p             =  965,
+    enum_ops_get_namespace_p_pc            =  966,
+    enum_ops_get_hll_namespace_p           =  967,
+    enum_ops_get_hll_namespace_p_p         =  968,
+    enum_ops_get_hll_namespace_p_pc        =  969,
+    enum_ops_get_root_namespace_p          =  970,
+    enum_ops_get_root_namespace_p_p        =  971,
+    enum_ops_get_root_namespace_p_pc       =  972,
+    enum_ops_get_global_p_s                =  973,
+    enum_ops_get_global_p_sc               =  974,
+    enum_ops_get_global_p_p_s              =  975,
+    enum_ops_get_global_p_pc_s             =  976,
+    enum_ops_get_global_p_p_sc             =  977,
+    enum_ops_get_global_p_pc_sc            =  978,
+    enum_ops_get_hll_global_p_s            =  979,
+    enum_ops_get_hll_global_p_sc           =  980,
+    enum_ops_get_hll_global_p_p_s          =  981,
+    enum_ops_get_hll_global_p_pc_s         =  982,
+    enum_ops_get_hll_global_p_p_sc         =  983,
+    enum_ops_get_hll_global_p_pc_sc        =  984,
+    enum_ops_get_root_global_p_s           =  985,
+    enum_ops_get_root_global_p_sc          =  986,
+    enum_ops_get_root_global_p_p_s         =  987,
+    enum_ops_get_root_global_p_pc_s        =  988,
+    enum_ops_get_root_global_p_p_sc        =  989,
+    enum_ops_get_root_global_p_pc_sc       =  990,
+    enum_ops_set_global_s_p                =  991,
+    enum_ops_set_global_sc_p               =  992,
+    enum_ops_set_global_p_s_p              =  993,
+    enum_ops_set_global_pc_s_p             =  994,
+    enum_ops_set_global_p_sc_p             =  995,
+    enum_ops_set_global_pc_sc_p            =  996,
+    enum_ops_set_hll_global_s_p            =  997,
+    enum_ops_set_hll_global_sc_p           =  998,
+    enum_ops_set_hll_global_p_s_p          =  999,
+    enum_ops_set_hll_global_pc_s_p         = 1000,
+    enum_ops_set_hll_global_p_sc_p         = 1001,
+    enum_ops_set_hll_global_pc_sc_p        = 1002,
+    enum_ops_set_root_global_s_p           = 1003,
+    enum_ops_set_root_global_sc_p          = 1004,
+    enum_ops_set_root_global_p_s_p         = 1005,
+    enum_ops_set_root_global_pc_s_p        = 1006,
+    enum_ops_set_root_global_p_sc_p        = 1007,
+    enum_ops_set_root_global_pc_sc_p       = 1008,
+    enum_ops_find_name_p_s                 = 1009,
+    enum_ops_find_name_p_sc                = 1010,
+    enum_ops_find_sub_not_null_p_s         = 1011,
+    enum_ops_find_sub_not_null_p_sc        = 1012,
+    enum_ops_trap                          = 1013,
+    enum_ops_set_label_p_ic                = 1014,
+    enum_ops_get_label_i_p                 = 1015,
+    enum_ops_fetch_p_p_p_p                 = 1016,
+    enum_ops_fetch_p_pc_p_p                = 1017,
+    enum_ops_fetch_p_p_pc_p                = 1018,
+    enum_ops_fetch_p_pc_pc_p               = 1019,
+    enum_ops_fetch_p_p_p_pc                = 1020,
+    enum_ops_fetch_p_pc_p_pc               = 1021,
+    enum_ops_fetch_p_p_pc_pc               = 1022,
+    enum_ops_fetch_p_pc_pc_pc              = 1023,
+    enum_ops_fetch_p_p_i_p                 = 1024,
+    enum_ops_fetch_p_pc_i_p                = 1025,
+    enum_ops_fetch_p_p_ic_p                = 1026,
+    enum_ops_fetch_p_pc_ic_p               = 1027,
+    enum_ops_fetch_p_p_i_pc                = 1028,
+    enum_ops_fetch_p_pc_i_pc               = 1029,
+    enum_ops_fetch_p_p_ic_pc               = 1030,
+    enum_ops_fetch_p_pc_ic_pc              = 1031,
+    enum_ops_fetch_p_p_s_p                 = 1032,
+    enum_ops_fetch_p_pc_s_p                = 1033,
+    enum_ops_fetch_p_p_sc_p                = 1034,
+    enum_ops_fetch_p_pc_sc_p               = 1035,
+    enum_ops_fetch_p_p_s_pc                = 1036,
+    enum_ops_fetch_p_pc_s_pc               = 1037,
+    enum_ops_fetch_p_p_sc_pc               = 1038,
+    enum_ops_fetch_p_pc_sc_pc              = 1039,
+    enum_ops_vivify_p_p_p_p                = 1040,
+    enum_ops_vivify_p_pc_p_p               = 1041,
+    enum_ops_vivify_p_p_pc_p               = 1042,
+    enum_ops_vivify_p_pc_pc_p              = 1043,
+    enum_ops_vivify_p_p_p_pc               = 1044,
+    enum_ops_vivify_p_pc_p_pc              = 1045,
+    enum_ops_vivify_p_p_pc_pc              = 1046,
+    enum_ops_vivify_p_pc_pc_pc             = 1047,
+    enum_ops_vivify_p_p_i_p                = 1048,
+    enum_ops_vivify_p_pc_i_p               = 1049,
+    enum_ops_vivify_p_p_ic_p               = 1050,
+    enum_ops_vivify_p_pc_ic_p              = 1051,
+    enum_ops_vivify_p_p_i_pc               = 1052,
+    enum_ops_vivify_p_pc_i_pc              = 1053,
+    enum_ops_vivify_p_p_ic_pc              = 1054,
+    enum_ops_vivify_p_pc_ic_pc             = 1055,
+    enum_ops_vivify_p_p_s_p                = 1056,
+    enum_ops_vivify_p_pc_s_p               = 1057,
+    enum_ops_vivify_p_p_sc_p               = 1058,
+    enum_ops_vivify_p_pc_sc_p              = 1059,
+    enum_ops_vivify_p_p_s_pc               = 1060,
+    enum_ops_vivify_p_pc_s_pc              = 1061,
+    enum_ops_vivify_p_p_sc_pc              = 1062,
+    enum_ops_vivify_p_pc_sc_pc             = 1063,
+    enum_ops_new_p_s_i                     = 1064,
+    enum_ops_new_p_sc_i                    = 1065,
+    enum_ops_new_p_s_ic                    = 1066,
+    enum_ops_new_p_sc_ic                   = 1067,
+    enum_ops_new_p_p_i                     = 1068,
+    enum_ops_new_p_pc_i                    = 1069,
+    enum_ops_new_p_p_ic                    = 1070,
+    enum_ops_new_p_pc_ic                   = 1071,
+    enum_ops_root_new_p_p_i                = 1072,
+    enum_ops_root_new_p_pc_i               = 1073,
+    enum_ops_root_new_p_p_ic               = 1074,
+    enum_ops_root_new_p_pc_ic              = 1075,
+    enum_ops_find_codepoint_i_s            = 1076,
+    enum_ops_find_codepoint_i_sc           = 1077,
+    enum_ops_finalize_p                    = 1078,
+    enum_ops_finalize_pc                   = 1079,
 };
 
 

Modified: trunk/runtime/parrot/library/Archive/Tar.pir
==============================================================================
--- trunk/runtime/parrot/library/Archive/Tar.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/runtime/parrot/library/Archive/Tar.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -14,6 +14,7 @@
 =cut
 
 .include 'stat.pasm'
+.loadlib 'io_ops'
 
 =head3 Class Archive;Tar;File
 
@@ -438,8 +439,10 @@
 .sub '_error' :method
     .param pmc args :slurpy
     $S0 = join '', args
-    printerr $S0
-    printerr "\n"
+    $P0 = getinterp
+    $P1 = $P0.'stdhandle'(2)
+    $P1.'print'($S0)
+    $P1.'print'("\n")
 .end
 
 =back

Modified: trunk/runtime/parrot/library/Archive/Zip.pir
==============================================================================
--- trunk/runtime/parrot/library/Archive/Zip.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/runtime/parrot/library/Archive/Zip.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -13,6 +13,8 @@
 
 =cut
 
+.loadlib 'sys_ops'
+.loadlib 'io_ops'
 .include 'stat.pasm'
 .include 'tm.pasm'
 
@@ -43,8 +45,10 @@
 .sub '_printError'
     .param pmc args :slurpy
     $S0 = join '', args
-    printerr $S0
-    printerr "\n"
+    $P0 = getinterp
+    $P1 = $P0.'stdhandle'(2)
+    $P1.'print'($S0)
+    $P1.'print'("\n")
 .end
 
 .sub '_ioError' :method
@@ -388,11 +392,11 @@
 .sub '_refreshLocalFileHeader' :method
     .param pmc fh
     .local int here
-    here = tell fh
+    here = fh.'tell'()
     $P0 = getattribute self, 'writeLocalHeaderRelativeOffset'
     $I0 = $P0
     $I0 += SIGNATURE_LENGTH
-    seek fh, $I0, 0
+    fh.'seek'($I0, 0)
     .local string header, fileName, localExtraField
     .const string VERSION = 20
     header = self.'pack_v'(VERSION)
@@ -428,7 +432,7 @@
     if $I0 goto L2
     .tailcall self.'_ioError'('re-writing local header')
   L2:
-    seek fh, here, 0
+    fh.'seek'(here, 0)
     .return (AZ_OK)
 .end
 
@@ -597,7 +601,7 @@
     .return ('', AZ_OK)
   L1:
     $P0 = self.'fh'()
-    $S0 = read $P0, chunkSize
+    $S0 = $P0.'read'(chunkSize)
     unless $S0 == '' goto L2
     $I0 = self.'_ioError'("reading data")
     .return ($S0, $I0)
@@ -647,7 +651,7 @@
     .return ($I0)
   L1:
     $P0 = self.'fh'()
-    seek $P0, 0, 0
+    $P0.'seek'(0, 0)
     .return (AZ_OK)
 .end
 

Modified: trunk/runtime/parrot/library/CGI/QueryHash.pir
==============================================================================
--- trunk/runtime/parrot/library/CGI/QueryHash.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/runtime/parrot/library/CGI/QueryHash.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -69,9 +69,10 @@
         .local int len
         content_length  = my_env['CONTENT_LENGTH']
         len             = content_length
-        in              = getstdin
-        query           = read in, len
-        close in
+        $P0             = getinterp
+        in              = $P0.'stdhandle'(0)
+        query           = in.'read'(len)
+        in.'close'()
         #_dumper( query, 'queryPOST:' )
         query_hash = parse( query )
 

Modified: trunk/runtime/parrot/library/Config/JSON.pir
==============================================================================
--- trunk/runtime/parrot/library/Config/JSON.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/runtime/parrot/library/Config/JSON.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -25,7 +25,8 @@
     .local string text
     .local pmc fh
 
-    fh = open filename, 'r'
+    fh = new ['FileHandle']
+    fh.'open'(filename, 'r')
     if fh goto slurp_file
     $P0 = new 'Exception'
     $S0 = concat "Can't open file: ", filename
@@ -75,10 +76,11 @@
     output = _json( config, expanded )
 
     # write out the file..
-    $P1 = open filename, 'w'
+    $P1 = new ['FileHandle']
+    $P1.'open'(filename, 'w')
     print $P1, output
     print $P1, "\n"
-    close $P1
+    $P1.'close'()
 
 .end
 

Modified: trunk/runtime/parrot/library/Configure/genfile.pir
==============================================================================
--- trunk/runtime/parrot/library/Configure/genfile.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/runtime/parrot/library/Configure/genfile.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -38,6 +38,7 @@
 
 =cut
 
+.loadlib 'sys_ops'
 .include 'sysinfo.pasm'
 
 .sub 'genfile'
@@ -356,13 +357,15 @@
     .param string str
     .param int pos
     .param string msg
-    printerr "in '"
-    printerr str
-    printerr "' at "
-    printerr pos
-    printerr " : "
-    printerr msg
-    printerr "\n"
+    $P0 = getinterp
+    $P1 = $P0.'stdhandle'(2)
+    $P1.'print'("in '")
+    $P1.'print'(str)
+    $P1.'print'("' at ")
+    $P1.'print'(pos)
+    $P1.'print'(" : ")
+    $P1.'print'(msg)
+    $P1.'print'("\n")
 .end
 
 .sub 'interpolate_var'
@@ -401,9 +404,11 @@
     $I1 = $I3
     goto L8
   L7:
-    printerr "\tunknown config: "
-    printerr $S1
-    printerr "\n"
+    $P0 = getinterp
+    $P1 = $P0.'stdhandle'(2)
+    $P1.'print'("\tunknown config: ")
+    $P1.'print'($S1)
+    $P1.'print'("\n")
   L6:
     $I0 = $I3 + 1
     goto L3

Modified: trunk/runtime/parrot/library/Crow.pir
==============================================================================
--- trunk/runtime/parrot/library/Crow.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/runtime/parrot/library/Crow.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -65,7 +65,8 @@
     .local pmc newsfile
     .local string buf, news, start
 
-    newsfile = open 'NEWS', 'r'
+    newsfile = new ['FileHandle']
+    newsfile.'open'('NEWS', 'r')
 
     ## find the start of the news item for this version
     start    = concat 'New in ', version
@@ -73,12 +74,12 @@
   before:
     $I0 = newsfile.'eof'()
     if $I0 goto err_news
-    buf      = readline newsfile
+    buf      = newsfile.'readline'()
     $I0      = index buf, start
     if  $I0 != 0 goto before
 
   blank:
-    buf      = readline newsfile
+    buf      = newsfile.'readline'()
     $I0      = index buf, "\n"
     if  $I0 == 0 goto blank
     $I0      = index buf, "\r"
@@ -86,7 +87,7 @@
     news    .= buf
 
   item:
-    buf      = readline newsfile
+    buf      = newsfile.'readline'()
     $I0      = index buf, "\n"
     if  $I0 == 0 goto done
     $I0      = index buf, "\r"

Modified: trunk/runtime/parrot/library/Digest/MD5.pir
==============================================================================
--- trunk/runtime/parrot/library/Digest/MD5.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/runtime/parrot/library/Digest/MD5.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -49,6 +49,8 @@
 
 =cut
 
+.loadlib 'bit_ops'
+
 ###########################################################################
 # Export function entries to globals
 

Modified: trunk/runtime/parrot/library/HTTP/Message.pir
==============================================================================
--- trunk/runtime/parrot/library/HTTP/Message.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/runtime/parrot/library/HTTP/Message.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -20,6 +20,8 @@
 
 .namespace ['HTTP';'Date']
 
+.loadlib 'io_ops'  # XXX avoids segfaults for some reason
+.loadlib 'sys_ops'
 .include 'tm.pasm'
 
 .sub 'time2str'

Modified: trunk/runtime/parrot/library/LWP/Protocol.pir
==============================================================================
--- trunk/runtime/parrot/library/LWP/Protocol.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/runtime/parrot/library/LWP/Protocol.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -17,6 +17,8 @@
 =cut
 
 .namespace ['LWP';'Protocol']
+.loadlib 'sys_ops'
+.loadlib 'io_ops'
 
 .sub '' :init :load :anon
     load_bytecode 'HTTP/Message.pbc'

Modified: trunk/runtime/parrot/library/LWP/UserAgent.pir
==============================================================================
--- trunk/runtime/parrot/library/LWP/UserAgent.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/runtime/parrot/library/LWP/UserAgent.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -17,6 +17,7 @@
 =cut
 
 .namespace ['LWP';'UserAgent']
+.loadlib 'io_ops'
 
 .sub '' :init :load :anon
     load_bytecode 'URI.pbc'

Modified: trunk/runtime/parrot/library/PGE/Util.pir
==============================================================================
--- trunk/runtime/parrot/library/PGE/Util.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/runtime/parrot/library/PGE/Util.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -132,7 +132,9 @@
     message .= $S0
     message .= "\n"
   emit_message:
-    printerr message
+    $P0 = getinterp
+    $P1 = $P0.'stdhandle'(2)
+    $P1.'print'(message)
 
     mob.'to'(pos)
     .return (mob)

Modified: trunk/runtime/parrot/library/Stream/ParrotIO.pir
==============================================================================
--- trunk/runtime/parrot/library/Stream/ParrotIO.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/runtime/parrot/library/Stream/ParrotIO.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -56,7 +56,8 @@
     .param string mode
     .local pmc pio
 
-    open pio, name, mode
+    pio = new ['FileHandle']
+    pio.'open'(name, mode)
     assign self, pio
 .end
 
@@ -100,7 +101,7 @@
 
     bs = self."blockSize"()
     pio = self."source"()
-    read str, pio, bs
+    str = pio.'read'(bs)
     length $I0, str
     if $I0 > 0 goto OK
     self."close"()

Modified: trunk/runtime/parrot/library/TAP/Harness.pir
==============================================================================
--- trunk/runtime/parrot/library/TAP/Harness.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/runtime/parrot/library/TAP/Harness.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -226,7 +226,7 @@
     .param pmc parser
     $P0 = parser.'delete_spool'()
     if null $P0 goto L1
-    close $P0
+    $P0.'close'()
   L1:
 .end
 

Modified: trunk/runtime/parrot/library/TAP/Parser.pir
==============================================================================
--- trunk/runtime/parrot/library/TAP/Parser.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/runtime/parrot/library/TAP/Parser.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -908,14 +908,14 @@
     push_eh _handler
     $P0.'open'(filename, 'r')
     pop_eh
-    $S0 = readline $P0
+    $S0 = $P0.'readline'()
     $I0 = index $S0, '#!'
     unless $I0 == 0 goto L1
-    close $P0
+    $P0.'close'()
     $S0 = _get_exec($S0)
     .tailcall self.'exec'($S0, filename)
   L1:
-    seek $P0, 0, 0
+    $P0.'seek'(0, 0)
     setattribute self, 'stream', $P0
     .return ()
   _handler:
@@ -1010,7 +1010,7 @@
     st = box 'INIT'
     .lex 'state', st
   L2:
-    $S0 = readline stream
+    $S0 = stream.'readline'()
     if $S0 == '' goto L3
     $S0 = chomp($S0)
     .local pmc token
@@ -1034,7 +1034,7 @@
     .yield (token)
     goto L2
   L3:
-    close stream
+    stream.'close'()
     $I0 = can stream, 'exit_status'
     unless $I0 goto L7
     $I0 = stream.'exit_status'()
@@ -1085,9 +1085,11 @@
     set st, $S0
     goto L5
   L2:
-    printerr "Unhandled token type: "
-    printerr type
-    printerr "\n"
+    $P0 = getinterp
+    $P1 = $P0.'stdhandle'(2)
+    $P1.'print'("Unhandled token type: ")
+    $P1.'print'(type)
+    $P1.'print'("\n")
   L5:
 .end
 

Modified: trunk/runtime/parrot/library/Test/Builder/Output.pir
==============================================================================
--- trunk/runtime/parrot/library/Test/Builder/Output.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/runtime/parrot/library/Test/Builder/Output.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -59,12 +59,14 @@
 
 	output = args['output']
 	unless null output goto CHECK_ERROR_OUTPUT
-	getstdout output
+        $P0 = getinterp
+        output = $P0.'stdhandle'(1)
 
   CHECK_ERROR_OUTPUT:
 	diag_output = args['diag_output']
 	unless null diag_output goto SET_OUTPUT
-	getstderr diag_output
+        $P0 = getinterp
+        diag_output = $P0.'stdhandle'(1)
 
   SET_OUTPUT:
 	setattribute self, "output", output

Modified: trunk/runtime/parrot/library/Test/More.pir
==============================================================================
--- trunk/runtime/parrot/library/Test/More.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/runtime/parrot/library/Test/More.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -67,6 +67,8 @@
 
 .namespace [ 'Test'; 'More' ]
 
+.loadlib 'io_ops'
+
 .sub _initialize :load
     load_bytecode 'Test/Builder.pbc'
 

Modified: trunk/runtime/parrot/library/distutils.pir
==============================================================================
--- trunk/runtime/parrot/library/distutils.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/runtime/parrot/library/distutils.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -172,6 +172,8 @@
 
 =cut
 
+.loadlib 'sys_ops'
+
 .sub '__onload' :load :init :anon
     load_bytecode 'osutils.pbc'
     $P0 = new 'Hash'
@@ -3679,7 +3681,8 @@
 .end
 
 .sub 'get_timestamp' :anon
-    $P0 = open 'date --rfc-2822', 'rp'
+    $P0 = new ['FileHandle']
+    $P0.'open'('date --rfc-2822', 'rp')
     $S0 = $P0.'readline'()
     $P0.'close'()
     $S0 = chopn $S0, 1
@@ -4481,7 +4484,8 @@
     system(cmd, verbose :named('verbose'), 1 :named('ignore_error'))
     unlink(srcname, verbose :named('verbose'))
 
-    $P0 = open exename, 'rp'
+    $P0 = new ['FileHandle']
+    $P0.'open'(exename, 'rp')
     $S0 = $P0.'readall'()
     $P0.'close'()
 

Modified: trunk/runtime/parrot/library/osutils.pir
==============================================================================
--- trunk/runtime/parrot/library/osutils.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/runtime/parrot/library/osutils.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -45,6 +45,7 @@
     .return ($I0)
 .end
 
+.loadlib 'io_ops'
 .include 'stat.pasm'
 
 .sub 'file_exists'

Modified: trunk/runtime/parrot/library/parrotlib.pir
==============================================================================
--- trunk/runtime/parrot/library/parrotlib.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/runtime/parrot/library/parrotlib.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -19,6 +19,8 @@
 
 =cut
 
+.loadlib 'os'
+
 .sub __onload :load
     .local pmc paths
     .local pmc includes
@@ -127,32 +129,45 @@
 .sub dynext_location
     .param string request
     .param string ext
+
+    .local pmc    os
     .local string name
 
+    os = new ['OS']
+
     name = request
-    stat $I0, name, 0
-    if $I0 goto END
+    push_eh FILE_NOT_FOUND_1
+    # OS.stat throws on file not found
+    os.'stat'(name)
+    goto END
 
+FILE_NOT_FOUND_1:
     name = concat request, ext
-    stat $I0, name, 0
-    if $I0 goto END
+    push_eh FILE_NOT_FOUND_2
+    os.'stat'(name)
+    goto END
 
+FILE_NOT_FOUND_2:
     name = concat "runtime/parrot/dynext/", request
-    stat $I0, name, 0
-    if $I0 goto END
+    push_eh FILE_NOT_FOUND_3
+    os.'stat'(name)
+    goto END
 
+FILE_NOT_FOUND_3:
     name = concat "runtime/parrot/dynext/", request
     name = concat name, ext
-    stat $I0, name, 0
-    if $I0 goto END
+    push_eh FILE_NOT_FOUND_4
+    os.'stat'(name)
+    goto END
 
+FILE_NOT_FOUND_4:
     # file not found, give the OS a chance to locate it
     name = concat request, ext
+    .return (name)
 
 END:
-    .begin_return
-    .set_return name
-    .end_return
+    pop_eh
+    .return (name)
 .end
 
 
@@ -187,10 +202,17 @@
     path = $P0
 
     $S0 = concat path, name
-    stat $I0, $S0, 0
-    if $I0 goto OK
+    $P0 = new ['OS']
+    push_eh FILE_NOT_FOUND
+        # OS.stat throws on file not found
+        $P0.'stat'($S0)
+    pop_eh
+    goto END
+
+FILE_NOT_FOUND:
     null $S0
-OK:
+
+END:
     .begin_return
     .set_return $S0
     .end_return

Modified: trunk/runtime/parrot/library/pcre.pir
==============================================================================
--- trunk/runtime/parrot/library/pcre.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/runtime/parrot/library/pcre.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -45,6 +45,7 @@
 
 =cut
 
+.loadlib 'sys_ops'
 .include "sysinfo.pasm"
 
 .sub init

Modified: trunk/src/dynoplibs/Defines.in
==============================================================================
--- trunk/src/dynoplibs/Defines.in	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/src/dynoplibs/Defines.in	Thu May 27 08:45:23 2010	(r47051)
@@ -2,6 +2,11 @@
     $(DYNEXT_DIR)/obscure_ops$(LOAD_EXT) \
     $(DYNEXT_DIR)/math_ops$(LOAD_EXT) \
     $(DYNEXT_DIR)/deprecated_ops$(LOAD_EXT) \
+    $(DYNEXT_DIR)/trans_ops$(LOAD_EXT) \
+    $(DYNEXT_DIR)/bit_ops$(LOAD_EXT) \
+    $(DYNEXT_DIR)/debug_ops$(LOAD_EXT) \
+    $(DYNEXT_DIR)/sys_ops$(LOAD_EXT) \
+    $(DYNEXT_DIR)/io_ops$(LOAD_EXT) \
 
 DYNOPLIBS_CLEANUPS = \
     src/dynoplibs/*.c \

Modified: trunk/src/dynoplibs/Rules.in
==============================================================================
--- trunk/src/dynoplibs/Rules.in	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/src/dynoplibs/Rules.in	Thu May 27 08:45:23 2010	(r47051)
@@ -7,6 +7,8 @@
     $(PARROT_H_HEADERS) \
     include/parrot/runcore_api.h
 
+#########################
+
 $(DYNEXT_DIR)/obscure_ops$(LOAD_EXT): src/dynoplibs/obscure_ops$(O) $(LIBPARROT)
 	$(LD) @ld_out@$@ src/dynoplibs/obscure_ops$(O) $(LINKARGS)
 #IF(win32):	if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
@@ -20,6 +22,7 @@
 src/dynoplibs/obscure_ops.c: src/dynoplibs/obscure.ops $(OPS2C)
 	$(OPS2C) --dynamic src/dynoplibs/obscure.ops --quiet
 
+#########################
 
 $(DYNEXT_DIR)/math_ops$(LOAD_EXT): src/dynoplibs/math_ops$(O) $(LIBPARROT)
 	$(LD) @ld_out@$@ src/dynoplibs/math_ops$(O) $(LINKARGS)
@@ -34,6 +37,7 @@
 
 src/dynoplibs/math_ops.h: src/dynoplibs/math_ops.c
 
+#########################
 
 $(DYNEXT_DIR)/deprecated_ops$(LOAD_EXT): src/dynoplibs/deprecated_ops$(O) $(LIBPARROT)
 	$(LD) @ld_out@$@ src/dynoplibs/deprecated_ops$(O) $(LINKARGS)
@@ -47,3 +51,79 @@
 
 src/dynoplibs/deprecated_ops.c: src/dynoplibs/deprecated.ops $(OPS2C)
 	$(OPS2C) --dynamic src/dynoplibs/deprecated.ops --quiet
+
+#########################
+
+$(DYNEXT_DIR)/trans_ops$(LOAD_EXT): src/dynoplibs/trans_ops$(O) $(LIBPARROT)
+	$(LD) @ld_out@$@ src/dynoplibs/trans_ops$(O) $(LINKARGS)
+#IF(win32):	if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
+#IF(cygwin or hpux):	$(CHMOD) 0775 $@
+
+src/dynoplibs/trans_ops$(O): $(DYNOP_O_DEPS) \
+    src/dynoplibs/trans_ops.c src/dynoplibs/trans_ops.h
+
+src/dynoplibs/trans_ops.h: src/dynoplibs/trans_ops.c
+
+src/dynoplibs/trans_ops.c: src/dynoplibs/trans.ops $(OPS2C)
+	$(OPS2C) --dynamic src/dynoplibs/trans.ops
+
+#########################
+
+$(DYNEXT_DIR)/bit_ops$(LOAD_EXT): src/dynoplibs/bit_ops$(O) $(LIBPARROT)
+	$(LD) @ld_out@$@ src/dynoplibs/bit_ops$(O) $(LINKARGS)
+#IF(win32):	if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
+#IF(cygwin or hpux):	$(CHMOD) 0775 $@
+
+src/dynoplibs/bit_ops$(O): $(DYNOP_O_DEPS) \
+    src/dynoplibs/bit_ops.c src/dynoplibs/bit_ops.h
+
+src/dynoplibs/bit_ops.h: src/dynoplibs/bit_ops.c
+
+src/dynoplibs/bit_ops.c: src/dynoplibs/bit.ops $(OPS2C)
+	$(OPS2C) --dynamic src/dynoplibs/bit.ops
+
+#########################
+
+$(DYNEXT_DIR)/debug_ops$(LOAD_EXT): src/dynoplibs/debug_ops$(O) $(LIBPARROT)
+	$(LD) @ld_out@$@ src/dynoplibs/debug_ops$(O) $(LINKARGS)
+#IF(win32):	if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
+#IF(cygwin or hpux):	$(CHMOD) 0775 $@
+
+src/dynoplibs/debug_ops$(O): $(DYNOP_O_DEPS) \
+    src/dynoplibs/debug_ops.c src/dynoplibs/debug_ops.h
+
+src/dynoplibs/debug_ops.h: src/dynoplibs/debug_ops.c
+
+src/dynoplibs/debug_ops.c: src/dynoplibs/debug.ops $(OPS2C)
+	$(OPS2C) --dynamic src/dynoplibs/debug.ops
+
+#########################
+
+$(DYNEXT_DIR)/sys_ops$(LOAD_EXT): src/dynoplibs/sys_ops$(O) $(LIBPARROT)
+	$(LD) @ld_out@$@ src/dynoplibs/sys_ops$(O) $(LINKARGS)
+#IF(win32):	if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
+#IF(cygwin or hpux):	$(CHMOD) 0775 $@
+
+src/dynoplibs/sys_ops$(O): $(DYNOP_O_DEPS) \
+    src/dynoplibs/sys_ops.c src/dynoplibs/sys_ops.h
+
+src/dynoplibs/sys_ops.h: src/dynoplibs/sys_ops.c
+
+src/dynoplibs/sys_ops.c: src/dynoplibs/sys.ops $(OPS2C)
+	$(OPS2C) --dynamic src/dynoplibs/sys.ops
+
+#########################
+
+$(DYNEXT_DIR)/io_ops$(LOAD_EXT): src/dynoplibs/io_ops$(O) $(LIBPARROT)
+	$(LD) @ld_out@$@ src/dynoplibs/io_ops$(O) $(LINKARGS)
+#IF(win32):	if exist $@.manifest mt.exe -nologo -manifest $@.manifest -outputresource:$@;2
+#IF(cygwin or hpux):	$(CHMOD) 0775 $@
+
+src/dynoplibs/io_ops$(O): $(DYNOP_O_DEPS) \
+    src/dynoplibs/io_ops.c src/dynoplibs/io_ops.h
+
+src/dynoplibs/io_ops.h: src/dynoplibs/io_ops.c
+
+src/dynoplibs/io_ops.c: src/dynoplibs/io.ops $(OPS2C)
+	$(OPS2C) --dynamic src/dynoplibs/io.ops
+

Copied: trunk/src/dynoplibs/bit.ops (from r47047, branches/ops_massacre/src/dynoplibs/bit.ops)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/src/dynoplibs/bit.ops	Thu May 27 08:45:23 2010	(r47051, copy of r47047, branches/ops_massacre/src/dynoplibs/bit.ops)
@@ -0,0 +1,542 @@
+/*
+ * $Id$
+** bit.ops
+*/
+
+BEGIN_OPS_PREAMBLE
+ /* 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)
+
+END_OPS_PREAMBLE
+
+=head1 NAME
+
+bit.ops - Bitwise Opcodes Dynoplib
+
+=head1 DESCRIPTION
+
+Operations that deal with bits directly, either individually
+or in groups.
+
+The variant with an appended B<s> like B<bands> work on strings.
+
+=over 4
+
+=cut
+
+########################################
+
+=item B<band>(invar PMC, in INT)
+
+=item B<band>(invar PMC, invar PMC)
+
+Set the bits of $1 according to the B<and> of the corresponding bits
+from $1 and $2.
+
+=item B<band>(invar PMC, invar PMC, in INT)
+
+=item B<band>(invar PMC, invar PMC, invar PMC)
+
+Set the bits of $1 according to the B<and> of the corresponding bits
+from $2 and $3.
+
+=cut
+
+inline op band(invar PMC, in INT) :base_core {
+    const INTVAL a = VTABLE_get_integer(interp, $1);
+    const INTVAL b = a & $2;
+    VTABLE_set_integer_native(interp, $1, b);
+}
+
+inline op band(invar PMC, invar PMC) :base_core {
+    const INTVAL a = VTABLE_get_integer(interp, $1);
+    const INTVAL b = VTABLE_get_integer(interp, $2);
+    VTABLE_set_integer_native(interp, $1, a & b);
+}
+
+inline op band(invar PMC, invar PMC, in INT) :base_core {
+    const INTVAL a = VTABLE_get_integer(interp, $2);
+    VTABLE_set_integer_native(interp, $1, a & $3);
+}
+
+inline op band(invar PMC, invar PMC, invar PMC) :base_core {
+    const INTVAL a = VTABLE_get_integer(interp, $2);
+    const INTVAL b = VTABLE_get_integer(interp, $3);
+    VTABLE_set_integer_native(interp, $1, a & b);
+}
+
+=item B<bands>(invar PMC, in STR)
+
+=item B<bands>(invar PMC, invar PMC)
+
+Set the bits of $1 according to the B<and> of the corresponding bits
+from $1 and $2.
+
+=item B<bands>(out STR, in STR, in STR)
+
+=item B<bands>(invar PMC, invar PMC, in STR)
+
+=item B<bands>(invar PMC, invar PMC, invar PMC)
+
+Set the bits of $1 according to the B<and> of the corresponding bits
+from $2 and $3.
+
+=cut
+
+inline op bands(invar PMC, in STR) :base_core {
+    STRING * const a = VTABLE_get_string(interp, $1);
+    STRING * const b = Parrot_str_bitwise_and(interp, a, $2);
+    VTABLE_set_string_native(interp, $1, b);
+}
+
+inline op bands(invar PMC, invar PMC) :base_core {
+    STRING * a = VTABLE_get_string(interp, $1);
+    STRING * const b = VTABLE_get_string(interp, $2);
+    a = Parrot_str_bitwise_and(interp, a, b);
+    VTABLE_set_string_native(interp, $1, a);
+}
+
+inline op bands(out STR, in STR, in STR) :base_core {
+    $1 = Parrot_str_bitwise_and(interp, $2, $3);
+}
+
+inline op bands(invar PMC, invar PMC, in STR) :base_core {
+    STRING * const a = VTABLE_get_string(interp, $2);
+    STRING * const b = Parrot_str_bitwise_and(interp, a, $3);
+    VTABLE_set_string_native(interp, $1, b);
+}
+
+inline op bands(invar PMC, invar PMC, invar PMC) :base_core {
+    STRING * const a = VTABLE_get_string(interp, $2);
+    STRING * const b = VTABLE_get_string(interp, $3);
+    STRING * const c = Parrot_str_bitwise_and(interp, a, b);
+    VTABLE_set_string_native(interp, $1, c);
+}
+
+########################################
+
+=item B<bor>(invar PMC, in INT)
+
+=item B<bor>(invar PMC, invar PMC)
+
+Set the bits of $1 according to the B<or> of the corresponding bits
+from $1 and $2.
+
+=item B<bor>(invar PMC, invar PMC, in INT)
+
+=item B<bor>(invar PMC, invar PMC, invar PMC)
+
+Set the bits of $1 according to the B<or> of the corresponding bits
+from $2 and $3.
+
+=cut
+
+inline op bor(invar PMC, in INT) :base_core {
+    const INTVAL a = VTABLE_get_integer(interp, $1);
+    VTABLE_set_integer_native(interp, $1, a | $2);
+}
+
+inline op bor(invar PMC, invar PMC) :base_core {
+    const INTVAL a = VTABLE_get_integer(interp, $1);
+    const INTVAL b = VTABLE_get_integer(interp, $2);
+    VTABLE_set_integer_native(interp, $1, a | b);
+}
+
+inline op bor(invar PMC, invar PMC, in INT) :base_core {
+    const INTVAL a = VTABLE_get_integer(interp, $2);
+    VTABLE_set_integer_native(interp, $1, a | $3);
+}
+
+inline op bor(invar PMC, invar PMC, invar PMC) :base_core {
+    const INTVAL a = VTABLE_get_integer(interp, $2);
+    const INTVAL b = VTABLE_get_integer(interp, $3);
+    VTABLE_set_integer_native(interp, $1, a | b);
+}
+
+########################################
+
+=item B<bors>(invar PMC, in STR)
+
+=item B<bors>(invar PMC, invar PMC)
+
+Set the bits of $1 according to the B<or> of the corresponding bits
+from $1 and $2.
+
+=item B<bors>(out STR, in STR, in STR)
+
+=item B<bors>(invar PMC, invar PMC, in STR)
+
+=item B<bors>(invar PMC, invar PMC, invar PMC)
+
+Set the bits of $1 according to the B<or> of the corresponding bits
+from $2 and $3.
+
+=cut
+
+inline op bors(invar PMC, in STR) :base_core {
+    STRING * const a = VTABLE_get_string(interp, $1);
+    STRING * const b = Parrot_str_bitwise_or(interp, a, $2);
+    VTABLE_set_string_native(interp, $1, b);
+}
+
+inline op bors(invar PMC, invar PMC) :base_core {
+    STRING * const a = VTABLE_get_string(interp, $1);
+    STRING * const b = VTABLE_get_string(interp, $2);
+    STRING * const c = Parrot_str_bitwise_or(interp, a, b);
+    VTABLE_set_string_native(interp, $1, c);
+}
+
+inline op bors(out STR, in STR, in STR) :base_core {
+    $1 = Parrot_str_bitwise_or(interp, $2, $3);
+}
+
+inline op bors(invar PMC, invar PMC, in STR) :base_core {
+    STRING * const b = VTABLE_get_string(interp, $2);
+    STRING * const c = Parrot_str_bitwise_or(interp, b, $3);
+    VTABLE_set_string_native(interp, $1, c);
+}
+
+inline op bors(invar PMC, invar PMC, invar PMC) :base_core {
+    STRING * const a = VTABLE_get_string(interp, $2);
+    STRING * const b = VTABLE_get_string(interp, $3);
+    STRING * const c = Parrot_str_bitwise_or(interp, a, b);
+    VTABLE_set_string_native(interp, $1, c);
+}
+
+########################################
+
+=item B<shl>(invar PMC, in INT)
+
+=item B<shl>(invar PMC, invar PMC)
+
+Shift left $1 by $2 bits.
+
+=item B<shl>(invar PMC, invar PMC, in INT)
+
+=item B<shl>(invar PMC, invar PMC, invar PMC)
+
+Set $1 to the value of $2 shifted left by $3 bits.
+
+=cut
+
+inline op shl(invar PMC, in INT) :base_core {
+    const INTVAL a = VTABLE_get_integer(interp, $1);
+    const INTVAL b = bit_shift_left(a, $2);
+    VTABLE_set_integer_native(interp, $1, b);
+}
+
+inline op shl(invar PMC, invar PMC) :base_core {
+    const INTVAL a = VTABLE_get_integer(interp, $1);
+    const INTVAL b = VTABLE_get_integer(interp, $2);
+    const INTVAL c = bit_shift_left(a, b);
+    VTABLE_set_integer_native(interp, $1, c);
+}
+
+inline op shl(invar PMC, invar PMC, in INT) :base_core {
+    const INTVAL a = VTABLE_get_integer(interp, $2);
+    const INTVAL b = bit_shift_left(a, $3);
+    VTABLE_set_integer_native(interp, $1, b);
+}
+
+inline op shl(invar PMC, invar PMC, invar PMC) :base_core {
+    const INTVAL a = VTABLE_get_integer(interp, $2);
+    const INTVAL b = VTABLE_get_integer(interp, $3);
+    const INTVAL c = bit_shift_left(a, b);
+    VTABLE_set_integer_native(interp, $1, c);
+}
+
+########################################
+
+=item B<shr>(invar PMC, in INT)
+
+=item B<shr>(invar PMC, invar PMC)
+
+Shift right $1 by $2 bits.
+
+=item B<shr>(invar PMC, invar PMC, in INT)
+
+=item B<shr>(invar PMC, invar PMC, invar PMC)
+
+Set $1 to the value of $2 shifted right by $3 bits.
+
+=cut
+
+inline op shr(invar PMC, in INT) :base_core {
+    const INTVAL a = VTABLE_get_integer(interp, $1);
+    const INTVAL b = bit_shift_left(a, -$2);
+    VTABLE_set_integer_native(interp, $1, b);
+}
+
+inline op shr(invar PMC, invar PMC) :base_core {
+    const INTVAL a = VTABLE_get_integer(interp, $1);
+    const INTVAL b = VTABLE_get_integer(interp, $2);
+    const INTVAL c = bit_shift_left(a, -b);
+    VTABLE_set_integer_native(interp, $1, c);
+}
+
+inline op shr(invar PMC, invar PMC, in INT) :base_core {
+    const INTVAL a = VTABLE_get_integer(interp, $2);
+    const INTVAL c = bit_shift_left(a, -$3);
+    VTABLE_set_integer_native(interp, $1, c);
+}
+
+inline op shr(invar PMC, invar PMC, invar PMC) :base_core {
+    const INTVAL a = VTABLE_get_integer(interp, $2);
+    const INTVAL b = VTABLE_get_integer(interp, $3);
+    const INTVAL c = bit_shift_left(a, -b);
+    VTABLE_set_integer_native(interp, $1, c);
+}
+
+########################################
+
+=item B<bnot>(inout INT)
+
+=item B<bnot>(invar PMC)
+
+Sets $1 to C<bitwise not> $1 inplace.
+
+=item B<bnot>(out INT, in INT)
+
+=item B<bnot>(out PMC, invar PMC)
+
+=cut
+
+inline op bnot(inout INT) :base_core {
+    $1 = ~ $1;
+}
+
+inline op bnot(out INT, in INT) :base_core {
+    $1 = ~ $2;
+}
+
+inline op bnot(invar PMC) :base_core {
+    const INTVAL a = VTABLE_get_integer(interp, $1);
+    VTABLE_set_integer_native(interp, $1, ~a);
+}
+
+inline op bnot(out PMC, invar PMC) :base_core {
+    const INTVAL a = VTABLE_get_integer(interp, $2);
+    PMC * const b = Parrot_pmc_new(interp, VTABLE_type(interp, $2));
+    VTABLE_set_integer_native(interp, b, ~a);
+    $1 = b;
+}
+
+=item B<bnots>(invar PMC)
+
+=item B<bnots>(out STR, in STR)
+
+=item B<bnots>(out PMC, invar PMC)
+
+=cut
+
+inline op bnots(out STR, in STR) :base_core {
+    $1 = Parrot_str_bitwise_not(interp, $2);
+}
+
+inline op bnots(invar PMC) :base_core {
+    STRING * const a = VTABLE_get_string(interp, $1);
+    STRING * const b = Parrot_str_bitwise_not(interp, a);
+    VTABLE_set_string_native(interp, $1, b);
+}
+
+inline op bnots(out PMC, invar PMC) :base_core {
+    STRING * const a = VTABLE_get_string(interp, $2);
+    STRING * const b = Parrot_str_bitwise_not(interp, a);
+    VTABLE_set_string_native(interp, $1, b);
+}
+
+########################################
+
+=item B<lsr>(invar PMC, in INT)
+
+=item B<lsr>(invar PMC, invar PMC)
+
+Shift $1 logically shifted right by $2 bits.
+
+=item B<lsr>(invar PMC, invar PMC, in INT)
+
+=item B<lsr>(invar PMC, invar PMC, invar PMC)
+
+Set $1 to the value of $2 logically shifted right by $3 bits.
+
+=cut
+
+inline op lsr(invar PMC, in INT) :base_core {
+    const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, $1);
+    const UINTVAL b = a >> $2;
+    VTABLE_set_integer_native(interp, $1, (INTVAL)b);
+}
+
+inline op lsr(invar PMC, invar PMC) :base_core {
+    const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, $1);
+    const UINTVAL b = (UINTVAL)VTABLE_get_integer(interp, $2);
+    const UINTVAL c = a >> b;
+    VTABLE_set_integer_native(interp, $1, (INTVAL)c);
+}
+
+inline op lsr(invar PMC, invar PMC, in INT) :base_core {
+    const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, $2);
+    const UINTVAL b = (UINTVAL)$3;
+    const UINTVAL c = a >> b;
+    VTABLE_set_integer_native(interp, $1, (INTVAL)c);
+}
+
+inline op lsr(invar PMC, invar PMC, invar PMC) :base_core {
+    const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, $2);
+    const UINTVAL b = (UINTVAL)VTABLE_get_integer(interp, $3);
+    const UINTVAL c = a >> b;
+    VTABLE_set_integer_native(interp, $3, (INTVAL)c);
+}
+
+=item B<rot>(out INT, in INT, in INT, inconst INT)
+
+Rotate $2 left or right by $3 and place result in $1.
+$4 is the amount of bits to rotate, 32 bit on a 32-bit CPU and 32 or 64
+on a 64-bit CPU. If the rotate count is negative a rotate right by ($3+$4)
+is performed.
+
+=cut
+
+inline op rot(out INT, in INT, in INT, inconst INT) {
+    const INTVAL r = $2;
+    INTVAL s = $3;
+    const INTVAL w = $4;
+    INTVAL d, t;
+    if (s < 0)
+        s += w;
+    d = r << s;
+    t = w - s;
+    t = (INTVAL)((UINTVAL)r >> t);
+    d |= t;
+    $1 = d;
+}
+
+########################################
+
+=item B<bxor>(invar PMC, in INT)
+
+=item B<bxor>(invar PMC, invar PMC)
+
+Set the bits of $1 according to the B<xor> of the corresponding bits
+from $1 and $2.
+
+=item B<bxor>(invar PMC, invar PMC, in INT)
+
+=item B<bxor>(invar PMC, invar PMC, invar PMC)
+
+Set the bits of $1 according to the B<xor> of the corresponding bits
+from $2 and $3.
+
+=cut
+
+inline op bxor(invar PMC, in INT) :base_core {
+    const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, $1);
+    const UINTVAL b = a ^ $2;
+    VTABLE_set_integer_native(interp, $1, (INTVAL)b);
+}
+
+inline op bxor(invar PMC, invar PMC) :base_core {
+    const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, $1);
+    const UINTVAL b = (UINTVAL)VTABLE_get_integer(interp, $2);
+    const UINTVAL c = a ^ b;
+    VTABLE_set_integer_native(interp, $1, (INTVAL)c);
+}
+
+inline op bxor(invar PMC, invar PMC, in INT) :base_core {
+    const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, $2);
+    const UINTVAL b = a ^ $3;
+    VTABLE_set_integer_native(interp, $1, (INTVAL)b);
+}
+
+inline op bxor(invar PMC, invar PMC, invar PMC) :base_core {
+    const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, $2);
+    const UINTVAL b = (UINTVAL)VTABLE_get_integer(interp, $3);
+    const UINTVAL c = a ^ b;
+    VTABLE_set_integer_native(interp, $1, (INTVAL)c);
+}
+
+########################################
+
+=item B<bxors>(invar PMC, in STR)
+
+=item B<bxors>(invar PMC, invar PMC)
+
+Set the bits of $1 according to the B<xor> of the corresponding bits
+from $1 and $2.
+
+=item B<bxors>(out STR, in STR, in STR)
+
+=item B<bxors>(invar PMC, invar PMC, in STR)
+
+=item B<bxors>(invar PMC, invar PMC, invar PMC)
+
+Set the bits of $1 according to the B<xor> of the corresponding bits
+from $2 and $3.
+
+=cut
+
+inline op bxors(invar PMC, in STR) :base_core {
+    STRING * const a = VTABLE_get_string(interp, $1);
+    STRING * const b = Parrot_str_bitwise_xor(interp, a, $2);
+    VTABLE_set_string_native(interp, $1, b);
+}
+
+inline op bxors(invar PMC, invar PMC) :base_core {
+    STRING * const a = VTABLE_get_string(interp, $1);
+    STRING * const b = VTABLE_get_string(interp, $2);
+    STRING * const c = Parrot_str_bitwise_xor(interp, a, b);
+    VTABLE_set_string_native(interp, $1, c);
+}
+
+inline op bxors(out STR, in STR, in STR) :base_core {
+    $1 = Parrot_str_bitwise_xor(interp, $2, $3);
+}
+
+inline op bxors(invar PMC, invar PMC, in STR) :base_core {
+    STRING * const a = VTABLE_get_string(interp, $2);
+    STRING * const b = Parrot_str_bitwise_xor(interp, a, $3);
+    VTABLE_set_string_native(interp, $1, b);
+}
+
+inline op bxors(invar PMC, invar PMC, invar PMC) :base_core {
+    STRING * const a = VTABLE_get_string(interp, $2);
+    STRING * const b = VTABLE_get_string(interp, $3);
+    STRING * const c = Parrot_str_bitwise_xor(interp, a, b);
+    VTABLE_set_string_native(interp, $1, c);
+}
+
+=back
+
+=cut
+
+###############################################################################
+
+=head1 COPYRIGHT
+
+Copyright (C) 2001-2010, Parrot Foundation.
+
+=head1 LICENSE
+
+This program is free software. It is subject to the same license
+as the Parrot interpreter itself.
+
+=cut
+
+/*
+ * Local variables:
+ *   c-file-style: "parrot"
+ * End:
+ * vim: expandtab shiftwidth=4:
+ */

Copied: trunk/src/dynoplibs/debug.ops (from r47047, branches/ops_massacre/src/dynoplibs/debug.ops)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/src/dynoplibs/debug.ops	Thu May 27 08:45:23 2010	(r47051, copy of r47047, branches/ops_massacre/src/dynoplibs/debug.ops)
@@ -0,0 +1,146 @@
+/*
+ * $Id$
+ * Copyright (C) 2002-2008, Parrot Foundation.
+ */
+
+/*
+** debug.ops
+*/
+
+=head1 NAME
+
+debug.ops - Debugging Opcodes
+
+=cut
+
+=head1 DESCRIPTION
+
+Parrot debugger
+
+=cut
+
+=head1 HISTORY
+
+Initial version by Daniel Grunblatt on 2002.5.19
+
+=cut
+
+###############################################################################
+
+=head2 Parrot debug operations
+
+=over 4
+
+=cut
+
+########################################
+
+=item B<debug_init>()
+
+Init the Parrot debugger, must be called before any other debug op.
+
+=cut
+
+op debug_init() :base_debug {
+    Parrot_debugger_init(interp);
+}
+
+########################################
+
+=item B<debug_load>(inconst STR)
+
+Load a Parrot source file for the current program.
+
+=cut
+
+op debug_load(inconst STR) :base_debug {
+    Parrot_debugger_load(interp, $1);
+}
+
+########################################
+
+=item B<debug_break>()
+
+Break execution and drop into the debugger.
+If we are already into the debugger and is the first time we are
+called set a breakpoint.
+
+When you re run/continue the program begin debugged it will pay
+no attention to the debug ops.
+
+=cut
+
+op debug_break() :base_debug {
+    Parrot_debugger_break(interp, cur_opcode);
+}
+
+########################################
+
+=item B<debug_print>()
+
+Print all the Parrot registers at once.
+
+=cut
+
+op debug_print() :base_debug {
+    if (!interp->pdb) {
+        opcode_t *handler = Parrot_ex_throw_from_op_args(interp, expr NEXT(),
+            EXCEPTION_INVALID_OPERATION,
+            "Initialize debugger with debug_init before using debug_print");
+        goto ADDRESS(handler);
+    }
+
+    if (!(interp->pdb->state & PDB_BREAK)) {
+        PDB_print(interp, "I");
+        PDB_print(interp, "N");
+        PDB_print(interp, "S");
+        PDB_print(interp, "P");
+    }
+}
+
+=item B<backtrace>()
+
+Print a backtrace.
+
+=cut
+
+op backtrace() :base_debug {
+    PDB_backtrace(interp);
+}
+
+#######################################
+
+=item B<getline>(out INT)
+
+Get the current line number.
+
+=cut
+
+inline op getline(out INT) {
+    Parrot_Context_info info;
+    Parrot_Context_get_info(interp, CURRENT_CONTEXT(interp), &info);
+    $1 = info.line;
+}
+
+=item B<getfile>(out STR)
+
+Get the name of the current file.
+
+=cut
+
+inline op getfile(out STR) {
+    Parrot_Context_info info;
+    Parrot_Context_get_info(interp, CURRENT_CONTEXT(interp), &info);
+    $1 = info.file;
+}
+
+=back
+
+=cut
+
+/*
+ * Local variables:
+ *   c-file-style: "parrot"
+ * End:
+ * vim: expandtab shiftwidth=4:
+ */

Copied: trunk/src/dynoplibs/io.ops (from r47047, branches/ops_massacre/src/dynoplibs/io.ops)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/src/dynoplibs/io.ops	Thu May 27 08:45:23 2010	(r47051, copy of r47047, branches/ops_massacre/src/dynoplibs/io.ops)
@@ -0,0 +1,371 @@
+/*
+ * $Id$
+ * Copyright (C) 2010, Parrot Foundation.
+** io.ops
+*/
+
+=head1 NAME
+
+io.ops - Extended I/O Dynops
+
+=head1 DESCRIPTION
+
+A richer I/O API than that available in core Parrot.
+
+=over 4
+
+=cut
+
+BEGIN_OPS_PREAMBLE
+#include "../io/io_private.h"
+END_OPS_PREAMBLE
+
+##########################################
+
+=item B<stat>(out INT, in STR, in INT)
+
+=item B<stat>(out INT, in INT, in INT)
+
+Stat the file. Return stat element $3 for file $2 into $1. The queryable
+items currently are:
+
+ EXISTS     0
+ FILESIZE   1
+ ISDIR      2
+ ISDEV      3
+ CREATETIME 4 (Time file was created)
+ ACCESSTIME 5 (Time file was last accessed)
+ MODIFYTIME 6 (Time file data was changed)
+ CHANGETIME 7 (Time file metadata was changed)
+ BACKUPTIME 8 (Time of last backup)
+ UID        9
+ GID        10
+
+
+=cut
+
+op stat(out INT, in STR, in INT) {
+    $1 = Parrot_stat_info_intval(interp, $2, $3);
+}
+
+op stat(out INT, in INT, in INT) {
+    $1 = Parrot_fstat_info_intval(interp, $2, $3);
+}
+
+##########################################
+
+=item B<read>(out STR, in INT)
+
+Read up to N bytes from standard input stream
+
+=item B<read>(out STR, invar PMC, in INT)
+
+Read up to N bytes from IO PMC stream.
+
+=cut
+
+op read(out STR, in INT) :base_io {
+    $1 = Parrot_io_reads(interp, _PIO_STDIN(interp), (size_t)$2);
+}
+
+op read(out STR, invar PMC, in INT) :base_io {
+    $1 = Parrot_io_reads(interp, $2, (size_t)$3);
+}
+
+=item B<readline>(out STR, invar PMC)
+
+Read a line up to EOL from filehandle $2.
+This switches the filehandle to linebuffer-mode.
+
+=cut
+
+inline op readline(out STR, invar PMC) :base_io {
+    $1 = Parrot_io_readline(interp, $2);
+}
+
+##########################################
+
+=item B<printerr>(in INT)
+
+=item B<printerr>(in NUM)
+
+=item B<printerr>(in STR)
+
+=item B<printerr>(invar PMC)
+
+Print $1 to standard error.
+
+=cut
+
+op printerr(in INT) :base_io {
+    Parrot_io_eprintf(interp, INTVAL_FMT, $1);
+}
+
+op printerr(in NUM) :base_io {
+    Parrot_io_eprintf(interp, FLOATVAL_FMT, $1);
+}
+
+op printerr(in STR) :base_io {
+    STRING * const s = $1;
+    if (s && Parrot_str_byte_length(interp, s))
+        Parrot_io_putps(interp, _PIO_STDERR(interp), s);
+}
+
+op printerr(invar PMC) :base_io {
+    PMC * const p = $1;
+    STRING * const s = (VTABLE_get_string(interp, p));
+    if (s)
+        Parrot_io_putps(interp, _PIO_STDERR(interp), s);
+}
+
+##########################################
+
+=item B<seek>(invar PMC, in INT, in INT)
+
+seek:
+Set file position to offset $2 on IO stream $1. 'whence' is
+indicated by the value in $3. The valid values for 'whence' are:
+
+ Value      Meaning
+ 0          Seek from the beginning of the file
+ 1          Seek from the current position
+ 2          Seek from the end of the file
+
+[ Note: the above values for 'whence' is just an educated guess
+at this point ]
+
+=item B<seek>(invar PMC, in INT, in INT, in INT)
+
+64bit seek:
+Set file position to offset ($2 << 32 | $3) on IO stream $1. 'whence' is
+indicated by the value in $4. This allows 64-bit seeks with only 32-bit
+INTVALS.
+
+=cut
+
+op seek(invar PMC, in INT, in INT) :base_io {
+    if ($1) {
+        if (Parrot_io_seek(interp, $1, Parrot_io_make_offset($2), $3) < 0) {
+            opcode_t *handler = Parrot_ex_throw_from_op_args(interp, expr NEXT(),
+                EXCEPTION_PIO_ERROR,
+                "seek failed (32bit)");
+            goto ADDRESS(handler);
+        }
+    }
+}
+
+op seek(invar PMC, in INT, in INT, in INT) :base_io {
+    if ($1) {
+        if (Parrot_io_seek(interp, $1, Parrot_io_make_offset32($2, $3), $4) < 0) {
+            opcode_t *handler = Parrot_ex_throw_from_op_args(interp, expr NEXT(),
+                EXCEPTION_PIO_ERROR,
+                "seek failed (64bit)");
+            goto ADDRESS(handler);
+        }
+    }
+}
+
+=item B<tell>(out INT, invar PMC)
+
+tell:
+Get the current file position of stream $2 and store it in $1.
+On systems where INTVAL is 32bit the result will be truncated if the
+position is beyond 2 GiB
+
+=item B<tell>(out INT, out INT, invar PMC)
+
+64bit tell:
+Get the current file positon of stream $3 in two parts of 32-bit each
+($1 = pos >> 32, $2 = pos & 0xffffffff).
+
+=cut
+
+op tell(out INT, invar PMC) :base_io {
+    if ($2)
+        $1 = (INTVAL)Parrot_io_tell(interp, $2);
+}
+
+op tell(out INT, out INT, invar PMC) :base_io {
+    if ($3) {
+        PIOOFF_T pos;
+        pos = Parrot_io_tell(interp, $3);
+        $1 = (INTVAL)(pos >> 31);
+        $2 = (INTVAL)(pos & 0xffffffff);
+    }
+}
+
+##########################################
+
+=item B<peek>(out STR)
+
+Returns the next byte from standard input, but does not
+remove it from the stream.
+
+=item B<peek>(out STR, invar PMC)
+
+Reads the next byte from an IO PMC, but does not
+remove it from the stream.
+
+=cut
+
+op peek(out STR) :base_io {
+    STRING ** const s = &$1;
+
+    *s = NULL;
+    if (Parrot_io_peek(interp, _PIO_STDIN(interp), s) < 0) {
+        $1 = STRINGNULL;
+    }
+}
+
+op peek(out STR, invar PMC) :base_io {
+    STRING ** const s = &$1;
+
+    *s = NULL;
+    if (Parrot_io_peek(interp, $2, s) < 0) {
+        $1 = STRINGNULL;
+    }
+}
+
+#########################################
+
+=item B<open>(out PMC, in STR, in STR)
+
+Open URL (file, address, database, in core image) named $2 with
+a mode string in $3 and create an IO object in $1.
+
+The mode consists of a string of characters specified in any order:
+
+ r : read
+ w : write
+ a : append (Note: you must specify "wa", not just "a")
+ p : pipe
+
+=item B<open>(out PMC, in STR)
+
+Open URL (file, address, database, in core image) named $2 with
+read mode and create an IO object in $1.
+
+=cut
+
+inline op open(out PMC, in STR, in STR) :filesys_open {
+    if (STRING_IS_NULL($2) || STRING_IS_NULL($3)) {
+        opcode_t *handler = Parrot_ex_throw_from_op_args(interp, expr NEXT(),
+            EXCEPTION_UNEXPECTED_NULL, "Invalid open");
+        goto ADDRESS(handler);
+    }
+    else {
+        $1 = Parrot_io_open(interp, PMCNULL, $2, $3);
+        PARROT_ASSERT(! PMC_IS_NULL($1));
+    }
+}
+
+inline op open(out PMC, in STR) :filesys_open {
+    if (STRING_IS_NULL($2)) {
+        opcode_t *handler = Parrot_ex_throw_from_op_args(interp, expr NEXT(),
+            EXCEPTION_UNEXPECTED_NULL, "Invalid open");
+        goto ADDRESS(handler);
+    }
+    else {
+        $1 = Parrot_io_open(interp, PMCNULL, $2, NULL);
+        PARROT_ASSERT(! PMC_IS_NULL($1));
+    }
+}
+
+########################################
+
+=item B<close>(invar PMC)
+
+Close IO object $1
+
+=cut
+
+inline op close(invar PMC) :base_io {
+    Parrot_io_close(interp, $1);
+}
+
+########################################
+
+=item B<fdopen>(out PMC, in INT, in STR)
+
+Create ParrotIO object in $1 as a copy of file descriptor $2.
+
+=cut
+
+inline op fdopen(out PMC, in INT, in STR) :filesys_open {
+    $1 = Parrot_io_fdopen(interp, PMCNULL, (PIOHANDLE)$2, $3);
+    if (!$1)
+        $1 = Parrot_pmc_new(interp, enum_class_Undef);
+}
+
+=item B<getstdin>(out PMC)
+
+Create a new ParrotIO object for the stdin file descriptor and
+store it in $1
+
+=item B<getstdout>(out PMC)
+
+Create a new ParrotIO object for the stdout file descriptor and
+store it in $1
+
+=item B<getstderr>(out PMC)
+
+Create a new ParrotIO object for the stderr file descriptor and
+store it in $1
+
+=cut
+
+inline op getstdin(out PMC) :base_io {
+    $1 = _PIO_STDIN(interp);
+}
+
+inline op getstdout(out PMC) :base_io {
+    $1 = _PIO_STDOUT(interp);
+}
+
+inline op getstderr(out PMC) :base_io {
+    $1 = _PIO_STDERR(interp);
+}
+
+#########################################
+
+=item B<setstdin>(invar PMC)
+
+Sets the standard input for a bare C<read> op to go to the supplied PMC.
+Call C<getstdin> first if you care about retaining the previous PMC.
+
+=item B<setstdout>(invar PMC)
+
+Sets the standard output for a bare C<print> op to go to the supplied PMC.
+Call C<getstdout> first if you care about retaining the previous PMC.
+
+=item B<setstderr>(invar PMC)
+
+Sets the standard error for a bare C<printerr> op to go to the supplied PMC.
+Call C<getstderr> first if you care about retaining the previous PMC.
+
+=cut
+
+inline op setstdin(invar PMC) :base_io {
+    _PIO_STDIN(interp) = $1;
+}
+
+inline op setstdout(invar PMC) :base_io {
+    _PIO_STDOUT(interp) = $1;
+}
+
+inline op setstderr(invar PMC) :base_io {
+    _PIO_STDERR(interp) = $1;
+}
+
+########################################
+
+=back
+
+=cut
+
+/*
+ * Local variables:
+ *   c-file-style: "parrot"
+ * End:
+ * vim: expandtab shiftwidth=4:
+ */

Modified: trunk/src/dynoplibs/math.ops
==============================================================================
--- trunk/src/dynoplibs/math.ops	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/src/dynoplibs/math.ops	Thu May 27 08:45:23 2010	(r47051)
@@ -25,7 +25,169 @@
 
 =cut
 
-=over
+=head2 General Math
+
+=over 4
+
+=cut
+
+########################################
+
+=item B<cmod>(out INT, in INT, in INT)
+
+=item B<cmod>(invar PMC, invar PMC, in INT)
+
+=item B<cmod>(invar PMC, invar PMC, invar PMC)
+
+NOTE: This "uncorrected mod" algorithm uses the C language's built-in
+mod operator (x % y), which is
+
+    ... the remainder when x is divided by y, and thus is zero
+    when y divides x exactly.
+    ...
+    The direction of truncation for / and the sign of the result
+    for % are machine-dependent for negative operands, as is the
+    action taken on overflow or underflow.
+                                                     -- [1], page 41
+
+Also:
+
+    ... if the second operand is 0, the result is undefined.
+    Otherwise, it is always true that (a/b)*b + a%b is equal to z. If
+    both operands are non-negative, then the remainder is non-
+    negative and smaller than the divisor; if not, it is guaranteed
+    only that the absolute value of the remainder is smaller than
+    the absolute value of the divisor.
+                                                     -- [1], page 205
+
+This op is provided for those who need it (such as speed-sensitive
+applications with heavy use of mod, but using it only with positive
+arguments), but a more mathematically useful mod based on ** floor(x/y)
+and defined with y == 0 is provided by the mod op.
+
+  [1] Brian W. Kernighan and Dennis M. Ritchie, *The C Programming
+      Language*, Second Edition. Prentice Hall, 1988.
+
+If the denominator is zero, a 'Divide by zero' exception is thrown.
+
+=cut
+
+inline op cmod(out INT, in INT, in INT) :base_core {
+    INTVAL den = $3;
+    if ($3 == 0) {
+        opcode_t *handler = Parrot_ex_throw_from_op_args(interp, expr NEXT(),
+            EXCEPTION_DIV_BY_ZERO,
+            "Divide by zero");
+        goto ADDRESS(handler);
+    }
+    $1 = $2 % den;
+}
+
+inline op cmod(invar PMC, invar PMC, in INT) :base_core {
+    INTVAL result;
+
+    if ($3 == 0) {
+        opcode_t *handler = Parrot_ex_throw_from_op_args(interp, expr NEXT(),
+            EXCEPTION_DIV_BY_ZERO,
+            "Divide by zero");
+        goto ADDRESS(handler);
+    }
+
+    result = VTABLE_get_integer(interp, $2) % $3;
+
+    $1 = Parrot_pmc_new(interp, VTABLE_type(interp, $2));
+    VTABLE_set_integer_native(interp, $1, result);
+}
+
+inline op cmod(invar PMC, invar PMC, invar PMC) :base_core {
+    INTVAL result;
+    INTVAL value = VTABLE_get_integer(interp, $3);
+
+    if (value == 0) {
+        opcode_t *handler = Parrot_ex_throw_from_op_args(interp, expr NEXT(),
+            EXCEPTION_DIV_BY_ZERO,
+            "Divide by zero");
+        goto ADDRESS(handler);
+    }
+
+    result = VTABLE_get_integer(interp, $2) % value;
+
+    $1 = Parrot_pmc_new(interp, VTABLE_type(interp, $2));
+    VTABLE_set_integer_native(interp, $1, result);
+}
+
+########################################
+
+=item B<cmod>(out NUM, in NUM, in NUM)
+
+=item B<cmod>(invar PMC, invar PMC, in NUM)
+
+NOTE: This "uncorrected mod" algorithm uses the built-in C math library's
+fmod() function, which computes
+
+    ... the remainder of dividing x by y. The return value is
+    x - n * y, where n is the quotient of x / y, rounded towards
+    zero to an integer.
+                                -- fmod() manpage on RedHat Linux 7.0
+
+In addition, fmod() returns
+
+    the remainder, unless y is zero, when the function fails and
+    errno is set.
+
+According to page 251 of [1], the result when y is zero is implementation-
+defined.
+
+This op is provided for those who need it, but a more mathematically
+useful numeric mod based on floor(x/y) instead of truncate(x/y) and
+defined with y == 0 is provided by the mod op.
+
+  [1] Brian W. Kernighan and Dennis M. Ritchie, *The C Programming
+      Language*, Second Edition. Prentice Hall, 1988.
+
+If the denominator is zero, a 'Divide by zero' exception is thrown.
+
+=cut
+
+inline op cmod(out NUM, in NUM, in NUM) :base_core {
+    FLOATVAL den = $3;
+    if (FLOAT_IS_ZERO($3)) {
+        opcode_t *handler = Parrot_ex_throw_from_op_args(interp, expr NEXT(),
+            EXCEPTION_DIV_BY_ZERO,
+            "Divide by zero");
+        goto ADDRESS(handler);
+    }
+    $1 = fmod($2, den);
+}
+
+inline op cmod(invar PMC, invar PMC, in NUM) :base_core {
+    FLOATVAL result;
+    FLOATVAL value = $3;
+
+    if (FLOAT_IS_ZERO(value)) {
+        opcode_t *handler = Parrot_ex_throw_from_op_args(interp, expr NEXT(),
+            EXCEPTION_DIV_BY_ZERO,
+            "Divide by zero");
+        goto ADDRESS(handler);
+    }
+
+    result = fmod(VTABLE_get_integer(interp, $2), value);
+
+    $1 = Parrot_pmc_new(interp, VTABLE_type(interp, $2));
+    VTABLE_set_integer_native(interp, $1, (INTVAL) result);
+}
+
+=back
+
+=cut
+
+###############################################################################
+
+=head2 Pseudorandom number operations
+
+These operations perform various pseudorandom number operations.
+
+=over 4
 
 =item B<rand>(out NUM)
 
@@ -109,6 +271,8 @@
 
 =back
 
+=cut
+
 =head1 COPYRIGHT
 
 Copyright (C) 2001-2009, Parrot Foundation.

Copied: trunk/src/dynoplibs/sys.ops (from r47047, branches/ops_massacre/src/dynoplibs/sys.ops)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/src/dynoplibs/sys.ops	Thu May 27 08:45:23 2010	(r47051, copy of r47047, branches/ops_massacre/src/dynoplibs/sys.ops)
@@ -0,0 +1,280 @@
+/*
+ * $Id$
+** sys.ops
+*/
+
+=head1 NAME
+
+sys.ops - System Interaction Dynops
+
+=head1 DESCRIPTION
+
+Operations that allow the user to interact with the system.
+
+=over 4
+
+=cut
+
+BEGIN_OPS_PREAMBLE
+
+#ifdef PARROT_HAS_HEADER_SYSUTSNAME
+#  include <sys/utsname.h>
+#endif
+
+END_OPS_PREAMBLE
+
+########################################
+
+=item B<gmtime>(out STR, in INT)
+
+Take the integer, which represents GMT epoch-seconds, and turn it into a
+formatted string.
+
+=item B<localtime>(out STR, in INT)
+
+Take the integer, which represents GMT epoch-seconds, and turn it into a
+formatted string. The time is adjusted to localtime before formatting.
+
+=item B<decodetime>(out PMC, in INT)
+
+Take the integer, which represents GMT epoch-seconds, and return an Array
+PMC which represents the decoded time. The array elements are
+(include "tm.pasm" for the constants):
+
+=over 4
+
+=item 0, .TM_SEC
+
+Seconds (0-60)
+
+=item 1, .TM_MIN
+
+Minutes (0-59)
+
+=item 2, .TM_HOUR
+
+Hours (0-23)
+
+=item 3, .TM_MDAY
+
+Day of month (1-31)
+
+=item 4, .TM_MON
+
+Month of year (1-12) (Note, B<actual> month, not month - 1)
+
+=item 5, .TM_YEAR
+
+Year (note, B<actual> year. The year 2004 comes back as 2004, not 104)
+
+=item 6, .TM_WDAY
+
+Day of week. Sunday is day 0
+
+=item 7, .TM_YDAY
+
+Day of year (0-365)
+
+=item 8, .TM_ISDST
+
+Daylight savings/summer time in effect
+
+=back
+
+Timezone name will be GMT and offset will be 0, since the time is taken and
+decoded as GMT.
+
+=item B<decodelocaltime>(out PMC, in INT)
+
+Take the passed in  integer, which represents GMT epoch-seconds, and return
+an array as in decodetime. The time is first shifted to localtime before
+decoding.
+
+=cut
+
+op gmtime(out STR, in INT) {
+    struct tm tm;
+    const time_t t = (time_t) $2;
+    char resultbuffer[26];
+    Parrot_gmtime_r(&t, &tm);
+    Parrot_asctime_r(&tm, resultbuffer);
+    $1 = Parrot_str_new(interp, resultbuffer, 25);
+}
+
+op localtime(out STR, in INT) {
+    struct tm tm;
+    const time_t t = (time_t) $2;
+    char resultbuffer[26];
+    Parrot_localtime_r(&t, &tm);
+    Parrot_asctime_r(&tm, resultbuffer);
+    $1 = Parrot_str_new(interp, resultbuffer, 25);
+}
+
+op decodetime(out PMC, in INT) {
+    struct tm tm;
+    const time_t t = (time_t) $2;
+    Parrot_gmtime_r(&t, &tm);
+    $1 = Parrot_tm_to_array(interp, &tm);
+}
+
+op decodelocaltime(out PMC, in INT) {
+    struct tm tm;
+    const time_t t = (time_t) $2;
+    Parrot_localtime_r(&t, &tm);
+    $1 = Parrot_tm_to_array(interp, &tm);
+}
+
+########################################
+
+=item B<sysinfo>(out STR, in INT)
+
+Return system information. The values it returns depends on what you
+ask. They are:
+
+=over 4
+
+=item C<PARROT_INTSIZE> The size of a platform integer
+
+=item C<PARROT_FLOATSIZE> The size of a platform float
+
+=item C<PARROT_POINTERSIZE> The size of a platform pointer (Largest possible data pointer)
+
+=item C<PARROT_INTMAX> The maximum value of a platform integer
+
+=item C<PARROT_INTMIN> The minimum value of a platform integer
+
+=back
+
+=item B<sysinfo>(out INT, in INT)
+
+Return system information. The values it returns depends on what you
+ask. They are:
+
+=over 4
+
+=item C<PARROT_OS> The OS name
+
+This is something like "OS X", "MacOS", "Windows", or "VMS".
+
+=item C<PARROT_OS_VERSION> The OS version string
+
+This is the current (hopefully) OS Version. For OSes that have plain
+version numbers it will be the version number. For OSes that name
+their versions, it will be the version name.
+
+On HP/UX, this may be something like 11.2, while on Windows it may be
+"95", "98", "2000", "NT", "ME", or "XP".
+
+=item C<PARROT_OS_VERSION_NUMBER> The OS version number string
+
+On OSes that don't name themselves, this will be the same as what's
+returned in the OS version string. On OSes that I<do> name themselves,
+this will be a more specific version number. In all cases it is OS
+dependent.
+
+=item C<CPU_ARCH> The CPU architecture
+
+The name of the CPU family, such as "VAX", "Alpha", "PPC", or "x86".
+
+=item C<CPU_TYPE> The CPU model
+
+The model name of the current system's CPU. This is something like
+"EV68", "Athlon", or "Pentium III".
+
+=back
+
+Note that some of these values may be set at Parrot compile time,
+rather than at runtime, if the system has no reliable way to fetch the
+data dynamically, or if there is no way the value can change. Also,
+the value returned may be somewhat misleading--Parrot running under a
+VirtualPC window will report "Windows" as its OS and "x86" as its CPU,
+even if it's really running on an OS X system.
+
+=cut
+
+inline op sysinfo(out STR, in INT) {
+    switch ($2) {
+      case PARROT_OS:
+        $1 = Parrot_str_new_constant(interp, BUILD_OS_NAME);
+        break;
+
+#ifdef PARROT_HAS_HEADER_SYSUTSNAME
+      case PARROT_OS_VERSION:
+        {
+            struct utsname info;
+            if (uname(&info) == 0) {
+                $1 = string_make(interp, info.version, strlen(info.version), "ascii", 0);
+            }
+        }
+        break;
+
+      case PARROT_OS_VERSION_NUMBER:
+        {
+            struct utsname info;
+            if (uname(&info) == 0) {
+                $1 = string_make(interp, info.release, strlen(info.version), "ascii", 0);
+            }
+        }
+        break;
+#endif
+
+      case CPU_ARCH:
+        $1 = string_make(interp, PARROT_CPU_ARCH, sizeof (PARROT_CPU_ARCH) - 1, "ascii", 0);
+        break;
+
+      case CPU_TYPE:
+      default:
+        $1 = string_from_literal(interp, "");
+        break;
+    }
+}
+
+inline op sysinfo(out INT, in INT) {
+    switch ($2) {
+      case PARROT_INTSIZE:
+        $1 = sizeof (INTVAL);
+        break;
+
+      case PARROT_FLOATSIZE:
+        $1 = sizeof (FLOATVAL);
+        break;
+
+      case PARROT_POINTERSIZE:
+        $1 = sizeof (void *);
+        break;
+
+      case PARROT_INTMIN:
+        $1 = PARROT_INTVAL_MIN;
+        break;
+
+      case PARROT_INTMAX:
+        $1 = PARROT_INTVAL_MAX;
+        break;
+
+      default:
+        $1 = -1;
+        break;
+    }
+}
+
+###############################################################################
+
+=back
+
+=head1 COPYRIGHT
+
+Copyright (C) 2010, Parrot Foundation.
+
+=head1 LICENSE
+
+This program is free software. It is subject to the same license
+as the Parrot interp itself.
+
+=cut
+
+/*
+ * Local variables:
+ *   c-file-style: "parrot"
+ * End:
+ * vim: expandtab shiftwidth=4:
+ */

Copied: trunk/src/dynoplibs/trans.ops (from r47047, branches/ops_massacre/src/dynoplibs/trans.ops)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/src/dynoplibs/trans.ops	Thu May 27 08:45:23 2010	(r47051, copy of r47047, branches/ops_massacre/src/dynoplibs/trans.ops)
@@ -0,0 +1,320 @@
+/*
+ * $Id$
+ * trans.ops
+ */
+
+=head1 NAME
+
+trans.ops - Transcendental Opcodes
+
+=head1 DESCRIPTION
+
+Addition library of operations to perform various transcendental operations such
+as logarithmics and trigonometrics.
+
+To use this library of ops, add this directive to your PIR:
+
+  .loadlib 'trans_ops'
+
+=over 4
+
+=cut
+
+########################################
+
+=item B<acos>(out NUM, in NUM)
+
+Set $1 to the arc cosine (in radians) of $2.
+
+=cut
+
+inline op acos(out NUM, in NUM) :base_math {
+    $1 = acos((FLOATVAL)$2);
+}
+
+########################################
+
+=item B<asec>(out NUM, in NUM)
+
+Set $1 to the arc secant (in radians) of $2.
+
+=cut
+
+inline op asec(out NUM, in NUM) :base_math {
+    $1 = acos(((FLOATVAL)1) / ((FLOATVAL)$2));
+}
+
+########################################
+
+
+=item B<asin>(out NUM, in NUM)
+
+Set $1 to the arc sine (in radians) of $2.
+
+=cut
+
+inline op asin(out NUM, in NUM) :base_math {
+    $1 = asin((FLOATVAL)$2);
+}
+
+########################################
+
+=item B<atan>(out NUM, in NUM)
+
+=item B<atan>(out NUM, in NUM, in NUM)
+
+The two-argument versions set $1 to the arc tangent (in radians) of $2.
+
+The three-argument versions set $1 to the arc tangent (in radians) of
+$2 / $3, taking account of the signs of the arguments in determining the
+quadrant of the result.
+
+=cut
+
+inline op atan(out NUM, in NUM) :base_math {
+    $1 = atan((FLOATVAL)$2);
+}
+
+inline op atan(out NUM, in NUM, in NUM) :base_math {
+    $1 = atan2((FLOATVAL)$2, (FLOATVAL)$3);
+}
+
+########################################
+
+=item B<cos>(out NUM, in NUM)
+
+Set $1 to the cosine of $2 (given in radians).
+
+=cut
+
+inline op cos(out NUM, in NUM) :base_math {
+    $1 = cos((FLOATVAL)$2);
+}
+
+########################################
+
+=item B<cosh>(out NUM, in NUM)
+
+Set $1 to the hyperbolic cosine of $2 (given in radians).
+
+=cut
+
+inline op cosh(out NUM, in NUM) :base_math {
+    $1 = cosh((FLOATVAL)$2);
+}
+
+########################################
+
+=item B<exp>(out NUM, in NUM)
+
+Set $1 to I<e> raised to the power $2. I<e> is the base of the natural
+logarithm.
+
+=cut
+
+inline op exp(out NUM, in NUM) :base_math {
+    $1 = exp((FLOATVAL)$2);
+}
+
+########################################
+
+=item B<ln>(out NUM, in NUM)
+
+Set $1 to the natural (base I<e>) logarithm of $2.
+
+=cut
+
+inline op ln(out NUM, in NUM) :base_math {
+    $1 = log((FLOATVAL)$2);
+}
+
+########################################
+
+=item B<log10>(out NUM, in NUM)
+
+Set $1 to the base 10 logarithm of $2.
+
+=cut
+
+inline op log10(out NUM, in NUM) :base_math {
+    $1 = log10((FLOATVAL)$2);
+}
+
+########################################
+
+=item B<log2>(out NUM, in NUM)
+
+Set $1 to the base 2 logarithm of $2.
+
+=cut
+
+op log2(out NUM, in NUM) :base_math {
+    FLOATVAL temp = log((FLOATVAL)2.0);
+    $1 = log((FLOATVAL)$2) / temp;
+}
+
+########################################
+
+=item B<sec>(out NUM, in NUM)
+
+Set $1 to the secant of $2 (given in radians).
+
+=cut
+
+inline op sec(out NUM, in NUM) :base_math {
+    $1 = ((FLOATVAL)1) / cos((FLOATVAL)$2);
+}
+
+########################################
+
+=item B<sech>(out NUM, in NUM)
+
+Set $1 to the hyperbolic secant of $2 (given in radians).
+
+=cut
+
+inline op sech(out NUM, in NUM) :base_math {
+    $1 = ((FLOATVAL)1) / cosh((FLOATVAL)$2);
+}
+
+########################################
+
+=item B<sin>(out NUM, in NUM)
+
+Set $1 to the sine of $2 (given in radians).
+
+=cut
+
+inline op sin(out NUM, in NUM) :base_math {
+    $1 = sin((FLOATVAL)$2);
+}
+
+########################################
+
+=item B<sinh>(out NUM, in NUM)
+
+Set $1 to the hyperbolic sine of $2 (given in radians).
+
+=cut
+
+inline op sinh(out NUM, in NUM) :base_math {
+    $1 = sinh((FLOATVAL)$2);
+}
+
+########################################
+
+=item B<tan>(out NUM, in NUM)
+
+Set $1 to the tangent of $2 (given in radians).
+
+=cut
+
+inline op tan(out NUM, in NUM) :base_math {
+    $1 = tan((FLOATVAL)$2);
+}
+
+########################################
+
+=item B<tanh>(out NUM, in NUM)
+
+Set $1 to the hyperbolic tangent of $2 (given in radians).
+
+=cut
+
+inline op tanh(out NUM, in NUM) :base_math {
+    $1 = tanh((FLOATVAL)$2);
+}
+
+=item B<pow>(out NUM, in NUM, in NUM)
+
+=item B<pow>(out NUM, in NUM, in INT)
+
+=item B<pow>(invar PMC, invar PMC, invar PMC)
+
+=item B<pow>(invar PMC, invar PMC, in INT)
+
+=item B<pow>(invar PMC, invar PMC, in NUM)
+
+Set $1 to $2 raised to the power $3.
+
+=cut
+
+inline op pow(out NUM, in NUM, in NUM) :base_core {
+    $1 = pow((FLOATVAL)$2, (FLOATVAL)$3);
+}
+
+inline op pow(invar PMC, invar PMC, invar PMC) :base_core {
+    const FLOATVAL a = VTABLE_get_number(interp, $2);
+    const FLOATVAL b = VTABLE_get_number(interp, $3);
+    const FLOATVAL c = pow(a, b);
+    if (PMC_IS_NULL($1))
+        $1 = Parrot_pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_Float));
+    else
+        $1 = Parrot_pmc_new(interp, $1->vtable->base_type);
+    VTABLE_set_number_native(interp, $1, c);
+}
+
+inline op pow(invar PMC, invar PMC, in INT) :base_core {
+    const FLOATVAL a = VTABLE_get_number(interp, $2);
+    const FLOATVAL b = (FLOATVAL)$3;
+    const FLOATVAL c = pow(a, b);
+    if (PMC_IS_NULL($1))
+        $1 = Parrot_pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_Float));
+    else
+        $1 = Parrot_pmc_new(interp, $1->vtable->base_type);
+    VTABLE_set_number_native(interp, $1, c);
+}
+
+inline op pow(invar PMC, invar PMC, in NUM) :base_core {
+    const FLOATVAL a = VTABLE_get_number(interp, $2);
+    const FLOATVAL c = pow(a, $3);
+    if (PMC_IS_NULL($1))
+        $1 = Parrot_pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_Float));
+    else
+        $1 = Parrot_pmc_new(interp, $1->vtable->base_type);
+    VTABLE_set_number_native(interp, $1, c);
+}
+
+inline op pow(out NUM, in NUM, in INT) :base_core {
+    FLOATVAL n2 = $2;
+    FLOATVAL res = 1.0;
+    INTVAL   e  = $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;
+    }
+    $1 = res;
+}
+
+=back
+
+=head1 COPYRIGHT
+
+Copyright (C) 2010-2010, Parrot Foundation.
+
+=head1 LICENSE
+
+This program is free software. It is subject to the same license
+as the Parrot interpreter itself.
+
+=cut
+
+/*
+ * Local variables:
+ *   c-file-style: "parrot"
+ * End:
+ * vim: expandtab shiftwidth=4:
+ */

Modified: trunk/src/interp/inter_misc.c
==============================================================================
--- trunk/src/interp/inter_misc.c	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/src/interp/inter_misc.c	Thu May 27 08:45:23 2010	(r47051)
@@ -27,10 +27,6 @@
 
 #include "parrot/has_header.h"
 
-#ifdef PARROT_HAS_HEADER_SYSUTSNAME
-#  include <sys/utsname.h>
-#endif
-
 /* HEADERIZER HFILE: include/parrot/interpreter.h */
 
 /*
@@ -365,106 +361,6 @@
 }
 
 /*
-
-=item C<INTVAL sysinfo_i(PARROT_INTERP, INTVAL info_wanted)>
-
-Returns the system info.
-
-C<info_wanted> is one of:
-
-    PARROT_INTSIZE
-    PARROT_FLOATSIZE
-    PARROT_POINTERSIZE
-    PARROT_INTMAX
-    PARROT_INTMIN
-
-In unknown info is requested then -1 is returned.
-
-=cut
-
-*/
-
-PARROT_WARN_UNUSED_RESULT
-PARROT_CONST_FUNCTION
-INTVAL
-sysinfo_i(SHIM_INTERP, INTVAL info_wanted)
-{
-    ASSERT_ARGS(sysinfo_i)
-    switch (info_wanted) {
-      case PARROT_INTSIZE:
-        return sizeof (INTVAL);
-      case PARROT_FLOATSIZE:
-        return sizeof (FLOATVAL);
-      case PARROT_POINTERSIZE:
-        return sizeof (void *);
-      case PARROT_INTMIN:
-        return PARROT_INTVAL_MIN;
-      case PARROT_INTMAX:
-        return PARROT_INTVAL_MAX;
-      default:
-        return -1;
-    }
-}
-
-/*
-
-=item C<STRING * sysinfo_s(PARROT_INTERP, INTVAL info_wanted)>
-
-Returns the system info string.
-
-C<info_wanted> is one of:
-
-    PARROT_OS
-    PARROT_OS_VERSION
-    PARROT_OS_VERSION_NUMBER
-    CPU_ARCH
-    CPU_TYPE
-
-If unknown info is requested then an empty string is returned.
-
-=cut
-
-*/
-
-PARROT_CANNOT_RETURN_NULL
-PARROT_WARN_UNUSED_RESULT
-STRING *
-sysinfo_s(PARROT_INTERP, INTVAL info_wanted)
-{
-    ASSERT_ARGS(sysinfo_s)
-    switch (info_wanted) {
-      case PARROT_OS:
-        return Parrot_str_new_constant(interp, BUILD_OS_NAME);
-      case PARROT_OS_VERSION:
-#ifdef PARROT_HAS_HEADER_SYSUTSNAME
-        {
-            struct utsname info;
-            if (uname(&info) == 0) {
-                return string_make(interp, info.version, strlen(info.version), "ascii", 0);
-            }
-        }
-#endif
-        break;
-      case PARROT_OS_VERSION_NUMBER:
-#ifdef PARROT_HAS_HEADER_SYSUTSNAME
-        {
-            struct utsname info;
-            if (uname(&info) == 0) {
-                return string_make(interp, info.release, strlen(info.version), "ascii", 0);
-            }
-        }
-#endif
-        break;
-      case CPU_ARCH:
-        return string_make(interp, PARROT_CPU_ARCH, sizeof (PARROT_CPU_ARCH) - 1, "ascii", 0);
-      case CPU_TYPE:
-      default:
-        break;
-    }
-    return CONST_STRING(interp, "");
-}
-
-/*
  * Local variables:
  *   c-file-style: "parrot"
  * End:

Modified: trunk/src/io/api.c
==============================================================================
--- trunk/src/io/api.c	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/src/io/api.c	Thu May 27 08:45:23 2010	(r47051)
@@ -888,6 +888,7 @@
 
 */
 
+PARROT_EXPORT
 PARROT_WARN_UNUSED_RESULT
 PIOOFF_T
 Parrot_io_make_offset32(INTVAL hi, INTVAL lo)

Modified: trunk/src/ops/bit.ops
==============================================================================
--- trunk/src/ops/bit.ops	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/src/ops/bit.ops	Thu May 27 08:45:23 2010	(r47051)
@@ -40,19 +40,11 @@
 
 =item B<band>(inout INT, in INT)
 
-=item B<band>(invar PMC, in INT)
-
-=item B<band>(invar PMC, invar PMC)
-
 Set the bits of $1 according to the B<and> of the corresponding bits
 from $1 and $2.
 
 =item B<band>(out INT, in INT, in INT)
 
-=item B<band>(invar PMC, invar PMC, in INT)
-
-=item B<band>(invar PMC, invar PMC, invar PMC)
-
 Set the bits of $1 according to the B<and> of the corresponding bits
 from $2 and $3.
 
@@ -62,156 +54,19 @@
     $1 &= $2;
 }
 
-inline op band(invar PMC, in INT) :base_core {
-    const INTVAL a = VTABLE_get_integer(interp, $1);
-    const INTVAL b = a & $2;
-    VTABLE_set_integer_native(interp, $1, b);
-}
-
-inline op band(invar PMC, invar PMC) :base_core {
-    const INTVAL a = VTABLE_get_integer(interp, $1);
-    const INTVAL b = VTABLE_get_integer(interp, $2);
-    VTABLE_set_integer_native(interp, $1, a & b);
-}
-
 inline op band(out INT, in INT, in INT) :base_core {
     $1 = $2 & $3;
 }
 
-inline op band(invar PMC, invar PMC, in INT) :base_core {
-    const INTVAL a = VTABLE_get_integer(interp, $2);
-    VTABLE_set_integer_native(interp, $1, a & $3);
-}
-
-inline op band(invar PMC, invar PMC, invar PMC) :base_core {
-    const INTVAL a = VTABLE_get_integer(interp, $2);
-    const INTVAL b = VTABLE_get_integer(interp, $3);
-    VTABLE_set_integer_native(interp, $1, a & b);
-}
-
-=item B<bands>(invar PMC, in STR)
-
-=item B<bands>(invar PMC, invar PMC)
-
-Set the bits of $1 according to the B<and> of the corresponding bits
-from $1 and $2.
-
-=item B<bands>(out STR, in STR, in STR)
-
-=item B<bands>(invar PMC, invar PMC, in STR)
-
-=item B<bands>(invar PMC, invar PMC, invar PMC)
-
-Set the bits of $1 according to the B<and> of the corresponding bits
-from $2 and $3.
-
-=cut
-
-inline op bands(invar PMC, in STR) :base_core {
-    STRING * const a = VTABLE_get_string(interp, $1);
-    STRING * const b = Parrot_str_bitwise_and(interp, a, $2);
-    VTABLE_set_string_native(interp, $1, b);
-}
-
-inline op bands(invar PMC, invar PMC) :base_core {
-    STRING * a = VTABLE_get_string(interp, $1);
-    STRING * const b = VTABLE_get_string(interp, $2);
-    a = Parrot_str_bitwise_and(interp, a, b);
-    VTABLE_set_string_native(interp, $1, a);
-}
-
-inline op bands(out STR, in STR, in STR) :base_core {
-    $1 = Parrot_str_bitwise_and(interp, $2, $3);
-}
-
-inline op bands(invar PMC, invar PMC, in STR) :base_core {
-    STRING * const a = VTABLE_get_string(interp, $2);
-    STRING * const b = Parrot_str_bitwise_and(interp, a, $3);
-    VTABLE_set_string_native(interp, $1, b);
-}
-
-inline op bands(invar PMC, invar PMC, invar PMC) :base_core {
-    STRING * const a = VTABLE_get_string(interp, $2);
-    STRING * const b = VTABLE_get_string(interp, $3);
-    STRING * const c = Parrot_str_bitwise_and(interp, a, b);
-    VTABLE_set_string_native(interp, $1, c);
-}
-
-########################################
-
-=item B<bnot>(inout INT)
-
-=item B<bnot>(invar PMC)
-
-Sets $1 to C<bitwise not> $1 inplace.
-
-=item B<bnot>(out INT, in INT)
-
-=item B<bnot>(out PMC, invar PMC)
-
-=cut
-
-inline op bnot(inout INT) :base_core {
-    $1 = ~ $1;
-}
-
-inline op bnot(out INT, in INT) :base_core {
-    $1 = ~ $2;
-}
-
-inline op bnot(invar PMC) :base_core {
-    const INTVAL a = VTABLE_get_integer(interp, $1);
-    VTABLE_set_integer_native(interp, $1, ~a);
-}
-
-inline op bnot(out PMC, invar PMC) :base_core {
-    const INTVAL a = VTABLE_get_integer(interp, $2);
-    PMC * const b = Parrot_pmc_new(interp, VTABLE_type(interp, $2));
-    VTABLE_set_integer_native(interp, b, ~a);
-    $1 = b;
-}
-
-=item B<bnots>(invar PMC)
-
-=item B<bnots>(out STR, in STR)
-
-=item B<bnots>(out PMC, invar PMC)
-
-=cut
-
-inline op bnots(out STR, in STR) :base_core {
-    $1 = Parrot_str_bitwise_not(interp, $2);
-}
-
-inline op bnots(invar PMC) :base_core {
-    STRING * const a = VTABLE_get_string(interp, $1);
-    STRING * const b = Parrot_str_bitwise_not(interp, a);
-    VTABLE_set_string_native(interp, $1, b);
-}
-
-inline op bnots(out PMC, invar PMC) :base_core {
-    STRING * const a = VTABLE_get_string(interp, $2);
-    STRING * const b = Parrot_str_bitwise_not(interp, a);
-    VTABLE_set_string_native(interp, $1, b);
-}
-
 ########################################
 
 =item B<bor>(inout INT, in INT)
 
-=item B<bor>(invar PMC, in INT)
-
-=item B<bor>(invar PMC, invar PMC)
-
 Set the bits of $1 according to the B<or> of the corresponding bits
 from $1 and $2.
 
 =item B<bor>(out INT, in INT, in INT)
 
-=item B<bor>(invar PMC, invar PMC, in INT)
-
-=item B<bor>(invar PMC, invar PMC, invar PMC)
-
 Set the bits of $1 according to the B<or> of the corresponding bits
 from $2 and $3.
 
@@ -221,96 +76,18 @@
     $1 |= $2;
 }
 
-inline op bor(invar PMC, in INT) :base_core {
-    const INTVAL a = VTABLE_get_integer(interp, $1);
-    VTABLE_set_integer_native(interp, $1, a | $2);
-}
-
-inline op bor(invar PMC, invar PMC) :base_core {
-    const INTVAL a = VTABLE_get_integer(interp, $1);
-    const INTVAL b = VTABLE_get_integer(interp, $2);
-    VTABLE_set_integer_native(interp, $1, a | b);
-}
-
 inline op bor(out INT, in INT, in INT) :base_core {
     $1 = $2 | $3;
 }
 
-inline op bor(invar PMC, invar PMC, in INT) :base_core {
-    const INTVAL a = VTABLE_get_integer(interp, $2);
-    VTABLE_set_integer_native(interp, $1, a | $3);
-}
-
-inline op bor(invar PMC, invar PMC, invar PMC) :base_core {
-    const INTVAL a = VTABLE_get_integer(interp, $2);
-    const INTVAL b = VTABLE_get_integer(interp, $3);
-    VTABLE_set_integer_native(interp, $1, a | b);
-}
-
-=item B<bors>(invar PMC, in STR)
-
-=item B<bors>(invar PMC, invar PMC)
-
-Set the bits of $1 according to the B<or> of the corresponding bits
-from $1 and $2.
-
-=item B<bors>(out STR, in STR, in STR)
-
-=item B<bors>(invar PMC, invar PMC, in STR)
-
-=item B<bors>(invar PMC, invar PMC, invar PMC)
-
-Set the bits of $1 according to the B<or> of the corresponding bits
-from $2 and $3.
-
-=cut
-
-inline op bors(invar PMC, in STR) :base_core {
-    STRING * const a = VTABLE_get_string(interp, $1);
-    STRING * const b = Parrot_str_bitwise_or(interp, a, $2);
-    VTABLE_set_string_native(interp, $1, b);
-}
-
-inline op bors(invar PMC, invar PMC) :base_core {
-    STRING * const a = VTABLE_get_string(interp, $1);
-    STRING * const b = VTABLE_get_string(interp, $2);
-    STRING * const c = Parrot_str_bitwise_or(interp, a, b);
-    VTABLE_set_string_native(interp, $1, c);
-}
-
-inline op bors(out STR, in STR, in STR) :base_core {
-    $1 = Parrot_str_bitwise_or(interp, $2, $3);
-}
-
-inline op bors(invar PMC, invar PMC, in STR) :base_core {
-    STRING * const b = VTABLE_get_string(interp, $2);
-    STRING * const c = Parrot_str_bitwise_or(interp, b, $3);
-    VTABLE_set_string_native(interp, $1, c);
-}
-
-inline op bors(invar PMC, invar PMC, invar PMC) :base_core {
-    STRING * const a = VTABLE_get_string(interp, $2);
-    STRING * const b = VTABLE_get_string(interp, $3);
-    STRING * const c = Parrot_str_bitwise_or(interp, a, b);
-    VTABLE_set_string_native(interp, $1, c);
-}
-
 ########################################
 
 =item B<shl>(inout INT, in INT)
 
-=item B<shl>(invar PMC, in INT)
-
-=item B<shl>(invar PMC, invar PMC)
-
 Shift left $1 by $2 bits.
 
 =item B<shl>(out INT, in INT, in INT)
 
-=item B<shl>(invar PMC, invar PMC, in INT)
-
-=item B<shl>(invar PMC, invar PMC, invar PMC)
-
 Set $1 to the value of $2 shifted left by $3 bits.
 
 =cut
@@ -319,52 +96,18 @@
     $1 = bit_shift_left($1, $2);
 }
 
-inline op shl(invar PMC, in INT) :base_core {
-    const INTVAL a = VTABLE_get_integer(interp, $1);
-    const INTVAL b = bit_shift_left(a, $2);
-    VTABLE_set_integer_native(interp, $1, b);
-}
-
-inline op shl(invar PMC, invar PMC) :base_core {
-    const INTVAL a = VTABLE_get_integer(interp, $1);
-    const INTVAL b = VTABLE_get_integer(interp, $2);
-    const INTVAL c = bit_shift_left(a, b);
-    VTABLE_set_integer_native(interp, $1, c);
-}
-
 inline op shl(out INT, in INT, in INT) :base_core {
     $1 = bit_shift_left($2, $3);
 }
 
-inline op shl(invar PMC, invar PMC, in INT) :base_core {
-    const INTVAL a = VTABLE_get_integer(interp, $2);
-    const INTVAL b = bit_shift_left(a, $3);
-    VTABLE_set_integer_native(interp, $1, b);
-}
-
-inline op shl(invar PMC, invar PMC, invar PMC) :base_core {
-    const INTVAL a = VTABLE_get_integer(interp, $2);
-    const INTVAL b = VTABLE_get_integer(interp, $3);
-    const INTVAL c = bit_shift_left(a, b);
-    VTABLE_set_integer_native(interp, $1, c);
-}
-
 ########################################
 
 =item B<shr>(inout INT, in INT)
 
-=item B<shr>(invar PMC, in INT)
-
-=item B<shr>(invar PMC, invar PMC)
-
 Shift right $1 by $2 bits.
 
 =item B<shr>(out INT, in INT, in INT)
 
-=item B<shr>(invar PMC, invar PMC, in INT)
-
-=item B<shr>(invar PMC, invar PMC, invar PMC)
-
 Set $1 to the value of $2 shifted right by $3 bits.
 
 =cut
@@ -374,53 +117,19 @@
     $1 = bit_shift_left($1, signed_shift);
 }
 
-inline op shr(invar PMC, in INT) :base_core {
-    const INTVAL a = VTABLE_get_integer(interp, $1);
-    const INTVAL b = bit_shift_left(a, -$2);
-    VTABLE_set_integer_native(interp, $1, b);
-}
-
-inline op shr(invar PMC, invar PMC) :base_core {
-    const INTVAL a = VTABLE_get_integer(interp, $1);
-    const INTVAL b = VTABLE_get_integer(interp, $2);
-    const INTVAL c = bit_shift_left(a, -b);
-    VTABLE_set_integer_native(interp, $1, c);
-}
-
 inline op shr(out INT, in INT, in INT) :base_core {
     const INTVAL signed_shift = -$3;
     $1 = bit_shift_left($2, signed_shift);
 }
 
-inline op shr(invar PMC, invar PMC, in INT) :base_core {
-    const INTVAL a = VTABLE_get_integer(interp, $2);
-    const INTVAL c = bit_shift_left(a, -$3);
-    VTABLE_set_integer_native(interp, $1, c);
-}
-
-inline op shr(invar PMC, invar PMC, invar PMC) :base_core {
-    const INTVAL a = VTABLE_get_integer(interp, $2);
-    const INTVAL b = VTABLE_get_integer(interp, $3);
-    const INTVAL c = bit_shift_left(a, -b);
-    VTABLE_set_integer_native(interp, $1, c);
-}
-
 ########################################
 
 =item B<lsr>(out INT, in INT)
 
-=item B<lsr>(invar PMC, in INT)
-
-=item B<lsr>(invar PMC, invar PMC)
-
 Shift $1 logically shifted right by $2 bits.
 
 =item B<lsr>(out INT, in INT, in INT)
 
-=item B<lsr>(invar PMC, invar PMC, in INT)
-
-=item B<lsr>(invar PMC, invar PMC, invar PMC)
-
 Set $1 to the value of $2 logically shifted right by $3 bits.
 
 =cut
@@ -431,77 +140,19 @@
     $1 = (INTVAL)b;
 }
 
-inline op lsr(invar PMC, in INT) :base_core {
-    const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, $1);
-    const UINTVAL b = a >> $2;
-    VTABLE_set_integer_native(interp, $1, (INTVAL)b);
-}
-
-inline op lsr(invar PMC, invar PMC) :base_core {
-    const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, $1);
-    const UINTVAL b = (UINTVAL)VTABLE_get_integer(interp, $2);
-    const UINTVAL c = a >> b;
-    VTABLE_set_integer_native(interp, $1, (INTVAL)c);
-}
-
 inline op lsr(out INT, in INT, in INT) :base_core {
     $1 = (INTVAL)((UINTVAL)$2 >> $3);
 }
 
-inline op lsr(invar PMC, invar PMC, in INT) :base_core {
-    const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, $2);
-    const UINTVAL b = (UINTVAL)$3;
-    const UINTVAL c = a >> b;
-    VTABLE_set_integer_native(interp, $1, (INTVAL)c);
-}
-
-inline op lsr(invar PMC, invar PMC, invar PMC) :base_core {
-    const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, $2);
-    const UINTVAL b = (UINTVAL)VTABLE_get_integer(interp, $3);
-    const UINTVAL c = a >> b;
-    VTABLE_set_integer_native(interp, $3, (INTVAL)c);
-}
-
-=item B<rot>(out INT, in INT, in INT, inconst INT)
-
-Rotate $2 left or right by $3 and place result in $1.
-$4 is the amount of bits to rotate, 32 bit on a 32-bit CPU and 32 or 64
-on a 64-bit CPU. If the rotate count is negative a rotate right by ($3+$4)
-is performed.
-
-=cut
-
-inline op rot(out INT, in INT, in INT, inconst INT) {
-    const INTVAL r = $2;
-    INTVAL s = $3;
-    const INTVAL w = $4;
-    INTVAL d, t;
-    if (s < 0)
-        s += w;
-    d = r << s;
-    t = w - s;
-    t = (INTVAL)((UINTVAL)r >> t);
-    d |= t;
-    $1 = d;
-}
-
 ########################################
 
 =item B<bxor>(inout INT, in INT)
 
-=item B<bxor>(invar PMC, in INT)
-
-=item B<bxor>(invar PMC, invar PMC)
-
 Set the bits of $1 according to the B<xor> of the corresponding bits
 from $1 and $2.
 
 =item B<bxor>(out INT, in INT, in INT)
 
-=item B<bxor>(invar PMC, invar PMC, in INT)
-
-=item B<bxor>(invar PMC, invar PMC, invar PMC)
-
 Set the bits of $1 according to the B<xor> of the corresponding bits
 from $2 and $3.
 
@@ -511,84 +162,10 @@
     $1 ^= $2;
 }
 
-inline op bxor(invar PMC, in INT) :base_core {
-    const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, $1);
-    const UINTVAL b = a ^ $2;
-    VTABLE_set_integer_native(interp, $1, (INTVAL)b);
-}
-
-inline op bxor(invar PMC, invar PMC) :base_core {
-    const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, $1);
-    const UINTVAL b = (UINTVAL)VTABLE_get_integer(interp, $2);
-    const UINTVAL c = a ^ b;
-    VTABLE_set_integer_native(interp, $1, (INTVAL)c);
-}
-
 inline op bxor(out INT, in INT, in INT) :base_core {
     $1 = $2 ^ $3;
 }
 
-inline op bxor(invar PMC, invar PMC, in INT) :base_core {
-    const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, $2);
-    const UINTVAL b = a ^ $3;
-    VTABLE_set_integer_native(interp, $1, (INTVAL)b);
-}
-
-inline op bxor(invar PMC, invar PMC, invar PMC) :base_core {
-    const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, $2);
-    const UINTVAL b = (UINTVAL)VTABLE_get_integer(interp, $3);
-    const UINTVAL c = a ^ b;
-    VTABLE_set_integer_native(interp, $1, (INTVAL)c);
-}
-
-=item B<bxors>(invar PMC, in STR)
-
-=item B<bxors>(invar PMC, invar PMC)
-
-Set the bits of $1 according to the B<xor> of the corresponding bits
-from $1 and $2.
-
-=item B<bxors>(out STR, in STR, in STR)
-
-=item B<bxors>(invar PMC, invar PMC, in STR)
-
-=item B<bxors>(invar PMC, invar PMC, invar PMC)
-
-Set the bits of $1 according to the B<xor> of the corresponding bits
-from $2 and $3.
-
-=cut
-
-inline op bxors(invar PMC, in STR) :base_core {
-    STRING * const a = VTABLE_get_string(interp, $1);
-    STRING * const b = Parrot_str_bitwise_xor(interp, a, $2);
-    VTABLE_set_string_native(interp, $1, b);
-}
-
-inline op bxors(invar PMC, invar PMC) :base_core {
-    STRING * const a = VTABLE_get_string(interp, $1);
-    STRING * const b = VTABLE_get_string(interp, $2);
-    STRING * const c = Parrot_str_bitwise_xor(interp, a, b);
-    VTABLE_set_string_native(interp, $1, c);
-}
-
-inline op bxors(out STR, in STR, in STR) :base_core {
-    $1 = Parrot_str_bitwise_xor(interp, $2, $3);
-}
-
-inline op bxors(invar PMC, invar PMC, in STR) :base_core {
-    STRING * const a = VTABLE_get_string(interp, $2);
-    STRING * const b = Parrot_str_bitwise_xor(interp, a, $3);
-    VTABLE_set_string_native(interp, $1, b);
-}
-
-inline op bxors(invar PMC, invar PMC, invar PMC) :base_core {
-    STRING * const a = VTABLE_get_string(interp, $2);
-    STRING * const b = VTABLE_get_string(interp, $3);
-    STRING * const c = Parrot_str_bitwise_xor(interp, a, b);
-    VTABLE_set_string_native(interp, $1, c);
-}
-
 =back
 
 =cut

Modified: trunk/src/ops/core_ops.c
==============================================================================
--- trunk/src/ops/core_ops.c	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/src/ops/core_ops.c	Thu May 27 08:45:23 2010	(r47051)
@@ -61,13 +61,13 @@
 
 
 
-INTVAL core_numops = 1269;
+INTVAL core_numops = 1081;
 
 /*
 ** Op Function Table:
 */
 
-static op_func_t core_op_func_table[1269] = {  Parrot_end,                                        /*      0 */
+static op_func_t core_op_func_table[1081] = {  Parrot_end,                                        /*      0 */
   Parrot_noop,                                       /*      1 */
   Parrot_check_events,                               /*      2 */
   Parrot_check_events__,                             /*      3 */
@@ -186,1155 +186,967 @@
   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_finalize_p,                                 /*   1266 */
-  Parrot_finalize_pc,                                /*   1267 */
+  Parrot_band_i_i_i,                                 /*    119 */
+  Parrot_band_i_ic_i,                                /*    120 */
+  Parrot_band_i_i_ic,                                /*    121 */
+  Parrot_bor_i_i,                                    /*    122 */
+  Parrot_bor_i_ic,                                   /*    123 */
+  Parrot_bor_i_i_i,                                  /*    124 */
+  Parrot_bor_i_ic_i,                                 /*    125 */
+  Parrot_bor_i_i_ic,                                 /*    126 */
+  Parrot_shl_i_i,                                    /*    127 */
+  Parrot_shl_i_ic,                                   /*    128 */
+  Parrot_shl_i_i_i,                                  /*    129 */
+  Parrot_shl_i_ic_i,                                 /*    130 */
+  Parrot_shl_i_i_ic,                                 /*    131 */
+  Parrot_shr_i_i,                                    /*    132 */
+  Parrot_shr_i_ic,                                   /*    133 */
+  Parrot_shr_i_i_i,                                  /*    134 */
+  Parrot_shr_i_ic_i,                                 /*    135 */
+  Parrot_shr_i_i_ic,                                 /*    136 */
+  Parrot_lsr_i_i,                                    /*    137 */
+  Parrot_lsr_i_ic,                                   /*    138 */
+  Parrot_lsr_i_i_i,                                  /*    139 */
+  Parrot_lsr_i_ic_i,                                 /*    140 */
+  Parrot_lsr_i_i_ic,                                 /*    141 */
+  Parrot_bxor_i_i,                                   /*    142 */
+  Parrot_bxor_i_ic,                                  /*    143 */
+  Parrot_bxor_i_i_i,                                 /*    144 */
+  Parrot_bxor_i_ic_i,                                /*    145 */
+  Parrot_bxor_i_i_ic,                                /*    146 */
+  Parrot_eq_i_i_ic,                                  /*    147 */
+  Parrot_eq_ic_i_ic,                                 /*    148 */
+  Parrot_eq_i_ic_ic,                                 /*    149 */
+  Parrot_eq_n_n_ic,                                  /*    150 */
+  Parrot_eq_nc_n_ic,                                 /*    151 */
+  Parrot_eq_n_nc_ic,                                 /*    152 */
+  Parrot_eq_s_s_ic,                                  /*    153 */
+  Parrot_eq_sc_s_ic,                                 /*    154 */
+  Parrot_eq_s_sc_ic,                                 /*    155 */
+  Parrot_eq_p_p_ic,                                  /*    156 */
+  Parrot_eq_p_i_ic,                                  /*    157 */
+  Parrot_eq_p_ic_ic,                                 /*    158 */
+  Parrot_eq_p_n_ic,                                  /*    159 */
+  Parrot_eq_p_nc_ic,                                 /*    160 */
+  Parrot_eq_p_s_ic,                                  /*    161 */
+  Parrot_eq_p_sc_ic,                                 /*    162 */
+  Parrot_eq_str_p_p_ic,                              /*    163 */
+  Parrot_eq_num_p_p_ic,                              /*    164 */
+  Parrot_eq_addr_s_s_ic,                             /*    165 */
+  Parrot_eq_addr_sc_s_ic,                            /*    166 */
+  Parrot_eq_addr_s_sc_ic,                            /*    167 */
+  Parrot_eq_addr_sc_sc_ic,                           /*    168 */
+  Parrot_eq_addr_p_p_ic,                             /*    169 */
+  Parrot_ne_i_i_ic,                                  /*    170 */
+  Parrot_ne_ic_i_ic,                                 /*    171 */
+  Parrot_ne_i_ic_ic,                                 /*    172 */
+  Parrot_ne_n_n_ic,                                  /*    173 */
+  Parrot_ne_nc_n_ic,                                 /*    174 */
+  Parrot_ne_n_nc_ic,                                 /*    175 */
+  Parrot_ne_s_s_ic,                                  /*    176 */
+  Parrot_ne_sc_s_ic,                                 /*    177 */
+  Parrot_ne_s_sc_ic,                                 /*    178 */
+  Parrot_ne_p_p_ic,                                  /*    179 */
+  Parrot_ne_p_i_ic,                                  /*    180 */
+  Parrot_ne_p_ic_ic,                                 /*    181 */
+  Parrot_ne_p_n_ic,                                  /*    182 */
+  Parrot_ne_p_nc_ic,                                 /*    183 */
+  Parrot_ne_p_s_ic,                                  /*    184 */
+  Parrot_ne_p_sc_ic,                                 /*    185 */
+  Parrot_ne_str_p_p_ic,                              /*    186 */
+  Parrot_ne_num_p_p_ic,                              /*    187 */
+  Parrot_ne_addr_s_s_ic,                             /*    188 */
+  Parrot_ne_addr_sc_s_ic,                            /*    189 */
+  Parrot_ne_addr_s_sc_ic,                            /*    190 */
+  Parrot_ne_addr_sc_sc_ic,                           /*    191 */
+  Parrot_ne_addr_p_p_ic,                             /*    192 */
+  Parrot_lt_i_i_ic,                                  /*    193 */
+  Parrot_lt_ic_i_ic,                                 /*    194 */
+  Parrot_lt_i_ic_ic,                                 /*    195 */
+  Parrot_lt_n_n_ic,                                  /*    196 */
+  Parrot_lt_nc_n_ic,                                 /*    197 */
+  Parrot_lt_n_nc_ic,                                 /*    198 */
+  Parrot_lt_s_s_ic,                                  /*    199 */
+  Parrot_lt_sc_s_ic,                                 /*    200 */
+  Parrot_lt_s_sc_ic,                                 /*    201 */
+  Parrot_lt_p_p_ic,                                  /*    202 */
+  Parrot_lt_p_i_ic,                                  /*    203 */
+  Parrot_lt_p_ic_ic,                                 /*    204 */
+  Parrot_lt_p_n_ic,                                  /*    205 */
+  Parrot_lt_p_nc_ic,                                 /*    206 */
+  Parrot_lt_p_s_ic,                                  /*    207 */
+  Parrot_lt_p_sc_ic,                                 /*    208 */
+  Parrot_lt_str_p_p_ic,                              /*    209 */
+  Parrot_lt_num_p_p_ic,                              /*    210 */
+  Parrot_le_i_i_ic,                                  /*    211 */
+  Parrot_le_ic_i_ic,                                 /*    212 */
+  Parrot_le_i_ic_ic,                                 /*    213 */
+  Parrot_le_n_n_ic,                                  /*    214 */
+  Parrot_le_nc_n_ic,                                 /*    215 */
+  Parrot_le_n_nc_ic,                                 /*    216 */
+  Parrot_le_s_s_ic,                                  /*    217 */
+  Parrot_le_sc_s_ic,                                 /*    218 */
+  Parrot_le_s_sc_ic,                                 /*    219 */
+  Parrot_le_p_p_ic,                                  /*    220 */
+  Parrot_le_p_i_ic,                                  /*    221 */
+  Parrot_le_p_ic_ic,                                 /*    222 */
+  Parrot_le_p_n_ic,                                  /*    223 */
+  Parrot_le_p_nc_ic,                                 /*    224 */
+  Parrot_le_p_s_ic,                                  /*    225 */
+  Parrot_le_p_sc_ic,                                 /*    226 */
+  Parrot_le_str_p_p_ic,                              /*    227 */
+  Parrot_le_num_p_p_ic,                              /*    228 */
+  Parrot_gt_p_p_ic,                                  /*    229 */
+  Parrot_gt_p_i_ic,                                  /*    230 */
+  Parrot_gt_p_ic_ic,                                 /*    231 */
+  Parrot_gt_p_n_ic,                                  /*    232 */
+  Parrot_gt_p_nc_ic,                                 /*    233 */
+  Parrot_gt_p_s_ic,                                  /*    234 */
+  Parrot_gt_p_sc_ic,                                 /*    235 */
+  Parrot_gt_str_p_p_ic,                              /*    236 */
+  Parrot_gt_num_p_p_ic,                              /*    237 */
+  Parrot_ge_p_p_ic,                                  /*    238 */
+  Parrot_ge_p_i_ic,                                  /*    239 */
+  Parrot_ge_p_ic_ic,                                 /*    240 */
+  Parrot_ge_p_n_ic,                                  /*    241 */
+  Parrot_ge_p_nc_ic,                                 /*    242 */
+  Parrot_ge_p_s_ic,                                  /*    243 */
+  Parrot_ge_p_sc_ic,                                 /*    244 */
+  Parrot_ge_str_p_p_ic,                              /*    245 */
+  Parrot_ge_num_p_p_ic,                              /*    246 */
+  Parrot_if_null_p_ic,                               /*    247 */
+  Parrot_if_null_s_ic,                               /*    248 */
+  Parrot_unless_null_p_ic,                           /*    249 */
+  Parrot_unless_null_s_ic,                           /*    250 */
+  Parrot_cmp_i_i_i,                                  /*    251 */
+  Parrot_cmp_i_ic_i,                                 /*    252 */
+  Parrot_cmp_i_i_ic,                                 /*    253 */
+  Parrot_cmp_i_n_n,                                  /*    254 */
+  Parrot_cmp_i_nc_n,                                 /*    255 */
+  Parrot_cmp_i_n_nc,                                 /*    256 */
+  Parrot_cmp_i_s_s,                                  /*    257 */
+  Parrot_cmp_i_sc_s,                                 /*    258 */
+  Parrot_cmp_i_s_sc,                                 /*    259 */
+  Parrot_cmp_i_p_p,                                  /*    260 */
+  Parrot_cmp_i_p_i,                                  /*    261 */
+  Parrot_cmp_i_p_ic,                                 /*    262 */
+  Parrot_cmp_i_p_n,                                  /*    263 */
+  Parrot_cmp_i_p_nc,                                 /*    264 */
+  Parrot_cmp_i_p_s,                                  /*    265 */
+  Parrot_cmp_i_p_sc,                                 /*    266 */
+  Parrot_cmp_str_i_p_p,                              /*    267 */
+  Parrot_cmp_num_i_p_p,                              /*    268 */
+  Parrot_cmp_pmc_p_p_p,                              /*    269 */
+  Parrot_issame_i_p_p,                               /*    270 */
+  Parrot_issame_i_s_s,                               /*    271 */
+  Parrot_issame_i_sc_s,                              /*    272 */
+  Parrot_issame_i_s_sc,                              /*    273 */
+  Parrot_issame_i_sc_sc,                             /*    274 */
+  Parrot_isntsame_i_p_p,                             /*    275 */
+  Parrot_isntsame_i_s_s,                             /*    276 */
+  Parrot_isntsame_i_sc_s,                            /*    277 */
+  Parrot_isntsame_i_s_sc,                            /*    278 */
+  Parrot_isntsame_i_sc_sc,                           /*    279 */
+  Parrot_istrue_i_p,                                 /*    280 */
+  Parrot_isfalse_i_p,                                /*    281 */
+  Parrot_isnull_i_p,                                 /*    282 */
+  Parrot_isnull_i_pc,                                /*    283 */
+  Parrot_isnull_i_s,                                 /*    284 */
+  Parrot_isnull_i_sc,                                /*    285 */
+  Parrot_isgt_i_p_p,                                 /*    286 */
+  Parrot_isge_i_p_p,                                 /*    287 */
+  Parrot_isle_i_i_i,                                 /*    288 */
+  Parrot_isle_i_ic_i,                                /*    289 */
+  Parrot_isle_i_i_ic,                                /*    290 */
+  Parrot_isle_i_n_n,                                 /*    291 */
+  Parrot_isle_i_nc_n,                                /*    292 */
+  Parrot_isle_i_n_nc,                                /*    293 */
+  Parrot_isle_i_s_s,                                 /*    294 */
+  Parrot_isle_i_sc_s,                                /*    295 */
+  Parrot_isle_i_s_sc,                                /*    296 */
+  Parrot_isle_i_p_p,                                 /*    297 */
+  Parrot_islt_i_i_i,                                 /*    298 */
+  Parrot_islt_i_ic_i,                                /*    299 */
+  Parrot_islt_i_i_ic,                                /*    300 */
+  Parrot_islt_i_n_n,                                 /*    301 */
+  Parrot_islt_i_nc_n,                                /*    302 */
+  Parrot_islt_i_n_nc,                                /*    303 */
+  Parrot_islt_i_s_s,                                 /*    304 */
+  Parrot_islt_i_sc_s,                                /*    305 */
+  Parrot_islt_i_s_sc,                                /*    306 */
+  Parrot_islt_i_p_p,                                 /*    307 */
+  Parrot_iseq_i_i_i,                                 /*    308 */
+  Parrot_iseq_i_ic_i,                                /*    309 */
+  Parrot_iseq_i_i_ic,                                /*    310 */
+  Parrot_iseq_i_n_n,                                 /*    311 */
+  Parrot_iseq_i_nc_n,                                /*    312 */
+  Parrot_iseq_i_n_nc,                                /*    313 */
+  Parrot_iseq_i_s_s,                                 /*    314 */
+  Parrot_iseq_i_sc_s,                                /*    315 */
+  Parrot_iseq_i_s_sc,                                /*    316 */
+  Parrot_iseq_i_p_p,                                 /*    317 */
+  Parrot_isne_i_i_i,                                 /*    318 */
+  Parrot_isne_i_ic_i,                                /*    319 */
+  Parrot_isne_i_i_ic,                                /*    320 */
+  Parrot_isne_i_n_n,                                 /*    321 */
+  Parrot_isne_i_nc_n,                                /*    322 */
+  Parrot_isne_i_n_nc,                                /*    323 */
+  Parrot_isne_i_s_s,                                 /*    324 */
+  Parrot_isne_i_sc_s,                                /*    325 */
+  Parrot_isne_i_s_sc,                                /*    326 */
+  Parrot_isne_i_p_p,                                 /*    327 */
+  Parrot_and_i_i_i,                                  /*    328 */
+  Parrot_and_i_ic_i,                                 /*    329 */
+  Parrot_and_i_i_ic,                                 /*    330 */
+  Parrot_and_p_p_p,                                  /*    331 */
+  Parrot_not_i,                                      /*    332 */
+  Parrot_not_i_i,                                    /*    333 */
+  Parrot_not_p,                                      /*    334 */
+  Parrot_not_p_p,                                    /*    335 */
+  Parrot_or_i_i_i,                                   /*    336 */
+  Parrot_or_i_ic_i,                                  /*    337 */
+  Parrot_or_i_i_ic,                                  /*    338 */
+  Parrot_or_p_p_p,                                   /*    339 */
+  Parrot_xor_i_i_i,                                  /*    340 */
+  Parrot_xor_i_ic_i,                                 /*    341 */
+  Parrot_xor_i_i_ic,                                 /*    342 */
+  Parrot_xor_p_p_p,                                  /*    343 */
+  Parrot_print_i,                                    /*    344 */
+  Parrot_print_ic,                                   /*    345 */
+  Parrot_print_n,                                    /*    346 */
+  Parrot_print_nc,                                   /*    347 */
+  Parrot_print_s,                                    /*    348 */
+  Parrot_print_sc,                                   /*    349 */
+  Parrot_print_p,                                    /*    350 */
+  Parrot_say_i,                                      /*    351 */
+  Parrot_say_ic,                                     /*    352 */
+  Parrot_say_n,                                      /*    353 */
+  Parrot_say_nc,                                     /*    354 */
+  Parrot_say_s,                                      /*    355 */
+  Parrot_say_sc,                                     /*    356 */
+  Parrot_say_p,                                      /*    357 */
+  Parrot_print_p_i,                                  /*    358 */
+  Parrot_print_p_ic,                                 /*    359 */
+  Parrot_print_p_n,                                  /*    360 */
+  Parrot_print_p_nc,                                 /*    361 */
+  Parrot_print_p_s,                                  /*    362 */
+  Parrot_print_p_sc,                                 /*    363 */
+  Parrot_print_p_p,                                  /*    364 */
+  Parrot_abs_i,                                      /*    365 */
+  Parrot_abs_n,                                      /*    366 */
+  Parrot_abs_i_i,                                    /*    367 */
+  Parrot_abs_n_n,                                    /*    368 */
+  Parrot_abs_p,                                      /*    369 */
+  Parrot_abs_p_p,                                    /*    370 */
+  Parrot_add_i_i,                                    /*    371 */
+  Parrot_add_i_ic,                                   /*    372 */
+  Parrot_add_n_n,                                    /*    373 */
+  Parrot_add_n_nc,                                   /*    374 */
+  Parrot_add_p_p,                                    /*    375 */
+  Parrot_add_p_i,                                    /*    376 */
+  Parrot_add_p_ic,                                   /*    377 */
+  Parrot_add_p_n,                                    /*    378 */
+  Parrot_add_p_nc,                                   /*    379 */
+  Parrot_add_i_i_i,                                  /*    380 */
+  Parrot_add_i_ic_i,                                 /*    381 */
+  Parrot_add_i_i_ic,                                 /*    382 */
+  Parrot_add_n_n_n,                                  /*    383 */
+  Parrot_add_n_nc_n,                                 /*    384 */
+  Parrot_add_n_n_nc,                                 /*    385 */
+  Parrot_add_p_p_p,                                  /*    386 */
+  Parrot_add_p_p_i,                                  /*    387 */
+  Parrot_add_p_p_ic,                                 /*    388 */
+  Parrot_add_p_p_n,                                  /*    389 */
+  Parrot_add_p_p_nc,                                 /*    390 */
+  Parrot_dec_i,                                      /*    391 */
+  Parrot_dec_n,                                      /*    392 */
+  Parrot_dec_p,                                      /*    393 */
+  Parrot_div_i_i,                                    /*    394 */
+  Parrot_div_i_ic,                                   /*    395 */
+  Parrot_div_n_n,                                    /*    396 */
+  Parrot_div_n_nc,                                   /*    397 */
+  Parrot_div_p_p,                                    /*    398 */
+  Parrot_div_p_i,                                    /*    399 */
+  Parrot_div_p_ic,                                   /*    400 */
+  Parrot_div_p_n,                                    /*    401 */
+  Parrot_div_p_nc,                                   /*    402 */
+  Parrot_div_i_i_i,                                  /*    403 */
+  Parrot_div_i_ic_i,                                 /*    404 */
+  Parrot_div_i_i_ic,                                 /*    405 */
+  Parrot_div_i_ic_ic,                                /*    406 */
+  Parrot_div_n_n_n,                                  /*    407 */
+  Parrot_div_n_nc_n,                                 /*    408 */
+  Parrot_div_n_n_nc,                                 /*    409 */
+  Parrot_div_n_nc_nc,                                /*    410 */
+  Parrot_div_p_p_p,                                  /*    411 */
+  Parrot_div_p_p_i,                                  /*    412 */
+  Parrot_div_p_p_ic,                                 /*    413 */
+  Parrot_div_p_p_n,                                  /*    414 */
+  Parrot_div_p_p_nc,                                 /*    415 */
+  Parrot_fdiv_i_i,                                   /*    416 */
+  Parrot_fdiv_i_ic,                                  /*    417 */
+  Parrot_fdiv_n_n,                                   /*    418 */
+  Parrot_fdiv_n_nc,                                  /*    419 */
+  Parrot_fdiv_p_p,                                   /*    420 */
+  Parrot_fdiv_p_i,                                   /*    421 */
+  Parrot_fdiv_p_ic,                                  /*    422 */
+  Parrot_fdiv_p_n,                                   /*    423 */
+  Parrot_fdiv_p_nc,                                  /*    424 */
+  Parrot_fdiv_i_i_i,                                 /*    425 */
+  Parrot_fdiv_i_ic_i,                                /*    426 */
+  Parrot_fdiv_i_i_ic,                                /*    427 */
+  Parrot_fdiv_n_n_n,                                 /*    428 */
+  Parrot_fdiv_n_nc_n,                                /*    429 */
+  Parrot_fdiv_n_n_nc,                                /*    430 */
+  Parrot_fdiv_p_p_p,                                 /*    431 */
+  Parrot_fdiv_p_p_i,                                 /*    432 */
+  Parrot_fdiv_p_p_ic,                                /*    433 */
+  Parrot_fdiv_p_p_n,                                 /*    434 */
+  Parrot_fdiv_p_p_nc,                                /*    435 */
+  Parrot_ceil_n,                                     /*    436 */
+  Parrot_ceil_i_n,                                   /*    437 */
+  Parrot_ceil_n_n,                                   /*    438 */
+  Parrot_floor_n,                                    /*    439 */
+  Parrot_floor_i_n,                                  /*    440 */
+  Parrot_floor_n_n,                                  /*    441 */
+  Parrot_inc_i,                                      /*    442 */
+  Parrot_inc_n,                                      /*    443 */
+  Parrot_inc_p,                                      /*    444 */
+  Parrot_mod_i_i,                                    /*    445 */
+  Parrot_mod_i_ic,                                   /*    446 */
+  Parrot_mod_n_n,                                    /*    447 */
+  Parrot_mod_n_nc,                                   /*    448 */
+  Parrot_mod_p_p,                                    /*    449 */
+  Parrot_mod_p_i,                                    /*    450 */
+  Parrot_mod_p_ic,                                   /*    451 */
+  Parrot_mod_p_n,                                    /*    452 */
+  Parrot_mod_p_nc,                                   /*    453 */
+  Parrot_mod_i_i_i,                                  /*    454 */
+  Parrot_mod_i_ic_i,                                 /*    455 */
+  Parrot_mod_i_i_ic,                                 /*    456 */
+  Parrot_mod_n_n_n,                                  /*    457 */
+  Parrot_mod_n_nc_n,                                 /*    458 */
+  Parrot_mod_n_n_nc,                                 /*    459 */
+  Parrot_mod_p_p_p,                                  /*    460 */
+  Parrot_mod_p_p_i,                                  /*    461 */
+  Parrot_mod_p_p_ic,                                 /*    462 */
+  Parrot_mod_p_p_n,                                  /*    463 */
+  Parrot_mod_p_p_nc,                                 /*    464 */
+  Parrot_mul_i_i,                                    /*    465 */
+  Parrot_mul_i_ic,                                   /*    466 */
+  Parrot_mul_n_n,                                    /*    467 */
+  Parrot_mul_n_nc,                                   /*    468 */
+  Parrot_mul_p_p,                                    /*    469 */
+  Parrot_mul_p_i,                                    /*    470 */
+  Parrot_mul_p_ic,                                   /*    471 */
+  Parrot_mul_p_n,                                    /*    472 */
+  Parrot_mul_p_nc,                                   /*    473 */
+  Parrot_mul_i_i_i,                                  /*    474 */
+  Parrot_mul_i_ic_i,                                 /*    475 */
+  Parrot_mul_i_i_ic,                                 /*    476 */
+  Parrot_mul_n_n_n,                                  /*    477 */
+  Parrot_mul_n_nc_n,                                 /*    478 */
+  Parrot_mul_n_n_nc,                                 /*    479 */
+  Parrot_mul_p_p_p,                                  /*    480 */
+  Parrot_mul_p_p_i,                                  /*    481 */
+  Parrot_mul_p_p_ic,                                 /*    482 */
+  Parrot_mul_p_p_n,                                  /*    483 */
+  Parrot_mul_p_p_nc,                                 /*    484 */
+  Parrot_neg_i,                                      /*    485 */
+  Parrot_neg_n,                                      /*    486 */
+  Parrot_neg_p,                                      /*    487 */
+  Parrot_neg_i_i,                                    /*    488 */
+  Parrot_neg_n_n,                                    /*    489 */
+  Parrot_neg_p_p,                                    /*    490 */
+  Parrot_sub_i_i,                                    /*    491 */
+  Parrot_sub_i_ic,                                   /*    492 */
+  Parrot_sub_n_n,                                    /*    493 */
+  Parrot_sub_n_nc,                                   /*    494 */
+  Parrot_sub_p_p,                                    /*    495 */
+  Parrot_sub_p_i,                                    /*    496 */
+  Parrot_sub_p_ic,                                   /*    497 */
+  Parrot_sub_p_n,                                    /*    498 */
+  Parrot_sub_p_nc,                                   /*    499 */
+  Parrot_sub_i_i_i,                                  /*    500 */
+  Parrot_sub_i_ic_i,                                 /*    501 */
+  Parrot_sub_i_i_ic,                                 /*    502 */
+  Parrot_sub_n_n_n,                                  /*    503 */
+  Parrot_sub_n_nc_n,                                 /*    504 */
+  Parrot_sub_n_n_nc,                                 /*    505 */
+  Parrot_sub_p_p_p,                                  /*    506 */
+  Parrot_sub_p_p_i,                                  /*    507 */
+  Parrot_sub_p_p_ic,                                 /*    508 */
+  Parrot_sub_p_p_n,                                  /*    509 */
+  Parrot_sub_p_p_nc,                                 /*    510 */
+  Parrot_sqrt_n_n,                                   /*    511 */
+  Parrot_callmethodcc_p_s,                           /*    512 */
+  Parrot_callmethodcc_p_sc,                          /*    513 */
+  Parrot_callmethodcc_p_p,                           /*    514 */
+  Parrot_callmethod_p_s_p,                           /*    515 */
+  Parrot_callmethod_p_sc_p,                          /*    516 */
+  Parrot_callmethod_p_p_p,                           /*    517 */
+  Parrot_tailcallmethod_p_s,                         /*    518 */
+  Parrot_tailcallmethod_p_sc,                        /*    519 */
+  Parrot_tailcallmethod_p_p,                         /*    520 */
+  Parrot_addmethod_p_s_p,                            /*    521 */
+  Parrot_addmethod_p_sc_p,                           /*    522 */
+  Parrot_can_i_p_s,                                  /*    523 */
+  Parrot_can_i_p_sc,                                 /*    524 */
+  Parrot_does_i_p_s,                                 /*    525 */
+  Parrot_does_i_p_sc,                                /*    526 */
+  Parrot_does_i_p_p,                                 /*    527 */
+  Parrot_does_i_p_pc,                                /*    528 */
+  Parrot_isa_i_p_s,                                  /*    529 */
+  Parrot_isa_i_p_sc,                                 /*    530 */
+  Parrot_isa_i_p_p,                                  /*    531 */
+  Parrot_isa_i_p_pc,                                 /*    532 */
+  Parrot_newclass_p_s,                               /*    533 */
+  Parrot_newclass_p_sc,                              /*    534 */
+  Parrot_newclass_p_p,                               /*    535 */
+  Parrot_newclass_p_pc,                              /*    536 */
+  Parrot_subclass_p_p,                               /*    537 */
+  Parrot_subclass_p_pc,                              /*    538 */
+  Parrot_subclass_p_p_s,                             /*    539 */
+  Parrot_subclass_p_pc_s,                            /*    540 */
+  Parrot_subclass_p_p_sc,                            /*    541 */
+  Parrot_subclass_p_pc_sc,                           /*    542 */
+  Parrot_subclass_p_p_p,                             /*    543 */
+  Parrot_subclass_p_pc_p,                            /*    544 */
+  Parrot_subclass_p_p_pc,                            /*    545 */
+  Parrot_subclass_p_pc_pc,                           /*    546 */
+  Parrot_subclass_p_s,                               /*    547 */
+  Parrot_subclass_p_sc,                              /*    548 */
+  Parrot_subclass_p_s_s,                             /*    549 */
+  Parrot_subclass_p_sc_s,                            /*    550 */
+  Parrot_subclass_p_s_sc,                            /*    551 */
+  Parrot_subclass_p_sc_sc,                           /*    552 */
+  Parrot_subclass_p_s_p,                             /*    553 */
+  Parrot_subclass_p_sc_p,                            /*    554 */
+  Parrot_subclass_p_s_pc,                            /*    555 */
+  Parrot_subclass_p_sc_pc,                           /*    556 */
+  Parrot_get_class_p_s,                              /*    557 */
+  Parrot_get_class_p_sc,                             /*    558 */
+  Parrot_get_class_p_p,                              /*    559 */
+  Parrot_get_class_p_pc,                             /*    560 */
+  Parrot_class_p_p,                                  /*    561 */
+  Parrot_addparent_p_p,                              /*    562 */
+  Parrot_removeparent_p_p,                           /*    563 */
+  Parrot_addrole_p_p,                                /*    564 */
+  Parrot_addattribute_p_s,                           /*    565 */
+  Parrot_addattribute_p_sc,                          /*    566 */
+  Parrot_removeattribute_p_s,                        /*    567 */
+  Parrot_removeattribute_p_sc,                       /*    568 */
+  Parrot_getattribute_p_p_s,                         /*    569 */
+  Parrot_getattribute_p_p_sc,                        /*    570 */
+  Parrot_getattribute_p_p_p_s,                       /*    571 */
+  Parrot_getattribute_p_p_pc_s,                      /*    572 */
+  Parrot_getattribute_p_p_p_sc,                      /*    573 */
+  Parrot_getattribute_p_p_pc_sc,                     /*    574 */
+  Parrot_setattribute_p_s_p,                         /*    575 */
+  Parrot_setattribute_p_sc_p,                        /*    576 */
+  Parrot_setattribute_p_p_s_p,                       /*    577 */
+  Parrot_setattribute_p_pc_s_p,                      /*    578 */
+  Parrot_setattribute_p_p_sc_p,                      /*    579 */
+  Parrot_setattribute_p_pc_sc_p,                     /*    580 */
+  Parrot_inspect_p_p,                                /*    581 */
+  Parrot_inspect_p_pc,                               /*    582 */
+  Parrot_inspect_p_p_s,                              /*    583 */
+  Parrot_inspect_p_pc_s,                             /*    584 */
+  Parrot_inspect_p_p_sc,                             /*    585 */
+  Parrot_inspect_p_pc_sc,                            /*    586 */
+  Parrot_new_p_s,                                    /*    587 */
+  Parrot_new_p_sc,                                   /*    588 */
+  Parrot_new_p_s_p,                                  /*    589 */
+  Parrot_new_p_sc_p,                                 /*    590 */
+  Parrot_new_p_s_pc,                                 /*    591 */
+  Parrot_new_p_sc_pc,                                /*    592 */
+  Parrot_new_p_p,                                    /*    593 */
+  Parrot_new_p_pc,                                   /*    594 */
+  Parrot_new_p_p_p,                                  /*    595 */
+  Parrot_new_p_pc_p,                                 /*    596 */
+  Parrot_new_p_p_pc,                                 /*    597 */
+  Parrot_new_p_pc_pc,                                /*    598 */
+  Parrot_root_new_p_p,                               /*    599 */
+  Parrot_root_new_p_pc,                              /*    600 */
+  Parrot_root_new_p_p_p,                             /*    601 */
+  Parrot_root_new_p_pc_p,                            /*    602 */
+  Parrot_root_new_p_p_pc,                            /*    603 */
+  Parrot_root_new_p_pc_pc,                           /*    604 */
+  Parrot_typeof_s_p,                                 /*    605 */
+  Parrot_typeof_p_p,                                 /*    606 */
+  Parrot_get_repr_s_p,                               /*    607 */
+  Parrot_find_method_p_p_s,                          /*    608 */
+  Parrot_find_method_p_p_sc,                         /*    609 */
+  Parrot_defined_i_p,                                /*    610 */
+  Parrot_defined_i_p_ki,                             /*    611 */
+  Parrot_defined_i_p_kic,                            /*    612 */
+  Parrot_defined_i_p_k,                              /*    613 */
+  Parrot_defined_i_p_kc,                             /*    614 */
+  Parrot_exists_i_p_ki,                              /*    615 */
+  Parrot_exists_i_p_kic,                             /*    616 */
+  Parrot_exists_i_p_k,                               /*    617 */
+  Parrot_exists_i_p_kc,                              /*    618 */
+  Parrot_delete_p_k,                                 /*    619 */
+  Parrot_delete_p_kc,                                /*    620 */
+  Parrot_delete_p_ki,                                /*    621 */
+  Parrot_delete_p_kic,                               /*    622 */
+  Parrot_elements_i_p,                               /*    623 */
+  Parrot_push_p_i,                                   /*    624 */
+  Parrot_push_p_ic,                                  /*    625 */
+  Parrot_push_p_n,                                   /*    626 */
+  Parrot_push_p_nc,                                  /*    627 */
+  Parrot_push_p_s,                                   /*    628 */
+  Parrot_push_p_sc,                                  /*    629 */
+  Parrot_push_p_p,                                   /*    630 */
+  Parrot_pop_i_p,                                    /*    631 */
+  Parrot_pop_n_p,                                    /*    632 */
+  Parrot_pop_s_p,                                    /*    633 */
+  Parrot_pop_p_p,                                    /*    634 */
+  Parrot_unshift_p_i,                                /*    635 */
+  Parrot_unshift_p_ic,                               /*    636 */
+  Parrot_unshift_p_n,                                /*    637 */
+  Parrot_unshift_p_nc,                               /*    638 */
+  Parrot_unshift_p_s,                                /*    639 */
+  Parrot_unshift_p_sc,                               /*    640 */
+  Parrot_unshift_p_p,                                /*    641 */
+  Parrot_shift_i_p,                                  /*    642 */
+  Parrot_shift_n_p,                                  /*    643 */
+  Parrot_shift_s_p,                                  /*    644 */
+  Parrot_shift_p_p,                                  /*    645 */
+  Parrot_splice_p_p_i_i,                             /*    646 */
+  Parrot_splice_p_p_ic_i,                            /*    647 */
+  Parrot_splice_p_p_i_ic,                            /*    648 */
+  Parrot_splice_p_p_ic_ic,                           /*    649 */
+  Parrot_setprop_p_s_p,                              /*    650 */
+  Parrot_setprop_p_sc_p,                             /*    651 */
+  Parrot_getprop_p_s_p,                              /*    652 */
+  Parrot_getprop_p_sc_p,                             /*    653 */
+  Parrot_delprop_p_s,                                /*    654 */
+  Parrot_delprop_p_sc,                               /*    655 */
+  Parrot_prophash_p_p,                               /*    656 */
+  Parrot_freeze_s_p,                                 /*    657 */
+  Parrot_thaw_p_s,                                   /*    658 */
+  Parrot_thaw_p_sc,                                  /*    659 */
+  Parrot_add_multi_s_s_p,                            /*    660 */
+  Parrot_add_multi_sc_s_p,                           /*    661 */
+  Parrot_add_multi_s_sc_p,                           /*    662 */
+  Parrot_add_multi_sc_sc_p,                          /*    663 */
+  Parrot_find_multi_p_s_s,                           /*    664 */
+  Parrot_find_multi_p_sc_s,                          /*    665 */
+  Parrot_find_multi_p_s_sc,                          /*    666 */
+  Parrot_find_multi_p_sc_sc,                         /*    667 */
+  Parrot_register_p,                                 /*    668 */
+  Parrot_unregister_p,                               /*    669 */
+  Parrot_box_p_i,                                    /*    670 */
+  Parrot_box_p_ic,                                   /*    671 */
+  Parrot_box_p_n,                                    /*    672 */
+  Parrot_box_p_nc,                                   /*    673 */
+  Parrot_box_p_s,                                    /*    674 */
+  Parrot_box_p_sc,                                   /*    675 */
+  Parrot_iter_p_p,                                   /*    676 */
+  Parrot_morph_p_p,                                  /*    677 */
+  Parrot_morph_p_pc,                                 /*    678 */
+  Parrot_clone_s_s,                                  /*    679 */
+  Parrot_clone_s_sc,                                 /*    680 */
+  Parrot_set_i_i,                                    /*    681 */
+  Parrot_set_i_ic,                                   /*    682 */
+  Parrot_set_i_n,                                    /*    683 */
+  Parrot_set_i_nc,                                   /*    684 */
+  Parrot_set_i_s,                                    /*    685 */
+  Parrot_set_i_sc,                                   /*    686 */
+  Parrot_set_n_n,                                    /*    687 */
+  Parrot_set_n_nc,                                   /*    688 */
+  Parrot_set_n_i,                                    /*    689 */
+  Parrot_set_n_ic,                                   /*    690 */
+  Parrot_set_n_s,                                    /*    691 */
+  Parrot_set_n_sc,                                   /*    692 */
+  Parrot_set_n_p,                                    /*    693 */
+  Parrot_set_s_p,                                    /*    694 */
+  Parrot_set_s_s,                                    /*    695 */
+  Parrot_set_s_sc,                                   /*    696 */
+  Parrot_set_s_i,                                    /*    697 */
+  Parrot_set_s_ic,                                   /*    698 */
+  Parrot_set_s_n,                                    /*    699 */
+  Parrot_set_s_nc,                                   /*    700 */
+  Parrot_set_p_pc,                                   /*    701 */
+  Parrot_set_p_p,                                    /*    702 */
+  Parrot_set_p_i,                                    /*    703 */
+  Parrot_set_p_ic,                                   /*    704 */
+  Parrot_set_p_n,                                    /*    705 */
+  Parrot_set_p_nc,                                   /*    706 */
+  Parrot_set_p_s,                                    /*    707 */
+  Parrot_set_p_sc,                                   /*    708 */
+  Parrot_set_i_p,                                    /*    709 */
+  Parrot_assign_p_p,                                 /*    710 */
+  Parrot_assign_p_i,                                 /*    711 */
+  Parrot_assign_p_ic,                                /*    712 */
+  Parrot_assign_p_n,                                 /*    713 */
+  Parrot_assign_p_nc,                                /*    714 */
+  Parrot_assign_p_s,                                 /*    715 */
+  Parrot_assign_p_sc,                                /*    716 */
+  Parrot_assign_s_s,                                 /*    717 */
+  Parrot_assign_s_sc,                                /*    718 */
+  Parrot_setref_p_p,                                 /*    719 */
+  Parrot_deref_p_p,                                  /*    720 */
+  Parrot_set_p_ki_i,                                 /*    721 */
+  Parrot_set_p_kic_i,                                /*    722 */
+  Parrot_set_p_ki_ic,                                /*    723 */
+  Parrot_set_p_kic_ic,                               /*    724 */
+  Parrot_set_p_ki_n,                                 /*    725 */
+  Parrot_set_p_kic_n,                                /*    726 */
+  Parrot_set_p_ki_nc,                                /*    727 */
+  Parrot_set_p_kic_nc,                               /*    728 */
+  Parrot_set_p_ki_s,                                 /*    729 */
+  Parrot_set_p_kic_s,                                /*    730 */
+  Parrot_set_p_ki_sc,                                /*    731 */
+  Parrot_set_p_kic_sc,                               /*    732 */
+  Parrot_set_p_ki_p,                                 /*    733 */
+  Parrot_set_p_kic_p,                                /*    734 */
+  Parrot_set_i_p_ki,                                 /*    735 */
+  Parrot_set_i_p_kic,                                /*    736 */
+  Parrot_set_n_p_ki,                                 /*    737 */
+  Parrot_set_n_p_kic,                                /*    738 */
+  Parrot_set_s_p_ki,                                 /*    739 */
+  Parrot_set_s_p_kic,                                /*    740 */
+  Parrot_set_p_p_ki,                                 /*    741 */
+  Parrot_set_p_p_kic,                                /*    742 */
+  Parrot_set_p_k_i,                                  /*    743 */
+  Parrot_set_p_kc_i,                                 /*    744 */
+  Parrot_set_p_k_ic,                                 /*    745 */
+  Parrot_set_p_kc_ic,                                /*    746 */
+  Parrot_set_p_k_n,                                  /*    747 */
+  Parrot_set_p_kc_n,                                 /*    748 */
+  Parrot_set_p_k_nc,                                 /*    749 */
+  Parrot_set_p_kc_nc,                                /*    750 */
+  Parrot_set_p_k_s,                                  /*    751 */
+  Parrot_set_p_kc_s,                                 /*    752 */
+  Parrot_set_p_k_sc,                                 /*    753 */
+  Parrot_set_p_kc_sc,                                /*    754 */
+  Parrot_set_p_k_p,                                  /*    755 */
+  Parrot_set_p_kc_p,                                 /*    756 */
+  Parrot_set_i_p_k,                                  /*    757 */
+  Parrot_set_i_p_kc,                                 /*    758 */
+  Parrot_set_n_p_k,                                  /*    759 */
+  Parrot_set_n_p_kc,                                 /*    760 */
+  Parrot_set_s_p_k,                                  /*    761 */
+  Parrot_set_s_p_kc,                                 /*    762 */
+  Parrot_set_p_p_k,                                  /*    763 */
+  Parrot_set_p_p_kc,                                 /*    764 */
+  Parrot_clone_p_p,                                  /*    765 */
+  Parrot_clone_p_p_p,                                /*    766 */
+  Parrot_clone_p_p_pc,                               /*    767 */
+  Parrot_copy_p_p,                                   /*    768 */
+  Parrot_null_s,                                     /*    769 */
+  Parrot_null_i,                                     /*    770 */
+  Parrot_null_p,                                     /*    771 */
+  Parrot_null_n,                                     /*    772 */
+  Parrot_ord_i_s,                                    /*    773 */
+  Parrot_ord_i_sc,                                   /*    774 */
+  Parrot_ord_i_s_i,                                  /*    775 */
+  Parrot_ord_i_sc_i,                                 /*    776 */
+  Parrot_ord_i_s_ic,                                 /*    777 */
+  Parrot_ord_i_sc_ic,                                /*    778 */
+  Parrot_chr_s_i,                                    /*    779 */
+  Parrot_chr_s_ic,                                   /*    780 */
+  Parrot_chopn_s_s_i,                                /*    781 */
+  Parrot_chopn_s_sc_i,                               /*    782 */
+  Parrot_chopn_s_s_ic,                               /*    783 */
+  Parrot_chopn_s_sc_ic,                              /*    784 */
+  Parrot_concat_s_s,                                 /*    785 */
+  Parrot_concat_s_sc,                                /*    786 */
+  Parrot_concat_p_p,                                 /*    787 */
+  Parrot_concat_p_s,                                 /*    788 */
+  Parrot_concat_p_sc,                                /*    789 */
+  Parrot_concat_s_s_s,                               /*    790 */
+  Parrot_concat_s_sc_s,                              /*    791 */
+  Parrot_concat_s_s_sc,                              /*    792 */
+  Parrot_concat_p_p_s,                               /*    793 */
+  Parrot_concat_p_p_sc,                              /*    794 */
+  Parrot_concat_p_p_p,                               /*    795 */
+  Parrot_repeat_s_s_i,                               /*    796 */
+  Parrot_repeat_s_sc_i,                              /*    797 */
+  Parrot_repeat_s_s_ic,                              /*    798 */
+  Parrot_repeat_s_sc_ic,                             /*    799 */
+  Parrot_repeat_p_p_i,                               /*    800 */
+  Parrot_repeat_p_p_ic,                              /*    801 */
+  Parrot_repeat_p_p_p,                               /*    802 */
+  Parrot_repeat_p_i,                                 /*    803 */
+  Parrot_repeat_p_ic,                                /*    804 */
+  Parrot_repeat_p_p,                                 /*    805 */
+  Parrot_length_i_s,                                 /*    806 */
+  Parrot_length_i_sc,                                /*    807 */
+  Parrot_bytelength_i_s,                             /*    808 */
+  Parrot_bytelength_i_sc,                            /*    809 */
+  Parrot_pin_s,                                      /*    810 */
+  Parrot_unpin_s,                                    /*    811 */
+  Parrot_substr_s_s_i,                               /*    812 */
+  Parrot_substr_s_sc_i,                              /*    813 */
+  Parrot_substr_s_s_ic,                              /*    814 */
+  Parrot_substr_s_sc_ic,                             /*    815 */
+  Parrot_substr_s_s_i_i,                             /*    816 */
+  Parrot_substr_s_sc_i_i,                            /*    817 */
+  Parrot_substr_s_s_ic_i,                            /*    818 */
+  Parrot_substr_s_sc_ic_i,                           /*    819 */
+  Parrot_substr_s_s_i_ic,                            /*    820 */
+  Parrot_substr_s_sc_i_ic,                           /*    821 */
+  Parrot_substr_s_s_ic_ic,                           /*    822 */
+  Parrot_substr_s_sc_ic_ic,                          /*    823 */
+  Parrot_substr_s_p_i_i,                             /*    824 */
+  Parrot_substr_s_p_ic_i,                            /*    825 */
+  Parrot_substr_s_p_i_ic,                            /*    826 */
+  Parrot_substr_s_p_ic_ic,                           /*    827 */
+  Parrot_replace_s_s_i_i_s,                          /*    828 */
+  Parrot_replace_s_sc_i_i_s,                         /*    829 */
+  Parrot_replace_s_s_ic_i_s,                         /*    830 */
+  Parrot_replace_s_sc_ic_i_s,                        /*    831 */
+  Parrot_replace_s_s_i_ic_s,                         /*    832 */
+  Parrot_replace_s_sc_i_ic_s,                        /*    833 */
+  Parrot_replace_s_s_ic_ic_s,                        /*    834 */
+  Parrot_replace_s_sc_ic_ic_s,                       /*    835 */
+  Parrot_replace_s_s_i_i_sc,                         /*    836 */
+  Parrot_replace_s_sc_i_i_sc,                        /*    837 */
+  Parrot_replace_s_s_ic_i_sc,                        /*    838 */
+  Parrot_replace_s_sc_ic_i_sc,                       /*    839 */
+  Parrot_replace_s_s_i_ic_sc,                        /*    840 */
+  Parrot_replace_s_sc_i_ic_sc,                       /*    841 */
+  Parrot_replace_s_s_ic_ic_sc,                       /*    842 */
+  Parrot_replace_s_sc_ic_ic_sc,                      /*    843 */
+  Parrot_index_i_s_s,                                /*    844 */
+  Parrot_index_i_sc_s,                               /*    845 */
+  Parrot_index_i_s_sc,                               /*    846 */
+  Parrot_index_i_sc_sc,                              /*    847 */
+  Parrot_index_i_s_s_i,                              /*    848 */
+  Parrot_index_i_sc_s_i,                             /*    849 */
+  Parrot_index_i_s_sc_i,                             /*    850 */
+  Parrot_index_i_sc_sc_i,                            /*    851 */
+  Parrot_index_i_s_s_ic,                             /*    852 */
+  Parrot_index_i_sc_s_ic,                            /*    853 */
+  Parrot_index_i_s_sc_ic,                            /*    854 */
+  Parrot_index_i_sc_sc_ic,                           /*    855 */
+  Parrot_sprintf_s_s_p,                              /*    856 */
+  Parrot_sprintf_s_sc_p,                             /*    857 */
+  Parrot_sprintf_p_p_p,                              /*    858 */
+  Parrot_new_s,                                      /*    859 */
+  Parrot_new_s_i,                                    /*    860 */
+  Parrot_new_s_ic,                                   /*    861 */
+  Parrot_stringinfo_i_s_i,                           /*    862 */
+  Parrot_stringinfo_i_sc_i,                          /*    863 */
+  Parrot_stringinfo_i_s_ic,                          /*    864 */
+  Parrot_stringinfo_i_sc_ic,                         /*    865 */
+  Parrot_upcase_s_s,                                 /*    866 */
+  Parrot_upcase_s_sc,                                /*    867 */
+  Parrot_downcase_s_s,                               /*    868 */
+  Parrot_downcase_s_sc,                              /*    869 */
+  Parrot_titlecase_s_s,                              /*    870 */
+  Parrot_titlecase_s_sc,                             /*    871 */
+  Parrot_join_s_s_p,                                 /*    872 */
+  Parrot_join_s_sc_p,                                /*    873 */
+  Parrot_split_p_s_s,                                /*    874 */
+  Parrot_split_p_sc_s,                               /*    875 */
+  Parrot_split_p_s_sc,                               /*    876 */
+  Parrot_split_p_sc_sc,                              /*    877 */
+  Parrot_charset_i_s,                                /*    878 */
+  Parrot_charset_i_sc,                               /*    879 */
+  Parrot_charsetname_s_i,                            /*    880 */
+  Parrot_charsetname_s_ic,                           /*    881 */
+  Parrot_find_charset_i_s,                           /*    882 */
+  Parrot_find_charset_i_sc,                          /*    883 */
+  Parrot_trans_charset_s_s_i,                        /*    884 */
+  Parrot_trans_charset_s_sc_i,                       /*    885 */
+  Parrot_trans_charset_s_s_ic,                       /*    886 */
+  Parrot_trans_charset_s_sc_ic,                      /*    887 */
+  Parrot_encoding_i_s,                               /*    888 */
+  Parrot_encoding_i_sc,                              /*    889 */
+  Parrot_encodingname_s_i,                           /*    890 */
+  Parrot_encodingname_s_ic,                          /*    891 */
+  Parrot_find_encoding_i_s,                          /*    892 */
+  Parrot_find_encoding_i_sc,                         /*    893 */
+  Parrot_trans_encoding_s_s_i,                       /*    894 */
+  Parrot_trans_encoding_s_sc_i,                      /*    895 */
+  Parrot_trans_encoding_s_s_ic,                      /*    896 */
+  Parrot_trans_encoding_s_sc_ic,                     /*    897 */
+  Parrot_is_cclass_i_i_s_i,                          /*    898 */
+  Parrot_is_cclass_i_ic_s_i,                         /*    899 */
+  Parrot_is_cclass_i_i_sc_i,                         /*    900 */
+  Parrot_is_cclass_i_ic_sc_i,                        /*    901 */
+  Parrot_is_cclass_i_i_s_ic,                         /*    902 */
+  Parrot_is_cclass_i_ic_s_ic,                        /*    903 */
+  Parrot_is_cclass_i_i_sc_ic,                        /*    904 */
+  Parrot_is_cclass_i_ic_sc_ic,                       /*    905 */
+  Parrot_find_cclass_i_i_s_i_i,                      /*    906 */
+  Parrot_find_cclass_i_ic_s_i_i,                     /*    907 */
+  Parrot_find_cclass_i_i_sc_i_i,                     /*    908 */
+  Parrot_find_cclass_i_ic_sc_i_i,                    /*    909 */
+  Parrot_find_cclass_i_i_s_ic_i,                     /*    910 */
+  Parrot_find_cclass_i_ic_s_ic_i,                    /*    911 */
+  Parrot_find_cclass_i_i_sc_ic_i,                    /*    912 */
+  Parrot_find_cclass_i_ic_sc_ic_i,                   /*    913 */
+  Parrot_find_cclass_i_i_s_i_ic,                     /*    914 */
+  Parrot_find_cclass_i_ic_s_i_ic,                    /*    915 */
+  Parrot_find_cclass_i_i_sc_i_ic,                    /*    916 */
+  Parrot_find_cclass_i_ic_sc_i_ic,                   /*    917 */
+  Parrot_find_cclass_i_i_s_ic_ic,                    /*    918 */
+  Parrot_find_cclass_i_ic_s_ic_ic,                   /*    919 */
+  Parrot_find_cclass_i_i_sc_ic_ic,                   /*    920 */
+  Parrot_find_cclass_i_ic_sc_ic_ic,                  /*    921 */
+  Parrot_find_not_cclass_i_i_s_i_i,                  /*    922 */
+  Parrot_find_not_cclass_i_ic_s_i_i,                 /*    923 */
+  Parrot_find_not_cclass_i_i_sc_i_i,                 /*    924 */
+  Parrot_find_not_cclass_i_ic_sc_i_i,                /*    925 */
+  Parrot_find_not_cclass_i_i_s_ic_i,                 /*    926 */
+  Parrot_find_not_cclass_i_ic_s_ic_i,                /*    927 */
+  Parrot_find_not_cclass_i_i_sc_ic_i,                /*    928 */
+  Parrot_find_not_cclass_i_ic_sc_ic_i,               /*    929 */
+  Parrot_find_not_cclass_i_i_s_i_ic,                 /*    930 */
+  Parrot_find_not_cclass_i_ic_s_i_ic,                /*    931 */
+  Parrot_find_not_cclass_i_i_sc_i_ic,                /*    932 */
+  Parrot_find_not_cclass_i_ic_sc_i_ic,               /*    933 */
+  Parrot_find_not_cclass_i_i_s_ic_ic,                /*    934 */
+  Parrot_find_not_cclass_i_ic_s_ic_ic,               /*    935 */
+  Parrot_find_not_cclass_i_i_sc_ic_ic,               /*    936 */
+  Parrot_find_not_cclass_i_ic_sc_ic_ic,              /*    937 */
+  Parrot_escape_s_s,                                 /*    938 */
+  Parrot_compose_s_s,                                /*    939 */
+  Parrot_compose_s_sc,                               /*    940 */
+  Parrot_spawnw_i_s,                                 /*    941 */
+  Parrot_spawnw_i_sc,                                /*    942 */
+  Parrot_spawnw_i_p,                                 /*    943 */
+  Parrot_err_i,                                      /*    944 */
+  Parrot_err_s,                                      /*    945 */
+  Parrot_err_s_i,                                    /*    946 */
+  Parrot_err_s_ic,                                   /*    947 */
+  Parrot_time_i,                                     /*    948 */
+  Parrot_time_n,                                     /*    949 */
+  Parrot_sleep_i,                                    /*    950 */
+  Parrot_sleep_ic,                                   /*    951 */
+  Parrot_sleep_n,                                    /*    952 */
+  Parrot_sleep_nc,                                   /*    953 */
+  Parrot_store_lex_s_p,                              /*    954 */
+  Parrot_store_lex_sc_p,                             /*    955 */
+  Parrot_store_dynamic_lex_s_p,                      /*    956 */
+  Parrot_store_dynamic_lex_sc_p,                     /*    957 */
+  Parrot_find_lex_p_s,                               /*    958 */
+  Parrot_find_lex_p_sc,                              /*    959 */
+  Parrot_find_dynamic_lex_p_s,                       /*    960 */
+  Parrot_find_dynamic_lex_p_sc,                      /*    961 */
+  Parrot_find_caller_lex_p_s,                        /*    962 */
+  Parrot_find_caller_lex_p_sc,                       /*    963 */
+  Parrot_get_namespace_p,                            /*    964 */
+  Parrot_get_namespace_p_p,                          /*    965 */
+  Parrot_get_namespace_p_pc,                         /*    966 */
+  Parrot_get_hll_namespace_p,                        /*    967 */
+  Parrot_get_hll_namespace_p_p,                      /*    968 */
+  Parrot_get_hll_namespace_p_pc,                     /*    969 */
+  Parrot_get_root_namespace_p,                       /*    970 */
+  Parrot_get_root_namespace_p_p,                     /*    971 */
+  Parrot_get_root_namespace_p_pc,                    /*    972 */
+  Parrot_get_global_p_s,                             /*    973 */
+  Parrot_get_global_p_sc,                            /*    974 */
+  Parrot_get_global_p_p_s,                           /*    975 */
+  Parrot_get_global_p_pc_s,                          /*    976 */
+  Parrot_get_global_p_p_sc,                          /*    977 */
+  Parrot_get_global_p_pc_sc,                         /*    978 */
+  Parrot_get_hll_global_p_s,                         /*    979 */
+  Parrot_get_hll_global_p_sc,                        /*    980 */
+  Parrot_get_hll_global_p_p_s,                       /*    981 */
+  Parrot_get_hll_global_p_pc_s,                      /*    982 */
+  Parrot_get_hll_global_p_p_sc,                      /*    983 */
+  Parrot_get_hll_global_p_pc_sc,                     /*    984 */
+  Parrot_get_root_global_p_s,                        /*    985 */
+  Parrot_get_root_global_p_sc,                       /*    986 */
+  Parrot_get_root_global_p_p_s,                      /*    987 */
+  Parrot_get_root_global_p_pc_s,                     /*    988 */
+  Parrot_get_root_global_p_p_sc,                     /*    989 */
+  Parrot_get_root_global_p_pc_sc,                    /*    990 */
+  Parrot_set_global_s_p,                             /*    991 */
+  Parrot_set_global_sc_p,                            /*    992 */
+  Parrot_set_global_p_s_p,                           /*    993 */
+  Parrot_set_global_pc_s_p,                          /*    994 */
+  Parrot_set_global_p_sc_p,                          /*    995 */
+  Parrot_set_global_pc_sc_p,                         /*    996 */
+  Parrot_set_hll_global_s_p,                         /*    997 */
+  Parrot_set_hll_global_sc_p,                        /*    998 */
+  Parrot_set_hll_global_p_s_p,                       /*    999 */
+  Parrot_set_hll_global_pc_s_p,                      /*   1000 */
+  Parrot_set_hll_global_p_sc_p,                      /*   1001 */
+  Parrot_set_hll_global_pc_sc_p,                     /*   1002 */
+  Parrot_set_root_global_s_p,                        /*   1003 */
+  Parrot_set_root_global_sc_p,                       /*   1004 */
+  Parrot_set_root_global_p_s_p,                      /*   1005 */
+  Parrot_set_root_global_pc_s_p,                     /*   1006 */
+  Parrot_set_root_global_p_sc_p,                     /*   1007 */
+  Parrot_set_root_global_pc_sc_p,                    /*   1008 */
+  Parrot_find_name_p_s,                              /*   1009 */
+  Parrot_find_name_p_sc,                             /*   1010 */
+  Parrot_find_sub_not_null_p_s,                      /*   1011 */
+  Parrot_find_sub_not_null_p_sc,                     /*   1012 */
+  Parrot_trap,                                       /*   1013 */
+  Parrot_set_label_p_ic,                             /*   1014 */
+  Parrot_get_label_i_p,                              /*   1015 */
+  Parrot_fetch_p_p_p_p,                              /*   1016 */
+  Parrot_fetch_p_pc_p_p,                             /*   1017 */
+  Parrot_fetch_p_p_pc_p,                             /*   1018 */
+  Parrot_fetch_p_pc_pc_p,                            /*   1019 */
+  Parrot_fetch_p_p_p_pc,                             /*   1020 */
+  Parrot_fetch_p_pc_p_pc,                            /*   1021 */
+  Parrot_fetch_p_p_pc_pc,                            /*   1022 */
+  Parrot_fetch_p_pc_pc_pc,                           /*   1023 */
+  Parrot_fetch_p_p_i_p,                              /*   1024 */
+  Parrot_fetch_p_pc_i_p,                             /*   1025 */
+  Parrot_fetch_p_p_ic_p,                             /*   1026 */
+  Parrot_fetch_p_pc_ic_p,                            /*   1027 */
+  Parrot_fetch_p_p_i_pc,                             /*   1028 */
+  Parrot_fetch_p_pc_i_pc,                            /*   1029 */
+  Parrot_fetch_p_p_ic_pc,                            /*   1030 */
+  Parrot_fetch_p_pc_ic_pc,                           /*   1031 */
+  Parrot_fetch_p_p_s_p,                              /*   1032 */
+  Parrot_fetch_p_pc_s_p,                             /*   1033 */
+  Parrot_fetch_p_p_sc_p,                             /*   1034 */
+  Parrot_fetch_p_pc_sc_p,                            /*   1035 */
+  Parrot_fetch_p_p_s_pc,                             /*   1036 */
+  Parrot_fetch_p_pc_s_pc,                            /*   1037 */
+  Parrot_fetch_p_p_sc_pc,                            /*   1038 */
+  Parrot_fetch_p_pc_sc_pc,                           /*   1039 */
+  Parrot_vivify_p_p_p_p,                             /*   1040 */
+  Parrot_vivify_p_pc_p_p,                            /*   1041 */
+  Parrot_vivify_p_p_pc_p,                            /*   1042 */
+  Parrot_vivify_p_pc_pc_p,                           /*   1043 */
+  Parrot_vivify_p_p_p_pc,                            /*   1044 */
+  Parrot_vivify_p_pc_p_pc,                           /*   1045 */
+  Parrot_vivify_p_p_pc_pc,                           /*   1046 */
+  Parrot_vivify_p_pc_pc_pc,                          /*   1047 */
+  Parrot_vivify_p_p_i_p,                             /*   1048 */
+  Parrot_vivify_p_pc_i_p,                            /*   1049 */
+  Parrot_vivify_p_p_ic_p,                            /*   1050 */
+  Parrot_vivify_p_pc_ic_p,                           /*   1051 */
+  Parrot_vivify_p_p_i_pc,                            /*   1052 */
+  Parrot_vivify_p_pc_i_pc,                           /*   1053 */
+  Parrot_vivify_p_p_ic_pc,                           /*   1054 */
+  Parrot_vivify_p_pc_ic_pc,                          /*   1055 */
+  Parrot_vivify_p_p_s_p,                             /*   1056 */
+  Parrot_vivify_p_pc_s_p,                            /*   1057 */
+  Parrot_vivify_p_p_sc_p,                            /*   1058 */
+  Parrot_vivify_p_pc_sc_p,                           /*   1059 */
+  Parrot_vivify_p_p_s_pc,                            /*   1060 */
+  Parrot_vivify_p_pc_s_pc,                           /*   1061 */
+  Parrot_vivify_p_p_sc_pc,                           /*   1062 */
+  Parrot_vivify_p_pc_sc_pc,                          /*   1063 */
+  Parrot_new_p_s_i,                                  /*   1064 */
+  Parrot_new_p_sc_i,                                 /*   1065 */
+  Parrot_new_p_s_ic,                                 /*   1066 */
+  Parrot_new_p_sc_ic,                                /*   1067 */
+  Parrot_new_p_p_i,                                  /*   1068 */
+  Parrot_new_p_pc_i,                                 /*   1069 */
+  Parrot_new_p_p_ic,                                 /*   1070 */
+  Parrot_new_p_pc_ic,                                /*   1071 */
+  Parrot_root_new_p_p_i,                             /*   1072 */
+  Parrot_root_new_p_pc_i,                            /*   1073 */
+  Parrot_root_new_p_p_ic,                            /*   1074 */
+  Parrot_root_new_p_pc_ic,                           /*   1075 */
+  Parrot_find_codepoint_i_s,                         /*   1076 */
+  Parrot_find_codepoint_i_sc,                        /*   1077 */
+  Parrot_finalize_p,                                 /*   1078 */
+  Parrot_finalize_pc,                                /*   1079 */
 
   NULL /* NULL function pointer */
 };
@@ -1345,7 +1157,7 @@
 ** Op Info Table:
 */
 
-static op_info_t core_op_info_table[1269] = {
+static op_info_t core_op_info_table[1081] = {
   { /* 0 */
     /* type PARROT_INLINE_OP, */
     "end",
@@ -2777,1424 +2589,1424 @@
   { /* 119 */
     /* type PARROT_INLINE_OP, */
     "band",
-    "band_p_i",
-    "Parrot_band_p_i",
+    "band_i_i_i",
+    "Parrot_band_i_i_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_I },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 120 */
     /* type PARROT_INLINE_OP, */
     "band",
-    "band_p_ic",
-    "Parrot_band_p_ic",
+    "band_i_ic_i",
+    "Parrot_band_i_ic_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 121 */
     /* type PARROT_INLINE_OP, */
     "band",
-    "band_p_p",
-    "Parrot_band_p_p",
+    "band_i_i_ic",
+    "Parrot_band_i_i_ic",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 122 */
     /* type PARROT_INLINE_OP, */
-    "band",
-    "band_i_i_i",
-    "Parrot_band_i_i_i",
+    "bor",
+    "bor_i_i",
+    "Parrot_bor_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 }
+    3,
+    { PARROT_ARG_I, PARROT_ARG_I },
+    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 123 */
     /* type PARROT_INLINE_OP, */
-    "band",
-    "band_i_ic_i",
-    "Parrot_band_i_ic_i",
+    "bor",
+    "bor_i_ic",
+    "Parrot_bor_i_ic",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 124 */
     /* type PARROT_INLINE_OP, */
-    "band",
-    "band_i_i_ic",
-    "Parrot_band_i_i_ic",
+    "bor",
+    "bor_i_i_i",
+    "Parrot_bor_i_i_i",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
     { 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",
+    "bor",
+    "bor_i_ic_i",
+    "Parrot_bor_i_ic_i",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 126 */
     /* type PARROT_INLINE_OP, */
-    "band",
-    "band_p_p_ic",
-    "Parrot_band_p_p_ic",
+    "bor",
+    "bor_i_i_ic",
+    "Parrot_bor_i_i_ic",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 127 */
     /* type PARROT_INLINE_OP, */
-    "band",
-    "band_p_p_p",
-    "Parrot_band_p_p_p",
+    "shl",
+    "shl_i_i",
+    "Parrot_shl_i_i",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_I, PARROT_ARG_I },
+    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 128 */
     /* type PARROT_INLINE_OP, */
-    "bands",
-    "bands_p_s",
-    "Parrot_bands_p_s",
+    "shl",
+    "shl_i_ic",
+    "Parrot_shl_i_ic",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_S },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 129 */
     /* type PARROT_INLINE_OP, */
-    "bands",
-    "bands_p_sc",
-    "Parrot_bands_p_sc",
+    "shl",
+    "shl_i_i_i",
+    "Parrot_shl_i_i_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_SC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 130 */
     /* type PARROT_INLINE_OP, */
-    "bands",
-    "bands_p_p",
-    "Parrot_bands_p_p",
+    "shl",
+    "shl_i_ic_i",
+    "Parrot_shl_i_ic_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 131 */
     /* type PARROT_INLINE_OP, */
-    "bands",
-    "bands_s_s_s",
-    "Parrot_bands_s_s_s",
+    "shl",
+    "shl_i_i_ic",
+    "Parrot_shl_i_i_ic",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_S },
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
     { 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",
+    "shr",
+    "shr_i_i",
+    "Parrot_shr_i_i",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_I, PARROT_ARG_I },
+    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 133 */
     /* type PARROT_INLINE_OP, */
-    "bands",
-    "bands_s_s_sc",
-    "Parrot_bands_s_s_sc",
+    "shr",
+    "shr_i_ic",
+    "Parrot_shr_i_ic",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 134 */
     /* type PARROT_INLINE_OP, */
-    "bands",
-    "bands_p_p_s",
-    "Parrot_bands_p_p_s",
+    "shr",
+    "shr_i_i_i",
+    "Parrot_shr_i_i_i",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 135 */
     /* type PARROT_INLINE_OP, */
-    "bands",
-    "bands_p_p_sc",
-    "Parrot_bands_p_p_sc",
+    "shr",
+    "shr_i_ic_i",
+    "Parrot_shr_i_ic_i",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 136 */
     /* type PARROT_INLINE_OP, */
-    "bands",
-    "bands_p_p_p",
-    "Parrot_bands_p_p_p",
+    "shr",
+    "shr_i_i_ic",
+    "Parrot_shr_i_i_ic",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 137 */
     /* type PARROT_INLINE_OP, */
-    "bnot",
-    "bnot_i",
-    "Parrot_bnot_i",
+    "lsr",
+    "lsr_i_i",
+    "Parrot_lsr_i_i",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_I },
-    { PARROT_ARGDIR_INOUT },
-    { 0 }
+    3,
+    { PARROT_ARG_I, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 138 */
     /* type PARROT_INLINE_OP, */
-    "bnot",
-    "bnot_i_i",
-    "Parrot_bnot_i_i",
+    "lsr",
+    "lsr_i_ic",
+    "Parrot_lsr_i_ic",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_I, PARROT_ARG_I },
+    { PARROT_ARG_I, PARROT_ARG_IC },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 139 */
     /* type PARROT_INLINE_OP, */
-    "bnot",
-    "bnot_p",
-    "Parrot_bnot_p",
+    "lsr",
+    "lsr_i_i_i",
+    "Parrot_lsr_i_i_i",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_P },
-    { PARROT_ARGDIR_IN },
-    { 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 140 */
     /* type PARROT_INLINE_OP, */
-    "bnot",
-    "bnot_p_p",
-    "Parrot_bnot_p_p",
+    "lsr",
+    "lsr_i_ic_i",
+    "Parrot_lsr_i_ic_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 141 */
     /* type PARROT_INLINE_OP, */
-    "bnots",
-    "bnots_s_s",
-    "Parrot_bnots_s_s",
+    "lsr",
+    "lsr_i_i_ic",
+    "Parrot_lsr_i_i_ic",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_S, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 142 */
     /* type PARROT_INLINE_OP, */
-    "bnots",
-    "bnots_s_sc",
-    "Parrot_bnots_s_sc",
+    "bxor",
+    "bxor_i_i",
+    "Parrot_bxor_i_i",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_S, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { PARROT_ARG_I, PARROT_ARG_I },
+    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 143 */
     /* type PARROT_INLINE_OP, */
-    "bnots",
-    "bnots_p",
-    "Parrot_bnots_p",
+    "bxor",
+    "bxor_i_ic",
+    "Parrot_bxor_i_ic",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_P },
-    { PARROT_ARGDIR_IN },
-    { 0 }
+    3,
+    { PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 144 */
     /* type PARROT_INLINE_OP, */
-    "bnots",
-    "bnots_p_p",
-    "Parrot_bnots_p_p",
+    "bxor",
+    "bxor_i_i_i",
+    "Parrot_bxor_i_i_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 145 */
     /* type PARROT_INLINE_OP, */
-    "bor",
-    "bor_i_i",
-    "Parrot_bor_i_i",
+    "bxor",
+    "bxor_i_ic_i",
+    "Parrot_bxor_i_ic_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_I },
-    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 146 */
     /* type PARROT_INLINE_OP, */
-    "bor",
-    "bor_i_ic",
-    "Parrot_bor_i_ic",
+    "bxor",
+    "bxor_i_i_ic",
+    "Parrot_bxor_i_i_ic",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_IC },
-    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 147 */
     /* type PARROT_INLINE_OP, */
-    "bor",
-    "bor_p_i",
-    "Parrot_bor_p_i",
+    "eq",
+    "eq_i_i_ic",
+    "Parrot_eq_i_i_ic",
     /* "",  body */
-    0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_I },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    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 }
   },
   { /* 148 */
     /* type PARROT_INLINE_OP, */
-    "bor",
-    "bor_p_ic",
-    "Parrot_bor_p_ic",
+    "eq",
+    "eq_ic_i_ic",
+    "Parrot_eq_ic_i_ic",
     /* "",  body */
-    0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    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 }
   },
   { /* 149 */
     /* type PARROT_INLINE_OP, */
-    "bor",
-    "bor_p_p",
-    "Parrot_bor_p_p",
+    "eq",
+    "eq_i_ic_ic",
+    "Parrot_eq_i_ic_ic",
     /* "",  body */
-    0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    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 }
   },
   { /* 150 */
     /* type PARROT_INLINE_OP, */
-    "bor",
-    "bor_i_i_i",
-    "Parrot_bor_i_i_i",
+    "eq",
+    "eq_n_n_ic",
+    "Parrot_eq_n_n_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 1 }
   },
   { /* 151 */
     /* type PARROT_INLINE_OP, */
-    "bor",
-    "bor_i_ic_i",
-    "Parrot_bor_i_ic_i",
+    "eq",
+    "eq_nc_n_ic",
+    "Parrot_eq_nc_n_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { PARROT_ARG_NC, PARROT_ARG_N, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 1 }
   },
   { /* 152 */
     /* type PARROT_INLINE_OP, */
-    "bor",
-    "bor_i_i_ic",
-    "Parrot_bor_i_i_ic",
+    "eq",
+    "eq_n_nc_ic",
+    "Parrot_eq_n_nc_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 1 }
   },
   { /* 153 */
-    /* type PARROT_INLINE_OP, */
-    "bor",
-    "bor_p_p_i",
-    "Parrot_bor_p_p_i",
+    /* type PARROT_FUNCTION_OP, */
+    "eq",
+    "eq_s_s_ic",
+    "Parrot_eq_s_s_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
+    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { 0, 0, 1 }
   },
   { /* 154 */
-    /* type PARROT_INLINE_OP, */
-    "bor",
-    "bor_p_p_ic",
-    "Parrot_bor_p_p_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "eq",
+    "eq_sc_s_ic",
+    "Parrot_eq_sc_s_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+    { PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_IC },
     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { 0, 0, 1 }
   },
   { /* 155 */
-    /* type PARROT_INLINE_OP, */
-    "bor",
-    "bor_p_p_p",
-    "Parrot_bor_p_p_p",
+    /* type PARROT_FUNCTION_OP, */
+    "eq",
+    "eq_s_sc_ic",
+    "Parrot_eq_s_sc_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { 0, 0, 1 }
   },
   { /* 156 */
-    /* type PARROT_INLINE_OP, */
-    "bors",
-    "bors_p_s",
-    "Parrot_bors_p_s",
+    /* type PARROT_FUNCTION_OP, */
+    "eq",
+    "eq_p_p_ic",
+    "Parrot_eq_p_p_ic",
     /* "",  body */
-    0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_S },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    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 }
   },
   { /* 157 */
-    /* type PARROT_INLINE_OP, */
-    "bors",
-    "bors_p_sc",
-    "Parrot_bors_p_sc",
+    /* type PARROT_FUNCTION_OP, */
+    "eq",
+    "eq_p_i_ic",
+    "Parrot_eq_p_i_ic",
     /* "",  body */
-    0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_SC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    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 }
   },
   { /* 158 */
-    /* type PARROT_INLINE_OP, */
-    "bors",
-    "bors_p_p",
-    "Parrot_bors_p_p",
+    /* type PARROT_FUNCTION_OP, */
+    "eq",
+    "eq_p_ic_ic",
+    "Parrot_eq_p_ic_ic",
     /* "",  body */
-    0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    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 }
   },
   { /* 159 */
-    /* type PARROT_INLINE_OP, */
-    "bors",
-    "bors_s_s_s",
-    "Parrot_bors_s_s_s",
+    /* type PARROT_FUNCTION_OP, */
+    "eq",
+    "eq_p_n_ic",
+    "Parrot_eq_p_n_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { PARROT_ARG_P, PARROT_ARG_N, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 1 }
   },
   { /* 160 */
-    /* type PARROT_INLINE_OP, */
-    "bors",
-    "bors_s_sc_s",
-    "Parrot_bors_s_sc_s",
+    /* type PARROT_FUNCTION_OP, */
+    "eq",
+    "eq_p_nc_ic",
+    "Parrot_eq_p_nc_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { PARROT_ARG_P, PARROT_ARG_NC, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 1 }
   },
   { /* 161 */
-    /* type PARROT_INLINE_OP, */
-    "bors",
-    "bors_s_s_sc",
-    "Parrot_bors_s_s_sc",
+    /* type PARROT_FUNCTION_OP, */
+    "eq",
+    "eq_p_s_ic",
+    "Parrot_eq_p_s_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 1 }
   },
   { /* 162 */
-    /* type PARROT_INLINE_OP, */
-    "bors",
-    "bors_p_p_s",
-    "Parrot_bors_p_p_s",
+    /* type PARROT_FUNCTION_OP, */
+    "eq",
+    "eq_p_sc_ic",
+    "Parrot_eq_p_sc_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
+    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_IC },
     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { 0, 0, 1 }
   },
   { /* 163 */
-    /* type PARROT_INLINE_OP, */
-    "bors",
-    "bors_p_p_sc",
-    "Parrot_bors_p_p_sc",
+    /* type PARROT_FUNCTION_OP, */
+    "eq_str",
+    "eq_str_p_p_ic",
+    "Parrot_eq_str_p_p_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { 0, 0, 1 }
   },
   { /* 164 */
-    /* type PARROT_INLINE_OP, */
-    "bors",
-    "bors_p_p_p",
-    "Parrot_bors_p_p_p",
+    /* type PARROT_FUNCTION_OP, */
+    "eq_num",
+    "eq_num_p_p_ic",
+    "Parrot_eq_num_p_p_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { 0, 0, 1 }
   },
   { /* 165 */
-    /* type PARROT_INLINE_OP, */
-    "shl",
-    "shl_i_i",
-    "Parrot_shl_i_i",
+    /* type PARROT_FUNCTION_OP, */
+    "eq_addr",
+    "eq_addr_s_s_ic",
+    "Parrot_eq_addr_s_s_ic",
     /* "",  body */
-    0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_I },
-    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    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 }
   },
   { /* 166 */
-    /* type PARROT_INLINE_OP, */
-    "shl",
-    "shl_i_ic",
-    "Parrot_shl_i_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "eq_addr",
+    "eq_addr_sc_s_ic",
+    "Parrot_eq_addr_sc_s_ic",
     /* "",  body */
-    0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_IC },
-    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    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 }
   },
   { /* 167 */
-    /* type PARROT_INLINE_OP, */
-    "shl",
-    "shl_p_i",
-    "Parrot_shl_p_i",
+    /* type PARROT_FUNCTION_OP, */
+    "eq_addr",
+    "eq_addr_s_sc_ic",
+    "Parrot_eq_addr_s_sc_ic",
     /* "",  body */
-    0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_I },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    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 }
   },
   { /* 168 */
-    /* type PARROT_INLINE_OP, */
-    "shl",
-    "shl_p_ic",
-    "Parrot_shl_p_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "eq_addr",
+    "eq_addr_sc_sc_ic",
+    "Parrot_eq_addr_sc_sc_ic",
     /* "",  body */
-    0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    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 }
   },
   { /* 169 */
-    /* type PARROT_INLINE_OP, */
-    "shl",
-    "shl_p_p",
-    "Parrot_shl_p_p",
+    /* type PARROT_FUNCTION_OP, */
+    "eq_addr",
+    "eq_addr_p_p_ic",
+    "Parrot_eq_addr_p_p_ic",
     /* "",  body */
-    0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    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 }
   },
   { /* 170 */
     /* type PARROT_INLINE_OP, */
-    "shl",
-    "shl_i_i_i",
-    "Parrot_shl_i_i_i",
+    "ne",
+    "ne_i_i_ic",
+    "Parrot_ne_i_i_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 1 }
   },
   { /* 171 */
     /* type PARROT_INLINE_OP, */
-    "shl",
-    "shl_i_ic_i",
-    "Parrot_shl_i_ic_i",
+    "ne",
+    "ne_ic_i_ic",
+    "Parrot_ne_ic_i_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { PARROT_ARG_IC, PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 1 }
   },
   { /* 172 */
     /* type PARROT_INLINE_OP, */
-    "shl",
-    "shl_i_i_ic",
-    "Parrot_shl_i_i_ic",
+    "ne",
+    "ne_i_ic_ic",
+    "Parrot_ne_i_ic_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 1 }
   },
   { /* 173 */
     /* type PARROT_INLINE_OP, */
-    "shl",
-    "shl_p_p_i",
-    "Parrot_shl_p_p_i",
+    "ne",
+    "ne_n_n_ic",
+    "Parrot_ne_n_n_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
+    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_IC },
     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { 0, 0, 1 }
   },
   { /* 174 */
     /* type PARROT_INLINE_OP, */
-    "shl",
-    "shl_p_p_ic",
-    "Parrot_shl_p_p_ic",
+    "ne",
+    "ne_nc_n_ic",
+    "Parrot_ne_nc_n_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+    { PARROT_ARG_NC, PARROT_ARG_N, PARROT_ARG_IC },
     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { 0, 0, 1 }
   },
   { /* 175 */
     /* type PARROT_INLINE_OP, */
-    "shl",
-    "shl_p_p_p",
-    "Parrot_shl_p_p_p",
+    "ne",
+    "ne_n_nc_ic",
+    "Parrot_ne_n_nc_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_IC },
     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { 0, 0, 1 }
   },
   { /* 176 */
-    /* type PARROT_INLINE_OP, */
-    "shr",
-    "shr_i_i",
-    "Parrot_shr_i_i",
+    /* type PARROT_FUNCTION_OP, */
+    "ne",
+    "ne_s_s_ic",
+    "Parrot_ne_s_s_ic",
     /* "",  body */
-    0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_I },
-    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    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 }
   },
   { /* 177 */
-    /* type PARROT_INLINE_OP, */
-    "shr",
-    "shr_i_ic",
-    "Parrot_shr_i_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "ne",
+    "ne_sc_s_ic",
+    "Parrot_ne_sc_s_ic",
     /* "",  body */
-    0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_IC },
-    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    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 }
   },
   { /* 178 */
-    /* type PARROT_INLINE_OP, */
-    "shr",
-    "shr_p_i",
-    "Parrot_shr_p_i",
+    /* type PARROT_FUNCTION_OP, */
+    "ne",
+    "ne_s_sc_ic",
+    "Parrot_ne_s_sc_ic",
     /* "",  body */
-    0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_I },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    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 }
   },
   { /* 179 */
-    /* type PARROT_INLINE_OP, */
-    "shr",
-    "shr_p_ic",
-    "Parrot_shr_p_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "ne",
+    "ne_p_p_ic",
+    "Parrot_ne_p_p_ic",
     /* "",  body */
-    0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    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 }
   },
   { /* 180 */
-    /* type PARROT_INLINE_OP, */
-    "shr",
-    "shr_p_p",
-    "Parrot_shr_p_p",
+    /* type PARROT_FUNCTION_OP, */
+    "ne",
+    "ne_p_i_ic",
+    "Parrot_ne_p_i_ic",
     /* "",  body */
-    0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    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 }
   },
   { /* 181 */
-    /* type PARROT_INLINE_OP, */
-    "shr",
-    "shr_i_i_i",
-    "Parrot_shr_i_i_i",
+    /* type PARROT_FUNCTION_OP, */
+    "ne",
+    "ne_p_ic_ic",
+    "Parrot_ne_p_ic_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
-  },
+    { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 1 }
+  },
   { /* 182 */
-    /* type PARROT_INLINE_OP, */
-    "shr",
-    "shr_i_ic_i",
-    "Parrot_shr_i_ic_i",
+    /* type PARROT_FUNCTION_OP, */
+    "ne",
+    "ne_p_n_ic",
+    "Parrot_ne_p_n_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { PARROT_ARG_P, PARROT_ARG_N, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 1 }
   },
   { /* 183 */
-    /* type PARROT_INLINE_OP, */
-    "shr",
-    "shr_i_i_ic",
-    "Parrot_shr_i_i_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "ne",
+    "ne_p_nc_ic",
+    "Parrot_ne_p_nc_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { PARROT_ARG_P, PARROT_ARG_NC, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 1 }
   },
   { /* 184 */
-    /* type PARROT_INLINE_OP, */
-    "shr",
-    "shr_p_p_i",
-    "Parrot_shr_p_p_i",
+    /* type PARROT_FUNCTION_OP, */
+    "ne",
+    "ne_p_s_ic",
+    "Parrot_ne_p_s_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
+    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_IC },
     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { 0, 0, 1 }
   },
   { /* 185 */
-    /* type PARROT_INLINE_OP, */
-    "shr",
-    "shr_p_p_ic",
-    "Parrot_shr_p_p_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "ne",
+    "ne_p_sc_ic",
+    "Parrot_ne_p_sc_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_IC },
     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { 0, 0, 1 }
   },
   { /* 186 */
-    /* type PARROT_INLINE_OP, */
-    "shr",
-    "shr_p_p_p",
-    "Parrot_shr_p_p_p",
+    /* type PARROT_FUNCTION_OP, */
+    "ne_str",
+    "ne_str_p_p_ic",
+    "Parrot_ne_str_p_p_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { 0, 0, 1 }
   },
   { /* 187 */
-    /* type PARROT_INLINE_OP, */
-    "lsr",
-    "lsr_i_i",
-    "Parrot_lsr_i_i",
+    /* type PARROT_FUNCTION_OP, */
+    "ne_num",
+    "ne_num_p_p_ic",
+    "Parrot_ne_num_p_p_ic",
     /* "",  body */
-    0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    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 }
   },
   { /* 188 */
-    /* type PARROT_INLINE_OP, */
-    "lsr",
-    "lsr_i_ic",
-    "Parrot_lsr_i_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "ne_addr",
+    "ne_addr_s_s_ic",
+    "Parrot_ne_addr_s_s_ic",
     /* "",  body */
-    0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    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 }
   },
   { /* 189 */
-    /* type PARROT_INLINE_OP, */
-    "lsr",
-    "lsr_p_i",
-    "Parrot_lsr_p_i",
+    /* type PARROT_FUNCTION_OP, */
+    "ne_addr",
+    "ne_addr_sc_s_ic",
+    "Parrot_ne_addr_sc_s_ic",
     /* "",  body */
-    0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_I },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    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 }
   },
   { /* 190 */
-    /* type PARROT_INLINE_OP, */
-    "lsr",
-    "lsr_p_ic",
-    "Parrot_lsr_p_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "ne_addr",
+    "ne_addr_s_sc_ic",
+    "Parrot_ne_addr_s_sc_ic",
     /* "",  body */
-    0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    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 }
   },
   { /* 191 */
-    /* type PARROT_INLINE_OP, */
-    "lsr",
-    "lsr_p_p",
-    "Parrot_lsr_p_p",
+    /* type PARROT_FUNCTION_OP, */
+    "ne_addr",
+    "ne_addr_sc_sc_ic",
+    "Parrot_ne_addr_sc_sc_ic",
     /* "",  body */
-    0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    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 }
   },
   { /* 192 */
-    /* type PARROT_INLINE_OP, */
-    "lsr",
-    "lsr_i_i_i",
-    "Parrot_lsr_i_i_i",
+    /* type PARROT_FUNCTION_OP, */
+    "ne_addr",
+    "ne_addr_p_p_ic",
+    "Parrot_ne_addr_p_p_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 1 }
   },
   { /* 193 */
     /* type PARROT_INLINE_OP, */
-    "lsr",
-    "lsr_i_ic_i",
-    "Parrot_lsr_i_ic_i",
+    "lt",
+    "lt_i_i_ic",
+    "Parrot_lt_i_i_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 1 }
   },
   { /* 194 */
     /* type PARROT_INLINE_OP, */
-    "lsr",
-    "lsr_i_i_ic",
-    "Parrot_lsr_i_i_ic",
+    "lt",
+    "lt_ic_i_ic",
+    "Parrot_lt_ic_i_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { PARROT_ARG_IC, PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 1 }
   },
   { /* 195 */
     /* type PARROT_INLINE_OP, */
-    "lsr",
-    "lsr_p_p_i",
-    "Parrot_lsr_p_p_i",
+    "lt",
+    "lt_i_ic_ic",
+    "Parrot_lt_i_ic_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
+    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_IC },
     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { 0, 0, 1 }
   },
   { /* 196 */
     /* type PARROT_INLINE_OP, */
-    "lsr",
-    "lsr_p_p_ic",
-    "Parrot_lsr_p_p_ic",
+    "lt",
+    "lt_n_n_ic",
+    "Parrot_lt_n_n_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_IC },
     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { 0, 0, 1 }
   },
   { /* 197 */
     /* type PARROT_INLINE_OP, */
-    "lsr",
-    "lsr_p_p_p",
-    "Parrot_lsr_p_p_p",
+    "lt",
+    "lt_nc_n_ic",
+    "Parrot_lt_nc_n_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARG_NC, PARROT_ARG_N, PARROT_ARG_IC },
     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { 0, 0, 1 }
   },
   { /* 198 */
     /* type PARROT_INLINE_OP, */
-    "rot",
-    "rot_i_i_i_ic",
-    "Parrot_rot_i_i_i_ic",
+    "lt",
+    "lt_n_nc_ic",
+    "Parrot_lt_n_nc_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 }
+    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 }
   },
   { /* 199 */
-    /* type PARROT_INLINE_OP, */
-    "rot",
-    "rot_i_ic_i_ic",
-    "Parrot_rot_i_ic_i_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "lt",
+    "lt_s_s_ic",
+    "Parrot_lt_s_s_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 }
+    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 }
   },
   { /* 200 */
-    /* type PARROT_INLINE_OP, */
-    "rot",
-    "rot_i_i_ic_ic",
-    "Parrot_rot_i_i_ic_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "lt",
+    "lt_sc_s_ic",
+    "Parrot_lt_sc_s_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 }
+    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 }
   },
   { /* 201 */
-    /* type PARROT_INLINE_OP, */
-    "bxor",
-    "bxor_i_i",
-    "Parrot_bxor_i_i",
+    /* type PARROT_FUNCTION_OP, */
+    "lt",
+    "lt_s_sc_ic",
+    "Parrot_lt_s_sc_ic",
     /* "",  body */
-    0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_I },
-    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    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 }
   },
   { /* 202 */
-    /* type PARROT_INLINE_OP, */
-    "bxor",
-    "bxor_i_ic",
-    "Parrot_bxor_i_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "lt",
+    "lt_p_p_ic",
+    "Parrot_lt_p_p_ic",
     /* "",  body */
-    0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_IC },
-    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    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 }
   },
   { /* 203 */
-    /* type PARROT_INLINE_OP, */
-    "bxor",
-    "bxor_p_i",
-    "Parrot_bxor_p_i",
+    /* type PARROT_FUNCTION_OP, */
+    "lt",
+    "lt_p_i_ic",
+    "Parrot_lt_p_i_ic",
     /* "",  body */
-    0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_I },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    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 }
   },
   { /* 204 */
-    /* type PARROT_INLINE_OP, */
-    "bxor",
-    "bxor_p_ic",
-    "Parrot_bxor_p_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "lt",
+    "lt_p_ic_ic",
+    "Parrot_lt_p_ic_ic",
     /* "",  body */
-    0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    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 }
   },
   { /* 205 */
-    /* type PARROT_INLINE_OP, */
-    "bxor",
-    "bxor_p_p",
-    "Parrot_bxor_p_p",
+    /* type PARROT_FUNCTION_OP, */
+    "lt",
+    "lt_p_n_ic",
+    "Parrot_lt_p_n_ic",
     /* "",  body */
-    0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    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 }
   },
   { /* 206 */
-    /* type PARROT_INLINE_OP, */
-    "bxor",
-    "bxor_i_i_i",
-    "Parrot_bxor_i_i_i",
+    /* type PARROT_FUNCTION_OP, */
+    "lt",
+    "lt_p_nc_ic",
+    "Parrot_lt_p_nc_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { PARROT_ARG_P, PARROT_ARG_NC, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 1 }
   },
   { /* 207 */
-    /* type PARROT_INLINE_OP, */
-    "bxor",
-    "bxor_i_ic_i",
-    "Parrot_bxor_i_ic_i",
+    /* type PARROT_FUNCTION_OP, */
+    "lt",
+    "lt_p_s_ic",
+    "Parrot_lt_p_s_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 1 }
   },
   { /* 208 */
-    /* type PARROT_INLINE_OP, */
-    "bxor",
-    "bxor_i_i_ic",
-    "Parrot_bxor_i_i_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "lt",
+    "lt_p_sc_ic",
+    "Parrot_lt_p_sc_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 1 }
   },
   { /* 209 */
-    /* type PARROT_INLINE_OP, */
-    "bxor",
-    "bxor_p_p_i",
-    "Parrot_bxor_p_p_i",
+    /* type PARROT_FUNCTION_OP, */
+    "lt_str",
+    "lt_str_p_p_ic",
+    "Parrot_lt_str_p_p_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { 0, 0, 1 }
   },
   { /* 210 */
-    /* type PARROT_INLINE_OP, */
-    "bxor",
-    "bxor_p_p_ic",
-    "Parrot_bxor_p_p_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "lt_num",
+    "lt_num_p_p_ic",
+    "Parrot_lt_num_p_p_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
     { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { 0, 0, 1 }
   },
   { /* 211 */
     /* type PARROT_INLINE_OP, */
-    "bxor",
-    "bxor_p_p_p",
-    "Parrot_bxor_p_p_p",
+    "le",
+    "le_i_i_ic",
+    "Parrot_le_i_i_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { 0, 0, 1 }
   },
   { /* 212 */
     /* type PARROT_INLINE_OP, */
-    "bxors",
-    "bxors_p_s",
-    "Parrot_bxors_p_s",
+    "le",
+    "le_ic_i_ic",
+    "Parrot_le_ic_i_ic",
     /* "",  body */
-    0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_S },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    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 }
   },
   { /* 213 */
     /* type PARROT_INLINE_OP, */
-    "bxors",
-    "bxors_p_sc",
-    "Parrot_bxors_p_sc",
+    "le",
+    "le_i_ic_ic",
+    "Parrot_le_i_ic_ic",
     /* "",  body */
-    0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_SC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    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 }
   },
   { /* 214 */
     /* type PARROT_INLINE_OP, */
-    "bxors",
-    "bxors_p_p",
-    "Parrot_bxors_p_p",
+    "le",
+    "le_n_n_ic",
+    "Parrot_le_n_n_ic",
     /* "",  body */
-    0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    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 }
   },
   { /* 215 */
     /* type PARROT_INLINE_OP, */
-    "bxors",
-    "bxors_s_s_s",
-    "Parrot_bxors_s_s_s",
+    "le",
+    "le_nc_n_ic",
+    "Parrot_le_nc_n_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { PARROT_ARG_NC, PARROT_ARG_N, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 1 }
   },
   { /* 216 */
     /* type PARROT_INLINE_OP, */
-    "bxors",
-    "bxors_s_sc_s",
-    "Parrot_bxors_s_sc_s",
+    "le",
+    "le_n_nc_ic",
+    "Parrot_le_n_nc_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 1 }
   },
   { /* 217 */
-    /* type PARROT_INLINE_OP, */
-    "bxors",
-    "bxors_s_s_sc",
-    "Parrot_bxors_s_s_sc",
+    /* type PARROT_FUNCTION_OP, */
+    "le",
+    "le_s_s_ic",
+    "Parrot_le_s_s_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 1 }
   },
   { /* 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 },
+    /* 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, 0 }
+    { 0, 0, 1 }
   },
   { /* 219 */
-    /* type PARROT_INLINE_OP, */
-    "bxors",
-    "bxors_p_p_sc",
-    "Parrot_bxors_p_p_sc",
+    /* type PARROT_FUNCTION_OP, */
+    "le",
+    "le_s_sc_ic",
+    "Parrot_le_s_sc_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
+    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { 0, 0, 1 }
   },
   { /* 220 */
-    /* type PARROT_INLINE_OP, */
-    "bxors",
-    "bxors_p_p_p",
-    "Parrot_bxors_p_p_p",
+    /* type PARROT_FUNCTION_OP, */
+    "le",
+    "le_p_p_ic",
+    "Parrot_le_p_p_ic",
     /* "",  body */
-    0,
+    PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    { 0, 0, 1 }
   },
   { /* 221 */
-    /* type PARROT_INLINE_OP, */
-    "eq",
-    "eq_i_i_ic",
-    "Parrot_eq_i_i_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "le",
+    "le_p_i_ic",
+    "Parrot_le_p_i_ic",
     /* "",  body */
     PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARG_P, 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",
+    /* type PARROT_FUNCTION_OP, */
+    "le",
+    "le_p_ic_ic",
+    "Parrot_le_p_ic_ic",
     /* "",  body */
     PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_IC, PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARG_P, PARROT_ARG_IC, 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",
+    /* type PARROT_FUNCTION_OP, */
+    "le",
+    "le_p_n_ic",
+    "Parrot_le_p_n_ic",
     /* "",  body */
     PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_IC },
+    { PARROT_ARG_P, PARROT_ARG_N, 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",
+    /* type PARROT_FUNCTION_OP, */
+    "le",
+    "le_p_nc_ic",
+    "Parrot_le_p_nc_ic",
     /* "",  body */
     PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_IC },
+    { PARROT_ARG_P, PARROT_ARG_NC, 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",
+    /* type PARROT_FUNCTION_OP, */
+    "le",
+    "le_p_s_ic",
+    "Parrot_le_p_s_ic",
     /* "",  body */
     PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_NC, PARROT_ARG_N, PARROT_ARG_IC },
+    { PARROT_ARG_P, PARROT_ARG_S, 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",
+    /* type PARROT_FUNCTION_OP, */
+    "le",
+    "le_p_sc_ic",
+    "Parrot_le_p_sc_ic",
     /* "",  body */
     PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_IC },
+    { PARROT_ARG_P, PARROT_ARG_SC, 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",
+    "le_str",
+    "le_str_p_p_ic",
+    "Parrot_le_str_p_p_ic",
     /* "",  body */
     PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
+    { PARROT_ARG_P, PARROT_ARG_P, 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",
+    "le_num",
+    "le_num_p_p_ic",
+    "Parrot_le_num_p_p_ic",
     /* "",  body */
     PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_IC },
+    { PARROT_ARG_P, PARROT_ARG_P, 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",
+    "gt",
+    "gt_p_p_ic",
+    "Parrot_gt_p_p_ic",
     /* "",  body */
     PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
+    { PARROT_ARG_P, PARROT_ARG_P, 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",
+    "gt",
+    "gt_p_i_ic",
+    "Parrot_gt_p_i_ic",
     /* "",  body */
     PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+    { PARROT_ARG_P, PARROT_ARG_I, 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",
+    "gt",
+    "gt_p_ic_ic",
+    "Parrot_gt_p_ic_ic",
     /* "",  body */
     PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARG_P, PARROT_ARG_IC, 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",
+    "gt",
+    "gt_p_n_ic",
+    "Parrot_gt_p_n_ic",
     /* "",  body */
     PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_IC },
+    { PARROT_ARG_P, PARROT_ARG_N, 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",
+    "gt",
+    "gt_p_nc_ic",
+    "Parrot_gt_p_nc_ic",
     /* "",  body */
     PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_P, PARROT_ARG_N, PARROT_ARG_IC },
+    { PARROT_ARG_P, PARROT_ARG_NC, 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",
+    "gt",
+    "gt_p_s_ic",
+    "Parrot_gt_p_s_ic",
     /* "",  body */
     PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_P, PARROT_ARG_NC, PARROT_ARG_IC },
+    { PARROT_ARG_P, PARROT_ARG_S, 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",
+    "gt",
+    "gt_p_sc_ic",
+    "Parrot_gt_p_sc_ic",
     /* "",  body */
     PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_IC },
+    { PARROT_ARG_P, PARROT_ARG_SC, 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",
+    "gt_str",
+    "gt_str_p_p_ic",
+    "Parrot_gt_str_p_p_ic",
     /* "",  body */
     PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_IC },
+    { PARROT_ARG_P, PARROT_ARG_P, 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",
+    "gt_num",
+    "gt_num_p_p_ic",
+    "Parrot_gt_num_p_p_ic",
     /* "",  body */
     PARROT_JUMP_RELATIVE,
     4,
@@ -4204,9 +4016,9 @@
   },
   { /* 238 */
     /* type PARROT_FUNCTION_OP, */
-    "eq_num",
-    "eq_num_p_p_ic",
-    "Parrot_eq_num_p_p_ic",
+    "ge",
+    "ge_p_p_ic",
+    "Parrot_ge_p_p_ic",
     /* "",  body */
     PARROT_JUMP_RELATIVE,
     4,
@@ -4216,1041 +4028,957 @@
   },
   { /* 239 */
     /* type PARROT_FUNCTION_OP, */
-    "eq_addr",
-    "eq_addr_s_s_ic",
-    "Parrot_eq_addr_s_s_ic",
+    "ge",
+    "ge_p_i_ic",
+    "Parrot_ge_p_i_ic",
     /* "",  body */
     PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
+    { PARROT_ARG_P, PARROT_ARG_I, 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",
+    "ge",
+    "ge_p_ic_ic",
+    "Parrot_ge_p_ic_ic",
     /* "",  body */
     PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_IC },
+    { PARROT_ARG_P, PARROT_ARG_IC, 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",
+    "ge",
+    "ge_p_n_ic",
+    "Parrot_ge_p_n_ic",
     /* "",  body */
     PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
+    { PARROT_ARG_P, PARROT_ARG_N, 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",
+    "ge",
+    "ge_p_nc_ic",
+    "Parrot_ge_p_nc_ic",
     /* "",  body */
     PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_SC, PARROT_ARG_SC, PARROT_ARG_IC },
+    { PARROT_ARG_P, PARROT_ARG_NC, 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",
+    "ge",
+    "ge_p_s_ic",
+    "Parrot_ge_p_s_ic",
     /* "",  body */
     PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+    { PARROT_ARG_P, PARROT_ARG_S, 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",
+    /* type PARROT_FUNCTION_OP, */
+    "ge",
+    "ge_p_sc_ic",
+    "Parrot_ge_p_sc_ic",
     /* "",  body */
     PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARG_P, PARROT_ARG_SC, 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",
+    /* type PARROT_FUNCTION_OP, */
+    "ge_str",
+    "ge_str_p_p_ic",
+    "Parrot_ge_str_p_p_ic",
     /* "",  body */
     PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_IC, PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARG_P, PARROT_ARG_P, 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",
+    /* type PARROT_FUNCTION_OP, */
+    "ge_num",
+    "ge_num_p_p_ic",
+    "Parrot_ge_num_p_p_ic",
     /* "",  body */
     PARROT_JUMP_RELATIVE,
     4,
-    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_IC },
+    { PARROT_ARG_P, PARROT_ARG_P, 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",
+    /* type PARROT_FUNCTION_OP, */
+    "if_null",
+    "if_null_p_ic",
+    "Parrot_if_null_p_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 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 1 }
   },
   { /* 248 */
-    /* type PARROT_INLINE_OP, */
-    "ne",
-    "ne_nc_n_ic",
-    "Parrot_ne_nc_n_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "if_null",
+    "if_null_s_ic",
+    "Parrot_if_null_s_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 }
+    3,
+    { PARROT_ARG_S, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 1 }
   },
   { /* 249 */
-    /* type PARROT_INLINE_OP, */
-    "ne",
-    "ne_n_nc_ic",
-    "Parrot_ne_n_nc_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "unless_null",
+    "unless_null_p_ic",
+    "Parrot_unless_null_p_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 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 1 }
   },
   { /* 250 */
     /* type PARROT_FUNCTION_OP, */
-    "ne",
-    "ne_s_s_ic",
-    "Parrot_ne_s_s_ic",
+    "unless_null",
+    "unless_null_s_ic",
+    "Parrot_unless_null_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 }
+    3,
+    { PARROT_ARG_S, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 1 }
   },
   { /* 251 */
-    /* type PARROT_FUNCTION_OP, */
-    "ne",
-    "ne_sc_s_ic",
-    "Parrot_ne_sc_s_ic",
+    /* type PARROT_INLINE_OP, */
+    "cmp",
+    "cmp_i_i_i",
+    "Parrot_cmp_i_i_i",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 252 */
-    /* type PARROT_FUNCTION_OP, */
-    "ne",
-    "ne_s_sc_ic",
-    "Parrot_ne_s_sc_ic",
+    /* type PARROT_INLINE_OP, */
+    "cmp",
+    "cmp_i_ic_i",
+    "Parrot_cmp_i_ic_i",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 253 */
-    /* type PARROT_FUNCTION_OP, */
-    "ne",
-    "ne_p_p_ic",
-    "Parrot_ne_p_p_ic",
+    /* type PARROT_INLINE_OP, */
+    "cmp",
+    "cmp_i_i_ic",
+    "Parrot_cmp_i_i_ic",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 254 */
-    /* type PARROT_FUNCTION_OP, */
-    "ne",
-    "ne_p_i_ic",
-    "Parrot_ne_p_i_ic",
+    /* type PARROT_INLINE_OP, */
+    "cmp",
+    "cmp_i_n_n",
+    "Parrot_cmp_i_n_n",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_N },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 255 */
-    /* type PARROT_FUNCTION_OP, */
-    "ne",
-    "ne_p_ic_ic",
-    "Parrot_ne_p_ic_ic",
+    /* type PARROT_INLINE_OP, */
+    "cmp",
+    "cmp_i_nc_n",
+    "Parrot_cmp_i_nc_n",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_NC, PARROT_ARG_N },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 256 */
-    /* type PARROT_FUNCTION_OP, */
-    "ne",
-    "ne_p_n_ic",
-    "Parrot_ne_p_n_ic",
+    /* type PARROT_INLINE_OP, */
+    "cmp",
+    "cmp_i_n_nc",
+    "Parrot_cmp_i_n_nc",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_N, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_NC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 257 */
-    /* type PARROT_FUNCTION_OP, */
-    "ne",
-    "ne_p_nc_ic",
-    "Parrot_ne_p_nc_ic",
+    /* type PARROT_INLINE_OP, */
+    "cmp",
+    "cmp_i_s_s",
+    "Parrot_cmp_i_s_s",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_NC, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 258 */
-    /* type PARROT_FUNCTION_OP, */
-    "ne",
-    "ne_p_s_ic",
-    "Parrot_ne_p_s_ic",
+    /* type PARROT_INLINE_OP, */
+    "cmp",
+    "cmp_i_sc_s",
+    "Parrot_cmp_i_sc_s",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 259 */
-    /* type PARROT_FUNCTION_OP, */
-    "ne",
-    "ne_p_sc_ic",
-    "Parrot_ne_p_sc_ic",
+    /* type PARROT_INLINE_OP, */
+    "cmp",
+    "cmp_i_s_sc",
+    "Parrot_cmp_i_s_sc",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 260 */
-    /* type PARROT_FUNCTION_OP, */
-    "ne_str",
-    "ne_str_p_p_ic",
-    "Parrot_ne_str_p_p_ic",
+    /* type PARROT_INLINE_OP, */
+    "cmp",
+    "cmp_i_p_p",
+    "Parrot_cmp_i_p_p",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 261 */
-    /* type PARROT_FUNCTION_OP, */
-    "ne_num",
-    "ne_num_p_p_ic",
-    "Parrot_ne_num_p_p_ic",
+    /* type PARROT_INLINE_OP, */
+    "cmp",
+    "cmp_i_p_i",
+    "Parrot_cmp_i_p_i",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 262 */
-    /* type PARROT_FUNCTION_OP, */
-    "ne_addr",
-    "ne_addr_s_s_ic",
-    "Parrot_ne_addr_s_s_ic",
+    /* type PARROT_INLINE_OP, */
+    "cmp",
+    "cmp_i_p_ic",
+    "Parrot_cmp_i_p_ic",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_IC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 263 */
-    /* type PARROT_FUNCTION_OP, */
-    "ne_addr",
-    "ne_addr_sc_s_ic",
-    "Parrot_ne_addr_sc_s_ic",
+    /* type PARROT_INLINE_OP, */
+    "cmp",
+    "cmp_i_p_n",
+    "Parrot_cmp_i_p_n",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_N },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 264 */
-    /* type PARROT_FUNCTION_OP, */
-    "ne_addr",
-    "ne_addr_s_sc_ic",
-    "Parrot_ne_addr_s_sc_ic",
+    /* type PARROT_INLINE_OP, */
+    "cmp",
+    "cmp_i_p_nc",
+    "Parrot_cmp_i_p_nc",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_NC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 265 */
-    /* type PARROT_FUNCTION_OP, */
-    "ne_addr",
-    "ne_addr_sc_sc_ic",
-    "Parrot_ne_addr_sc_sc_ic",
+    /* type PARROT_INLINE_OP, */
+    "cmp",
+    "cmp_i_p_s",
+    "Parrot_cmp_i_p_s",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_SC, PARROT_ARG_SC, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 266 */
-    /* type PARROT_FUNCTION_OP, */
-    "ne_addr",
-    "ne_addr_p_p_ic",
-    "Parrot_ne_addr_p_p_ic",
+    /* type PARROT_INLINE_OP, */
+    "cmp",
+    "cmp_i_p_sc",
+    "Parrot_cmp_i_p_sc",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 267 */
     /* type PARROT_INLINE_OP, */
-    "lt",
-    "lt_i_i_ic",
-    "Parrot_lt_i_i_ic",
+    "cmp_str",
+    "cmp_str_i_p_p",
+    "Parrot_cmp_str_i_p_p",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 268 */
     /* type PARROT_INLINE_OP, */
-    "lt",
-    "lt_ic_i_ic",
-    "Parrot_lt_ic_i_ic",
+    "cmp_num",
+    "cmp_num_i_p_p",
+    "Parrot_cmp_num_i_p_p",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_IC, PARROT_ARG_I, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 269 */
     /* type PARROT_INLINE_OP, */
-    "lt",
-    "lt_i_ic_ic",
-    "Parrot_lt_i_ic_ic",
+    "cmp_pmc",
+    "cmp_pmc_p_p_p",
+    "Parrot_cmp_pmc_p_p_p",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 270 */
     /* type PARROT_INLINE_OP, */
-    "lt",
-    "lt_n_n_ic",
-    "Parrot_lt_n_n_ic",
+    "issame",
+    "issame_i_p_p",
+    "Parrot_issame_i_p_p",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 271 */
     /* type PARROT_INLINE_OP, */
-    "lt",
-    "lt_nc_n_ic",
-    "Parrot_lt_nc_n_ic",
+    "issame",
+    "issame_i_s_s",
+    "Parrot_issame_i_s_s",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_NC, PARROT_ARG_N, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 272 */
     /* type PARROT_INLINE_OP, */
-    "lt",
-    "lt_n_nc_ic",
-    "Parrot_lt_n_nc_ic",
+    "issame",
+    "issame_i_sc_s",
+    "Parrot_issame_i_sc_s",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 273 */
-    /* type PARROT_FUNCTION_OP, */
-    "lt",
-    "lt_s_s_ic",
-    "Parrot_lt_s_s_ic",
+    /* type PARROT_INLINE_OP, */
+    "issame",
+    "issame_i_s_sc",
+    "Parrot_issame_i_s_sc",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 274 */
-    /* type PARROT_FUNCTION_OP, */
-    "lt",
-    "lt_sc_s_ic",
-    "Parrot_lt_sc_s_ic",
+    /* type PARROT_INLINE_OP, */
+    "issame",
+    "issame_i_sc_sc",
+    "Parrot_issame_i_sc_sc",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 275 */
-    /* type PARROT_FUNCTION_OP, */
-    "lt",
-    "lt_s_sc_ic",
-    "Parrot_lt_s_sc_ic",
+    /* type PARROT_INLINE_OP, */
+    "isntsame",
+    "isntsame_i_p_p",
+    "Parrot_isntsame_i_p_p",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 276 */
-    /* type PARROT_FUNCTION_OP, */
-    "lt",
-    "lt_p_p_ic",
-    "Parrot_lt_p_p_ic",
+    /* type PARROT_INLINE_OP, */
+    "isntsame",
+    "isntsame_i_s_s",
+    "Parrot_isntsame_i_s_s",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 277 */
-    /* type PARROT_FUNCTION_OP, */
-    "lt",
-    "lt_p_i_ic",
-    "Parrot_lt_p_i_ic",
+    /* type PARROT_INLINE_OP, */
+    "isntsame",
+    "isntsame_i_sc_s",
+    "Parrot_isntsame_i_sc_s",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 278 */
-    /* type PARROT_FUNCTION_OP, */
-    "lt",
-    "lt_p_ic_ic",
-    "Parrot_lt_p_ic_ic",
+    /* type PARROT_INLINE_OP, */
+    "isntsame",
+    "isntsame_i_s_sc",
+    "Parrot_isntsame_i_s_sc",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 279 */
-    /* type PARROT_FUNCTION_OP, */
-    "lt",
-    "lt_p_n_ic",
-    "Parrot_lt_p_n_ic",
+    /* type PARROT_INLINE_OP, */
+    "isntsame",
+    "isntsame_i_sc_sc",
+    "Parrot_isntsame_i_sc_sc",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     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",
+    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
+  },
+  { /* 280 */
+    /* type PARROT_INLINE_OP, */
+    "istrue",
+    "istrue_i_p",
+    "Parrot_istrue_i_p",
     /* "",  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 }
+    0,
+    3,
+    { PARROT_ARG_I, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 281 */
-    /* type PARROT_FUNCTION_OP, */
-    "lt",
-    "lt_p_s_ic",
-    "Parrot_lt_p_s_ic",
+    /* type PARROT_INLINE_OP, */
+    "isfalse",
+    "isfalse_i_p",
+    "Parrot_isfalse_i_p",
     /* "",  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 }
+    0,
+    3,
+    { PARROT_ARG_I, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 282 */
-    /* type PARROT_FUNCTION_OP, */
-    "lt",
-    "lt_p_sc_ic",
-    "Parrot_lt_p_sc_ic",
+    /* type PARROT_INLINE_OP, */
+    "isnull",
+    "isnull_i_p",
+    "Parrot_isnull_i_p",
     /* "",  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 }
+    0,
+    3,
+    { PARROT_ARG_I, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 283 */
-    /* type PARROT_FUNCTION_OP, */
-    "lt_str",
-    "lt_str_p_p_ic",
-    "Parrot_lt_str_p_p_ic",
+    /* type PARROT_INLINE_OP, */
+    "isnull",
+    "isnull_i_pc",
+    "Parrot_isnull_i_pc",
     /* "",  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 }
+    0,
+    3,
+    { PARROT_ARG_I, PARROT_ARG_PC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 284 */
-    /* type PARROT_FUNCTION_OP, */
-    "lt_num",
-    "lt_num_p_p_ic",
-    "Parrot_lt_num_p_p_ic",
+    /* type PARROT_INLINE_OP, */
+    "isnull",
+    "isnull_i_s",
+    "Parrot_isnull_i_s",
     /* "",  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 }
+    0,
+    3,
+    { PARROT_ARG_I, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 285 */
     /* type PARROT_INLINE_OP, */
-    "le",
-    "le_i_i_ic",
-    "Parrot_le_i_i_ic",
+    "isnull",
+    "isnull_i_sc",
+    "Parrot_isnull_i_sc",
     /* "",  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 }
+    0,
+    3,
+    { PARROT_ARG_I, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 286 */
     /* type PARROT_INLINE_OP, */
-    "le",
-    "le_ic_i_ic",
-    "Parrot_le_ic_i_ic",
+    "isgt",
+    "isgt_i_p_p",
+    "Parrot_isgt_i_p_p",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_IC, PARROT_ARG_I, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 287 */
     /* type PARROT_INLINE_OP, */
-    "le",
-    "le_i_ic_ic",
-    "Parrot_le_i_ic_ic",
+    "isge",
+    "isge_i_p_p",
+    "Parrot_isge_i_p_p",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 288 */
     /* type PARROT_INLINE_OP, */
-    "le",
-    "le_n_n_ic",
-    "Parrot_le_n_n_ic",
+    "isle",
+    "isle_i_i_i",
+    "Parrot_isle_i_i_i",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 289 */
     /* type PARROT_INLINE_OP, */
-    "le",
-    "le_nc_n_ic",
-    "Parrot_le_nc_n_ic",
+    "isle",
+    "isle_i_ic_i",
+    "Parrot_isle_i_ic_i",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_NC, PARROT_ARG_N, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 290 */
     /* type PARROT_INLINE_OP, */
-    "le",
-    "le_n_nc_ic",
-    "Parrot_le_n_nc_ic",
+    "isle",
+    "isle_i_i_ic",
+    "Parrot_isle_i_i_ic",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 291 */
-    /* type PARROT_FUNCTION_OP, */
-    "le",
-    "le_s_s_ic",
-    "Parrot_le_s_s_ic",
+    /* type PARROT_INLINE_OP, */
+    "isle",
+    "isle_i_n_n",
+    "Parrot_isle_i_n_n",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_N },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 292 */
-    /* type PARROT_FUNCTION_OP, */
-    "le",
-    "le_sc_s_ic",
-    "Parrot_le_sc_s_ic",
+    /* type PARROT_INLINE_OP, */
+    "isle",
+    "isle_i_nc_n",
+    "Parrot_isle_i_nc_n",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_NC, PARROT_ARG_N },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 293 */
-    /* type PARROT_FUNCTION_OP, */
-    "le",
-    "le_s_sc_ic",
-    "Parrot_le_s_sc_ic",
+    /* type PARROT_INLINE_OP, */
+    "isle",
+    "isle_i_n_nc",
+    "Parrot_isle_i_n_nc",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_NC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 294 */
-    /* type PARROT_FUNCTION_OP, */
-    "le",
-    "le_p_p_ic",
-    "Parrot_le_p_p_ic",
+    /* type PARROT_INLINE_OP, */
+    "isle",
+    "isle_i_s_s",
+    "Parrot_isle_i_s_s",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 295 */
-    /* type PARROT_FUNCTION_OP, */
-    "le",
-    "le_p_i_ic",
-    "Parrot_le_p_i_ic",
+    /* type PARROT_INLINE_OP, */
+    "isle",
+    "isle_i_sc_s",
+    "Parrot_isle_i_sc_s",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 296 */
-    /* type PARROT_FUNCTION_OP, */
-    "le",
-    "le_p_ic_ic",
-    "Parrot_le_p_ic_ic",
+    /* type PARROT_INLINE_OP, */
+    "isle",
+    "isle_i_s_sc",
+    "Parrot_isle_i_s_sc",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 297 */
-    /* type PARROT_FUNCTION_OP, */
-    "le",
-    "le_p_n_ic",
-    "Parrot_le_p_n_ic",
+    /* type PARROT_INLINE_OP, */
+    "isle",
+    "isle_i_p_p",
+    "Parrot_isle_i_p_p",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_N, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 298 */
-    /* type PARROT_FUNCTION_OP, */
-    "le",
-    "le_p_nc_ic",
-    "Parrot_le_p_nc_ic",
+    /* type PARROT_INLINE_OP, */
+    "islt",
+    "islt_i_i_i",
+    "Parrot_islt_i_i_i",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_NC, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 299 */
-    /* type PARROT_FUNCTION_OP, */
-    "le",
-    "le_p_s_ic",
-    "Parrot_le_p_s_ic",
+    /* type PARROT_INLINE_OP, */
+    "islt",
+    "islt_i_ic_i",
+    "Parrot_islt_i_ic_i",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 300 */
-    /* type PARROT_FUNCTION_OP, */
-    "le",
-    "le_p_sc_ic",
-    "Parrot_le_p_sc_ic",
+    /* type PARROT_INLINE_OP, */
+    "islt",
+    "islt_i_i_ic",
+    "Parrot_islt_i_i_ic",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 301 */
-    /* type PARROT_FUNCTION_OP, */
-    "le_str",
-    "le_str_p_p_ic",
-    "Parrot_le_str_p_p_ic",
+    /* type PARROT_INLINE_OP, */
+    "islt",
+    "islt_i_n_n",
+    "Parrot_islt_i_n_n",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_N },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 302 */
-    /* type PARROT_FUNCTION_OP, */
-    "le_num",
-    "le_num_p_p_ic",
-    "Parrot_le_num_p_p_ic",
+    /* type PARROT_INLINE_OP, */
+    "islt",
+    "islt_i_nc_n",
+    "Parrot_islt_i_nc_n",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_NC, PARROT_ARG_N },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 303 */
-    /* type PARROT_FUNCTION_OP, */
-    "gt",
-    "gt_p_p_ic",
-    "Parrot_gt_p_p_ic",
+    /* type PARROT_INLINE_OP, */
+    "islt",
+    "islt_i_n_nc",
+    "Parrot_islt_i_n_nc",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_NC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 304 */
-    /* type PARROT_FUNCTION_OP, */
-    "gt",
-    "gt_p_i_ic",
-    "Parrot_gt_p_i_ic",
+    /* type PARROT_INLINE_OP, */
+    "islt",
+    "islt_i_s_s",
+    "Parrot_islt_i_s_s",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 305 */
-    /* type PARROT_FUNCTION_OP, */
-    "gt",
-    "gt_p_ic_ic",
-    "Parrot_gt_p_ic_ic",
+    /* type PARROT_INLINE_OP, */
+    "islt",
+    "islt_i_sc_s",
+    "Parrot_islt_i_sc_s",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 306 */
-    /* type PARROT_FUNCTION_OP, */
-    "gt",
-    "gt_p_n_ic",
-    "Parrot_gt_p_n_ic",
+    /* type PARROT_INLINE_OP, */
+    "islt",
+    "islt_i_s_sc",
+    "Parrot_islt_i_s_sc",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_N, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 307 */
-    /* type PARROT_FUNCTION_OP, */
-    "gt",
-    "gt_p_nc_ic",
-    "Parrot_gt_p_nc_ic",
+    /* type PARROT_INLINE_OP, */
+    "islt",
+    "islt_i_p_p",
+    "Parrot_islt_i_p_p",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_NC, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 308 */
-    /* type PARROT_FUNCTION_OP, */
-    "gt",
-    "gt_p_s_ic",
-    "Parrot_gt_p_s_ic",
+    /* type PARROT_INLINE_OP, */
+    "iseq",
+    "iseq_i_i_i",
+    "Parrot_iseq_i_i_i",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 309 */
-    /* type PARROT_FUNCTION_OP, */
-    "gt",
-    "gt_p_sc_ic",
-    "Parrot_gt_p_sc_ic",
+    /* type PARROT_INLINE_OP, */
+    "iseq",
+    "iseq_i_ic_i",
+    "Parrot_iseq_i_ic_i",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 310 */
-    /* type PARROT_FUNCTION_OP, */
-    "gt_str",
-    "gt_str_p_p_ic",
-    "Parrot_gt_str_p_p_ic",
+    /* type PARROT_INLINE_OP, */
+    "iseq",
+    "iseq_i_i_ic",
+    "Parrot_iseq_i_i_ic",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 311 */
-    /* type PARROT_FUNCTION_OP, */
-    "gt_num",
-    "gt_num_p_p_ic",
-    "Parrot_gt_num_p_p_ic",
+    /* type PARROT_INLINE_OP, */
+    "iseq",
+    "iseq_i_n_n",
+    "Parrot_iseq_i_n_n",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_N },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 312 */
-    /* type PARROT_FUNCTION_OP, */
-    "ge",
-    "ge_p_p_ic",
-    "Parrot_ge_p_p_ic",
+    /* type PARROT_INLINE_OP, */
+    "iseq",
+    "iseq_i_nc_n",
+    "Parrot_iseq_i_nc_n",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_NC, PARROT_ARG_N },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 313 */
-    /* type PARROT_FUNCTION_OP, */
-    "ge",
-    "ge_p_i_ic",
-    "Parrot_ge_p_i_ic",
+    /* type PARROT_INLINE_OP, */
+    "iseq",
+    "iseq_i_n_nc",
+    "Parrot_iseq_i_n_nc",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_NC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 314 */
-    /* type PARROT_FUNCTION_OP, */
-    "ge",
-    "ge_p_ic_ic",
-    "Parrot_ge_p_ic_ic",
+    /* type PARROT_INLINE_OP, */
+    "iseq",
+    "iseq_i_s_s",
+    "Parrot_iseq_i_s_s",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 315 */
-    /* type PARROT_FUNCTION_OP, */
-    "ge",
-    "ge_p_n_ic",
-    "Parrot_ge_p_n_ic",
+    /* type PARROT_INLINE_OP, */
+    "iseq",
+    "iseq_i_sc_s",
+    "Parrot_iseq_i_sc_s",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_N, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 316 */
-    /* type PARROT_FUNCTION_OP, */
-    "ge",
-    "ge_p_nc_ic",
-    "Parrot_ge_p_nc_ic",
+    /* type PARROT_INLINE_OP, */
+    "iseq",
+    "iseq_i_s_sc",
+    "Parrot_iseq_i_s_sc",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_NC, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 317 */
-    /* type PARROT_FUNCTION_OP, */
-    "ge",
-    "ge_p_s_ic",
-    "Parrot_ge_p_s_ic",
+    /* type PARROT_INLINE_OP, */
+    "iseq",
+    "iseq_i_p_p",
+    "Parrot_iseq_i_p_p",
     /* "",  body */
-    PARROT_JUMP_RELATIVE,
+    0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 1 }
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 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",
+    "isne",
+    "isne_i_i_i",
+    "Parrot_isne_i_i_i",
     /* "",  body */
     0,
     4,
@@ -5258,11 +4986,11 @@
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
-  { /* 326 */
+  { /* 319 */
     /* type PARROT_INLINE_OP, */
-    "cmp",
-    "cmp_i_ic_i",
-    "Parrot_cmp_i_ic_i",
+    "isne",
+    "isne_i_ic_i",
+    "Parrot_isne_i_ic_i",
     /* "",  body */
     0,
     4,
@@ -5270,11 +4998,11 @@
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
-  { /* 327 */
+  { /* 320 */
     /* type PARROT_INLINE_OP, */
-    "cmp",
-    "cmp_i_i_ic",
-    "Parrot_cmp_i_i_ic",
+    "isne",
+    "isne_i_i_ic",
+    "Parrot_isne_i_i_ic",
     /* "",  body */
     0,
     4,
@@ -5282,11 +5010,11 @@
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
-  { /* 328 */
+  { /* 321 */
     /* type PARROT_INLINE_OP, */
-    "cmp",
-    "cmp_i_n_n",
-    "Parrot_cmp_i_n_n",
+    "isne",
+    "isne_i_n_n",
+    "Parrot_isne_i_n_n",
     /* "",  body */
     0,
     4,
@@ -5294,11 +5022,11 @@
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
-  { /* 329 */
+  { /* 322 */
     /* type PARROT_INLINE_OP, */
-    "cmp",
-    "cmp_i_nc_n",
-    "Parrot_cmp_i_nc_n",
+    "isne",
+    "isne_i_nc_n",
+    "Parrot_isne_i_nc_n",
     /* "",  body */
     0,
     4,
@@ -5306,11 +5034,11 @@
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
-  { /* 330 */
+  { /* 323 */
     /* type PARROT_INLINE_OP, */
-    "cmp",
-    "cmp_i_n_nc",
-    "Parrot_cmp_i_n_nc",
+    "isne",
+    "isne_i_n_nc",
+    "Parrot_isne_i_n_nc",
     /* "",  body */
     0,
     4,
@@ -5318,11 +5046,11 @@
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
-  { /* 331 */
+  { /* 324 */
     /* type PARROT_INLINE_OP, */
-    "cmp",
-    "cmp_i_s_s",
-    "Parrot_cmp_i_s_s",
+    "isne",
+    "isne_i_s_s",
+    "Parrot_isne_i_s_s",
     /* "",  body */
     0,
     4,
@@ -5330,11 +5058,11 @@
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
-  { /* 332 */
+  { /* 325 */
     /* type PARROT_INLINE_OP, */
-    "cmp",
-    "cmp_i_sc_s",
-    "Parrot_cmp_i_sc_s",
+    "isne",
+    "isne_i_sc_s",
+    "Parrot_isne_i_sc_s",
     /* "",  body */
     0,
     4,
@@ -5342,11 +5070,11 @@
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
-  { /* 333 */
+  { /* 326 */
     /* type PARROT_INLINE_OP, */
-    "cmp",
-    "cmp_i_s_sc",
-    "Parrot_cmp_i_s_sc",
+    "isne",
+    "isne_i_s_sc",
+    "Parrot_isne_i_s_sc",
     /* "",  body */
     0,
     4,
@@ -5354,11 +5082,11 @@
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
-  { /* 334 */
+  { /* 327 */
     /* type PARROT_INLINE_OP, */
-    "cmp",
-    "cmp_i_p_p",
-    "Parrot_cmp_i_p_p",
+    "isne",
+    "isne_i_p_p",
+    "Parrot_isne_i_p_p",
     /* "",  body */
     0,
     4,
@@ -5366,1619 +5094,1703 @@
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
-  { /* 335 */
+  { /* 328 */
     /* type PARROT_INLINE_OP, */
-    "cmp",
-    "cmp_i_p_i",
-    "Parrot_cmp_i_p_i",
+    "and",
+    "and_i_i_i",
+    "Parrot_and_i_i_i",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_I },
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
-  { /* 336 */
+  { /* 329 */
     /* type PARROT_INLINE_OP, */
-    "cmp",
-    "cmp_i_p_ic",
-    "Parrot_cmp_i_p_ic",
+    "and",
+    "and_i_ic_i",
+    "Parrot_and_i_ic_i",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_IC },
+    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
-  { /* 337 */
+  { /* 330 */
     /* type PARROT_INLINE_OP, */
-    "cmp",
-    "cmp_i_p_n",
-    "Parrot_cmp_i_p_n",
+    "and",
+    "and_i_i_ic",
+    "Parrot_and_i_i_ic",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_N },
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
-  { /* 338 */
+  { /* 331 */
     /* type PARROT_INLINE_OP, */
-    "cmp",
-    "cmp_i_p_nc",
-    "Parrot_cmp_i_p_nc",
+    "and",
+    "and_p_p_p",
+    "Parrot_and_p_p_p",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_NC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
-  { /* 339 */
+  { /* 332 */
     /* type PARROT_INLINE_OP, */
-    "cmp",
-    "cmp_i_p_s",
-    "Parrot_cmp_i_p_s",
+    "not",
+    "not_i",
+    "Parrot_not_i",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    2,
+    { PARROT_ARG_I },
+    { PARROT_ARGDIR_INOUT },
+    { 0 }
   },
-  { /* 340 */
+  { /* 333 */
     /* type PARROT_INLINE_OP, */
-    "cmp",
-    "cmp_i_p_sc",
-    "Parrot_cmp_i_p_sc",
+    "not",
+    "not_i_i",
+    "Parrot_not_i_i",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_I, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
-  { /* 341 */
+  { /* 334 */
     /* type PARROT_INLINE_OP, */
-    "cmp_str",
-    "cmp_str_i_p_p",
-    "Parrot_cmp_str_i_p_p",
+    "not",
+    "not_p",
+    "Parrot_not_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 }
+    2,
+    { PARROT_ARG_P },
+    { PARROT_ARGDIR_IN },
+    { 0 }
   },
-  { /* 342 */
+  { /* 335 */
     /* type PARROT_INLINE_OP, */
-    "cmp_num",
-    "cmp_num_i_p_p",
-    "Parrot_cmp_num_i_p_p",
+    "not",
+    "not_p_p",
+    "Parrot_not_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 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
-  { /* 343 */
+  { /* 336 */
     /* type PARROT_INLINE_OP, */
-    "cmp_pmc",
-    "cmp_pmc_p_p_p",
-    "Parrot_cmp_pmc_p_p_p",
+    "or",
+    "or_i_i_i",
+    "Parrot_or_i_i_i",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
-  { /* 344 */
+  { /* 337 */
     /* type PARROT_INLINE_OP, */
-    "issame",
-    "issame_i_p_p",
-    "Parrot_issame_i_p_p",
+    "or",
+    "or_i_ic_i",
+    "Parrot_or_i_ic_i",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
-  { /* 345 */
+  { /* 338 */
     /* type PARROT_INLINE_OP, */
-    "issame",
-    "issame_i_s_s",
-    "Parrot_issame_i_s_s",
+    "or",
+    "or_i_i_ic",
+    "Parrot_or_i_i_ic",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
-  { /* 346 */
+  { /* 339 */
     /* type PARROT_INLINE_OP, */
-    "issame",
-    "issame_i_sc_s",
-    "Parrot_issame_i_sc_s",
+    "or",
+    "or_p_p_p",
+    "Parrot_or_p_p_p",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
-  { /* 347 */
+  { /* 340 */
     /* type PARROT_INLINE_OP, */
-    "issame",
-    "issame_i_s_sc",
-    "Parrot_issame_i_s_sc",
+    "xor",
+    "xor_i_i_i",
+    "Parrot_xor_i_i_i",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
-  { /* 348 */
+  { /* 341 */
     /* type PARROT_INLINE_OP, */
-    "issame",
-    "issame_i_sc_sc",
-    "Parrot_issame_i_sc_sc",
+    "xor",
+    "xor_i_ic_i",
+    "Parrot_xor_i_ic_i",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_SC },
+    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
-  { /* 349 */
+  { /* 342 */
     /* type PARROT_INLINE_OP, */
-    "isntsame",
-    "isntsame_i_p_p",
-    "Parrot_isntsame_i_p_p",
+    "xor",
+    "xor_i_i_ic",
+    "Parrot_xor_i_i_ic",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
-  { /* 350 */
+  { /* 343 */
     /* type PARROT_INLINE_OP, */
-    "isntsame",
-    "isntsame_i_s_s",
-    "Parrot_isntsame_i_s_s",
+    "xor",
+    "xor_p_p_p",
+    "Parrot_xor_p_p_p",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
-  { /* 351 */
+  { /* 344 */
     /* type PARROT_INLINE_OP, */
-    "isntsame",
-    "isntsame_i_sc_s",
-    "Parrot_isntsame_i_sc_s",
+    "print",
+    "print_i",
+    "Parrot_print_i",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    2,
+    { PARROT_ARG_I },
+    { PARROT_ARGDIR_IN },
+    { 0 }
   },
-  { /* 352 */
+  { /* 345 */
     /* type PARROT_INLINE_OP, */
-    "isntsame",
-    "isntsame_i_s_sc",
-    "Parrot_isntsame_i_s_sc",
+    "print",
+    "print_ic",
+    "Parrot_print_ic",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    2,
+    { PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN },
+    { 0 }
   },
-  { /* 353 */
+  { /* 346 */
     /* type PARROT_INLINE_OP, */
-    "isntsame",
-    "isntsame_i_sc_sc",
-    "Parrot_isntsame_i_sc_sc",
+    "print",
+    "print_n",
+    "Parrot_print_n",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    2,
+    { PARROT_ARG_N },
+    { PARROT_ARGDIR_IN },
+    { 0 }
   },
-  { /* 354 */
+  { /* 347 */
     /* type PARROT_INLINE_OP, */
-    "istrue",
-    "istrue_i_p",
-    "Parrot_istrue_i_p",
+    "print",
+    "print_nc",
+    "Parrot_print_nc",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    2,
+    { PARROT_ARG_NC },
+    { PARROT_ARGDIR_IN },
+    { 0 }
   },
-  { /* 355 */
+  { /* 348 */
+    /* type PARROT_FUNCTION_OP, */
+    "print",
+    "print_s",
+    "Parrot_print_s",
+    /* "",  body */
+    0,
+    2,
+    { PARROT_ARG_S },
+    { PARROT_ARGDIR_IN },
+    { 0 }
+  },
+  { /* 349 */
+    /* type PARROT_FUNCTION_OP, */
+    "print",
+    "print_sc",
+    "Parrot_print_sc",
+    /* "",  body */
+    0,
+    2,
+    { PARROT_ARG_SC },
+    { PARROT_ARGDIR_IN },
+    { 0 }
+  },
+  { /* 350 */
+    /* type PARROT_FUNCTION_OP, */
+    "print",
+    "print_p",
+    "Parrot_print_p",
+    /* "",  body */
+    0,
+    2,
+    { PARROT_ARG_P },
+    { PARROT_ARGDIR_IN },
+    { 0 }
+  },
+  { /* 351 */
     /* type PARROT_INLINE_OP, */
-    "isfalse",
-    "isfalse_i_p",
-    "Parrot_isfalse_i_p",
+    "say",
+    "say_i",
+    "Parrot_say_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    2,
+    { PARROT_ARG_I },
+    { PARROT_ARGDIR_IN },
+    { 0 }
   },
-  { /* 356 */
+  { /* 352 */
     /* type PARROT_INLINE_OP, */
-    "isnull",
-    "isnull_i_p",
-    "Parrot_isnull_i_p",
+    "say",
+    "say_ic",
+    "Parrot_say_ic",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    2,
+    { PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN },
+    { 0 }
   },
-  { /* 357 */
+  { /* 353 */
     /* type PARROT_INLINE_OP, */
-    "isnull",
-    "isnull_i_pc",
-    "Parrot_isnull_i_pc",
+    "say",
+    "say_n",
+    "Parrot_say_n",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_PC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    2,
+    { PARROT_ARG_N },
+    { PARROT_ARGDIR_IN },
+    { 0 }
   },
-  { /* 358 */
+  { /* 354 */
     /* type PARROT_INLINE_OP, */
-    "isnull",
-    "isnull_i_s",
-    "Parrot_isnull_i_s",
+    "say",
+    "say_nc",
+    "Parrot_say_nc",
+    /* "",  body */
+    0,
+    2,
+    { PARROT_ARG_NC },
+    { PARROT_ARGDIR_IN },
+    { 0 }
+  },
+  { /* 355 */
+    /* type PARROT_FUNCTION_OP, */
+    "say",
+    "say_s",
+    "Parrot_say_s",
+    /* "",  body */
+    0,
+    2,
+    { PARROT_ARG_S },
+    { PARROT_ARGDIR_IN },
+    { 0 }
+  },
+  { /* 356 */
+    /* type PARROT_FUNCTION_OP, */
+    "say",
+    "say_sc",
+    "Parrot_say_sc",
+    /* "",  body */
+    0,
+    2,
+    { PARROT_ARG_SC },
+    { PARROT_ARGDIR_IN },
+    { 0 }
+  },
+  { /* 357 */
+    /* type PARROT_FUNCTION_OP, */
+    "say",
+    "say_p",
+    "Parrot_say_p",
+    /* "",  body */
+    0,
+    2,
+    { PARROT_ARG_P },
+    { PARROT_ARGDIR_IN },
+    { 0 }
+  },
+  { /* 358 */
+    /* type PARROT_FUNCTION_OP, */
+    "print",
+    "print_p_i",
+    "Parrot_print_p_i",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_I, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_I },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 359 */
-    /* type PARROT_INLINE_OP, */
-    "isnull",
-    "isnull_i_sc",
-    "Parrot_isnull_i_sc",
+    /* type PARROT_FUNCTION_OP, */
+    "print",
+    "print_p_ic",
+    "Parrot_print_p_ic",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_I, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 360 */
-    /* type PARROT_INLINE_OP, */
-    "isgt",
-    "isgt_i_p_p",
-    "Parrot_isgt_i_p_p",
+    /* type PARROT_FUNCTION_OP, */
+    "print",
+    "print_p_n",
+    "Parrot_print_p_n",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_N },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 361 */
-    /* type PARROT_INLINE_OP, */
-    "isge",
-    "isge_i_p_p",
-    "Parrot_isge_i_p_p",
+    /* type PARROT_FUNCTION_OP, */
+    "print",
+    "print_p_nc",
+    "Parrot_print_p_nc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_NC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 362 */
-    /* type PARROT_INLINE_OP, */
-    "isle",
-    "isle_i_i_i",
-    "Parrot_isle_i_i_i",
+    /* type PARROT_FUNCTION_OP, */
+    "print",
+    "print_p_s",
+    "Parrot_print_p_s",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_S },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 363 */
-    /* type PARROT_INLINE_OP, */
-    "isle",
-    "isle_i_ic_i",
-    "Parrot_isle_i_ic_i",
+    /* type PARROT_FUNCTION_OP, */
+    "print",
+    "print_p_sc",
+    "Parrot_print_p_sc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_SC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 364 */
-    /* type PARROT_INLINE_OP, */
-    "isle",
-    "isle_i_i_ic",
-    "Parrot_isle_i_i_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "print",
+    "print_p_p",
+    "Parrot_print_p_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 365 */
     /* type PARROT_INLINE_OP, */
-    "isle",
-    "isle_i_n_n",
-    "Parrot_isle_i_n_n",
+    "abs",
+    "abs_i",
+    "Parrot_abs_i",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_N },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    2,
+    { PARROT_ARG_I },
+    { PARROT_ARGDIR_INOUT },
+    { 0 }
   },
   { /* 366 */
     /* type PARROT_INLINE_OP, */
-    "isle",
-    "isle_i_nc_n",
-    "Parrot_isle_i_nc_n",
+    "abs",
+    "abs_n",
+    "Parrot_abs_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 }
+    2,
+    { PARROT_ARG_N },
+    { PARROT_ARGDIR_INOUT },
+    { 0 }
   },
   { /* 367 */
     /* type PARROT_INLINE_OP, */
-    "isle",
-    "isle_i_n_nc",
-    "Parrot_isle_i_n_nc",
+    "abs",
+    "abs_i_i",
+    "Parrot_abs_i_i",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_NC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_I, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 368 */
     /* type PARROT_INLINE_OP, */
-    "isle",
-    "isle_i_s_s",
-    "Parrot_isle_i_s_s",
+    "abs",
+    "abs_n_n",
+    "Parrot_abs_n_n",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_N, PARROT_ARG_N },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 369 */
     /* type PARROT_INLINE_OP, */
-    "isle",
-    "isle_i_sc_s",
-    "Parrot_isle_i_sc_s",
+    "abs",
+    "abs_p",
+    "Parrot_abs_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    2,
+    { PARROT_ARG_P },
+    { PARROT_ARGDIR_IN },
+    { 0 }
   },
   { /* 370 */
     /* type PARROT_INLINE_OP, */
-    "isle",
-    "isle_i_s_sc",
-    "Parrot_isle_i_s_sc",
+    "abs",
+    "abs_p_p",
+    "Parrot_abs_p_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 371 */
     /* type PARROT_INLINE_OP, */
-    "isle",
-    "isle_i_p_p",
-    "Parrot_isle_i_p_p",
+    "add",
+    "add_i_i",
+    "Parrot_add_i_i",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_I, PARROT_ARG_I },
+    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 372 */
     /* type PARROT_INLINE_OP, */
-    "islt",
-    "islt_i_i_i",
-    "Parrot_islt_i_i_i",
+    "add",
+    "add_i_ic",
+    "Parrot_add_i_ic",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 373 */
     /* type PARROT_INLINE_OP, */
-    "islt",
-    "islt_i_ic_i",
-    "Parrot_islt_i_ic_i",
+    "add",
+    "add_n_n",
+    "Parrot_add_n_n",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_N, PARROT_ARG_N },
+    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 374 */
     /* type PARROT_INLINE_OP, */
-    "islt",
-    "islt_i_i_ic",
-    "Parrot_islt_i_i_ic",
+    "add",
+    "add_n_nc",
+    "Parrot_add_n_nc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_N, PARROT_ARG_NC },
+    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 375 */
     /* type PARROT_INLINE_OP, */
-    "islt",
-    "islt_i_n_n",
-    "Parrot_islt_i_n_n",
+    "add",
+    "add_p_p",
+    "Parrot_add_p_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_N },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 376 */
     /* type PARROT_INLINE_OP, */
-    "islt",
-    "islt_i_nc_n",
-    "Parrot_islt_i_nc_n",
+    "add",
+    "add_p_i",
+    "Parrot_add_p_i",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_NC, PARROT_ARG_N },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_I },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 377 */
     /* type PARROT_INLINE_OP, */
-    "islt",
-    "islt_i_n_nc",
-    "Parrot_islt_i_n_nc",
+    "add",
+    "add_p_ic",
+    "Parrot_add_p_ic",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_NC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 378 */
     /* type PARROT_INLINE_OP, */
-    "islt",
-    "islt_i_s_s",
-    "Parrot_islt_i_s_s",
+    "add",
+    "add_p_n",
+    "Parrot_add_p_n",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_N },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 379 */
     /* type PARROT_INLINE_OP, */
-    "islt",
-    "islt_i_sc_s",
-    "Parrot_islt_i_sc_s",
+    "add",
+    "add_p_nc",
+    "Parrot_add_p_nc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_NC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 380 */
     /* type PARROT_INLINE_OP, */
-    "islt",
-    "islt_i_s_sc",
-    "Parrot_islt_i_s_sc",
+    "add",
+    "add_i_i_i",
+    "Parrot_add_i_i_i",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
     { 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",
+    "add",
+    "add_i_ic_i",
+    "Parrot_add_i_ic_i",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
     { 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",
+    "add",
+    "add_i_i_ic",
+    "Parrot_add_i_i_ic",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
     { 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",
+    "add",
+    "add_n_n_n",
+    "Parrot_add_n_n_n",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_N },
     { 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",
+    "add",
+    "add_n_nc_n",
+    "Parrot_add_n_nc_n",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_N },
     { 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",
+    "add",
+    "add_n_n_nc",
+    "Parrot_add_n_n_nc",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_N },
+    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_NC },
     { 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",
+    "add",
+    "add_p_p_p",
+    "Parrot_add_p_p_p",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_NC, PARROT_ARG_N },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 387 */
     /* type PARROT_INLINE_OP, */
-    "iseq",
-    "iseq_i_n_nc",
-    "Parrot_iseq_i_n_nc",
+    "add",
+    "add_p_p_i",
+    "Parrot_add_p_p_i",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_NC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 388 */
     /* type PARROT_INLINE_OP, */
-    "iseq",
-    "iseq_i_s_s",
-    "Parrot_iseq_i_s_s",
+    "add",
+    "add_p_p_ic",
+    "Parrot_add_p_p_ic",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 389 */
     /* type PARROT_INLINE_OP, */
-    "iseq",
-    "iseq_i_sc_s",
-    "Parrot_iseq_i_sc_s",
+    "add",
+    "add_p_p_n",
+    "Parrot_add_p_p_n",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_N },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 390 */
     /* type PARROT_INLINE_OP, */
-    "iseq",
-    "iseq_i_s_sc",
-    "Parrot_iseq_i_s_sc",
+    "add",
+    "add_p_p_nc",
+    "Parrot_add_p_p_nc",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_NC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 391 */
     /* type PARROT_INLINE_OP, */
-    "iseq",
-    "iseq_i_p_p",
-    "Parrot_iseq_i_p_p",
+    "dec",
+    "dec_i",
+    "Parrot_dec_i",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    2,
+    { PARROT_ARG_I },
+    { PARROT_ARGDIR_INOUT },
+    { 0 }
   },
   { /* 392 */
     /* type PARROT_INLINE_OP, */
-    "isne",
-    "isne_i_i_i",
-    "Parrot_isne_i_i_i",
+    "dec",
+    "dec_n",
+    "Parrot_dec_n",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    2,
+    { PARROT_ARG_N },
+    { PARROT_ARGDIR_INOUT },
+    { 0 }
   },
   { /* 393 */
     /* type PARROT_INLINE_OP, */
-    "isne",
-    "isne_i_ic_i",
-    "Parrot_isne_i_ic_i",
+    "dec",
+    "dec_p",
+    "Parrot_dec_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    2,
+    { PARROT_ARG_P },
+    { PARROT_ARGDIR_IN },
+    { 0 }
   },
   { /* 394 */
     /* type PARROT_INLINE_OP, */
-    "isne",
-    "isne_i_i_ic",
-    "Parrot_isne_i_i_ic",
+    "div",
+    "div_i_i",
+    "Parrot_div_i_i",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_I, PARROT_ARG_I },
+    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 395 */
     /* type PARROT_INLINE_OP, */
-    "isne",
-    "isne_i_n_n",
-    "Parrot_isne_i_n_n",
+    "div",
+    "div_i_ic",
+    "Parrot_div_i_ic",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_N, PARROT_ARG_N },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 396 */
     /* type PARROT_INLINE_OP, */
-    "isne",
-    "isne_i_nc_n",
-    "Parrot_isne_i_nc_n",
+    "div",
+    "div_n_n",
+    "Parrot_div_n_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 }
+    3,
+    { PARROT_ARG_N, PARROT_ARG_N },
+    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 397 */
     /* type PARROT_INLINE_OP, */
-    "isne",
-    "isne_i_n_nc",
-    "Parrot_isne_i_n_nc",
+    "div",
+    "div_n_nc",
+    "Parrot_div_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 }
+    3,
+    { PARROT_ARG_N, PARROT_ARG_NC },
+    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 398 */
     /* type PARROT_INLINE_OP, */
-    "isne",
-    "isne_i_s_s",
-    "Parrot_isne_i_s_s",
+    "div",
+    "div_p_p",
+    "Parrot_div_p_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 399 */
     /* type PARROT_INLINE_OP, */
-    "isne",
-    "isne_i_sc_s",
-    "Parrot_isne_i_sc_s",
+    "div",
+    "div_p_i",
+    "Parrot_div_p_i",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_I },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 400 */
     /* type PARROT_INLINE_OP, */
-    "isne",
-    "isne_i_s_sc",
-    "Parrot_isne_i_s_sc",
+    "div",
+    "div_p_ic",
+    "Parrot_div_p_ic",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 401 */
     /* type PARROT_INLINE_OP, */
-    "isne",
-    "isne_i_p_p",
-    "Parrot_isne_i_p_p",
+    "div",
+    "div_p_n",
+    "Parrot_div_p_n",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_N },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 402 */
     /* type PARROT_INLINE_OP, */
-    "and",
-    "and_i_i_i",
-    "Parrot_and_i_i_i",
+    "div",
+    "div_p_nc",
+    "Parrot_div_p_nc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_NC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 403 */
     /* type PARROT_INLINE_OP, */
-    "and",
-    "and_i_ic_i",
-    "Parrot_and_i_ic_i",
+    "div",
+    "div_i_i_i",
+    "Parrot_div_i_i_i",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+    { PARROT_ARG_I, PARROT_ARG_I, 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",
+    "div",
+    "div_i_ic_i",
+    "Parrot_div_i_ic_i",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
     { 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",
+    "div",
+    "div_i_i_ic",
+    "Parrot_div_i_i_ic",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 406 */
     /* type PARROT_INLINE_OP, */
-    "not",
-    "not_i",
-    "Parrot_not_i",
+    "div",
+    "div_i_ic_ic",
+    "Parrot_div_i_ic_ic",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_I },
-    { PARROT_ARGDIR_INOUT },
-    { 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_IC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 407 */
     /* type PARROT_INLINE_OP, */
-    "not",
-    "not_i_i",
-    "Parrot_not_i_i",
+    "div",
+    "div_n_n_n",
+    "Parrot_div_n_n_n",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
-  },
+    4,
+    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_N },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
+  },
   { /* 408 */
     /* type PARROT_INLINE_OP, */
-    "not",
-    "not_p",
-    "Parrot_not_p",
+    "div",
+    "div_n_nc_n",
+    "Parrot_div_n_nc_n",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_P },
-    { PARROT_ARGDIR_IN },
-    { 0 }
+    4,
+    { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_N },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 409 */
     /* type PARROT_INLINE_OP, */
-    "not",
-    "not_p_p",
-    "Parrot_not_p_p",
+    "div",
+    "div_n_n_nc",
+    "Parrot_div_n_n_nc",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_NC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 410 */
     /* type PARROT_INLINE_OP, */
-    "or",
-    "or_i_i_i",
-    "Parrot_or_i_i_i",
+    "div",
+    "div_n_nc_nc",
+    "Parrot_div_n_nc_nc",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+    { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_NC },
     { 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",
+    "div",
+    "div_p_p_p",
+    "Parrot_div_p_p_p",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 412 */
     /* type PARROT_INLINE_OP, */
-    "or",
-    "or_i_i_ic",
-    "Parrot_or_i_i_ic",
+    "div",
+    "div_p_p_i",
+    "Parrot_div_p_p_i",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 413 */
     /* type PARROT_INLINE_OP, */
-    "or",
-    "or_p_p_p",
-    "Parrot_or_p_p_p",
+    "div",
+    "div_p_p_ic",
+    "Parrot_div_p_p_ic",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
     { 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",
+    "div",
+    "div_p_p_n",
+    "Parrot_div_p_p_n",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_N },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 415 */
     /* type PARROT_INLINE_OP, */
-    "xor",
-    "xor_i_ic_i",
-    "Parrot_xor_i_ic_i",
+    "div",
+    "div_p_p_nc",
+    "Parrot_div_p_p_nc",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_NC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 416 */
     /* type PARROT_INLINE_OP, */
-    "xor",
-    "xor_i_i_ic",
-    "Parrot_xor_i_i_ic",
+    "fdiv",
+    "fdiv_i_i",
+    "Parrot_fdiv_i_i",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_I, PARROT_ARG_I },
+    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 417 */
     /* type PARROT_INLINE_OP, */
-    "xor",
-    "xor_p_p_p",
-    "Parrot_xor_p_p_p",
+    "fdiv",
+    "fdiv_i_ic",
+    "Parrot_fdiv_i_ic",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 418 */
-    /* type PARROT_FUNCTION_OP, */
-    "debug_init",
-    "debug_init",
-    "Parrot_debug_init",
+    /* type PARROT_INLINE_OP, */
+    "fdiv",
+    "fdiv_n_n",
+    "Parrot_fdiv_n_n",
     /* "",  body */
     0,
-    1,
-    { (arg_type_t) 0 },
-    { (arg_dir_t) 0 },
-    { 0 }
+    3,
+    { PARROT_ARG_N, PARROT_ARG_N },
+    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 419 */
-    /* type PARROT_FUNCTION_OP, */
-    "debug_load",
-    "debug_load_sc",
-    "Parrot_debug_load_sc",
+    /* type PARROT_INLINE_OP, */
+    "fdiv",
+    "fdiv_n_nc",
+    "Parrot_fdiv_n_nc",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_SC },
-    { PARROT_ARGDIR_IN },
-    { 0 }
+    3,
+    { PARROT_ARG_N, PARROT_ARG_NC },
+    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 420 */
-    /* type PARROT_FUNCTION_OP, */
-    "debug_break",
-    "debug_break",
-    "Parrot_debug_break",
+    /* type PARROT_INLINE_OP, */
+    "fdiv",
+    "fdiv_p_p",
+    "Parrot_fdiv_p_p",
     /* "",  body */
     0,
-    1,
-    { (arg_type_t) 0 },
-    { (arg_dir_t) 0 },
-    { 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 421 */
-    /* type PARROT_FUNCTION_OP, */
-    "debug_print",
-    "debug_print",
-    "Parrot_debug_print",
+    /* type PARROT_INLINE_OP, */
+    "fdiv",
+    "fdiv_p_i",
+    "Parrot_fdiv_p_i",
     /* "",  body */
     0,
-    1,
-    { (arg_type_t) 0 },
-    { (arg_dir_t) 0 },
-    { 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_I },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 422 */
-    /* type PARROT_FUNCTION_OP, */
-    "backtrace",
-    "backtrace",
-    "Parrot_backtrace",
+    /* type PARROT_INLINE_OP, */
+    "fdiv",
+    "fdiv_p_ic",
+    "Parrot_fdiv_p_ic",
     /* "",  body */
     0,
-    1,
-    { (arg_type_t) 0 },
-    { (arg_dir_t) 0 },
-    { 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 423 */
     /* type PARROT_INLINE_OP, */
-    "getline",
-    "getline_i",
-    "Parrot_getline_i",
+    "fdiv",
+    "fdiv_p_n",
+    "Parrot_fdiv_p_n",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT },
-    { 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_N },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 424 */
     /* type PARROT_INLINE_OP, */
-    "getfile",
-    "getfile_s",
-    "Parrot_getfile_s",
+    "fdiv",
+    "fdiv_p_nc",
+    "Parrot_fdiv_p_nc",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT },
-    { 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_NC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 425 */
     /* type PARROT_INLINE_OP, */
-    "close",
-    "close_p",
-    "Parrot_close_p",
+    "fdiv",
+    "fdiv_i_i_i",
+    "Parrot_fdiv_i_i_i",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_P },
-    { PARROT_ARGDIR_IN },
-    { 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 426 */
     /* type PARROT_INLINE_OP, */
-    "fdopen",
-    "fdopen_p_i_s",
-    "Parrot_fdopen_p_i_s",
+    "fdiv",
+    "fdiv_i_ic_i",
+    "Parrot_fdiv_i_ic_i",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_S },
+    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
     { 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",
+    "fdiv",
+    "fdiv_i_i_ic",
+    "Parrot_fdiv_i_i_ic",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_S },
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
     { 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",
+    "fdiv",
+    "fdiv_n_n_n",
+    "Parrot_fdiv_n_n_n",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_SC },
+    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_N },
     { 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",
+    "fdiv",
+    "fdiv_n_nc_n",
+    "Parrot_fdiv_n_nc_n",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_SC },
+    { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_N },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 430 */
     /* type PARROT_INLINE_OP, */
-    "getstdin",
-    "getstdin_p",
-    "Parrot_getstdin_p",
+    "fdiv",
+    "fdiv_n_n_nc",
+    "Parrot_fdiv_n_n_nc",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT },
-    { 0 }
+    4,
+    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_NC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 431 */
     /* type PARROT_INLINE_OP, */
-    "getstdout",
-    "getstdout_p",
-    "Parrot_getstdout_p",
+    "fdiv",
+    "fdiv_p_p_p",
+    "Parrot_fdiv_p_p_p",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT },
-    { 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 432 */
     /* type PARROT_INLINE_OP, */
-    "getstderr",
-    "getstderr_p",
-    "Parrot_getstderr_p",
+    "fdiv",
+    "fdiv_p_p_i",
+    "Parrot_fdiv_p_p_i",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT },
-    { 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 433 */
     /* type PARROT_INLINE_OP, */
-    "setstdin",
-    "setstdin_p",
-    "Parrot_setstdin_p",
+    "fdiv",
+    "fdiv_p_p_ic",
+    "Parrot_fdiv_p_p_ic",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_P },
-    { PARROT_ARGDIR_IN },
-    { 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 434 */
     /* type PARROT_INLINE_OP, */
-    "setstdout",
-    "setstdout_p",
-    "Parrot_setstdout_p",
+    "fdiv",
+    "fdiv_p_p_n",
+    "Parrot_fdiv_p_p_n",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_P },
-    { PARROT_ARGDIR_IN },
-    { 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_N },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 435 */
     /* type PARROT_INLINE_OP, */
-    "setstderr",
-    "setstderr_p",
-    "Parrot_setstderr_p",
+    "fdiv",
+    "fdiv_p_p_nc",
+    "Parrot_fdiv_p_p_nc",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_P },
-    { PARROT_ARGDIR_IN },
-    { 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_NC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 436 */
     /* type PARROT_INLINE_OP, */
-    "open",
-    "open_p_s_s",
-    "Parrot_open_p_s_s",
+    "ceil",
+    "ceil_n",
+    "Parrot_ceil_n",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    2,
+    { PARROT_ARG_N },
+    { PARROT_ARGDIR_INOUT },
+    { 0 }
   },
   { /* 437 */
     /* type PARROT_INLINE_OP, */
-    "open",
-    "open_p_sc_s",
-    "Parrot_open_p_sc_s",
+    "ceil",
+    "ceil_i_n",
+    "Parrot_ceil_i_n",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_I, PARROT_ARG_N },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 438 */
     /* type PARROT_INLINE_OP, */
-    "open",
-    "open_p_s_sc",
-    "Parrot_open_p_s_sc",
+    "ceil",
+    "ceil_n_n",
+    "Parrot_ceil_n_n",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_N, PARROT_ARG_N },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 439 */
     /* type PARROT_INLINE_OP, */
-    "open",
-    "open_p_sc_sc",
-    "Parrot_open_p_sc_sc",
+    "floor",
+    "floor_n",
+    "Parrot_floor_n",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    2,
+    { PARROT_ARG_N },
+    { PARROT_ARGDIR_INOUT },
+    { 0 }
   },
   { /* 440 */
     /* type PARROT_INLINE_OP, */
-    "open",
-    "open_p_s",
-    "Parrot_open_p_s",
+    "floor",
+    "floor_i_n",
+    "Parrot_floor_i_n",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_S },
+    { PARROT_ARG_I, PARROT_ARG_N },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 441 */
     /* type PARROT_INLINE_OP, */
-    "open",
-    "open_p_sc",
-    "Parrot_open_p_sc",
+    "floor",
+    "floor_n_n",
+    "Parrot_floor_n_n",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_SC },
+    { PARROT_ARG_N, PARROT_ARG_N },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 442 */
     /* type PARROT_INLINE_OP, */
-    "print",
-    "print_i",
-    "Parrot_print_i",
+    "inc",
+    "inc_i",
+    "Parrot_inc_i",
     /* "",  body */
     0,
     2,
     { PARROT_ARG_I },
-    { PARROT_ARGDIR_IN },
+    { PARROT_ARGDIR_INOUT },
     { 0 }
   },
   { /* 443 */
     /* type PARROT_INLINE_OP, */
-    "print",
-    "print_ic",
-    "Parrot_print_ic",
+    "inc",
+    "inc_n",
+    "Parrot_inc_n",
     /* "",  body */
     0,
     2,
-    { PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN },
+    { PARROT_ARG_N },
+    { PARROT_ARGDIR_INOUT },
     { 0 }
   },
   { /* 444 */
     /* type PARROT_INLINE_OP, */
-    "print",
-    "print_n",
-    "Parrot_print_n",
+    "inc",
+    "inc_p",
+    "Parrot_inc_p",
     /* "",  body */
     0,
     2,
-    { PARROT_ARG_N },
+    { PARROT_ARG_P },
     { PARROT_ARGDIR_IN },
     { 0 }
   },
   { /* 445 */
-    /* type PARROT_INLINE_OP, */
-    "print",
-    "print_nc",
-    "Parrot_print_nc",
+    /* type PARROT_FUNCTION_OP, */
+    "mod",
+    "mod_i_i",
+    "Parrot_mod_i_i",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_NC },
-    { PARROT_ARGDIR_IN },
-    { 0 }
+    3,
+    { PARROT_ARG_I, PARROT_ARG_I },
+    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 446 */
     /* type PARROT_FUNCTION_OP, */
-    "print",
-    "print_s",
-    "Parrot_print_s",
+    "mod",
+    "mod_i_ic",
+    "Parrot_mod_i_ic",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_S },
-    { PARROT_ARGDIR_IN },
-    { 0 }
+    3,
+    { PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 447 */
     /* type PARROT_FUNCTION_OP, */
-    "print",
-    "print_sc",
-    "Parrot_print_sc",
+    "mod",
+    "mod_n_n",
+    "Parrot_mod_n_n",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_SC },
-    { PARROT_ARGDIR_IN },
-    { 0 }
+    3,
+    { PARROT_ARG_N, PARROT_ARG_N },
+    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 448 */
     /* type PARROT_FUNCTION_OP, */
-    "print",
-    "print_p",
-    "Parrot_print_p",
+    "mod",
+    "mod_n_nc",
+    "Parrot_mod_n_nc",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_P },
-    { PARROT_ARGDIR_IN },
-    { 0 }
+    3,
+    { PARROT_ARG_N, PARROT_ARG_NC },
+    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 449 */
     /* type PARROT_INLINE_OP, */
-    "say",
-    "say_i",
-    "Parrot_say_i",
+    "mod",
+    "mod_p_p",
+    "Parrot_mod_p_p",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_I },
-    { PARROT_ARGDIR_IN },
-    { 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 450 */
     /* type PARROT_INLINE_OP, */
-    "say",
-    "say_ic",
-    "Parrot_say_ic",
+    "mod",
+    "mod_p_i",
+    "Parrot_mod_p_i",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN },
-    { 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_I },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 451 */
     /* type PARROT_INLINE_OP, */
-    "say",
-    "say_n",
-    "Parrot_say_n",
+    "mod",
+    "mod_p_ic",
+    "Parrot_mod_p_ic",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_N },
-    { PARROT_ARGDIR_IN },
-    { 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 452 */
     /* type PARROT_INLINE_OP, */
-    "say",
-    "say_nc",
-    "Parrot_say_nc",
+    "mod",
+    "mod_p_n",
+    "Parrot_mod_p_n",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_NC },
-    { PARROT_ARGDIR_IN },
-    { 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_N },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 453 */
-    /* type PARROT_FUNCTION_OP, */
-    "say",
-    "say_s",
-    "Parrot_say_s",
+    /* type PARROT_INLINE_OP, */
+    "mod",
+    "mod_p_nc",
+    "Parrot_mod_p_nc",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_S },
-    { PARROT_ARGDIR_IN },
-    { 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_NC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 454 */
     /* type PARROT_FUNCTION_OP, */
-    "say",
-    "say_sc",
-    "Parrot_say_sc",
-    /* "",  body */
-    0,
-    2,
-    { PARROT_ARG_SC },
-    { PARROT_ARGDIR_IN },
-    { 0 }
+    "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 }
   },
   { /* 455 */
     /* type PARROT_FUNCTION_OP, */
-    "say",
-    "say_p",
-    "Parrot_say_p",
+    "mod",
+    "mod_i_ic_i",
+    "Parrot_mod_i_ic_i",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_P },
-    { PARROT_ARGDIR_IN },
-    { 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 456 */
     /* type PARROT_FUNCTION_OP, */
-    "printerr",
-    "printerr_i",
-    "Parrot_printerr_i",
+    "mod",
+    "mod_i_i_ic",
+    "Parrot_mod_i_i_ic",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_I },
-    { PARROT_ARGDIR_IN },
-    { 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 457 */
     /* type PARROT_FUNCTION_OP, */
-    "printerr",
-    "printerr_ic",
-    "Parrot_printerr_ic",
+    "mod",
+    "mod_n_n_n",
+    "Parrot_mod_n_n_n",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN },
-    { 0 }
+    4,
+    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_N },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 458 */
     /* type PARROT_FUNCTION_OP, */
-    "printerr",
-    "printerr_n",
-    "Parrot_printerr_n",
+    "mod",
+    "mod_n_nc_n",
+    "Parrot_mod_n_nc_n",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_N },
-    { PARROT_ARGDIR_IN },
-    { 0 }
+    4,
+    { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_N },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 459 */
     /* type PARROT_FUNCTION_OP, */
-    "printerr",
-    "printerr_nc",
-    "Parrot_printerr_nc",
+    "mod",
+    "mod_n_n_nc",
+    "Parrot_mod_n_n_nc",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_NC },
-    { PARROT_ARGDIR_IN },
-    { 0 }
+    4,
+    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_NC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 460 */
-    /* type PARROT_FUNCTION_OP, */
-    "printerr",
-    "printerr_s",
-    "Parrot_printerr_s",
+    /* type PARROT_INLINE_OP, */
+    "mod",
+    "mod_p_p_p",
+    "Parrot_mod_p_p_p",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_S },
-    { PARROT_ARGDIR_IN },
-    { 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 461 */
-    /* type PARROT_FUNCTION_OP, */
-    "printerr",
-    "printerr_sc",
-    "Parrot_printerr_sc",
+    /* type PARROT_INLINE_OP, */
+    "mod",
+    "mod_p_p_i",
+    "Parrot_mod_p_p_i",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_SC },
-    { PARROT_ARGDIR_IN },
-    { 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 462 */
-    /* type PARROT_FUNCTION_OP, */
-    "printerr",
-    "printerr_p",
-    "Parrot_printerr_p",
+    /* type PARROT_INLINE_OP, */
+    "mod",
+    "mod_p_p_ic",
+    "Parrot_mod_p_p_ic",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_P },
-    { PARROT_ARGDIR_IN },
-    { 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 463 */
-    /* type PARROT_FUNCTION_OP, */
-    "print",
-    "print_p_i",
-    "Parrot_print_p_i",
+    /* type PARROT_INLINE_OP, */
+    "mod",
+    "mod_p_p_n",
+    "Parrot_mod_p_p_n",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_I },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_N },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 464 */
-    /* type PARROT_FUNCTION_OP, */
-    "print",
-    "print_p_ic",
-    "Parrot_print_p_ic",
+    /* type PARROT_INLINE_OP, */
+    "mod",
+    "mod_p_p_nc",
+    "Parrot_mod_p_p_nc",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_NC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 465 */
-    /* type PARROT_FUNCTION_OP, */
-    "print",
-    "print_p_n",
-    "Parrot_print_p_n",
+    /* type PARROT_INLINE_OP, */
+    "mul",
+    "mul_i_i",
+    "Parrot_mul_i_i",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_N },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_I, PARROT_ARG_I },
+    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 466 */
-    /* type PARROT_FUNCTION_OP, */
-    "print",
-    "print_p_nc",
-    "Parrot_print_p_nc",
+    /* type PARROT_INLINE_OP, */
+    "mul",
+    "mul_i_ic",
+    "Parrot_mul_i_ic",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_NC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 467 */
-    /* type PARROT_FUNCTION_OP, */
-    "print",
-    "print_p_s",
-    "Parrot_print_p_s",
+    /* type PARROT_INLINE_OP, */
+    "mul",
+    "mul_n_n",
+    "Parrot_mul_n_n",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_S },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_N, PARROT_ARG_N },
+    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 468 */
-    /* type PARROT_FUNCTION_OP, */
-    "print",
-    "print_p_sc",
-    "Parrot_print_p_sc",
+    /* type PARROT_INLINE_OP, */
+    "mul",
+    "mul_n_nc",
+    "Parrot_mul_n_nc",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_SC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_N, PARROT_ARG_NC },
+    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 469 */
-    /* type PARROT_FUNCTION_OP, */
-    "print",
-    "print_p_p",
-    "Parrot_print_p_p",
+    /* type PARROT_INLINE_OP, */
+    "mul",
+    "mul_p_p",
+    "Parrot_mul_p_p",
     /* "",  body */
     0,
     3,
@@ -6987,2614 +6799,2614 @@
     { 0, 0 }
   },
   { /* 470 */
-    /* type PARROT_FUNCTION_OP, */
-    "read",
-    "read_s_i",
-    "Parrot_read_s_i",
+    /* type PARROT_INLINE_OP, */
+    "mul",
+    "mul_p_i",
+    "Parrot_mul_p_i",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_S, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_I },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 471 */
-    /* type PARROT_FUNCTION_OP, */
-    "read",
-    "read_s_ic",
-    "Parrot_read_s_ic",
+    /* type PARROT_INLINE_OP, */
+    "mul",
+    "mul_p_ic",
+    "Parrot_mul_p_ic",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_S, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 472 */
-    /* type PARROT_FUNCTION_OP, */
-    "read",
-    "read_s_p_i",
-    "Parrot_read_s_p_i",
+    /* type PARROT_INLINE_OP, */
+    "mul",
+    "mul_p_n",
+    "Parrot_mul_p_n",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_S, PARROT_ARG_P, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_N },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 473 */
-    /* type PARROT_FUNCTION_OP, */
-    "read",
-    "read_s_p_ic",
-    "Parrot_read_s_p_ic",
+    /* type PARROT_INLINE_OP, */
+    "mul",
+    "mul_p_nc",
+    "Parrot_mul_p_nc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_S, PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_NC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 474 */
     /* type PARROT_INLINE_OP, */
-    "readline",
-    "readline_s_p",
-    "Parrot_readline_s_p",
+    "mul",
+    "mul_i_i_i",
+    "Parrot_mul_i_i_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_S, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 475 */
-    /* type PARROT_FUNCTION_OP, */
-    "peek",
-    "peek_s",
-    "Parrot_peek_s",
+    /* type PARROT_INLINE_OP, */
+    "mul",
+    "mul_i_ic_i",
+    "Parrot_mul_i_ic_i",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT },
-    { 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 476 */
-    /* type PARROT_FUNCTION_OP, */
-    "peek",
-    "peek_s_p",
-    "Parrot_peek_s_p",
+    /* type PARROT_INLINE_OP, */
+    "mul",
+    "mul_i_i_ic",
+    "Parrot_mul_i_i_ic",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_S, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 477 */
-    /* type PARROT_FUNCTION_OP, */
-    "stat",
-    "stat_i_s_i",
-    "Parrot_stat_i_s_i",
+    /* type PARROT_INLINE_OP, */
+    "mul",
+    "mul_n_n_n",
+    "Parrot_mul_n_n_n",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_I },
+    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_N },
     { 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",
+    /* type PARROT_INLINE_OP, */
+    "mul",
+    "mul_n_nc_n",
+    "Parrot_mul_n_nc_n",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_I },
+    { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_N },
     { 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",
+    /* type PARROT_INLINE_OP, */
+    "mul",
+    "mul_n_n_nc",
+    "Parrot_mul_n_n_nc",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_IC },
+    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_NC },
     { 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",
+    /* type PARROT_INLINE_OP, */
+    "mul",
+    "mul_p_p_p",
+    "Parrot_mul_p_p_p",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 481 */
-    /* type PARROT_FUNCTION_OP, */
-    "stat",
-    "stat_i_i_i",
-    "Parrot_stat_i_i_i",
+    /* type PARROT_INLINE_OP, */
+    "mul",
+    "mul_p_p_i",
+    "Parrot_mul_p_p_i",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 482 */
-    /* type PARROT_FUNCTION_OP, */
-    "stat",
-    "stat_i_ic_i",
-    "Parrot_stat_i_ic_i",
+    /* type PARROT_INLINE_OP, */
+    "mul",
+    "mul_p_p_ic",
+    "Parrot_mul_p_p_ic",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 483 */
-    /* type PARROT_FUNCTION_OP, */
-    "stat",
-    "stat_i_i_ic",
-    "Parrot_stat_i_i_ic",
+    /* type PARROT_INLINE_OP, */
+    "mul",
+    "mul_p_p_n",
+    "Parrot_mul_p_p_n",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_N },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 484 */
-    /* type PARROT_FUNCTION_OP, */
-    "stat",
-    "stat_i_ic_ic",
-    "Parrot_stat_i_ic_ic",
+    /* type PARROT_INLINE_OP, */
+    "mul",
+    "mul_p_p_nc",
+    "Parrot_mul_p_p_nc",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_NC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 485 */
-    /* type PARROT_FUNCTION_OP, */
-    "seek",
-    "seek_p_i_i",
-    "Parrot_seek_p_i_i",
+    /* type PARROT_INLINE_OP, */
+    "neg",
+    "neg_i",
+    "Parrot_neg_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 }
+    2,
+    { PARROT_ARG_I },
+    { PARROT_ARGDIR_INOUT },
+    { 0 }
   },
   { /* 486 */
-    /* type PARROT_FUNCTION_OP, */
-    "seek",
-    "seek_p_ic_i",
-    "Parrot_seek_p_ic_i",
+    /* type PARROT_INLINE_OP, */
+    "neg",
+    "neg_n",
+    "Parrot_neg_n",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_I },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    2,
+    { PARROT_ARG_N },
+    { PARROT_ARGDIR_INOUT },
+    { 0 }
   },
   { /* 487 */
-    /* type PARROT_FUNCTION_OP, */
-    "seek",
-    "seek_p_i_ic",
-    "Parrot_seek_p_i_ic",
+    /* type PARROT_INLINE_OP, */
+    "neg",
+    "neg_p",
+    "Parrot_neg_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_I, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    2,
+    { PARROT_ARG_P },
+    { PARROT_ARGDIR_IN },
+    { 0 }
   },
   { /* 488 */
-    /* type PARROT_FUNCTION_OP, */
-    "seek",
-    "seek_p_ic_ic",
-    "Parrot_seek_p_ic_ic",
+    /* type PARROT_INLINE_OP, */
+    "neg",
+    "neg_i_i",
+    "Parrot_neg_i_i",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_IC, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_I, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 489 */
-    /* type PARROT_FUNCTION_OP, */
-    "seek",
-    "seek_p_i_i_i",
-    "Parrot_seek_p_i_i_i",
+    /* type PARROT_INLINE_OP, */
+    "neg",
+    "neg_n_n",
+    "Parrot_neg_n_n",
     /* "",  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 }
+    3,
+    { PARROT_ARG_N, PARROT_ARG_N },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 490 */
-    /* type PARROT_FUNCTION_OP, */
-    "seek",
-    "seek_p_ic_i_i",
-    "Parrot_seek_p_ic_i_i",
+    /* type PARROT_INLINE_OP, */
+    "neg",
+    "neg_p_p",
+    "Parrot_neg_p_p",
     /* "",  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 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 491 */
-    /* type PARROT_FUNCTION_OP, */
-    "seek",
-    "seek_p_i_ic_i",
-    "Parrot_seek_p_i_ic_i",
+    /* type PARROT_INLINE_OP, */
+    "sub",
+    "sub_i_i",
+    "Parrot_sub_i_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 }
+    3,
+    { PARROT_ARG_I, PARROT_ARG_I },
+    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 492 */
-    /* type PARROT_FUNCTION_OP, */
-    "seek",
-    "seek_p_ic_ic_i",
-    "Parrot_seek_p_ic_ic_i",
+    /* type PARROT_INLINE_OP, */
+    "sub",
+    "sub_i_ic",
+    "Parrot_sub_i_ic",
     /* "",  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 }
+    3,
+    { PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 493 */
-    /* type PARROT_FUNCTION_OP, */
-    "seek",
-    "seek_p_i_i_ic",
-    "Parrot_seek_p_i_i_ic",
+    /* type PARROT_INLINE_OP, */
+    "sub",
+    "sub_n_n",
+    "Parrot_sub_n_n",
     /* "",  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 }
+    3,
+    { PARROT_ARG_N, PARROT_ARG_N },
+    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 494 */
-    /* type PARROT_FUNCTION_OP, */
-    "seek",
-    "seek_p_ic_i_ic",
-    "Parrot_seek_p_ic_i_ic",
+    /* type PARROT_INLINE_OP, */
+    "sub",
+    "sub_n_nc",
+    "Parrot_sub_n_nc",
     /* "",  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 }
+    3,
+    { PARROT_ARG_N, PARROT_ARG_NC },
+    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 495 */
-    /* type PARROT_FUNCTION_OP, */
-    "seek",
-    "seek_p_i_ic_ic",
-    "Parrot_seek_p_i_ic_ic",
+    /* type PARROT_INLINE_OP, */
+    "sub",
+    "sub_p_p",
+    "Parrot_sub_p_p",
     /* "",  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 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 496 */
-    /* type PARROT_FUNCTION_OP, */
-    "seek",
-    "seek_p_ic_ic_ic",
-    "Parrot_seek_p_ic_ic_ic",
+    /* type PARROT_INLINE_OP, */
+    "sub",
+    "sub_p_i",
+    "Parrot_sub_p_i",
     /* "",  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 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_I },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 497 */
-    /* type PARROT_FUNCTION_OP, */
-    "tell",
-    "tell_i_p",
-    "Parrot_tell_i_p",
+    /* type PARROT_INLINE_OP, */
+    "sub",
+    "sub_p_ic",
+    "Parrot_sub_p_ic",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_I, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 498 */
-    /* type PARROT_FUNCTION_OP, */
-    "tell",
-    "tell_i_i_p",
-    "Parrot_tell_i_i_p",
+    /* type PARROT_INLINE_OP, */
+    "sub",
+    "sub_p_n",
+    "Parrot_sub_p_n",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_N },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 499 */
     /* type PARROT_INLINE_OP, */
-    "abs",
-    "abs_i",
-    "Parrot_abs_i",
+    "sub",
+    "sub_p_nc",
+    "Parrot_sub_p_nc",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_I },
-    { PARROT_ARGDIR_INOUT },
-    { 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_NC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 500 */
     /* type PARROT_INLINE_OP, */
-    "abs",
-    "abs_n",
-    "Parrot_abs_n",
+    "sub",
+    "sub_i_i_i",
+    "Parrot_sub_i_i_i",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_N },
-    { PARROT_ARGDIR_INOUT },
-    { 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 501 */
     /* type PARROT_INLINE_OP, */
-    "abs",
-    "abs_i_i",
-    "Parrot_abs_i_i",
+    "sub",
+    "sub_i_ic_i",
+    "Parrot_sub_i_ic_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 502 */
     /* type PARROT_INLINE_OP, */
-    "abs",
-    "abs_n_n",
-    "Parrot_abs_n_n",
+    "sub",
+    "sub_i_i_ic",
+    "Parrot_sub_i_i_ic",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_N, PARROT_ARG_N },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 503 */
     /* type PARROT_INLINE_OP, */
-    "abs",
-    "abs_p",
-    "Parrot_abs_p",
+    "sub",
+    "sub_n_n_n",
+    "Parrot_sub_n_n_n",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_P },
-    { PARROT_ARGDIR_IN },
-    { 0 }
+    4,
+    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_N },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 504 */
     /* type PARROT_INLINE_OP, */
-    "abs",
-    "abs_p_p",
-    "Parrot_abs_p_p",
+    "sub",
+    "sub_n_nc_n",
+    "Parrot_sub_n_nc_n",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_N },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 505 */
     /* type PARROT_INLINE_OP, */
-    "add",
-    "add_i_i",
-    "Parrot_add_i_i",
+    "sub",
+    "sub_n_n_nc",
+    "Parrot_sub_n_n_nc",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_I },
-    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_NC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 506 */
     /* type PARROT_INLINE_OP, */
-    "add",
-    "add_i_ic",
-    "Parrot_add_i_ic",
+    "sub",
+    "sub_p_p_p",
+    "Parrot_sub_p_p_p",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_IC },
-    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 507 */
     /* type PARROT_INLINE_OP, */
-    "add",
-    "add_n_n",
-    "Parrot_add_n_n",
+    "sub",
+    "sub_p_p_i",
+    "Parrot_sub_p_p_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_N, PARROT_ARG_N },
-    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 508 */
     /* type PARROT_INLINE_OP, */
-    "add",
-    "add_n_nc",
-    "Parrot_add_n_nc",
+    "sub",
+    "sub_p_p_ic",
+    "Parrot_sub_p_p_ic",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_N, PARROT_ARG_NC },
-    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 509 */
     /* type PARROT_INLINE_OP, */
-    "add",
-    "add_p_p",
-    "Parrot_add_p_p",
+    "sub",
+    "sub_p_p_n",
+    "Parrot_sub_p_p_n",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_N },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 510 */
     /* type PARROT_INLINE_OP, */
-    "add",
-    "add_p_i",
-    "Parrot_add_p_i",
+    "sub",
+    "sub_p_p_nc",
+    "Parrot_sub_p_p_nc",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_I },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_NC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 511 */
     /* type PARROT_INLINE_OP, */
-    "add",
-    "add_p_ic",
-    "Parrot_add_p_ic",
+    "sqrt",
+    "sqrt_n_n",
+    "Parrot_sqrt_n_n",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_N, PARROT_ARG_N },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 512 */
-    /* type PARROT_INLINE_OP, */
-    "add",
-    "add_p_n",
-    "Parrot_add_p_n",
+    /* type PARROT_FUNCTION_OP, */
+    "callmethodcc",
+    "callmethodcc_p_s",
+    "Parrot_callmethodcc_p_s",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_N },
+    { PARROT_ARG_P, PARROT_ARG_S },
     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 513 */
-    /* type PARROT_INLINE_OP, */
-    "add",
-    "add_p_nc",
-    "Parrot_add_p_nc",
+    /* type PARROT_FUNCTION_OP, */
+    "callmethodcc",
+    "callmethodcc_p_sc",
+    "Parrot_callmethodcc_p_sc",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_NC },
+    { PARROT_ARG_P, PARROT_ARG_SC },
     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 514 */
-    /* type PARROT_INLINE_OP, */
-    "add",
-    "add_i_i_i",
-    "Parrot_add_i_i_i",
+    /* type PARROT_FUNCTION_OP, */
+    "callmethodcc",
+    "callmethodcc_p_p",
+    "Parrot_callmethodcc_p_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 515 */
-    /* type PARROT_INLINE_OP, */
-    "add",
-    "add_i_ic_i",
-    "Parrot_add_i_ic_i",
+    /* type PARROT_FUNCTION_OP, */
+    "callmethod",
+    "callmethod_p_s_p",
+    "Parrot_callmethod_p_s_p",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 516 */
-    /* type PARROT_INLINE_OP, */
-    "add",
-    "add_i_i_ic",
-    "Parrot_add_i_i_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "callmethod",
+    "callmethod_p_sc_p",
+    "Parrot_callmethod_p_sc_p",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 517 */
-    /* type PARROT_INLINE_OP, */
-    "add",
-    "add_n_n_n",
-    "Parrot_add_n_n_n",
+    /* type PARROT_FUNCTION_OP, */
+    "callmethod",
+    "callmethod_p_p_p",
+    "Parrot_callmethod_p_p_p",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_N },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 518 */
-    /* type PARROT_INLINE_OP, */
-    "add",
-    "add_n_nc_n",
-    "Parrot_add_n_nc_n",
+    /* type PARROT_FUNCTION_OP, */
+    "tailcallmethod",
+    "tailcallmethod_p_s",
+    "Parrot_tailcallmethod_p_s",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_N },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_S },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 519 */
-    /* type PARROT_INLINE_OP, */
-    "add",
-    "add_n_n_nc",
-    "Parrot_add_n_n_nc",
+    /* type PARROT_FUNCTION_OP, */
+    "tailcallmethod",
+    "tailcallmethod_p_sc",
+    "Parrot_tailcallmethod_p_sc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_NC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_SC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 520 */
-    /* type PARROT_INLINE_OP, */
-    "add",
-    "add_p_p_p",
-    "Parrot_add_p_p_p",
+    /* type PARROT_FUNCTION_OP, */
+    "tailcallmethod",
+    "tailcallmethod_p_p",
+    "Parrot_tailcallmethod_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 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 521 */
     /* type PARROT_INLINE_OP, */
-    "add",
-    "add_p_p_i",
-    "Parrot_add_p_p_i",
+    "addmethod",
+    "addmethod_p_s_p",
+    "Parrot_addmethod_p_s_p",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
+    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
     { 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",
+    "addmethod",
+    "addmethod_p_sc_p",
+    "Parrot_addmethod_p_sc_p",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
     { 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",
+    "can",
+    "can_i_p_s",
+    "Parrot_can_i_p_s",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_N },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 524 */
     /* type PARROT_INLINE_OP, */
-    "add",
-    "add_p_p_nc",
-    "Parrot_add_p_p_nc",
+    "can",
+    "can_i_p_sc",
+    "Parrot_can_i_p_sc",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_NC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 525 */
     /* type PARROT_INLINE_OP, */
-    "cmod",
-    "cmod_i_i_i",
-    "Parrot_cmod_i_i_i",
+    "does",
+    "does_i_p_s",
+    "Parrot_does_i_p_s",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_S },
     { 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",
+    "does",
+    "does_i_p_sc",
+    "Parrot_does_i_p_sc",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_SC },
     { 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",
+    "does",
+    "does_i_p_p",
+    "Parrot_does_i_p_p",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
     { 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",
+    "does",
+    "does_i_p_pc",
+    "Parrot_does_i_p_pc",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_PC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 529 */
     /* type PARROT_INLINE_OP, */
-    "cmod",
-    "cmod_p_p_ic",
-    "Parrot_cmod_p_p_ic",
+    "isa",
+    "isa_i_p_s",
+    "Parrot_isa_i_p_s",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 530 */
     /* type PARROT_INLINE_OP, */
-    "cmod",
-    "cmod_p_p_p",
-    "Parrot_cmod_p_p_p",
+    "isa",
+    "isa_i_p_sc",
+    "Parrot_isa_i_p_sc",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 531 */
     /* type PARROT_INLINE_OP, */
-    "cmod",
-    "cmod_n_n_n",
-    "Parrot_cmod_n_n_n",
+    "isa",
+    "isa_i_p_p",
+    "Parrot_isa_i_p_p",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_N },
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
     { 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",
+    "isa",
+    "isa_i_p_pc",
+    "Parrot_isa_i_p_pc",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_N },
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_PC },
     { 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",
+    "newclass",
+    "newclass_p_s",
+    "Parrot_newclass_p_s",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_NC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 534 */
     /* type PARROT_INLINE_OP, */
-    "cmod",
-    "cmod_p_p_n",
-    "Parrot_cmod_p_p_n",
+    "newclass",
+    "newclass_p_sc",
+    "Parrot_newclass_p_sc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_N },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 535 */
     /* type PARROT_INLINE_OP, */
-    "cmod",
-    "cmod_p_p_nc",
-    "Parrot_cmod_p_p_nc",
+    "newclass",
+    "newclass_p_p",
+    "Parrot_newclass_p_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_NC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 536 */
     /* type PARROT_INLINE_OP, */
-    "dec",
-    "dec_i",
-    "Parrot_dec_i",
+    "newclass",
+    "newclass_p_pc",
+    "Parrot_newclass_p_pc",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_I },
-    { PARROT_ARGDIR_INOUT },
-    { 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_PC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 537 */
     /* type PARROT_INLINE_OP, */
-    "dec",
-    "dec_n",
-    "Parrot_dec_n",
+    "subclass",
+    "subclass_p_p",
+    "Parrot_subclass_p_p",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_N },
-    { PARROT_ARGDIR_INOUT },
-    { 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 538 */
     /* type PARROT_INLINE_OP, */
-    "dec",
-    "dec_p",
-    "Parrot_dec_p",
+    "subclass",
+    "subclass_p_pc",
+    "Parrot_subclass_p_pc",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_P },
-    { PARROT_ARGDIR_IN },
-    { 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_PC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 539 */
     /* type PARROT_INLINE_OP, */
-    "div",
-    "div_i_i",
-    "Parrot_div_i_i",
+    "subclass",
+    "subclass_p_p_s",
+    "Parrot_subclass_p_p_s",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_I },
-    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 540 */
     /* type PARROT_INLINE_OP, */
-    "div",
-    "div_i_ic",
-    "Parrot_div_i_ic",
+    "subclass",
+    "subclass_p_pc_s",
+    "Parrot_subclass_p_pc_s",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_IC },
-    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 541 */
     /* type PARROT_INLINE_OP, */
-    "div",
-    "div_n_n",
-    "Parrot_div_n_n",
+    "subclass",
+    "subclass_p_p_sc",
+    "Parrot_subclass_p_p_sc",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_N, PARROT_ARG_N },
-    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 542 */
     /* type PARROT_INLINE_OP, */
-    "div",
-    "div_n_nc",
-    "Parrot_div_n_nc",
+    "subclass",
+    "subclass_p_pc_sc",
+    "Parrot_subclass_p_pc_sc",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_N, PARROT_ARG_NC },
-    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 543 */
     /* type PARROT_INLINE_OP, */
-    "div",
-    "div_p_p",
-    "Parrot_div_p_p",
-    /* "",  body */
+    "subclass",
+    "subclass_p_p_p",
+    "Parrot_subclass_p_p_p",
+    /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 544 */
     /* type PARROT_INLINE_OP, */
-    "div",
-    "div_p_i",
-    "Parrot_div_p_i",
+    "subclass",
+    "subclass_p_pc_p",
+    "Parrot_subclass_p_pc_p",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_I },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 545 */
     /* type PARROT_INLINE_OP, */
-    "div",
-    "div_p_ic",
-    "Parrot_div_p_ic",
+    "subclass",
+    "subclass_p_p_pc",
+    "Parrot_subclass_p_p_pc",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 546 */
     /* type PARROT_INLINE_OP, */
-    "div",
-    "div_p_n",
-    "Parrot_div_p_n",
+    "subclass",
+    "subclass_p_pc_pc",
+    "Parrot_subclass_p_pc_pc",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_N },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_PC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 547 */
-    /* type PARROT_INLINE_OP, */
-    "div",
-    "div_p_nc",
-    "Parrot_div_p_nc",
+    /* type PARROT_FUNCTION_OP, */
+    "subclass",
+    "subclass_p_s",
+    "Parrot_subclass_p_s",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_NC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 548 */
-    /* type PARROT_INLINE_OP, */
-    "div",
-    "div_i_i_i",
-    "Parrot_div_i_i_i",
+    /* type PARROT_FUNCTION_OP, */
+    "subclass",
+    "subclass_p_sc",
+    "Parrot_subclass_p_sc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 549 */
-    /* type PARROT_INLINE_OP, */
-    "div",
-    "div_i_ic_i",
-    "Parrot_div_i_ic_i",
+    /* type PARROT_FUNCTION_OP, */
+    "subclass",
+    "subclass_p_s_s",
+    "Parrot_subclass_p_s_s",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
+    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_S },
     { 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",
+    /* type PARROT_FUNCTION_OP, */
+    "subclass",
+    "subclass_p_sc_s",
+    "Parrot_subclass_p_sc_s",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_S },
     { 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",
+    /* type PARROT_FUNCTION_OP, */
+    "subclass",
+    "subclass_p_s_sc",
+    "Parrot_subclass_p_s_sc",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_IC },
+    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_SC },
     { 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",
+    /* type PARROT_FUNCTION_OP, */
+    "subclass",
+    "subclass_p_sc_sc",
+    "Parrot_subclass_p_sc_sc",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_N },
+    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_SC },
     { 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",
+    /* type PARROT_FUNCTION_OP, */
+    "subclass",
+    "subclass_p_s_p",
+    "Parrot_subclass_p_s_p",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_N },
+    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
     { 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",
+    /* type PARROT_FUNCTION_OP, */
+    "subclass",
+    "subclass_p_sc_p",
+    "Parrot_subclass_p_sc_p",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_NC },
+    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
     { 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",
+    /* type PARROT_FUNCTION_OP, */
+    "subclass",
+    "subclass_p_s_pc",
+    "Parrot_subclass_p_s_pc",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_NC },
+    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_PC },
     { 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",
+    /* type PARROT_FUNCTION_OP, */
+    "subclass",
+    "subclass_p_sc_pc",
+    "Parrot_subclass_p_sc_pc",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_PC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 557 */
     /* type PARROT_INLINE_OP, */
-    "div",
-    "div_p_p_i",
-    "Parrot_div_p_p_i",
+    "get_class",
+    "get_class_p_s",
+    "Parrot_get_class_p_s",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 558 */
     /* type PARROT_INLINE_OP, */
-    "div",
-    "div_p_p_ic",
-    "Parrot_div_p_p_ic",
+    "get_class",
+    "get_class_p_sc",
+    "Parrot_get_class_p_sc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 559 */
     /* type PARROT_INLINE_OP, */
-    "div",
-    "div_p_p_n",
-    "Parrot_div_p_p_n",
+    "get_class",
+    "get_class_p_p",
+    "Parrot_get_class_p_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_N },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 560 */
     /* type PARROT_INLINE_OP, */
-    "div",
-    "div_p_p_nc",
-    "Parrot_div_p_p_nc",
+    "get_class",
+    "get_class_p_pc",
+    "Parrot_get_class_p_pc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_NC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_PC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 561 */
     /* type PARROT_INLINE_OP, */
-    "fdiv",
-    "fdiv_i_i",
-    "Parrot_fdiv_i_i",
+    "class",
+    "class_p_p",
+    "Parrot_class_p_p",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_I, PARROT_ARG_I },
-    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 562 */
     /* type PARROT_INLINE_OP, */
-    "fdiv",
-    "fdiv_i_ic",
-    "Parrot_fdiv_i_ic",
+    "addparent",
+    "addparent_p_p",
+    "Parrot_addparent_p_p",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_I, PARROT_ARG_IC },
-    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 563 */
     /* type PARROT_INLINE_OP, */
-    "fdiv",
-    "fdiv_n_n",
-    "Parrot_fdiv_n_n",
+    "removeparent",
+    "removeparent_p_p",
+    "Parrot_removeparent_p_p",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_N, PARROT_ARG_N },
-    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 564 */
     /* type PARROT_INLINE_OP, */
-    "fdiv",
-    "fdiv_n_nc",
-    "Parrot_fdiv_n_nc",
+    "addrole",
+    "addrole_p_p",
+    "Parrot_addrole_p_p",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_N, PARROT_ARG_NC },
-    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 565 */
     /* type PARROT_INLINE_OP, */
-    "fdiv",
-    "fdiv_p_p",
-    "Parrot_fdiv_p_p",
+    "addattribute",
+    "addattribute_p_s",
+    "Parrot_addattribute_p_s",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARG_P, PARROT_ARG_S },
     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 566 */
     /* type PARROT_INLINE_OP, */
-    "fdiv",
-    "fdiv_p_i",
-    "Parrot_fdiv_p_i",
+    "addattribute",
+    "addattribute_p_sc",
+    "Parrot_addattribute_p_sc",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_I },
+    { PARROT_ARG_P, PARROT_ARG_SC },
     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 567 */
-    /* type PARROT_INLINE_OP, */
-    "fdiv",
-    "fdiv_p_ic",
-    "Parrot_fdiv_p_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "removeattribute",
+    "removeattribute_p_s",
+    "Parrot_removeattribute_p_s",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_IC },
+    { PARROT_ARG_P, PARROT_ARG_S },
     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 568 */
-    /* type PARROT_INLINE_OP, */
-    "fdiv",
-    "fdiv_p_n",
-    "Parrot_fdiv_p_n",
+    /* type PARROT_FUNCTION_OP, */
+    "removeattribute",
+    "removeattribute_p_sc",
+    "Parrot_removeattribute_p_sc",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_N },
+    { PARROT_ARG_P, PARROT_ARG_SC },
     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 569 */
     /* type PARROT_INLINE_OP, */
-    "fdiv",
-    "fdiv_p_nc",
-    "Parrot_fdiv_p_nc",
+    "getattribute",
+    "getattribute_p_p_s",
+    "Parrot_getattribute_p_p_s",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_NC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 570 */
     /* type PARROT_INLINE_OP, */
-    "fdiv",
-    "fdiv_i_i_i",
-    "Parrot_fdiv_i_i_i",
+    "getattribute",
+    "getattribute_p_p_sc",
+    "Parrot_getattribute_p_p_sc",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
     { 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",
+    "getattribute",
+    "getattribute_p_p_p_s",
+    "Parrot_getattribute_p_p_p_s",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 572 */
     /* type PARROT_INLINE_OP, */
-    "fdiv",
-    "fdiv_i_i_ic",
-    "Parrot_fdiv_i_i_ic",
+    "getattribute",
+    "getattribute_p_p_pc_s",
+    "Parrot_getattribute_p_p_pc_s",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 573 */
     /* type PARROT_INLINE_OP, */
-    "fdiv",
-    "fdiv_n_n_n",
-    "Parrot_fdiv_n_n_n",
+    "getattribute",
+    "getattribute_p_p_p_sc",
+    "Parrot_getattribute_p_p_p_sc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_N },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 574 */
     /* type PARROT_INLINE_OP, */
-    "fdiv",
-    "fdiv_n_nc_n",
-    "Parrot_fdiv_n_nc_n",
+    "getattribute",
+    "getattribute_p_p_pc_sc",
+    "Parrot_getattribute_p_p_pc_sc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_N },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 575 */
     /* type PARROT_INLINE_OP, */
-    "fdiv",
-    "fdiv_n_n_nc",
-    "Parrot_fdiv_n_n_nc",
+    "setattribute",
+    "setattribute_p_s_p",
+    "Parrot_setattribute_p_s_p",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_NC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 576 */
     /* type PARROT_INLINE_OP, */
-    "fdiv",
-    "fdiv_p_p_p",
-    "Parrot_fdiv_p_p_p",
+    "setattribute",
+    "setattribute_p_sc_p",
+    "Parrot_setattribute_p_sc_p",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARG_P, PARROT_ARG_SC, 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",
+    "setattribute",
+    "setattribute_p_p_s_p",
+    "Parrot_setattribute_p_p_s_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 578 */
     /* type PARROT_INLINE_OP, */
-    "fdiv",
-    "fdiv_p_p_ic",
-    "Parrot_fdiv_p_p_ic",
+    "setattribute",
+    "setattribute_p_pc_s_p",
+    "Parrot_setattribute_p_pc_s_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 579 */
     /* type PARROT_INLINE_OP, */
-    "fdiv",
-    "fdiv_p_p_n",
-    "Parrot_fdiv_p_p_n",
+    "setattribute",
+    "setattribute_p_p_sc_p",
+    "Parrot_setattribute_p_p_sc_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_N },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 580 */
     /* type PARROT_INLINE_OP, */
-    "fdiv",
-    "fdiv_p_p_nc",
-    "Parrot_fdiv_p_p_nc",
+    "setattribute",
+    "setattribute_p_pc_sc_p",
+    "Parrot_setattribute_p_pc_sc_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_NC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 581 */
     /* type PARROT_INLINE_OP, */
-    "ceil",
-    "ceil_n",
-    "Parrot_ceil_n",
+    "inspect",
+    "inspect_p_p",
+    "Parrot_inspect_p_p",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_N },
-    { PARROT_ARGDIR_INOUT },
-    { 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 582 */
     /* type PARROT_INLINE_OP, */
-    "ceil",
-    "ceil_i_n",
-    "Parrot_ceil_i_n",
+    "inspect",
+    "inspect_p_pc",
+    "Parrot_inspect_p_pc",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_I, PARROT_ARG_N },
+    { PARROT_ARG_P, PARROT_ARG_PC },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 583 */
     /* type PARROT_INLINE_OP, */
-    "ceil",
-    "ceil_n_n",
-    "Parrot_ceil_n_n",
+    "inspect",
+    "inspect_p_p_s",
+    "Parrot_inspect_p_p_s",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_N, PARROT_ARG_N },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 584 */
     /* type PARROT_INLINE_OP, */
-    "floor",
-    "floor_n",
-    "Parrot_floor_n",
+    "inspect",
+    "inspect_p_pc_s",
+    "Parrot_inspect_p_pc_s",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_N },
-    { PARROT_ARGDIR_INOUT },
-    { 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 585 */
     /* type PARROT_INLINE_OP, */
-    "floor",
-    "floor_i_n",
-    "Parrot_floor_i_n",
+    "inspect",
+    "inspect_p_p_sc",
+    "Parrot_inspect_p_p_sc",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_N },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 586 */
     /* type PARROT_INLINE_OP, */
-    "floor",
-    "floor_n_n",
-    "Parrot_floor_n_n",
+    "inspect",
+    "inspect_p_pc_sc",
+    "Parrot_inspect_p_pc_sc",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_N, PARROT_ARG_N },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 587 */
-    /* type PARROT_INLINE_OP, */
-    "inc",
-    "inc_i",
-    "Parrot_inc_i",
+    /* type PARROT_FUNCTION_OP, */
+    "new",
+    "new_p_s",
+    "Parrot_new_p_s",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_I },
-    { PARROT_ARGDIR_INOUT },
-    { 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 588 */
-    /* type PARROT_INLINE_OP, */
-    "inc",
-    "inc_n",
-    "Parrot_inc_n",
+    /* type PARROT_FUNCTION_OP, */
+    "new",
+    "new_p_sc",
+    "Parrot_new_p_sc",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_N },
-    { PARROT_ARGDIR_INOUT },
-    { 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 589 */
-    /* type PARROT_INLINE_OP, */
-    "inc",
-    "inc_p",
-    "Parrot_inc_p",
+    /* type PARROT_FUNCTION_OP, */
+    "new",
+    "new_p_s_p",
+    "Parrot_new_p_s_p",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_P },
-    { PARROT_ARGDIR_IN },
-    { 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 590 */
     /* type PARROT_FUNCTION_OP, */
-    "mod",
-    "mod_i_i",
-    "Parrot_mod_i_i",
+    "new",
+    "new_p_sc_p",
+    "Parrot_new_p_sc_p",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_I },
-    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 591 */
     /* type PARROT_FUNCTION_OP, */
-    "mod",
-    "mod_i_ic",
-    "Parrot_mod_i_ic",
+    "new",
+    "new_p_s_pc",
+    "Parrot_new_p_s_pc",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_IC },
-    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_PC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 592 */
     /* type PARROT_FUNCTION_OP, */
-    "mod",
-    "mod_n_n",
-    "Parrot_mod_n_n",
+    "new",
+    "new_p_sc_pc",
+    "Parrot_new_p_sc_pc",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_N, PARROT_ARG_N },
-    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_PC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 593 */
-    /* type PARROT_FUNCTION_OP, */
-    "mod",
-    "mod_n_nc",
-    "Parrot_mod_n_nc",
+    /* type PARROT_INLINE_OP, */
+    "new",
+    "new_p_p",
+    "Parrot_new_p_p",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_N, PARROT_ARG_NC },
-    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 594 */
     /* type PARROT_INLINE_OP, */
-    "mod",
-    "mod_p_p",
-    "Parrot_mod_p_p",
+    "new",
+    "new_p_pc",
+    "Parrot_new_p_pc",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_PC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 595 */
-    /* type PARROT_INLINE_OP, */
-    "mod",
-    "mod_p_i",
-    "Parrot_mod_p_i",
+    /* type PARROT_FUNCTION_OP, */
+    "new",
+    "new_p_p_p",
+    "Parrot_new_p_p_p",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_I },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 596 */
-    /* type PARROT_INLINE_OP, */
-    "mod",
-    "mod_p_ic",
-    "Parrot_mod_p_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "new",
+    "new_p_pc_p",
+    "Parrot_new_p_pc_p",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 597 */
-    /* type PARROT_INLINE_OP, */
-    "mod",
-    "mod_p_n",
-    "Parrot_mod_p_n",
+    /* type PARROT_FUNCTION_OP, */
+    "new",
+    "new_p_p_pc",
+    "Parrot_new_p_p_pc",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_N },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 598 */
-    /* type PARROT_INLINE_OP, */
-    "mod",
-    "mod_p_nc",
-    "Parrot_mod_p_nc",
+    /* type PARROT_FUNCTION_OP, */
+    "new",
+    "new_p_pc_pc",
+    "Parrot_new_p_pc_pc",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_NC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_PC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 599 */
     /* type PARROT_FUNCTION_OP, */
-    "mod",
-    "mod_i_i_i",
-    "Parrot_mod_i_i_i",
+    "root_new",
+    "root_new_p_p",
+    "Parrot_root_new_p_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 600 */
     /* type PARROT_FUNCTION_OP, */
-    "mod",
-    "mod_i_ic_i",
-    "Parrot_mod_i_ic_i",
+    "root_new",
+    "root_new_p_pc",
+    "Parrot_root_new_p_pc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_PC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 601 */
     /* type PARROT_FUNCTION_OP, */
-    "mod",
-    "mod_i_i_ic",
-    "Parrot_mod_i_i_ic",
+    "root_new",
+    "root_new_p_p_p",
+    "Parrot_root_new_p_p_p",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
     { 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",
+    "root_new",
+    "root_new_p_pc_p",
+    "Parrot_root_new_p_pc_p",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_N },
+    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_P },
     { 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",
+    "root_new",
+    "root_new_p_p_pc",
+    "Parrot_root_new_p_p_pc",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_N },
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC },
     { 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",
+    "root_new",
+    "root_new_p_pc_pc",
+    "Parrot_root_new_p_pc_pc",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_NC },
+    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_PC },
     { 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",
+    "typeof",
+    "typeof_s_p",
+    "Parrot_typeof_s_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 }
+    3,
+    { PARROT_ARG_S, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 606 */
     /* type PARROT_INLINE_OP, */
-    "mod",
-    "mod_p_p_i",
-    "Parrot_mod_p_p_i",
+    "typeof",
+    "typeof_p_p",
+    "Parrot_typeof_p_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 607 */
-    /* type PARROT_INLINE_OP, */
-    "mod",
-    "mod_p_p_ic",
-    "Parrot_mod_p_p_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "get_repr",
+    "get_repr_s_p",
+    "Parrot_get_repr_s_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_S, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 608 */
-    /* type PARROT_INLINE_OP, */
-    "mod",
-    "mod_p_p_n",
-    "Parrot_mod_p_p_n",
+    /* 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_N },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 609 */
-    /* type PARROT_INLINE_OP, */
-    "mod",
-    "mod_p_p_nc",
-    "Parrot_mod_p_p_nc",
+    /* 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_NC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 610 */
     /* type PARROT_INLINE_OP, */
-    "mul",
-    "mul_i_i",
-    "Parrot_mul_i_i",
+    "defined",
+    "defined_i_p",
+    "Parrot_defined_i_p",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_I, PARROT_ARG_I },
-    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+    { PARROT_ARG_I, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 611 */
     /* type PARROT_INLINE_OP, */
-    "mul",
-    "mul_i_ic",
-    "Parrot_mul_i_ic",
+    "defined",
+    "defined_i_p_ki",
+    "Parrot_defined_i_p_ki",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_IC },
-    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KI },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 612 */
     /* type PARROT_INLINE_OP, */
-    "mul",
-    "mul_n_n",
-    "Parrot_mul_n_n",
+    "defined",
+    "defined_i_p_kic",
+    "Parrot_defined_i_p_kic",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_N, PARROT_ARG_N },
-    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KIC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 613 */
     /* type PARROT_INLINE_OP, */
-    "mul",
-    "mul_n_nc",
-    "Parrot_mul_n_nc",
+    "defined",
+    "defined_i_p_k",
+    "Parrot_defined_i_p_k",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_N, PARROT_ARG_NC },
-    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_K },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 614 */
     /* type PARROT_INLINE_OP, */
-    "mul",
-    "mul_p_p",
-    "Parrot_mul_p_p",
+    "defined",
+    "defined_i_p_kc",
+    "Parrot_defined_i_p_kc",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 615 */
     /* type PARROT_INLINE_OP, */
-    "mul",
-    "mul_p_i",
-    "Parrot_mul_p_i",
+    "exists",
+    "exists_i_p_ki",
+    "Parrot_exists_i_p_ki",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_I },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KI },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 616 */
     /* type PARROT_INLINE_OP, */
-    "mul",
-    "mul_p_ic",
-    "Parrot_mul_p_ic",
+    "exists",
+    "exists_i_p_kic",
+    "Parrot_exists_i_p_kic",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KIC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 617 */
     /* type PARROT_INLINE_OP, */
-    "mul",
-    "mul_p_n",
-    "Parrot_mul_p_n",
+    "exists",
+    "exists_i_p_k",
+    "Parrot_exists_i_p_k",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_N },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_K },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 618 */
     /* type PARROT_INLINE_OP, */
-    "mul",
-    "mul_p_nc",
-    "Parrot_mul_p_nc",
+    "exists",
+    "exists_i_p_kc",
+    "Parrot_exists_i_p_kc",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_NC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 619 */
     /* type PARROT_INLINE_OP, */
-    "mul",
-    "mul_i_i_i",
-    "Parrot_mul_i_i_i",
+    "delete",
+    "delete_p_k",
+    "Parrot_delete_p_k",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_K },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 620 */
     /* type PARROT_INLINE_OP, */
-    "mul",
-    "mul_i_ic_i",
-    "Parrot_mul_i_ic_i",
+    "delete",
+    "delete_p_kc",
+    "Parrot_delete_p_kc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_KC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 621 */
     /* type PARROT_INLINE_OP, */
-    "mul",
-    "mul_i_i_ic",
-    "Parrot_mul_i_i_ic",
+    "delete",
+    "delete_p_ki",
+    "Parrot_delete_p_ki",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_KI },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 622 */
     /* type PARROT_INLINE_OP, */
-    "mul",
-    "mul_n_n_n",
-    "Parrot_mul_n_n_n",
+    "delete",
+    "delete_p_kic",
+    "Parrot_delete_p_kic",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_N },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_KIC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 623 */
     /* type PARROT_INLINE_OP, */
-    "mul",
-    "mul_n_nc_n",
-    "Parrot_mul_n_nc_n",
+    "elements",
+    "elements_i_p",
+    "Parrot_elements_i_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_N },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_I, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 624 */
     /* type PARROT_INLINE_OP, */
-    "mul",
-    "mul_n_n_nc",
-    "Parrot_mul_n_n_nc",
+    "push",
+    "push_p_i",
+    "Parrot_push_p_i",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_NC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_I },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 625 */
     /* type PARROT_INLINE_OP, */
-    "mul",
-    "mul_p_p_p",
-    "Parrot_mul_p_p_p",
+    "push",
+    "push_p_ic",
+    "Parrot_push_p_ic",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 626 */
     /* type PARROT_INLINE_OP, */
-    "mul",
-    "mul_p_p_i",
-    "Parrot_mul_p_p_i",
+    "push",
+    "push_p_n",
+    "Parrot_push_p_n",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_N },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 627 */
     /* type PARROT_INLINE_OP, */
-    "mul",
-    "mul_p_p_ic",
-    "Parrot_mul_p_p_ic",
+    "push",
+    "push_p_nc",
+    "Parrot_push_p_nc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_NC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 628 */
     /* type PARROT_INLINE_OP, */
-    "mul",
-    "mul_p_p_n",
-    "Parrot_mul_p_p_n",
+    "push",
+    "push_p_s",
+    "Parrot_push_p_s",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_N },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_S },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 629 */
     /* type PARROT_INLINE_OP, */
-    "mul",
-    "mul_p_p_nc",
-    "Parrot_mul_p_p_nc",
+    "push",
+    "push_p_sc",
+    "Parrot_push_p_sc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_NC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_SC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 630 */
     /* type PARROT_INLINE_OP, */
-    "neg",
-    "neg_i",
-    "Parrot_neg_i",
+    "push",
+    "push_p_p",
+    "Parrot_push_p_p",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_I },
-    { PARROT_ARGDIR_INOUT },
-    { 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 631 */
     /* type PARROT_INLINE_OP, */
-    "neg",
-    "neg_n",
-    "Parrot_neg_n",
+    "pop",
+    "pop_i_p",
+    "Parrot_pop_i_p",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_N },
-    { PARROT_ARGDIR_INOUT },
-    { 0 }
+    3,
+    { PARROT_ARG_I, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 632 */
     /* type PARROT_INLINE_OP, */
-    "neg",
-    "neg_p",
-    "Parrot_neg_p",
+    "pop",
+    "pop_n_p",
+    "Parrot_pop_n_p",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_P },
-    { PARROT_ARGDIR_IN },
-    { 0 }
+    3,
+    { PARROT_ARG_N, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 633 */
     /* type PARROT_INLINE_OP, */
-    "neg",
-    "neg_i_i",
-    "Parrot_neg_i_i",
+    "pop",
+    "pop_s_p",
+    "Parrot_pop_s_p",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_I, PARROT_ARG_I },
+    { PARROT_ARG_S, PARROT_ARG_P },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 634 */
     /* type PARROT_INLINE_OP, */
-    "neg",
-    "neg_n_n",
-    "Parrot_neg_n_n",
+    "pop",
+    "pop_p_p",
+    "Parrot_pop_p_p",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_N, PARROT_ARG_N },
+    { PARROT_ARG_P, PARROT_ARG_P },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 635 */
     /* type PARROT_INLINE_OP, */
-    "neg",
-    "neg_p_p",
-    "Parrot_neg_p_p",
+    "unshift",
+    "unshift_p_i",
+    "Parrot_unshift_p_i",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_I },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 636 */
     /* type PARROT_INLINE_OP, */
-    "pow",
-    "pow_n_n_n",
-    "Parrot_pow_n_n_n",
+    "unshift",
+    "unshift_p_ic",
+    "Parrot_unshift_p_ic",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_N },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 637 */
     /* type PARROT_INLINE_OP, */
-    "pow",
-    "pow_n_nc_n",
-    "Parrot_pow_n_nc_n",
+    "unshift",
+    "unshift_p_n",
+    "Parrot_unshift_p_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 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_N },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 638 */
     /* type PARROT_INLINE_OP, */
-    "pow",
-    "pow_n_n_nc",
-    "Parrot_pow_n_n_nc",
+    "unshift",
+    "unshift_p_nc",
+    "Parrot_unshift_p_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 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_NC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 639 */
     /* type PARROT_INLINE_OP, */
-    "pow",
-    "pow_p_p_p",
-    "Parrot_pow_p_p_p",
+    "unshift",
+    "unshift_p_s",
+    "Parrot_unshift_p_s",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_S },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 640 */
     /* type PARROT_INLINE_OP, */
-    "pow",
-    "pow_p_p_i",
-    "Parrot_pow_p_p_i",
+    "unshift",
+    "unshift_p_sc",
+    "Parrot_unshift_p_sc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_SC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 641 */
     /* type PARROT_INLINE_OP, */
-    "pow",
-    "pow_p_p_ic",
-    "Parrot_pow_p_p_ic",
+    "unshift",
+    "unshift_p_p",
+    "Parrot_unshift_p_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 642 */
     /* type PARROT_INLINE_OP, */
-    "pow",
-    "pow_p_p_n",
-    "Parrot_pow_p_p_n",
+    "shift",
+    "shift_i_p",
+    "Parrot_shift_i_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_N },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_I, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 643 */
     /* type PARROT_INLINE_OP, */
-    "pow",
-    "pow_p_p_nc",
-    "Parrot_pow_p_p_nc",
+    "shift",
+    "shift_n_p",
+    "Parrot_shift_n_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_NC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_N, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 644 */
     /* type PARROT_INLINE_OP, */
-    "pow",
-    "pow_n_n_i",
-    "Parrot_pow_n_n_i",
+    "shift",
+    "shift_s_p",
+    "Parrot_shift_s_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_S, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 645 */
     /* type PARROT_INLINE_OP, */
-    "pow",
-    "pow_n_nc_i",
-    "Parrot_pow_n_nc_i",
+    "shift",
+    "shift_p_p",
+    "Parrot_shift_p_p",
     /* "",  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 */
+    3,
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
+  },
+  { /* 646 */
     /* type PARROT_INLINE_OP, */
-    "pow",
-    "pow_n_n_ic",
-    "Parrot_pow_n_n_ic",
+    "splice",
+    "splice_p_p_i_i",
+    "Parrot_splice_p_p_i_i",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 647 */
     /* type PARROT_INLINE_OP, */
-    "pow",
-    "pow_n_nc_ic",
-    "Parrot_pow_n_nc_ic",
+    "splice",
+    "splice_p_p_ic_i",
+    "Parrot_splice_p_p_ic_i",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 648 */
     /* type PARROT_INLINE_OP, */
-    "sub",
-    "sub_i_i",
-    "Parrot_sub_i_i",
+    "splice",
+    "splice_p_p_i_ic",
+    "Parrot_splice_p_p_i_ic",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_I },
-    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
-    { 0, 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 }
   },
   { /* 649 */
     /* type PARROT_INLINE_OP, */
-    "sub",
-    "sub_i_ic",
-    "Parrot_sub_i_ic",
+    "splice",
+    "splice_p_p_ic_ic",
+    "Parrot_splice_p_p_ic_ic",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_IC },
-    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
-    { 0, 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 }
   },
   { /* 650 */
-    /* type PARROT_INLINE_OP, */
-    "sub",
-    "sub_n_n",
-    "Parrot_sub_n_n",
+    /* type PARROT_FUNCTION_OP, */
+    "setprop",
+    "setprop_p_s_p",
+    "Parrot_setprop_p_s_p",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_N, PARROT_ARG_N },
-    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 651 */
-    /* type PARROT_INLINE_OP, */
-    "sub",
-    "sub_n_nc",
-    "Parrot_sub_n_nc",
+    /* type PARROT_FUNCTION_OP, */
+    "setprop",
+    "setprop_p_sc_p",
+    "Parrot_setprop_p_sc_p",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_N, PARROT_ARG_NC },
-    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 652 */
-    /* type PARROT_INLINE_OP, */
-    "sub",
-    "sub_p_p",
-    "Parrot_sub_p_p",
+    /* type PARROT_FUNCTION_OP, */
+    "getprop",
+    "getprop_p_s_p",
+    "Parrot_getprop_p_s_p",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 653 */
-    /* type PARROT_INLINE_OP, */
-    "sub",
-    "sub_p_i",
-    "Parrot_sub_p_i",
+    /* type PARROT_FUNCTION_OP, */
+    "getprop",
+    "getprop_p_sc_p",
+    "Parrot_getprop_p_sc_p",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_I },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 654 */
-    /* type PARROT_INLINE_OP, */
-    "sub",
-    "sub_p_ic",
-    "Parrot_sub_p_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "delprop",
+    "delprop_p_s",
+    "Parrot_delprop_p_s",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_IC },
+    { PARROT_ARG_P, PARROT_ARG_S },
     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 655 */
-    /* type PARROT_INLINE_OP, */
-    "sub",
-    "sub_p_n",
-    "Parrot_sub_p_n",
+    /* type PARROT_FUNCTION_OP, */
+    "delprop",
+    "delprop_p_sc",
+    "Parrot_delprop_p_sc",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_N },
+    { PARROT_ARG_P, PARROT_ARG_SC },
     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 656 */
-    /* type PARROT_INLINE_OP, */
-    "sub",
-    "sub_p_nc",
-    "Parrot_sub_p_nc",
+    /* type PARROT_FUNCTION_OP, */
+    "prophash",
+    "prophash_p_p",
+    "Parrot_prophash_p_p",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_NC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 657 */
-    /* type PARROT_INLINE_OP, */
-    "sub",
-    "sub_i_i_i",
-    "Parrot_sub_i_i_i",
+    /* type PARROT_FUNCTION_OP, */
+    "freeze",
+    "freeze_s_p",
+    "Parrot_freeze_s_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_S, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 658 */
-    /* type PARROT_INLINE_OP, */
-    "sub",
-    "sub_i_ic_i",
-    "Parrot_sub_i_ic_i",
+    /* type PARROT_FUNCTION_OP, */
+    "thaw",
+    "thaw_p_s",
+    "Parrot_thaw_p_s",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_IC, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 659 */
-    /* type PARROT_INLINE_OP, */
-    "sub",
-    "sub_i_i_ic",
-    "Parrot_sub_i_i_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "thaw",
+    "thaw_p_sc",
+    "Parrot_thaw_p_sc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_I, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 660 */
     /* type PARROT_INLINE_OP, */
-    "sub",
-    "sub_n_n_n",
-    "Parrot_sub_n_n_n",
+    "add_multi",
+    "add_multi_s_s_p",
+    "Parrot_add_multi_s_s_p",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_N },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 661 */
     /* type PARROT_INLINE_OP, */
-    "sub",
-    "sub_n_nc_n",
-    "Parrot_sub_n_nc_n",
+    "add_multi",
+    "add_multi_sc_s_p",
+    "Parrot_add_multi_sc_s_p",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_N },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 662 */
     /* type PARROT_INLINE_OP, */
-    "sub",
-    "sub_n_n_nc",
-    "Parrot_sub_n_n_nc",
+    "add_multi",
+    "add_multi_s_sc_p",
+    "Parrot_add_multi_s_sc_p",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_NC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 663 */
     /* type PARROT_INLINE_OP, */
-    "sub",
-    "sub_p_p_p",
-    "Parrot_sub_p_p_p",
+    "add_multi",
+    "add_multi_sc_sc_p",
+    "Parrot_add_multi_sc_sc_p",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARG_SC, PARROT_ARG_SC, 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",
+    "find_multi",
+    "find_multi_p_s_s",
+    "Parrot_find_multi_p_s_s",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 665 */
     /* type PARROT_INLINE_OP, */
-    "sub",
-    "sub_p_p_ic",
-    "Parrot_sub_p_p_ic",
+    "find_multi",
+    "find_multi_p_sc_s",
+    "Parrot_find_multi_p_sc_s",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 666 */
     /* type PARROT_INLINE_OP, */
-    "sub",
-    "sub_p_p_n",
-    "Parrot_sub_p_p_n",
+    "find_multi",
+    "find_multi_p_s_sc",
+    "Parrot_find_multi_p_s_sc",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_N },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 667 */
     /* type PARROT_INLINE_OP, */
-    "sub",
-    "sub_p_p_nc",
-    "Parrot_sub_p_p_nc",
+    "find_multi",
+    "find_multi_p_sc_sc",
+    "Parrot_find_multi_p_sc_sc",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_NC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 668 */
-    /* type PARROT_INLINE_OP, */
-    "sqrt",
-    "sqrt_n_n",
-    "Parrot_sqrt_n_n",
+    /* type PARROT_FUNCTION_OP, */
+    "register",
+    "register_p",
+    "Parrot_register_p",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_N, PARROT_ARG_N },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    2,
+    { PARROT_ARG_P },
+    { PARROT_ARGDIR_IN },
+    { 0 }
   },
   { /* 669 */
-    /* type PARROT_INLINE_OP, */
-    "acos",
-    "acos_n_n",
-    "Parrot_acos_n_n",
+    /* type PARROT_FUNCTION_OP, */
+    "unregister",
+    "unregister_p",
+    "Parrot_unregister_p",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_N, PARROT_ARG_N },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    2,
+    { PARROT_ARG_P },
+    { PARROT_ARGDIR_IN },
+    { 0 }
   },
   { /* 670 */
-    /* type PARROT_INLINE_OP, */
-    "asec",
-    "asec_n_n",
-    "Parrot_asec_n_n",
+    /* type PARROT_FUNCTION_OP, */
+    "box",
+    "box_p_i",
+    "Parrot_box_p_i",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_N, PARROT_ARG_N },
+    { PARROT_ARG_P, PARROT_ARG_I },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 671 */
-    /* type PARROT_INLINE_OP, */
-    "asin",
-    "asin_n_n",
-    "Parrot_asin_n_n",
+    /* type PARROT_FUNCTION_OP, */
+    "box",
+    "box_p_ic",
+    "Parrot_box_p_ic",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_N, PARROT_ARG_N },
+    { PARROT_ARG_P, PARROT_ARG_IC },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 672 */
-    /* type PARROT_INLINE_OP, */
-    "atan",
-    "atan_n_n",
-    "Parrot_atan_n_n",
+    /* type PARROT_FUNCTION_OP, */
+    "box",
+    "box_p_n",
+    "Parrot_box_p_n",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_N, PARROT_ARG_N },
+    { PARROT_ARG_P, 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",
+    /* type PARROT_FUNCTION_OP, */
+    "box",
+    "box_p_nc",
+    "Parrot_box_p_nc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_N },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_NC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 674 */
-    /* type PARROT_INLINE_OP, */
-    "atan",
-    "atan_n_nc_n",
-    "Parrot_atan_n_nc_n",
+    /* type PARROT_FUNCTION_OP, */
+    "box",
+    "box_p_s",
+    "Parrot_box_p_s",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_N, PARROT_ARG_NC, PARROT_ARG_N },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 675 */
-    /* type PARROT_INLINE_OP, */
-    "atan",
-    "atan_n_n_nc",
-    "Parrot_atan_n_n_nc",
+    /* type PARROT_FUNCTION_OP, */
+    "box",
+    "box_p_sc",
+    "Parrot_box_p_sc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_N, PARROT_ARG_N, PARROT_ARG_NC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 676 */
     /* type PARROT_INLINE_OP, */
-    "cos",
-    "cos_n_n",
-    "Parrot_cos_n_n",
+    "iter",
+    "iter_p_p",
+    "Parrot_iter_p_p",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_N, PARROT_ARG_N },
+    { PARROT_ARG_P, PARROT_ARG_P },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 677 */
     /* type PARROT_INLINE_OP, */
-    "cosh",
-    "cosh_n_n",
-    "Parrot_cosh_n_n",
+    "morph",
+    "morph_p_p",
+    "Parrot_morph_p_p",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_N, PARROT_ARG_N },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 678 */
     /* type PARROT_INLINE_OP, */
-    "exp",
-    "exp_n_n",
-    "Parrot_exp_n_n",
+    "morph",
+    "morph_p_pc",
+    "Parrot_morph_p_pc",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_N, PARROT_ARG_N },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_PC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 679 */
     /* type PARROT_INLINE_OP, */
-    "ln",
-    "ln_n_n",
-    "Parrot_ln_n_n",
+    "clone",
+    "clone_s_s",
+    "Parrot_clone_s_s",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_N, PARROT_ARG_N },
+    { PARROT_ARG_S, PARROT_ARG_S },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 680 */
     /* type PARROT_INLINE_OP, */
-    "log10",
-    "log10_n_n",
-    "Parrot_log10_n_n",
+    "clone",
+    "clone_s_sc",
+    "Parrot_clone_s_sc",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_N, PARROT_ARG_N },
+    { PARROT_ARG_S, PARROT_ARG_SC },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 681 */
-    /* type PARROT_FUNCTION_OP, */
-    "log2",
-    "log2_n_n",
-    "Parrot_log2_n_n",
+    /* type PARROT_INLINE_OP, */
+    "set",
+    "set_i_i",
+    "Parrot_set_i_i",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_N, PARROT_ARG_N },
+    { PARROT_ARG_I, PARROT_ARG_I },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 682 */
     /* type PARROT_INLINE_OP, */
-    "sec",
-    "sec_n_n",
-    "Parrot_sec_n_n",
+    "set",
+    "set_i_ic",
+    "Parrot_set_i_ic",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_N, PARROT_ARG_N },
+    { PARROT_ARG_I, PARROT_ARG_IC },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 683 */
     /* type PARROT_INLINE_OP, */
-    "sech",
-    "sech_n_n",
-    "Parrot_sech_n_n",
+    "set",
+    "set_i_n",
+    "Parrot_set_i_n",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_N, PARROT_ARG_N },
+    { PARROT_ARG_I, PARROT_ARG_N },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 684 */
     /* type PARROT_INLINE_OP, */
-    "sin",
-    "sin_n_n",
-    "Parrot_sin_n_n",
+    "set",
+    "set_i_nc",
+    "Parrot_set_i_nc",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_N, PARROT_ARG_N },
+    { PARROT_ARG_I, PARROT_ARG_NC },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 685 */
     /* type PARROT_INLINE_OP, */
-    "sinh",
-    "sinh_n_n",
-    "Parrot_sinh_n_n",
+    "set",
+    "set_i_s",
+    "Parrot_set_i_s",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_N, PARROT_ARG_N },
+    { PARROT_ARG_I, PARROT_ARG_S },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 686 */
     /* type PARROT_INLINE_OP, */
-    "tan",
-    "tan_n_n",
-    "Parrot_tan_n_n",
+    "set",
+    "set_i_sc",
+    "Parrot_set_i_sc",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_N, PARROT_ARG_N },
+    { PARROT_ARG_I, PARROT_ARG_SC },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 687 */
     /* type PARROT_INLINE_OP, */
-    "tanh",
-    "tanh_n_n",
-    "Parrot_tanh_n_n",
+    "set",
+    "set_n_n",
+    "Parrot_set_n_n",
     /* "",  body */
     0,
     3,
@@ -9603,3094 +9415,3094 @@
     { 0, 0 }
   },
   { /* 688 */
-    /* type PARROT_FUNCTION_OP, */
-    "callmethodcc",
-    "callmethodcc_p_s",
-    "Parrot_callmethodcc_p_s",
+    /* type PARROT_INLINE_OP, */
+    "set",
+    "set_n_nc",
+    "Parrot_set_n_nc",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_S },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_N, PARROT_ARG_NC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 689 */
-    /* type PARROT_FUNCTION_OP, */
-    "callmethodcc",
-    "callmethodcc_p_sc",
-    "Parrot_callmethodcc_p_sc",
+    /* type PARROT_INLINE_OP, */
+    "set",
+    "set_n_i",
+    "Parrot_set_n_i",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_SC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_N, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 690 */
-    /* type PARROT_FUNCTION_OP, */
-    "callmethodcc",
-    "callmethodcc_p_p",
-    "Parrot_callmethodcc_p_p",
+    /* type PARROT_INLINE_OP, */
+    "set",
+    "set_n_ic",
+    "Parrot_set_n_ic",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_N, PARROT_ARG_IC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 691 */
-    /* type PARROT_FUNCTION_OP, */
-    "callmethod",
-    "callmethod_p_s_p",
-    "Parrot_callmethod_p_s_p",
+    /* type PARROT_INLINE_OP, */
+    "set",
+    "set_n_s",
+    "Parrot_set_n_s",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_N, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 692 */
-    /* type PARROT_FUNCTION_OP, */
-    "callmethod",
-    "callmethod_p_sc_p",
-    "Parrot_callmethod_p_sc_p",
+    /* type PARROT_INLINE_OP, */
+    "set",
+    "set_n_sc",
+    "Parrot_set_n_sc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_N, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 693 */
-    /* type PARROT_FUNCTION_OP, */
-    "callmethod",
-    "callmethod_p_p_p",
-    "Parrot_callmethod_p_p_p",
+    /* type PARROT_INLINE_OP, */
+    "set",
+    "set_n_p",
+    "Parrot_set_n_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 }
-  },
+    3,
+    { PARROT_ARG_N, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
+  },
   { /* 694 */
-    /* type PARROT_FUNCTION_OP, */
-    "tailcallmethod",
-    "tailcallmethod_p_s",
-    "Parrot_tailcallmethod_p_s",
+    /* type PARROT_INLINE_OP, */
+    "set",
+    "set_s_p",
+    "Parrot_set_s_p",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_S },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_S, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 695 */
-    /* type PARROT_FUNCTION_OP, */
-    "tailcallmethod",
-    "tailcallmethod_p_sc",
-    "Parrot_tailcallmethod_p_sc",
+    /* type PARROT_INLINE_OP, */
+    "set",
+    "set_s_s",
+    "Parrot_set_s_s",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_SC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_S, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 696 */
-    /* type PARROT_FUNCTION_OP, */
-    "tailcallmethod",
-    "tailcallmethod_p_p",
-    "Parrot_tailcallmethod_p_p",
+    /* type PARROT_INLINE_OP, */
+    "set",
+    "set_s_sc",
+    "Parrot_set_s_sc",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_S, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 697 */
     /* type PARROT_INLINE_OP, */
-    "addmethod",
-    "addmethod_p_s_p",
-    "Parrot_addmethod_p_s_p",
+    "set",
+    "set_s_i",
+    "Parrot_set_s_i",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_S, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 698 */
     /* type PARROT_INLINE_OP, */
-    "addmethod",
-    "addmethod_p_sc_p",
-    "Parrot_addmethod_p_sc_p",
+    "set",
+    "set_s_ic",
+    "Parrot_set_s_ic",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_S, PARROT_ARG_IC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 699 */
     /* type PARROT_INLINE_OP, */
-    "can",
-    "can_i_p_s",
-    "Parrot_can_i_p_s",
+    "set",
+    "set_s_n",
+    "Parrot_set_s_n",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_S, PARROT_ARG_N },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 700 */
     /* type PARROT_INLINE_OP, */
-    "can",
-    "can_i_p_sc",
-    "Parrot_can_i_p_sc",
+    "set",
+    "set_s_nc",
+    "Parrot_set_s_nc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_S, PARROT_ARG_NC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 701 */
     /* type PARROT_INLINE_OP, */
-    "does",
-    "does_i_p_s",
-    "Parrot_does_i_p_s",
+    "set",
+    "set_p_pc",
+    "Parrot_set_p_pc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_PC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 702 */
     /* type PARROT_INLINE_OP, */
-    "does",
-    "does_i_p_sc",
-    "Parrot_does_i_p_sc",
+    "set",
+    "set_p_p",
+    "Parrot_set_p_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 703 */
     /* type PARROT_INLINE_OP, */
-    "does",
-    "does_i_p_p",
-    "Parrot_does_i_p_p",
+    "set",
+    "set_p_i",
+    "Parrot_set_p_i",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_I },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 704 */
     /* type PARROT_INLINE_OP, */
-    "does",
-    "does_i_p_pc",
-    "Parrot_does_i_p_pc",
+    "set",
+    "set_p_ic",
+    "Parrot_set_p_ic",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_PC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 705 */
     /* type PARROT_INLINE_OP, */
-    "isa",
-    "isa_i_p_s",
-    "Parrot_isa_i_p_s",
+    "set",
+    "set_p_n",
+    "Parrot_set_p_n",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_N },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 706 */
     /* type PARROT_INLINE_OP, */
-    "isa",
-    "isa_i_p_sc",
-    "Parrot_isa_i_p_sc",
+    "set",
+    "set_p_nc",
+    "Parrot_set_p_nc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_NC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 707 */
     /* type PARROT_INLINE_OP, */
-    "isa",
-    "isa_i_p_p",
-    "Parrot_isa_i_p_p",
+    "set",
+    "set_p_s",
+    "Parrot_set_p_s",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_S },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 708 */
     /* type PARROT_INLINE_OP, */
-    "isa",
-    "isa_i_p_pc",
-    "Parrot_isa_i_p_pc",
+    "set",
+    "set_p_sc",
+    "Parrot_set_p_sc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_PC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_SC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 709 */
     /* type PARROT_INLINE_OP, */
-    "newclass",
-    "newclass_p_s",
-    "Parrot_newclass_p_s",
+    "set",
+    "set_i_p",
+    "Parrot_set_i_p",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_S },
+    { PARROT_ARG_I, PARROT_ARG_P },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 710 */
     /* type PARROT_INLINE_OP, */
-    "newclass",
-    "newclass_p_sc",
-    "Parrot_newclass_p_sc",
+    "assign",
+    "assign_p_p",
+    "Parrot_assign_p_p",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 711 */
     /* type PARROT_INLINE_OP, */
-    "newclass",
-    "newclass_p_p",
-    "Parrot_newclass_p_p",
+    "assign",
+    "assign_p_i",
+    "Parrot_assign_p_i",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_I },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 712 */
     /* type PARROT_INLINE_OP, */
-    "newclass",
-    "newclass_p_pc",
-    "Parrot_newclass_p_pc",
+    "assign",
+    "assign_p_ic",
+    "Parrot_assign_p_ic",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_PC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 713 */
     /* type PARROT_INLINE_OP, */
-    "subclass",
-    "subclass_p_p",
-    "Parrot_subclass_p_p",
+    "assign",
+    "assign_p_n",
+    "Parrot_assign_p_n",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    { PARROT_ARG_P, PARROT_ARG_N },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 714 */
     /* type PARROT_INLINE_OP, */
-    "subclass",
-    "subclass_p_pc",
-    "Parrot_subclass_p_pc",
+    "assign",
+    "assign_p_nc",
+    "Parrot_assign_p_nc",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_PC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_NC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 715 */
     /* type PARROT_INLINE_OP, */
-    "subclass",
-    "subclass_p_p_s",
-    "Parrot_subclass_p_p_s",
+    "assign",
+    "assign_p_s",
+    "Parrot_assign_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 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_S },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 716 */
     /* type PARROT_INLINE_OP, */
-    "subclass",
-    "subclass_p_pc_s",
-    "Parrot_subclass_p_pc_s",
+    "assign",
+    "assign_p_sc",
+    "Parrot_assign_p_sc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_SC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 717 */
     /* type PARROT_INLINE_OP, */
-    "subclass",
-    "subclass_p_p_sc",
-    "Parrot_subclass_p_p_sc",
+    "assign",
+    "assign_s_s",
+    "Parrot_assign_s_s",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_S, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 718 */
     /* type PARROT_INLINE_OP, */
-    "subclass",
-    "subclass_p_pc_sc",
-    "Parrot_subclass_p_pc_sc",
+    "assign",
+    "assign_s_sc",
+    "Parrot_assign_s_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 }
+    3,
+    { PARROT_ARG_S, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 719 */
     /* type PARROT_INLINE_OP, */
-    "subclass",
-    "subclass_p_p_p",
-    "Parrot_subclass_p_p_p",
+    "setref",
+    "setref_p_p",
+    "Parrot_setref_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 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 720 */
     /* type PARROT_INLINE_OP, */
-    "subclass",
-    "subclass_p_pc_p",
-    "Parrot_subclass_p_pc_p",
+    "deref",
+    "deref_p_p",
+    "Parrot_deref_p_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 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 721 */
     /* type PARROT_INLINE_OP, */
-    "subclass",
-    "subclass_p_p_pc",
-    "Parrot_subclass_p_p_pc",
+    "set",
+    "set_p_ki_i",
+    "Parrot_set_p_ki_i",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_KI, PARROT_ARG_I },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 722 */
     /* type PARROT_INLINE_OP, */
-    "subclass",
-    "subclass_p_pc_pc",
-    "Parrot_subclass_p_pc_pc",
+    "set",
+    "set_p_kic_i",
+    "Parrot_set_p_kic_i",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_PC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_KIC, PARROT_ARG_I },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 723 */
-    /* type PARROT_FUNCTION_OP, */
-    "subclass",
-    "subclass_p_s",
-    "Parrot_subclass_p_s",
+    /* type PARROT_INLINE_OP, */
+    "set",
+    "set_p_ki_ic",
+    "Parrot_set_p_ki_ic",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_KI, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 724 */
-    /* type PARROT_FUNCTION_OP, */
-    "subclass",
-    "subclass_p_sc",
-    "Parrot_subclass_p_sc",
+    /* type PARROT_INLINE_OP, */
+    "set",
+    "set_p_kic_ic",
+    "Parrot_set_p_kic_ic",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_KIC, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 725 */
-    /* type PARROT_FUNCTION_OP, */
-    "subclass",
-    "subclass_p_s_s",
-    "Parrot_subclass_p_s_s",
+    /* type PARROT_INLINE_OP, */
+    "set",
+    "set_p_ki_n",
+    "Parrot_set_p_ki_n",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_KI, PARROT_ARG_N },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 726 */
-    /* type PARROT_FUNCTION_OP, */
-    "subclass",
-    "subclass_p_sc_s",
-    "Parrot_subclass_p_sc_s",
+    /* type PARROT_INLINE_OP, */
+    "set",
+    "set_p_kic_n",
+    "Parrot_set_p_kic_n",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_KIC, PARROT_ARG_N },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 727 */
-    /* type PARROT_FUNCTION_OP, */
-    "subclass",
-    "subclass_p_s_sc",
-    "Parrot_subclass_p_s_sc",
+    /* type PARROT_INLINE_OP, */
+    "set",
+    "set_p_ki_nc",
+    "Parrot_set_p_ki_nc",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_KI, PARROT_ARG_NC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 728 */
-    /* type PARROT_FUNCTION_OP, */
-    "subclass",
-    "subclass_p_sc_sc",
-    "Parrot_subclass_p_sc_sc",
+    /* type PARROT_INLINE_OP, */
+    "set",
+    "set_p_kic_nc",
+    "Parrot_set_p_kic_nc",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_KIC, PARROT_ARG_NC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 729 */
-    /* type PARROT_FUNCTION_OP, */
-    "subclass",
-    "subclass_p_s_p",
-    "Parrot_subclass_p_s_p",
+    /* type PARROT_INLINE_OP, */
+    "set",
+    "set_p_ki_s",
+    "Parrot_set_p_ki_s",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_KI, PARROT_ARG_S },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 730 */
-    /* type PARROT_FUNCTION_OP, */
-    "subclass",
-    "subclass_p_sc_p",
-    "Parrot_subclass_p_sc_p",
+    /* type PARROT_INLINE_OP, */
+    "set",
+    "set_p_kic_s",
+    "Parrot_set_p_kic_s",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_KIC, PARROT_ARG_S },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 731 */
-    /* type PARROT_FUNCTION_OP, */
-    "subclass",
-    "subclass_p_s_pc",
-    "Parrot_subclass_p_s_pc",
+    /* type PARROT_INLINE_OP, */
+    "set",
+    "set_p_ki_sc",
+    "Parrot_set_p_ki_sc",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_PC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_KI, PARROT_ARG_SC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 732 */
-    /* type PARROT_FUNCTION_OP, */
-    "subclass",
-    "subclass_p_sc_pc",
-    "Parrot_subclass_p_sc_pc",
+    /* type PARROT_INLINE_OP, */
+    "set",
+    "set_p_kic_sc",
+    "Parrot_set_p_kic_sc",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_PC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_KIC, PARROT_ARG_SC },
+    { PARROT_ARGDIR_IN, 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",
+    "set",
+    "set_p_ki_p",
+    "Parrot_set_p_ki_p",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
-  },
+    4,
+    { PARROT_ARG_P, PARROT_ARG_KI, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
+  },
   { /* 734 */
     /* type PARROT_INLINE_OP, */
-    "get_class",
-    "get_class_p_sc",
-    "Parrot_get_class_p_sc",
+    "set",
+    "set_p_kic_p",
+    "Parrot_set_p_kic_p",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_KIC, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 735 */
     /* type PARROT_INLINE_OP, */
-    "get_class",
-    "get_class_p_p",
-    "Parrot_get_class_p_p",
+    "set",
+    "set_i_p_ki",
+    "Parrot_set_i_p_ki",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KI },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 736 */
     /* type PARROT_INLINE_OP, */
-    "get_class",
-    "get_class_p_pc",
-    "Parrot_get_class_p_pc",
+    "set",
+    "set_i_p_kic",
+    "Parrot_set_i_p_kic",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_PC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KIC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 737 */
     /* type PARROT_INLINE_OP, */
-    "class",
-    "class_p_p",
-    "Parrot_class_p_p",
+    "set",
+    "set_n_p_ki",
+    "Parrot_set_n_p_ki",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_N, PARROT_ARG_P, PARROT_ARG_KI },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 738 */
     /* type PARROT_INLINE_OP, */
-    "addparent",
-    "addparent_p_p",
-    "Parrot_addparent_p_p",
+    "set",
+    "set_n_p_kic",
+    "Parrot_set_n_p_kic",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_N, PARROT_ARG_P, PARROT_ARG_KIC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 739 */
     /* type PARROT_INLINE_OP, */
-    "removeparent",
-    "removeparent_p_p",
-    "Parrot_removeparent_p_p",
+    "set",
+    "set_s_p_ki",
+    "Parrot_set_s_p_ki",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_S, PARROT_ARG_P, PARROT_ARG_KI },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 740 */
     /* type PARROT_INLINE_OP, */
-    "addrole",
-    "addrole_p_p",
-    "Parrot_addrole_p_p",
+    "set",
+    "set_s_p_kic",
+    "Parrot_set_s_p_kic",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_S, PARROT_ARG_P, PARROT_ARG_KIC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 741 */
     /* type PARROT_INLINE_OP, */
-    "addattribute",
-    "addattribute_p_s",
-    "Parrot_addattribute_p_s",
+    "set",
+    "set_p_p_ki",
+    "Parrot_set_p_p_ki",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_S },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_KI },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 742 */
     /* type PARROT_INLINE_OP, */
-    "addattribute",
-    "addattribute_p_sc",
-    "Parrot_addattribute_p_sc",
+    "set",
+    "set_p_p_kic",
+    "Parrot_set_p_p_kic",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_SC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_KIC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 743 */
-    /* type PARROT_FUNCTION_OP, */
-    "removeattribute",
-    "removeattribute_p_s",
-    "Parrot_removeattribute_p_s",
+    /* type PARROT_INLINE_OP, */
+    "set",
+    "set_p_k_i",
+    "Parrot_set_p_k_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_S },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_K, PARROT_ARG_I },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 744 */
-    /* type PARROT_FUNCTION_OP, */
-    "removeattribute",
-    "removeattribute_p_sc",
-    "Parrot_removeattribute_p_sc",
+    /* type PARROT_INLINE_OP, */
+    "set",
+    "set_p_kc_i",
+    "Parrot_set_p_kc_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_SC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_KC, PARROT_ARG_I },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 745 */
     /* type PARROT_INLINE_OP, */
-    "getattribute",
-    "getattribute_p_p_s",
-    "Parrot_getattribute_p_p_s",
+    "set",
+    "set_p_k_ic",
+    "Parrot_set_p_k_ic",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_K, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 746 */
     /* type PARROT_INLINE_OP, */
-    "getattribute",
-    "getattribute_p_p_sc",
-    "Parrot_getattribute_p_p_sc",
+    "set",
+    "set_p_kc_ic",
+    "Parrot_set_p_kc_ic",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_KC, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, 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",
+    "set",
+    "set_p_k_n",
+    "Parrot_set_p_k_n",
     /* "",  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 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_K, PARROT_ARG_N },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 748 */
     /* type PARROT_INLINE_OP, */
-    "getattribute",
-    "getattribute_p_p_pc_s",
-    "Parrot_getattribute_p_p_pc_s",
+    "set",
+    "set_p_kc_n",
+    "Parrot_set_p_kc_n",
     /* "",  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 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_KC, PARROT_ARG_N },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 749 */
     /* type PARROT_INLINE_OP, */
-    "getattribute",
-    "getattribute_p_p_p_sc",
-    "Parrot_getattribute_p_p_p_sc",
+    "set",
+    "set_p_k_nc",
+    "Parrot_set_p_k_nc",
     /* "",  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 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_K, PARROT_ARG_NC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 750 */
     /* type PARROT_INLINE_OP, */
-    "getattribute",
-    "getattribute_p_p_pc_sc",
-    "Parrot_getattribute_p_p_pc_sc",
+    "set",
+    "set_p_kc_nc",
+    "Parrot_set_p_kc_nc",
     /* "",  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 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_KC, PARROT_ARG_NC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 751 */
     /* type PARROT_INLINE_OP, */
-    "setattribute",
-    "setattribute_p_s_p",
-    "Parrot_setattribute_p_s_p",
+    "set",
+    "set_p_k_s",
+    "Parrot_set_p_k_s",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
+    { PARROT_ARG_P, PARROT_ARG_K, PARROT_ARG_S },
     { 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",
+    "set",
+    "set_p_kc_s",
+    "Parrot_set_p_kc_s",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
+    { PARROT_ARG_P, PARROT_ARG_KC, PARROT_ARG_S },
     { 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",
+    "set",
+    "set_p_k_sc",
+    "Parrot_set_p_k_sc",
     /* "",  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 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_K, PARROT_ARG_SC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 754 */
     /* type PARROT_INLINE_OP, */
-    "setattribute",
-    "setattribute_p_pc_s_p",
-    "Parrot_setattribute_p_pc_s_p",
+    "set",
+    "set_p_kc_sc",
+    "Parrot_set_p_kc_sc",
     /* "",  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 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_KC, PARROT_ARG_SC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 755 */
     /* type PARROT_INLINE_OP, */
-    "setattribute",
-    "setattribute_p_p_sc_p",
-    "Parrot_setattribute_p_p_sc_p",
+    "set",
+    "set_p_k_p",
+    "Parrot_set_p_k_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 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_K, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 756 */
     /* type PARROT_INLINE_OP, */
-    "setattribute",
-    "setattribute_p_pc_sc_p",
-    "Parrot_setattribute_p_pc_sc_p",
+    "set",
+    "set_p_kc_p",
+    "Parrot_set_p_kc_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 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_KC, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 757 */
     /* type PARROT_INLINE_OP, */
-    "inspect",
-    "inspect_p_p",
-    "Parrot_inspect_p_p",
+    "set",
+    "set_i_p_k",
+    "Parrot_set_i_p_k",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_K },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 758 */
     /* type PARROT_INLINE_OP, */
-    "inspect",
-    "inspect_p_pc",
-    "Parrot_inspect_p_pc",
+    "set",
+    "set_i_p_kc",
+    "Parrot_set_i_p_kc",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_PC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 759 */
     /* type PARROT_INLINE_OP, */
-    "inspect",
-    "inspect_p_p_s",
-    "Parrot_inspect_p_p_s",
+    "set",
+    "set_n_p_k",
+    "Parrot_set_n_p_k",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
+    { PARROT_ARG_N, PARROT_ARG_P, PARROT_ARG_K },
     { 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",
+    "set",
+    "set_n_p_kc",
+    "Parrot_set_n_p_kc",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S },
+    { PARROT_ARG_N, PARROT_ARG_P, PARROT_ARG_KC },
     { 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",
+    "set",
+    "set_s_p_k",
+    "Parrot_set_s_p_k",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
+    { PARROT_ARG_S, PARROT_ARG_P, PARROT_ARG_K },
     { 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",
+    "set",
+    "set_s_p_kc",
+    "Parrot_set_s_p_kc",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC },
+    { PARROT_ARG_S, PARROT_ARG_P, PARROT_ARG_KC },
     { 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",
+    /* type PARROT_INLINE_OP, */
+    "set",
+    "set_p_p_k",
+    "Parrot_set_p_p_k",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_K },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 764 */
-    /* type PARROT_FUNCTION_OP, */
-    "new",
-    "new_p_sc",
-    "Parrot_new_p_sc",
+    /* type PARROT_INLINE_OP, */
+    "set",
+    "set_p_p_kc",
+    "Parrot_set_p_p_kc",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_KC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 765 */
-    /* type PARROT_FUNCTION_OP, */
-    "new",
-    "new_p_s_p",
-    "Parrot_new_p_s_p",
+    /* type PARROT_INLINE_OP, */
+    "clone",
+    "clone_p_p",
+    "Parrot_clone_p_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 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 766 */
-    /* type PARROT_FUNCTION_OP, */
-    "new",
-    "new_p_sc_p",
-    "Parrot_new_p_sc_p",
+    /* type PARROT_INLINE_OP, */
+    "clone",
+    "clone_p_p_p",
+    "Parrot_clone_p_p_p",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
+    { PARROT_ARG_P, PARROT_ARG_P, 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",
+    /* type PARROT_INLINE_OP, */
+    "clone",
+    "clone_p_p_pc",
+    "Parrot_clone_p_p_pc",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_PC },
+    { PARROT_ARG_P, PARROT_ARG_P, 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",
+    /* type PARROT_INLINE_OP, */
+    "copy",
+    "copy_p_p",
+    "Parrot_copy_p_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_PC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 769 */
     /* type PARROT_INLINE_OP, */
-    "new",
-    "new_p_p",
-    "Parrot_new_p_p",
+    "null",
+    "null_s",
+    "Parrot_null_s",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    2,
+    { PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT },
+    { 0 }
   },
   { /* 770 */
     /* type PARROT_INLINE_OP, */
-    "new",
-    "new_p_pc",
-    "Parrot_new_p_pc",
+    "null",
+    "null_i",
+    "Parrot_null_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_PC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    2,
+    { PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT },
+    { 0 }
   },
   { /* 771 */
-    /* type PARROT_FUNCTION_OP, */
-    "new",
-    "new_p_p_p",
-    "Parrot_new_p_p_p",
+    /* type PARROT_INLINE_OP, */
+    "null",
+    "null_p",
+    "Parrot_null_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 }
+    2,
+    { PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT },
+    { 0 }
   },
   { /* 772 */
-    /* type PARROT_FUNCTION_OP, */
-    "new",
-    "new_p_pc_p",
-    "Parrot_new_p_pc_p",
+    /* type PARROT_INLINE_OP, */
+    "null",
+    "null_n",
+    "Parrot_null_n",
     /* "",  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 }
+    2,
+    { PARROT_ARG_N },
+    { PARROT_ARGDIR_OUT },
+    { 0 }
   },
-  { /* 775 */
-    /* type PARROT_FUNCTION_OP, */
-    "root_new",
-    "root_new_p_p",
-    "Parrot_root_new_p_p",
+  { /* 773 */
+    /* type PARROT_INLINE_OP, */
+    "ord",
+    "ord_i_s",
+    "Parrot_ord_i_s",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARG_I, PARROT_ARG_S },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
-  { /* 776 */
-    /* type PARROT_FUNCTION_OP, */
-    "root_new",
-    "root_new_p_pc",
-    "Parrot_root_new_p_pc",
+  { /* 774 */
+    /* type PARROT_INLINE_OP, */
+    "ord",
+    "ord_i_sc",
+    "Parrot_ord_i_sc",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_PC },
+    { PARROT_ARG_I, PARROT_ARG_SC },
     { 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",
+  { /* 775 */
+    /* type PARROT_INLINE_OP, */
+    "ord",
+    "ord_i_s_i",
+    "Parrot_ord_i_s_i",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_I },
     { 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",
+  { /* 776 */
+    /* type PARROT_INLINE_OP, */
+    "ord",
+    "ord_i_sc_i",
+    "Parrot_ord_i_sc_i",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_P },
+    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_I },
     { 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",
+  { /* 777 */
+    /* type PARROT_INLINE_OP, */
+    "ord",
+    "ord_i_s_ic",
+    "Parrot_ord_i_s_ic",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC },
+    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_IC },
     { 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",
+  { /* 778 */
+    /* type PARROT_INLINE_OP, */
+    "ord",
+    "ord_i_sc_ic",
+    "Parrot_ord_i_sc_ic",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_PC },
+    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_IC },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
-  { /* 781 */
+  { /* 779 */
     /* type PARROT_INLINE_OP, */
-    "typeof",
-    "typeof_s_p",
-    "Parrot_typeof_s_p",
+    "chr",
+    "chr_s_i",
+    "Parrot_chr_s_i",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_S, PARROT_ARG_P },
+    { PARROT_ARG_S, PARROT_ARG_I },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
-  { /* 782 */
+  { /* 780 */
     /* type PARROT_INLINE_OP, */
-    "typeof",
-    "typeof_p_p",
-    "Parrot_typeof_p_p",
+    "chr",
+    "chr_s_ic",
+    "Parrot_chr_s_ic",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARG_S, PARROT_ARG_IC },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
-  { /* 783 */
-    /* type PARROT_FUNCTION_OP, */
-    "get_repr",
-    "get_repr_s_p",
-    "Parrot_get_repr_s_p",
+  { /* 781 */
+    /* type PARROT_INLINE_OP, */
+    "chopn",
+    "chopn_s_s_i",
+    "Parrot_chopn_s_s_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_S, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
-  { /* 784 */
-    /* type PARROT_FUNCTION_OP, */
-    "find_method",
-    "find_method_p_p_s",
-    "Parrot_find_method_p_p_s",
+  { /* 782 */
+    /* type PARROT_INLINE_OP, */
+    "chopn",
+    "chopn_s_sc_i",
+    "Parrot_chopn_s_sc_i",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
+    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I },
     { 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",
+  { /* 783 */
+    /* type PARROT_INLINE_OP, */
+    "chopn",
+    "chopn_s_s_ic",
+    "Parrot_chopn_s_s_ic",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
+    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
+  },
+  { /* 784 */
+    /* 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 }
   },
+  { /* 785 */
+    /* 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 }
+  },
   { /* 786 */
     /* type PARROT_INLINE_OP, */
-    "defined",
-    "defined_i_p",
-    "Parrot_defined_i_p",
+    "concat",
+    "concat_s_sc",
+    "Parrot_concat_s_sc",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_I, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { PARROT_ARG_S, PARROT_ARG_SC },
+    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 787 */
     /* type PARROT_INLINE_OP, */
-    "defined",
-    "defined_i_p_ki",
-    "Parrot_defined_i_p_ki",
+    "concat",
+    "concat_p_p",
+    "Parrot_concat_p_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KI },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 788 */
     /* type PARROT_INLINE_OP, */
-    "defined",
-    "defined_i_p_kic",
-    "Parrot_defined_i_p_kic",
+    "concat",
+    "concat_p_s",
+    "Parrot_concat_p_s",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KIC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_S },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 789 */
     /* type PARROT_INLINE_OP, */
-    "defined",
-    "defined_i_p_k",
-    "Parrot_defined_i_p_k",
+    "concat",
+    "concat_p_sc",
+    "Parrot_concat_p_sc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_K },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_SC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 790 */
     /* type PARROT_INLINE_OP, */
-    "defined",
-    "defined_i_p_kc",
-    "Parrot_defined_i_p_kc",
+    "concat",
+    "concat_s_s_s",
+    "Parrot_concat_s_s_s",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KC },
+    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_S },
     { 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",
+    "concat",
+    "concat_s_sc_s",
+    "Parrot_concat_s_sc_s",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KI },
+    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_S },
     { 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",
+    "concat",
+    "concat_s_s_sc",
+    "Parrot_concat_s_s_sc",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KIC },
+    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_SC },
     { 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",
+    "concat",
+    "concat_p_p_s",
+    "Parrot_concat_p_p_s",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_K },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 794 */
     /* type PARROT_INLINE_OP, */
-    "exists",
-    "exists_i_p_kc",
-    "Parrot_exists_i_p_kc",
+    "concat",
+    "concat_p_p_sc",
+    "Parrot_concat_p_p_sc",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 795 */
     /* type PARROT_INLINE_OP, */
-    "delete",
-    "delete_p_k",
-    "Parrot_delete_p_k",
+    "concat",
+    "concat_p_p_p",
+    "Parrot_concat_p_p_p",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_K },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 796 */
     /* type PARROT_INLINE_OP, */
-    "delete",
-    "delete_p_kc",
-    "Parrot_delete_p_kc",
+    "repeat",
+    "repeat_s_s_i",
+    "Parrot_repeat_s_s_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_KC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 797 */
     /* type PARROT_INLINE_OP, */
-    "delete",
-    "delete_p_ki",
-    "Parrot_delete_p_ki",
+    "repeat",
+    "repeat_s_sc_i",
+    "Parrot_repeat_s_sc_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_KI },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 798 */
     /* type PARROT_INLINE_OP, */
-    "delete",
-    "delete_p_kic",
-    "Parrot_delete_p_kic",
+    "repeat",
+    "repeat_s_s_ic",
+    "Parrot_repeat_s_s_ic",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_KIC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 799 */
     /* type PARROT_INLINE_OP, */
-    "elements",
-    "elements_i_p",
-    "Parrot_elements_i_p",
+    "repeat",
+    "repeat_s_sc_ic",
+    "Parrot_repeat_s_sc_ic",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 800 */
     /* type PARROT_INLINE_OP, */
-    "push",
-    "push_p_i",
-    "Parrot_push_p_i",
+    "repeat",
+    "repeat_p_p_i",
+    "Parrot_repeat_p_p_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_I },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 801 */
     /* type PARROT_INLINE_OP, */
-    "push",
-    "push_p_ic",
-    "Parrot_push_p_ic",
+    "repeat",
+    "repeat_p_p_ic",
+    "Parrot_repeat_p_p_ic",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 802 */
     /* type PARROT_INLINE_OP, */
-    "push",
-    "push_p_n",
-    "Parrot_push_p_n",
+    "repeat",
+    "repeat_p_p_p",
+    "Parrot_repeat_p_p_p",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_N },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 803 */
     /* type PARROT_INLINE_OP, */
-    "push",
-    "push_p_nc",
-    "Parrot_push_p_nc",
+    "repeat",
+    "repeat_p_i",
+    "Parrot_repeat_p_i",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_NC },
+    { PARROT_ARG_P, PARROT_ARG_I },
     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 804 */
     /* type PARROT_INLINE_OP, */
-    "push",
-    "push_p_s",
-    "Parrot_push_p_s",
+    "repeat",
+    "repeat_p_ic",
+    "Parrot_repeat_p_ic",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_S },
+    { PARROT_ARG_P, PARROT_ARG_IC },
     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 805 */
     /* type PARROT_INLINE_OP, */
-    "push",
-    "push_p_sc",
-    "Parrot_push_p_sc",
+    "repeat",
+    "repeat_p_p",
+    "Parrot_repeat_p_p",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_SC },
+    { PARROT_ARG_P, PARROT_ARG_P },
     { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 806 */
     /* type PARROT_INLINE_OP, */
-    "push",
-    "push_p_p",
-    "Parrot_push_p_p",
+    "length",
+    "length_i_s",
+    "Parrot_length_i_s",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_I, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 807 */
     /* type PARROT_INLINE_OP, */
-    "pop",
-    "pop_i_p",
-    "Parrot_pop_i_p",
+    "length",
+    "length_i_sc",
+    "Parrot_length_i_sc",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_I, PARROT_ARG_P },
+    { PARROT_ARG_I, PARROT_ARG_SC },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 808 */
     /* type PARROT_INLINE_OP, */
-    "pop",
-    "pop_n_p",
-    "Parrot_pop_n_p",
+    "bytelength",
+    "bytelength_i_s",
+    "Parrot_bytelength_i_s",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_N, PARROT_ARG_P },
+    { PARROT_ARG_I, PARROT_ARG_S },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 809 */
     /* type PARROT_INLINE_OP, */
-    "pop",
-    "pop_s_p",
-    "Parrot_pop_s_p",
+    "bytelength",
+    "bytelength_i_sc",
+    "Parrot_bytelength_i_sc",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_S, PARROT_ARG_P },
+    { PARROT_ARG_I, PARROT_ARG_SC },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 810 */
-    /* type PARROT_INLINE_OP, */
-    "pop",
-    "pop_p_p",
-    "Parrot_pop_p_p",
+    /* type PARROT_FUNCTION_OP, */
+    "pin",
+    "pin_s",
+    "Parrot_pin_s",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    2,
+    { PARROT_ARG_S },
+    { PARROT_ARGDIR_INOUT },
+    { 0 }
   },
   { /* 811 */
-    /* type PARROT_INLINE_OP, */
-    "unshift",
-    "unshift_p_i",
-    "Parrot_unshift_p_i",
+    /* type PARROT_FUNCTION_OP, */
+    "unpin",
+    "unpin_s",
+    "Parrot_unpin_s",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_I },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    2,
+    { PARROT_ARG_S },
+    { PARROT_ARGDIR_INOUT },
+    { 0 }
   },
   { /* 812 */
     /* type PARROT_INLINE_OP, */
-    "unshift",
-    "unshift_p_ic",
-    "Parrot_unshift_p_ic",
+    "substr",
+    "substr_s_s_i",
+    "Parrot_substr_s_s_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 813 */
     /* type PARROT_INLINE_OP, */
-    "unshift",
-    "unshift_p_n",
-    "Parrot_unshift_p_n",
+    "substr",
+    "substr_s_sc_i",
+    "Parrot_substr_s_sc_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_N },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 814 */
     /* type PARROT_INLINE_OP, */
-    "unshift",
-    "unshift_p_nc",
-    "Parrot_unshift_p_nc",
+    "substr",
+    "substr_s_s_ic",
+    "Parrot_substr_s_s_ic",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_NC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 815 */
     /* type PARROT_INLINE_OP, */
-    "unshift",
-    "unshift_p_s",
-    "Parrot_unshift_p_s",
+    "substr",
+    "substr_s_sc_ic",
+    "Parrot_substr_s_sc_ic",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_S },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 816 */
     /* type PARROT_INLINE_OP, */
-    "unshift",
-    "unshift_p_sc",
-    "Parrot_unshift_p_sc",
+    "substr",
+    "substr_s_s_i_i",
+    "Parrot_substr_s_s_i_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_SC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 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 }
   },
   { /* 817 */
     /* type PARROT_INLINE_OP, */
-    "unshift",
-    "unshift_p_p",
-    "Parrot_unshift_p_p",
+    "substr",
+    "substr_s_sc_i_i",
+    "Parrot_substr_s_sc_i_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 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 }
   },
   { /* 818 */
     /* type PARROT_INLINE_OP, */
-    "shift",
-    "shift_i_p",
-    "Parrot_shift_i_p",
+    "substr",
+    "substr_s_s_ic_i",
+    "Parrot_substr_s_s_ic_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 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 }
   },
   { /* 819 */
     /* type PARROT_INLINE_OP, */
-    "shift",
-    "shift_n_p",
-    "Parrot_shift_n_p",
+    "substr",
+    "substr_s_sc_ic_i",
+    "Parrot_substr_s_sc_ic_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_N, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 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 }
   },
   { /* 820 */
     /* type PARROT_INLINE_OP, */
-    "shift",
-    "shift_s_p",
-    "Parrot_shift_s_p",
+    "substr",
+    "substr_s_s_i_ic",
+    "Parrot_substr_s_s_i_ic",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_S, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 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 }
   },
   { /* 821 */
     /* type PARROT_INLINE_OP, */
-    "shift",
-    "shift_p_p",
-    "Parrot_shift_p_p",
+    "substr",
+    "substr_s_sc_i_ic",
+    "Parrot_substr_s_sc_i_ic",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 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 }
   },
   { /* 822 */
     /* type PARROT_INLINE_OP, */
-    "splice",
-    "splice_p_p_i_i",
-    "Parrot_splice_p_p_i_i",
+    "substr",
+    "substr_s_s_ic_ic",
+    "Parrot_substr_s_s_ic_ic",
     /* "",  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 },
+    { 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 }
   },
   { /* 823 */
     /* type PARROT_INLINE_OP, */
-    "splice",
-    "splice_p_p_ic_i",
-    "Parrot_splice_p_p_ic_i",
+    "substr",
+    "substr_s_sc_ic_ic",
+    "Parrot_substr_s_sc_ic_ic",
     /* "",  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 },
+    { 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 }
   },
   { /* 824 */
     /* type PARROT_INLINE_OP, */
-    "splice",
-    "splice_p_p_i_ic",
-    "Parrot_splice_p_p_i_ic",
+    "substr",
+    "substr_s_p_i_i",
+    "Parrot_substr_s_p_i_i",
     /* "",  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 },
+    { 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 }
   },
   { /* 825 */
     /* type PARROT_INLINE_OP, */
-    "splice",
-    "splice_p_p_ic_ic",
-    "Parrot_splice_p_p_ic_ic",
+    "substr",
+    "substr_s_p_ic_i",
+    "Parrot_substr_s_p_ic_i",
     /* "",  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 },
+    { 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 }
   },
   { /* 826 */
-    /* type PARROT_FUNCTION_OP, */
-    "setprop",
-    "setprop_p_s_p",
-    "Parrot_setprop_p_s_p",
+    /* type PARROT_INLINE_OP, */
+    "substr",
+    "substr_s_p_i_ic",
+    "Parrot_substr_s_p_i_ic",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 827 */
-    /* type PARROT_FUNCTION_OP, */
-    "setprop",
-    "setprop_p_sc_p",
-    "Parrot_setprop_p_sc_p",
+    /* type PARROT_INLINE_OP, */
+    "substr",
+    "substr_s_p_ic_ic",
+    "Parrot_substr_s_p_ic_ic",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 828 */
-    /* type PARROT_FUNCTION_OP, */
-    "getprop",
-    "getprop_p_s_p",
-    "Parrot_getprop_p_s_p",
+    /* type PARROT_INLINE_OP, */
+    "replace",
+    "replace_s_s_i_i_s",
+    "Parrot_replace_s_s_i_i_s",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 829 */
-    /* type PARROT_FUNCTION_OP, */
-    "getprop",
-    "getprop_p_sc_p",
-    "Parrot_getprop_p_sc_p",
+    /* type PARROT_INLINE_OP, */
+    "replace",
+    "replace_s_sc_i_i_s",
+    "Parrot_replace_s_sc_i_i_s",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 830 */
-    /* type PARROT_FUNCTION_OP, */
-    "delprop",
-    "delprop_p_s",
-    "Parrot_delprop_p_s",
+    /* type PARROT_INLINE_OP, */
+    "replace",
+    "replace_s_s_ic_i_s",
+    "Parrot_replace_s_s_ic_i_s",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_S },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 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 }
   },
   { /* 831 */
-    /* type PARROT_FUNCTION_OP, */
-    "delprop",
-    "delprop_p_sc",
-    "Parrot_delprop_p_sc",
+    /* type PARROT_INLINE_OP, */
+    "replace",
+    "replace_s_sc_ic_i_s",
+    "Parrot_replace_s_sc_ic_i_s",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_SC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 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 }
   },
   { /* 832 */
-    /* type PARROT_FUNCTION_OP, */
-    "prophash",
-    "prophash_p_p",
-    "Parrot_prophash_p_p",
+    /* type PARROT_INLINE_OP, */
+    "replace",
+    "replace_s_s_i_ic_s",
+    "Parrot_replace_s_s_i_ic_s",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 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 }
   },
   { /* 833 */
-    /* type PARROT_FUNCTION_OP, */
-    "freeze",
-    "freeze_s_p",
-    "Parrot_freeze_s_p",
+    /* type PARROT_INLINE_OP, */
+    "replace",
+    "replace_s_sc_i_ic_s",
+    "Parrot_replace_s_sc_i_ic_s",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_S, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 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 }
   },
   { /* 834 */
-    /* type PARROT_FUNCTION_OP, */
-    "thaw",
-    "thaw_p_s",
-    "Parrot_thaw_p_s",
+    /* type PARROT_INLINE_OP, */
+    "replace",
+    "replace_s_s_ic_ic_s",
+    "Parrot_replace_s_s_ic_ic_s",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 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 }
   },
   { /* 835 */
-    /* type PARROT_FUNCTION_OP, */
-    "thaw",
-    "thaw_p_sc",
-    "Parrot_thaw_p_sc",
+    /* type PARROT_INLINE_OP, */
+    "replace",
+    "replace_s_sc_ic_ic_s",
+    "Parrot_replace_s_sc_ic_ic_s",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 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 }
   },
   { /* 836 */
     /* type PARROT_INLINE_OP, */
-    "add_multi",
-    "add_multi_s_s_p",
-    "Parrot_add_multi_s_s_p",
+    "replace",
+    "replace_s_s_i_i_sc",
+    "Parrot_replace_s_s_i_i_sc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 837 */
     /* type PARROT_INLINE_OP, */
-    "add_multi",
-    "add_multi_sc_s_p",
-    "Parrot_add_multi_sc_s_p",
+    "replace",
+    "replace_s_sc_i_i_sc",
+    "Parrot_replace_s_sc_i_i_sc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 838 */
     /* type PARROT_INLINE_OP, */
-    "add_multi",
-    "add_multi_s_sc_p",
-    "Parrot_add_multi_s_sc_p",
+    "replace",
+    "replace_s_s_ic_i_sc",
+    "Parrot_replace_s_s_ic_i_sc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 839 */
     /* type PARROT_INLINE_OP, */
-    "add_multi",
-    "add_multi_sc_sc_p",
-    "Parrot_add_multi_sc_sc_p",
+    "replace",
+    "replace_s_sc_ic_i_sc",
+    "Parrot_replace_s_sc_ic_i_sc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_SC, PARROT_ARG_SC, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 840 */
     /* type PARROT_INLINE_OP, */
-    "find_multi",
-    "find_multi_p_s_s",
-    "Parrot_find_multi_p_s_s",
+    "replace",
+    "replace_s_s_i_ic_sc",
+    "Parrot_replace_s_s_i_ic_sc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 841 */
     /* type PARROT_INLINE_OP, */
-    "find_multi",
-    "find_multi_p_sc_s",
-    "Parrot_find_multi_p_sc_s",
+    "replace",
+    "replace_s_sc_i_ic_sc",
+    "Parrot_replace_s_sc_i_ic_sc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 842 */
     /* type PARROT_INLINE_OP, */
-    "find_multi",
-    "find_multi_p_s_sc",
-    "Parrot_find_multi_p_s_sc",
+    "replace",
+    "replace_s_s_ic_ic_sc",
+    "Parrot_replace_s_s_ic_ic_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 }
+    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 }
   },
   { /* 843 */
     /* type PARROT_INLINE_OP, */
-    "find_multi",
-    "find_multi_p_sc_sc",
-    "Parrot_find_multi_p_sc_sc",
+    "replace",
+    "replace_s_sc_ic_ic_sc",
+    "Parrot_replace_s_sc_ic_ic_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 }
+    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 }
   },
   { /* 844 */
-    /* type PARROT_FUNCTION_OP, */
-    "register",
-    "register_p",
-    "Parrot_register_p",
+    /* type PARROT_INLINE_OP, */
+    "index",
+    "index_i_s_s",
+    "Parrot_index_i_s_s",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_P },
-    { PARROT_ARGDIR_IN },
-    { 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 845 */
-    /* type PARROT_FUNCTION_OP, */
-    "unregister",
-    "unregister_p",
-    "Parrot_unregister_p",
+    /* type PARROT_INLINE_OP, */
+    "index",
+    "index_i_sc_s",
+    "Parrot_index_i_sc_s",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_P },
-    { PARROT_ARGDIR_IN },
-    { 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 846 */
-    /* type PARROT_FUNCTION_OP, */
-    "box",
-    "box_p_i",
-    "Parrot_box_p_i",
+    /* type PARROT_INLINE_OP, */
+    "index",
+    "index_i_s_sc",
+    "Parrot_index_i_s_sc",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 847 */
-    /* type PARROT_FUNCTION_OP, */
-    "box",
-    "box_p_ic",
-    "Parrot_box_p_ic",
+    /* type PARROT_INLINE_OP, */
+    "index",
+    "index_i_sc_sc",
+    "Parrot_index_i_sc_sc",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 848 */
-    /* type PARROT_FUNCTION_OP, */
-    "box",
-    "box_p_n",
-    "Parrot_box_p_n",
+    /* type PARROT_INLINE_OP, */
+    "index",
+    "index_i_s_s_i",
+    "Parrot_index_i_s_s_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_N },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 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 }
   },
   { /* 849 */
-    /* type PARROT_FUNCTION_OP, */
-    "box",
-    "box_p_nc",
-    "Parrot_box_p_nc",
+    /* type PARROT_INLINE_OP, */
+    "index",
+    "index_i_sc_s_i",
+    "Parrot_index_i_sc_s_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_NC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 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 }
   },
   { /* 850 */
-    /* type PARROT_FUNCTION_OP, */
-    "box",
-    "box_p_s",
-    "Parrot_box_p_s",
+    /* type PARROT_INLINE_OP, */
+    "index",
+    "index_i_s_sc_i",
+    "Parrot_index_i_s_sc_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 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 }
   },
   { /* 851 */
-    /* type PARROT_FUNCTION_OP, */
-    "box",
-    "box_p_sc",
-    "Parrot_box_p_sc",
+    /* type PARROT_INLINE_OP, */
+    "index",
+    "index_i_sc_sc_i",
+    "Parrot_index_i_sc_sc_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 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 }
   },
   { /* 852 */
     /* type PARROT_INLINE_OP, */
-    "iter",
-    "iter_p_p",
-    "Parrot_iter_p_p",
+    "index",
+    "index_i_s_s_ic",
+    "Parrot_index_i_s_s_ic",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 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 }
   },
   { /* 853 */
     /* type PARROT_INLINE_OP, */
-    "morph",
-    "morph_p_p",
-    "Parrot_morph_p_p",
+    "index",
+    "index_i_sc_s_ic",
+    "Parrot_index_i_sc_s_ic",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 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 }
   },
   { /* 854 */
     /* type PARROT_INLINE_OP, */
-    "morph",
-    "morph_p_pc",
-    "Parrot_morph_p_pc",
+    "index",
+    "index_i_s_sc_ic",
+    "Parrot_index_i_s_sc_ic",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_PC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 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 }
   },
   { /* 855 */
     /* type PARROT_INLINE_OP, */
-    "clone",
-    "clone_s_s",
-    "Parrot_clone_s_s",
+    "index",
+    "index_i_sc_sc_ic",
+    "Parrot_index_i_sc_sc_ic",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_S, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 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 }
   },
   { /* 856 */
     /* type PARROT_INLINE_OP, */
-    "clone",
-    "clone_s_sc",
-    "Parrot_clone_s_sc",
+    "sprintf",
+    "sprintf_s_s_p",
+    "Parrot_sprintf_s_s_p",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_S, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 857 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_i_i",
-    "Parrot_set_i_i",
+    "sprintf",
+    "sprintf_s_sc_p",
+    "Parrot_sprintf_s_sc_p",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 858 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_i_ic",
-    "Parrot_set_i_ic",
+    "sprintf",
+    "sprintf_p_p_p",
+    "Parrot_sprintf_p_p_p",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 859 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_i_n",
-    "Parrot_set_i_n",
+    "new",
+    "new_s",
+    "Parrot_new_s",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_N },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    2,
+    { PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT },
+    { 0 }
   },
   { /* 860 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_i_nc",
-    "Parrot_set_i_nc",
+    "new",
+    "new_s_i",
+    "Parrot_new_s_i",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_I, PARROT_ARG_NC },
+    { PARROT_ARG_S, PARROT_ARG_I },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 861 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_i_s",
-    "Parrot_set_i_s",
+    "new",
+    "new_s_ic",
+    "Parrot_new_s_ic",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_I, PARROT_ARG_S },
+    { PARROT_ARG_S, PARROT_ARG_IC },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 862 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_i_sc",
-    "Parrot_set_i_sc",
+    "stringinfo",
+    "stringinfo_i_s_i",
+    "Parrot_stringinfo_i_s_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 863 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_n_n",
-    "Parrot_set_n_n",
+    "stringinfo",
+    "stringinfo_i_sc_i",
+    "Parrot_stringinfo_i_sc_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_N, PARROT_ARG_N },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 864 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_n_nc",
-    "Parrot_set_n_nc",
+    "stringinfo",
+    "stringinfo_i_s_ic",
+    "Parrot_stringinfo_i_s_ic",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_N, PARROT_ARG_NC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_IC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 865 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_n_i",
-    "Parrot_set_n_i",
+    "stringinfo",
+    "stringinfo_i_sc_ic",
+    "Parrot_stringinfo_i_sc_ic",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_N, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_IC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 866 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_n_ic",
-    "Parrot_set_n_ic",
+    "upcase",
+    "upcase_s_s",
+    "Parrot_upcase_s_s",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_N, PARROT_ARG_IC },
+    { PARROT_ARG_S, PARROT_ARG_S },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 867 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_n_s",
-    "Parrot_set_n_s",
+    "upcase",
+    "upcase_s_sc",
+    "Parrot_upcase_s_sc",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_N, PARROT_ARG_S },
+    { PARROT_ARG_S, PARROT_ARG_SC },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 868 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_n_sc",
-    "Parrot_set_n_sc",
+    "downcase",
+    "downcase_s_s",
+    "Parrot_downcase_s_s",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_N, PARROT_ARG_SC },
+    { PARROT_ARG_S, PARROT_ARG_S },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 869 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_n_p",
-    "Parrot_set_n_p",
+    "downcase",
+    "downcase_s_sc",
+    "Parrot_downcase_s_sc",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_N, PARROT_ARG_P },
+    { PARROT_ARG_S, PARROT_ARG_SC },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 870 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_s_p",
-    "Parrot_set_s_p",
+    "titlecase",
+    "titlecase_s_s",
+    "Parrot_titlecase_s_s",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_S, PARROT_ARG_P },
+    { PARROT_ARG_S, PARROT_ARG_S },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 871 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_s_s",
-    "Parrot_set_s_s",
+    "titlecase",
+    "titlecase_s_sc",
+    "Parrot_titlecase_s_sc",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_S, PARROT_ARG_S },
+    { PARROT_ARG_S, PARROT_ARG_SC },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 872 */
-    /* type PARROT_INLINE_OP, */
-    "set",
-    "set_s_sc",
-    "Parrot_set_s_sc",
+    /* type PARROT_FUNCTION_OP, */
+    "join",
+    "join_s_s_p",
+    "Parrot_join_s_s_p",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_S, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 873 */
-    /* type PARROT_INLINE_OP, */
-    "set",
-    "set_s_i",
-    "Parrot_set_s_i",
+    /* type PARROT_FUNCTION_OP, */
+    "join",
+    "join_s_sc_p",
+    "Parrot_join_s_sc_p",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_S, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 874 */
-    /* type PARROT_INLINE_OP, */
-    "set",
-    "set_s_ic",
-    "Parrot_set_s_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "split",
+    "split_p_s_s",
+    "Parrot_split_p_s_s",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_S, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 875 */
-    /* type PARROT_INLINE_OP, */
-    "set",
-    "set_s_n",
-    "Parrot_set_s_n",
+    /* type PARROT_FUNCTION_OP, */
+    "split",
+    "split_p_sc_s",
+    "Parrot_split_p_sc_s",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_S, PARROT_ARG_N },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 876 */
-    /* type PARROT_INLINE_OP, */
-    "set",
-    "set_s_nc",
-    "Parrot_set_s_nc",
+    /* type PARROT_FUNCTION_OP, */
+    "split",
+    "split_p_s_sc",
+    "Parrot_split_p_s_sc",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_S, PARROT_ARG_NC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 877 */
-    /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_pc",
-    "Parrot_set_p_pc",
+    /* type PARROT_FUNCTION_OP, */
+    "split",
+    "split_p_sc_sc",
+    "Parrot_split_p_sc_sc",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_PC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 878 */
-    /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_p",
-    "Parrot_set_p_p",
+    /* type PARROT_FUNCTION_OP, */
+    "charset",
+    "charset_i_s",
+    "Parrot_charset_i_s",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARG_I, PARROT_ARG_S },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 879 */
-    /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_i",
-    "Parrot_set_p_i",
+    /* type PARROT_FUNCTION_OP, */
+    "charset",
+    "charset_i_sc",
+    "Parrot_charset_i_sc",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_I },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_I, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 880 */
-    /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_ic",
-    "Parrot_set_p_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "charsetname",
+    "charsetname_s_i",
+    "Parrot_charsetname_s_i",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_S, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 881 */
-    /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_n",
-    "Parrot_set_p_n",
+    /* type PARROT_FUNCTION_OP, */
+    "charsetname",
+    "charsetname_s_ic",
+    "Parrot_charsetname_s_ic",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_N },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_S, PARROT_ARG_IC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 882 */
-    /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_nc",
-    "Parrot_set_p_nc",
+    /* type PARROT_FUNCTION_OP, */
+    "find_charset",
+    "find_charset_i_s",
+    "Parrot_find_charset_i_s",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_NC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_I, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 883 */
-    /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_s",
-    "Parrot_set_p_s",
+    /* type PARROT_FUNCTION_OP, */
+    "find_charset",
+    "find_charset_i_sc",
+    "Parrot_find_charset_i_sc",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_S },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_I, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 884 */
-    /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_sc",
-    "Parrot_set_p_sc",
+    /* type PARROT_FUNCTION_OP, */
+    "trans_charset",
+    "trans_charset_s_s_i",
+    "Parrot_trans_charset_s_s_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_SC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 885 */
-    /* type PARROT_INLINE_OP, */
-    "set",
-    "set_i_p",
-    "Parrot_set_i_p",
+    /* type PARROT_FUNCTION_OP, */
+    "trans_charset",
+    "trans_charset_s_sc_i",
+    "Parrot_trans_charset_s_sc_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 886 */
-    /* type PARROT_INLINE_OP, */
-    "assign",
-    "assign_p_p",
-    "Parrot_assign_p_p",
+    /* type PARROT_FUNCTION_OP, */
+    "trans_charset",
+    "trans_charset_s_s_ic",
+    "Parrot_trans_charset_s_s_ic",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 887 */
-    /* type PARROT_INLINE_OP, */
-    "assign",
-    "assign_p_i",
-    "Parrot_assign_p_i",
+    /* type PARROT_FUNCTION_OP, */
+    "trans_charset",
+    "trans_charset_s_sc_ic",
+    "Parrot_trans_charset_s_sc_ic",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_I },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 888 */
-    /* type PARROT_INLINE_OP, */
-    "assign",
-    "assign_p_ic",
-    "Parrot_assign_p_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "encoding",
+    "encoding_i_s",
+    "Parrot_encoding_i_s",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    { PARROT_ARG_I, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 889 */
-    /* type PARROT_INLINE_OP, */
-    "assign",
-    "assign_p_n",
-    "Parrot_assign_p_n",
+    /* type PARROT_FUNCTION_OP, */
+    "encoding",
+    "encoding_i_sc",
+    "Parrot_encoding_i_sc",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_N },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_I, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 890 */
-    /* type PARROT_INLINE_OP, */
-    "assign",
-    "assign_p_nc",
-    "Parrot_assign_p_nc",
+    /* type PARROT_FUNCTION_OP, */
+    "encodingname",
+    "encodingname_s_i",
+    "Parrot_encodingname_s_i",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_NC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_S, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 891 */
-    /* type PARROT_INLINE_OP, */
-    "assign",
-    "assign_p_s",
-    "Parrot_assign_p_s",
+    /* type PARROT_FUNCTION_OP, */
+    "encodingname",
+    "encodingname_s_ic",
+    "Parrot_encodingname_s_ic",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_S },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_S, PARROT_ARG_IC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 892 */
-    /* type PARROT_INLINE_OP, */
-    "assign",
-    "assign_p_sc",
-    "Parrot_assign_p_sc",
+    /* type PARROT_FUNCTION_OP, */
+    "find_encoding",
+    "find_encoding_i_s",
+    "Parrot_find_encoding_i_s",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_SC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_I, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 893 */
-    /* type PARROT_INLINE_OP, */
-    "assign",
-    "assign_s_s",
-    "Parrot_assign_s_s",
+    /* type PARROT_FUNCTION_OP, */
+    "find_encoding",
+    "find_encoding_i_sc",
+    "Parrot_find_encoding_i_sc",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_S, PARROT_ARG_S },
+    { PARROT_ARG_I, PARROT_ARG_SC },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 894 */
-    /* type PARROT_INLINE_OP, */
-    "assign",
-    "assign_s_sc",
-    "Parrot_assign_s_sc",
+    /* type PARROT_FUNCTION_OP, */
+    "trans_encoding",
+    "trans_encoding_s_s_i",
+    "Parrot_trans_encoding_s_s_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_S, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 895 */
-    /* type PARROT_INLINE_OP, */
-    "setref",
-    "setref_p_p",
-    "Parrot_setref_p_p",
+    /* type PARROT_FUNCTION_OP, */
+    "trans_encoding",
+    "trans_encoding_s_sc_i",
+    "Parrot_trans_encoding_s_sc_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 896 */
-    /* type PARROT_INLINE_OP, */
-    "deref",
-    "deref_p_p",
-    "Parrot_deref_p_p",
+    /* type PARROT_FUNCTION_OP, */
+    "trans_encoding",
+    "trans_encoding_s_s_ic",
+    "Parrot_trans_encoding_s_s_ic",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 897 */
-    /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_ki_i",
-    "Parrot_set_p_ki_i",
+    /* type PARROT_FUNCTION_OP, */
+    "trans_encoding",
+    "trans_encoding_s_sc_ic",
+    "Parrot_trans_encoding_s_sc_ic",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_P, PARROT_ARG_KI, PARROT_ARG_I },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 898 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_kic_i",
-    "Parrot_set_p_kic_i",
+    "is_cclass",
+    "is_cclass_i_i_s_i",
+    "Parrot_is_cclass_i_i_s_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 }
+    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 }
   },
   { /* 899 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_ki_ic",
-    "Parrot_set_p_ki_ic",
+    "is_cclass",
+    "is_cclass_i_ic_s_i",
+    "Parrot_is_cclass_i_ic_s_i",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_KI, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 900 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_kic_ic",
-    "Parrot_set_p_kic_ic",
+    "is_cclass",
+    "is_cclass_i_i_sc_i",
+    "Parrot_is_cclass_i_i_sc_i",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_KIC, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 901 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_ki_n",
-    "Parrot_set_p_ki_n",
+    "is_cclass",
+    "is_cclass_i_ic_sc_i",
+    "Parrot_is_cclass_i_ic_sc_i",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_KI, PARROT_ARG_N },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 902 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_kic_n",
-    "Parrot_set_p_kic_n",
+    "is_cclass",
+    "is_cclass_i_i_s_ic",
+    "Parrot_is_cclass_i_i_s_ic",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_KIC, PARROT_ARG_N },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 903 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_ki_nc",
-    "Parrot_set_p_ki_nc",
+    "is_cclass",
+    "is_cclass_i_ic_s_ic",
+    "Parrot_is_cclass_i_ic_s_ic",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_KI, PARROT_ARG_NC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 904 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_kic_nc",
-    "Parrot_set_p_kic_nc",
+    "is_cclass",
+    "is_cclass_i_i_sc_ic",
+    "Parrot_is_cclass_i_i_sc_ic",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_KIC, PARROT_ARG_NC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 905 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_ki_s",
-    "Parrot_set_p_ki_s",
+    "is_cclass",
+    "is_cclass_i_ic_sc_ic",
+    "Parrot_is_cclass_i_ic_sc_ic",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_KI, PARROT_ARG_S },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 906 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_kic_s",
-    "Parrot_set_p_kic_s",
+    "find_cclass",
+    "find_cclass_i_i_s_i_i",
+    "Parrot_find_cclass_i_i_s_i_i",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_KIC, PARROT_ARG_S },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 907 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_ki_sc",
-    "Parrot_set_p_ki_sc",
+    "find_cclass",
+    "find_cclass_i_ic_s_i_i",
+    "Parrot_find_cclass_i_ic_s_i_i",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_KI, PARROT_ARG_SC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 908 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_kic_sc",
-    "Parrot_set_p_kic_sc",
+    "find_cclass",
+    "find_cclass_i_i_sc_i_i",
+    "Parrot_find_cclass_i_i_sc_i_i",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_KIC, PARROT_ARG_SC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 909 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_ki_p",
-    "Parrot_set_p_ki_p",
+    "find_cclass",
+    "find_cclass_i_ic_sc_i_i",
+    "Parrot_find_cclass_i_ic_sc_i_i",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_KI, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 910 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_kic_p",
-    "Parrot_set_p_kic_p",
+    "find_cclass",
+    "find_cclass_i_i_s_ic_i",
+    "Parrot_find_cclass_i_i_s_ic_i",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_KIC, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 911 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_i_p_ki",
-    "Parrot_set_i_p_ki",
+    "find_cclass",
+    "find_cclass_i_ic_s_ic_i",
+    "Parrot_find_cclass_i_ic_s_ic_i",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KI },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 912 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_i_p_kic",
-    "Parrot_set_i_p_kic",
+    "find_cclass",
+    "find_cclass_i_i_sc_ic_i",
+    "Parrot_find_cclass_i_i_sc_ic_i",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KIC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 913 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_n_p_ki",
-    "Parrot_set_n_p_ki",
+    "find_cclass",
+    "find_cclass_i_ic_sc_ic_i",
+    "Parrot_find_cclass_i_ic_sc_ic_i",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_N, PARROT_ARG_P, PARROT_ARG_KI },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 914 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_n_p_kic",
-    "Parrot_set_n_p_kic",
+    "find_cclass",
+    "find_cclass_i_i_s_i_ic",
+    "Parrot_find_cclass_i_i_s_i_ic",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_N, PARROT_ARG_P, PARROT_ARG_KIC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 915 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_s_p_ki",
-    "Parrot_set_s_p_ki",
+    "find_cclass",
+    "find_cclass_i_ic_s_i_ic",
+    "Parrot_find_cclass_i_ic_s_i_ic",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_S, PARROT_ARG_P, PARROT_ARG_KI },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 916 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_s_p_kic",
-    "Parrot_set_s_p_kic",
+    "find_cclass",
+    "find_cclass_i_i_sc_i_ic",
+    "Parrot_find_cclass_i_i_sc_i_ic",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_S, PARROT_ARG_P, PARROT_ARG_KIC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 917 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_p_ki",
-    "Parrot_set_p_p_ki",
+    "find_cclass",
+    "find_cclass_i_ic_sc_i_ic",
+    "Parrot_find_cclass_i_ic_sc_i_ic",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_KI },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 918 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_p_kic",
-    "Parrot_set_p_p_kic",
+    "find_cclass",
+    "find_cclass_i_i_s_ic_ic",
+    "Parrot_find_cclass_i_i_s_ic_ic",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_KIC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 919 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_k_i",
-    "Parrot_set_p_k_i",
+    "find_cclass",
+    "find_cclass_i_ic_s_ic_ic",
+    "Parrot_find_cclass_i_ic_s_ic_ic",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_K, PARROT_ARG_I },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 920 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_kc_i",
-    "Parrot_set_p_kc_i",
+    "find_cclass",
+    "find_cclass_i_i_sc_ic_ic",
+    "Parrot_find_cclass_i_i_sc_ic_ic",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_KC, PARROT_ARG_I },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 921 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_k_ic",
-    "Parrot_set_p_k_ic",
+    "find_cclass",
+    "find_cclass_i_ic_sc_ic_ic",
+    "Parrot_find_cclass_i_ic_sc_ic_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 }
+    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 }
   },
   { /* 922 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_kc_ic",
-    "Parrot_set_p_kc_ic",
+    "find_not_cclass",
+    "find_not_cclass_i_i_s_i_i",
+    "Parrot_find_not_cclass_i_i_s_i_i",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_KC, PARROT_ARG_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 923 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_k_n",
-    "Parrot_set_p_k_n",
+    "find_not_cclass",
+    "find_not_cclass_i_ic_s_i_i",
+    "Parrot_find_not_cclass_i_ic_s_i_i",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_K, PARROT_ARG_N },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 924 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_kc_n",
-    "Parrot_set_p_kc_n",
+    "find_not_cclass",
+    "find_not_cclass_i_i_sc_i_i",
+    "Parrot_find_not_cclass_i_i_sc_i_i",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_KC, PARROT_ARG_N },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 925 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_k_nc",
-    "Parrot_set_p_k_nc",
+    "find_not_cclass",
+    "find_not_cclass_i_ic_sc_i_i",
+    "Parrot_find_not_cclass_i_ic_sc_i_i",
     /* "",  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",
+    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 }
+  },
+  { /* 926 */
+    /* 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,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_KC, PARROT_ARG_NC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 927 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_k_s",
-    "Parrot_set_p_k_s",
+    "find_not_cclass",
+    "find_not_cclass_i_ic_s_ic_i",
+    "Parrot_find_not_cclass_i_ic_s_ic_i",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_K, PARROT_ARG_S },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 928 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_kc_s",
-    "Parrot_set_p_kc_s",
+    "find_not_cclass",
+    "find_not_cclass_i_i_sc_ic_i",
+    "Parrot_find_not_cclass_i_i_sc_ic_i",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_KC, PARROT_ARG_S },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 929 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_k_sc",
-    "Parrot_set_p_k_sc",
+    "find_not_cclass",
+    "find_not_cclass_i_ic_sc_ic_i",
+    "Parrot_find_not_cclass_i_ic_sc_ic_i",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_K, PARROT_ARG_SC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 930 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_kc_sc",
-    "Parrot_set_p_kc_sc",
+    "find_not_cclass",
+    "find_not_cclass_i_i_s_i_ic",
+    "Parrot_find_not_cclass_i_i_s_i_ic",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_KC, PARROT_ARG_SC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 931 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_k_p",
-    "Parrot_set_p_k_p",
+    "find_not_cclass",
+    "find_not_cclass_i_ic_s_i_ic",
+    "Parrot_find_not_cclass_i_ic_s_i_ic",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_K, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 932 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_kc_p",
-    "Parrot_set_p_kc_p",
+    "find_not_cclass",
+    "find_not_cclass_i_i_sc_i_ic",
+    "Parrot_find_not_cclass_i_i_sc_i_ic",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_KC, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 933 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_i_p_k",
-    "Parrot_set_i_p_k",
+    "find_not_cclass",
+    "find_not_cclass_i_ic_sc_i_ic",
+    "Parrot_find_not_cclass_i_ic_sc_i_ic",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_K },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 934 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_i_p_kc",
-    "Parrot_set_i_p_kc",
+    "find_not_cclass",
+    "find_not_cclass_i_i_s_ic_ic",
+    "Parrot_find_not_cclass_i_i_s_ic_ic",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_P, PARROT_ARG_KC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 935 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_n_p_k",
-    "Parrot_set_n_p_k",
+    "find_not_cclass",
+    "find_not_cclass_i_ic_s_ic_ic",
+    "Parrot_find_not_cclass_i_ic_s_ic_ic",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_N, PARROT_ARG_P, PARROT_ARG_K },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 936 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_n_p_kc",
-    "Parrot_set_n_p_kc",
+    "find_not_cclass",
+    "find_not_cclass_i_i_sc_ic_ic",
+    "Parrot_find_not_cclass_i_i_sc_ic_ic",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_N, PARROT_ARG_P, PARROT_ARG_KC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 937 */
     /* type PARROT_INLINE_OP, */
-    "set",
-    "set_s_p_k",
-    "Parrot_set_s_p_k",
+    "find_not_cclass",
+    "find_not_cclass_i_ic_sc_ic_ic",
+    "Parrot_find_not_cclass_i_ic_sc_ic_ic",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_S, PARROT_ARG_P, PARROT_ARG_K },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 938 */
-    /* type PARROT_INLINE_OP, */
-    "set",
-    "set_s_p_kc",
-    "Parrot_set_s_p_kc",
+    /* type PARROT_FUNCTION_OP, */
+    "escape",
+    "escape_s_s",
+    "Parrot_escape_s_s",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_S, PARROT_ARG_P, PARROT_ARG_KC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_S, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 939 */
-    /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_p_k",
-    "Parrot_set_p_p_k",
+    /* type PARROT_FUNCTION_OP, */
+    "compose",
+    "compose_s_s",
+    "Parrot_compose_s_s",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_K },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_S, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 940 */
-    /* type PARROT_INLINE_OP, */
-    "set",
-    "set_p_p_kc",
-    "Parrot_set_p_p_kc",
+    /* type PARROT_FUNCTION_OP, */
+    "compose",
+    "compose_s_sc",
+    "Parrot_compose_s_sc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_KC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_S, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 941 */
     /* type PARROT_INLINE_OP, */
-    "clone",
-    "clone_p_p",
-    "Parrot_clone_p_p",
+    "spawnw",
+    "spawnw_i_s",
+    "Parrot_spawnw_i_s",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARG_I, PARROT_ARG_S },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 942 */
     /* type PARROT_INLINE_OP, */
-    "clone",
-    "clone_p_p_p",
-    "Parrot_clone_p_p_p",
+    "spawnw",
+    "spawnw_i_sc",
+    "Parrot_spawnw_i_sc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_I, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 943 */
     /* type PARROT_INLINE_OP, */
-    "clone",
-    "clone_p_p_pc",
-    "Parrot_clone_p_p_pc",
+    "spawnw",
+    "spawnw_i_p",
+    "Parrot_spawnw_i_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_PC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
-  },
+    3,
+    { PARROT_ARG_I, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
+  },
   { /* 944 */
     /* type PARROT_INLINE_OP, */
-    "copy",
-    "copy_p_p",
-    "Parrot_copy_p_p",
+    "err",
+    "err_i",
+    "Parrot_err_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    2,
+    { PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT },
+    { 0 }
   },
   { /* 945 */
-    /* type PARROT_INLINE_OP, */
-    "null",
-    "null_s",
-    "Parrot_null_s",
+    /* type PARROT_FUNCTION_OP, */
+    "err",
+    "err_s",
+    "Parrot_err_s",
     /* "",  body */
     0,
     2,
@@ -12699,6644 +12511,3154 @@
     { 0 }
   },
   { /* 946 */
-    /* type PARROT_INLINE_OP, */
-    "null",
-    "null_i",
-    "Parrot_null_i",
+    /* type PARROT_FUNCTION_OP, */
+    "err",
+    "err_s_i",
+    "Parrot_err_s_i",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT },
-    { 0 }
+    3,
+    { PARROT_ARG_S, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 947 */
-    /* type PARROT_INLINE_OP, */
-    "null",
-    "null_p",
-    "Parrot_null_p",
+    /* type PARROT_FUNCTION_OP, */
+    "err",
+    "err_s_ic",
+    "Parrot_err_s_ic",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_P },
-    { PARROT_ARGDIR_OUT },
-    { 0 }
+    3,
+    { PARROT_ARG_S, PARROT_ARG_IC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 948 */
     /* type PARROT_INLINE_OP, */
-    "null",
-    "null_n",
-    "Parrot_null_n",
+    "time",
+    "time_i",
+    "Parrot_time_i",
     /* "",  body */
     0,
     2,
-    { PARROT_ARG_N },
+    { PARROT_ARG_I },
     { PARROT_ARGDIR_OUT },
     { 0 }
   },
   { /* 949 */
     /* type PARROT_INLINE_OP, */
-    "ord",
-    "ord_i_s",
-    "Parrot_ord_i_s",
+    "time",
+    "time_n",
+    "Parrot_time_n",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    2,
+    { PARROT_ARG_N },
+    { PARROT_ARGDIR_OUT },
+    { 0 }
   },
   { /* 950 */
     /* type PARROT_INLINE_OP, */
-    "ord",
-    "ord_i_sc",
-    "Parrot_ord_i_sc",
+    "sleep",
+    "sleep_i",
+    "Parrot_sleep_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    2,
+    { PARROT_ARG_I },
+    { PARROT_ARGDIR_IN },
+    { 0 }
   },
   { /* 951 */
     /* type PARROT_INLINE_OP, */
-    "ord",
-    "ord_i_s_i",
-    "Parrot_ord_i_s_i",
+    "sleep",
+    "sleep_ic",
+    "Parrot_sleep_ic",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    2,
+    { PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN },
+    { 0 }
   },
   { /* 952 */
     /* type PARROT_INLINE_OP, */
-    "ord",
-    "ord_i_sc_i",
-    "Parrot_ord_i_sc_i",
+    "sleep",
+    "sleep_n",
+    "Parrot_sleep_n",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    2,
+    { PARROT_ARG_N },
+    { PARROT_ARGDIR_IN },
+    { 0 }
   },
   { /* 953 */
     /* type PARROT_INLINE_OP, */
-    "ord",
-    "ord_i_s_ic",
-    "Parrot_ord_i_s_ic",
+    "sleep",
+    "sleep_nc",
+    "Parrot_sleep_nc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    2,
+    { PARROT_ARG_NC },
+    { PARROT_ARGDIR_IN },
+    { 0 }
   },
   { /* 954 */
-    /* type PARROT_INLINE_OP, */
-    "ord",
-    "ord_i_sc_ic",
-    "Parrot_ord_i_sc_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "store_lex",
+    "store_lex_s_p",
+    "Parrot_store_lex_s_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_S, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 955 */
-    /* type PARROT_INLINE_OP, */
-    "chr",
-    "chr_s_i",
-    "Parrot_chr_s_i",
+    /* type PARROT_FUNCTION_OP, */
+    "store_lex",
+    "store_lex_sc_p",
+    "Parrot_store_lex_sc_p",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_S, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { PARROT_ARG_SC, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 956 */
-    /* type PARROT_INLINE_OP, */
-    "chr",
-    "chr_s_ic",
-    "Parrot_chr_s_ic",
+    /* 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_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { PARROT_ARG_S, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 957 */
-    /* type PARROT_INLINE_OP, */
-    "chopn",
-    "chopn_s_s_i",
-    "Parrot_chopn_s_s_i",
+    /* type PARROT_FUNCTION_OP, */
+    "store_dynamic_lex",
+    "store_dynamic_lex_sc_p",
+    "Parrot_store_dynamic_lex_sc_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_SC, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 958 */
-    /* type PARROT_INLINE_OP, */
-    "chopn",
-    "chopn_s_sc_i",
-    "Parrot_chopn_s_sc_i",
+    /* type PARROT_FUNCTION_OP, */
+    "find_lex",
+    "find_lex_p_s",
+    "Parrot_find_lex_p_s",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 959 */
-    /* type PARROT_INLINE_OP, */
-    "chopn",
-    "chopn_s_s_ic",
-    "Parrot_chopn_s_s_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "find_lex",
+    "find_lex_p_sc",
+    "Parrot_find_lex_p_sc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 960 */
-    /* type PARROT_INLINE_OP, */
-    "chopn",
-    "chopn_s_sc_ic",
-    "Parrot_chopn_s_sc_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "find_dynamic_lex",
+    "find_dynamic_lex_p_s",
+    "Parrot_find_dynamic_lex_p_s",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 961 */
-    /* type PARROT_INLINE_OP, */
-    "concat",
-    "concat_s_s",
-    "Parrot_concat_s_s",
+    /* type PARROT_FUNCTION_OP, */
+    "find_dynamic_lex",
+    "find_dynamic_lex_p_sc",
+    "Parrot_find_dynamic_lex_p_sc",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_S, PARROT_ARG_S },
-    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 962 */
-    /* type PARROT_INLINE_OP, */
-    "concat",
-    "concat_s_sc",
-    "Parrot_concat_s_sc",
+    /* type PARROT_FUNCTION_OP, */
+    "find_caller_lex",
+    "find_caller_lex_p_s",
+    "Parrot_find_caller_lex_p_s",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_S, PARROT_ARG_SC },
-    { PARROT_ARGDIR_INOUT, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 963 */
-    /* type PARROT_INLINE_OP, */
-    "concat",
-    "concat_p_p",
-    "Parrot_concat_p_p",
+    /* 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_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 964 */
-    /* type PARROT_INLINE_OP, */
-    "concat",
-    "concat_p_s",
-    "Parrot_concat_p_s",
+    /* type PARROT_FUNCTION_OP, */
+    "get_namespace",
+    "get_namespace_p",
+    "Parrot_get_namespace_p",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_S },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    2,
+    { PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT },
+    { 0 }
   },
   { /* 965 */
-    /* type PARROT_INLINE_OP, */
-    "concat",
-    "concat_p_sc",
-    "Parrot_concat_p_sc",
+    /* type PARROT_FUNCTION_OP, */
+    "get_namespace",
+    "get_namespace_p_p",
+    "Parrot_get_namespace_p_p",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_P, PARROT_ARG_SC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 966 */
-    /* type PARROT_INLINE_OP, */
-    "concat",
-    "concat_s_s_s",
-    "Parrot_concat_s_s_s",
+    /* type PARROT_FUNCTION_OP, */
+    "get_namespace",
+    "get_namespace_p_pc",
+    "Parrot_get_namespace_p_pc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_PC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 967 */
-    /* type PARROT_INLINE_OP, */
-    "concat",
-    "concat_s_sc_s",
-    "Parrot_concat_s_sc_s",
+    /* type PARROT_FUNCTION_OP, */
+    "get_hll_namespace",
+    "get_hll_namespace_p",
+    "Parrot_get_hll_namespace_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    2,
+    { PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT },
+    { 0 }
   },
   { /* 968 */
-    /* type PARROT_INLINE_OP, */
-    "concat",
-    "concat_s_s_sc",
-    "Parrot_concat_s_s_sc",
+    /* type PARROT_FUNCTION_OP, */
+    "get_hll_namespace",
+    "get_hll_namespace_p_p",
+    "Parrot_get_hll_namespace_p_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 969 */
-    /* type PARROT_INLINE_OP, */
-    "concat",
-    "concat_p_p_s",
-    "Parrot_concat_p_p_s",
+    /* type PARROT_FUNCTION_OP, */
+    "get_hll_namespace",
+    "get_hll_namespace_p_pc",
+    "Parrot_get_hll_namespace_p_pc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_PC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 970 */
-    /* type PARROT_INLINE_OP, */
-    "concat",
-    "concat_p_p_sc",
-    "Parrot_concat_p_p_sc",
+    /* type PARROT_FUNCTION_OP, */
+    "get_root_namespace",
+    "get_root_namespace_p",
+    "Parrot_get_root_namespace_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    2,
+    { PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT },
+    { 0 }
   },
   { /* 971 */
-    /* type PARROT_INLINE_OP, */
-    "concat",
-    "concat_p_p_p",
-    "Parrot_concat_p_p_p",
+    /* type PARROT_FUNCTION_OP, */
+    "get_root_namespace",
+    "get_root_namespace_p_p",
+    "Parrot_get_root_namespace_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 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 972 */
-    /* type PARROT_INLINE_OP, */
-    "repeat",
-    "repeat_s_s_i",
-    "Parrot_repeat_s_s_i",
+    /* type PARROT_FUNCTION_OP, */
+    "get_root_namespace",
+    "get_root_namespace_p_pc",
+    "Parrot_get_root_namespace_p_pc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_PC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 973 */
-    /* type PARROT_INLINE_OP, */
-    "repeat",
-    "repeat_s_sc_i",
-    "Parrot_repeat_s_sc_i",
+    /* type PARROT_FUNCTION_OP, */
+    "get_global",
+    "get_global_p_s",
+    "Parrot_get_global_p_s",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 974 */
-    /* type PARROT_INLINE_OP, */
-    "repeat",
-    "repeat_s_s_ic",
-    "Parrot_repeat_s_s_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "get_global",
+    "get_global_p_sc",
+    "Parrot_get_global_p_sc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 975 */
-    /* type PARROT_INLINE_OP, */
-    "repeat",
-    "repeat_s_sc_ic",
-    "Parrot_repeat_s_sc_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "get_global",
+    "get_global_p_p_s",
+    "Parrot_get_global_p_p_s",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
     { 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",
+    /* 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_P, PARROT_ARG_I },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 977 */
-    /* type PARROT_INLINE_OP, */
-    "repeat",
-    "repeat_p_p_ic",
-    "Parrot_repeat_p_p_ic",
+    /* 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_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 978 */
-    /* type PARROT_INLINE_OP, */
-    "repeat",
-    "repeat_p_p_p",
-    "Parrot_repeat_p_p_p",
+    /* 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_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
     { 0, 0, 0 }
   },
   { /* 979 */
-    /* type PARROT_INLINE_OP, */
-    "repeat",
-    "repeat_p_i",
-    "Parrot_repeat_p_i",
+    /* 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_I },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 980 */
-    /* type PARROT_INLINE_OP, */
-    "repeat",
-    "repeat_p_ic",
-    "Parrot_repeat_p_ic",
-    /* "",  body */
+    /* 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_IC },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { PARROT_ARG_P, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 981 */
-    /* type PARROT_INLINE_OP, */
-    "repeat",
-    "repeat_p_p",
-    "Parrot_repeat_p_p",
+    /* type PARROT_FUNCTION_OP, */
+    "get_hll_global",
+    "get_hll_global_p_p_s",
+    "Parrot_get_hll_global_p_p_s",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_P, PARROT_ARG_P },
-    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 982 */
-    /* type PARROT_INLINE_OP, */
-    "length",
-    "length_i_s",
-    "Parrot_length_i_s",
+    /* type PARROT_FUNCTION_OP, */
+    "get_hll_global",
+    "get_hll_global_p_pc_s",
+    "Parrot_get_hll_global_p_pc_s",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 983 */
-    /* type PARROT_INLINE_OP, */
-    "length",
-    "length_i_sc",
-    "Parrot_length_i_sc",
+    /* type PARROT_FUNCTION_OP, */
+    "get_hll_global",
+    "get_hll_global_p_p_sc",
+    "Parrot_get_hll_global_p_p_sc",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 984 */
-    /* type PARROT_INLINE_OP, */
-    "bytelength",
-    "bytelength_i_s",
-    "Parrot_bytelength_i_s",
+    /* type PARROT_FUNCTION_OP, */
+    "get_hll_global",
+    "get_hll_global_p_pc_sc",
+    "Parrot_get_hll_global_p_pc_sc",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 985 */
-    /* type PARROT_INLINE_OP, */
-    "bytelength",
-    "bytelength_i_sc",
-    "Parrot_bytelength_i_sc",
+    /* type PARROT_FUNCTION_OP, */
+    "get_root_global",
+    "get_root_global_p_s",
+    "Parrot_get_root_global_p_s",
     /* "",  body */
     0,
     3,
-    { PARROT_ARG_I, PARROT_ARG_SC },
+    { PARROT_ARG_P, PARROT_ARG_S },
     { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
     { 0, 0 }
   },
   { /* 986 */
     /* type PARROT_FUNCTION_OP, */
-    "pin",
-    "pin_s",
-    "Parrot_pin_s",
+    "get_root_global",
+    "get_root_global_p_sc",
+    "Parrot_get_root_global_p_sc",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_S },
-    { PARROT_ARGDIR_INOUT },
-    { 0 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 987 */
     /* type PARROT_FUNCTION_OP, */
-    "unpin",
-    "unpin_s",
-    "Parrot_unpin_s",
+    "get_root_global",
+    "get_root_global_p_p_s",
+    "Parrot_get_root_global_p_p_s",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_S },
-    { PARROT_ARGDIR_INOUT },
-    { 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 988 */
-    /* type PARROT_INLINE_OP, */
-    "substr",
-    "substr_s_s_i",
-    "Parrot_substr_s_s_i",
+    /* 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_S, PARROT_ARG_S, PARROT_ARG_I },
+    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_S },
     { 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",
+    /* 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_S, PARROT_ARG_SC, PARROT_ARG_I },
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_SC },
     { 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",
+    /* 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_S, PARROT_ARG_S, PARROT_ARG_IC },
+    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_SC },
     { 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",
+    /* type PARROT_FUNCTION_OP, */
+    "set_global",
+    "set_global_s_p",
+    "Parrot_set_global_s_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 0 }
+    3,
+    { PARROT_ARG_S, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 992 */
-    /* type PARROT_INLINE_OP, */
-    "substr",
-    "substr_s_s_i_i",
-    "Parrot_substr_s_s_i_i",
+    /* type PARROT_FUNCTION_OP, */
+    "set_global",
+    "set_global_sc_p",
+    "Parrot_set_global_sc_p",
     /* "",  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 }
+    3,
+    { PARROT_ARG_SC, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 993 */
-    /* type PARROT_INLINE_OP, */
-    "substr",
-    "substr_s_sc_i_i",
-    "Parrot_substr_s_sc_i_i",
+    /* type PARROT_FUNCTION_OP, */
+    "set_global",
+    "set_global_p_s_p",
+    "Parrot_set_global_p_s_p",
     /* "",  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 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 994 */
-    /* type PARROT_INLINE_OP, */
-    "substr",
-    "substr_s_s_ic_i",
-    "Parrot_substr_s_s_ic_i",
+    /* type PARROT_FUNCTION_OP, */
+    "set_global",
+    "set_global_pc_s_p",
+    "Parrot_set_global_pc_s_p",
     /* "",  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 }
+    4,
+    { PARROT_ARG_PC, PARROT_ARG_S, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 995 */
-    /* type PARROT_INLINE_OP, */
-    "substr",
-    "substr_s_sc_ic_i",
-    "Parrot_substr_s_sc_ic_i",
+    /* type PARROT_FUNCTION_OP, */
+    "set_global",
+    "set_global_p_sc_p",
+    "Parrot_set_global_p_sc_p",
     /* "",  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 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 996 */
-    /* type PARROT_INLINE_OP, */
-    "substr",
-    "substr_s_s_i_ic",
-    "Parrot_substr_s_s_i_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "set_global",
+    "set_global_pc_sc_p",
+    "Parrot_set_global_pc_sc_p",
     /* "",  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 }
+    4,
+    { PARROT_ARG_PC, PARROT_ARG_SC, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 997 */
-    /* type PARROT_INLINE_OP, */
-    "substr",
-    "substr_s_sc_i_ic",
-    "Parrot_substr_s_sc_i_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "set_hll_global",
+    "set_hll_global_s_p",
+    "Parrot_set_hll_global_s_p",
     /* "",  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 }
+    3,
+    { PARROT_ARG_S, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 998 */
-    /* type PARROT_INLINE_OP, */
-    "substr",
-    "substr_s_s_ic_ic",
-    "Parrot_substr_s_s_ic_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "set_hll_global",
+    "set_hll_global_sc_p",
+    "Parrot_set_hll_global_sc_p",
     /* "",  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 }
+    3,
+    { PARROT_ARG_SC, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 999 */
-    /* type PARROT_INLINE_OP, */
-    "substr",
-    "substr_s_sc_ic_ic",
-    "Parrot_substr_s_sc_ic_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "set_hll_global",
+    "set_hll_global_p_s_p",
+    "Parrot_set_hll_global_p_s_p",
     /* "",  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 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 1000 */
-    /* type PARROT_INLINE_OP, */
-    "substr",
-    "substr_s_p_i_i",
-    "Parrot_substr_s_p_i_i",
+    /* type PARROT_FUNCTION_OP, */
+    "set_hll_global",
+    "set_hll_global_pc_s_p",
+    "Parrot_set_hll_global_pc_s_p",
     /* "",  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 }
+    4,
+    { PARROT_ARG_PC, PARROT_ARG_S, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 1001 */
-    /* type PARROT_INLINE_OP, */
-    "substr",
-    "substr_s_p_ic_i",
-    "Parrot_substr_s_p_ic_i",
+    /* type PARROT_FUNCTION_OP, */
+    "set_hll_global",
+    "set_hll_global_p_sc_p",
+    "Parrot_set_hll_global_p_sc_p",
     /* "",  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 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 1002 */
-    /* type PARROT_INLINE_OP, */
-    "substr",
-    "substr_s_p_i_ic",
-    "Parrot_substr_s_p_i_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "set_hll_global",
+    "set_hll_global_pc_sc_p",
+    "Parrot_set_hll_global_pc_sc_p",
     /* "",  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 }
+    4,
+    { PARROT_ARG_PC, PARROT_ARG_SC, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 1003 */
-    /* type PARROT_INLINE_OP, */
-    "substr",
-    "substr_s_p_ic_ic",
-    "Parrot_substr_s_p_ic_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "set_root_global",
+    "set_root_global_s_p",
+    "Parrot_set_root_global_s_p",
     /* "",  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 }
+    3,
+    { PARROT_ARG_S, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 1004 */
-    /* type PARROT_INLINE_OP, */
-    "replace",
-    "replace_s_s_i_i_s",
-    "Parrot_replace_s_s_i_i_s",
+    /* type PARROT_FUNCTION_OP, */
+    "set_root_global",
+    "set_root_global_sc_p",
+    "Parrot_set_root_global_sc_p",
     /* "",  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 }
+    3,
+    { PARROT_ARG_SC, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 1005 */
-    /* type PARROT_INLINE_OP, */
-    "replace",
-    "replace_s_sc_i_i_s",
-    "Parrot_replace_s_sc_i_i_s",
+    /* type PARROT_FUNCTION_OP, */
+    "set_root_global",
+    "set_root_global_p_s_p",
+    "Parrot_set_root_global_p_s_p",
     /* "",  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 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 1006 */
-    /* type PARROT_INLINE_OP, */
-    "replace",
-    "replace_s_s_ic_i_s",
-    "Parrot_replace_s_s_ic_i_s",
+    /* type PARROT_FUNCTION_OP, */
+    "set_root_global",
+    "set_root_global_pc_s_p",
+    "Parrot_set_root_global_pc_s_p",
     /* "",  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 }
+    4,
+    { PARROT_ARG_PC, PARROT_ARG_S, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 1007 */
-    /* type PARROT_INLINE_OP, */
-    "replace",
-    "replace_s_sc_ic_i_s",
-    "Parrot_replace_s_sc_ic_i_s",
+    /* type PARROT_FUNCTION_OP, */
+    "set_root_global",
+    "set_root_global_p_sc_p",
+    "Parrot_set_root_global_p_sc_p",
     /* "",  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 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 1008 */
-    /* type PARROT_INLINE_OP, */
-    "replace",
-    "replace_s_s_i_ic_s",
-    "Parrot_replace_s_s_i_ic_s",
+    /* type PARROT_FUNCTION_OP, */
+    "set_root_global",
+    "set_root_global_pc_sc_p",
+    "Parrot_set_root_global_pc_sc_p",
     /* "",  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 }
+    4,
+    { PARROT_ARG_PC, PARROT_ARG_SC, PARROT_ARG_P },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 1009 */
-    /* type PARROT_INLINE_OP, */
-    "replace",
-    "replace_s_sc_i_ic_s",
-    "Parrot_replace_s_sc_i_ic_s",
+    /* type PARROT_FUNCTION_OP, */
+    "find_name",
+    "find_name_p_s",
+    "Parrot_find_name_p_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 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 1010 */
-    /* type PARROT_INLINE_OP, */
-    "replace",
-    "replace_s_s_ic_ic_s",
-    "Parrot_replace_s_s_ic_ic_s",
+    /* type PARROT_FUNCTION_OP, */
+    "find_name",
+    "find_name_p_sc",
+    "Parrot_find_name_p_sc",
     /* "",  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 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 1011 */
     /* type PARROT_INLINE_OP, */
-    "replace",
-    "replace_s_sc_ic_ic_s",
-    "Parrot_replace_s_sc_ic_ic_s",
+    "find_sub_not_null",
+    "find_sub_not_null_p_s",
+    "Parrot_find_sub_not_null_p_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 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 1012 */
     /* type PARROT_INLINE_OP, */
-    "replace",
-    "replace_s_s_i_i_sc",
-    "Parrot_replace_s_s_i_i_sc",
+    "find_sub_not_null",
+    "find_sub_not_null_p_sc",
+    "Parrot_find_sub_not_null_p_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 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 1013 */
-    /* type PARROT_INLINE_OP, */
-    "replace",
-    "replace_s_sc_i_i_sc",
-    "Parrot_replace_s_sc_i_i_sc",
+    /* type PARROT_FUNCTION_OP, */
+    "trap",
+    "trap",
+    "Parrot_trap",
     /* "",  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 }
+    1,
+    { (arg_type_t) 0 },
+    { (arg_dir_t) 0 },
+    { 0 }
   },
   { /* 1014 */
     /* type PARROT_INLINE_OP, */
-    "replace",
-    "replace_s_s_ic_i_sc",
-    "Parrot_replace_s_s_ic_i_sc",
+    "set_label",
+    "set_label_p_ic",
+    "Parrot_set_label_p_ic",
     /* "",  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 }
+    3,
+    { PARROT_ARG_P, PARROT_ARG_IC },
+    { PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 1 }
   },
   { /* 1015 */
     /* type PARROT_INLINE_OP, */
-    "replace",
-    "replace_s_sc_ic_i_sc",
-    "Parrot_replace_s_sc_ic_i_sc",
+    "get_label",
+    "get_label_i_p",
+    "Parrot_get_label_i_p",
     /* "",  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 }
+    3,
+    { PARROT_ARG_I, PARROT_ARG_P },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 1016 */
     /* type PARROT_INLINE_OP, */
-    "replace",
-    "replace_s_s_i_ic_sc",
-    "Parrot_replace_s_s_i_ic_sc",
+    "fetch",
+    "fetch_p_p_p_p",
+    "Parrot_fetch_p_p_p_p",
     /* "",  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 }
+    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 }
   },
   { /* 1017 */
     /* type PARROT_INLINE_OP, */
-    "replace",
-    "replace_s_sc_i_ic_sc",
-    "Parrot_replace_s_sc_i_ic_sc",
+    "fetch",
+    "fetch_p_pc_p_p",
+    "Parrot_fetch_p_pc_p_p",
     /* "",  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 }
+    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 }
   },
   { /* 1018 */
     /* type PARROT_INLINE_OP, */
-    "replace",
-    "replace_s_s_ic_ic_sc",
-    "Parrot_replace_s_s_ic_ic_sc",
+    "fetch",
+    "fetch_p_p_pc_p",
+    "Parrot_fetch_p_p_pc_p",
     /* "",  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 }
+    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 }
   },
   { /* 1019 */
     /* type PARROT_INLINE_OP, */
-    "replace",
-    "replace_s_sc_ic_ic_sc",
-    "Parrot_replace_s_sc_ic_ic_sc",
+    "fetch",
+    "fetch_p_pc_pc_p",
+    "Parrot_fetch_p_pc_pc_p",
     /* "",  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 }
+    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 }
   },
   { /* 1020 */
     /* type PARROT_INLINE_OP, */
-    "index",
-    "index_i_s_s",
-    "Parrot_index_i_s_s",
+    "fetch",
+    "fetch_p_p_p_pc",
+    "Parrot_fetch_p_p_p_pc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 1021 */
     /* type PARROT_INLINE_OP, */
-    "index",
-    "index_i_sc_s",
-    "Parrot_index_i_sc_s",
+    "fetch",
+    "fetch_p_pc_p_pc",
+    "Parrot_fetch_p_pc_p_pc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 1022 */
     /* type PARROT_INLINE_OP, */
-    "index",
-    "index_i_s_sc",
-    "Parrot_index_i_s_sc",
+    "fetch",
+    "fetch_p_p_pc_pc",
+    "Parrot_fetch_p_p_pc_pc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 1023 */
     /* type PARROT_INLINE_OP, */
-    "index",
-    "index_i_sc_sc",
-    "Parrot_index_i_sc_sc",
+    "fetch",
+    "fetch_p_pc_pc_pc",
+    "Parrot_fetch_p_pc_pc_pc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 1024 */
     /* type PARROT_INLINE_OP, */
-    "index",
-    "index_i_s_s_i",
-    "Parrot_index_i_s_s_i",
+    "fetch",
+    "fetch_p_p_i_p",
+    "Parrot_fetch_p_p_i_p",
     /* "",  body */
     0,
     5,
-    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I },
+    { 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 }
   },
   { /* 1025 */
     /* type PARROT_INLINE_OP, */
-    "index",
-    "index_i_sc_s_i",
-    "Parrot_index_i_sc_s_i",
+    "fetch",
+    "fetch_p_pc_i_p",
+    "Parrot_fetch_p_pc_i_p",
     /* "",  body */
     0,
     5,
-    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_I },
+    { 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 }
   },
   { /* 1026 */
     /* type PARROT_INLINE_OP, */
-    "index",
-    "index_i_s_sc_i",
-    "Parrot_index_i_s_sc_i",
+    "fetch",
+    "fetch_p_p_ic_p",
+    "Parrot_fetch_p_p_ic_p",
     /* "",  body */
     0,
     5,
-    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I },
+    { 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 }
   },
   { /* 1027 */
     /* type PARROT_INLINE_OP, */
-    "index",
-    "index_i_sc_sc_i",
-    "Parrot_index_i_sc_sc_i",
+    "fetch",
+    "fetch_p_pc_ic_p",
+    "Parrot_fetch_p_pc_ic_p",
     /* "",  body */
     0,
     5,
-    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_SC, PARROT_ARG_I },
+    { 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 }
   },
   { /* 1028 */
     /* type PARROT_INLINE_OP, */
-    "index",
-    "index_i_s_s_ic",
-    "Parrot_index_i_s_s_ic",
+    "fetch",
+    "fetch_p_p_i_pc",
+    "Parrot_fetch_p_p_i_pc",
     /* "",  body */
     0,
     5,
-    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
+    { 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 }
   },
   { /* 1029 */
     /* type PARROT_INLINE_OP, */
-    "index",
-    "index_i_sc_s_ic",
-    "Parrot_index_i_sc_s_ic",
+    "fetch",
+    "fetch_p_pc_i_pc",
+    "Parrot_fetch_p_pc_i_pc",
     /* "",  body */
     0,
     5,
-    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_S, PARROT_ARG_IC },
+    { 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 }
   },
   { /* 1030 */
     /* type PARROT_INLINE_OP, */
-    "index",
-    "index_i_s_sc_ic",
-    "Parrot_index_i_s_sc_ic",
+    "fetch",
+    "fetch_p_p_ic_pc",
+    "Parrot_fetch_p_p_ic_pc",
     /* "",  body */
     0,
     5,
-    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
+    { 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 }
   },
   { /* 1031 */
     /* type PARROT_INLINE_OP, */
-    "index",
-    "index_i_sc_sc_ic",
-    "Parrot_index_i_sc_sc_ic",
+    "fetch",
+    "fetch_p_pc_ic_pc",
+    "Parrot_fetch_p_pc_ic_pc",
     /* "",  body */
     0,
     5,
-    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_SC, PARROT_ARG_IC },
+    { 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 }
   },
   { /* 1032 */
     /* type PARROT_INLINE_OP, */
-    "sprintf",
-    "sprintf_s_s_p",
-    "Parrot_sprintf_s_s_p",
+    "fetch",
+    "fetch_p_p_s_p",
+    "Parrot_fetch_p_p_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 }
+    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 }
   },
   { /* 1033 */
     /* type PARROT_INLINE_OP, */
-    "sprintf",
-    "sprintf_s_sc_p",
-    "Parrot_sprintf_s_sc_p",
+    "fetch",
+    "fetch_p_pc_s_p",
+    "Parrot_fetch_p_pc_s_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 }
+    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 }
   },
   { /* 1034 */
     /* type PARROT_INLINE_OP, */
-    "sprintf",
-    "sprintf_p_p_p",
-    "Parrot_sprintf_p_p_p",
+    "fetch",
+    "fetch_p_p_sc_p",
+    "Parrot_fetch_p_p_sc_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 }
+    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 }
   },
   { /* 1035 */
     /* type PARROT_INLINE_OP, */
-    "new",
-    "new_s",
-    "Parrot_new_s",
+    "fetch",
+    "fetch_p_pc_sc_p",
+    "Parrot_fetch_p_pc_sc_p",
     /* "",  body */
     0,
-    2,
-    { PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT },
-    { 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 }
   },
   { /* 1036 */
     /* type PARROT_INLINE_OP, */
-    "new",
-    "new_s_i",
-    "Parrot_new_s_i",
+    "fetch",
+    "fetch_p_p_s_pc",
+    "Parrot_fetch_p_p_s_pc",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_S, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 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 }
   },
   { /* 1037 */
     /* type PARROT_INLINE_OP, */
-    "new",
-    "new_s_ic",
-    "Parrot_new_s_ic",
+    "fetch",
+    "fetch_p_pc_s_pc",
+    "Parrot_fetch_p_pc_s_pc",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_S, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 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 }
   },
   { /* 1038 */
     /* type PARROT_INLINE_OP, */
-    "stringinfo",
-    "stringinfo_i_s_i",
-    "Parrot_stringinfo_i_s_i",
+    "fetch",
+    "fetch_p_p_sc_pc",
+    "Parrot_fetch_p_p_sc_pc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 1039 */
     /* type PARROT_INLINE_OP, */
-    "stringinfo",
-    "stringinfo_i_sc_i",
-    "Parrot_stringinfo_i_sc_i",
+    "fetch",
+    "fetch_p_pc_sc_pc",
+    "Parrot_fetch_p_pc_sc_pc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 1040 */
     /* type PARROT_INLINE_OP, */
-    "stringinfo",
-    "stringinfo_i_s_ic",
-    "Parrot_stringinfo_i_s_ic",
+    "vivify",
+    "vivify_p_p_p_p",
+    "Parrot_vivify_p_p_p_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_S, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 1041 */
     /* type PARROT_INLINE_OP, */
-    "stringinfo",
-    "stringinfo_i_sc_ic",
-    "Parrot_stringinfo_i_sc_ic",
+    "vivify",
+    "vivify_p_pc_p_p",
+    "Parrot_vivify_p_pc_p_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_I, PARROT_ARG_SC, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 1042 */
     /* type PARROT_INLINE_OP, */
-    "upcase",
-    "upcase_s_s",
-    "Parrot_upcase_s_s",
+    "vivify",
+    "vivify_p_p_pc_p",
+    "Parrot_vivify_p_p_pc_p",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_S, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 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 }
   },
   { /* 1043 */
     /* type PARROT_INLINE_OP, */
-    "upcase",
-    "upcase_s_sc",
-    "Parrot_upcase_s_sc",
+    "vivify",
+    "vivify_p_pc_pc_p",
+    "Parrot_vivify_p_pc_pc_p",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_S, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 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 }
   },
   { /* 1044 */
     /* type PARROT_INLINE_OP, */
-    "downcase",
-    "downcase_s_s",
-    "Parrot_downcase_s_s",
+    "vivify",
+    "vivify_p_p_p_pc",
+    "Parrot_vivify_p_p_p_pc",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_S, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 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 }
   },
   { /* 1045 */
     /* type PARROT_INLINE_OP, */
-    "downcase",
-    "downcase_s_sc",
-    "Parrot_downcase_s_sc",
+    "vivify",
+    "vivify_p_pc_p_pc",
+    "Parrot_vivify_p_pc_p_pc",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_S, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 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 }
   },
   { /* 1046 */
     /* type PARROT_INLINE_OP, */
-    "titlecase",
-    "titlecase_s_s",
-    "Parrot_titlecase_s_s",
+    "vivify",
+    "vivify_p_p_pc_pc",
+    "Parrot_vivify_p_p_pc_pc",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_S, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 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 }
   },
   { /* 1047 */
     /* type PARROT_INLINE_OP, */
-    "titlecase",
-    "titlecase_s_sc",
-    "Parrot_titlecase_s_sc",
+    "vivify",
+    "vivify_p_pc_pc_pc",
+    "Parrot_vivify_p_pc_pc_pc",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_S, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 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 }
   },
   { /* 1048 */
-    /* type PARROT_FUNCTION_OP, */
-    "join",
-    "join_s_s_p",
-    "Parrot_join_s_s_p",
+    /* type PARROT_INLINE_OP, */
+    "vivify",
+    "vivify_p_p_i_p",
+    "Parrot_vivify_p_p_i_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 }
+    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 }
   },
   { /* 1049 */
-    /* type PARROT_FUNCTION_OP, */
-    "join",
-    "join_s_sc_p",
-    "Parrot_join_s_sc_p",
+    /* type PARROT_INLINE_OP, */
+    "vivify",
+    "vivify_p_pc_i_p",
+    "Parrot_vivify_p_pc_i_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 }
+    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 }
   },
   { /* 1050 */
-    /* type PARROT_FUNCTION_OP, */
-    "split",
-    "split_p_s_s",
-    "Parrot_split_p_s_s",
+    /* type PARROT_INLINE_OP, */
+    "vivify",
+    "vivify_p_p_ic_p",
+    "Parrot_vivify_p_p_ic_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 1051 */
-    /* type PARROT_FUNCTION_OP, */
-    "split",
-    "split_p_sc_s",
-    "Parrot_split_p_sc_s",
+    /* type PARROT_INLINE_OP, */
+    "vivify",
+    "vivify_p_pc_ic_p",
+    "Parrot_vivify_p_pc_ic_p",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 1052 */
-    /* type PARROT_FUNCTION_OP, */
-    "split",
-    "split_p_s_sc",
-    "Parrot_split_p_s_sc",
+    /* type PARROT_INLINE_OP, */
+    "vivify",
+    "vivify_p_p_i_pc",
+    "Parrot_vivify_p_p_i_pc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 1053 */
-    /* type PARROT_FUNCTION_OP, */
-    "split",
-    "split_p_sc_sc",
-    "Parrot_split_p_sc_sc",
+    /* type PARROT_INLINE_OP, */
+    "vivify",
+    "vivify_p_pc_i_pc",
+    "Parrot_vivify_p_pc_i_pc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 1054 */
-    /* type PARROT_FUNCTION_OP, */
-    "charset",
-    "charset_i_s",
-    "Parrot_charset_i_s",
+    /* type PARROT_INLINE_OP, */
+    "vivify",
+    "vivify_p_p_ic_pc",
+    "Parrot_vivify_p_p_ic_pc",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 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 }
   },
   { /* 1055 */
-    /* type PARROT_FUNCTION_OP, */
-    "charset",
-    "charset_i_sc",
-    "Parrot_charset_i_sc",
+    /* type PARROT_INLINE_OP, */
+    "vivify",
+    "vivify_p_pc_ic_pc",
+    "Parrot_vivify_p_pc_ic_pc",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 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 }
   },
   { /* 1056 */
-    /* type PARROT_FUNCTION_OP, */
-    "charsetname",
-    "charsetname_s_i",
-    "Parrot_charsetname_s_i",
+    /* type PARROT_INLINE_OP, */
+    "vivify",
+    "vivify_p_p_s_p",
+    "Parrot_vivify_p_p_s_p",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_S, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 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 }
   },
   { /* 1057 */
-    /* type PARROT_FUNCTION_OP, */
-    "charsetname",
-    "charsetname_s_ic",
-    "Parrot_charsetname_s_ic",
+    /* type PARROT_INLINE_OP, */
+    "vivify",
+    "vivify_p_pc_s_p",
+    "Parrot_vivify_p_pc_s_p",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_S, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 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 }
   },
   { /* 1058 */
-    /* type PARROT_FUNCTION_OP, */
-    "find_charset",
-    "find_charset_i_s",
-    "Parrot_find_charset_i_s",
+    /* type PARROT_INLINE_OP, */
+    "vivify",
+    "vivify_p_p_sc_p",
+    "Parrot_vivify_p_p_sc_p",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 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 }
   },
   { /* 1059 */
-    /* type PARROT_FUNCTION_OP, */
-    "find_charset",
-    "find_charset_i_sc",
-    "Parrot_find_charset_i_sc",
+    /* type PARROT_INLINE_OP, */
+    "vivify",
+    "vivify_p_pc_sc_p",
+    "Parrot_vivify_p_pc_sc_p",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 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 }
   },
   { /* 1060 */
-    /* type PARROT_FUNCTION_OP, */
-    "trans_charset",
-    "trans_charset_s_s_i",
-    "Parrot_trans_charset_s_s_i",
+    /* type PARROT_INLINE_OP, */
+    "vivify",
+    "vivify_p_p_s_pc",
+    "Parrot_vivify_p_p_s_pc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 1061 */
-    /* type PARROT_FUNCTION_OP, */
-    "trans_charset",
-    "trans_charset_s_sc_i",
-    "Parrot_trans_charset_s_sc_i",
+    /* type PARROT_INLINE_OP, */
+    "vivify",
+    "vivify_p_pc_s_pc",
+    "Parrot_vivify_p_pc_s_pc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 1062 */
-    /* type PARROT_FUNCTION_OP, */
-    "trans_charset",
-    "trans_charset_s_s_ic",
-    "Parrot_trans_charset_s_s_ic",
+    /* type PARROT_INLINE_OP, */
+    "vivify",
+    "vivify_p_p_sc_pc",
+    "Parrot_vivify_p_p_sc_pc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 1063 */
-    /* type PARROT_FUNCTION_OP, */
-    "trans_charset",
-    "trans_charset_s_sc_ic",
-    "Parrot_trans_charset_s_sc_ic",
+    /* type PARROT_INLINE_OP, */
+    "vivify",
+    "vivify_p_pc_sc_pc",
+    "Parrot_vivify_p_pc_sc_pc",
     /* "",  body */
     0,
-    4,
-    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
-    { 0, 0, 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 }
   },
   { /* 1064 */
     /* type PARROT_FUNCTION_OP, */
-    "encoding",
-    "encoding_i_s",
-    "Parrot_encoding_i_s",
+    "new",
+    "new_p_s_i",
+    "Parrot_new_p_s_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 1065 */
     /* type PARROT_FUNCTION_OP, */
-    "encoding",
-    "encoding_i_sc",
-    "Parrot_encoding_i_sc",
+    "new",
+    "new_p_sc_i",
+    "Parrot_new_p_sc_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 1066 */
     /* type PARROT_FUNCTION_OP, */
-    "encodingname",
-    "encodingname_s_i",
-    "Parrot_encodingname_s_i",
+    "new",
+    "new_p_s_ic",
+    "Parrot_new_p_s_ic",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_S, PARROT_ARG_I },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_S, PARROT_ARG_IC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 1067 */
     /* type PARROT_FUNCTION_OP, */
-    "encodingname",
-    "encodingname_s_ic",
-    "Parrot_encodingname_s_ic",
+    "new",
+    "new_p_sc_ic",
+    "Parrot_new_p_sc_ic",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_S, PARROT_ARG_IC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_SC, PARROT_ARG_IC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 1068 */
     /* type PARROT_FUNCTION_OP, */
-    "find_encoding",
-    "find_encoding_i_s",
-    "Parrot_find_encoding_i_s",
+    "new",
+    "new_p_p_i",
+    "Parrot_new_p_p_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_S },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 1069 */
     /* type PARROT_FUNCTION_OP, */
-    "find_encoding",
-    "find_encoding_i_sc",
-    "Parrot_find_encoding_i_sc",
+    "new",
+    "new_p_pc_i",
+    "Parrot_new_p_pc_i",
     /* "",  body */
     0,
-    3,
-    { PARROT_ARG_I, PARROT_ARG_SC },
-    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
-    { 0, 0 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_I },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 1070 */
     /* type PARROT_FUNCTION_OP, */
-    "trans_encoding",
-    "trans_encoding_s_s_i",
-    "Parrot_trans_encoding_s_s_i",
+    "new",
+    "new_p_p_ic",
+    "Parrot_new_p_p_ic",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_I },
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
     { 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",
+    "new",
+    "new_p_pc_ic",
+    "Parrot_new_p_pc_ic",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_I },
+    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_IC },
     { 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",
+    "root_new",
+    "root_new_p_p_i",
+    "Parrot_root_new_p_p_i",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_S, PARROT_ARG_S, PARROT_ARG_IC },
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_I },
     { 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",
+    "root_new",
+    "root_new_p_pc_i",
+    "Parrot_root_new_p_pc_i",
     /* "",  body */
     0,
     4,
-    { PARROT_ARG_S, PARROT_ARG_SC, PARROT_ARG_IC },
+    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_I },
     { 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",
+    /* type PARROT_FUNCTION_OP, */
+    "root_new",
+    "root_new_p_p_ic",
+    "Parrot_root_new_p_p_ic",
     /* "",  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 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_P, PARROT_ARG_IC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 1075 */
-    /* type PARROT_INLINE_OP, */
-    "is_cclass",
-    "is_cclass_i_ic_s_i",
-    "Parrot_is_cclass_i_ic_s_i",
+    /* type PARROT_FUNCTION_OP, */
+    "root_new",
+    "root_new_p_pc_ic",
+    "Parrot_root_new_p_pc_ic",
     /* "",  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 }
+    4,
+    { PARROT_ARG_P, PARROT_ARG_PC, PARROT_ARG_IC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN, PARROT_ARGDIR_IN },
+    { 0, 0, 0 }
   },
   { /* 1076 */
-    /* type PARROT_INLINE_OP, */
-    "is_cclass",
-    "is_cclass_i_i_sc_i",
-    "Parrot_is_cclass_i_i_sc_i",
+    /* type PARROT_FUNCTION_OP, */
+    "find_codepoint",
+    "find_codepoint_i_s",
+    "Parrot_find_codepoint_i_s",
     /* "",  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 }
+    3,
+    { PARROT_ARG_I, PARROT_ARG_S },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 1077 */
-    /* type PARROT_INLINE_OP, */
-    "is_cclass",
-    "is_cclass_i_ic_sc_i",
-    "Parrot_is_cclass_i_ic_sc_i",
+    /* type PARROT_FUNCTION_OP, */
+    "find_codepoint",
+    "find_codepoint_i_sc",
+    "Parrot_find_codepoint_i_sc",
     /* "",  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 }
+    3,
+    { PARROT_ARG_I, PARROT_ARG_SC },
+    { PARROT_ARGDIR_OUT, PARROT_ARGDIR_IN },
+    { 0, 0 }
   },
   { /* 1078 */
-    /* type PARROT_INLINE_OP, */
-    "is_cclass",
-    "is_cclass_i_i_s_ic",
-    "Parrot_is_cclass_i_i_s_ic",
+    /* type PARROT_FUNCTION_OP, */
+    "finalize",
+    "finalize_p",
+    "Parrot_finalize_p",
     /* "",  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 }
+    2,
+    { PARROT_ARG_P },
+    { PARROT_ARGDIR_IN },
+    { 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",
+    /* type PARROT_FUNCTION_OP, */
+    "finalize",
+    "finalize_pc",
+    "Parrot_finalize_pc",
     /* "",  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, */
-    "finalize",
-    "finalize_p",
-    "Parrot_finalize_p",
-    /* "",  body */
-    0,
-    2,
-    { PARROT_ARG_P },
-    { PARROT_ARGDIR_IN },
-    { 0 }
-  },
-  { /* 1267 */
-    /* type PARROT_FUNCTION_OP, */
-    "finalize",
-    "finalize_pc",
-    "Parrot_finalize_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);
+    2,
+    { PARROT_ARG_PC },
+    { PARROT_ARGDIR_IN },
+    { 0 }
+  },
 
-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;}
+/*
+** Op Function Definitions:
+*/
 
 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;}
+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_band_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_noop(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;}
+return (opcode_t *)cur_opcode + 1;}
 
 opcode_t *
-Parrot_band_p_p_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_check_events(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 * 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_band_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_check_events__(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 * 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_band_p_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_wrapper__(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 *pc = CUR_OPCODE;
+    DO_OP(pc, interp);return (opcode_t *)pc;
+}
 
 opcode_t *
-Parrot_bands_p_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_load_bytecode_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);
+    Parrot_load_bytecode(interp, SREG(1));
 
-return (opcode_t *)cur_opcode + 3;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_bands_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_load_bytecode_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);
+    Parrot_load_bytecode(interp, CONST(1)->u.string);
 
-return (opcode_t *)cur_opcode + 3;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_bands_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_load_language_s(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);
+    Parrot_load_language(interp, SREG(1));
 
-return (opcode_t *)cur_opcode + 3;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_bands_s_s_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_load_language_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), SREG(3));
+    Parrot_load_language(interp, CONST(1)->u.string);
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 2;}
 
 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;}
+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_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;}
+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_bands_p_p_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    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;}
+    INTVAL return_addr;
+    opcode_t * const dest =cur_opcode + 3;
 
-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);
+    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 (opcode_t *)cur_opcode + 4;}
+    return_addr = PTR2INTVAL(dest);
+    VTABLE_push_integer(interp, PREG(1), return_addr);return (opcode_t *)cur_opcode + IREG(2);
+}
 
 opcode_t *
-Parrot_bands_p_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    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);
+    INTVAL return_addr;
+    opcode_t * const dest =cur_opcode + 3;
 
-return (opcode_t *)cur_opcode + 4;}
+    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_bnot_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_local_return_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = ~ IREG(1);
+    INTVAL return_addr;
+    opcode_t *next;
+    opcode_t * const dest =cur_opcode + 2;
 
-return (opcode_t *)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;
+    }
 
-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_addr = VTABLE_pop_integer(interp, PREG(1));
+    next = INTVAL2PTR(opcode_t *, return_addr);
 
-return (opcode_t *)cur_opcode + 3;}
+    /* 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_bnot_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_jump_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);
-
-return (opcode_t *)cur_opcode + 2;}
+    opcode_t * const loc = INTVAL2PTR(opcode_t *, IREG(1));return (opcode_t *)loc;
+}
 
 opcode_t *
-Parrot_bnot_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_jump_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));
-    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 * const loc = INTVAL2PTR(opcode_t *, cur_opcode[1]);return (opcode_t *)loc;
+}
 
 opcode_t *
-Parrot_bnots_s_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_enternative(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 * const addr = run_native(interp, CUR_OPCODE,
+            interp->code->base.data);return (opcode_t *)addr;
+}
 
 opcode_t *
-Parrot_bnots_s_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_if_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_bitwise_not(interp, CONST(2)->u.string);
+    if (IREG(1) != 0)return (opcode_t *)cur_opcode + cur_opcode[2];
 
 return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_bnots_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_if_n_ic(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);
+    if (!FLOAT_IS_ZERO(NREG(1)))return (opcode_t *)cur_opcode + cur_opcode[2];
 
-return (opcode_t *)cur_opcode + 2;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_bnots_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_if_s_ic(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);
+    if (Parrot_str_boolean(interp, SREG(1)))return (opcode_t *)cur_opcode + cur_opcode[2];
 
 return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_bor_i_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_if_p_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);
+    if (VTABLE_get_bool(interp, PREG(1)))return (opcode_t *)cur_opcode + cur_opcode[2];
 
 return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_bor_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_unless_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];
+    if (IREG(1) == 0)return (opcode_t *)cur_opcode + cur_opcode[2];
 
 return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_bor_p_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_unless_n_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 | IREG(2));
+    if (FLOAT_IS_ZERO(NREG(1)))return (opcode_t *)cur_opcode + cur_opcode[2];
 
 return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_bor_p_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_unless_s_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]);
+    if (!Parrot_str_boolean(interp, SREG(1)))return (opcode_t *)cur_opcode + cur_opcode[2];
 
 return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_bor_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_unless_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 = VTABLE_get_integer(interp, PREG(2));
-    VTABLE_set_integer_native(interp, PREG(1), a | b);
+    if (!VTABLE_get_bool(interp, PREG(1)))return (opcode_t *)cur_opcode + cur_opcode[2];
 
 return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_bor_i_i_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_invokecc_p(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);
+    PMC      * const p     = PREG(1);
+    opcode_t *dest         =cur_opcode + 2;
+    PMC      * const signature = Parrot_pcc_get_signature(interp,
+                                    CURRENT_CONTEXT(interp));
 
-return (opcode_t *)cur_opcode + 4;}
+    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_bor_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_invoke_p_p(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   *dest       =cur_opcode + 3;
+    PMC * const p          = PREG(1);
+    PMC * const signature  = Parrot_pcc_get_signature(interp,
+                                    CURRENT_CONTEXT(interp));
 
-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];
+    if (!PMC_IS_NULL(signature))
+        Parrot_pcc_set_object(interp, signature, NULL);
+    interp->current_cont   = PREG(2);
 
-return (opcode_t *)cur_opcode + 4;}
+    dest = VTABLE_invoke(interp, p, dest);return (opcode_t *)dest;
+}
 
 opcode_t *
-Parrot_bor_p_p_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_yield(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));
+    opcode_t   *dest =cur_opcode + 1;
+    PMC * const p    = Parrot_pcc_get_sub(interp, CURRENT_CONTEXT(interp));
 
-return (opcode_t *)cur_opcode + 4;}
+    VTABLE_increment(interp, p);
+    dest = VTABLE_invoke(interp, p, dest);return (opcode_t *)dest;
+}
 
 opcode_t *
-Parrot_bor_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_tailcall_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));
-    VTABLE_set_integer_native(interp, PREG(1), a | cur_opcode[3]);
+    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);
 
-return (opcode_t *)cur_opcode + 4;}
+    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_bor_p_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_returncc(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;}
+    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_bors_p_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_capture_lex_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_or(interp, a, SREG(2));
-    VTABLE_set_string_native(interp, PREG(1), b);
+    Parrot_capture_lex(interp, PREG(1));
 
-return (opcode_t *)cur_opcode + 3;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_bors_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_newclosure_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 = Parrot_str_bitwise_or(interp, a, CONST(2)->u.string);
-    VTABLE_set_string_native(interp, PREG(1), b);
+    PREG(1) = parrot_new_closure(interp, PREG(2));
 
 return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_bors_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_set_args_pc(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 * 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_bors_s_s_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_get_params_pc(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));
+    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;
 
-return (opcode_t *)cur_opcode + 4;}
+    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_bors_s_sc_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_set_returns_pc(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 * 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;
 
-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);
+    Parrot_pcc_set_signature(interp, CURRENT_CONTEXT(interp), call_sig);
 
-return (opcode_t *)cur_opcode + 4;}
+    argc = VTABLE_elements(interp, signature);return (opcode_t *)cur_opcode + argc + 2;
+}
 
 opcode_t *
-Parrot_bors_p_p_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_get_results_pc(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);
+    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);
 
-return (opcode_t *)cur_opcode + 4;}
+    INTVAL argc;
 
-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);
+    Parrot_pcc_fill_params_from_op(interp, call_object, signature, raw_params,
+            PARROT_ERRORS_RESULT_COUNT_FLAG);
 
-return (opcode_t *)cur_opcode + 4;}
+    argc = VTABLE_elements(interp, signature);return (opcode_t *)cur_opcode + argc + 2;
+}
 
 opcode_t *
-Parrot_bors_p_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    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;}
+    PMC * const ctx = CURRENT_CONTEXT(interp);
 
-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));
+    VTABLE_set_attr_str(interp, ctx,
+            Parrot_str_new_constant(interp, "return_flags"),
+            PREG(1));
 
-return (opcode_t *)cur_opcode + 3;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_shl_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = bit_shift_left(IREG(1), cur_opcode[2]);
+    PMC * const ctx = CURRENT_CONTEXT(interp);
 
-return (opcode_t *)cur_opcode + 3;}
+    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_shl_p_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_result_info_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 = bit_shift_left(a, IREG(2));
-    VTABLE_set_integer_native(interp, PREG(1), b);
+    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"));
 
-return (opcode_t *)cur_opcode + 3;}
+    /* 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_shl_p_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    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);
+    IREG(1) = PTR2INTVAL(CUR_OPCODE + cur_opcode[2]);
 
 return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_shl_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    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);
+    VTABLE_set_pointer(interp, PREG(1), (CUR_OPCODE + cur_opcode[2]));
 
 return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_shl_i_i_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = bit_shift_left(IREG(2), IREG(3));
+    VTABLE_set_pointer(interp, PREG(1), (void*)IREG(2));
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_shl_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = bit_shift_left(cur_opcode[2], IREG(3));
+    void *ptr = VTABLE_get_pointer(interp, PREG(2));
+    IREG(1)        = (INTVAL)ptr;
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_shl_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_schedule_p(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]);
+    Parrot_cx_schedule_task(interp, PREG(1));
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_shl_p_p_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_addhandler_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 = bit_shift_left(a, IREG(3));
-    VTABLE_set_integer_native(interp, PREG(1), b);
+    Parrot_cx_add_handler(interp, PREG(1));
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_shl_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_push_eh_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);
+    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 + 4;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_shl_p_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_push_eh_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);
+    Parrot_cx_add_handler_local(interp, PREG(1));
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_shr_i_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_pop_eh(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);
+    Parrot_cx_delete_handler_local(interp,
+            Parrot_str_new_constant(interp, "exception"));
 
-return (opcode_t *)cur_opcode + 3;}
+return (opcode_t *)cur_opcode + 1;}
 
 opcode_t *
-Parrot_shr_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_throw_p(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);
+    PMC * except = PREG(1);
+    opcode_t *dest;
+    opcode_t * const ret    =cur_opcode + 2;
+    PMC      * const resume = pmc_new(interp, enum_class_Continuation);
 
-return (opcode_t *)cur_opcode + 3;}
+    VTABLE_set_pointer(interp, resume, ret);
 
-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);
+    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"));
 
-return (opcode_t *)cur_opcode + 3;}
+    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_shr_p_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_throw_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 = bit_shift_left(a, -cur_opcode[2]);
-    VTABLE_set_integer_native(interp, PREG(1), b);
-
-return (opcode_t *)cur_opcode + 3;}
+    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_shr_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_rethrow_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 * 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_shr_i_i_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_count_eh_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);
+    IREG(1) = Parrot_cx_count_handlers_local(interp,
+            Parrot_str_new_constant(interp, "exception"));
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_shr_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_die_s(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        *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));
 
-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);
+    VTABLE_set_pointer(interp, resume, ret);
 
-return (opcode_t *)cur_opcode + 4;}
+    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_shr_p_p_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_die_sc(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        *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);
 
-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);
+    VTABLE_set_pointer(interp, resume, ret);
 
-return (opcode_t *)cur_opcode + 4;}
+    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_shr_p_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_die_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        *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);
 
-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;
+    VTABLE_set_pointer(interp, resume, ret);
 
-return (opcode_t *)cur_opcode + 3;}
+    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_lsr_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_die_pc(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        *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);
 
-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);
+    VTABLE_set_pointer(interp, resume, ret);
 
-return (opcode_t *)cur_opcode + 3;}
+    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_lsr_p_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_die_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)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;}
+    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_lsr_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_die_ic_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 = (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;}
+    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_lsr_i_i_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_die_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) >> IREG(3));
-
-return (opcode_t *)cur_opcode + 4;}
+    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_lsr_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_die_ic_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)cur_opcode[2] >> IREG(3));
-
-return (opcode_t *)cur_opcode + 4;}
+    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_lsr_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_exit_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) >> cur_opcode[3]);
-
-return (opcode_t *)cur_opcode + 4;}
+    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);
 
-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);
+    VTABLE_set_pointer(interp, resume, ret);
 
-return (opcode_t *)cur_opcode + 4;}
+    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_lsr_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_exit_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);
+    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);
 
-return (opcode_t *)cur_opcode + 4;}
+    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_lsr_p_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_debug_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)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;}
+    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_rot_i_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_debug_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;}
+    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_rot_i_ic_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_bounds_i(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;}
+    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_rot_i_i_ic_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_bounds_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;}
+    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_bxor_i_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_profile_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;}
+    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_bxor_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_profile_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;}
+    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_bxor_p_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_trace_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;}
+    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_bxor_p_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_trace_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;}
+    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_bxor_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_gc_debug_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 = (UINTVAL)VTABLE_get_integer(interp, PREG(2));
-    const UINTVAL c = a ^ b;
-    VTABLE_set_integer_native(interp, PREG(1), (INTVAL)c);
+    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 + 3;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_bxor_i_i_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_gc_debug_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(3);
+    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 + 4;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_bxor_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+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) = cur_opcode[2] ^ IREG(3);
+    IREG(1) = interpinfo(interp, IREG(2));
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_bxor_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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) = IREG(2) ^ cur_opcode[3];
+    IREG(1) = interpinfo(interp, cur_opcode[2]);
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_bxor_p_p_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_interpinfo_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);
+    PREG(1) = interpinfo_p(interp, IREG(2));
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_bxor_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_interpinfo_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);
+    PREG(1) = interpinfo_p(interp, cur_opcode[2]);
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_bxor_p_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_interpinfo_s_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)VTABLE_get_integer(interp, PREG(3));
-    const UINTVAL c = a ^ b;
-    VTABLE_set_integer_native(interp, PREG(1), (INTVAL)c);
+    STRING * const s = interpinfo_s(interp, IREG(2));
+    SREG(1) = s;
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_bxors_p_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+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 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);
+    STRING * const s = interpinfo_s(interp, cur_opcode[2]);
+    SREG(1) = s;
 
 return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_bxors_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_warningson_i(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);
+    PARROT_WARNINGS_on(interp, IREG(1));
 
-return (opcode_t *)cur_opcode + 3;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_bxors_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_warningson_ic(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);
+    PARROT_WARNINGS_on(interp, cur_opcode[1]);
 
-return (opcode_t *)cur_opcode + 3;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_bxors_s_s_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_warningsoff_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_bitwise_xor(interp, SREG(2), SREG(3));
+    PARROT_WARNINGS_off(interp, IREG(1));
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_bxors_s_sc_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_warningsoff_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_bitwise_xor(interp, CONST(2)->u.string, SREG(3));
+    PARROT_WARNINGS_off(interp, cur_opcode[1]);
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_bxors_s_s_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_errorson_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_bitwise_xor(interp, SREG(2), CONST(3)->u.string);
+    PARROT_ERRORS_on(interp, IREG(1));
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_bxors_p_p_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_errorson_ic(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);
+    PARROT_ERRORS_on(interp, cur_opcode[1]);
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_bxors_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_errorsoff_i(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);
+    PARROT_ERRORS_off(interp, IREG(1));
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_bxors_p_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_errorsoff_ic(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);
+    PARROT_ERRORS_off(interp, cur_opcode[1]);
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_eq_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_runinterp_p_i(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];
-    }
+    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 + 4;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_eq_ic_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_runinterp_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[1] == IREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
-    }
+    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 + 4;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_eq_i_ic_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_getinterp_p(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];
-    }
+    PREG(1) = VTABLE_get_pmc_keyed_int(interp, interp->iglobals,
+           IGLOBALS_INTERPRETER);
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_eq_n_n_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_sweep_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];
-    }
+    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 + 4;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_eq_nc_n_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_collect(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];
-    }
+    Parrot_gc_compact_memory_pool(interp);
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 1;}
 
 opcode_t *
-Parrot_eq_n_nc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_sweepoff(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];
-    }
+    Parrot_block_GC_mark(interp);
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 1;}
 
 opcode_t *
-Parrot_eq_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_sweepon(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];
-    }
+    Parrot_unblock_GC_mark(interp);
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 1;}
 
 opcode_t *
-Parrot_eq_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_collectoff(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];
-    }
+    Parrot_block_GC_sweep(interp);
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 1;}
 
 opcode_t *
-Parrot_eq_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_collecton(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];
-    }
+    Parrot_unblock_GC_sweep(interp);
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 1;}
 
 opcode_t *
-Parrot_eq_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_needs_destroy_p(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];
-    }
+    Parrot_gc_pmc_needs_early_collection(interp, PREG(1));
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_eq_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_loadlib_p_s(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);
+    PREG(1) = Parrot_load_lib(interp, SREG(2), NULL);
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_eq_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_loadlib_p_sc(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]);
+    PREG(1) = Parrot_load_lib(interp, CONST(2)->u.string, NULL);
 
-    if (VTABLE_is_equal(interp, PREG(1), temp)) {
-        Parrot_pmc_free_temporary(interp, temp);return (opcode_t *)cur_opcode + cur_opcode[3];
-    }
+return (opcode_t *)cur_opcode + 3;}
 
-    Parrot_pmc_free_temporary(interp, temp);
+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_eq_p_n_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    /*
-     * 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];
-    }
+    PREG(1) = Parrot_load_lib(interp, CONST(2)->u.string, PREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_eq_p_nc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    /*
-     * 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];
-    }
+    PREG(1) = Parrot_load_lib(interp, SREG(2), CONST(3)->u.key);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_eq_p_s_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    if (Parrot_str_equal(interp, VTABLE_get_string(interp, PREG(1)), SREG(2))) {return (opcode_t *)cur_opcode + cur_opcode[3];
-    }
+    PREG(1) = Parrot_load_lib(interp, CONST(2)->u.string, CONST(3)->u.key);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_eq_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    if (Parrot_str_equal(interp, VTABLE_get_string(interp, PREG(1)), CONST(2)->u.string)) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    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;
     }
 
-return (opcode_t *)cur_opcode + 4;}
+    ptr = Parrot_dlsym(dl_handle, name);
+    p = D2FPTR(ptr);
 
-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];
+    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 + 4;}
+return (opcode_t *)cur_opcode + 5;}
 
 opcode_t *
-Parrot_eq_num_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    if (VTABLE_is_equal_num(interp, PREG(1), PREG(2))) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    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;
     }
 
-return (opcode_t *)cur_opcode + 4;}
+    ptr = Parrot_dlsym(dl_handle, name);
+    p = D2FPTR(ptr);
 
-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];
+    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 + 4;}
+return (opcode_t *)cur_opcode + 5;}
 
 opcode_t *
-Parrot_eq_addr_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    if (CONST(1)->u.string == SREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    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;
     }
 
-return (opcode_t *)cur_opcode + 4;}
+    ptr = Parrot_dlsym(dl_handle, name);
+    p = D2FPTR(ptr);
 
-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];
+    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 + 4;}
+return (opcode_t *)cur_opcode + 5;}
 
 opcode_t *
-Parrot_eq_addr_sc_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    if (CONST(1)->u.string == CONST(2)->u.string) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    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;
     }
 
-return (opcode_t *)cur_opcode + 4;}
+    ptr = Parrot_dlsym(dl_handle, name);
+    p = D2FPTR(ptr);
 
-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];
+    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 + 4;}
+return (opcode_t *)cur_opcode + 5;}
 
 opcode_t *
-Parrot_ne_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    if (IREG(1) != IREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    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;
     }
 
-return (opcode_t *)cur_opcode + 4;}
+    p = Parrot_dlsym(dl_handle, name);
 
-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];
+    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_ne_i_ic_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    if (IREG(1) != cur_opcode[2]) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    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;
     }
 
-return (opcode_t *)cur_opcode + 4;}
+    p = Parrot_dlsym(dl_handle, name);
 
-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];
+    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_ne_nc_n_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_compreg_s_p(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];
-    }
+    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 + 4;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_ne_n_nc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_compreg_sc_p(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];
-    }
+    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 + 4;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_ne_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_compreg_p_s(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];
-    }
+    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 + 4;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_ne_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_compreg_p_sc(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];
-    }
+    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 + 4;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_ne_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    if (Parrot_str_not_equal(interp, SREG(1), CONST(2)->u.string)) {return (opcode_t *)cur_opcode + cur_opcode[3];
-    }
+    PREG(1) = Parrot_make_cb(interp, PREG(2), PREG(3), SREG(4));
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 5;}
 
 opcode_t *
-Parrot_ne_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    if (!VTABLE_is_equal(interp, PREG(1), PREG(2))) {return (opcode_t *)cur_opcode + cur_opcode[3];
-    }
+    PREG(1) = Parrot_make_cb(interp, PREG(2), PREG(3), CONST(4)->u.string);
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 5;}
 
 opcode_t *
-Parrot_ne_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_annotations_p(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];
+    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);
     }
 
-    Parrot_pmc_free_temporary(interp, temp);
-
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_ne_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_annotations_p_s(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];
+    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;
     }
 
-    Parrot_pmc_free_temporary(interp, temp);
-
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_ne_p_n_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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 (VTABLE_get_number(interp, PREG(1)) != NREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    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 + 4;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_ne_p_nc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_band_i_i(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];
-    }
+    IREG(1) &= IREG(2);
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_ne_p_s_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_band_i_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];
-    }
+    IREG(1) &= cur_opcode[2];
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_ne_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    if (Parrot_str_not_equal(interp, VTABLE_get_string(interp, PREG(1)), CONST(2)->u.string)) {return (opcode_t *)cur_opcode + cur_opcode[3];
-    }
+    IREG(1) = IREG(2) & IREG(3);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_ne_str_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    if (VTABLE_cmp_string(interp, PREG(1), PREG(2)) != 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
-    }
+    IREG(1) = cur_opcode[2] & IREG(3);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_ne_num_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    if (VTABLE_cmp_num(interp, PREG(1), PREG(2)) != 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
-    }
+    IREG(1) = IREG(2) & cur_opcode[3];
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_ne_addr_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_bor_i_i(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];
-    }
+    IREG(1) |= IREG(2);
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_ne_addr_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_bor_i_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];
-    }
+    IREG(1) |= cur_opcode[2];
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_ne_addr_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    if (SREG(1) != CONST(2)->u.string) {return (opcode_t *)cur_opcode + cur_opcode[3];
-    }
+    IREG(1) = IREG(2) | IREG(3);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_ne_addr_sc_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    if (CONST(1)->u.string != CONST(2)->u.string) {return (opcode_t *)cur_opcode + cur_opcode[3];
-    }
+    IREG(1) = cur_opcode[2] | IREG(3);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_ne_addr_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    if (PREG(1) != PREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
-    }
+    IREG(1) = IREG(2) | cur_opcode[3];
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_lt_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_shl_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) < IREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
-    }
+    IREG(1) = bit_shift_left(IREG(1), IREG(2));
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_lt_ic_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_shl_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];
-    }
+    IREG(1) = bit_shift_left(IREG(1), cur_opcode[2]);
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_lt_i_ic_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    if (IREG(1) < cur_opcode[2]) {return (opcode_t *)cur_opcode + cur_opcode[3];
-    }
+    IREG(1) = bit_shift_left(IREG(2), IREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_lt_n_n_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    if (NREG(1) < NREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
-    }
+    IREG(1) = bit_shift_left(cur_opcode[2], IREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_lt_nc_n_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    if (CONST(1)->u.number < NREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
-    }
+    IREG(1) = bit_shift_left(IREG(2), cur_opcode[3]);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_lt_n_nc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_shr_i_i(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];
-    }
+    const INTVAL signed_shift = -IREG(2);
+    IREG(1) = bit_shift_left(IREG(1), signed_shift);
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_lt_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_shr_i_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];
-    }
+    const INTVAL signed_shift = -cur_opcode[2];
+    IREG(1) = bit_shift_left(IREG(1), signed_shift);
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_lt_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    if (Parrot_str_compare(interp, CONST(1)->u.string, SREG(2)) < 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
-    }
+    const INTVAL signed_shift = -IREG(3);
+    IREG(1) = bit_shift_left(IREG(2), signed_shift);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_lt_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    if (Parrot_str_compare(interp, SREG(1), CONST(2)->u.string) < 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
-    }
+    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_lt_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    if (VTABLE_cmp(interp, PREG(1), PREG(2)) < 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
-    }
+    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_lt_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_lsr_i_i(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));
+    const UINTVAL a = (UINTVAL)IREG(1);
+    const UINTVAL b = a >> IREG(2);
+    IREG(1) = (INTVAL)b;
 
-    if (VTABLE_cmp(interp, PREG(1), temp) < 0) {
-        Parrot_pmc_free_temporary(interp, temp);return (opcode_t *)cur_opcode + cur_opcode[3];
-    }
+return (opcode_t *)cur_opcode + 3;}
 
-    Parrot_pmc_free_temporary(interp, temp);
+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 + 4;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_lt_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    PMC * const temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
-    VTABLE_set_integer_native(interp, temp, cur_opcode[2]);
+    IREG(1) = (INTVAL)((UINTVAL)IREG(2) >> IREG(3));
 
-    if (VTABLE_cmp(interp, PREG(1), temp) < 0) {
-        Parrot_pmc_free_temporary(interp, temp);return (opcode_t *)cur_opcode + cur_opcode[3];
-    }
+return (opcode_t *)cur_opcode + 4;}
 
-    Parrot_pmc_free_temporary(interp, temp);
+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_lt_p_n_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    if (VTABLE_get_number(interp, PREG(1)) < NREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
-    }
+    IREG(1) = (INTVAL)((UINTVAL)IREG(2) >> cur_opcode[3]);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_lt_p_nc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_bxor_i_i(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];
-    }
+    IREG(1) ^= IREG(2);
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_lt_p_s_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_bxor_i_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];
-    }
+    IREG(1) ^= cur_opcode[2];
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_lt_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    if (Parrot_str_compare(interp, VTABLE_get_string(interp, PREG(1)), CONST(2)->u.string) < 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
-    }
+    IREG(1) = IREG(2) ^ IREG(3);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_lt_str_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    if (VTABLE_cmp_string(interp, PREG(1), PREG(2)) < 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
-    }
+    IREG(1) = cur_opcode[2] ^ IREG(3);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_lt_num_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    if (VTABLE_cmp_num(interp, PREG(1), PREG(2)) < 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
-    }
+    IREG(1) = IREG(2) ^ cur_opcode[3];
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_le_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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];
+    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)  {
+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];
+    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)  {
+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];
+    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)  {
+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];
+    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)  {
+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];
+    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)  {
+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];
+    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)  {
+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_compare(interp, SREG(1), SREG(2)) <= 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    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_le_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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_compare(interp, CONST(1)->u.string, SREG(2)) <= 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    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_le_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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_compare(interp, SREG(1), CONST(2)->u.string) <= 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    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_le_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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_cmp(interp, PREG(1), PREG(2)) <= 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    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_le_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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_cmp(interp, PREG(1), temp) <= 0) {
+    if (VTABLE_is_equal(interp, PREG(1), temp)) {
         Parrot_pmc_free_temporary(interp, temp);return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
@@ -19345,12 +15667,12 @@
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_le_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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_cmp(interp, PREG(1), temp) <= 0) {
+    if (VTABLE_is_equal(interp, PREG(1), temp)) {
         Parrot_pmc_free_temporary(interp, temp);return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
@@ -19359,152 +15681,192 @@
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_le_p_n_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    if (VTABLE_get_number(interp, PREG(1)) <= NREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    /*
+     * 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_le_p_nc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    if (VTABLE_get_number(interp, PREG(1)) <= CONST(2)->u.number) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    /*
+     * 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_le_p_s_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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_compare(interp, VTABLE_get_string(interp, PREG(1)), SREG(2)) <= 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    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_le_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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_compare(interp, VTABLE_get_string(interp, PREG(1)), CONST(2)->u.string) <= 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    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_le_str_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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_cmp_string(interp, PREG(1), PREG(2)) <= 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    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_le_num_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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_cmp_num(interp, PREG(1), PREG(2)) <= 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    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_gt_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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 (VTABLE_cmp(interp, PREG(1), PREG(2)) > 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (SREG(1) == SREG(2)) {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)  {
+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);
-    PMC * const temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
-    VTABLE_set_integer_native(interp, temp, IREG(2));
+    if (CONST(1)->u.string == SREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    }
 
-    if (VTABLE_cmp(interp, PREG(1), temp) > 0) {
-        Parrot_pmc_free_temporary(interp, temp);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];
     }
 
-    Parrot_pmc_free_temporary(interp, temp);
+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_gt_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    PMC * const temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
-    VTABLE_set_integer_native(interp, temp, cur_opcode[2]);
+    if (PREG(1) == PREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    }
 
-    if (VTABLE_cmp(interp, PREG(1), temp) > 0) {
-        Parrot_pmc_free_temporary(interp, temp);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];
     }
 
-    Parrot_pmc_free_temporary(interp, temp);
+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_gt_p_n_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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 (VTABLE_get_number(interp, PREG(1)) > NREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (IREG(1) != cur_opcode[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)  {
+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 (VTABLE_get_number(interp, PREG(1)) > CONST(2)->u.number) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (NREG(1) != NREG(2)) {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)  {
+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 (Parrot_str_compare(interp, VTABLE_get_string(interp, PREG(1)), SREG(2)) > 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (CONST(1)->u.number != NREG(2)) {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)  {
+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 (Parrot_str_compare(interp, VTABLE_get_string(interp, PREG(1)), CONST(2)->u.string) > 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (NREG(1) != CONST(2)->u.number) {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)  {
+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 (VTABLE_cmp_string(interp, PREG(1), PREG(2)) > 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    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_gt_num_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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 (VTABLE_cmp_num(interp, PREG(1), PREG(2)) > 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    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_ge_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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 (VTABLE_cmp(interp, PREG(1), PREG(2)) >= 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    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_ge_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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_cmp(interp, PREG(1), temp) >= 0) {
+    if (!VTABLE_is_equal(interp, PREG(1), temp)) {
         Parrot_pmc_free_temporary(interp, temp);return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
@@ -19513,12 +15875,12 @@
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_ge_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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_cmp(interp, PREG(1), temp) >= 0) {
+    if (!VTABLE_is_equal(interp, PREG(1), temp)) {
         Parrot_pmc_free_temporary(interp, temp);return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
@@ -19527,1584 +15889,1524 @@
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_ge_p_n_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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];
+    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)  {
+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];
+    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)  {
+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_compare(interp, VTABLE_get_string(interp, PREG(1)), SREG(2)) >= 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    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_ge_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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_compare(interp, VTABLE_get_string(interp, PREG(1)), CONST(2)->u.string) >= 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    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_ge_str_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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];
+    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)  {
+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];
+    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)  {
+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 (PMC_IS_NULL(PREG(1))) {return (opcode_t *)cur_opcode + cur_opcode[2];
+    if (SREG(1) != SREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
-return (opcode_t *)cur_opcode + 3;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_if_null_s_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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 (STRING_IS_NULL(SREG(1))) {return (opcode_t *)cur_opcode + cur_opcode[2];
+    if (CONST(1)->u.string != SREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
-return (opcode_t *)cur_opcode + 3;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_unless_null_p_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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 (!PMC_IS_NULL(PREG(1))) {return (opcode_t *)cur_opcode + cur_opcode[2];
+    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 + 3;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_unless_null_s_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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 (!STRING_IS_NULL(SREG(1))) {return (opcode_t *)cur_opcode + cur_opcode[2];
+    if (PREG(1) != PREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
-return (opcode_t *)cur_opcode + 3;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_cmp_i_i_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = IREG(2) < IREG(3) ? -1 :
-         IREG(2) > IREG(3) ? +1 :
-         0;
+    if (IREG(1) < IREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    }
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_cmp_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = cur_opcode[2] < IREG(3) ? -1 :
-         cur_opcode[2] > IREG(3) ? +1 :
-         0;
+    if (cur_opcode[1] < IREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    }
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_cmp_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = IREG(2) < cur_opcode[3] ? -1 :
-         IREG(2) > cur_opcode[3] ? +1 :
-         0;
+    if (IREG(1) < cur_opcode[2]) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    }
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_cmp_i_n_n(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = NREG(2) < NREG(3) ? -1 :
-         NREG(2) > NREG(3) ? +1 :
-         0;
+    if (NREG(1) < NREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    }
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_cmp_i_nc_n(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = CONST(2)->u.number < NREG(3) ? -1 :
-         CONST(2)->u.number > NREG(3) ? +1 :
-         0;
+    if (CONST(1)->u.number < NREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    }
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_cmp_i_n_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = NREG(2) < CONST(3)->u.number ? -1 :
-         NREG(2) > CONST(3)->u.number ? +1 :
-         0;
+    if (NREG(1) < CONST(2)->u.number) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    }
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_cmp_i_s_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = Parrot_str_compare(interp, SREG(2), SREG(3));
+    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_cmp_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = Parrot_str_compare(interp, CONST(2)->u.string, SREG(3));
+    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_cmp_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = Parrot_str_compare(interp, SREG(2), CONST(3)->u.string);
+    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_cmp_i_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = VTABLE_cmp(interp, PREG(2), PREG(3));
+    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_cmp_i_p_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    const INTVAL l = VTABLE_get_integer(interp, PREG(2));
-    IREG(1) = l < IREG(3) ? -1 :
-         l > IREG(3) ? +1 :
-         0;
+    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_cmp_i_p_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    const INTVAL l = VTABLE_get_integer(interp, PREG(2));
-    IREG(1) = l < cur_opcode[3] ? -1 :
-         l > cur_opcode[3] ? +1 :
-         0;
+    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_cmp_i_p_n(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    const FLOATVAL l = VTABLE_get_number(interp, PREG(2));
-    IREG(1) = l < NREG(3) ? -1 :
-         l > NREG(3) ? +1 :
-         0;
+    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_cmp_i_p_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    const FLOATVAL l = VTABLE_get_number(interp, PREG(2));
-    IREG(1) = l < CONST(3)->u.number ? -1 :
-         l > CONST(3)->u.number ? +1 :
-         0;
+    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_cmp_i_p_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    STRING* const l = VTABLE_get_string(interp, PREG(2));
-    IREG(1) = Parrot_str_compare(interp, l, SREG(3));
+    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_cmp_i_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    STRING* const l = VTABLE_get_string(interp, PREG(2));
-    IREG(1) = Parrot_str_compare(interp, l, CONST(3)->u.string);
+    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_cmp_str_i_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = VTABLE_cmp_string(interp, PREG(2), PREG(3));
+    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_cmp_num_i_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = VTABLE_cmp_num(interp, PREG(2), PREG(3));
+    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_cmp_pmc_p_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    PREG(1) = VTABLE_cmp_pmc(interp, PREG(2), PREG(3));
+    if (IREG(1) <= IREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    }
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_issame_i_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+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 (PREG(2) == PREG(3))
-        IREG(1) = 1;
-    else
-        IREG(1) = VTABLE_is_same(interp, PREG(2), PREG(3));
+    if (cur_opcode[1] <= IREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    }
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_issame_i_s_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = SREG(2) == SREG(3);
+    if (IREG(1) <= cur_opcode[2]) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    }
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_issame_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = CONST(2)->u.string == SREG(3);
+    if (NREG(1) <= NREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    }
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_issame_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = SREG(2) == CONST(3)->u.string;
+    if (CONST(1)->u.number <= NREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    }
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_issame_i_sc_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = CONST(2)->u.string == CONST(3)->u.string;
+    if (NREG(1) <= CONST(2)->u.number) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    }
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_isntsame_i_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+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 (PREG(2) == PREG(3))
-        IREG(1) = 0;
-    else
-        IREG(1) = !VTABLE_is_same(interp, PREG(2), PREG(3));
+    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_isntsame_i_s_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = SREG(2) != SREG(3);
+    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_isntsame_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = CONST(2)->u.string != SREG(3);
+    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_isntsame_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = SREG(2) != CONST(3)->u.string;
+    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_isntsame_i_sc_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = CONST(2)->u.string != CONST(3)->u.string;
+    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_istrue_i_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = VTABLE_get_bool(interp, PREG(2));
+    PMC * const temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
+    VTABLE_set_integer_native(interp, temp, cur_opcode[2]);
 
-return (opcode_t *)cur_opcode + 3;}
+    if (VTABLE_cmp(interp, PREG(1), temp) <= 0) {
+        Parrot_pmc_free_temporary(interp, temp);return (opcode_t *)cur_opcode + 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));
+    Parrot_pmc_free_temporary(interp, temp);
 
-return (opcode_t *)cur_opcode + 3;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_isnull_i_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = PMC_IS_NULL(PREG(2));
+    if (VTABLE_get_number(interp, PREG(1)) <= NREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    }
 
-return (opcode_t *)cur_opcode + 3;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_isnull_i_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = PMC_IS_NULL(CONST(2)->u.key);
+    if (VTABLE_get_number(interp, PREG(1)) <= CONST(2)->u.number) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    }
 
-return (opcode_t *)cur_opcode + 3;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_isnull_i_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = STRING_IS_NULL(SREG(2));
+    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 + 3;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_isnull_i_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = STRING_IS_NULL(CONST(2)->u.string);
+    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 + 3;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_isgt_i_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = (VTABLE_cmp(interp, PREG(2), PREG(3)) > 0);
+    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_isge_i_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = (VTABLE_cmp(interp, PREG(2), PREG(3)) >= 0);
+    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_isle_i_i_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = IREG(2) <= IREG(3);
+    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_isle_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = cur_opcode[2] <= IREG(3);
+    PMC * const temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
+    VTABLE_set_integer_native(interp, temp, IREG(2));
 
-return (opcode_t *)cur_opcode + 4;}
+    if (VTABLE_cmp(interp, PREG(1), temp) > 0) {
+        Parrot_pmc_free_temporary(interp, temp);return (opcode_t *)cur_opcode + cur_opcode[3];
+    }
 
-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];
+    Parrot_pmc_free_temporary(interp, temp);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_isle_i_n_n(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = NREG(2) <= NREG(3);
+    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_isle_i_nc_n(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = CONST(2)->u.number <= NREG(3);
+    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_isle_i_n_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = NREG(2) <= CONST(3)->u.number;
+    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_isle_i_s_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = Parrot_str_compare(interp, SREG(2), SREG(3)) <= 0;
+    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_isle_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = Parrot_str_compare(interp, CONST(2)->u.string, SREG(3)) <= 0;
+    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_isle_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = Parrot_str_compare(interp, SREG(2), CONST(3)->u.string) <= 0;
+    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_isle_i_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = (VTABLE_cmp(interp, PREG(2), PREG(3)) <= 0);
+    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_islt_i_i_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = (IREG(2) < IREG(3)) ? 1 : 0;
+    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_islt_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = (cur_opcode[2] < IREG(3)) ? 1 : 0;
+    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_islt_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = (IREG(2) < cur_opcode[3]) ? 1 : 0;
+    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_islt_i_n_n(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = NREG(2) < NREG(3);
+    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_islt_i_nc_n(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = CONST(2)->u.number < NREG(3);
+    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_islt_i_n_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = NREG(2) < CONST(3)->u.number;
+    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_islt_i_s_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = Parrot_str_compare(interp, SREG(2), SREG(3)) < 0;
+    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_islt_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = Parrot_str_compare(interp, CONST(2)->u.string, SREG(3)) < 0;
+    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_islt_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = Parrot_str_compare(interp, SREG(2), CONST(3)->u.string) < 0;
+    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_islt_i_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = (VTABLE_cmp(interp, PREG(2), PREG(3)) < 0);
+    if (PMC_IS_NULL(PREG(1))) {return (opcode_t *)cur_opcode + cur_opcode[2];
+    }
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_iseq_i_i_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = (IREG(2) == IREG(3)) ? 1 : 0;
+    if (STRING_IS_NULL(SREG(1))) {return (opcode_t *)cur_opcode + cur_opcode[2];
+    }
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_iseq_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = (cur_opcode[2] == IREG(3)) ? 1 : 0;
+    if (!PMC_IS_NULL(PREG(1))) {return (opcode_t *)cur_opcode + cur_opcode[2];
+    }
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_iseq_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = (IREG(2) == cur_opcode[3]) ? 1 : 0;
+    if (!STRING_IS_NULL(SREG(1))) {return (opcode_t *)cur_opcode + cur_opcode[2];
+    }
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_iseq_i_n_n(opcode_t *cur_opcode, PARROT_INTERP)  {
+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) = NREG(2) == NREG(3);
+    IREG(1) = IREG(2) < IREG(3) ? -1 :
+         IREG(2) > IREG(3) ? +1 :
+         0;
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_iseq_i_nc_n(opcode_t *cur_opcode, PARROT_INTERP)  {
+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) = CONST(2)->u.number == NREG(3);
+    IREG(1) = cur_opcode[2] < IREG(3) ? -1 :
+         cur_opcode[2] > IREG(3) ? +1 :
+         0;
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_iseq_i_n_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
+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) = NREG(2) == CONST(3)->u.number;
+    IREG(1) = IREG(2) < cur_opcode[3] ? -1 :
+         IREG(2) > cur_opcode[3] ? +1 :
+         0;
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_iseq_i_s_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+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) = (Parrot_str_equal(interp, SREG(2), SREG(3)) ? 1 : 0);
+    IREG(1) = NREG(2) < NREG(3) ? -1 :
+         NREG(2) > NREG(3) ? +1 :
+         0;
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_iseq_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+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) = (Parrot_str_equal(interp, CONST(2)->u.string, SREG(3)) ? 1 : 0);
+    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_iseq_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
+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) = (Parrot_str_equal(interp, SREG(2), CONST(3)->u.string) ? 1 : 0);
+    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_iseq_i_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    if (&PREG(2) == &PREG(3))
-        IREG(1) = 1;
-    else
-        IREG(1) = VTABLE_is_equal(interp, PREG(2), PREG(3));
+    IREG(1) = Parrot_str_compare(interp, SREG(2), SREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_isne_i_i_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+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) = (IREG(2) == IREG(3)) ? 0 : 1;
+    IREG(1) = Parrot_str_compare(interp, CONST(2)->u.string, SREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_isne_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+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) = (cur_opcode[2] == IREG(3)) ? 0 : 1;
+    IREG(1) = Parrot_str_compare(interp, SREG(2), CONST(3)->u.string);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_isne_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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) = (IREG(2) == cur_opcode[3]) ? 0 : 1;
+    IREG(1) = VTABLE_cmp(interp, PREG(2), PREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_isne_i_n_n(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = NREG(2) != NREG(3);
+    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_isne_i_nc_n(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = CONST(2)->u.number != NREG(3);
+    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_isne_i_n_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = NREG(2) != CONST(3)->u.number;
+    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_isne_i_s_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = (Parrot_str_not_equal(interp, SREG(2), SREG(3)) ? 1 : 0);
+    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_isne_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = (Parrot_str_not_equal(interp, CONST(2)->u.string, SREG(3)) ? 1 : 0);
+    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_isne_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = (Parrot_str_not_equal(interp, SREG(2), CONST(3)->u.string) ? 1 : 0);
+    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_isne_i_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    if (&PREG(2) == &PREG(3))
-        IREG(1) = 0;
-    else
-        IREG(1) = !VTABLE_is_equal(interp, PREG(2), PREG(3));
+    IREG(1) = VTABLE_cmp_string(interp, PREG(2), PREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_and_i_i_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+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) = IREG(2) ? IREG(3) : IREG(2);
+    IREG(1) = VTABLE_cmp_num(interp, PREG(2), PREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_and_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = cur_opcode[2] ? IREG(3) : cur_opcode[2];
+    PREG(1) = VTABLE_cmp_pmc(interp, PREG(2), PREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_and_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = IREG(2) ? cur_opcode[3] : IREG(2);
+    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_and_p_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    PREG(1) = VTABLE_logical_and(interp, PREG(2), PREG(3), PREG(1));
+    IREG(1) = SREG(2) == SREG(3);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_not_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+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) = ! IREG(1);
+    IREG(1) = CONST(2)->u.string == SREG(3);
 
-return (opcode_t *)cur_opcode + 2;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_not_i_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+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) = ! IREG(2);
+    IREG(1) = SREG(2) == CONST(3)->u.string;
 
-return (opcode_t *)cur_opcode + 3;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_not_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    VTABLE_i_logical_not(interp, PREG(1));
+    IREG(1) = CONST(2)->u.string == CONST(3)->u.string;
 
-return (opcode_t *)cur_opcode + 2;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_not_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    PREG(1) = VTABLE_logical_not(interp, PREG(2), PREG(1));
+    if (PREG(2) == PREG(3))
+        IREG(1) = 0;
+    else
+        IREG(1) = !VTABLE_is_same(interp, PREG(2), PREG(3));
 
-return (opcode_t *)cur_opcode + 3;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_or_i_i_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+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) = IREG(2) ? IREG(2) : IREG(3);
+    IREG(1) = SREG(2) != SREG(3);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_or_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+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) = cur_opcode[2] ? cur_opcode[2] : IREG(3);
+    IREG(1) = CONST(2)->u.string != SREG(3);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_or_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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) = IREG(2) ? IREG(2) : cur_opcode[3];
+    IREG(1) = SREG(2) != CONST(3)->u.string;
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_or_p_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    PREG(1) = VTABLE_logical_or(interp, PREG(2), PREG(3), PREG(1));
+    IREG(1) = CONST(2)->u.string != CONST(3)->u.string;
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_xor_i_i_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+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) = (IREG(2) && ! IREG(3)) ? IREG(2) : (IREG(3) && ! IREG(2)) ? IREG(3) : 0;
+    IREG(1) = VTABLE_get_bool(interp, PREG(2));
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_xor_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+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) = (cur_opcode[2] && ! IREG(3)) ? cur_opcode[2] : (IREG(3) && ! cur_opcode[2]) ? IREG(3) : 0;
+    IREG(1) = !VTABLE_get_bool(interp, PREG(2));
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_xor_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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) = (IREG(2) && ! cur_opcode[3]) ? IREG(2) : (cur_opcode[3] && ! IREG(2)) ? cur_opcode[3] : 0;
+    IREG(1) = PMC_IS_NULL(PREG(2));
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_xor_p_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_isnull_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_logical_xor(interp, PREG(2), PREG(3), PREG(1));
+    IREG(1) = PMC_IS_NULL(CONST(2)->u.key);
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_debug_init(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_isnull_i_s(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    Parrot_debugger_init(interp);
+    IREG(1) = STRING_IS_NULL(SREG(2));
 
-return (opcode_t *)cur_opcode + 1;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_debug_load_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_isnull_i_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);
+    IREG(1) = STRING_IS_NULL(CONST(2)->u.string);
 
-return (opcode_t *)cur_opcode + 2;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_debug_break(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    Parrot_debugger_break(interp, cur_opcode);
+    IREG(1) = (VTABLE_cmp(interp, PREG(2), PREG(3)) > 0);
 
-return (opcode_t *)cur_opcode + 1;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_debug_print(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    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");
-    }
+    IREG(1) = (VTABLE_cmp(interp, PREG(2), PREG(3)) >= 0);
 
-return (opcode_t *)cur_opcode + 1;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_backtrace(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    PDB_backtrace(interp);
+    IREG(1) = IREG(2) <= IREG(3);
 
-return (opcode_t *)cur_opcode + 1;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_getline_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    Parrot_Context_info info;
-    Parrot_Context_get_info(interp, CURRENT_CONTEXT(interp), &info);
-    IREG(1) = info.line;
+    IREG(1) = cur_opcode[2] <= IREG(3);
 
-return (opcode_t *)cur_opcode + 2;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_getfile_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    Parrot_Context_info info;
-    Parrot_Context_get_info(interp, CURRENT_CONTEXT(interp), &info);
-    SREG(1) = info.file;
+    IREG(1) = IREG(2) <= cur_opcode[3];
 
-return (opcode_t *)cur_opcode + 2;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_close_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    Parrot_io_close(interp, PREG(1));
+    IREG(1) = NREG(2) <= NREG(3);
 
-return (opcode_t *)cur_opcode + 2;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_fdopen_p_i_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    PREG(1) = Parrot_io_fdopen(interp, PMCNULL, (PIOHANDLE)IREG(2), SREG(3));
-    if (!PREG(1))
-        PREG(1) = Parrot_pmc_new(interp, enum_class_Undef);
+    IREG(1) = CONST(2)->u.number <= NREG(3);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_fdopen_p_ic_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    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);
+    IREG(1) = NREG(2) <= CONST(3)->u.number;
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_fdopen_p_i_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    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);
+    IREG(1) = Parrot_str_compare(interp, SREG(2), SREG(3)) <= 0;
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_fdopen_p_ic_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    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);
+    IREG(1) = Parrot_str_compare(interp, CONST(2)->u.string, SREG(3)) <= 0;
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_getstdin_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    PREG(1) = _PIO_STDIN(interp);
+    IREG(1) = Parrot_str_compare(interp, SREG(2), CONST(3)->u.string) <= 0;
 
-return (opcode_t *)cur_opcode + 2;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_getstdout_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    PREG(1) = _PIO_STDOUT(interp);
+    IREG(1) = (VTABLE_cmp(interp, PREG(2), PREG(3)) <= 0);
 
-return (opcode_t *)cur_opcode + 2;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_getstderr_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    PREG(1) = _PIO_STDERR(interp);
+    IREG(1) = (IREG(2) < IREG(3)) ? 1 : 0;
 
-return (opcode_t *)cur_opcode + 2;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_setstdin_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    _PIO_STDIN(interp) = PREG(1);
+    IREG(1) = (cur_opcode[2] < IREG(3)) ? 1 : 0;
 
-return (opcode_t *)cur_opcode + 2;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_setstdout_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    _PIO_STDOUT(interp) = PREG(1);
+    IREG(1) = (IREG(2) < cur_opcode[3]) ? 1 : 0;
 
-return (opcode_t *)cur_opcode + 2;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_setstderr_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    _PIO_STDERR(interp) = PREG(1);
+    IREG(1) = NREG(2) < NREG(3);
 
-return (opcode_t *)cur_opcode + 2;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_open_p_s_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    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)));
-    }
+    IREG(1) = CONST(2)->u.number < NREG(3);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_open_p_sc_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    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)));
-    }
+    IREG(1) = NREG(2) < CONST(3)->u.number;
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_open_p_s_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    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)));
-    }
+    IREG(1) = Parrot_str_compare(interp, SREG(2), SREG(3)) < 0;
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_open_p_sc_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    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)));
-    }
+    IREG(1) = Parrot_str_compare(interp, CONST(2)->u.string, SREG(3)) < 0;
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_open_p_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    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)));
-    }
+    IREG(1) = Parrot_str_compare(interp, SREG(2), CONST(3)->u.string) < 0;
 
-return (opcode_t *)cur_opcode + 3;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_open_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    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)));
-    }
+    IREG(1) = (VTABLE_cmp(interp, PREG(2), PREG(3)) < 0);
 
-return (opcode_t *)cur_opcode + 3;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_print_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    Parrot_io_printf(interp, INTVAL_FMT, (INTVAL)IREG(1));
+    IREG(1) = (IREG(2) == IREG(3)) ? 1 : 0;
 
-return (opcode_t *)cur_opcode + 2;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_print_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    Parrot_io_printf(interp, INTVAL_FMT, (INTVAL)cur_opcode[1]);
+    IREG(1) = (cur_opcode[2] == IREG(3)) ? 1 : 0;
 
-return (opcode_t *)cur_opcode + 2;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_print_n(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-#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
+    IREG(1) = (IREG(2) == cur_opcode[3]) ? 1 : 0;
 
-return (opcode_t *)cur_opcode + 2;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_print_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-#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
+    IREG(1) = NREG(2) == NREG(3);
 
-return (opcode_t *)cur_opcode + 2;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_print_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    STRING * const s = SREG(1);
-    if (s && Parrot_str_byte_length(interp, s))
-        Parrot_io_putps(interp, _PIO_STDOUT(interp), s);
+    IREG(1) = CONST(2)->u.number == NREG(3);
 
-return (opcode_t *)cur_opcode + 2;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_print_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    STRING * const s = CONST(1)->u.string;
-    if (s && Parrot_str_byte_length(interp, s))
-        Parrot_io_putps(interp, _PIO_STDOUT(interp), s);
+    IREG(1) = NREG(2) == CONST(3)->u.number;
 
-return (opcode_t *)cur_opcode + 2;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_print_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    PMC * const p = PREG(1);
-    STRING * const s = (VTABLE_get_string(interp, p));
-    if (s)
-        Parrot_io_putps(interp, _PIO_STDOUT(interp), s);
+    IREG(1) = (Parrot_str_equal(interp, SREG(2), SREG(3)) ? 1 : 0);
 
-return (opcode_t *)cur_opcode + 2;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_say_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    Parrot_io_printf(interp, INTVAL_FMT "\n", (INTVAL)IREG(1));
+    IREG(1) = (Parrot_str_equal(interp, CONST(2)->u.string, SREG(3)) ? 1 : 0);
 
-return (opcode_t *)cur_opcode + 2;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_say_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    Parrot_io_printf(interp, INTVAL_FMT "\n", (INTVAL)cur_opcode[1]);
+    IREG(1) = (Parrot_str_equal(interp, SREG(2), CONST(3)->u.string) ? 1 : 0);
 
-return (opcode_t *)cur_opcode + 2;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_say_n(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-#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
+    if (&PREG(2) == &PREG(3))
+        IREG(1) = 1;
+    else
+        IREG(1) = VTABLE_is_equal(interp, PREG(2), PREG(3));
 
-return (opcode_t *)cur_opcode + 2;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_say_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-#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
+    IREG(1) = (IREG(2) == IREG(3)) ? 0 : 1;
 
-return (opcode_t *)cur_opcode + 2;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_say_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    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"));
+    IREG(1) = (cur_opcode[2] == IREG(3)) ? 0 : 1;
 
-return (opcode_t *)cur_opcode + 2;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_say_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    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"));
+    IREG(1) = (IREG(2) == cur_opcode[3]) ? 0 : 1;
 
-return (opcode_t *)cur_opcode + 2;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_say_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    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"));
-    }
+    IREG(1) = NREG(2) != NREG(3);
 
-return (opcode_t *)cur_opcode + 2;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_printerr_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    Parrot_io_eprintf(interp, INTVAL_FMT, IREG(1));
+    IREG(1) = CONST(2)->u.number != NREG(3);
 
-return (opcode_t *)cur_opcode + 2;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_printerr_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    Parrot_io_eprintf(interp, INTVAL_FMT, cur_opcode[1]);
+    IREG(1) = NREG(2) != CONST(3)->u.number;
 
-return (opcode_t *)cur_opcode + 2;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_printerr_n(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    Parrot_io_eprintf(interp, FLOATVAL_FMT, NREG(1));
+    IREG(1) = (Parrot_str_not_equal(interp, SREG(2), SREG(3)) ? 1 : 0);
 
-return (opcode_t *)cur_opcode + 2;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_printerr_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    Parrot_io_eprintf(interp, FLOATVAL_FMT, CONST(1)->u.number);
+    IREG(1) = (Parrot_str_not_equal(interp, CONST(2)->u.string, SREG(3)) ? 1 : 0);
 
-return (opcode_t *)cur_opcode + 2;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_printerr_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    STRING * const s = SREG(1);
-    if (s && Parrot_str_byte_length(interp, s))
-        Parrot_io_putps(interp, _PIO_STDERR(interp), s);
+    IREG(1) = (Parrot_str_not_equal(interp, SREG(2), CONST(3)->u.string) ? 1 : 0);
 
-return (opcode_t *)cur_opcode + 2;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_printerr_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    STRING * const s = CONST(1)->u.string;
-    if (s && Parrot_str_byte_length(interp, s))
-        Parrot_io_putps(interp, _PIO_STDERR(interp), s);
+    if (&PREG(2) == &PREG(3))
+        IREG(1) = 0;
+    else
+        IREG(1) = !VTABLE_is_equal(interp, PREG(2), PREG(3));
 
-return (opcode_t *)cur_opcode + 2;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_printerr_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    PMC * const p = PREG(1);
-    STRING * const s = (VTABLE_get_string(interp, p));
-    if (s)
-        Parrot_io_putps(interp, _PIO_STDERR(interp), s);
+    IREG(1) = IREG(2) ? IREG(3) : IREG(2);
 
-return (opcode_t *)cur_opcode + 2;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_print_p_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    if (PREG(1)) {
-        STRING * const s = Parrot_str_from_int(interp, IREG(2));
-        Parrot_io_putps(interp, PREG(1), s);
-    }
+    IREG(1) = cur_opcode[2] ? IREG(3) : cur_opcode[2];
 
-return (opcode_t *)cur_opcode + 3;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_print_p_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    if (PREG(1)) {
-        STRING * const s = Parrot_str_from_int(interp, cur_opcode[2]);
-        Parrot_io_putps(interp, PREG(1), s);
-    }
+    IREG(1) = IREG(2) ? cur_opcode[3] : IREG(2);
 
-return (opcode_t *)cur_opcode + 3;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_print_p_n(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    if (PREG(1)) {
-        STRING * const s = Parrot_sprintf_c(interp, FLOATVAL_FMT, NREG(2));
-        Parrot_io_putps(interp, PREG(1), s);
-    }
+    PREG(1) = VTABLE_logical_and(interp, PREG(2), PREG(3), PREG(1));
 
-return (opcode_t *)cur_opcode + 3;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_print_p_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_not_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_sprintf_c(interp, FLOATVAL_FMT, CONST(2)->u.number);
-        Parrot_io_putps(interp, PREG(1), s);
-    }
+    IREG(1) = ! IREG(1);
 
-return (opcode_t *)cur_opcode + 3;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_print_p_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_not_i_i(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));
-    }
+    IREG(1) = ! IREG(2);
 
 return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_print_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_not_p(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);
-    }
+    VTABLE_i_logical_not(interp, PREG(1));
 
-return (opcode_t *)cur_opcode + 3;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_print_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_not_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);
-    }
+    PREG(1) = VTABLE_logical_not(interp, PREG(2), PREG(1));
 
 return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_read_s_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    SREG(1) = Parrot_io_reads(interp, _PIO_STDIN(interp), (size_t)IREG(2));
+    IREG(1) = IREG(2) ? IREG(2) : IREG(3);
 
-return (opcode_t *)cur_opcode + 3;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_read_s_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    SREG(1) = Parrot_io_reads(interp, _PIO_STDIN(interp), (size_t)cur_opcode[2]);
+    IREG(1) = cur_opcode[2] ? cur_opcode[2] : IREG(3);
 
-return (opcode_t *)cur_opcode + 3;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_read_s_p_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    SREG(1) = Parrot_io_reads(interp, PREG(2), (size_t)IREG(3));
+    IREG(1) = IREG(2) ? IREG(2) : cur_opcode[3];
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_read_s_p_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    SREG(1) = Parrot_io_reads(interp, PREG(2), (size_t)cur_opcode[3]);
+    PREG(1) = VTABLE_logical_or(interp, PREG(2), PREG(3), PREG(1));
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_readline_s_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    SREG(1) = Parrot_io_readline(interp, PREG(2));
+    IREG(1) = (IREG(2) && ! IREG(3)) ? IREG(2) : (IREG(3) && ! IREG(2)) ? IREG(3) : 0;
 
-return (opcode_t *)cur_opcode + 3;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_peek_s(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    STRING ** const s = &SREG(1);
-
-    *s = NULL;
-    if (Parrot_io_peek(interp, _PIO_STDIN(interp), s) < 0) {
-        SREG(1) = STRINGNULL;
-    }
+    IREG(1) = (cur_opcode[2] && ! IREG(3)) ? cur_opcode[2] : (IREG(3) && ! cur_opcode[2]) ? IREG(3) : 0;
 
-return (opcode_t *)cur_opcode + 2;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_peek_s_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    STRING ** const s = &SREG(1);
-
-    *s = NULL;
-    if (Parrot_io_peek(interp, PREG(2), s) < 0) {
-        SREG(1) = STRINGNULL;
-    }
+    IREG(1) = (IREG(2) && ! cur_opcode[3]) ? IREG(2) : (cur_opcode[3] && ! IREG(2)) ? cur_opcode[3] : 0;
 
-return (opcode_t *)cur_opcode + 3;}
+return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_stat_i_s_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    IREG(1) = Parrot_stat_info_intval(interp, SREG(2), IREG(3));
+    PREG(1) = VTABLE_logical_xor(interp, PREG(2), PREG(3), PREG(1));
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
-Parrot_stat_i_sc_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_print_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));
+    Parrot_io_printf(interp, INTVAL_FMT, (INTVAL)IREG(1));
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_stat_i_s_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_print_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]);
+    Parrot_io_printf(interp, INTVAL_FMT, (INTVAL)cur_opcode[1]);
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_stat_i_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_print_n(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]);
+#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 + 4;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_stat_i_i_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_print_nc(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));
+#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 + 4;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_stat_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_print_s(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));
+    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 + 4;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_stat_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_print_sc(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]);
+    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 + 4;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_stat_i_ic_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_print_p(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]);
+    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 + 4;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_seek_p_i_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_say_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;
-        }
-    }
+    Parrot_io_printf(interp, INTVAL_FMT "\n", (INTVAL)IREG(1));
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_seek_p_ic_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_say_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]), 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;
-        }
-    }
+    Parrot_io_printf(interp, INTVAL_FMT "\n", (INTVAL)cur_opcode[1]);
 
-return (opcode_t *)cur_opcode + 4;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_seek_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_say_n(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;
-        }
+#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 + 4;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_seek_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_say_nc(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;
-        }
+#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 + 4;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_seek_p_i_i_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_say_s(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;
-        }
-    }
+    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 + 5;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_seek_p_ic_i_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_say_sc(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;
-        }
-    }
+    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 + 5;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_seek_p_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+Parrot_say_p(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;
-        }
+    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 + 5;}
+return (opcode_t *)cur_opcode + 2;}
 
 opcode_t *
-Parrot_seek_p_ic_ic_i(opcode_t *cur_opcode, PARROT_INTERP)  {
+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)) {
-        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;
-        }
+        STRING * const s = Parrot_str_from_int(interp, IREG(2));
+        Parrot_io_putps(interp, PREG(1), s);
     }
 
-return (opcode_t *)cur_opcode + 5;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_seek_p_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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)) {
-        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;
-        }
+        STRING * const s = Parrot_str_from_int(interp, cur_opcode[2]);
+        Parrot_io_putps(interp, PREG(1), s);
     }
 
-return (opcode_t *)cur_opcode + 5;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_seek_p_ic_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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)) {
-        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;
-        }
+        STRING * const s = Parrot_sprintf_c(interp, FLOATVAL_FMT, NREG(2));
+        Parrot_io_putps(interp, PREG(1), s);
     }
 
-return (opcode_t *)cur_opcode + 5;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_seek_p_i_ic_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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)) {
-        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;
-        }
+        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 + 5;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_seek_p_ic_ic_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
+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 (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;
-        }
+    if (SREG(2) && PREG(1)) {
+        Parrot_io_putps(interp, PREG(1), SREG(2));
     }
 
-return (opcode_t *)cur_opcode + 5;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
-Parrot_tell_i_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+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 (PREG(2))
-        IREG(1) = (INTVAL)Parrot_io_tell(interp, PREG(2));
+    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_tell_i_i_p(opcode_t *cur_opcode, PARROT_INTERP)  {
+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(3)) {
-        PIOOFF_T pos;
-        pos = Parrot_io_tell(interp, PREG(3));
-        IREG(1) = (INTVAL)(pos >> 31);
-        IREG(2) = (INTVAL)(pos & 0xffffffff);
+    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 + 4;}
+return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
 Parrot_abs_i(opcode_t *cur_opcode, PARROT_INTERP)  {
@@ -21267,195 +17569,24 @@
 
 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);
+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_cmod_p_p_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
+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);
-    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;
-    }
+    PREG(1) = VTABLE_add_float(interp, PREG(2), NREG(3), PREG(1));
 
-    result = fmod(VTABLE_get_integer(interp, PREG(2)), value);
+return (opcode_t *)cur_opcode + 4;}
 
-    PREG(1) = Parrot_pmc_new(interp, VTABLE_type(interp, PREG(2)));
-    VTABLE_set_integer_native(interp, PREG(1), (INTVAL) result);
+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;}
 
@@ -22314,203 +18445,6 @@
 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);
@@ -22658,140 +18592,6 @@
 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);
@@ -26695,122 +22495,6 @@
 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;
@@ -29262,7 +24946,7 @@
   2,    /* major_version */
   4,    /* minor_version */
   0,    /* patch_version */
-  1268,             /* op_count */
+  1080,             /* op_count */
   core_op_info_table,       /* op_info_table */
   core_op_func_table,       /* op_func_table */
   get_op          /* op_code() */ 

Deleted: trunk/src/ops/debug.ops
==============================================================================
--- trunk/src/ops/debug.ops	Thu May 27 08:45:23 2010	(r47050)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,146 +0,0 @@
-/*
- * $Id$
- * Copyright (C) 2002-2008, Parrot Foundation.
- */
-
-/*
-** debug.ops
-*/
-
-=head1 NAME
-
-debug.ops - Debugging Opcodes
-
-=cut
-
-=head1 DESCRIPTION
-
-Parrot debugger
-
-=cut
-
-=head1 HISTORY
-
-Initial version by Daniel Grunblatt on 2002.5.19
-
-=cut
-
-###############################################################################
-
-=head2 Parrot debug operations
-
-=over 4
-
-=cut
-
-########################################
-
-=item B<debug_init>()
-
-Init the Parrot debugger, must be called before any other debug op.
-
-=cut
-
-op debug_init() :base_debug {
-    Parrot_debugger_init(interp);
-}
-
-########################################
-
-=item B<debug_load>(inconst STR)
-
-Load a Parrot source file for the current program.
-
-=cut
-
-op debug_load(inconst STR) :base_debug {
-    Parrot_debugger_load(interp, $1);
-}
-
-########################################
-
-=item B<debug_break>()
-
-Break execution and drop into the debugger.
-If we are already into the debugger and is the first time we are
-called set a breakpoint.
-
-When you re run/continue the program begin debugged it will pay
-no attention to the debug ops.
-
-=cut
-
-op debug_break() :base_debug {
-    Parrot_debugger_break(interp, cur_opcode);
-}
-
-########################################
-
-=item B<debug_print>()
-
-Print all the Parrot registers at once.
-
-=cut
-
-op debug_print() :base_debug {
-    if (!interp->pdb) {
-        opcode_t *handler = Parrot_ex_throw_from_op_args(interp, expr NEXT(),
-            EXCEPTION_INVALID_OPERATION,
-            "Initialize debugger with debug_init before using debug_print");
-        goto ADDRESS(handler);
-    }
-
-    if (!(interp->pdb->state & PDB_BREAK)) {
-        PDB_print(interp, "I");
-        PDB_print(interp, "N");
-        PDB_print(interp, "S");
-        PDB_print(interp, "P");
-    }
-}
-
-=item B<backtrace>()
-
-Print a backtrace.
-
-=cut
-
-op backtrace() :base_debug {
-    PDB_backtrace(interp);
-}
-
-#######################################
-
-=item B<getline>(out INT)
-
-Get the current line number.
-
-=cut
-
-inline op getline(out INT) {
-    Parrot_Context_info info;
-    Parrot_Context_get_info(interp, CURRENT_CONTEXT(interp), &info);
-    $1 = info.line;
-}
-
-=item B<getfile>(out STR)
-
-Get the name of the current file.
-
-=cut
-
-inline op getfile(out STR) {
-    Parrot_Context_info info;
-    Parrot_Context_get_info(interp, CURRENT_CONTEXT(interp), &info);
-    $1 = info.file;
-}
-
-=back
-
-=cut
-
-/*
- * Local variables:
- *   c-file-style: "parrot"
- * End:
- * vim: expandtab shiftwidth=4:
- */

Modified: trunk/src/ops/io.ops
==============================================================================
--- trunk/src/ops/io.ops	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/src/ops/io.ops	Thu May 27 08:45:23 2010	(r47051)
@@ -25,143 +25,10 @@
 
 =head2 Parrot IO API Operations
 
-
 =over 4
 
 =cut
 
-
-########################################
-
-=item B<close>(invar PMC)
-
-Close IO object $1
-
-=cut
-
-inline op close(invar PMC) :base_io {
-    Parrot_io_close(interp, $1);
-}
-
-########################################
-
-=item B<fdopen>(out PMC, in INT, in STR)
-
-Create ParrotIO object in $1 as a copy of file descriptor $2.
-
-=cut
-
-inline op fdopen(out PMC, in INT, in STR) :filesys_open {
-    $1 = Parrot_io_fdopen(interp, PMCNULL, (PIOHANDLE)$2, $3);
-    if (!$1)
-        $1 = Parrot_pmc_new(interp, enum_class_Undef);
-}
-
-=item B<getstdin>(out PMC)
-
-Create a new ParrotIO object for the stdin file descriptor and
-store it in $1
-
-=item B<getstdout>(out PMC)
-
-Create a new ParrotIO object for the stdout file descriptor and
-store it in $1
-
-=item B<getstderr>(out PMC)
-
-Create a new ParrotIO object for the stderr file descriptor and
-store it in $1
-
-=cut
-
-inline op getstdin(out PMC) :base_io {
-    $1 = _PIO_STDIN(interp);
-}
-
-inline op getstdout(out PMC) :base_io {
-    $1 = _PIO_STDOUT(interp);
-}
-
-inline op getstderr(out PMC) :base_io {
-    $1 = _PIO_STDERR(interp);
-}
-
-#########################################
-
-=item B<setstdin>(invar PMC)
-
-Sets the standard input for a bare C<read> op to go to the supplied PMC.
-Call C<getstdin> first if you care about retaining the previous PMC.
-
-=item B<setstdout>(invar PMC)
-
-Sets the standard output for a bare C<print> op to go to the supplied PMC.
-Call C<getstdout> first if you care about retaining the previous PMC.
-
-=item B<setstderr>(invar PMC)
-
-Sets the standard error for a bare C<printerr> op to go to the supplied PMC.
-Call C<getstderr> first if you care about retaining the previous PMC.
-
-=cut
-
-inline op setstdin(invar PMC) :base_io {
-    _PIO_STDIN(interp) = $1;
-}
-
-inline op setstdout(invar PMC) :base_io {
-    _PIO_STDOUT(interp) = $1;
-}
-
-inline op setstderr(invar PMC) :base_io {
-    _PIO_STDERR(interp) = $1;
-}
-
-#########################################
-
-=item B<open>(out PMC, in STR, in STR)
-
-Open URL (file, address, database, in core image) named $2 with
-a mode string in $3 and create an IO object in $1.
-
-The mode consists of a string of characters specified in any order:
-
- r : read
- w : write
- a : append (Note: you must specify "wa", not just "a")
- p : pipe
-
-=item B<open>(out PMC, in STR)
-
-Open URL (file, address, database, in core image) named $2 with
-read mode and create an IO object in $1.
-
-=cut
-
-inline op open(out PMC, in STR, in STR) :filesys_open {
-    if (STRING_IS_NULL($2) || STRING_IS_NULL($3)) {
-        opcode_t *handler = Parrot_ex_throw_from_op_args(interp, expr NEXT(),
-            EXCEPTION_UNEXPECTED_NULL, "Invalid open");
-        goto ADDRESS(handler);
-    }
-    else {
-        $1 = Parrot_io_open(interp, PMCNULL, $2, $3);
-        PARROT_ASSERT(! PMC_IS_NULL($1));
-    }
-}
-
-inline op open(out PMC, in STR) :filesys_open {
-    if (STRING_IS_NULL($2)) {
-        opcode_t *handler = Parrot_ex_throw_from_op_args(interp, expr NEXT(),
-            EXCEPTION_UNEXPECTED_NULL, "Invalid open");
-        goto ADDRESS(handler);
-    }
-    else {
-        $1 = Parrot_io_open(interp, PMCNULL, $2, NULL);
-        PARROT_ASSERT(! PMC_IS_NULL($1));
-    }
-}
-
 ########################################
 
 =item B<print>(in INT)
@@ -266,41 +133,6 @@
 
 ##########################################
 
-=item B<printerr>(in INT)
-
-=item B<printerr>(in NUM)
-
-=item B<printerr>(in STR)
-
-=item B<printerr>(invar PMC)
-
-Print $1 to standard error.
-
-=cut
-
-op printerr(in INT) :base_io {
-    Parrot_io_eprintf(interp, INTVAL_FMT, $1);
-}
-
-op printerr(in NUM) :base_io {
-    Parrot_io_eprintf(interp, FLOATVAL_FMT, $1);
-}
-
-op printerr(in STR) :base_io {
-    STRING * const s = $1;
-    if (s && Parrot_str_byte_length(interp, s))
-        Parrot_io_putps(interp, _PIO_STDERR(interp), s);
-}
-
-op printerr(invar PMC) :base_io {
-    PMC * const p = $1;
-    STRING * const s = (VTABLE_get_string(interp, p));
-    if (s)
-        Parrot_io_putps(interp, _PIO_STDERR(interp), s);
-}
-
-##########################################
-
 =item B<print>(invar PMC, in INT)
 
 =item B<print>(invar PMC, in NUM)
@@ -340,183 +172,6 @@
     }
 }
 
-##########################################
-
-=item B<read>(out STR, in INT)
-
-Read up to N bytes from standard input stream
-
-=item B<read>(out STR, invar PMC, in INT)
-
-Read up to N bytes from IO PMC stream.
-
-=cut
-
-op read(out STR, in INT) :base_io {
-    $1 = Parrot_io_reads(interp, _PIO_STDIN(interp), (size_t)$2);
-}
-
-op read(out STR, invar PMC, in INT) :base_io {
-    $1 = Parrot_io_reads(interp, $2, (size_t)$3);
-}
-
-=item B<readline>(out STR, invar PMC)
-
-Read a line up to EOL from filehandle $2.
-This switches the filehandle to linebuffer-mode.
-
-=cut
-
-inline op readline(out STR, invar PMC) :base_io {
-    $1 = Parrot_io_readline(interp, $2);
-}
-
-##########################################
-
-=item B<peek>(out STR)
-
-Returns the next byte from standard input, but does not
-remove it from the stream.
-
-=item B<peek>(out STR, invar PMC)
-
-Reads the next byte from an IO PMC, but does not
-remove it from the stream.
-
-=cut
-
-op peek(out STR) :base_io {
-    STRING ** const s = &$1;
-
-    *s = NULL;
-    if (Parrot_io_peek(interp, _PIO_STDIN(interp), s) < 0) {
-        $1 = STRINGNULL;
-    }
-}
-
-op peek(out STR, invar PMC) :base_io {
-    STRING ** const s = &$1;
-
-    *s = NULL;
-    if (Parrot_io_peek(interp, $2, s) < 0) {
-        $1 = STRINGNULL;
-    }
-}
-
-##########################################
-
-=item B<stat>(out INT, in STR, in INT)
-
-=item B<stat>(out INT, in INT, in INT)
-
-Stat the file. Return stat element $3 for file $2 into $1. The queryable
-items currently are:
-
- EXISTS     0
- FILESIZE   1
- ISDIR      2
- ISDEV      3
- CREATETIME 4 (Time file was created)
- ACCESSTIME 5 (Time file was last accessed)
- MODIFYTIME 6 (Time file data was changed)
- CHANGETIME 7 (Time file metadata was changed)
- BACKUPTIME 8 (Time of last backup)
- UID        9
- GID        10
-
-
-=cut
-
-op stat(out INT, in STR, in INT) {
-    $1 = Parrot_stat_info_intval(interp, $2, $3);
-}
-
-op stat(out INT, in INT, in INT) {
-    $1 = Parrot_fstat_info_intval(interp, $2, $3);
-}
-
-
-##########################################
-
-=item B<seek>(invar PMC, in INT, in INT)
-
-seek:
-Set file position to offset $2 on IO stream $1. 'whence' is
-indicated by the value in $3. The valid values for 'whence' are:
-
- Value      Meaning
- 0          Seek from the beginning of the file
- 1          Seek from the current position
- 2          Seek from the end of the file
-
-[ Note: the above values for 'whence' is just an educated guess
-at this point ]
-
-=item B<seek>(invar PMC, in INT, in INT, in INT)
-
-64bit seek:
-Set file position to offset ($2 << 32 | $3) on IO stream $1. 'whence' is
-indicated by the value in $4. This allows 64-bit seeks with only 32-bit
-INTVALS.
-
-=cut
-
-op seek(invar PMC, in INT, in INT) :base_io {
-    if ($1) {
-        if (Parrot_io_seek(interp, $1, Parrot_io_make_offset($2), $3) < 0) {
-            opcode_t *handler = Parrot_ex_throw_from_op_args(interp, expr NEXT(),
-                EXCEPTION_PIO_ERROR,
-                "seek failed (32bit)");
-            goto ADDRESS(handler);
-        }
-    }
-}
-
-op seek(invar PMC, in INT, in INT, in INT) :base_io {
-    if ($1) {
-        if (Parrot_io_seek(interp, $1, Parrot_io_make_offset32($2, $3), $4) < 0) {
-            opcode_t *handler = Parrot_ex_throw_from_op_args(interp, expr NEXT(),
-                EXCEPTION_PIO_ERROR,
-                "seek failed (64bit)");
-            goto ADDRESS(handler);
-        }
-    }
-}
-
-=item B<tell>(out INT, invar PMC)
-
-tell:
-Get the current file position of stream $2 and store it in $1.
-On systems where INTVAL is 32bit the result will be truncated if the
-position is beyond 2 GiB
-
-=item B<tell>(out INT, out INT, invar PMC)
-
-64bit tell:
-Get the current file positon of stream $3 in two parts of 32-bit each
-($1 = pos >> 32, $2 = pos & 0xffffffff).
-
-=cut
-
-op tell(out INT, invar PMC) :base_io {
-    if ($2)
-        $1 = (INTVAL)Parrot_io_tell(interp, $2);
-}
-
-op tell(out INT, out INT, invar PMC) :base_io {
-    if ($3) {
-        PIOOFF_T pos;
-        pos = Parrot_io_tell(interp, $3);
-        $1 = (INTVAL)(pos >> 31);
-        $2 = (INTVAL)(pos & 0xffffffff);
-    }
-}
-
-=back
-
-=cut
-
-
 ###############################################################################
 
 /*

Modified: trunk/src/ops/math.ops
==============================================================================
--- trunk/src/ops/math.ops	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/src/ops/math.ops	Thu May 27 08:45:23 2010	(r47051)
@@ -11,8 +11,8 @@
 
 =head1 DESCRIPTION
 
-Operations that perform some sort of mathematics, including both basic
-math and transcendental functions.
+Operations that perform basic mathematics. See F<src/dynoplibs/> for more
+advanced operations.
 
 =head2 Arithmetic operations
 
@@ -137,152 +137,6 @@
 
 ########################################
 
-=item B<cmod>(out INT, in INT, in INT)
-
-=item B<cmod>(invar PMC, invar PMC, in INT)
-
-=item B<cmod>(invar PMC, invar PMC, invar PMC)
-
-NOTE: This "uncorrected mod" algorithm uses the C language's built-in
-mod operator (x % y), which is
-
-    ... the remainder when x is divided by y, and thus is zero
-    when y divides x exactly.
-    ...
-    The direction of truncation for / and the sign of the result
-    for % are machine-dependent for negative operands, as is the
-    action taken on overflow or underflow.
-                                                     -- [1], page 41
-
-Also:
-
-    ... if the second operand is 0, the result is undefined.
-    Otherwise, it is always true that (a/b)*b + a%b is equal to z. If
-    both operands are non-negative, then the remainder is non-
-    negative and smaller than the divisor; if not, it is guaranteed
-    only that the absolute value of the remainder is smaller than
-    the absolute value of the divisor.
-                                                     -- [1], page 205
-
-This op is provided for those who need it (such as speed-sensitive
-applications with heavy use of mod, but using it only with positive
-arguments), but a more mathematically useful mod based on ** floor(x/y)
-and defined with y == 0 is provided by the mod op.
-
-  [1] Brian W. Kernighan and Dennis M. Ritchie, *The C Programming
-      Language*, Second Edition. Prentice Hall, 1988.
-
-If the denominator is zero, a 'Divide by zero' exception is thrown.
-
-=cut
-
-inline op cmod(out INT, in INT, in INT) :base_core {
-    INTVAL den = $3;
-    if ($3 == 0) {
-        opcode_t *handler = Parrot_ex_throw_from_op_args(interp, expr NEXT(),
-            EXCEPTION_DIV_BY_ZERO,
-            "Divide by zero");
-        goto ADDRESS(handler);
-    }
-    $1 = $2 % den;
-}
-
-inline op cmod(invar PMC, invar PMC, in INT) :base_core {
-    INTVAL result;
-
-    if ($3 == 0) {
-        opcode_t *handler = Parrot_ex_throw_from_op_args(interp, expr NEXT(),
-            EXCEPTION_DIV_BY_ZERO,
-            "Divide by zero");
-        goto ADDRESS(handler);
-    }
-
-    result = VTABLE_get_integer(interp, $2) % $3;
-
-    $1 = Parrot_pmc_new(interp, VTABLE_type(interp, $2));
-    VTABLE_set_integer_native(interp, $1, result);
-}
-
-inline op cmod(invar PMC, invar PMC, invar PMC) :base_core {
-    INTVAL result;
-    INTVAL value = VTABLE_get_integer(interp, $3);
-
-    if (value == 0) {
-        opcode_t *handler = Parrot_ex_throw_from_op_args(interp, expr NEXT(),
-            EXCEPTION_DIV_BY_ZERO,
-            "Divide by zero");
-        goto ADDRESS(handler);
-    }
-
-    result = VTABLE_get_integer(interp, $2) % value;
-
-    $1 = Parrot_pmc_new(interp, VTABLE_type(interp, $2));
-    VTABLE_set_integer_native(interp, $1, result);
-}
-
-########################################
-
-=item B<cmod>(out NUM, in NUM, in NUM)
-
-=item B<cmod>(invar PMC, invar PMC, in NUM)
-
-NOTE: This "uncorrected mod" algorithm uses the built-in C math library's
-fmod() function, which computes
-
-    ... the remainder of dividing x by y. The return value is
-    x - n * y, where n is the quotient of x / y, rounded towards
-    zero to an integer.
-                                -- fmod() manpage on RedHat Linux 7.0
-
-In addition, fmod() returns
-
-    the remainder, unless y is zero, when the function fails and
-    errno is set.
-
-According to page 251 of [1], the result when y is zero is implementation-
-defined.
-
-This op is provided for those who need it, but a more mathematically
-useful numeric mod based on floor(x/y) instead of truncate(x/y) and
-defined with y == 0 is provided by the mod op.
-
-  [1] Brian W. Kernighan and Dennis M. Ritchie, *The C Programming
-      Language*, Second Edition. Prentice Hall, 1988.
-
-If the denominator is zero, a 'Divide by zero' exception is thrown.
-
-=cut
-
-inline op cmod(out NUM, in NUM, in NUM) :base_core {
-    FLOATVAL den = $3;
-    if (FLOAT_IS_ZERO($3)) {
-        opcode_t *handler = Parrot_ex_throw_from_op_args(interp, expr NEXT(),
-            EXCEPTION_DIV_BY_ZERO,
-            "Divide by zero");
-        goto ADDRESS(handler);
-    }
-    $1 = fmod($2, den);
-}
-
-inline op cmod(invar PMC, invar PMC, in NUM) :base_core {
-    FLOATVAL result;
-    FLOATVAL value = $3;
-
-    if (FLOAT_IS_ZERO(value)) {
-        opcode_t *handler = Parrot_ex_throw_from_op_args(interp, expr NEXT(),
-            EXCEPTION_DIV_BY_ZERO,
-            "Divide by zero");
-        goto ADDRESS(handler);
-    }
-
-    result = fmod(VTABLE_get_integer(interp, $2), value);
-
-    $1 = Parrot_pmc_new(interp, VTABLE_type(interp, $2));
-    VTABLE_set_integer_native(interp, $1, (INTVAL) result);
-}
-
-########################################
-
 =item B<dec>(inout INT)
 
 =item B<dec>(inout NUM)
@@ -787,82 +641,6 @@
 
 ########################################
 
-=item B<pow>(out NUM, in NUM, in NUM)
-
-=item B<pow>(out NUM, in NUM, in INT)
-
-=item B<pow>(invar PMC, invar PMC, invar PMC)
-
-=item B<pow>(invar PMC, invar PMC, in INT)
-
-=item B<pow>(invar PMC, invar PMC, in NUM)
-
-Set $1 to $2 raised to the power $3.
-
-=cut
-
-inline op pow(out NUM, in NUM, in NUM) :base_core {
-    $1 = pow((FLOATVAL)$2, (FLOATVAL)$3);
-}
-
-inline op pow(invar PMC, invar PMC, invar PMC) :base_core {
-    const FLOATVAL a = VTABLE_get_number(interp, $2);
-    const FLOATVAL b = VTABLE_get_number(interp, $3);
-    const FLOATVAL c = pow(a, b);
-    if (PMC_IS_NULL($1))
-        $1 = Parrot_pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_Float));
-    else
-        $1 = Parrot_pmc_new(interp, $1->vtable->base_type);
-    VTABLE_set_number_native(interp, $1, c);
-}
-
-inline op pow(invar PMC, invar PMC, in INT) :base_core {
-    const FLOATVAL a = VTABLE_get_number(interp, $2);
-    const FLOATVAL b = (FLOATVAL)$3;
-    const FLOATVAL c = pow(a, b);
-    if (PMC_IS_NULL($1))
-        $1 = Parrot_pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_Float));
-    else
-        $1 = Parrot_pmc_new(interp, $1->vtable->base_type);
-    VTABLE_set_number_native(interp, $1, c);
-}
-
-inline op pow(invar PMC, invar PMC, in NUM) :base_core {
-    const FLOATVAL a = VTABLE_get_number(interp, $2);
-    const FLOATVAL c = pow(a, $3);
-    if (PMC_IS_NULL($1))
-        $1 = Parrot_pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_Float));
-    else
-        $1 = Parrot_pmc_new(interp, $1->vtable->base_type);
-    VTABLE_set_number_native(interp, $1, c);
-}
-
-inline op pow(out NUM, in NUM, in INT) :base_core {
-    FLOATVAL n2 = $2;
-    FLOATVAL res = 1.0;
-    INTVAL   e  = $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;
-    }
-    $1 = res;
-}
-
-########################################
-
 =item B<sub>(inout INT, in INT)
 
 =item B<sub>(inout NUM, in NUM)
@@ -945,228 +723,6 @@
 
 =cut
 
-
-
-###############################################################################
-
-=head2 Transcendental mathematical operations
-
-These operations perform various transcendental operations such as logarithmics
-and trigonometrics.
-
-=over 4
-
-=cut
-
-########################################
-
-=item B<acos>(out NUM, in NUM)
-
-Set $1 to the arc cosine (in radians) of $2.
-
-=cut
-
-inline op acos(out NUM, in NUM) :base_math {
-    $1 = acos((FLOATVAL)$2);
-}
-
-########################################
-
-=item B<asec>(out NUM, in NUM)
-
-Set $1 to the arc secant (in radians) of $2.
-
-=cut
-
-inline op asec(out NUM, in NUM) :base_math {
-    $1 = acos(((FLOATVAL)1) / ((FLOATVAL)$2));
-}
-
-########################################
-
-
-=item B<asin>(out NUM, in NUM)
-
-Set $1 to the arc sine (in radians) of $2.
-
-=cut
-
-inline op asin(out NUM, in NUM) :base_math {
-    $1 = asin((FLOATVAL)$2);
-}
-
-########################################
-
-=item B<atan>(out NUM, in NUM)
-
-=item B<atan>(out NUM, in NUM, in NUM)
-
-The two-argument versions set $1 to the arc tangent (in radians) of $2.
-
-The three-argument versions set $1 to the arc tangent (in radians) of
-$2 / $3, taking account of the signs of the arguments in determining the
-quadrant of the result.
-
-=cut
-
-inline op atan(out NUM, in NUM) :base_math {
-    $1 = atan((FLOATVAL)$2);
-}
-
-inline op atan(out NUM, in NUM, in NUM) :base_math {
-    $1 = atan2((FLOATVAL)$2, (FLOATVAL)$3);
-}
-
-########################################
-
-=item B<cos>(out NUM, in NUM)
-
-Set $1 to the cosine of $2 (given in radians).
-
-=cut
-
-inline op cos(out NUM, in NUM) :base_math {
-    $1 = cos((FLOATVAL)$2);
-}
-
-########################################
-
-=item B<cosh>(out NUM, in NUM)
-
-Set $1 to the hyperbolic cosine of $2 (given in radians).
-
-=cut
-
-inline op cosh(out NUM, in NUM) :base_math {
-    $1 = cosh((FLOATVAL)$2);
-}
-
-########################################
-
-=item B<exp>(out NUM, in NUM)
-
-Set $1 to I<e> raised to the power $2. I<e> is the base of the natural
-logarithm.
-
-=cut
-
-inline op exp(out NUM, in NUM) :base_math {
-    $1 = exp((FLOATVAL)$2);
-}
-
-########################################
-
-=item B<ln>(out NUM, in NUM)
-
-Set $1 to the natural (base I<e>) logarithm of $2.
-
-=cut
-
-inline op ln(out NUM, in NUM) :base_math {
-    $1 = log((FLOATVAL)$2);
-}
-
-########################################
-
-=item B<log10>(out NUM, in NUM)
-
-Set $1 to the base 10 logarithm of $2.
-
-=cut
-
-inline op log10(out NUM, in NUM) :base_math {
-    $1 = log10((FLOATVAL)$2);
-}
-
-########################################
-
-=item B<log2>(out NUM, in NUM)
-
-Set $1 to the base 2 logarithm of $2.
-
-=cut
-
-op log2(out NUM, in NUM) :base_math {
-    FLOATVAL temp = log((FLOATVAL)2.0);
-    $1 = log((FLOATVAL)$2) / temp;
-}
-
-########################################
-
-=item B<sec>(out NUM, in NUM)
-
-Set $1 to the secant of $2 (given in radians).
-
-=cut
-
-inline op sec(out NUM, in NUM) :base_math {
-    $1 = ((FLOATVAL)1) / cos((FLOATVAL)$2);
-}
-
-########################################
-
-=item B<sech>(out NUM, in NUM)
-
-Set $1 to the hyperbolic secant of $2 (given in radians).
-
-=cut
-
-inline op sech(out NUM, in NUM) :base_math {
-    $1 = ((FLOATVAL)1) / cosh((FLOATVAL)$2);
-}
-
-########################################
-
-=item B<sin>(out NUM, in NUM)
-
-Set $1 to the sine of $2 (given in radians).
-
-=cut
-
-inline op sin(out NUM, in NUM) :base_math {
-    $1 = sin((FLOATVAL)$2);
-}
-
-########################################
-
-=item B<sinh>(out NUM, in NUM)
-
-Set $1 to the hyperbolic sine of $2 (given in radians).
-
-=cut
-
-inline op sinh(out NUM, in NUM) :base_math {
-    $1 = sinh((FLOATVAL)$2);
-}
-
-########################################
-
-=item B<tan>(out NUM, in NUM)
-
-Set $1 to the tangent of $2 (given in radians).
-
-=cut
-
-inline op tan(out NUM, in NUM) :base_math {
-    $1 = tan((FLOATVAL)$2);
-}
-
-########################################
-
-=item B<tanh>(out NUM, in NUM)
-
-Set $1 to the hyperbolic tangent of $2 (given in radians).
-
-=cut
-
-inline op tanh(out NUM, in NUM) :base_math {
-    $1 = tanh((FLOATVAL)$2);
-}
-
-=back
-
-=cut
-
 ###############################################################################
 
 =head1 COPYRIGHT

Modified: trunk/src/ops/sys.ops
==============================================================================
--- trunk/src/ops/sys.ops	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/src/ops/sys.ops	Thu May 27 08:45:23 2010	(r47051)
@@ -107,172 +107,6 @@
 
 ########################################
 
-=item B<gmtime>(out STR, in INT)
-
-Take the integer, which represents GMT epoch-seconds, and turn it into a
-formatted string.
-
-=item B<localtime>(out STR, in INT)
-
-Take the integer, which represents GMT epoch-seconds, and turn it into a
-formatted string. The time is adjusted to localtime before formatting.
-
-=item B<decodetime>(out PMC, in INT)
-
-Take the integer, which represents GMT epoch-seconds, and return an Array
-PMC which represents the decoded time. The array elements are
-(include "tm.pasm" for the constants):
-
-=over 4
-
-=item 0, .TM_SEC
-
-Seconds (0-60)
-
-=item 1, .TM_MIN
-
-Minutes (0-59)
-
-=item 2, .TM_HOUR
-
-Hours (0-23)
-
-=item 3, .TM_MDAY
-
-Day of month (1-31)
-
-=item 4, .TM_MON
-
-Month of year (1-12) (Note, B<actual> month, not month - 1)
-
-=item 5, .TM_YEAR
-
-Year (note, B<actual> year. The year 2004 comes back as 2004, not 104)
-
-=item 6, .TM_WDAY
-
-Day of week. Sunday is day 0
-
-=item 7, .TM_YDAY
-
-Day of year (0-365)
-
-=item 8, .TM_ISDST
-
-Daylight savings/summer time in effect
-
-=back
-
-Timezone name will be GMT and offset will be 0, since the time is taken and
-decoded as GMT.
-
-=item B<decodelocaltime>(out PMC, in INT)
-
-Take the passed in  integer, which represents GMT epoch-seconds, and return
-an array as in decodetime. The time is first shifted to localtime before
-decoding.
-
-=cut
-
-op gmtime(out STR, in INT) {
-    struct tm tm;
-    const time_t t = (time_t) $2;
-    char resultbuffer[26];
-    Parrot_gmtime_r(&t, &tm);
-    Parrot_asctime_r(&tm, resultbuffer);
-    $1 = Parrot_str_new(interp, resultbuffer, 25);
-}
-
-op localtime(out STR, in INT) {
-    struct tm tm;
-    const time_t t = (time_t) $2;
-    char resultbuffer[26];
-    Parrot_localtime_r(&t, &tm);
-    Parrot_asctime_r(&tm, resultbuffer);
-    $1 = Parrot_str_new(interp, resultbuffer, 25);
-}
-
-op decodetime(out PMC, in INT) {
-    struct tm tm;
-    const time_t t = (time_t) $2;
-    Parrot_gmtime_r(&t, &tm);
-    $1 = tm_to_array(interp, &tm);
-}
-
-op decodelocaltime(out PMC, in INT) {
-    struct tm tm;
-    const time_t t = (time_t) $2;
-    Parrot_localtime_r(&t, &tm);
-    $1 = tm_to_array(interp, &tm);
-}
-
-########################################
-
-=item B<sysinfo>(out STR, in INT)
-
-=item B<sysinfo>(out INT, in INT)
-
-Return system information. The values it returns depends on what you
-ask. They are:
-
-=over 4
-
-=item 1 The size of a platform integer
-
-=item 2 The size of a platform float
-
-=item 3 The size of a platform pointer. (Largest possible data pointer)
-
-=item 4 The OS name
-
-This is something like "OS X", "MacOS", "Windows", or "VMS".
-
-=item 5 The OS version string
-
-This is the current (hopefully) OS Version. For OSes that have plain
-version numbers it will be the version number. For OSes that name
-their versions, it will be the version name.
-
-On HP/UX, this may be something like 11.2, while on Windows it may be
-"95", "98", "2000", "NT", "ME", or "XP".
-
-=item 6 The OS version number string
-
-On OSes that don't name themselves, this will be the same as what's
-returned in the OS version string. On OSes that I<do> name themselves,
-this will be a more specific version number. In all cases it is OS
-dependent.
-
-=item 7 The CPU architecture
-
-The name of the CPU family, such as "VAX", "Alpha", "PPC", or "x86".
-
-=item 8 The CPU model
-
-The model name of the current system's CPU. This is something like
-"EV68", "Athlon", or "Pentium III".
-
-=back
-
-Note that some of these values may be set at Parrot compile time,
-rather than at runtime, if the system has no reliable way to fetch the
-data dynamically, or if there is no way the value can change. Also,
-the value returned may be somewhat misleading--Parrot running under a
-VirtualPC window will report "Windows" as its OS and "x86" as its CPU,
-even if it's really running on an OS X system.
-
-=cut
-
-inline op sysinfo(out STR, in INT) {
-    $1 = sysinfo_s(interp, $2);
-}
-
-inline op sysinfo(out INT, in INT) {
-    $1 = sysinfo_i(interp, $2);
-}
-
-########################################
-
 =item B<sleep>(in INT)
 
 =item B<sleep>(in NUM)

Modified: trunk/src/pmc/filehandle.pmc
==============================================================================
--- trunk/src/pmc/filehandle.pmc	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/src/pmc/filehandle.pmc	Thu May 27 08:45:23 2010	(r47051)
@@ -698,6 +698,69 @@
         RETURN(INTVAL -1);
     }
 
+/*
+
+=item C<METHOD tell()>
+
+Get the file position of the stream. 2 C<INTVAL>s are returned. The first is
+the position. The second is the position shifted down by 32 bits to handle
+overflows on 32-bit systems.
+
+=cut
+
+*/
+
+    METHOD tell() {
+        PIOOFF_T pos;
+        GET_ATTR_file_pos(INTERP, SELF, pos);
+        RETURN(INTVAL pos, INTVAL pos >> 32);
+    }
+
+/*
+
+=item C<METHOD seek(INTVAL whence, INTVAL offs, INTVAL offs_overflow)>
+
+Set the file position to an offset specified by C<offs> (and optionally
+C<offs_overflow>). C<whence> determines from where in the file the offset is
+taken.
+
+ Whence Value      Meaning
+ 0                 Seek from the beginning of the file
+ 1                 Seek from the current position
+ 2                 Seek from the end of the file
+
+C<offs_overflow> is optional and is used to handle offsets higher than 2Gb on
+32bit systems.
+
+=cut
+
+*/
+
+    METHOD seek(INTVAL whence, INTVAL offs, INTVAL offs_overflow :optional) {
+        const PIOOFF_T pio_offs = offs_overflow ?
+                                    Parrot_io_make_offset32(offs_overflow, offs) :
+                                    offs;
+        if (Parrot_io_seek(INTERP, SELF, pio_offs, whence))
+            Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_PIO_ERROR, "seek failed");
+    }
+
+/*
+
+=item C<METHOD peek()>
+
+Returns the next byte from the stream, but does not remove it.
+
+=cut
+
+*/
+
+    METHOD peek() {
+        STRING *s = NULL;
+        if (Parrot_io_peek(INTERP, SELF, &s) < 0)
+            RETURN(STRING* STRINGNULL);
+        else
+            RETURN(STRING* s);
+    }
 
 /*
 

Modified: trunk/src/utils.c
==============================================================================
--- trunk/src/utils.c	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/src/utils.c	Thu May 27 08:45:23 2010	(r47051)
@@ -540,7 +540,7 @@
 
 /*
 
-=item C<PMC* tm_to_array(PARROT_INTERP, const struct tm *tm)>
+=item C<PMC* Parrot_tm_to_array(PARROT_INTERP, const struct tm *tm)>
 
 Helper to convert a B<struct tm *> to an Array
 
@@ -548,12 +548,13 @@
 
 */
 
+PARROT_EXPORT
 PARROT_WARN_UNUSED_RESULT
 PARROT_CANNOT_RETURN_NULL
 PMC*
-tm_to_array(PARROT_INTERP, ARGIN(const struct tm *tm))
+Parrot_tm_to_array(PARROT_INTERP, ARGIN(const struct tm *tm))
 {
-    ASSERT_ARGS(tm_to_array)
+    ASSERT_ARGS(Parrot_tm_to_array)
 
     PMC * const Array = Parrot_pmc_new(interp,
         Parrot_get_ctx_HLL_type(interp, enum_class_FixedIntegerArray));

Modified: trunk/t/compilers/imcc/imcpasm/opt1.t
==============================================================================
--- trunk/t/compilers/imcc/imcpasm/opt1.t	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/compilers/imcc/imcpasm/opt1.t	Thu May 27 08:45:23 2010	(r47051)
@@ -5,7 +5,7 @@
 use strict;
 use warnings;
 use lib qw( . lib ../lib ../../lib );
-use Parrot::Test tests => 78;
+use Parrot::Test tests => 77;
 use Parrot::Config;
 
 my $output;
@@ -312,22 +312,6 @@
 OUT
 
 ##############################
-pir_2_pasm_is( <<'CODE', <<'OUT', "constant cmod" );
-.sub _main
-   cmod $I0, 33, 10
-   cmod $N0, 33.0, 10.0
-   end
-.end
-CODE
-# IMCC does produce b0rken PASM files
-# see http://guest@rt.perl.org/rt3/Ticket/Display.html?id=32392
-_main:
-   set I0, 3
-   set N0, 3
-   end
-OUT
-
-##############################
 pir_2_pasm_is( <<'CODE', <<'OUT', "constant mod" );
 .sub _main
    mod $I0, 33, 10

Modified: trunk/t/compilers/imcc/syn/op.t
==============================================================================
--- trunk/t/compilers/imcc/syn/op.t	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/compilers/imcc/syn/op.t	Thu May 27 08:45:23 2010	(r47051)
@@ -4,7 +4,7 @@
 
 .sub test :main
     .include 'test_more.pir'
-    plan(59)
+    plan(58)
 
     test_plus_equal()
     test_minus_equal()
@@ -21,7 +21,6 @@
     test_x_defined()
     test_x_clone()
     test_x_length()
-    test_x_sin()
     test_x_can()
     test_x_isa()
     test_x_add()
@@ -174,11 +173,6 @@
     is($I0, 0, 'x = length')
 .end
 
-.sub test_x_sin
-    $N0 = sin 0
-    is($N0, 0, 'x = sin')
-.end
-
 .sub test_x_can
     $P0 = new 'FileHandle'
     $I0 = can $P0, "puts"

Modified: trunk/t/compilers/imcc/syn/tail.t
==============================================================================
--- trunk/t/compilers/imcc/syn/tail.t	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/compilers/imcc/syn/tail.t	Thu May 27 08:45:23 2010	(r47051)
@@ -15,6 +15,8 @@
 $ENV{TEST_PROG_ARGS} = '-Oc';
 
 pir_output_is( <<'CODE', <<'OUT', "tail call optimization, final position" );
+.loadlib 'io_ops'
+
 .sub _main :main
     $P1 = new 'Integer'
     $P1 = 20
@@ -97,6 +99,8 @@
 
 pir_output_is( <<'CODE', <<'OUT', "tail call optimization, intermediate position" );
 
+.loadlib 'io_ops'
+
 .sub _main :main
     $P1 = new 'Integer'
     $P1 = 20
@@ -171,6 +175,8 @@
 
 pir_output_is( <<'CODE', <<'OUT', "tail call optimization, implicit final return" );
 
+.loadlib 'io_ops'
+
 .sub _main :main
 
     $P1 = new 'Integer'
@@ -250,6 +256,8 @@
 
 pir_output_is( <<'CODE', <<'OUT', ":flatten in .return" );
 
+.loadlib 'io_ops'
+
 .sub _main :main
 
     $P1 = new 'Integer'

Modified: trunk/t/compilers/pge/p5regex/p5rx.t
==============================================================================
--- trunk/t/compilers/pge/p5regex/p5rx.t	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/compilers/pge/p5regex/p5rx.t	Thu May 27 08:45:23 2010	(r47051)
@@ -55,6 +55,8 @@
 
 .const int TESTS = 960
 
+.loadlib 'io_ops'
+
 .sub main :main
     load_bytecode 'Test/Builder.pbc'
     load_bytecode 'PGE.pbc'

Modified: trunk/t/compilers/pge/perl6regex/01-regex.t
==============================================================================
--- trunk/t/compilers/pge/perl6regex/01-regex.t	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/compilers/pge/perl6regex/01-regex.t	Thu May 27 08:45:23 2010	(r47051)
@@ -54,6 +54,8 @@
 
 .const string TESTS = 'no_plan'
 
+.loadlib 'io_ops'
+
 .sub main :main
     load_bytecode 'Test/Builder.pbc'
     load_bytecode 'PGE.pbc'

Copied: trunk/t/dynoplibs/bit.t (from r47047, branches/ops_massacre/t/dynoplibs/bit.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/t/dynoplibs/bit.t	Thu May 27 08:45:23 2010	(r47051, copy of r47047, branches/ops_massacre/t/dynoplibs/bit.t)
@@ -0,0 +1,297 @@
+#!./parrot
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+=head1 NAME
+
+t/dynoplibs/bit.t - Bitwise Dynops
+
+=head1 SYNOPSIS
+
+        % prove t/dynoplibs/bit.t
+
+=head1 DESCRIPTION
+
+Tests basic arithmetic on various combinations of Parrot integer and
+number types.
+
+=cut
+
+.loadlib 'bit_ops'
+
+.sub main :main
+    .include 'test_more.pir'
+
+    plan(56)
+
+    bnot_p_p_creates_destination()
+    bands_null_string()
+    bands_2()
+    bands_3()
+    bands_cow()
+    bors_null_string()
+    bors_2()
+    bors_3()
+    bors_cow()
+    bxors_null_string()
+    bxors_2()
+    bxors_3()
+    bxors_cow()
+    bnots_null_string()
+    bnots_2()
+    bnots_cow()
+    # END_OF_TESTS
+
+.end
+
+.sub 'bnot_p_p_creates_destination'
+    $P0 = box 3
+    $P1 = bnot $P0
+    is( $P1, -4, 'bnot_p_p_creates_destination')
+.end
+
+.sub bands_null_string
+    null $S1
+    set $S2, "abc"
+    $S1 = bands $S1, $S2
+    null $S3
+    is( $S1, $S3, 'ok1' )
+
+    set $S1, ""
+    $S1 = bands $S1, $S2
+    nok( $S1, 'ok2' )
+
+    null $S2
+    set $S1, "abc"
+    $S1 = bands $S1, $S2
+    null $S3
+    is( $S1, $S3, 'ok3' )
+
+    set $S2, ""
+    $S1 = bands $S1, $S2
+    nok( $S1, 'ok4' )
+.end
+
+.sub bands_2
+    set $S1, "abc"
+    set $S2, "EE"
+    $S1 = bands $S1, $S2
+    is( $S1, "A@", 'bands 2' )
+    is( $S2, "EE", 'bands 2' )
+.end
+
+.sub bands_3
+    set $S1, "abc"
+    set $S2, "EE"
+    bands $S0, $S1, $S2
+    is( $S0, "A@", 'bands 3' )
+    is( $S1, "abc", 'bands 3' )
+    is( $S2, "EE", 'bands 3' )
+.end
+
+.sub bands_cow
+    set $S1, "foo"
+    substr $S2, $S1, 0, 3
+    $S1 = bands $S1, "bar"
+    is( $S2, "foo", 'bands COW' )
+.end
+
+.sub bors_null_string
+    null $S1
+    null $S2
+    $S1 = bors $S1, $S2
+    null $S3
+    is( $S1, $S3, 'bors NULL string' )
+
+    null $S1
+    set $S2, ""
+    $S1 = bors $S1, $S2
+    null $S3
+    is( $S1, $S3, 'bors NULL string' )
+
+    $S2 = bors $S2, $S1
+    is( $S2, $S3, 'bors NULL string' )
+
+    null $S1
+    set $S2, "def"
+    $S1 = bors $S1, $S2
+    is( $S1, "def", 'bors NULL string' )
+
+    null $S2
+    $S1 = bors $S1, $S2
+    is( $S1, "def", 'bors NULL string' )
+
+    null $S1
+    null $S2
+    bors $S3, $S1, $S2
+    null $S4
+    is( $S3, $S4, 'bors NULL string' )
+
+    set $S1, ""
+    bors $S3, $S1, $S2
+    is( $S3, $S4, 'bors NULL string' )
+
+    bors $S3, $S2, $S1
+    is( $S3, $S4, 'bors NULL string' )
+
+    set $S1, "def"
+    bors $S3, $S1, $S2
+    is( $S3, "def", 'bors NULL string' )
+
+    bors $S3, $S2, $S1
+    is( $S3, "def", 'bors NULL string' )
+.end
+
+.sub bors_2
+    set $S1, "abc"
+    set $S2, "EE"
+    $S1 = bors $S1, $S2
+    is( $S1, "egc", 'bors 2' )
+    is( $S2, "EE", 'bors 2' )
+.end
+
+.sub bors_3
+    set $S1, "abc"
+    set $S2, "EE"
+    bors $S0, $S1, $S2
+    is( $S0, "egc", 'bors 3' )
+    is( $S1, "abc", 'bors 3' )
+    is( $S2, "EE", 'bors 3' )
+.end
+
+.sub bors_cow
+    set $S1, "foo"
+    substr $S2, $S1, 0, 3
+    $S1 = bors $S1, "bar"
+    is( $S2, "foo", 'bors COW' )
+.end
+
+.sub bxors_null_string
+    null $S1
+    null $S2
+    $S1 = bxors $S1, $S2
+    null $S3
+    is( $S1, $S3, 'bxors NULL string' )
+
+    null $S1
+    set $S2, ""
+    $S1 = bxors $S1, $S2
+    null $S3
+    is( $S1, $S3, 'bxors NULL string' )
+
+    $S2 = bxors $S2, $S1
+    is( $S2, $S3, 'bxors NULL string' )
+
+    null $S1
+    set $S2, "abc"
+    $S1 = bxors $S1, $S2
+    is( $S1, "abc", 'bxors NULL string' )
+
+    null $S2
+    $S1 = bxors $S1, $S2
+    is( $S1, "abc", 'bxors NULL string' )
+
+    null $S1
+    null $S2
+    bxors $S3, $S1, $S2
+    null $S4
+    is( $S3, $S4, 'bxors NULL string' )
+
+    set $S1, ""
+    bxors $S3, $S1, $S2
+    is( $S3, $S4, 'bxors NULL string' )
+
+    bxors $S3, $S2, $S1
+    is( $S3, $S4, 'bxors NULL string' )
+
+    set $S1, "abc"
+    bxors $S3, $S1, $S2
+    is( $S3, "abc", 'bxors NULL string' )
+
+    bxors $S3, $S2, $S1
+    is( $S3, "abc", 'bxors NULL string' )
+.end
+
+.sub bxors_2
+    set $S1, "a2c"
+    set $S2, "Dw"
+    $S1 = bxors $S1, $S2
+    is( $S1, "%Ec", 'bxors 2' )
+    is( $S2, "Dw", 'bxors 2' )
+
+    set $S1, "abc"
+    set $S2, "   X"
+    $S1 = bxors $S1, $S2
+    is( $S1, "ABCX", 'bxors 2' )
+    is( $S2, "   X", 'bxors 2' )
+.end
+
+.sub bxors_3
+    set $S1, "a2c"
+    set $S2, "Dw"
+    bxors $S0, $S1, $S2
+    is( $S0, "%Ec", 'bxors 3' )
+    is( $S1, "a2c", 'bxors 3' )
+    is( $S2, "Dw", 'bxors 3' )
+
+    set $S1, "abc"
+    set $S2, "   Y"
+    bxors $S0, $S1, $S2
+    is( $S0, "ABCY", 'bxors 3' )
+    is( $S1, "abc", 'bxors 3' )
+    is( $S2, "   Y", 'bxors 3' )
+.end
+
+.sub bxors_cow
+    set $S1, "foo"
+    substr $S2, $S1, 0, 3
+    $S1 = bxors $S1, "bar"
+    is( $S2, "foo", 'bxors COW' )
+.end
+
+.sub bnots_null_string
+    null $S1
+    null $S2
+    bnots $S1, $S2
+    null $S3
+    is( $S1, $S3, 'bnots NULL string' )
+
+    null $S1
+    set $S2, ""
+    bnots $S1, $S2
+    null $S3
+    is( $S1, $S3, 'bnots NULL string' )
+
+    bnots $S2, $S1
+    is( $S2, $S3, 'bnots NULL string' )
+.end
+
+# This was the previous test used for t/native_pbc/string.t
+.sub bnots_2
+    skip( 4, "No unicode yet" )
+    # getstdout $P0
+    # push $P0, "utf8"
+    # set $S1, "a2c"
+    # bnots $S2, $S1
+    # is( $S1, "a2c", 'bnots 2' )
+    # is( $S2, "\xC2\x9E\xC3\x8D\xC2\x9C", 'bnots 2' )
+    #
+    # bnots $S1, $S1
+    # is( $S1, "\xC2\x9E\xC3\x8D\xC2\x9C", 'bnots 2' )
+    #
+    # bnots $S1, $S1
+    # is( $S1, "a2c", 'bnots 2' )
+.end
+
+.sub bnots_cow
+    set $S1, "foo"
+    substr $S2, $S1, 0, 3
+    bnots $S1, $S1
+    is( $S2, "foo", 'bnots COW' )
+.end
+
+# Local Variables:
+#   mode: pir
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4 ft=pir:

Copied: trunk/t/dynoplibs/debug.t (from r47047, branches/ops_massacre/t/dynoplibs/debug.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/t/dynoplibs/debug.t	Thu May 27 08:45:23 2010	(r47051, copy of r47047, branches/ops_massacre/t/dynoplibs/debug.t)
@@ -0,0 +1,202 @@
+#!perl
+# Copyright (C) 2001-2007, Parrot Foundation.
+# $Id$
+
+use strict;
+use warnings;
+use lib qw( . lib ../lib ../../lib );
+use Test::More;
+use Parrot::Test tests => 8;
+
+=head1 NAME
+
+t/op/debuginfo.t - Debugging Info
+
+=head1 SYNOPSIS
+
+        % prove t/op/debuginfo.t
+
+=head1 DESCRIPTION
+
+Tests the various set and get operations for line, package and file info,
+as well as backtrace tests.
+
+=cut
+
+$ENV{TEST_PROG_ARGS} ||= '';
+my $nolineno = $ENV{TEST_PROG_ARGS} =~ /--runcore=fast/
+    ? "\\(unknown file\\)\n-1" : "debug_\\d+\\.pasm\n\\d";
+
+#SKIP: {
+#skip "disabled on fast-core",1 if $ENV{TEST_PROG_ARGS} =~ /--runcore=fast/;
+
+pasm_output_like( <<'CODE', <<"OUTPUT", "getline, getfile" );
+.loadlib 'debug_ops'
+.pcc_sub main:
+    getfile S0
+    getline I0
+    say S0
+    say I0
+    end
+CODE
+/$nolineno/
+OUTPUT
+
+pir_error_output_like( <<'CODE', <<'OUTPUT', "debug backtrace - Null PMC access" );
+.sub main
+    print "ok 1\n"
+    a()
+    print "not ok 10\n"
+.end
+.sub a
+    print "ok 2\n"
+    b()
+    print "not ok 9\n"
+.end
+.sub b
+    print "ok 3\n"
+    c()
+    print "not ok 8\n"
+.end
+.sub c
+    print "ok 4\n"
+    d()
+    print "not ok 7\n"
+.end
+.sub d
+    print "ok 5\n"
+    $P0 = null
+    $P0()
+    print "not ok 6\n"
+.end
+CODE
+/^ok 1
+ok 2
+ok 3
+ok 4
+ok 5
+Null PMC access in invoke\(\)
+current instr\.: 'd' pc (\d+|-1) \(.*?:(\d+|-1)\)
+called from Sub 'c' pc (\d+|-1) \(.*?:(\d+|-1)\)
+called from Sub 'b' pc (\d+|-1) \(.*?:(\d+|-1)\)
+called from Sub 'a' pc (\d+|-1) \(.*?:(\d+|-1)\)
+called from Sub 'main' pc (\d+|-1) \(.*?:(\d+|-1)\)$/
+OUTPUT
+
+pir_error_output_like( <<'CODE', <<'OUTPUT', "debug backtrace - method not found" );
+.namespace ["Test1"]
+.sub main
+    print "ok 1\n"
+    foo()
+    print "not ok 5\n"
+.end
+.sub foo
+    print "ok 2\n"
+    $P0 = new 'Integer'
+    print "ok 3\n"
+    $P0."nosuchmethod"()
+    print "not ok 4\n"
+.end
+CODE
+/^ok 1
+ok 2
+ok 3
+Method 'nosuchmethod' not found for invocant of class 'Integer'
+current instr.: 'parrot;Test1;foo' pc (\d+|-1) \(.*?:(\d+|-1)\)
+called from Sub 'parrot;Test1;main' pc (\d+|-1) \(.*?:(\d+|-1)\)$/
+OUTPUT
+
+pir_error_output_like( <<'CODE', <<'OUTPUT', "debug backtrace - fetch of unknown lexical" );
+.namespace ["Test2"]
+.sub main
+    print "ok 1\n"
+    foo()
+    print "not ok 3\n"
+.end
+.sub foo :lex
+    print "ok 2\n"
+    find_lex $P0, "nosuchlex"
+    print "not ok 3\n"
+.end
+CODE
+/^ok 1
+ok 2
+Lexical 'nosuchlex' not found
+current instr.: 'parrot;Test2;foo' pc (\d+|-1) \(.*?:(\d+|-1)\)
+called from Sub 'parrot;Test2;main' pc (\d+|-1) \(.*?:(\d+|-1)\)$/
+OUTPUT
+
+pir_error_output_like( <<'CODE', <<'OUTPUT', "debug backtrace - recursion 1" );
+.sub main
+    main()
+.end
+CODE
+/^maximum recursion depth exceeded
+current instr\.: 'main' pc (\d+|-1) \(.*?:(\d+|-1)\)
+called from Sub 'main' pc (\d+|-1) \(.*?:(\d+|-1)\)
+\.\.\. call repeated \d+ times/
+OUTPUT
+
+pir_error_output_like( <<'CODE', <<'OUTPUT', "debug backtrace - recursion 2" );
+.sub main
+    rec(91)
+.end
+.sub rec
+    .param int i
+    if i == 0 goto END
+    dec i
+    rec(i)
+    .return()
+END:
+    $P0 = null
+    $P0()
+.end
+CODE
+/^Null PMC access in invoke\(\)
+current instr\.: 'rec' pc (\d+|-1) \(.*?:(\d+|-1)\)
+called from Sub 'rec' pc (\d+|-1) \(.*?:(\d+|-1)\)
+\.\.\. call repeated 90 times
+called from Sub 'main' pc (\d+|-1) \(.*?:(\d+|-1)\)$/
+OUTPUT
+
+$nolineno = $ENV{TEST_PROG_ARGS} =~ /--runcore=fast/
+    ? '\(\(unknown file\):-1\)' : '\(xyz.pir:126\)';
+
+pir_error_output_like( <<'CODE', <<"OUTPUT", "setfile and setline" );
+.sub main :main
+    setfile "xyz.pir"
+    setline 123
+    $S0 = 'hello'
+    $I0 = 456
+    'no_such_function'($S0, $I0)
+.end
+CODE
+/$nolineno/
+OUTPUT
+
+$nolineno = $ENV{TEST_PROG_ARGS} =~ /--runcore=fast/
+    ? '\(\(unknown file\):-1\)' : '\(foo.p6:128\)';
+pir_error_output_like( <<'CODE', <<"OUTPUT", "setfile and setline" );
+.sub main :main
+    setfile "foo.p6"
+    setline 123
+    $P0 = new 'Integer'
+    assign $P0, 9876
+    set_global '$a', $P0
+
+    setline 124
+    $P0 = get_global '$a'
+    $P1 = clone $P0
+    add $P1, 1
+    'nsf'($P1)
+.end
+CODE
+/$nolineno/
+OUTPUT
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: trunk/t/dynoplibs/io.t (from r47047, branches/ops_massacre/t/dynoplibs/io.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/t/dynoplibs/io.t	Thu May 27 08:45:23 2010	(r47051, copy of r47047, branches/ops_massacre/t/dynoplibs/io.t)
@@ -0,0 +1,198 @@
+#!./parrot
+# Copyright (C) 2008, Parrot Foundation.
+# $Id$
+
+=head1 NAME
+
+t/op/io.t - Testing io opcodes
+
+=head1 SYNOPSIS
+
+    % prove t/op/io.t
+
+=head1 DESCRIPTION
+
+Tests various io opcodes.
+
+=cut
+
+.const int TESTS = 5
+
+.loadlib 'io_ops'
+
+.sub 'main' :main
+    .include 'test_more.pir'
+
+    plan(TESTS)
+
+    open_delegates_to_filehandle_pmc()
+    open_null_filename()
+    open_null_mode()
+    open_pipe_for_reading()
+    getfd_fdopen()
+    open_pipe_for_writing() # must be last (doesn't use test_more)
+.end
+
+.sub open_delegates_to_filehandle_pmc
+    load_bytecode 'P6object.pbc'
+
+    .local pmc p6meta, interp, classes, classid
+    p6meta = get_root_global ["parrot"], "P6metaclass"
+    p6meta.'new_class'('Testing')
+
+    interp = getinterp
+    classes = interp[0]
+    classid = classes['Testing']
+    $I0 = classes['FileHandle']
+    set classes['FileHandle'], classid
+
+    $P1 = open '/foo'
+    is($P1,42,'open opcode delegates to the open method on the FileHandle PMC')
+
+    # replace the original, so we don't break other tests
+    set classes['FileHandle'], $I0
+
+.end
+
+.sub 'open_null_filename'
+    push_eh open_null_filename_failed
+    null $S0
+    $P0 = open $S0, 'r'
+    nok(1, 'open with null filename')
+    .return ()
+
+  open_null_filename_failed:
+    ok(1, 'open with null filename')
+.end
+
+.sub 'open_null_mode'
+    push_eh open_null_mode_failed
+    null $S0
+    $P0 = open 'some_name', $S0
+    nok(1, 'open with null mode')
+    .return ()
+
+  open_null_mode_failed:
+    ok(1, 'open with null mode')
+.end
+
+.loadlib 'sys_ops'
+.sub 'tt661_todo_test' :anon
+    # As of r41963, these tests need to be todo'ed at least on Win32. Add new
+    # platforms known to fail.
+    .include 'sysinfo.pasm'
+    $S0 = sysinfo .SYSINFO_PARROT_OS
+    if $S0 == 'MSWin32' goto tt661_todo
+
+    .return (0)
+
+  tt661_todo:
+    .return (1)
+.end
+
+.include 'iglobals.pasm'
+
+.sub 'open_pipe_for_reading'
+    .local pmc interp
+    interp = getinterp
+
+    .local pmc conf
+    conf = interp[.IGLOBALS_CONFIG_HASH]
+
+    .local string command
+    command = conf['build_dir']
+
+    .local string aux
+    aux = conf['slash']
+    command .= aux
+    aux = conf['test_prog']
+    command .= aux
+    aux = conf['exe']
+    command .= aux
+    command .= ' -V'
+
+    .local pmc pipe
+    pipe = open command, 'rp'
+    unless pipe goto open_pipe_for_reading_failed
+    .local string line
+    line = readline pipe
+    line = substr line, 0, 14
+    is('This is Parrot', line, 'open pipe for reading')
+    .return ()
+
+  open_pipe_for_reading_failed:
+    nok(1, 'open pipe for reading')
+    .return ()
+.end
+
+.sub 'open_pipe_for_writing'
+    $I0 = tt661_todo_test()
+    if $I0 goto open_pipe_for_writing_todoed
+    .local pmc interp
+    interp = getinterp
+
+    .local pmc conf
+    conf = interp[.IGLOBALS_CONFIG_HASH]
+
+    .local string command
+    command = conf['build_dir']
+
+    .local string aux
+    aux = conf['slash']
+    command .= aux
+    .local string filename
+    filename .= command
+    filename .= 'examples/pasm/cat.pasm'
+    aux = conf['test_prog']
+    command .= aux
+    aux = conf['exe']
+    command .= aux
+    command .= ' '
+    command .= filename
+
+    .local pmc pipe
+    pipe = open command, 'wp'
+    unless pipe goto open_pipe_for_writing_failed
+
+    pipe.'puts'("ok 5 - open pipe for writing\n")
+    close pipe
+    .return ()
+
+  open_pipe_for_writing_failed:
+    nok(1, 'open pipe for writing')
+    .return ()
+
+  open_pipe_for_writing_todoed:
+    todo(0, 'Unimplemented in this platform, TT #661')
+
+.end
+
+# TT #1178
+.sub 'getfd_fdopen'
+    getstdout $P0
+    $I0 = $P0.'get_fd'()
+    fdopen $P1, $I0, 'w'
+    $I0 = defined $P1
+    ok($I0, 'get_fd()/fdopen')
+    close $P1
+
+    getstdout $P0
+    $I0 = $P0.'get_fd'()
+    fdopen $P1, $I0, 'w'
+    $I0 = defined $P1
+    ok($I0, 'fdopen - no close')
+.end
+
+.namespace ["Testing"]
+
+.sub open :method
+    .param pmc args :slurpy
+    .return(42)
+.end
+
+
+# Local Variables:
+#   mode: pir
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4 ft=pir:

Modified: trunk/t/dynoplibs/math.t
==============================================================================
--- trunk/t/dynoplibs/math.t	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/dynoplibs/math.t	Thu May 27 08:45:23 2010	(r47051)
@@ -16,11 +16,21 @@
 
 =cut
 
+.macro exception_is ( M )
+    .local pmc exception
+    .local string message
+    .get_results (exception)
+
+    message = exception['message']
+    is( message, .M, .M )
+.endm
+
 .loadlib 'math_ops'
+
 .sub main :main
     .include 'test_more.pir'
     .include 'fp_equality.pasm'
-    plan(20)
+    plan(34)
     ok(1, "load math_ops")
     rand $I0
     test_2_arg_int()
@@ -32,6 +42,15 @@
     test_local_nums()
     test_local_nums_2_arg()
     test_local_ints()
+    test_cmod_n()
+    test_exception_cmod_n_n_n_by_zero()
+    test_exception_cmod_n_nc_n_by_zero()
+    test_exception_cmod_n_n_nc_by_zero()
+    test_cmod()
+    test_cmod_i_i_i_by_zero()
+    test_cmod_i_ic_i_by_zero()
+    test_cmod_i_i_ic_by_zero()
+    test_cmod_float_integer_pmc_nan()
 .end
 
 .sub test_2_arg_int
@@ -178,6 +197,114 @@
 finish:
 .end
 
+.sub test_cmod_n
+    set     $N0, 5.000
+    set     $N1, 3.000
+    cmod    $N2, $N0, $N1
+    is( $N2, "2", 'cmod_n' )
+.end
+
+.sub test_exception_cmod_n_n_n_by_zero
+    push_eh handler
+    set $N0, 0
+    set $N1, 10
+    cmod $N2, $N1, $N0
+  handler:
+    .exception_is( 'Divide by zero' )
+.end
+
+.sub test_exception_cmod_n_nc_n_by_zero
+    push_eh handler
+    set $N0, 0
+    cmod $N2, 10, $N0
+  handler:
+    .exception_is( 'Divide by zero' )
+.end
+
+.sub test_exception_cmod_n_n_nc_by_zero
+    push_eh handler
+    set $N1, 10
+    cmod $N2, $N1, 0
+  handler:
+    .exception_is( 'Divide by zero' )
+.end
+
+.sub 'test_cmod'
+    $I0 = 5
+    $I1 = 3
+    $I2 = cmod $I0, $I1
+    is($I2, 2, 'cmod_i_i_i')
+    is($I0, 5, 'cmod_i_i_i - dividend unchanged')
+    is($I1, 3, 'cmod_i_i_i - divisor unchanged')
+
+    $I0 = 12
+
+    $I1 = cmod $I0, 10
+    is($I1, 2, 'cmod_i_i_ic')
+
+    $I1 = cmod 14, $I0
+    is($I1, 2, 'cmod_i_ic_i')
+
+    $I1 = cmod 13, 11
+    is($I1, 2, 'cmod_i_ic_ic')
+.end
+
+.sub 'test_cmod_i_i_i_by_zero'
+    $I0 = 0
+    $I1 = 10
+    push_eh test_cmod_i_i_i_by_zero_catch
+    $I2 = cmod $I1, $I0
+    pop_eh
+    $I3 = 0
+    goto test_cmod_i_i_i_by_zero_end
+
+  test_cmod_i_i_i_by_zero_catch:
+    $I3 = 1
+
+  test_cmod_i_i_i_by_zero_end:
+    ok($I3, 'cmod_i_i_i by zero')
+.end
+
+.sub 'test_cmod_i_ic_i_by_zero'
+    $I0 = 0
+    push_eh test_cmod_i_ic_i_by_zero_catch
+    $I2 = cmod 10, $I0
+    pop_eh
+    $I3 = 0
+    goto test_cmod_i_ic_i_by_zero_end
+
+  test_cmod_i_ic_i_by_zero_catch:
+    $I3 = 1
+
+  test_cmod_i_ic_i_by_zero_end:
+    ok($I3, 'cmod_i_ic_i by zero')
+.end
+
+.sub 'test_cmod_i_i_ic_by_zero'
+    $I1 = 10
+    push_eh test_cmod_i_i_ic_by_zero_catch
+    $I2 = cmod $I1, 0
+    pop_eh
+    $I3 = 0
+    goto test_cmod_i_i_ic_by_zero_end
+
+  test_cmod_i_i_ic_by_zero_catch:
+    $I3 = 1
+
+  test_cmod_i_i_ic_by_zero_end:
+    ok($I3, 'cmod_i_i_ic by zero')
+.end
+
+.sub test_cmod_float_integer_pmc_nan
+    $P1 = new 'Float'
+    $P2 = new 'Integer'
+    $P2 = 1
+    $N0 = 'NaN'
+    cmod $P1, $P2, $N0
+    #is($P1, 'NaN', 'cmod with Float and Integer PMCs and NaN')
+    todo(0, 'cmod with Float and Integer PMCs and NaN', 'cmod does not play nicely with PMCs and NaN')
+.end
+
 # Local Variables:
 #   mode: pir
 #   fill-column: 100

Modified: trunk/t/dynoplibs/obscure.t
==============================================================================
--- trunk/t/dynoplibs/obscure.t	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/dynoplibs/obscure.t	Thu May 27 08:45:23 2010	(r47051)
@@ -17,6 +17,8 @@
 =cut
 
 .loadlib 'obscure_ops'
+.loadlib 'trans_ops'    # needed for atan
+
 .sub main :main
     .include 'fp_equality.pasm'
     .include 'test_more.pir'

Copied: trunk/t/dynoplibs/sysinfo.t (from r47047, branches/ops_massacre/t/dynoplibs/sysinfo.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/t/dynoplibs/sysinfo.t	Thu May 27 08:45:23 2010	(r47051, copy of r47047, branches/ops_massacre/t/dynoplibs/sysinfo.t)
@@ -0,0 +1,191 @@
+#!perl
+# Copyright (C) 2008-2010, Parrot Foundation.
+# $Id$
+
+# initial work by Brad Gilbert b2gills <at> gmail <dot> com
+
+use strict;
+use warnings;
+use lib qw( . lib ../lib ../../lib );
+
+use Test::More;
+use Config;
+
+use Parrot::Test tests => 14;
+use Parrot::Config;
+
+
+=head1 NAME
+
+t/op/sysinfo.t - System Info
+
+=head1 SYNOPSIS
+
+        % prove t/op/sysinfo.t
+
+=head1 DESCRIPTION
+
+Tests for basic system information.
+
+=over 4
+
+=item 1 The size of a platform integer
+
+=item 2 The size of a platform float
+
+=item 3 The size of a platform pointer. (Largest possible data pointer)
+
+=item 4 The OS name
+
+=item 5 The OS version string
+
+=item 6 The OS version number string
+
+=item 7 The CPU architecture
+
+=item 8 The CPU model
+
+=item 9, 10 The min and max INTVAL values
+
+=back
+
+=cut
+
+
+my @setup = (
+    { pconfig_key => 'intvalsize',
+      pasm_key    => 1,
+      pir_key     => 'SYSINFO_PARROT_INTSIZE',
+      desc        => 'integer size',
+      reg_type    => 'I',
+    },
+    { pconfig_key => 'doublesize',
+      pasm_key    => 2,
+      pir_key     => 'SYSINFO_PARROT_FLOATSIZE',
+      desc        => 'float size',
+      reg_type    => 'I',
+    },
+    { pconfig_key => 'ptrsize',
+      pasm_key    => 3,
+      pir_key     => 'SYSINFO_PARROT_POINTERSIZE',
+      desc        => 'pointer size',
+      reg_type    => 'I',
+    },
+    { pconfig_key => 'osname',
+      pasm_key    => 4,
+      pir_key     => 'SYSINFO_PARROT_OS',
+      desc        => 'osname',
+      reg_type    => 'S',
+    },
+    { pconfig_key => 'cpuarch',
+      pasm_key    => 7,
+      pir_key     => 'SYSINFO_CPU_ARCH',
+      desc        => 'CPU Arch Family',
+      reg_type    => 'S',
+    },
+);
+
+foreach ( @setup ) {
+    if ( $_->{reg_type} eq 'I' ) {
+        pasm_output_is( <<"CODE", $PConfig{$_->{pconfig_key}}, "PASM sysinfo  $_->{desc}" );
+    .loadlib 'sys_ops'
+    sysinfo_i_ic I1, $_->{pasm_key}
+    print I1
+end
+CODE
+        pir_output_is( <<"CODE", $PConfig{$_->{pconfig_key}}, "PIR sysinfo  $_->{desc}" );
+.loadlib 'sys_ops'
+.include 'sysinfo.pasm'
+.sub main :main
+    \$I0 = sysinfo .$_->{pir_key}
+    print \$I0
+.end
+CODE
+    }
+    else {
+        pasm_output_is( <<"CODE", $PConfig{$_->{pconfig_key}}, "sysinfo $_->{desc}" );
+    .loadlib 'sys_ops'
+    sysinfo_s_ic S1, $_->{pasm_key}
+    print S1
+end
+CODE
+        pir_output_is( <<"CODE", $PConfig{$_->{pconfig_key}}, "PIR sysinfo  $_->{desc}" );
+.loadlib 'sys_ops'
+.include 'sysinfo.pasm'
+.sub main :main
+    \$S0 = sysinfo .$_->{pir_key}
+    print \$S0
+.end
+CODE
+    }
+}
+
+SKIP:
+{
+    $PConfig{osname} eq 'MSWin32'
+        or skip "Tests only meaningful on Win32", 2;
+    SKIP:
+    {
+        eval { require Win32; } or
+            skip "requires package Win32 for these tests", 2;
+
+        my $osname = Win32::GetOSName();
+        $osname = 'WinXP' if $osname =~ m/^WinXP/;
+        TODO: {
+            local $TODO = "Not Currently Implemented";
+            pasm_output_is( <<'CODE', $osname, "sysinfo OS version string" );
+    .loadlib 'sys_ops'
+    sysinfo_s_ic S1, 5
+    print S1
+end
+CODE
+
+            my ( $osvername, $major, $minor, $id ) = Win32::GetOSVersion();
+
+            pasm_output_is( <<'CODE', "$major.$minor", "sysinfo OS version number string" );
+    .loadlib 'sys_ops'
+    sysinfo_s_ic S1, 6
+    print S1
+end
+CODE
+        } # END todo block
+    } # END inner SKIP block
+} # END outer SKIP block
+
+SKIP:
+{
+    skip "Requires a lot of work to find out the correct answer", 1;
+
+    pasm_output_is( <<'CODE', $PConfig{archname}, "sysinfo CPU Model" );
+   .loadlib 'sys_ops'
+   sysinfo_s_ic S1, 8
+   print S1
+end
+CODE
+}
+
+# 9, 10
+
+SKIP:
+{
+    skip 'Testing only in some known platforms', 1
+        unless $PConfig{osname} eq 'linux';
+
+    pir_output_like( <<'CODE', '/^-[1-9][0-9]*\n[1-9][0-9]*\n$/', 'INTVAL min and max values');
+.loadlib 'sys_ops'
+.include 'sysinfo.pasm'
+.sub main :main
+    $I0 = sysinfo .SYSINFO_PARROT_INTMIN
+    say $I0
+    $I0 = sysinfo .SYSINFO_PARROT_INTMAX
+    say $I0
+.end
+CODE
+}
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: trunk/t/dynoplibs/time.t (from r47047, branches/ops_massacre/t/dynoplibs/time.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/t/dynoplibs/time.t	Thu May 27 08:45:23 2010	(r47051, copy of r47047, branches/ops_massacre/t/dynoplibs/time.t)
@@ -0,0 +1,89 @@
+#!./parrot
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+=head1 NAME
+
+t/dynoplibs/time.t - Time Dynops
+
+=cut
+
+.loadlib 'sys_ops'
+
+.sub main :main
+    .include 'test_more.pir'
+
+    plan(10)
+
+    test_gmtime_s_i()
+    test_time_n_vs_time_i()
+    test_decodetime_p_i()
+    test_localtime_s_i()
+    test_decodelocaltime_p_i()
+.end
+
+.sub test_gmtime_s_i
+    $S0 = gmtime 0
+    $I0 = isnull $S0
+    is($I0, 0, "gmtime string is not null")
+    is($S0, "Thu Jan  1 00:00:00 1970\n", "correct epoch")
+    $I1 = length $S0
+    is($I1, 25, "string is the correct length")
+.end
+
+.sub test_time_n_vs_time_i
+    .local int time_int
+    time_int = time
+
+    .local num time_float
+    time_float = time
+
+    # check if time_float is within [time_int - 5;time_int + 5]
+    .local int time_int_lower
+    time_int_lower = time_int - 5
+    if time_float < time_int_lower goto FAIL
+    .local int time_int_upper
+    time_int_upper = time_int + 5
+    if time_float > time_int_upper goto FAIL
+
+    ok(1, "time_n value corresponds to time_i value")
+    .return()
+
+  FAIL:
+    ok(0, "time_n value does not correspond to time_t value")
+    .return()
+.end
+
+.sub test_decodetime_p_i
+    $P0 = decodetime 0
+    $I0 = $P0
+    is($I0, 9, "decodetime result has 9 values")
+    $S0 = typeof $P0
+    # TODO: Actually, this should return whatever HLL type replaces
+    # FixedIntegerArray. We should test this behavior with a new HLL
+    is($S0, "FixedIntegerArray", "decodetime returns the correct PMC type")
+.end
+
+.sub test_localtime_s_i
+    $S0 = localtime 0
+    $I0 = isnull $S0
+    is($I0, 0, "localtime string is not a null string")
+    $I0 = length $S0
+    is($I0, 25, "localtime string is the correct length")
+.end
+
+.sub test_decodelocaltime_p_i
+    $P0 = decodelocaltime 0
+    $I0 = $P0
+    is($I0, 9, "decodelocaltime result has 9 values")
+    $S0 = typeof $P0
+    # TODO: Actually, this should return whatever HLL type replaces
+    # FixedIntegerArray. We should test this behavior with a new HLL
+    is($S0, "FixedIntegerArray", "decodelocaltime returns the correct PMC type")
+.end
+
+# Local Variables:
+#   mode: pir
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4 ft=pir:

Copied: trunk/t/dynoplibs/trans-infnan.t (from r47047, branches/ops_massacre/t/dynoplibs/trans-infnan.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/t/dynoplibs/trans-infnan.t	Thu May 27 08:45:23 2010	(r47051, copy of r47047, branches/ops_massacre/t/dynoplibs/trans-infnan.t)
@@ -0,0 +1,332 @@
+#!./parrot
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+=head1 NAME
+
+t/dynoplibs/trans-infnan.t - Test Trans Dynops
+
+=head1 SYNOPSIS
+
+    %prove t/dynoplibs/trans-infnan.t
+
+=head1 DESCRIPTION
+
+Tests for C<Inf> and C<NaN> handling of transcendental ops in the C<trans_ops> dynlib.
+
+=cut
+
+.loadlib 'trans_ops'
+
+.sub main :main
+    .include 'test_more.pir'
+    plan(67)
+
+    test_exp()
+    test_sin()
+    test_sinh()
+    test_asin()
+    test_cos()
+    test_cosh()
+    test_acos()
+    test_tan()
+    test_tanh()
+    test_atan()
+    test_cot()
+    test_coth()
+    test_acot()
+    test_sec()
+    test_sech()
+    test_asec()
+    test_ln()
+    test_log10()
+    test_log2()
+    test_pow()
+.end
+
+.sub test_exp
+    $N0 = 'Inf'
+    $N1 = exp $N0
+    is($N1, 'Inf', 'exp: exp Inf')
+    $N0 = '-Inf'
+    $N1 = exp $N0
+    is($N1, 0, '... exp -Inf')
+    $N0 = 'NaN'
+    $N1 = exp $N0
+    is($N1, 'NaN', '... exp NaN')
+.end
+
+.sub test_sin
+    $N0 = 'Inf'
+    $N1 = sin $N0
+    is($N1, 'NaN', 'sin: sin Inf')
+    $N0 = '-Inf'
+    $N1 = sin $N0
+    is($N1, 'NaN', '... sin -Inf')
+    $N0 = 'NaN'
+    $N1 = sin $N0
+    is($N1, 'NaN', '... sin NaN')
+.end
+
+.sub test_sinh
+    $N0 = 'Inf'
+    $N1 = sinh $N0
+    is($N1, 'Inf', 'sinh: sinh Inf')
+    $N0 = '-Inf'
+    $N1 = sinh $N0
+    is($N1, '-Inf', '... sinh -Inf')
+    $N0 = 'NaN'
+    $N1 = sinh $N0
+    is($N1, 'NaN', '... sinh NaN')
+.end
+
+.sub test_asin
+    $N0 = 'Inf'
+    $N1 = asin $N0
+    is($N1, 'NaN', 'asin: asin Inf')
+    $N0 = '-Inf'
+    $N1 = asin $N0
+    is($N1, 'NaN', '... asin -Inf')
+    $N0 = 'NaN'
+    $N1 = asin $N0
+    is($N1, 'NaN', '... asin NaN')
+    $N0 = '-2'
+    $N1 = asin $N0
+    is($N1, 'NaN', '... asin -2')
+    $N0 = '2'
+    $N1 = asin $N0
+    is($N1, 'NaN', '... asin 2')
+.end
+
+.sub test_acos
+    $N0 = 'Inf'
+    $N1 = acos $N0
+    is($N1, 'NaN', 'acos: acos Inf')
+    $N0 = '-Inf'
+    $N1 = acos $N0
+    is($N1, 'NaN', '... acos -Inf')
+    $N0 = 'NaN'
+    $N1 = acos $N0
+    is($N1, 'NaN', '... acos NaN')
+    $N0 = '-2'
+    $N1 = acos $N0
+    is($N1, 'NaN', '... acos -2')
+    $N0 = '2'
+    $N1 = acos $N0
+    is($N1, 'NaN', '... acos 2')
+.end
+
+.sub test_cosh
+    $N0 = 'Inf'
+    $N1 = cosh $N0
+    is($N1, 'Inf', 'cosh: cosh Inf')
+    $N0 = '-Inf'
+    $N1 = cosh $N0
+    is($N1, 'Inf', '... cosh -Inf')
+    $N0 = 'NaN'
+    $N1 = cosh $N0
+    is($N1, 'NaN', '... cosh NaN')
+.end
+
+.sub test_cos
+    $N0 = 'Inf'
+    $N1 = cos $N0
+    is($N1, 'NaN', 'cos: cos Inf')
+    $N0 = '-Inf'
+    $N1 = cos $N0
+    is($N1, 'NaN', '... cos -Inf')
+    $N0 = 'NaN'
+    $N1 = cos $N0
+    is($N1, 'NaN', '... cos NaN')
+.end
+
+.sub test_tan
+    $N0 = 'Inf'
+    $N1 = tan $N0
+    is($N1, 'NaN', 'tan: tan Inf')
+    $N0 = '-Inf'
+    $N1 = tan $N0
+    is($N1, 'NaN', '... tan -Inf')
+    $N0 = 'NaN'
+    $N1 = tan $N0
+    is($N1, 'NaN', '... tan NaN')
+.end
+
+.sub test_tanh
+    $N0 = 'Inf'
+    $N1 = tanh $N0
+    is($N1, 1, 'tanh: tanh Inf')
+    $N0 = '-Inf'
+    $N1 = tanh $N0
+    is($N1, -1, '... tanh -Inf')
+    $N0 = 'NaN'
+    $N1 = tanh $N0
+    is($N1, 'NaN', '... tanh NaN')
+.end
+
+.sub test_atan
+    $N0 = 'Inf'
+    $N1 = atan $N0
+    $P1 = new 'Float'
+    $P1 = $N1
+    is($P1, 1.5707963, 'atan: atan Inf',1e-6)
+
+    $N0 = '-Inf'
+    $N1 = atan $N0
+    $P1 = new 'Float'
+    $P1 = $N1
+    is($P1, -1.5707963, '... atan -Inf',1e-6)
+
+    $N0 = 'NaN'
+    $N1 = atan $N0
+    is($N1, 'NaN', '... atan NaN')
+.end
+
+.sub test_coth
+    $N0 = 'Inf'
+    #$N1 = coth $N0
+    #is($N1, 1, 'coth: coth Inf')
+    todo(0, 'coth Inf', 'cot/coth/acot not implemented for real numbers')
+    $N0 = '-Inf'
+    #$N1 = coth $N0
+    #is($N1, -1, '... coth -Inf')
+    todo(0, 'coth -Inf', 'cot/coth/acot not implemented for real numbers')
+    $N0 = 'NaN'
+    #$N1 = coth $N0
+    #is($N1, 'NaN', '... coth NaN')
+    todo(0, 'coth NaN', 'cot/coth/acot not implemented for real numbers')
+.end
+
+.sub test_acot
+    $N0 = 'Inf'
+    #$N1 = acot $N0
+    #is($N1, 'NaN', 'acot: acot Inf')
+    todo(0, 'acot Inf', 'cot/coth/acot not implemented for real numbers')
+    $N0 = '-Inf'
+    #$N1 = acot $N0
+    #is($N1, 'NaN', '... acot -Inf')
+    todo(0, 'acot -Inf', 'cot/coth/acot not implemented for real numbers')
+    $N0 = 'NaN'
+    #$N1 = acot $N0
+    #is($N1, 'NaN', '... acot NaN')
+    todo(0, 'acot NaN', 'cot/coth/acot not implemented for real numbers')
+    $N0 = '-2'
+    #$N1 = acot $N0
+    #is($N1, 'NaN', '... acot -2')
+    todo(0, 'acot -2', 'cot/coth/acot not implemented for real numbers')
+    $N0 = '2'
+    #$N1 = acot $N0
+    #is($N1, 'NaN', '... acot 2')
+    todo(0, 'acot 2', 'cot/coth/acot not implemented for real numbers')
+.end
+
+.sub test_sec
+    $N0 = 'Inf'
+    $N1 = sec $N0
+    is($N1, 'NaN', 'sec: sec Inf')
+    $N0 = '-Inf'
+    $N1 = sec $N0
+    is($N1, 'NaN', '... sec -Inf')
+    $N0 = 'NaN'
+    $N1 = sec $N0
+    is($N1, 'NaN', '... sec NaN')
+.end
+
+.sub test_sech
+    $N0 = 'Inf'
+    $N1 = sech $N0
+    is($N1, 0, 'sech: sech Inf')
+    $N0 = '-Inf'
+    $N1 = sech $N0
+    is($N1, 0, '... sech -Inf')
+    $N0 = 'NaN'
+    $N1 = sech $N0
+    is($N1, 'NaN', '... sech NaN')
+.end
+
+.sub test_asec
+    $N0 = 'Inf'
+    $N1 = asec $N0
+    $P1 = new 'Float'
+    $P1 = $N1
+    is($P1, 1.5707963, 'asec: asec Inf',1e-6)
+    $N0 = '-Inf'
+    $N1 = asec $N0
+    $P1 = $N1
+    is($P1, 1.5707963, '... asec -Inf',1e-6)
+    $N0 = 'NaN'
+    $N1 = asec $N0
+    is($N1, 'NaN', 'asec NaN')
+.end
+
+.sub test_ln
+    $N0 = 'Inf'
+    $N1 = ln $N0
+    is($N1, 'Inf', 'ln: ln Inf')
+    $N0 = '-Inf'
+    $N1 = ln $N0
+    is($N1, 'NaN', '... ln Inf')
+    $N0 = 'NaN'
+    $N1 = ln $N0
+    is($N1, 'NaN', '... ln NaN')
+.end
+
+.sub test_log10
+    $N0 = 'Inf'
+    $N1 = log10 $N0
+    is($N1, 'Inf', 'log10: log10 Inf')
+    $N0 = '-Inf'
+    $N1 = log10 $N0
+    is($N1, 'NaN', '... log10 -Inf')
+    $N0 = 'NaN'
+    $N1 = log10 $N0
+    is($N1, 'NaN', '... log10 NaN')
+.end
+
+.sub test_log2
+    $N0 = 'Inf'
+    $N1 = log2 $N0
+    is($N1, 'Inf', 'log2: log2 Inf')
+    $N0 = '-Inf'
+    $N1 = log2 $N0
+    is($N1, 'NaN', '... log2 -Inf')
+    $N0 = 'NaN'
+    $N1 = log2 $N0
+    is($N1, 'NaN', '... log2 -Inf')
+.end
+
+
+.sub test_cot
+    $N0 = 'Inf'
+    #$N1 = cot $N0
+    #is($N1, 'NaN', 'cot: cot Inf')
+    todo(0, 'cot Inf', 'cot/coth/acot not implemented for real numbers')
+    $N0 = '-Inf'
+    #$N1 = cot $N0
+    #is($N1, 'NaN', '... cot -Inf')
+    todo(0, 'cot -Inf', 'cot/coth/acot not implemented for real numbers')
+    $N0 = 'NaN'
+    #$N1 = cot $N0
+    #is($N1, 'NaN', '... cot NaN')
+    todo(0, 'cot NaN', 'cot/coth/acot not implemented for real numbers')
+.end
+
+.sub test_pow
+    $N0 = 'Inf'
+    pow $N1, $N0, 2
+    is($N1, 'Inf', 'pow: Inf ^ 2')
+    pow $N1, 2, $N0
+    is($N1, 'Inf', '...: 2 ^ Inf')
+    $N0 = 'NaN'
+    pow $N1, $N0, 2
+    is($N1, 'NaN', '...: NaN ^ 2')
+    pow $N1, 2, $N0
+    is($N1, 'NaN', '...: 2 ^ NaN')
+.end
+
+
+# Local Variables:
+#   mode: pir
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4 ft=pir:

Copied: trunk/t/dynoplibs/trans-old.t (from r47047, branches/ops_massacre/t/dynoplibs/trans-old.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/t/dynoplibs/trans-old.t	Thu May 27 08:45:23 2010	(r47051, copy of r47047, branches/ops_massacre/t/dynoplibs/trans-old.t)
@@ -0,0 +1,565 @@
+#!perl
+# Copyright (C) 2001-2008, Parrot Foundation.
+# $Id$
+
+use strict;
+use warnings;
+use lib qw( . lib ../lib ../../lib );
+use Test::More;
+use Parrot::Test tests => 13;
+use Math::Trig qw( tan sec atan asin acos asec cosh sinh tanh sech );
+
+=head1 NAME
+
+t/op/trans.t - Transcendental Mathematical Ops
+
+=head1 SYNOPSIS
+
+    % prove t/op/trans.t
+
+=head1 DESCRIPTION
+
+Tests the transcendental mathematical operations.
+
+=cut
+
+# This defines two macros:
+# fp_eq N, N, LABEL
+# fp_ne N, N, LABEL
+# which will conditionally branch
+# to LABEL if abs(n,n) < epsilon
+
+pasm_output_is( <<"CODE", <<OUTPUT, "sinh" );
+        .loadlib 'trans_ops'
+        .include 'fp_equality.pasm'
+        set N1, 1.0
+        sinh N2, N1
+        .fp_eq_pasm  (N2, 1.175201, EQ1)
+        print "not "
+EQ1:    print "ok 1\\n"
+
+        set I1, 1
+        sinh N2, I1
+        .fp_eq_pasm  (N2, 1.175201, EQ2)
+        print "not "
+EQ2:    print "ok 2\\n"
+
+        end
+CODE
+ok 1
+ok 2
+OUTPUT
+
+pasm_output_is( <<"CODE", <<OUTPUT, "tanh" );
+        .loadlib 'trans_ops'
+        .include 'fp_equality.pasm'
+        set N1, 1.0
+        tanh N2, N1
+        .fp_eq_pasm  (N2, 0.761594, EQ1)
+        print "not "
+EQ1:    print "ok 1\\n"
+
+        set I1, 1
+        tanh N2, I1
+        .fp_eq_pasm  (N2, 0.761594, EQ2)
+        print "not "
+EQ2:    print "ok 2\\n"
+
+        end
+CODE
+ok 1
+ok 2
+OUTPUT
+
+pasm_output_is( <<"CODE", <<OUTPUT, "sech" );
+        .loadlib 'trans_ops'
+        .include 'fp_equality.pasm'
+        set N1, 1.0
+        sech N2, N1
+        .fp_eq_pasm  (N2, 0.648054, EQ1)
+        print "not "
+EQ1:    print "ok 1\\n"
+
+        set I1, 1
+        sech N2, I1
+        .fp_eq_pasm  (N2, 0.648054, EQ2)
+        print "not "
+EQ2:    print "ok 2\\n"
+
+        end
+CODE
+ok 1
+ok 2
+OUTPUT
+
+pasm_output_is( <<"CODE", <<OUTPUT, 'atan2' );
+        .loadlib 'trans_ops'
+        .include 'fp_equality.pasm'
+        set N0, 0.0
+        set I0, 0
+        set N1, 1.0
+        set I1, 1
+        set N2, 1.0
+        set I2, 1
+        set I3, -1
+        set N3, -1.0
+
+        atan N4, N1, N2
+        .fp_eq_pasm  (N4, 0.785398, EQ1)
+        print "not "
+EQ1:    print "ok 1\\n"
+
+        atan N4, N1, I2
+        .fp_eq_pasm  (N4, 0.785398, EQ2)
+        print "not "
+EQ2:    print "ok 2\\n"
+
+        atan N4, I1, N2
+        .fp_eq_pasm  (N4, 0.785398, EQ3)
+        print "not "
+EQ3:    print "ok 3\\n"
+
+        atan N4, I1, I2
+        .fp_eq_pasm  (N4, 0.785398, EQ4)
+        print "not "
+EQ4:    print "ok 4\\n"
+
+        atan N4, N3, 1.0
+        .fp_eq_pasm   (N4, -0.785398, EQ5)
+        print "not "
+EQ5:    print "ok 5\\n"
+
+        atan N4, N1, 0
+        .fp_eq_pasm   (N4, 1.570796, EQ6)
+        print "not "
+EQ6:    print "ok 6\\n"
+
+        atan N4, I3, 0.0
+        .fp_eq_pasm   (N4, -1.570796, EQ7)
+        print "not "
+EQ7:    print "ok 7\\n"
+
+        atan N4, I3, -1
+        .fp_eq_pasm   (N4, -2.356194, EQ8)
+        print "not "
+EQ8:    print "ok 8\\n"
+
+        atan N4, 1.0, N3
+        .fp_eq_pasm   (N4, 2.356194, EQ9)
+        print "not "
+EQ9:    print "ok 9\\n"
+
+        atan N4, 1.0, I0
+        .fp_eq_pasm   (N4, 1.570796, EQ10)
+        print "not "
+EQ10:   print "ok 10\\n"
+
+        atan N4, 1, N1
+        .fp_eq_pasm   (N4, 0.785398, EQ11)
+        print "not "
+EQ11:   print "ok 11\\n"
+
+        atan N4, 1, I1
+        .fp_eq_pasm   (N4, 0.785398, EQ12)
+        print "not "
+EQ12:   print "ok 12\\n"
+
+        atan N4, 0.0, 1.0
+        .fp_eq_pasm   (N4, 0.000000, EQ13)
+        print "not "
+EQ13:   print "ok 13\\n"
+
+        atan N4, -1.0, 0
+        .fp_eq_pasm   (N4, -1.570796, EQ14)
+        print "not "
+EQ14:   print "ok 14\\n"
+
+        atan N4, 1, -1.0
+        .fp_eq_pasm   (N4, 2.356194, EQ15)
+        print "not "
+EQ15:   print "ok 15\\n"
+
+        atan N4, 0, 1
+        .fp_eq_pasm   (N4, 0.000000, EQ16)
+        print "not "
+EQ16:   print "ok 16\\n"
+        end
+CODE
+ok 1
+ok 2
+ok 3
+ok 4
+ok 5
+ok 6
+ok 7
+ok 8
+ok 9
+ok 10
+ok 11
+ok 12
+ok 13
+ok 14
+ok 15
+ok 16
+OUTPUT
+
+pasm_output_is( <<"CODE", <<'OUTPUT', 'atan, part 2' );
+        .loadlib 'trans_ops'
+        .include 'fp_equality.pasm'
+        atan N4, -0.0, -0.0
+        .fp_eq_pasm   (N4, -3.1415926, EQ1)
+        print "not "
+EQ1:    print "ok 1\\n"
+        end
+CODE
+ok 1
+OUTPUT
+
+pasm_output_is( <<"CODE", <<OUTPUT, "log2" );
+        .loadlib 'trans_ops'
+        .include 'fp_equality.pasm'
+        set N1, 10.0
+        log2 N2, N1
+        .fp_eq_pasm  (N2, 3.321928, EQ1)
+        print "not "
+EQ1:    print "ok 1\\n"
+
+        set I1, 10
+        log2 N2, I1
+        .fp_eq_pasm  (N2, 3.321928, EQ2)
+        print "not "
+EQ2:    print "ok 2\\n"
+
+        end
+CODE
+ok 1
+ok 2
+OUTPUT
+
+pasm_output_is( <<"CODE", <<OUTPUT, "log10" );
+        .loadlib 'trans_ops'
+        .include 'fp_equality.pasm'
+        set N1, 15.0
+        log10 N2, N1
+        .fp_eq_pasm  (N2, 1.176091, EQ1)
+        print "not "
+EQ1:    print "ok 1\\n"
+
+        set I1, 15
+        log10 N2, I1
+        .fp_eq_pasm  (N2, 1.176091, EQ2)
+        print "not "
+EQ2:    print "ok 2\\n"
+
+        end
+CODE
+ok 1
+ok 2
+OUTPUT
+
+pasm_output_is( <<"CODE", <<OUTPUT, "ln" );
+        .loadlib 'trans_ops'
+        .include 'fp_equality.pasm'
+        set N1, 10.0
+        ln N2, N1
+        .fp_eq_pasm  (N2, 2.302585, EQ1)
+        print "not "
+EQ1:    print "ok 1\\n"
+
+        set I1, 10
+        ln N2, I1
+        .fp_eq_pasm  (N2, 2.302585, EQ2)
+        print "not "
+EQ2:    print "ok 2\\n"
+        end
+CODE
+ok 1
+ok 2
+OUTPUT
+
+pasm_output_is( <<"CODE", <<OUTPUT, "exp" );
+        .loadlib 'trans_ops'
+        .include 'fp_equality.pasm'
+        set N1, 10.0
+        exp N2, N1
+        .fp_eq_pasm  (N2, 22026.465795, EQ1)
+        print "not "
+EQ1:    print "ok 1\\n"
+
+        set I1, 10
+        exp N2, I1
+        .fp_eq_pasm (N2, 22026.465795, EQ2)
+        print "not "
+EQ2:    print "ok 2\\n"
+        end
+CODE
+ok 1
+ok 2
+OUTPUT
+
+pasm_output_is( <<"CODE", <<OUTPUT, "pow" );
+        .loadlib 'trans_ops'
+        .include 'fp_equality.pasm'
+        set N1, 3.0
+        set I1, 3
+        set N2, 5.0
+        set I2, 5
+        pow N3, N1, N2
+        .fp_eq_pasm  (N3, 243.0, EQ1)
+        print "not "
+EQ1:    print "ok 1\\n"
+
+        pow N3, N1, I2
+        .fp_eq_pasm  (N3, 243.0, EQ2)
+        print "not "
+EQ2:    print "ok 2\\n"
+
+        pow N3, I1, N2
+        .fp_eq_pasm  (N3, 243.0, EQ3)
+        print "not "
+EQ3:    print "ok 3\\n"
+
+        pow N3, I1, I2
+        .fp_eq_pasm  (N3, 243.0, EQ4)
+        print "not "
+EQ4:    print "ok 4\\n"
+
+        set N0, 0.0
+        set I0, 0
+        set N1, 1.0
+        set I1, 1
+        set N2, 4.0
+        set I2, 4
+        pow N3, N2, 2.5
+        .fp_eq_pasm  (N3, 32.0, EQ5)
+        print "not "
+EQ5:    print "ok 5\\n"
+
+        pow N3, N2, -2
+        .fp_eq_pasm  (N3, 0.0625, EQ6)
+        print "not "
+EQ6:    print "ok 6\\n"
+
+        pow N3, I2, 0.5
+        .fp_eq_pasm  (N3, 2.0, EQ7)
+        print "not "
+EQ7:    print "ok 7\\n"
+
+        pow N3, I2, 0
+        .fp_eq_pasm  (N3, 1.0, EQ8)
+        print "not "
+EQ8:    print "ok 8\\n"
+
+        pow N3, 0.0, N2
+        .fp_eq_pasm  (N3, 0.0, EQ9)
+        print "not "
+EQ9:    print "ok 9\\n"
+
+        pow N3, 2.5, 0.0
+        .fp_eq_pasm  (N3, 1.0, EQ10)
+        print "not "
+EQ10:   print "ok 10\\n"
+
+        pow N3, 2.5, I2
+        .fp_eq_pasm  (N3, 39.0625, EQ11)
+        print "not "
+EQ11:   print "ok 11\\n"
+
+        pow N3, 2.0, -4
+        .fp_eq_pasm  (N3, 0.0625, EQ12)
+        print "not "
+EQ12:   print "ok 12\\n"
+
+        pow N3, 0, N2
+        .fp_eq_pasm  (N3, 0.0, EQ13)
+        print "not "
+EQ13:   print "ok 13\\n"
+
+        pow N3, 4, -0.5
+        .fp_eq_pasm  (N3, 0.5, EQ14)
+        print "not "
+EQ14:   print "ok 14\\n"
+
+        pow N3, 4, I2
+        .fp_eq_pasm  (N3, 256.0, EQ15)
+        print "not "
+EQ15:   print "ok 15\\n"
+
+        pow N3, 4, -1
+        .fp_eq_pasm  (N3, 0.25, EQ16)
+        print "not "
+EQ16:   print "ok 16\\n"
+        end
+CODE
+ok 1
+ok 2
+ok 3
+ok 4
+ok 5
+ok 6
+ok 7
+ok 8
+ok 9
+ok 10
+ok 11
+ok 12
+ok 13
+ok 14
+ok 15
+ok 16
+OUTPUT
+
+pasm_output_is( <<"CODE", <<OUTPUT, "sqrt" );
+       .include 'fp_equality.pasm'
+       set N1, 9.0
+       sqrt N2, N1
+       .fp_eq_pasm  (N2, 3.0, EQ1)
+       print "not "
+EQ1:   print "ok 1\\n"
+
+       set I1, 9
+       sqrt N2, I1
+       .fp_eq_pasm  (N2, 3.0, EQ2)
+       print "not "
+EQ2:   print "ok 2\\n"
+
+       end
+CODE
+ok 1
+ok 2
+OUTPUT
+
+pasm_output_is( <<'CODE', <<OUTPUT, "pow_n_n_ic" );
+    .loadlib 'trans_ops'
+    set N0, 2.0
+    pow N1, N0, 0
+    print N1
+    print "\n"
+    pow N1, N0, 1
+    print N1
+    print "\n"
+    pow N1, N0, 2
+    print N1
+    print "\n"
+    pow N1, N0, 3
+    print N1
+    print "\n"
+    pow N1, N0, 4
+    print N1
+    print "\n"
+    pow N1, N0, 5
+    print N1
+    print "\n"
+    pow N1, N0, 6
+    print N1
+    print "\n"
+    pow N1, N0, 7
+    print N1
+    print "\n"
+    pow N1, N0, -1
+    print N1
+    print "\n"
+    pow N1, N0, -2
+    print N1
+    print "\n"
+    pow N1, N0, -3
+    print N1
+    print "\n"
+    pow N1, N0, -4
+    print N1
+    print "\n"
+    pow N1, N0, -5
+    end
+CODE
+1
+2
+4
+8
+16
+32
+64
+128
+0.5
+0.25
+0.125
+0.0625
+OUTPUT
+
+pasm_output_is( <<'CODE', <<OUTPUT, "pow_n_n_i" );
+    .loadlib 'trans_ops'
+    set N0, 2.0
+    set I0, 0
+    pow N1, N0, I0
+    print N1
+    print "\n"
+    inc I0
+    pow N1, N0, I0
+    print N1
+    print "\n"
+    inc I0
+    pow N1, N0, I0
+    print N1
+    print "\n"
+    inc I0
+    pow N1, N0, I0
+    print N1
+    print "\n"
+    inc I0
+    pow N1, N0, I0
+    print N1
+    print "\n"
+    inc I0
+    pow N1, N0, I0
+    print N1
+    print "\n"
+    inc I0
+    pow N1, N0, I0
+    print N1
+    print "\n"
+    set I0, -1
+    pow N1, N0, I0
+    print N1
+    print "\n"
+    dec I0
+    pow N1, N0, I0
+    print N1
+    print "\n"
+    dec I0
+    pow N1, N0, I0
+    print N1
+    print "\n"
+    dec I0
+    pow N1, N0, I0
+    print N1
+    print "\n"
+    dec I0
+    pow N1, N0, I0
+    print N1
+    print "\n"
+    dec I0
+    pow N1, N0, I0
+    print N1
+    print "\n"
+    end
+CODE
+1
+2
+4
+8
+16
+32
+64
+0.5
+0.25
+0.125
+0.0625
+0.03125
+0.015625
+OUTPUT
+
+# Local Variables:
+#   mode: cperl
+#   cperl-indent-level: 4
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:

Copied: trunk/t/dynoplibs/trans.t (from r47047, branches/ops_massacre/t/dynoplibs/trans.t)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/t/dynoplibs/trans.t	Thu May 27 08:45:23 2010	(r47051, copy of r47047, branches/ops_massacre/t/dynoplibs/trans.t)
@@ -0,0 +1,292 @@
+#!./parrot
+# Copyright (C) 2001-2010, Parrot Foundation.
+# $Id$
+
+=head1 NAME
+
+t/op/trans.t - Trancendental Mathematical Ops
+
+=head1 SYNOPSIS
+
+        % prove t/op/trans.t
+
+=head1 DESCRIPTION
+
+Tests various transcendental operations
+
+=cut
+
+.loadlib 'trans_ops'
+
+.sub main :main
+    .include 'test_more.pir'
+    .local num epsilon
+    epsilon = _epsilon()
+
+    plan(68)
+
+    test_sin_n(epsilon)
+    test_sin_i(epsilon)
+    test_cos_n(epsilon)
+    test_cos_i(epsilon)
+    test_tan_n(epsilon)
+    test_tan_i(epsilon)
+    test_sec_n(epsilon)
+    test_sec_i(epsilon)
+    test_atan_n(epsilon)
+    test_atan_i(epsilon)
+    test_asin_n(epsilon)
+    test_asin_i(epsilon)
+    test_acos_n(epsilon)
+    test_acos_i(epsilon)
+    test_asec_n(epsilon)
+    test_asec_i(epsilon)
+    test_cosh_n(epsilon)
+    test_cosh_i(epsilon)
+    integer_overflow_with_pow()
+.end
+
+.sub _pi
+    .return (3.1415926535897)
+.end
+
+.sub _e
+    .return (2.7182818459045)
+.end
+
+.sub _epsilon
+    .return (0.0001)
+.end
+
+.sub test_sin_n
+    .param num epsilon
+
+    $N0 = sin 0.0
+    is($N0, 0.0, "sin(0.0)", epsilon)
+
+    $N0 = sin 1.0
+    is($N0, 0.841471, "sin(1.0)", epsilon)
+
+    $N1 = _pi()
+    $N0 = sin $N1
+    is($N0, 0.0, "sin(pi)", epsilon)
+
+    $N1 = _pi()
+    $N1 = $N1 / 2
+    $N0 = sin $N1
+    is($N0, 1.0, "sin(pi/2)", epsilon)
+.end
+
+.sub test_sin_i
+    .param num epsilon
+
+    $N0 = sin 0
+    is($N0, 0.0, "sin(0)", epsilon)
+
+    $N0 = sin 1
+    is($N0, 0.841471, "sin(1)", epsilon)
+.end
+
+.sub test_cos_n
+    .param num epsilon
+
+    $N0 = cos 0.0
+    is($N0, 1.0, "cos(0.0)", epsilon)
+
+    $N0 = cos 1.0
+    is($N0, 0.540302, "cos(1.0)", epsilon)
+
+    $N1 = _pi()
+    $N0 = cos $N1
+    is($N0, -1.0, "cos(pi)", epsilon)
+
+    $N1 = _pi()
+    $N1 = $N1 / 2
+    $N0 = cos $N1
+    is($N0, 0.0, "cos(pi/2)", epsilon)
+.end
+
+.sub test_cos_i
+    .param num epsilon
+
+    $N0 = cos 0
+    is($N0, 1.0, "cos(0)", epsilon)
+
+    $N0 = cos 1
+    is($N0, 0.540302, "cos(1)", epsilon)
+.end
+
+.sub test_tan_n
+    .param num epsilon
+
+    $N0 = tan 0.0
+    is($N0, 0.0, "tan(0.0)", epsilon)
+
+    $N0 = tan 1.0
+    is($N0, 1.557408, "tan(1.0)", epsilon)
+.end
+
+.sub test_tan_i
+    .param num epsilon
+
+    $N0 = tan 0
+    is($N0, 0.0, "tan(0)", epsilon)
+
+    $N0 = tan 1
+    is($N0, 1.557408, "tan(1)", epsilon)
+.end
+
+.sub test_sec_n
+    .param num epsilon
+
+    $N1 = 1.0
+    $N2 = sec $N1
+    is($N2, 1.850816, "sec(1.0)", epsilon)
+.end
+
+.sub test_sec_i
+    .param num epsilon
+
+    $I1 = 1
+    $N1 = sec $I1
+    is($N1, 1.850816, "sec(1)", epsilon)
+.end
+
+.sub test_atan_n
+    .param num epsilon
+
+    $N1 = 1.0
+    $N2 = atan $N1
+    is($N2, 0.785398, "atan(1.0)", epsilon)
+.end
+
+.sub test_atan_i
+    .param num epsilon
+
+    $I1 = 1
+    $N1 = atan $I1
+    is($N1, 0.785398, "atan(1)", epsilon)
+.end
+
+.sub test_asin_n
+    .param num epsilon
+    .local num pi2
+    pi2 = _pi()
+    pi2 /= 2
+
+    $N1 = 1.0
+    $N2 = asin $N1
+    is($N2, pi2, "asin(1.0)", epsilon)
+.end
+
+.sub test_asin_i
+    .param num epsilon
+    .local num pi2
+    pi2 = _pi()
+    pi2 /= 2
+
+    $I1 = 1
+    $N1 = asin $I1
+    is($N1, pi2, "asin(1)", epsilon)
+.end
+
+.sub test_acos_n
+    .param num epsilon
+
+    $N1 = 1.0
+    $N2 = acos $N1
+    is($N2, 0.0, "acos(1.0)", epsilon)
+.end
+
+.sub test_acos_i
+    .param num epsilon
+
+    $I1 = 1
+    $N1 = acos $I1
+    is($N1, 0.0, "acos(1)", epsilon)
+.end
+
+.sub test_asec_n
+    .param num epsilon
+
+    $N1 = 1.0
+    $N2 = asec $N1
+    is($N2, 0.0, "asec(1.0)", epsilon)
+.end
+
+.sub test_asec_i
+    .param num epsilon
+
+    $I1 = 1
+    $N1 = asec $I1
+    is($N1, 0.0, "asec(1)", epsilon)
+.end
+
+.sub test_cosh_n
+    .param num epsilon
+    .local num result
+
+    $N1 = 1.0
+    $N2 = cosh $N1
+    is($N2, 1.543081, "cosh(1.0)", epsilon)
+.end
+
+.sub test_cosh_i
+    .param num epsilon
+
+    $I1 = 1
+    $N1 = cosh $I1
+    is($N1, 1.543081, "cosh(1)", epsilon)
+.end
+
+.sub integer_overflow_with_pow
+    .include "iglobals.pasm"
+
+    # Check that we aren't 32-bit INTVALs without GMP
+    .local pmc interp     # a handle to our interpreter object.
+    interp = getinterp
+    .local pmc config
+    config = interp[.IGLOBALS_CONFIG_HASH]
+    .local int intvalsize
+    intvalsize = config['intvalsize']
+    .local int gmp
+    gmp = config['gmp']
+
+    if intvalsize != 4 goto can_test
+    if gmp goto can_test
+        skip(40,'No integer overflow for 32-bit INTVALs without GMP installed')
+        goto end
+
+  can_test:
+
+    .local pmc i1, i2, r
+    i1 = new 'Integer'
+    i2 = new 'Integer'
+    i1 = 2
+    i2 = 1
+    $I1 = 1
+  next:
+    null r
+    r = pow i1, i2
+    $S0 = r
+
+    $I1 = $I1 * 2
+    is( $S0, $I1, 'integer_overflow_with_pow' )
+
+    inc i2
+# XXX: this must be extended to at least 64 bit range
+# when sure that the result is not floating point.
+# In the meantime, make sure it overflows nicely
+# on 32 bit.
+    unless i2 > 40 goto next
+
+  end:
+.end
+
+
+# Local Variables:
+#   mode: pir
+#   fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4 ft=pir:
+

Modified: trunk/t/dynpmc/gziphandle.t
==============================================================================
--- trunk/t/dynpmc/gziphandle.t	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/dynpmc/gziphandle.t	Thu May 27 08:45:23 2010	(r47051)
@@ -16,6 +16,8 @@
 
 =cut
 
+.loadlib 'io_ops'
+
 .sub 'main' :main
     .include 'test_more.pir'
     .include 'iglobals.pasm'

Modified: trunk/t/dynpmc/os.t
==============================================================================
--- trunk/t/dynpmc/os.t	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/dynpmc/os.t	Thu May 27 08:45:23 2010	(r47051)
@@ -295,6 +295,7 @@
     open my $FILE, ">", "____some_test_file";
     close $FILE;
     pir_output_is( <<'CODE', <<"OUT", 'Test OS.rename' );
+.loadlib 'io_ops'
 .sub main :main
     $P0 = loadlib 'os'
     $P1 = new ['OS']

Modified: trunk/t/examples/pir.t
==============================================================================
--- trunk/t/examples/pir.t	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/examples/pir.t	Thu May 27 08:45:23 2010	(r47051)
@@ -7,7 +7,7 @@
 use lib qw( . lib ../lib ../../lib );
 
 use Test::More;
-use Parrot::Test tests => 18;
+use Parrot::Test tests => 17;
 use Parrot::Config;
 
 =head1 NAME
@@ -184,7 +184,8 @@
 );
 
 # expected output of a quine is the quine itself
-$expected{'quine_ord.pir'} = Parrot::Test::slurp_file("examples/pir/quine_ord.pir");
+# TODO currently broken
+# $expected{'quine_ord.pir'} = Parrot::Test::slurp_file("examples/pir/quine_ord.pir");
 
 my %skips;
 

Modified: trunk/t/library/coroutine.t
==============================================================================
--- trunk/t/library/coroutine.t	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/library/coroutine.t	Thu May 27 08:45:23 2010	(r47051)
@@ -28,6 +28,8 @@
 
 .const int N_TESTS = 6
 
+.loadlib 'io_ops'
+
 ## Build an N-ary tree (where N is passed as node_width) of the specified depth,
 ## with the leaves being consecutive integer PMCs from start but less than N.
 ## The tree will be complete iff end-start+1 == node_width^depth.

Modified: trunk/t/oo/methods.t
==============================================================================
--- trunk/t/oo/methods.t	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/oo/methods.t	Thu May 27 08:45:23 2010	(r47051)
@@ -38,7 +38,8 @@
     .local string filename
 
     filename = "method_library.pir"
-    file = open filename, 'w'
+    file = new ['FileHandle']
+    file.'open'(filename, 'w')
 
     $S0 = <<'END'
     .namespace['Foo']
@@ -48,7 +49,7 @@
 END
 
     print file, $S0
-    close file
+    file.'close'()
 
 .end
 

Modified: trunk/t/op/arithmetics.t
==============================================================================
--- trunk/t/op/arithmetics.t	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/op/arithmetics.t	Thu May 27 08:45:23 2010	(r47051)
@@ -21,7 +21,7 @@
     .include 'test_more.pir'
     .include 'iglobals.pasm'
 
-    plan(121)
+    plan(80)
 
     take_the_negative_of_a_native_integer()
     take_the_absolute_of_a_native_integer()
@@ -42,8 +42,6 @@
     subtract_native_number_from_native_number()
     multiply_native_number_with_native_number()
     divide_native_number_by_native_number()
-    integer_overflow_with_pow()
-    bnot_p_p_creates_destination()
     # END_OF_TESTS
 
 .end
@@ -470,56 +468,6 @@
 
 .end
 
-.sub integer_overflow_with_pow
-    .include "iglobals.pasm"
-
-    # Check that we aren't 32-bit INTVALs without GMP
-    .local pmc interp     # a handle to our interpreter object.
-    interp = getinterp
-    .local pmc config
-    config = interp[.IGLOBALS_CONFIG_HASH]
-    .local int intvalsize
-    intvalsize = config['intvalsize']
-    .local int gmp
-    gmp = config['gmp']
-
-    if intvalsize != 4 goto can_test
-    if gmp goto can_test
-        skip(40,'No integer overflow for 32-bit INTVALs without GMP installed')
-        goto end
-
-  can_test:
-
-    .local pmc i1, i2, r
-    i1 = new 'Integer'
-    i2 = new 'Integer'
-    i1 = 2
-    i2 = 1
-    $I1 = 1
-  next:
-    null r
-    r = pow i1, i2
-    $S0 = r
-
-    $I1 = $I1 * 2
-    is( $S0, $I1, 'integer_overflow_with_pow' )
-
-    inc i2
-# XXX: this must be extended to at least 64 bit range
-# when sure that the result is not floating point.
-# In the meantime, make sure it overflows nicely
-# on 32 bit.
-    unless i2 > 40 goto next
-
-  end:
-.end
-
-.sub 'bnot_p_p_creates_destination'
-    $P0 = box 3
-    $P1 = bnot $P0
-    is( $P1, -4, 'bnot_p_p_creates_destination')
-.end
-
 # Local Variables:
 #   mode: pir
 #   fill-column: 100

Modified: trunk/t/op/arithmetics_pmc.t
==============================================================================
--- trunk/t/op/arithmetics_pmc.t	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/op/arithmetics_pmc.t	Thu May 27 08:45:23 2010	(r47051)
@@ -16,6 +16,8 @@
 
 =cut
 
+.loadlib 'trans_ops' # for pow
+
 .sub main :main
     .include 'test_more.pir'
     .include "iglobals.pasm"

Deleted: trunk/t/op/debuginfo.t
==============================================================================
--- trunk/t/op/debuginfo.t	Thu May 27 08:45:23 2010	(r47050)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,201 +0,0 @@
-#!perl
-# Copyright (C) 2001-2007, Parrot Foundation.
-# $Id$
-
-use strict;
-use warnings;
-use lib qw( . lib ../lib ../../lib );
-use Test::More;
-use Parrot::Test tests => 8;
-
-=head1 NAME
-
-t/op/debuginfo.t - Debugging Info
-
-=head1 SYNOPSIS
-
-        % prove t/op/debuginfo.t
-
-=head1 DESCRIPTION
-
-Tests the various set and get operations for line, package and file info,
-as well as backtrace tests.
-
-=cut
-
-$ENV{TEST_PROG_ARGS} ||= '';
-my $nolineno = $ENV{TEST_PROG_ARGS} =~ /--runcore=fast/
-    ? "\\(unknown file\\)\n-1" : "debuginfo_\\d+\\.pasm\n\\d";
-
-#SKIP: {
-#skip "disabled on fast-core",1 if $ENV{TEST_PROG_ARGS} =~ /--runcore=fast/;
-
-pasm_output_like( <<'CODE', <<"OUTPUT", "getline, getfile" );
-.pcc_sub main:
-    getfile S0
-    getline I0
-    say S0
-    say I0
-    end
-CODE
-/$nolineno/
-OUTPUT
-
-pir_error_output_like( <<'CODE', <<'OUTPUT', "debug backtrace - Null PMC access" );
-.sub main
-    print "ok 1\n"
-    a()
-    print "not ok 10\n"
-.end
-.sub a
-    print "ok 2\n"
-    b()
-    print "not ok 9\n"
-.end
-.sub b
-    print "ok 3\n"
-    c()
-    print "not ok 8\n"
-.end
-.sub c
-    print "ok 4\n"
-    d()
-    print "not ok 7\n"
-.end
-.sub d
-    print "ok 5\n"
-    $P0 = null
-    $P0()
-    print "not ok 6\n"
-.end
-CODE
-/^ok 1
-ok 2
-ok 3
-ok 4
-ok 5
-Null PMC access in invoke\(\)
-current instr\.: 'd' pc (\d+|-1) \(.*?:(\d+|-1)\)
-called from Sub 'c' pc (\d+|-1) \(.*?:(\d+|-1)\)
-called from Sub 'b' pc (\d+|-1) \(.*?:(\d+|-1)\)
-called from Sub 'a' pc (\d+|-1) \(.*?:(\d+|-1)\)
-called from Sub 'main' pc (\d+|-1) \(.*?:(\d+|-1)\)$/
-OUTPUT
-
-pir_error_output_like( <<'CODE', <<'OUTPUT', "debug backtrace - method not found" );
-.namespace ["Test1"]
-.sub main
-    print "ok 1\n"
-    foo()
-    print "not ok 5\n"
-.end
-.sub foo
-    print "ok 2\n"
-    $P0 = new 'Integer'
-    print "ok 3\n"
-    $P0."nosuchmethod"()
-    print "not ok 4\n"
-.end
-CODE
-/^ok 1
-ok 2
-ok 3
-Method 'nosuchmethod' not found for invocant of class 'Integer'
-current instr.: 'parrot;Test1;foo' pc (\d+|-1) \(.*?:(\d+|-1)\)
-called from Sub 'parrot;Test1;main' pc (\d+|-1) \(.*?:(\d+|-1)\)$/
-OUTPUT
-
-pir_error_output_like( <<'CODE', <<'OUTPUT', "debug backtrace - fetch of unknown lexical" );
-.namespace ["Test2"]
-.sub main
-    print "ok 1\n"
-    foo()
-    print "not ok 3\n"
-.end
-.sub foo :lex
-    print "ok 2\n"
-    find_lex $P0, "nosuchlex"
-    print "not ok 3\n"
-.end
-CODE
-/^ok 1
-ok 2
-Lexical 'nosuchlex' not found
-current instr.: 'parrot;Test2;foo' pc (\d+|-1) \(.*?:(\d+|-1)\)
-called from Sub 'parrot;Test2;main' pc (\d+|-1) \(.*?:(\d+|-1)\)$/
-OUTPUT
-
-pir_error_output_like( <<'CODE', <<'OUTPUT', "debug backtrace - recursion 1" );
-.sub main
-    main()
-.end
-CODE
-/^maximum recursion depth exceeded
-current instr\.: 'main' pc (\d+|-1) \(.*?:(\d+|-1)\)
-called from Sub 'main' pc (\d+|-1) \(.*?:(\d+|-1)\)
-\.\.\. call repeated \d+ times/
-OUTPUT
-
-pir_error_output_like( <<'CODE', <<'OUTPUT', "debug backtrace - recursion 2" );
-.sub main
-    rec(91)
-.end
-.sub rec
-    .param int i
-    if i == 0 goto END
-    dec i
-    rec(i)
-    .return()
-END:
-    $P0 = null
-    $P0()
-.end
-CODE
-/^Null PMC access in invoke\(\)
-current instr\.: 'rec' pc (\d+|-1) \(.*?:(\d+|-1)\)
-called from Sub 'rec' pc (\d+|-1) \(.*?:(\d+|-1)\)
-\.\.\. call repeated 90 times
-called from Sub 'main' pc (\d+|-1) \(.*?:(\d+|-1)\)$/
-OUTPUT
-
-$nolineno = $ENV{TEST_PROG_ARGS} =~ /--runcore=fast/
-    ? '\(\(unknown file\):-1\)' : '\(xyz.pir:126\)';
-
-pir_error_output_like( <<'CODE', <<"OUTPUT", "setfile and setline" );
-.sub main :main
-    setfile "xyz.pir"
-    setline 123
-    $S0 = 'hello'
-    $I0 = 456
-    'no_such_function'($S0, $I0)
-.end
-CODE
-/$nolineno/
-OUTPUT
-
-$nolineno = $ENV{TEST_PROG_ARGS} =~ /--runcore=fast/
-    ? '\(\(unknown file\):-1\)' : '\(foo.p6:128\)';
-pir_error_output_like( <<'CODE', <<"OUTPUT", "setfile and setline" );
-.sub main :main
-    setfile "foo.p6"
-    setline 123
-    $P0 = new 'Integer'
-    assign $P0, 9876
-    set_global '$a', $P0
-
-    setline 124
-    $P0 = get_global '$a'
-    $P1 = clone $P0
-    add $P1, 1
-    'nsf'($P1)
-.end
-CODE
-/$nolineno/
-OUTPUT
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Modified: trunk/t/op/inf_nan.t
==============================================================================
--- trunk/t/op/inf_nan.t	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/op/inf_nan.t	Thu May 27 08:45:23 2010	(r47051)
@@ -18,31 +18,11 @@
 
 .sub main :main
     .include 'test_more.pir'
-    plan(105)
+    plan(37)
 
     test_basic_arith()
-    test_exp()
     test_sqrt()
-    test_sin()
-    test_sinh()
-    test_asin()
-    test_cos()
-    test_cosh()
-    test_acos()
-    test_tan()
-    test_tanh()
-    test_atan()
-    test_cot()
-    test_coth()
-    test_acot()
-    test_sec()
-    test_sech()
-    test_asec()
-    test_ln()
-    test_log10()
-    test_log2()
     test_neg()
-    test_pow()
     test_mix_nan_inf()
     test_rounding_n()
     test_rounding_i()
@@ -50,7 +30,6 @@
     test_fdiv_integer_pmc_nan()
     test_fdiv_float_pmc_nan()
     test_fdiv_float_integer_pmc_nan()
-    test_cmod_float_integer_pmc_nan()
     test_mod_float_integer_pmc_nan()
 
 .end
@@ -82,19 +61,6 @@
     is($N3, 'Inf', '... abs -Inf')
 .end
 
-
-.sub test_exp
-    $N0 = 'Inf'
-    $N1 = exp $N0
-    is($N1, 'Inf', 'exp: exp Inf')
-    $N0 = '-Inf'
-    $N1 = exp $N0
-    is($N1, 0, '... exp -Inf')
-    $N0 = 'NaN'
-    $N1 = exp $N0
-    is($N1, 'NaN', '... exp NaN')
-.end
-
 .sub test_sqrt
     $N0 = 'Inf'
     $N1 =  $N0
@@ -110,260 +76,6 @@
     is($N1, 'NaN', '... sqrt -1')
 .end
 
-.sub test_sin
-    $N0 = 'Inf'
-    $N1 = sin $N0
-    is($N1, 'NaN', 'sin: sin Inf')
-    $N0 = '-Inf'
-    $N1 = sin $N0
-    is($N1, 'NaN', '... sin -Inf')
-    $N0 = 'NaN'
-    $N1 = sin $N0
-    is($N1, 'NaN', '... sin NaN')
-.end
-
-.sub test_sinh
-    $N0 = 'Inf'
-    $N1 = sinh $N0
-    is($N1, 'Inf', 'sinh: sinh Inf')
-    $N0 = '-Inf'
-    $N1 = sinh $N0
-    is($N1, '-Inf', '... sinh -Inf')
-    $N0 = 'NaN'
-    $N1 = sinh $N0
-    is($N1, 'NaN', '... sinh NaN')
-.end
-
-.sub test_asin
-    $N0 = 'Inf'
-    $N1 = asin $N0
-    is($N1, 'NaN', 'asin: asin Inf')
-    $N0 = '-Inf'
-    $N1 = asin $N0
-    is($N1, 'NaN', '... asin -Inf')
-    $N0 = 'NaN'
-    $N1 = asin $N0
-    is($N1, 'NaN', '... asin NaN')
-    $N0 = '-2'
-    $N1 = asin $N0
-    is($N1, 'NaN', '... asin -2')
-    $N0 = '2'
-    $N1 = asin $N0
-    is($N1, 'NaN', '... asin 2')
-.end
-
-.sub test_cos
-    $N0 = 'Inf'
-    $N1 = cos $N0
-    is($N1, 'NaN', 'cos: cos Inf')
-    $N0 = '-Inf'
-    $N1 = cos $N0
-    is($N1, 'NaN', '... cos -Inf')
-    $N0 = 'NaN'
-    $N1 = cos $N0
-    is($N1, 'NaN', '... cos NaN')
-.end
-
-.sub test_cosh
-    $N0 = 'Inf'
-    $N1 = cosh $N0
-    is($N1, 'Inf', 'cosh: cosh Inf')
-    $N0 = '-Inf'
-    $N1 = cosh $N0
-    is($N1, 'Inf', '... cosh -Inf')
-    $N0 = 'NaN'
-    $N1 = cosh $N0
-    is($N1, 'NaN', '... cosh NaN')
-.end
-
-.sub test_acos
-    $N0 = 'Inf'
-    $N1 = acos $N0
-    is($N1, 'NaN', 'acos: acos Inf')
-    $N0 = '-Inf'
-    $N1 = acos $N0
-    is($N1, 'NaN', '... acos -Inf')
-    $N0 = 'NaN'
-    $N1 = acos $N0
-    is($N1, 'NaN', '... acos NaN')
-    $N0 = '-2'
-    $N1 = acos $N0
-    is($N1, 'NaN', '... acos -2')
-    $N0 = '2'
-    $N1 = acos $N0
-    is($N1, 'NaN', '... acos 2')
-.end
-
-.sub test_tan
-    $N0 = 'Inf'
-    $N1 = tan $N0
-    is($N1, 'NaN', 'tan: tan Inf')
-    $N0 = '-Inf'
-    $N1 = tan $N0
-    is($N1, 'NaN', '... tan -Inf')
-    $N0 = 'NaN'
-    $N1 = tan $N0
-    is($N1, 'NaN', '... tan NaN')
-.end
-
-.sub test_tanh
-    $N0 = 'Inf'
-    $N1 = tanh $N0
-    is($N1, 1, 'tanh: tanh Inf')
-    $N0 = '-Inf'
-    $N1 = tanh $N0
-    is($N1, -1, '... tanh -Inf')
-    $N0 = 'NaN'
-    $N1 = tanh $N0
-    is($N1, 'NaN', '... tanh NaN')
-.end
-
-.sub test_atan
-    $N0 = 'Inf'
-    $N1 = atan $N0
-    $P1 = new 'Float'
-    $P1 = $N1
-    is($P1, 1.5707963, 'atan: atan Inf',1e-6)
-
-    $N0 = '-Inf'
-    $N1 = atan $N0
-    $P1 = new 'Float'
-    $P1 = $N1
-    is($P1, -1.5707963, '... atan -Inf',1e-6)
-
-    $N0 = 'NaN'
-    $N1 = atan $N0
-    is($N1, 'NaN', '... atan NaN')
-.end
-
-.sub test_cot
-    $N0 = 'Inf'
-    #$N1 = cot $N0
-    #is($N1, 'NaN', 'cot: cot Inf')
-    skip(1, 'cot/coth/acot not implemented for real numbers')
-    $N0 = '-Inf'
-    #$N1 = cot $N0
-    #is($N1, 'NaN', '... cot -Inf')
-    skip(1, 'cot/coth/acot not implemented for real numbers')
-    $N0 = 'NaN'
-    #$N1 = cot $N0
-    #is($N1, 'NaN', '... cot NaN')
-    skip(1, 'cot/coth/acot not implemented for real numbers')
-.end
-
-.sub test_coth
-    $N0 = 'Inf'
-    #$N1 = coth $N0
-    #is($N1, 1, 'coth: coth Inf')
-    skip(1, 'cot/coth/acot not implemented for real numbers')
-    $N0 = '-Inf'
-    #$N1 = coth $N0
-    #is($N1, -1, '... coth -Inf')
-    skip(1, 'cot/coth/acot not implemented for real numbers')
-    $N0 = 'NaN'
-    #$N1 = coth $N0
-    #is($N1, 'NaN', '... coth NaN')
-    skip(1, 'cot/coth/acot not implemented for real numbers')
-.end
-
-.sub test_acot
-    $N0 = 'Inf'
-    #$N1 = acot $N0
-    #is($N1, 'NaN', 'acot: acot Inf')
-    skip(1, 'cot/coth/acot not implemented for real numbers')
-    $N0 = '-Inf'
-    #$N1 = acot $N0
-    #is($N1, 'NaN', '... acot -Inf')
-    skip(1, 'cot/coth/acot not implemented for real numbers')
-    $N0 = 'NaN'
-    #$N1 = acot $N0
-    #is($N1, 'NaN', '... acot NaN')
-    skip(1, 'cot/coth/acot not implemented for real numbers')
-    $N0 = '-2'
-    #$N1 = acot $N0
-    #is($N1, 'NaN', '... acot -2')
-    skip(1, 'cot/coth/acot not implemented for real numbers')
-    $N0 = '2'
-    #$N1 = acot $N0
-    #is($N1, 'NaN', '... acot 2')
-    skip(1, 'cot/coth/acot not implemented for real numbers')
-.end
-
-.sub test_sec
-    $N0 = 'Inf'
-    $N1 = sec $N0
-    is($N1, 'NaN', 'sec: sec Inf')
-    $N0 = '-Inf'
-    $N1 = sec $N0
-    is($N1, 'NaN', '... sec -Inf')
-    $N0 = 'NaN'
-    $N1 = sec $N0
-    is($N1, 'NaN', '... sec NaN')
-.end
-
-.sub test_sech
-    $N0 = 'Inf'
-    $N1 = sech $N0
-    is($N1, 0, 'sech: sech Inf')
-    $N0 = '-Inf'
-    $N1 = sech $N0
-    is($N1, 0, '... sech -Inf')
-    $N0 = 'NaN'
-    $N1 = sech $N0
-    is($N1, 'NaN', '... sech NaN')
-.end
-
-.sub test_asec
-    $N0 = 'Inf'
-    $N1 = asec $N0
-    $P1 = new 'Float'
-    $P1 = $N1
-    is($P1, 1.5707963, 'asec: asec Inf',1e-6)
-    $N0 = '-Inf'
-    $N1 = asec $N0
-    $P1 = $N1
-    is($P1, 1.5707963, '... asec -Inf',1e-6)
-    $N0 = 'NaN'
-    $N1 = asec $N0
-    is($N1, 'NaN', 'asec NaN')
-.end
-
-.sub test_ln
-    $N0 = 'Inf'
-    $N1 = ln $N0
-    is($N1, 'Inf', 'ln: ln Inf')
-    $N0 = '-Inf'
-    $N1 = ln $N0
-    is($N1, 'NaN', '... ln Inf')
-    $N0 = 'NaN'
-    $N1 = ln $N0
-    is($N1, 'NaN', '... ln NaN')
-.end
-
-.sub test_log10
-    $N0 = 'Inf'
-    $N1 = log10 $N0
-    is($N1, 'Inf', 'log10: log10 Inf')
-    $N0 = '-Inf'
-    $N1 = log10 $N0
-    is($N1, 'NaN', '... log10 -Inf')
-    $N0 = 'NaN'
-    $N1 = log10 $N0
-    is($N1, 'NaN', '... log10 NaN')
-.end
-
-.sub test_log2
-    $N0 = 'Inf'
-    $N1 = log2 $N0
-    is($N1, 'Inf', 'log2: log2 Inf')
-    $N0 = '-Inf'
-    $N1 = log2 $N0
-    is($N1, 'NaN', '... log2 -Inf')
-    $N0 = 'NaN'
-    $N1 = log2 $N0
-    is($N1, 'NaN', '... log2 -Inf')
-.end
-
 .sub test_neg
     $N0 = 'Inf'
     $N1 = neg $N0
@@ -376,19 +88,6 @@
     is($N1, 'NaN', '... neg NaN')
 .end
 
-.sub test_pow
-    $N0 = 'Inf'
-    pow $N1, $N0, 2
-    is($N1, 'Inf', 'pow: Inf ^ 2')
-    pow $N1, 2, $N0
-    is($N1, 'Inf', '...: 2 ^ Inf')
-    $N0 = 'NaN'
-    pow $N1, $N0, 2
-    is($N1, 'NaN', '...: NaN ^ 2')
-    pow $N1, 2, $N0
-    is($N1, 'NaN', '...: 2 ^ NaN')
-.end
-
 .sub test_mix_nan_inf
     $N0 = 'NaN'
     $N1 = 'Inf'
@@ -456,7 +155,7 @@
     $N0 = 'NaN'
     fdiv $P1, $P2, $N0
     #is($P1, 'NaN', 'fdiv with Integer PMCs and NaN')
-    skip(1, 'fdiv/mod/cmod do not play nicely with PMCs and NaN')
+    skip(1, 'fdiv/mod do not play nicely with PMCs and NaN')
 .end
 
 .sub test_fdiv_float_pmc_nan
@@ -466,7 +165,7 @@
     $N0 = 'NaN'
     fdiv $P1, $P2, $N0
     #is($P1, 'NaN','fdiv with Float PMCs and NaN')
-    skip(1, 'fdiv/mod/cmod do not play nicely with PMCs and NaN')
+    skip(1, 'fdiv/mod do not play nicely with PMCs and NaN')
 .end
 
 .sub test_fdiv_float_integer_pmc_nan
@@ -476,17 +175,7 @@
     $N0 = 'NaN'
     fdiv $P1, $P2, $N0
     #is($P1, 'NaN', 'fdiv with Float and Integer PMCs and NaN')
-    skip(1, 'fdiv/mod/cmod do not play nicely with PMCs and NaN')
-.end
-
-.sub test_cmod_float_integer_pmc_nan
-    $P1 = new 'Float'
-    $P2 = new 'Integer'
-    $P2 = 1
-    $N0 = 'NaN'
-    cmod $P1, $P2, $N0
-    #is($P1, 'NaN', 'cmod with Float and Integer PMCs and NaN')
-    skip(1, 'fdiv/mod/cmod do not play nicely with PMCs and NaN')
+    skip(1, 'fdiv/mod do not play nicely with PMCs and NaN')
 .end
 
 .sub test_mod_float_integer_pmc_nan
@@ -496,7 +185,7 @@
     $N0 = 'NaN'
     mod $P1, $P2, $N0
     #is($P1, 'NaN', 'mod with Float and Integer PMCs and NaN')
-    skip(1, 'fdiv/mod/cmod do not play nicely with PMCs and NaN')
+    skip(1, 'fdiv/mod do not play nicely with PMCs and NaN')
 .end
 
 # Local Variables:

Modified: trunk/t/op/integer.t
==============================================================================
--- trunk/t/op/integer.t	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/op/integer.t	Thu May 27 08:45:23 2010	(r47051)
@@ -16,7 +16,7 @@
 
 =cut
 
-.const int TESTS = 159
+.const int TESTS = 150
 
 .sub 'test' :main
     .include 'test_more.pir'
@@ -32,7 +32,6 @@
     test_div()
     test_mod()
     mod_negative_zero_rest()
-    test_cmod()
     test_eq()
     test_ne()
     test_lt()
@@ -60,9 +59,6 @@
     test_fdiv_i_i_i_by_zero()
     test_fdiv_i_ic_i_by_zero()
     test_fdiv_i_i_ic_by_zero()
-    test_cmod_i_i_i_by_zero()
-    test_cmod_i_ic_i_by_zero()
-    test_cmod_i_i_ic_by_zero()
     test_mod_i_i_i_by_zero()
     test_mod_i_ic_i_by_zero()
     test_mod_i_i_ic_by_zero()
@@ -337,26 +333,6 @@
     is($I1, 0, 'mod - negative, zero rest (#36003), -3 mod -3 = 0')
 .end
 
-.sub 'test_cmod'
-    $I0 = 5
-    $I1 = 3
-    $I2 = cmod $I0, $I1
-    is($I2, 2, 'cmod_i_i_i')
-    is($I0, 5, 'cmod_i_i_i - dividend unchanged')
-    is($I1, 3, 'cmod_i_i_i - divisor unchanged')
-
-    $I0 = 12
-
-    $I1 = cmod $I0, 10
-    is($I1, 2, 'cmod_i_i_ic')
-
-    $I1 = cmod 14, $I0
-    is($I1, 2, 'cmod_i_ic_i')
-
-    $I1 = cmod 13, 11
-    is($I1, 2, 'cmod_i_ic_ic')
-.end
-
 .sub 'test_eq'
     $I0 = 0x12345678
     $I1 = 0x12345678
@@ -925,52 +901,6 @@
     ok($I3, 'fdiv_i_i_ic by zero')
 .end
 
-.sub 'test_cmod_i_i_i_by_zero'
-    $I0 = 0
-    $I1 = 10
-    push_eh test_cmod_i_i_i_by_zero_catch
-    $I2 = cmod $I1, $I0
-    pop_eh
-    $I3 = 0
-    goto test_cmod_i_i_i_by_zero_end
-
-  test_cmod_i_i_i_by_zero_catch:
-    $I3 = 1
-
-  test_cmod_i_i_i_by_zero_end:
-    ok($I3, 'cmod_i_i_i by zero')
-.end
-
-.sub 'test_cmod_i_ic_i_by_zero'
-    $I0 = 0
-    push_eh test_cmod_i_ic_i_by_zero_catch
-    $I2 = cmod 10, $I0
-    pop_eh
-    $I3 = 0
-    goto test_cmod_i_ic_i_by_zero_end
-
-  test_cmod_i_ic_i_by_zero_catch:
-    $I3 = 1
-
-  test_cmod_i_ic_i_by_zero_end:
-    ok($I3, 'cmod_i_ic_i by zero')
-.end
-
-.sub 'test_cmod_i_i_ic_by_zero'
-    $I1 = 10
-    push_eh test_cmod_i_i_ic_by_zero_catch
-    $I2 = cmod $I1, 0
-    pop_eh
-    $I3 = 0
-    goto test_cmod_i_i_ic_by_zero_end
-
-  test_cmod_i_i_ic_by_zero_catch:
-    $I3 = 1
-
-  test_cmod_i_i_ic_by_zero_end:
-    ok($I3, 'cmod_i_i_ic by zero')
-.end
-
 .sub 'test_mod_i_i_i_by_zero'
     $I0 = 0
     $I1 = 10

Modified: trunk/t/op/interp.t
==============================================================================
--- trunk/t/op/interp.t	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/op/interp.t	Thu May 27 08:45:23 2010	(r47051)
@@ -43,6 +43,7 @@
 OUTPUT
 
 pir_output_is( <<'CODE', <<'OUTPUT', 'runinterp - works with printing' );
+.loadlib 'io_ops'
 .sub 'test' :main
     .local string actual
     .local pmc test_interp
@@ -70,6 +71,7 @@
 # the test fail.
 pasm_output_like(
     <<'CODE', <<'OUTPUT', "restart trace" );
+    .loadlib 'io_ops'
     printerr "ok 1\n"
     sweepoff
     set I0, 1
@@ -89,6 +91,7 @@
 pasm_output_is( <<'CODE', 'nada:', 'interp - warnings' );
     new P0, 'Undef'
     set I0, P0
+    .loadlib 'io_ops'
     printerr "nada:"
     warningson 1
     new P1, 'Undef'

Deleted: trunk/t/op/io.t
==============================================================================
--- trunk/t/op/io.t	Thu May 27 08:45:23 2010	(r47050)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,178 +0,0 @@
-#!./parrot
-# Copyright (C) 2008, Parrot Foundation.
-# $Id$
-
-=head1 NAME
-
-t/op/io.t - Testing io opcodes
-
-=head1 SYNOPSIS
-
-    % prove t/op/io.t
-
-=head1 DESCRIPTION
-
-Tests various io opcodes.
-
-=cut
-
-.const int TESTS = 5
-
-.sub 'main' :main
-    .include 'test_more.pir'
-
-    plan(TESTS)
-
-    open_delegates_to_filehandle_pmc()
-    open_null_filename()
-    open_null_mode()
-    open_pipe_for_reading()
-    open_pipe_for_writing()
-.end
-
-.sub open_delegates_to_filehandle_pmc
-    load_bytecode 'P6object.pbc'
-
-    .local pmc p6meta, interp, classes, classid
-    p6meta = get_root_global ["parrot"], "P6metaclass"
-    p6meta.'new_class'('Testing')
-
-    interp = getinterp
-    classes = interp[0]
-    classid = classes['Testing']
-    $I0 = classes['FileHandle']
-    set classes['FileHandle'], classid
-
-    $P1 = open '/foo'
-    is($P1,42,'open opcode delegates to the open method on the FileHandle PMC')
-
-    # replace the original, so we don't break other tests
-    set classes['FileHandle'], $I0
-
-.end
-
-.sub 'open_null_filename'
-    push_eh open_null_filename_failed
-    null $S0
-    $P0 = open $S0, 'r'
-    nok(1, 'open with null filename')
-    .return ()
-
-  open_null_filename_failed:
-    ok(1, 'open with null filename')
-.end
-
-.sub 'open_null_mode'
-    push_eh open_null_mode_failed
-    null $S0
-    $P0 = open 'some_name', $S0
-    nok(1, 'open with null mode')
-    .return ()
-
-  open_null_mode_failed:
-    ok(1, 'open with null mode')
-.end
-
-.sub 'tt661_todo_test' :anon
-    # As of r41963, these tests need to be todo'ed at least on Win32. Add new
-    # platforms known to fail.
-    .include 'sysinfo.pasm'
-    $S0 = sysinfo .SYSINFO_PARROT_OS
-    if $S0 == 'MSWin32' goto tt661_todo
-
-    .return (0)
-
-  tt661_todo:
-    .return (1)
-.end
-
-.include 'iglobals.pasm'
-
-.sub 'open_pipe_for_reading'
-    .local pmc interp
-    interp = getinterp
-
-    .local pmc conf
-    conf = interp[.IGLOBALS_CONFIG_HASH]
-
-    .local string command
-    command = conf['build_dir']
-
-    .local string aux
-    aux = conf['slash']
-    command .= aux
-    aux = conf['test_prog']
-    command .= aux
-    aux = conf['exe']
-    command .= aux
-    command .= ' -V'
-
-    .local pmc pipe
-    pipe = open command, 'rp'
-    unless pipe goto open_pipe_for_reading_failed
-    .local string line
-    line = readline pipe
-    line = substr line, 0, 14
-    is('This is Parrot', line, 'open pipe for reading')
-    .return ()
-
-  open_pipe_for_reading_failed:
-    nok(1, 'open pipe for reading')
-    .return ()
-.end
-
-.sub 'open_pipe_for_writing'
-    $I0 = tt661_todo_test()
-    if $I0 goto open_pipe_for_writing_todoed
-    .local pmc interp
-    interp = getinterp
-
-    .local pmc conf
-    conf = interp[.IGLOBALS_CONFIG_HASH]
-
-    .local string command
-    command = conf['build_dir']
-
-    .local string aux
-    aux = conf['slash']
-    command .= aux
-    .local string filename
-    filename .= command
-    filename .= 'examples/pasm/cat.pasm'
-    aux = conf['test_prog']
-    command .= aux
-    aux = conf['exe']
-    command .= aux
-    command .= ' '
-    command .= filename
-
-    .local pmc pipe
-    pipe = open command, 'wp'
-    unless pipe goto open_pipe_for_writing_failed
-
-    pipe.'puts'("ok 5 - open pipe for writing\n")
-    close pipe
-    .return ()
-
-  open_pipe_for_writing_failed:
-    nok(1, 'open pipe for writing')
-    .return ()
-
-  open_pipe_for_writing_todoed:
-    todo(0, 'Unimplemented in this platform, TT #661')
-
-.end
-
-.namespace ["Testing"]
-
-.sub open :method
-    .param pmc args :slurpy
-    .return(42)
-.end
-
-
-# Local Variables:
-#   mode: pir
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4 ft=pir:

Modified: trunk/t/op/number.t
==============================================================================
--- trunk/t/op/number.t	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/op/number.t	Thu May 27 08:45:23 2010	(r47051)
@@ -19,7 +19,7 @@
 .sub main :main
     .include 'test_more.pir'
 
-    plan(130)
+    plan(126)
     test_set_n_nc()
     test_set_n()
     test_add_n_n_n()
@@ -30,7 +30,6 @@
     test_mul_i()
     test_div_i()
     test_mod_n()
-    test_cmod_n()
     test_eq_n_ic()
     test_eq_nc_ic()
     test_ne_n_ic()
@@ -66,9 +65,6 @@
     test_exception_fdiv_n_n_n_by_zero()
     test_exception_fdiv_n_nc_n_by_zero()
     test_exception_fdiv_n_n_nc_by_zero()
-    test_exception_cmod_n_n_n_by_zero()
-    test_exception_cmod_n_nc_n_by_zero()
-    test_exception_cmod_n_n_nc_by_zero()
     test_mod_n_n_n_by_zero()
     test_mod_n_nc_n_by_zero()
     test_mod_n_n_nc_by_zero()
@@ -259,13 +255,6 @@
     is( $N2, "-2", 'mod_n' )
 .end
 
-.sub test_cmod_n
-    set     $N0, 5.000
-    set     $N1, 3.000
-    cmod    $N2, $N0, $N1
-    is( $N2, "2", 'cmod_n' )
-.end
-
 .sub test_eq_n_ic
     set     $N0, 5.000001
     set     $N1, 5.000001
@@ -780,31 +769,6 @@
     .exception_is( 'Divide by zero' )
 .end
 
-.sub test_exception_cmod_n_n_n_by_zero
-    push_eh handler
-    set $N0, 0
-    set $N1, 10
-    cmod $N2, $N1, $N0
-  handler:
-    .exception_is( 'Divide by zero' )
-.end
-
-.sub test_exception_cmod_n_nc_n_by_zero
-    push_eh handler
-    set $N0, 0
-    cmod $N2, 10, $N0
-  handler:
-    .exception_is( 'Divide by zero' )
-.end
-
-.sub test_exception_cmod_n_n_nc_by_zero
-    push_eh handler
-    set $N1, 10
-    cmod $N2, $N1, 0
-  handler:
-    .exception_is( 'Divide by zero' )
-.end
-
 .sub test_mod_n_n_n_by_zero
     set $N0, 0
     set $N1, 10

Modified: trunk/t/op/sprintf.t
==============================================================================
--- trunk/t/op/sprintf.t	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/op/sprintf.t	Thu May 27 08:45:23 2010	(r47051)
@@ -59,6 +59,9 @@
 
 .const int TESTS = 308
 
+.loadlib 'sys_ops'
+.loadlib 'io_ops'
+
 .sub main :main
     load_bytecode 'Test/Builder.pbc'
     .include "iglobals.pasm"
@@ -154,7 +157,8 @@
     data_hash = new 'Hash'
     data_hash["''"] = ''
     data_hash['2**32-1'] = 0xffffffff
-    $N0 = pow 2, 38
+    $N0 = data_hash['2**32-1']
+    inc $N0
     data_hash['2**38'] = $N0
     data_hash["'string'"] = 'string'
 

Modified: trunk/t/op/string.t
==============================================================================
--- trunk/t/op/string.t	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/op/string.t	Thu May 27 08:45:23 2010	(r47051)
@@ -19,7 +19,7 @@
 .sub main :main
     .include 'test_more.pir'
 
-    plan(339)
+    plan(284)
 
     set_s_s_sc()
     test_clone()
@@ -122,21 +122,6 @@
     test_find_encoding()
     test_assign()
     assign_and_globber()
-    bands_null_string()
-    bands_2()
-    bands_3()
-    bands_cow()
-    bors_null_string()
-    bors_2()
-    bors_3()
-    bors_cow()
-    bxors_null_string()
-    bxors_2()
-    bxors_3()
-    bxors_cow()
-    bnots_null_string()
-    bnots_2()
-    bnots_cow()
     split_on_empty_string()
     split_on_non_empty_string()
     test_join()
@@ -1393,246 +1378,6 @@
     is( $S5, "JAPH", 'assign & globber' )
 .end
 
-.sub bands_null_string
-    null $S1
-    set $S2, "abc"
-    $S1 = bands $S1, $S2
-    null $S3
-    is( $S1, $S3, 'ok1' )
-
-    set $S1, ""
-    $S1 = bands $S1, $S2
-    nok( $S1, 'ok2' )
-
-    null $S2
-    set $S1, "abc"
-    $S1 = bands $S1, $S2
-    null $S3
-    is( $S1, $S3, 'ok3' )
-
-    set $S2, ""
-    $S1 = bands $S1, $S2
-    nok( $S1, 'ok4' )
-.end
-
-.sub bands_2
-    set $S1, "abc"
-    set $S2, "EE"
-    $S1 = bands $S1, $S2
-    is( $S1, "A@", 'bands 2' )
-    is( $S2, "EE", 'bands 2' )
-.end
-
-.sub bands_3
-    set $S1, "abc"
-    set $S2, "EE"
-    bands $S0, $S1, $S2
-    is( $S0, "A@", 'bands 3' )
-    is( $S1, "abc", 'bands 3' )
-    is( $S2, "EE", 'bands 3' )
-.end
-
-.sub bands_cow
-    set $S1, "foo"
-    substr $S2, $S1, 0, 3
-    $S1 = bands $S1, "bar"
-    is( $S2, "foo", 'bands COW' )
-.end
-
-.sub bors_null_string
-    null $S1
-    null $S2
-    $S1 = bors $S1, $S2
-    null $S3
-    is( $S1, $S3, 'bors NULL string' )
-
-    null $S1
-    set $S2, ""
-    $S1 = bors $S1, $S2
-    null $S3
-    is( $S1, $S3, 'bors NULL string' )
-
-    $S2 = bors $S2, $S1
-    is( $S2, $S3, 'bors NULL string' )
-
-    null $S1
-    set $S2, "def"
-    $S1 = bors $S1, $S2
-    is( $S1, "def", 'bors NULL string' )
-
-    null $S2
-    $S1 = bors $S1, $S2
-    is( $S1, "def", 'bors NULL string' )
-
-    null $S1
-    null $S2
-    bors $S3, $S1, $S2
-    null $S4
-    is( $S3, $S4, 'bors NULL string' )
-
-    set $S1, ""
-    bors $S3, $S1, $S2
-    is( $S3, $S4, 'bors NULL string' )
-
-    bors $S3, $S2, $S1
-    is( $S3, $S4, 'bors NULL string' )
-
-    set $S1, "def"
-    bors $S3, $S1, $S2
-    is( $S3, "def", 'bors NULL string' )
-
-    bors $S3, $S2, $S1
-    is( $S3, "def", 'bors NULL string' )
-.end
-
-.sub bors_2
-    set $S1, "abc"
-    set $S2, "EE"
-    $S1 = bors $S1, $S2
-    is( $S1, "egc", 'bors 2' )
-    is( $S2, "EE", 'bors 2' )
-.end
-
-.sub bors_3
-    set $S1, "abc"
-    set $S2, "EE"
-    bors $S0, $S1, $S2
-    is( $S0, "egc", 'bors 3' )
-    is( $S1, "abc", 'bors 3' )
-    is( $S2, "EE", 'bors 3' )
-.end
-
-.sub bors_cow
-    set $S1, "foo"
-    substr $S2, $S1, 0, 3
-    $S1 = bors $S1, "bar"
-    is( $S2, "foo", 'bors COW' )
-.end
-
-.sub bxors_null_string
-    null $S1
-    null $S2
-    $S1 = bxors $S1, $S2
-    null $S3
-    is( $S1, $S3, 'bxors NULL string' )
-
-    null $S1
-    set $S2, ""
-    $S1 = bxors $S1, $S2
-    null $S3
-    is( $S1, $S3, 'bxors NULL string' )
-
-    $S2 = bxors $S2, $S1
-    is( $S2, $S3, 'bxors NULL string' )
-
-    null $S1
-    set $S2, "abc"
-    $S1 = bxors $S1, $S2
-    is( $S1, "abc", 'bxors NULL string' )
-
-    null $S2
-    $S1 = bxors $S1, $S2
-    is( $S1, "abc", 'bxors NULL string' )
-
-    null $S1
-    null $S2
-    bxors $S3, $S1, $S2
-    null $S4
-    is( $S3, $S4, 'bxors NULL string' )
-
-    set $S1, ""
-    bxors $S3, $S1, $S2
-    is( $S3, $S4, 'bxors NULL string' )
-
-    bxors $S3, $S2, $S1
-    is( $S3, $S4, 'bxors NULL string' )
-
-    set $S1, "abc"
-    bxors $S3, $S1, $S2
-    is( $S3, "abc", 'bxors NULL string' )
-
-    bxors $S3, $S2, $S1
-    is( $S3, "abc", 'bxors NULL string' )
-.end
-
-.sub bxors_2
-    set $S1, "a2c"
-    set $S2, "Dw"
-    $S1 = bxors $S1, $S2
-    is( $S1, "%Ec", 'bxors 2' )
-    is( $S2, "Dw", 'bxors 2' )
-
-    set $S1, "abc"
-    set $S2, "   X"
-    $S1 = bxors $S1, $S2
-    is( $S1, "ABCX", 'bxors 2' )
-    is( $S2, "   X", 'bxors 2' )
-.end
-
-.sub bxors_3
-    set $S1, "a2c"
-    set $S2, "Dw"
-    bxors $S0, $S1, $S2
-    is( $S0, "%Ec", 'bxors 3' )
-    is( $S1, "a2c", 'bxors 3' )
-    is( $S2, "Dw", 'bxors 3' )
-
-    set $S1, "abc"
-    set $S2, "   Y"
-    bxors $S0, $S1, $S2
-    is( $S0, "ABCY", 'bxors 3' )
-    is( $S1, "abc", 'bxors 3' )
-    is( $S2, "   Y", 'bxors 3' )
-.end
-
-.sub bxors_cow
-    set $S1, "foo"
-    substr $S2, $S1, 0, 3
-    $S1 = bxors $S1, "bar"
-    is( $S2, "foo", 'bxors COW' )
-.end
-
-.sub bnots_null_string
-    null $S1
-    null $S2
-    bnots $S1, $S2
-    null $S3
-    is( $S1, $S3, 'bnots NULL string' )
-
-    null $S1
-    set $S2, ""
-    bnots $S1, $S2
-    null $S3
-    is( $S1, $S3, 'bnots NULL string' )
-
-    bnots $S2, $S1
-    is( $S2, $S3, 'bnots NULL string' )
-.end
-
-# This was the previous test used for t/native_pbc/string.t
-.sub bnots_2
-    skip( 4, "No unicode yet" )
-    # getstdout $P0
-    # push $P0, "utf8"
-    # set $S1, "a2c"
-    # bnots $S2, $S1
-    # is( $S1, "a2c", 'bnots 2' )
-    # is( $S2, "\xC2\x9E\xC3\x8D\xC2\x9C", 'bnots 2' )
-    #
-    # bnots $S1, $S1
-    # is( $S1, "\xC2\x9E\xC3\x8D\xC2\x9C", 'bnots 2' )
-    #
-    # bnots $S1, $S1
-    # is( $S1, "a2c", 'bnots 2' )
-.end
-
-.sub bnots_cow
-    set $S1, "foo"
-    substr $S2, $S1, 0, 3
-    bnots $S1, $S1
-    is( $S2, "foo", 'bnots COW' )
-.end
-
 .sub split_on_empty_string
     split $P1, "", ""
     set $I1, $P1

Modified: trunk/t/op/string_cs.t
==============================================================================
--- trunk/t/op/string_cs.t	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/op/string_cs.t	Thu May 27 08:45:23 2010	(r47051)
@@ -411,6 +411,7 @@
 SKIP: {
     skip( 'no ICU lib', 17 ) unless $PConfig{has_icu};
     pir_output_is( <<'CODE', <<"OUTPUT", "unicode downcase" );
+.loadlib 'io_ops'
 .sub main :main
     set $S0, iso-8859-1:"TÖTSCH"
     find_charset $I0, "unicode"
@@ -622,6 +623,7 @@
 OUTPUT
 
     pir_output_is( <<'CODE', <<"OUTPUT", "unicode upcase" );
+.loadlib 'io_ops'
 .sub main :main
     set $S0, iso-8859-1:"tötsch"
     find_charset $I0, "unicode"
@@ -638,6 +640,7 @@
 OUTPUT
 
     pir_output_is( <<'CODE', <<"OUTPUT", "unicode upcase to combined char" );
+.loadlib 'io_ops'
 .sub main :main
     set $S1, unicode:"hacek j \u01f0"
     upcase $S1, $S1
@@ -668,6 +671,7 @@
     # 0x844fb60:      0x005f  0x005f  0x005f  0x004a  0x030c  0x0031  0x0032  0x0000
 
     pir_output_is( <<'CODE', <<"OUTPUT", "unicode upcase to combined char 3.2 bug?" );
+.loadlib 'io_ops'
 .sub main :main
     set $S1, unicode:"___\u01f0123"
     upcase $S1, $S1
@@ -682,6 +686,7 @@
 OUTPUT
 
     pir_output_is( <<'CODE', <<"OUTPUT", "unicode titlecase" );
+.loadlib 'io_ops'
 .sub main :main
     set $S0, iso-8859-1:"tötsch leo"
     find_charset $I0, "unicode"
@@ -698,6 +703,7 @@
 OUTPUT
 
     pir_output_is( <<'CODE', <<OUTPUT, "combose combined char" );
+.loadlib 'io_ops'
 .sub main :main
     set $S1, unicode:"___\u01f0___"
     length $I0, $S1

Modified: trunk/t/op/stringu.t
==============================================================================
--- trunk/t/op/stringu.t	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/op/stringu.t	Thu May 27 08:45:23 2010	(r47051)
@@ -25,11 +25,12 @@
 
 pir_output_is( <<'CODE', <<OUTPUT, "angstrom" );
 .sub main :main
-    getstdout $P0
-    $P0.'encoding'("utf8")
+    $P0 = getinterp
+    $P1 = $P0.'stdhandle'(1)
+    $P1.'encoding'("utf8")
     chr $S0, 0x212B
-    print $P0, $S0
-    print $P0, "\n"
+    print $S0
+    print "\n"
     end
 .end
 CODE
@@ -38,8 +39,9 @@
 
 pir_output_is( <<'CODE', <<OUTPUT, "escaped angstrom" );
 .sub main :main
-    getstdout $P0
-    $P0.'encoding'("utf8")
+    $P0 = getinterp
+    $P1 = $P0.'stdhandle'(1)
+    $P1.'encoding'("utf8")
     set $S0, unicode:"\x{212b}"
     print $S0
     print "\n"
@@ -51,8 +53,9 @@
 
 pir_output_is( <<'CODE', <<OUTPUT, "escaped angstrom 2" );
 .sub main :main
-    getstdout $P0
-    $P0.'encoding'("utf8")
+    $P0 = getinterp
+    $P1 = $P0.'stdhandle'(1)
+    $P1.'encoding'("utf8")
     set $S0, unicode:"aaaaaa\x{212b}"
     print $S0
     print "\n"
@@ -64,8 +67,9 @@
 
 pir_output_is( <<'CODE', <<OUTPUT, "escaped angstrom 3" );
 .sub main :main
-    getstdout $P0
-    $P0.'encoding'("utf8")
+    $P0 = getinterp
+    $P1 = $P0.'stdhandle'(1)
+    $P1.'encoding'("utf8")
     set $S0, unicode:"aaaaaa\x{212b}-aaaaaa"
     print $S0
     print "\n"
@@ -77,8 +81,9 @@
 
 pir_output_is( <<'CODE', <<OUTPUT, 'escaped angstrom 3 \uhhhh' );
 .sub main :main
-    getstdout $P0
-    $P0.'encoding'("utf8")
+    $P0 = getinterp
+    $P1 = $P0.'stdhandle'(1)
+    $P1.'encoding'("utf8")
     set $S0, unicode:"aaaaaa\u212b-aaaaaa"
     print $S0
     print "\n"
@@ -90,8 +95,9 @@
 
 pir_output_is( <<'CODE', <<OUTPUT, "MATHEMATICAL BOLD CAPITAL A" );
 .sub main :main
-    getstdout $P0
-    $P0.'encoding'("utf8")
+    $P0 = getinterp
+    $P1 = $P0.'stdhandle'(1)
+    $P1.'encoding'("utf8")
     set $S0, unicode:"aaaaaa\x{1d400}-aaaaaa"
     print $S0
     print "\n"
@@ -103,8 +109,9 @@
 
 pir_output_is( <<'CODE', <<OUTPUT, 'MATHEMATICAL BOLD CAPITAL A \U' );
 .sub main :main
-    getstdout $P0
-    $P0.'encoding'("utf8")
+    $P0 = getinterp
+    $P1 = $P0.'stdhandle'(1)
+    $P1.'encoding'("utf8")
     set $S0, unicode:"aaaaaa\U0001d400-aaaaaa"
     print $S0
     print "\n"
@@ -116,8 +123,9 @@
 
 pir_output_is( <<'CODE', <<OUTPUT, "two upscales" );
 .sub main :main
-    getstdout $P0
-    $P0.'encoding'("utf8")
+    $P0 = getinterp
+    $P1 = $P0.'stdhandle'(1)
+    $P1.'encoding'("utf8")
     set $S0, unicode:"aaaaaa\x{212b}-bbbbbb\x{1d400}-cccccc"
     print $S0
     print "\n"
@@ -133,8 +141,9 @@
 
 pir_output_is( <<'CODE', <<OUTPUT, "two upscales - don't downscale" );
 .sub main :main
-    getstdout $P0
-    $P0.'encoding'("utf8")
+    $P0 = getinterp
+    $P1 = $P0.'stdhandle'(1)
+    $P1.'encoding'("utf8")
     set $S0, unicode:"aaaaaa\x{1d400}-bbbbbb\x{212b}-cccccc"
     print $S0
     print "\n"
@@ -150,8 +159,9 @@
 
 pir_output_is( <<'CODE', <<OUTPUT, '\cX, \ooo' );
 .sub main :main
-    getstdout $P0
-    $P0.'encoding'("utf8")
+    $P0 = getinterp
+    $P1 = $P0.'stdhandle'(1)
+    $P1.'encoding'("utf8")
     set $S0, "ok 1\cJ"
     print $S0
     set $S0, "ok 2\012"

Deleted: trunk/t/op/sysinfo.t
==============================================================================
--- trunk/t/op/sysinfo.t	Thu May 27 08:45:23 2010	(r47050)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,183 +0,0 @@
-#!perl
-# Copyright (C) 2008-2010, Parrot Foundation.
-# $Id$
-
-# initial work by Brad Gilbert b2gills <at> gmail <dot> com
-
-use strict;
-use warnings;
-use lib qw( . lib ../lib ../../lib );
-
-use Test::More;
-use Config;
-
-use Parrot::Test tests => 14;
-use Parrot::Config;
-
-
-=head1 NAME
-
-t/op/sysinfo.t - System Info
-
-=head1 SYNOPSIS
-
-        % prove t/op/sysinfo.t
-
-=head1 DESCRIPTION
-
-Tests for basic system information.
-
-=over 4
-
-=item 1 The size of a platform integer
-
-=item 2 The size of a platform float
-
-=item 3 The size of a platform pointer. (Largest possible data pointer)
-
-=item 4 The OS name
-
-=item 5 The OS version string
-
-=item 6 The OS version number string
-
-=item 7 The CPU architecture
-
-=item 8 The CPU model
-
-=item 9, 10 The min and max INTVAL values
-
-=back
-
-=cut
-
-
-my @setup = (
-    { pconfig_key => 'intvalsize',
-      pasm_key    => 1,
-      pir_key     => 'SYSINFO_PARROT_INTSIZE',
-      desc        => 'integer size',
-      reg_type    => 'I',
-    },
-    { pconfig_key => 'doublesize',
-      pasm_key    => 2,
-      pir_key     => 'SYSINFO_PARROT_FLOATSIZE',
-      desc        => 'float size',
-      reg_type    => 'I',
-    },
-    { pconfig_key => 'ptrsize',
-      pasm_key    => 3,
-      pir_key     => 'SYSINFO_PARROT_POINTERSIZE',
-      desc        => 'pointer size',
-      reg_type    => 'I',
-    },
-    { pconfig_key => 'osname',
-      pasm_key    => 4,
-      pir_key     => 'SYSINFO_PARROT_OS',
-      desc        => 'osname',
-      reg_type    => 'S',
-    },
-    { pconfig_key => 'cpuarch',
-      pasm_key    => 7,
-      pir_key     => 'SYSINFO_CPU_ARCH',
-      desc        => 'CPU Arch Family',
-      reg_type    => 'S',
-    },
-);
-
-foreach ( @setup ) {
-    if ( $_->{reg_type} eq 'I' ) {
-        pasm_output_is( <<"CODE", $PConfig{$_->{pconfig_key}}, "PASM sysinfo  $_->{desc}" );
-   sysinfo_i_ic I1, $_->{pasm_key}
-   print I1
-end
-CODE
-        pir_output_is( <<"CODE", $PConfig{$_->{pconfig_key}}, "PIR sysinfo  $_->{desc}" );
-.include 'sysinfo.pasm'
-.sub main :main
-    \$I0 = sysinfo .$_->{pir_key}
-    print \$I0
-.end
-CODE
-    }
-    else {
-        pasm_output_is( <<"CODE", $PConfig{$_->{pconfig_key}}, "sysinfo $_->{desc}" );
-   sysinfo_s_ic S1, $_->{pasm_key}
-   print S1
-end
-CODE
-        pir_output_is( <<"CODE", $PConfig{$_->{pconfig_key}}, "PIR sysinfo  $_->{desc}" );
-.include 'sysinfo.pasm'
-.sub main :main
-    \$S0 = sysinfo .$_->{pir_key}
-    print \$S0
-.end
-CODE
-    }
-}
-
-SKIP:
-{
-    $PConfig{osname} eq 'MSWin32'
-        or skip "Tests only meaningful on Win32", 2;
-    SKIP:
-    {
-        eval { require Win32; } or
-            skip "requires package Win32 for these tests", 2;
-
-        my $osname = Win32::GetOSName();
-        $osname = 'WinXP' if $osname =~ m/^WinXP/;
-        TODO: {
-            local $TODO = "Not Currently Implemented";
-            pasm_output_is( <<'CODE', $osname, "sysinfo OS version string" );
-    sysinfo_s_ic S1, 5
-    print S1
-end
-CODE
-
-            my ( $osvername, $major, $minor, $id ) = Win32::GetOSVersion();
-
-            pasm_output_is( <<'CODE', "$major.$minor", "sysinfo OS version number string" );
-    sysinfo_s_ic S1, 6
-    print S1
-end
-CODE
-        } # END todo block
-    } # END inner SKIP block
-} # END outer SKIP block
-
-SKIP:
-{
-    skip "Requires a lot of work to find out the correct answer", 1;
-
-    pasm_output_is( <<'CODE', $PConfig{archname}, "sysinfo CPU Model" );
-   sysinfo_s_ic S1, 8
-   print S1
-end
-CODE
-}
-
-# 9, 10
-
-SKIP:
-{
-    skip 'Testing only in some known platforms', 1
-        unless $PConfig{osname} eq 'linux';
-
-    pir_output_like( <<'CODE', '/^-[1-9][0-9]*\n[1-9][0-9]*\n$/', 'INTVAL min and max values');
-.include 'sysinfo.pasm'
-.sub main :main
-    $I0 = sysinfo .SYSINFO_PARROT_INTMIN
-    say $I0
-    $I0 = sysinfo .SYSINFO_PARROT_INTMAX
-    say $I0
-.end
-CODE
-}
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Modified: trunk/t/op/time.t
==============================================================================
--- trunk/t/op/time.t	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/op/time.t	Thu May 27 08:45:23 2010	(r47051)
@@ -11,7 +11,7 @@
 .sub main :main
     .include 'test_more.pir'
 
-    plan(29)
+    plan(19)
     test_time_i()
     test_time_n()
     test_sleep_i()
@@ -19,11 +19,6 @@
     test_sleep_n()
     test_sleep_n_negative()
     test_tm_pasm()
-    test_gmtime_s_i()
-    test_time_n_vs_time_i()
-    test_decodetime_p_i()
-    test_localtime_s_i()
-    test_decodelocaltime_p_i()
 .end
 
 .sub test_time_i
@@ -103,67 +98,6 @@
     is(.TM_ISDST, 8, "TM_ISDST ok")
 .end
 
-.sub test_gmtime_s_i
-    $S0 = gmtime 0
-    $I0 = isnull $S0
-    is($I0, 0, "gmtime string is not null")
-    is($S0, "Thu Jan  1 00:00:00 1970\n", "correct epoch")
-    $I1 = length $S0
-    is($I1, 25, "string is the correct length")
-.end
-
-.sub test_time_n_vs_time_i
-    .local int time_int
-    time_int = time
-
-    .local num time_float
-    time_float = time
-
-    # check if time_float is within [time_int - 5;time_int + 5]
-    .local int time_int_lower
-    time_int_lower = time_int - 5
-    if time_float < time_int_lower goto FAIL
-    .local int time_int_upper
-    time_int_upper = time_int + 5
-    if time_float > time_int_upper goto FAIL
-
-    ok(1, "time_n value corresponds to time_i value")
-    .return()
-
-  FAIL:
-    ok(0, "time_n value does not correspond to time_t value")
-    .return()
-.end
-
-.sub test_decodetime_p_i
-    $P0 = decodetime 0
-    $I0 = $P0
-    is($I0, 9, "decodetime result has 9 values")
-    $S0 = typeof $P0
-    # TODO: Actually, this should return whatever HLL type replaces
-    # FixedIntegerArray. We should test this behavior with a new HLL
-    is($S0, "FixedIntegerArray", "decodetime returns the correct PMC type")
-.end
-
-.sub test_localtime_s_i
-    $S0 = localtime 0
-    $I0 = isnull $S0
-    is($I0, 0, "localtime string is not a null string")
-    $I0 = length $S0
-    is($I0, 25, "localtime string is the correct length")
-.end
-
-.sub test_decodelocaltime_p_i
-    $P0 = decodelocaltime 0
-    $I0 = $P0
-    is($I0, 9, "decodelocaltime result has 9 values")
-    $S0 = typeof $P0
-    # TODO: Actually, this should return whatever HLL type replaces
-    # FixedIntegerArray. We should test this behavior with a new HLL
-    is($S0, "FixedIntegerArray", "decodelocaltime returns the correct PMC type")
-.end
-
-
 # Local Variables:
 #   mode: pir
 #   fill-column: 100

Modified: trunk/t/op/time_old.t
==============================================================================
--- trunk/t/op/time_old.t	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/op/time_old.t	Thu May 27 08:45:23 2010	(r47051)
@@ -29,6 +29,7 @@
 # don't run this test 1 tick before the year changes #'
 
 pasm_output_is( <<'CODE', $year, "decodelocaltime" );
+.loadlib 'sys_ops'
     time I0
     decodelocaltime P0, I0
     .include "tm.pasm"

Deleted: trunk/t/op/trans.t
==============================================================================
--- trunk/t/op/trans.t	Thu May 27 08:45:23 2010	(r47050)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,244 +0,0 @@
-#!./parrot
-# Copyright (C) 2001-2010, Parrot Foundation.
-# $Id$
-
-=head1 NAME
-
-t/op/trans.t - Trancendental Mathematical Ops
-
-=head1 SYNOPSIS
-
-        % prove t/op/trans.t
-
-=head1 DESCRIPTION
-
-Tests various transcendental operations
-
-=cut
-
-.sub main :main
-    .include 'test_more.pir'
-    .local num epsilon
-    epsilon = _epsilon()
-
-    plan(28)
-
-    test_sin_n(epsilon)
-    test_sin_i(epsilon)
-    test_cos_n(epsilon)
-    test_cos_i(epsilon)
-    test_tan_n(epsilon)
-    test_tan_i(epsilon)
-    test_sec_n(epsilon)
-    test_sec_i(epsilon)
-    test_atan_n(epsilon)
-    test_atan_i(epsilon)
-    test_asin_n(epsilon)
-    test_asin_i(epsilon)
-    test_acos_n(epsilon)
-    test_acos_i(epsilon)
-    test_asec_n(epsilon)
-    test_asec_i(epsilon)
-    test_cosh_n(epsilon)
-    test_cosh_i(epsilon)
-.end
-
-.sub _pi
-    .return (3.1415926535897)
-.end
-
-.sub _e
-    .return (2.7182818459045)
-.end
-
-.sub _epsilon
-    .return (0.0001)
-.end
-
-.sub test_sin_n
-    .param num epsilon
-
-    $N0 = sin 0.0
-    is($N0, 0.0, "sin(0.0)", epsilon)
-
-    $N0 = sin 1.0
-    is($N0, 0.841471, "sin(1.0)", epsilon)
-
-    $N1 = _pi()
-    $N0 = sin $N1
-    is($N0, 0.0, "sin(pi)", epsilon)
-
-    $N1 = _pi()
-    $N1 = $N1 / 2
-    $N0 = sin $N1
-    is($N0, 1.0, "sin(pi/2)", epsilon)
-.end
-
-.sub test_sin_i
-    .param num epsilon
-
-    $N0 = sin 0
-    is($N0, 0.0, "sin(0)", epsilon)
-
-    $N0 = sin 1
-    is($N0, 0.841471, "sin(1)", epsilon)
-.end
-
-.sub test_cos_n
-    .param num epsilon
-
-    $N0 = cos 0.0
-    is($N0, 1.0, "cos(0.0)", epsilon)
-
-    $N0 = cos 1.0
-    is($N0, 0.540302, "cos(1.0)", epsilon)
-
-    $N1 = _pi()
-    $N0 = cos $N1
-    is($N0, -1.0, "cos(pi)", epsilon)
-
-    $N1 = _pi()
-    $N1 = $N1 / 2
-    $N0 = cos $N1
-    is($N0, 0.0, "cos(pi/2)", epsilon)
-.end
-
-.sub test_cos_i
-    .param num epsilon
-
-    $N0 = cos 0
-    is($N0, 1.0, "cos(0)", epsilon)
-
-    $N0 = cos 1
-    is($N0, 0.540302, "cos(1)", epsilon)
-.end
-
-.sub test_tan_n
-    .param num epsilon
-
-    $N0 = tan 0.0
-    is($N0, 0.0, "tan(0.0)", epsilon)
-
-    $N0 = tan 1.0
-    is($N0, 1.557408, "tan(1.0)", epsilon)
-.end
-
-.sub test_tan_i
-    .param num epsilon
-
-    $N0 = tan 0
-    is($N0, 0.0, "tan(0)", epsilon)
-
-    $N0 = tan 1
-    is($N0, 1.557408, "tan(1)", epsilon)
-.end
-
-.sub test_sec_n
-    .param num epsilon
-
-    $N1 = 1.0
-    $N2 = sec $N1
-    is($N2, 1.850816, "sec(1.0)", epsilon)
-.end
-
-.sub test_sec_i
-    .param num epsilon
-
-    $I1 = 1
-    $N1 = sec $I1
-    is($N1, 1.850816, "sec(1)", epsilon)
-.end
-
-.sub test_atan_n
-    .param num epsilon
-
-    $N1 = 1.0
-    $N2 = atan $N1
-    is($N2, 0.785398, "atan(1.0)", epsilon)
-.end
-
-.sub test_atan_i
-    .param num epsilon
-
-    $I1 = 1
-    $N1 = atan $I1
-    is($N1, 0.785398, "atan(1)", epsilon)
-.end
-
-.sub test_asin_n
-    .param num epsilon
-    .local num pi2
-    pi2 = _pi()
-    pi2 /= 2
-
-    $N1 = 1.0
-    $N2 = asin $N1
-    is($N2, pi2, "asin(1.0)", epsilon)
-.end
-
-.sub test_asin_i
-    .param num epsilon
-    .local num pi2
-    pi2 = _pi()
-    pi2 /= 2
-
-    $I1 = 1
-    $N1 = asin $I1
-    is($N1, pi2, "asin(1)", epsilon)
-.end
-
-.sub test_acos_n
-    .param num epsilon
-
-    $N1 = 1.0
-    $N2 = acos $N1
-    is($N2, 0.0, "acos(1.0)", epsilon)
-.end
-
-.sub test_acos_i
-    .param num epsilon
-
-    $I1 = 1
-    $N1 = acos $I1
-    is($N1, 0.0, "acos(1)", epsilon)
-.end
-
-.sub test_asec_n
-    .param num epsilon
-
-    $N1 = 1.0
-    $N2 = asec $N1
-    is($N2, 0.0, "asec(1.0)", epsilon)
-.end
-
-.sub test_asec_i
-    .param num epsilon
-
-    $I1 = 1
-    $N1 = asec $I1
-    is($N1, 0.0, "asec(1)", epsilon)
-.end
-
-.sub test_cosh_n
-    .param num epsilon
-    .local num result
-
-    $N1 = 1.0
-    $N2 = cosh $N1
-    is($N2, 1.543081, "cosh(1.0)", epsilon)
-.end
-
-.sub test_cosh_i
-    .param num epsilon
-
-    $I1 = 1
-    $N1 = cosh $I1
-    is($N1, 1.543081, "cosh(1)", epsilon)
-.end
-
-# Local Variables:
-#   mode: pir
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4 ft=pir:
-

Deleted: trunk/t/op/trans_old.t
==============================================================================
--- trunk/t/op/trans_old.t	Thu May 27 08:45:23 2010	(r47050)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,565 +0,0 @@
-#!perl
-# Copyright (C) 2001-2008, Parrot Foundation.
-# $Id$
-
-use strict;
-use warnings;
-use lib qw( . lib ../lib ../../lib );
-use Test::More;
-use Parrot::Test tests => 13;
-use Math::Trig qw( tan sec atan asin acos asec cosh sinh tanh sech );
-
-=head1 NAME
-
-t/op/trans.t - Transcendental Mathematical Ops
-
-=head1 SYNOPSIS
-
-    % prove t/op/trans.t
-
-=head1 DESCRIPTION
-
-Tests the transcendental mathematical operations.
-
-=cut
-
-# This defines two macros:
-# fp_eq N, N, LABEL
-# fp_ne N, N, LABEL
-# which will conditionally branch
-# to LABEL if abs(n,n) < epsilon
-
-my $runcore = $ENV{TEST_PROG_ARGS} || '';
-my @bsdtodo = (
-    $runcore =~ /--runcore=jit/ &&  $^O =~ m/bsd/i
-        ? ( todo => 'broken under JIT TT #501' )
-        : ()
-);
-
-pasm_output_is( <<"CODE", <<OUTPUT, "sinh", @bsdtodo );
-        .include 'fp_equality.pasm'
-        set N1, 1.0
-        sinh N2, N1
-        .fp_eq_pasm  (N2, 1.175201, EQ1)
-        print "not "
-EQ1:    print "ok 1\\n"
-
-        set I1, 1
-        sinh N2, I1
-        .fp_eq_pasm  (N2, 1.175201, EQ2)
-        print "not "
-EQ2:    print "ok 2\\n"
-
-        end
-CODE
-ok 1
-ok 2
-OUTPUT
-
-pasm_output_is( <<"CODE", <<OUTPUT, "tanh", @bsdtodo );
-        .include 'fp_equality.pasm'
-        set N1, 1.0
-        tanh N2, N1
-        .fp_eq_pasm  (N2, 0.761594, EQ1)
-        print "not "
-EQ1:    print "ok 1\\n"
-
-        set I1, 1
-        tanh N2, I1
-        .fp_eq_pasm  (N2, 0.761594, EQ2)
-        print "not "
-EQ2:    print "ok 2\\n"
-
-        end
-CODE
-ok 1
-ok 2
-OUTPUT
-
-pasm_output_is( <<"CODE", <<OUTPUT, "sech" );
-        .include 'fp_equality.pasm'
-        set N1, 1.0
-        sech N2, N1
-        .fp_eq_pasm  (N2, 0.648054, EQ1)
-        print "not "
-EQ1:    print "ok 1\\n"
-
-        set I1, 1
-        sech N2, I1
-        .fp_eq_pasm  (N2, 0.648054, EQ2)
-        print "not "
-EQ2:    print "ok 2\\n"
-
-        end
-CODE
-ok 1
-ok 2
-OUTPUT
-
-my @jittodo = (
-    $runcore =~ /--runcore=jit/
-        ? ( todo => 'broken under JIT TT #530' )
-        : ()
-);
-pasm_output_is( <<"CODE", <<OUTPUT, 'atan2', @jittodo );
-        .include 'fp_equality.pasm'
-        set N0, 0.0
-        set I0, 0
-        set N1, 1.0
-        set I1, 1
-        set N2, 1.0
-        set I2, 1
-        set I3, -1
-        set N3, -1.0
-
-        atan N4, N1, N2
-        .fp_eq_pasm  (N4, 0.785398, EQ1)
-        print "not "
-EQ1:    print "ok 1\\n"
-
-        atan N4, N1, I2
-        .fp_eq_pasm  (N4, 0.785398, EQ2)
-        print "not "
-EQ2:    print "ok 2\\n"
-
-        atan N4, I1, N2
-        .fp_eq_pasm  (N4, 0.785398, EQ3)
-        print "not "
-EQ3:    print "ok 3\\n"
-
-        atan N4, I1, I2
-        .fp_eq_pasm  (N4, 0.785398, EQ4)
-        print "not "
-EQ4:    print "ok 4\\n"
-
-        atan N4, N3, 1.0
-        .fp_eq_pasm   (N4, -0.785398, EQ5)
-        print "not "
-EQ5:    print "ok 5\\n"
-
-        atan N4, N1, 0
-        .fp_eq_pasm   (N4, 1.570796, EQ6)
-        print "not "
-EQ6:    print "ok 6\\n"
-
-        atan N4, I3, 0.0
-        .fp_eq_pasm   (N4, -1.570796, EQ7)
-        print "not "
-EQ7:    print "ok 7\\n"
-
-        atan N4, I3, -1
-        .fp_eq_pasm   (N4, -2.356194, EQ8)
-        print "not "
-EQ8:    print "ok 8\\n"
-
-        atan N4, 1.0, N3
-        .fp_eq_pasm   (N4, 2.356194, EQ9)
-        print "not "
-EQ9:    print "ok 9\\n"
-
-        atan N4, 1.0, I0
-        .fp_eq_pasm   (N4, 1.570796, EQ10)
-        print "not "
-EQ10:   print "ok 10\\n"
-
-        atan N4, 1, N1
-        .fp_eq_pasm   (N4, 0.785398, EQ11)
-        print "not "
-EQ11:   print "ok 11\\n"
-
-        atan N4, 1, I1
-        .fp_eq_pasm   (N4, 0.785398, EQ12)
-        print "not "
-EQ12:   print "ok 12\\n"
-
-        atan N4, 0.0, 1.0
-        .fp_eq_pasm   (N4, 0.000000, EQ13)
-        print "not "
-EQ13:   print "ok 13\\n"
-
-        atan N4, -1.0, 0
-        .fp_eq_pasm   (N4, -1.570796, EQ14)
-        print "not "
-EQ14:   print "ok 14\\n"
-
-        atan N4, 1, -1.0
-        .fp_eq_pasm   (N4, 2.356194, EQ15)
-        print "not "
-EQ15:   print "ok 15\\n"
-
-        atan N4, 0, 1
-        .fp_eq_pasm   (N4, 0.000000, EQ16)
-        print "not "
-EQ16:   print "ok 16\\n"
-        end
-CODE
-ok 1
-ok 2
-ok 3
-ok 4
-ok 5
-ok 6
-ok 7
-ok 8
-ok 9
-ok 10
-ok 11
-ok 12
-ok 13
-ok 14
-ok 15
-ok 16
-OUTPUT
-
-pasm_output_is( <<"CODE", <<'OUTPUT', 'atan, part 2' );
-        .include 'fp_equality.pasm'
-        atan N4, -0.0, -0.0
-        .fp_eq_pasm   (N4, -3.1415926, EQ1)
-        print "not "
-EQ1:    print "ok 1\\n"
-        end
-CODE
-ok 1
-OUTPUT
-
-pasm_output_is( <<"CODE", <<OUTPUT, "log2" );
-        .include 'fp_equality.pasm'
-        set N1, 10.0
-        log2 N2, N1
-        .fp_eq_pasm  (N2, 3.321928, EQ1)
-        print "not "
-EQ1:    print "ok 1\\n"
-
-        set I1, 10
-        log2 N2, I1
-        .fp_eq_pasm  (N2, 3.321928, EQ2)
-        print "not "
-EQ2:    print "ok 2\\n"
-
-        end
-CODE
-ok 1
-ok 2
-OUTPUT
-
-pasm_output_is( <<"CODE", <<OUTPUT, "log10" );
-        .include 'fp_equality.pasm'
-        set N1, 15.0
-        log10 N2, N1
-        .fp_eq_pasm  (N2, 1.176091, EQ1)
-        print "not "
-EQ1:    print "ok 1\\n"
-
-        set I1, 15
-        log10 N2, I1
-        .fp_eq_pasm  (N2, 1.176091, EQ2)
-        print "not "
-EQ2:    print "ok 2\\n"
-
-        end
-CODE
-ok 1
-ok 2
-OUTPUT
-
-pasm_output_is( <<"CODE", <<OUTPUT, "ln" );
-        .include 'fp_equality.pasm'
-        set N1, 10.0
-        ln N2, N1
-        .fp_eq_pasm  (N2, 2.302585, EQ1)
-        print "not "
-EQ1:    print "ok 1\\n"
-
-        set I1, 10
-        ln N2, I1
-        .fp_eq_pasm  (N2, 2.302585, EQ2)
-        print "not "
-EQ2:    print "ok 2\\n"
-        end
-CODE
-ok 1
-ok 2
-OUTPUT
-
-pasm_output_is( <<"CODE", <<OUTPUT, "exp" );
-        .include 'fp_equality.pasm'
-        set N1, 10.0
-        exp N2, N1
-        .fp_eq_pasm  (N2, 22026.465795, EQ1)
-        print "not "
-EQ1:    print "ok 1\\n"
-
-        set I1, 10
-        exp N2, I1
-        .fp_eq_pasm (N2, 22026.465795, EQ2)
-        print "not "
-EQ2:    print "ok 2\\n"
-        end
-CODE
-ok 1
-ok 2
-OUTPUT
-
-pasm_output_is( <<"CODE", <<OUTPUT, "pow", @bsdtodo );
-        .include 'fp_equality.pasm'
-        set N1, 3.0
-        set I1, 3
-        set N2, 5.0
-        set I2, 5
-        pow N3, N1, N2
-        .fp_eq_pasm  (N3, 243.0, EQ1)
-        print "not "
-EQ1:    print "ok 1\\n"
-
-        pow N3, N1, I2
-        .fp_eq_pasm  (N3, 243.0, EQ2)
-        print "not "
-EQ2:    print "ok 2\\n"
-
-        pow N3, I1, N2
-        .fp_eq_pasm  (N3, 243.0, EQ3)
-        print "not "
-EQ3:    print "ok 3\\n"
-
-        pow N3, I1, I2
-        .fp_eq_pasm  (N3, 243.0, EQ4)
-        print "not "
-EQ4:    print "ok 4\\n"
-
-        set N0, 0.0
-        set I0, 0
-        set N1, 1.0
-        set I1, 1
-        set N2, 4.0
-        set I2, 4
-        pow N3, N2, 2.5
-        .fp_eq_pasm  (N3, 32.0, EQ5)
-        print "not "
-EQ5:    print "ok 5\\n"
-
-        pow N3, N2, -2
-        .fp_eq_pasm  (N3, 0.0625, EQ6)
-        print "not "
-EQ6:    print "ok 6\\n"
-
-        pow N3, I2, 0.5
-        .fp_eq_pasm  (N3, 2.0, EQ7)
-        print "not "
-EQ7:    print "ok 7\\n"
-
-        pow N3, I2, 0
-        .fp_eq_pasm  (N3, 1.0, EQ8)
-        print "not "
-EQ8:    print "ok 8\\n"
-
-        pow N3, 0.0, N2
-        .fp_eq_pasm  (N3, 0.0, EQ9)
-        print "not "
-EQ9:    print "ok 9\\n"
-
-        pow N3, 2.5, 0.0
-        .fp_eq_pasm  (N3, 1.0, EQ10)
-        print "not "
-EQ10:   print "ok 10\\n"
-
-        pow N3, 2.5, I2
-        .fp_eq_pasm  (N3, 39.0625, EQ11)
-        print "not "
-EQ11:   print "ok 11\\n"
-
-        pow N3, 2.0, -4
-        .fp_eq_pasm  (N3, 0.0625, EQ12)
-        print "not "
-EQ12:   print "ok 12\\n"
-
-        pow N3, 0, N2
-        .fp_eq_pasm  (N3, 0.0, EQ13)
-        print "not "
-EQ13:   print "ok 13\\n"
-
-        pow N3, 4, -0.5
-        .fp_eq_pasm  (N3, 0.5, EQ14)
-        print "not "
-EQ14:   print "ok 14\\n"
-
-        pow N3, 4, I2
-        .fp_eq_pasm  (N3, 256.0, EQ15)
-        print "not "
-EQ15:   print "ok 15\\n"
-
-        pow N3, 4, -1
-        .fp_eq_pasm  (N3, 0.25, EQ16)
-        print "not "
-EQ16:   print "ok 16\\n"
-        end
-CODE
-ok 1
-ok 2
-ok 3
-ok 4
-ok 5
-ok 6
-ok 7
-ok 8
-ok 9
-ok 10
-ok 11
-ok 12
-ok 13
-ok 14
-ok 15
-ok 16
-OUTPUT
-
-pasm_output_is( <<"CODE", <<OUTPUT, "sqrt" );
-       .include 'fp_equality.pasm'
-       set N1, 9.0
-       sqrt N2, N1
-       .fp_eq_pasm  (N2, 3.0, EQ1)
-       print "not "
-EQ1:   print "ok 1\\n"
-
-       set I1, 9
-       sqrt N2, I1
-       .fp_eq_pasm  (N2, 3.0, EQ2)
-       print "not "
-EQ2:   print "ok 2\\n"
-
-       end
-CODE
-ok 1
-ok 2
-OUTPUT
-
-pasm_output_is( <<'CODE', <<OUTPUT, "pow_n_n_ic" );
-    set N0, 2.0
-    pow N1, N0, 0
-    print N1
-    print "\n"
-    pow N1, N0, 1
-    print N1
-    print "\n"
-    pow N1, N0, 2
-    print N1
-    print "\n"
-    pow N1, N0, 3
-    print N1
-    print "\n"
-    pow N1, N0, 4
-    print N1
-    print "\n"
-    pow N1, N0, 5
-    print N1
-    print "\n"
-    pow N1, N0, 6
-    print N1
-    print "\n"
-    pow N1, N0, 7
-    print N1
-    print "\n"
-    pow N1, N0, -1
-    print N1
-    print "\n"
-    pow N1, N0, -2
-    print N1
-    print "\n"
-    pow N1, N0, -3
-    print N1
-    print "\n"
-    pow N1, N0, -4
-    print N1
-    print "\n"
-    pow N1, N0, -5
-    end
-CODE
-1
-2
-4
-8
-16
-32
-64
-128
-0.5
-0.25
-0.125
-0.0625
-OUTPUT
-
-pasm_output_is( <<'CODE', <<OUTPUT, "pow_n_n_i" );
-    set N0, 2.0
-    set I0, 0
-    pow N1, N0, I0
-    print N1
-    print "\n"
-    inc I0
-    pow N1, N0, I0
-    print N1
-    print "\n"
-    inc I0
-    pow N1, N0, I0
-    print N1
-    print "\n"
-    inc I0
-    pow N1, N0, I0
-    print N1
-    print "\n"
-    inc I0
-    pow N1, N0, I0
-    print N1
-    print "\n"
-    inc I0
-    pow N1, N0, I0
-    print N1
-    print "\n"
-    inc I0
-    pow N1, N0, I0
-    print N1
-    print "\n"
-    set I0, -1
-    pow N1, N0, I0
-    print N1
-    print "\n"
-    dec I0
-    pow N1, N0, I0
-    print N1
-    print "\n"
-    dec I0
-    pow N1, N0, I0
-    print N1
-    print "\n"
-    dec I0
-    pow N1, N0, I0
-    print N1
-    print "\n"
-    dec I0
-    pow N1, N0, I0
-    print N1
-    print "\n"
-    dec I0
-    pow N1, N0, I0
-    print N1
-    print "\n"
-    end
-CODE
-1
-2
-4
-8
-16
-32
-64
-0.5
-0.25
-0.125
-0.0625
-0.03125
-0.015625
-OUTPUT
-
-# Local Variables:
-#   mode: cperl
-#   cperl-indent-level: 4
-#   fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:

Modified: trunk/t/pmc/complex.t
==============================================================================
--- trunk/t/pmc/complex.t	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/pmc/complex.t	Thu May 27 08:45:23 2010	(r47051)
@@ -16,6 +16,8 @@
 
 =cut
 
+.loadlib 'trans_ops'
+
 .sub main :main
     .include 'test_more.pir'
     .include 'fp_equality.pasm'

Modified: trunk/t/pmc/eval.t
==============================================================================
--- trunk/t/pmc/eval.t	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/pmc/eval.t	Thu May 27 08:45:23 2010	(r47051)
@@ -245,6 +245,7 @@
 my (undef, $temp2_pbc) = create_tempfile( SUFFIX => '.pbc', UNLINK => 1 );
 
 pir_output_is( <<"CODE", <<'OUTPUT', "eval.get_string" );
+.loadlib 'io_ops'
 .sub main :main
 
   .local pmc f1, f2
@@ -320,6 +321,7 @@
 close $fh;
 
 pir_output_is( <<"CODE", <<'OUTPUT', "eval.get_string - same file" );
+.loadlib 'io_ops'
 .sub main :main
   .local pmc f1, f2
   .local pmc io, os
@@ -363,6 +365,7 @@
 my (undef, $temp_file) = create_tempfile( UNLINK => 1 );
 
 pir_output_is( <<"CODE", <<'OUTPUT', "eval.freeze" );
+.loadlib 'io_ops'
 .sub main :main
   .local pmc f, e
   .local pmc io
@@ -396,6 +399,7 @@
 OUTPUT
 
 pir_output_is( <<"CODE", <<'OUTPUT', "eval.thaw", todo => 'TT #1142' );
+.loadlib 'io_ops'
 .sub main :main
     .local pmc io, e
     .local string file
@@ -418,6 +422,7 @@
 OUTPUT
 
 pir_output_is( <<"CODE", <<'OUTPUT', "eval.freeze+thaw" );
+.loadlib 'io_ops'
 .sub main :main
   .local pmc f, e
   .local pmc io

Modified: trunk/t/pmc/filehandle.t
==============================================================================
--- trunk/t/pmc/filehandle.t	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/pmc/filehandle.t	Thu May 27 08:45:23 2010	(r47051)
@@ -263,7 +263,7 @@
     \$I0 = filehandle.'eof'()
     if \$I0 goto end_read_loop
 
-    test_line = readline filehandle
+    test_line = filehandle.'readline'()
     if test_line == "" goto end_read_loop
     test_line = chomp( test_line )
     \$I1 = test_line
@@ -586,7 +586,6 @@
 .sub 'main'
     .local pmc pipe, conf, interp
     .local string cmd
-    pipe = new ['FileHandle']
 
     interp = getinterp
     conf = interp[.IGLOBALS_CONFIG_HASH]
@@ -601,7 +600,8 @@
     aux = conf['exe']
     cmd .= aux
 
-    pipe = open cmd, "rp"
+    pipe = new ['FileHandle']
+    pipe.'open'(cmd, "rp")
     pipe.'readall'()
     pipe.'close'()
     print "expect 0 exit status: "
@@ -609,7 +609,8 @@
     say $I0
 
     cmd .= ' --this_is_not_a_valid_option'
-    pipe = open cmd, "rp"
+    pipe = new ['FileHandle']
+    pipe.'open'(cmd, "rp")
     pipe.'readall'()
     pipe.'close'()
     print "expect 1 exit status: "

Modified: trunk/t/pmc/freeze.t
==============================================================================
--- trunk/t/pmc/freeze.t	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/pmc/freeze.t	Thu May 27 08:45:23 2010	(r47051)
@@ -353,6 +353,7 @@
 OUTPUT
 
 pasm_output_is( <<'CODE', <<'OUTPUT', "freeze class" );
+.loadlib 'io_ops'
     newclass P10, "Foo"
     set S10, P10
     print S10
@@ -371,6 +372,7 @@
 OUTPUT
 
 pasm_output_is( <<'CODE', <<'OUTPUT', "thaw class into new interpreter" );
+.loadlib 'io_ops'
     set S3, "temp.fpmc"
     .include "stat.pasm"
     stat I0, S3, .STAT_FILESIZE
@@ -414,6 +416,7 @@
 OUTPUT
 
 pasm_output_is( <<'CODE', <<'OUTPUT', "freeze class w attr" );
+.loadlib 'io_ops'
     newclass P10, "Foo"
     addattribute P10, ".aa"
     set S10, P10
@@ -433,6 +436,7 @@
 OUTPUT
 
 pasm_output_is( <<'CODE', <<'OUTPUT', "thaw class w attr into new interpreter" );
+.loadlib 'io_ops'
     set S3, "temp.fpmc"
     .include "stat.pasm"
     stat I0, S3, .STAT_FILESIZE
@@ -471,6 +475,7 @@
 OUTPUT
 
 pasm_output_is( <<'CODE', <<'OUTPUT', "thaw class w attr same interp" );
+.loadlib 'io_ops'
     newclass P10, "Foo"
     addattribute P10, ".aa"
     addattribute P10, ".bb"
@@ -519,6 +524,7 @@
 OUTPUT
 
 pasm_output_is( <<'CODE', <<'OUTPUT', "thaw object w attr into same interpreter" );
+.loadlib 'io_ops'
     newclass P10, "Foo"
     addattribute P10, ".aa"
     addattribute P10, ".bb"
@@ -560,6 +566,7 @@
 OUTPUT
 
 pasm_output_is( <<'CODE', <<'OUTPUT', "thaw object w attr into new interpreter" );
+.loadlib 'io_ops'
     set S3, "temp.fpmc"
     .include "stat.pasm"
     stat I0, S3, .STAT_FILESIZE

Modified: trunk/t/pmc/integer.t
==============================================================================
--- trunk/t/pmc/integer.t	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/pmc/integer.t	Thu May 27 08:45:23 2010	(r47051)
@@ -19,7 +19,7 @@
 .sub 'test' :main
     .include 'test_more.pir'
 
-    plan(62)
+    plan(61)
     test_init()
     test_basic_math()
     test_truthiness_and_definedness()
@@ -321,8 +321,6 @@
     is($P2,3)
     mod $P2, $P0, $P1
     is($P2,0)
-    pow $P2, $P0, $P1
-    is($P2,36)
 .end
 
 

Modified: trunk/t/pmc/io.t
==============================================================================
--- trunk/t/pmc/io.t	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/pmc/io.t	Thu May 27 08:45:23 2010	(r47051)
@@ -7,7 +7,7 @@
 use lib qw( . lib ../lib ../../lib );
 
 use Test::More;
-use Parrot::Test tests => 41;
+use Parrot::Test tests => 45;
 use Parrot::Test::Util 'create_tempfile';
 use Parrot::Test::Util 'create_tempfile';
 
@@ -41,108 +41,107 @@
 
 my (undef, $temp_file) = create_tempfile( UNLINK => 1 );
 
-pasm_output_is( <<"CODE", <<'OUTPUT', "open/close" );
-    open P0, "$temp_file", 'w'
-    print P0, "a line\\n"
-    close P0
-    open P0, "$temp_file", 'r'
-    read S0, P0, 20
-    print S0
-    end
+pir_output_is( <<"CODE", <<'OUTPUT', "open/close" );
+.sub main :main
+    \$P0 = new ['FileHandle']
+    \$P0.'open'("$temp_file", 'w')
+    print \$P0, "a line\\n"
+    \$P0.'close'()
+    \$P0.'open'("$temp_file", 'r')
+    \$S0 = \$P0.'read'(20)
+    print \$S0
+.end
 CODE
 a line
 OUTPUT
 
-pasm_output_is( <<"CODE", <<'OUTPUT', "timely destruction" );
-    interpinfo I0, 2    # GC mark runs
-    open P0, "$temp_file", 'w'
-        needs_destroy P0
-    print P0, "a line\\n"
-    null P0            # kill it
+pir_output_is( sprintf(<<'CODE', $temp_file), <<'OUTPUT', "timely destruction (ops)");
+.loadlib 'io_ops'
+.const string temp_file = '%s'
+.sub main :main
+    interpinfo $I0, 2    # GC mark runs
+    $P0 = open temp_file, 'w'
+        needs_destroy $P0
+    print $P0, "a line\n"
+    null $P0            # kill it
     sweep 0            # a lazy GC has to close the PIO
-    open P0, "$temp_file", 'r'
-    read S0, P0, 20
-    print S0
-    end
-CODE
-a line
-OUTPUT
-
-# TT #1178
-pir_output_is( <<'CODE', <<'OUTPUT', "get_fd()/fdopen" );
-.sub main :main
-    getstdout $P0
-    $I0 = $P0.'get_fd'()
-    fdopen $P1, $I0, 'w'
-    defined $I0, $P1
-    unless $I0, nok
-    print $P1, "ok\n"
-    close $P1
-    end
-nok:
-    print "fdopen failed\n"
+    $P0 = open temp_file, 'r'
+    $S0 = $P0.'read'(20)
+    print $S0
 .end
 CODE
-ok
+a line
 OUTPUT
 
-# TT #1178
-pir_output_is( <<'CODE', <<'OUTPUT', 'fdopen - no close' );
+pir_output_is( sprintf(<<'CODE', $temp_file), <<'OUTPUT', "timely destruction", todo => 'TT #1659' );
+.const string temp_file = '%s'
 .sub main :main
-    getstdout $P0
-    $I0 = $P0.'get_fd'()
-    fdopen $P1, $I0, 'w'
-    defined $I0, $P1
-    unless $I0, nok
-    print $P1, "ok\n"
-    end
-nok:
-    print "fdopen failed\n"
+    interpinfo $I0, 2    # GC mark runs
+    $P0 = new ['FileHandle']
+    $P0.'open'(temp_file, 'w')
+        needs_destroy $P0
+    print $P0, "a line\n"
+    null $P0            # kill it
+    sweep 0            # a lazy GC has to close the PIO
+    $P0 = new ['FileHandle']
+    $P0.'open'(temp_file, 'r')
+    $S0 = $P0.'read'(20)
+    print $S0
 .end
 CODE
-ok
+a line
 OUTPUT
 
 my (undef, $no_such_file) = create_tempfile( UNLINK => 1, OPEN => 0 );
 
-pasm_output_is( <<"CODE", <<'OUTPUT', "get_bool" );
+pir_output_is( sprintf( <<'CODE', $no_such_file, $temp_file ), <<'OUTPUT', "get_bool" );
+.const string no_such_file = '%s'
+.const string temp_file    = '%s'
+
+.sub main :main
     push_eh read_non_existent_file
-    open P0, "$no_such_file", 'r'
+    $P0 = new ['FileHandle']
+    $P0.'open'(no_such_file, 'r')
 
-    print "Huh: '$no_such_file' exists? - not "
+    print "Huh: '"
+    print no_such_file
+    print "' exists? - not "
 ok1:
     say "ok 1"
 
-    open P0, "$temp_file", 'w'
-    print P0, "a line\\n"
-    print P0, "a line\\n"
-    close P0
-
-    open P0, "$temp_file", 'r'
-    if P0, ok2
+    $P0 = new ['FileHandle']
+    $P0.'open'(temp_file, 'w')
+    $P0.'print'("a line\n")
+    $P0.'print'("a line\n")
+    $P0.'close'()
+
+    $P0 = new ['FileHandle']
+    $P0.'open'(temp_file, 'r')
+    if $P0, ok2
     print "not "
 ok2:    say "ok 2"
-    read S0, P0, 1024
-    read S0, P0, 1024
-    unless P0, ok3
+    $S0 = $P0.'read'(1024)
+    $S0 = $P0.'read'(1024)
+    unless $P0, ok3
     print "not "
 ok3:    say "ok 3"
-    defined I0, P0
-    if I0, ok4
+    defined $I0, $P0
+    if $I0, ok4
     print "not "
 ok4:    say "ok 4"
-    close P0
-    defined I0, P0        # closed file is still defined
-    if I0, ok5
+    $P0.'close'()
+    defined $I0, $P0        # closed file is still defined
+    if $I0, ok5
     print "not "
 ok5:    say "ok 5"
-    unless P0, ok6        # but false
+    unless $P0, ok6        # but false
     print "not "
 ok6:    say "ok 6"
-    end
+    .return ()
 read_non_existent_file:
     pop_eh
     branch ok1
+.end
 CODE
 ok 1
 ok 2
@@ -152,34 +151,71 @@
 ok 6
 OUTPUT
 
-pasm_output_is( <<"CODE", <<'OUTPUT', "read on invalid fh should throw exception" );
-    new P0, ['FileHandle']
+pir_output_is( <<'CODE', <<'OUTPUT', "read on invalid fh should throw exception (ops)" );
+.loadlib 'io_ops'
+.sub main :main
+    new $P0, ['FileHandle']
 
     push_eh _readline_handler
-    readline S0, P0
+    $S0 = readline $P0
     print "not "
 
 _readline_handler:
-        print "ok 1\\n"
+        print "ok 1\n"
         pop_eh
 
     push_eh _read_handler
-    read S0, P0, 1
+    $S0 = read $P0, 1
     print "not "
 
 _read_handler:
-        print "ok 2\\n"
+        print "ok 2\n"
         pop_eh
 
     push_eh _print_handler
-    print P0, "kill me now\\n"
+    print $P0, "kill me now\n"
     print "not "
 
 _print_handler:
-        print "ok 3\\n"
+        print "ok 3\n"
         pop_eh
 
-    end
+.end
+CODE
+ok 1
+ok 2
+ok 3
+OUTPUT
+
+pir_output_is( <<'CODE', <<'OUTPUT', "read on invalid fh should throw exception" );
+.sub main :main
+    new $P0, ['FileHandle']
+
+    push_eh _readline_handler
+    $S0 = $P0.'readline'()
+    print "not "
+
+_readline_handler:
+        print "ok 1\n"
+        pop_eh
+
+    push_eh _read_handler
+    $S0 = $P0.'read'(1)
+    print "not "
+
+_read_handler:
+        print "ok 2\n"
+        pop_eh
+
+    push_eh _print_handler
+    print $P0, "kill me now\n"
+    print "not "
+
+_print_handler:
+        print "ok 3\n"
+        pop_eh
+
+.end
 CODE
 ok 1
 ok 2
@@ -206,6 +242,7 @@
 close $FOO;
 
 pasm_output_is( <<"CODE", <<'OUTPUT', "open and readline" );
+.loadlib 'io_ops'
     open P0, "$temp_file"
     set S0, ""
     set S1, ""
@@ -224,6 +261,7 @@
 close $FOO;
 
 pasm_output_is( <<"CODE", <<'OUTPUT', "open and readline, no final newline" );
+.loadlib 'io_ops'
     open P0, "$temp_file"
     set S0, ""
     set S1, ""
@@ -240,6 +278,7 @@
 close $FOO;
 
 pasm_output_is( <<"CODE", <<'OUTPUT', "open & print" );
+.loadlib 'io_ops'
    set I0, -12
    set N0, 2.2
    set S0, "Foo"
@@ -268,6 +307,7 @@
 
 # write to file opened for reading
 pasm_output_is( <<"CODE", <<'OUTPUT', "3-arg open" );
+.loadlib 'io_ops'
    open P1, "$temp_file", 'w'
    print P1, "Foobar\\n"
    close P1
@@ -297,6 +337,7 @@
 OUTPUT
 
 pasm_output_is( <<"CODE", <<'OUTPUT', 'open and close' );
+.loadlib 'io_ops'
    open P1, "$temp_file", "w"
    print P1, "Hello, World!\\n"
    close P1
@@ -311,6 +352,7 @@
 OUTPUT
 
 pasm_output_is( <<"CODE", '', 'append' );
+.loadlib 'io_ops'
    open P1, "$temp_file", 'wa'
    print P1, "Parrot flies\\n"
    close P1
@@ -323,6 +365,7 @@
 OUTPUT
 
 pasm_output_is( <<"CODE", '', 'write to file' );
+.loadlib 'io_ops'
    open P1, "$temp_file", 'w'
    print P1, "Parrot overwrites\\n"
    close P1
@@ -334,6 +377,7 @@
 OUTPUT
 
 pasm_output_is( <<"CODE", '', "Parrot_io_flush on buffer full" );
+.loadlib 'io_ops'
    set I0, 0
    set I1, 10000
 
@@ -354,22 +398,25 @@
 words
 OUTPUT
 
-pir_output_is( <<"CODE", <<'OUTPUT', "turn off buffering" );
+pir_output_is( sprintf(<<'CODE', $temp_file), <<'OUTPUT', "turn off buffering" );
+.const string temp_file = '%s'
+
 .sub main :main
-   open \$P0, "$temp_file", 'w'
+    $P0 = new ['FileHandle']
+    $P0.'open'(temp_file, 'w')
 
-#  set buffer type
-   \$P0.'buffer_type'('unbuffered')
+#   set buffer type
+    $P0.'buffer_type'('unbuffered')
 
-#  get buffer type
-   \$S0 = \$P0.'buffer_type'()
-   print \$S0
-   print "\\n"
+#   get buffer type
+    $S0 = $P0.'buffer_type'()
+    print $S0
+    print "\n"
 
-   print \$P0, "Howdy World\\n"
+    print $P0, "Howdy World\n"
 
-   close \$P0
-   end
+    $P0.'close'()
+    end
 .end
 CODE
 unbuffered
@@ -379,50 +426,54 @@
 Howdy World
 OUTPUT
 
-pir_output_is( <<"CODE", <<'OUTPUT', 'I/O buffering' );
+pir_output_is( sprintf(<<'CODE', $temp_file), <<'OUTPUT', 'I/O buffering' );
+.const string temp_file = '%s'
+
 .sub main
     .local string filename
-    filename = "$temp_file"
-    \$P1 = open filename, 'w'
+    filename = temp_file
+    $P1 = new ['FileHandle']
+    $P1.'open'(filename, 'w')
     .local int count, max, nltest
     count = 0
     max = 10000
   LOOP:
     if count > max goto DONE
-    \$S1 = count
-    \$S1 = concat \$S1, " "
-    print \$P1, \$S1
+    $S1 = count
+    $S1 = concat $S1, " "
+    print $P1, $S1
     inc count
     nltest = mod count, 20
     if nltest goto LOOP
-    print \$P1, "\\n"
+    print $P1, "\n"
     goto LOOP
   DONE:
-    print \$P1, "\\n"
-    close \$P1
+    print $P1, "\n"
+    $P1.'close'()
 
   PART_2:
-    \$P1 = open filename
-    \$I0 = 0
+    $P1 = new ['FileHandle']
+    $P1.'open'(filename)
+    $I0 = 0
   LINE:
-    \$S1 = readline \$P1
-    unless \$S1 goto SUCCESS
-    \$S1 = chopn \$S1, 1
+    $S1 = $P1.'readline'()
+    unless $S1 goto SUCCESS
+    $S1 = chopn $S1, 1
 
   NEXT_NR:
-    \$I1 = length \$S1
-    if \$I1 <= 1 goto LINE
-    \$S2 = ""
+    $I1 = length $S1
+    if $I1 <= 1 goto LINE
+    $S2 = ""
   SPLIT:
-    \$S3 = substr \$S1, 0, 1
-    \$S1 = replace \$S1, 0, 1, ""
-    if \$S3 == " " goto GOT_NR
-    \$S2 = concat \$S2, \$S3
+    $S3 = substr $S1, 0, 1
+    $S1 = replace $S1, 0, 1, ""
+    if $S3 == " " goto GOT_NR
+    $S2 = concat $S2, $S3
     goto SPLIT
   GOT_NR:
-    \$I1 = \$S2
-    if \$I0 != \$I1 goto FAILED
-    inc \$I0
+    $I1 = $S2
+    if $I0 != $I1 goto FAILED
+    inc $I0
     goto NEXT_NR
 
   FAILED:
@@ -440,17 +491,19 @@
 # TT #1178
 pir_output_is( <<'CODE', <<'OUT', 'standard file descriptors' );
 .sub main :main
-    getstdin $P0
-    $I0 = $P0.'get_fd'()
+    $P99 = getinterp
+    $P0  = $P99.'stdhandle'(0)
+    $I0  = $P0.'get_fd'()
     # I0 is 0 on Unix and non-Null on stdio and win32
     print "ok 1\n"
-    getstdout $P1
+
+    $P1 = $P99.'stdhandle'(1)
     $I1 = $P1.'get_fd'()
     if $I1, OK_2
     print "not "
 OK_2:
     say "ok 2"
-    getstderr $P2
+    $P2 = $P99.'stdhandle'(2)
     $I2 = $P2.'get_fd'()
     if $I2, OK_3
     print "not "
@@ -463,7 +516,8 @@
 ok 3
 OUT
 
-pasm_output_is( <<'CODE', <<'OUTPUT', 'printerr' );
+pasm_output_is( <<'CODE', <<'OUTPUT', 'printerr op' );
+.loadlib 'io_ops'
    new P0, ['String']
    set P0, "This is a test\n"
    printerr 10
@@ -481,15 +535,17 @@
 This is a test
 OUTPUT
 
-pasm_output_is( <<'CODE', <<'OUTPUT', 'puts method' );
-   getstdout P2
-   can I0, P2, "puts"
-   if I0, ok1
-   print "not "
+pir_output_is( <<'CODE', <<'OUTPUT', 'puts method' );
+.sub main :main
+    $P0 = getinterp
+    $P2 = $P0.'stdhandle'(1)
+    can $I0, $P2, "puts"
+    if $I0, ok1
+    print "not "
 ok1:   print "ok 1\n"
-   set_args "0,0", P2, "ok 2\n"
-   callmethodcc P2, "puts"
-   end
+    set_args "0,0", $P2, "ok 2\n"
+    callmethodcc $P2, "puts"
+.end
 CODE
 ok 1
 ok 2
@@ -501,7 +557,8 @@
    .local string s
    s = "ok 2\n"
    .local pmc io
-   io = getstdout
+   $P0 = getinterp
+   io = $P0.'stdhandle'(1)
    $I0 = can io, "puts"
    if $I0 goto ok1
    print "not "
@@ -515,6 +572,7 @@
 OUTPUT
 
 pasm_output_is( <<'CODE', <<'OUTPUT', 'callmethod puts' );
+.loadlib 'io_ops'
    getstderr P2    # the object
    set S0, "puts"    # method
    set S5, "ok 1\n"    # 2nd param
@@ -530,6 +588,7 @@
 OUTPUT
 
 pasm_output_is( <<"CODE", <<'OUTPUT', 'seek/tell' );
+.loadlib 'io_ops'
    open P0, "$temp_file", 'w'
    print P0, "Hello "
    tell I0, P0
@@ -547,7 +606,20 @@
 Hello Parrot!
 OUTPUT
 
-pasm_error_output_like( <<"CODE", <<'OUTPUT', '32bit seek: exception' );
+pir_error_output_like( sprintf(<<'CODE', $temp_file), <<'OUTPUT', '32bit seek: exception' );
+.const string temp_file = '%s'
+.sub main :main
+    $P0 = new ['FileHandle']
+    $P0.'open'(temp_file, 'w')
+    $P0.'seek'(-1, 0)
+    say "error!"
+.end
+CODE
+/seek failed/
+OUTPUT
+
+pasm_error_output_like( <<"CODE", <<'OUTPUT', '32bit seek: exception (ops)' );
+.loadlib 'io_ops'
    open P0, "$temp_file", 'w'
    seek P0, -1, 0
    say "error!"
@@ -556,7 +628,20 @@
 /seek failed \(32bit\)/
 OUTPUT
 
-pasm_error_output_like( <<"CODE", <<'OUTPUT', '64bit seek: exception' );
+pir_error_output_like( sprintf(<<'CODE', $temp_file), <<'OUTPUT', '64bit seek: exception' );
+.const string temp_file = '%s'
+.sub main :main
+    $P0 = new ['FileHandle']
+    $P0.'open'(temp_file, 'w')
+    $P0.'seek'(-1, -1, 0)
+    say "error!"
+.end
+CODE
+/seek failed/
+OUTPUT
+
+pasm_error_output_like( <<"CODE", <<'OUTPUT', '64bit seek: exception (ops)' );
+.loadlib 'io_ops'
    open P0, "$temp_file", 'w'
    seek P0, -1, -1, 0
    say "error!"
@@ -565,7 +650,33 @@
 /seek failed \(64bit\)/
 OUTPUT
 
-pasm_output_is( <<"CODE", <<'OUTPUT', "peek" );
+pir_output_is( sprintf(<<'CODE', $temp_file), <<'OUTPUT', "peek" );
+.const string temp_file = '%s'
+.sub main :main
+    $P0 = new ['FileHandle']
+    $P0.'open'(temp_file, 'w')
+    print $P0, "a line\n"
+    $P0.'close'()
+
+    $P0 = new ['FileHandle']
+    $P0.'open'(temp_file, 'r')
+    $S0 = $P0.'peek'()
+    print $S0
+    $S1 = $P0.'peek'()
+    print $S1
+    print "\n"
+    $S2 = $P0.'read'(2)
+    $S3 = $P0.'peek'()
+    print $S3
+    print "\n"
+.end
+CODE
+aa
+l
+OUTPUT
+
+pasm_output_is( <<"CODE", <<'OUTPUT', "peek (ops)" );
+.loadlib 'io_ops'
     open P0, "$temp_file", 'w'
     print P0, "a line\\n"
     close P0
@@ -585,7 +696,27 @@
 l
 OUTPUT
 
-pasm_output_is( <<"CODE", <<'OUTPUT', "peek on an empty file" );
+pir_output_is( sprintf(<<'CODE', $temp_file), <<'OUTPUT', "peek on an empty file" );
+.const string temp_file = '%s'
+.sub main :main
+    $P0 = new ['FileHandle']
+    $P0.'open'(temp_file, 'w')
+    $P0.'close'()
+
+    $P0 = new ['FileHandle']
+    $P0.'open'(temp_file, 'r')
+    $S0 = $P0.'peek'()
+    eq $S0, "", OK1
+    print "not "
+OK1:
+    say "ok 1"
+.end
+CODE
+ok 1
+OUTPUT
+
+pasm_output_is( <<"CODE", <<'OUTPUT', "peek on an empty file (ops)" );
+.loadlib 'io_ops'
     open P0, "$temp_file", 'w'
     close P0
     open P0, "$temp_file", 'r'
@@ -603,15 +734,17 @@
 .sub _main
     # Write something into a file
     .local pmc out
-    out = open "$temp_file", 'w'
+    out = new ['FileHandle']
+    out.'open'("$temp_file", 'w')
     print out, "0123456789\\n"
-    close out
+    out.'close'()
 
     # read file contents back in
     .local pmc in
-    in = open "$temp_file", 'r'
+    in = new ['FileHandle']
+    in.'open'("$temp_file", 'r')
     .local string from_file
-    from_file = read in, 20
+    from_file = in.'read'(20)
 
     # Extract part of the read in file
     .local string head_from_file
@@ -629,15 +762,17 @@
 .sub _main
     # Write something into a file
     .local pmc out
-    out = open "$temp_file", 'w'
+    out = new ['FileHandle']
+    out.'open'("$temp_file", 'w')
     print out, "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\\n"
-    close out
+    out.'close'()
 
     .local pmc in
     .local string line
-    in = open '$temp_file', 'r'
-    line = read in, 50000
-    close in
+    in = new ['FileHandle']
+    in.'open'('$temp_file', 'r')
+    line = in.'read'(50000)
+    in.'close'()
 
     .local string sub_1
     sub_1 = ''
@@ -663,6 +798,7 @@
 OUTPUT
 
 pir_error_output_like( <<'CODE', <<'OUT', 'read on null PMC throws exception');
+.loadlib 'io_ops'
 .sub main :main
     null $P1
     $S0 = read $P1, 1
@@ -678,6 +814,7 @@
 close $FOO;
 
 pir_output_is( <<"CODE", <<"OUTPUT", "utf8 read enabled" );
+.loadlib 'io_ops'
 .sub main :main
     .local pmc pio
     .local int len
@@ -712,10 +849,11 @@
     .local pmc pio
     .local string f
     f = '$temp_file'
-    pio = open f, 'r'
+    pio = new ['FileHandle']
+    pio.'open'(f, 'r')
     pio.'encoding'("utf8")
-    \$S0 = readline pio
-    close pio
+    \$S0 = pio.'readline'()
+    pio.'close'()
     \$I1 = charset \$S0
     \$S2 = charsetname \$I1
     say \$S2
@@ -735,6 +873,7 @@
 OUTPUT
 
 pir_output_is( <<"CODE", <<"OUTPUT", "utf8 read enabled, read parts" );
+.loadlib 'io_ops'
 .sub main :main
     .local pmc pio
     .local int len
@@ -742,13 +881,14 @@
     .local string f
     f = '$temp_file'
     len = stat f, .STAT_FILESIZE
-    pio = open f, 'r'
+    pio = new ['FileHandle']
+    pio.'open'(f, 'r')
     pio.'encoding'("utf8")
-    \$S0 = read pio, 2
+    \$S0 = pio.'read'(2)
     len -= 2
-    \$S1 = read pio, len
+    \$S1 = pio.'read'(len)
     \$S0 .= \$S1
-    close pio
+    pio.'close'()
     \$I1 = charset \$S0
     \$S2 = charsetname \$I1
     say \$S2
@@ -775,9 +915,10 @@
 line 3
 EOS
     .local pmc pio, cl
-    pio = open    "$temp_file", 'w'
+    pio = new ['FileHandle']
+    pio.'open'("$temp_file", 'w')
     print pio, \$S0
-    close pio
+    pio.'close'()
     cl = new ['FileHandle']
     \$S1 = cl.'readall'('$temp_file')
     if \$S0 == \$S1 goto ok
@@ -797,10 +938,13 @@
 line 3
 EOS
     .local pmc pio, pio2
-    pio = open    "$temp_file", 'w'
+    pio = new ['FileHandle']
+    pio.'open'("$temp_file", 'w')
     print pio, \$S0
-    close pio
-    pio2 = open    "$temp_file", 'r'
+    pio.'close'()
+
+    pio2 = new ['FileHandle']
+    pio2.'open'("$temp_file", 'r')
     \$S1 = pio2.'readall'()
     if \$S0 == \$S1 goto ok
     print "not "
@@ -812,6 +956,7 @@
 OUTPUT
 
 pir_error_output_like( <<'CODE', <<"OUTPUT", "stat failed" );
+.loadlib 'io_ops'
 .sub main :main
     .local pmc pio
     .local int len

Modified: trunk/t/pmc/nci.t
==============================================================================
--- trunk/t/pmc/nci.t	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/pmc/nci.t	Thu May 27 08:45:23 2010	(r47051)
@@ -608,24 +608,26 @@
 ok 1
 OUTPUT
 
-    pasm_output_is( <<'CODE', <<'OUTPUT', "nci_it" );
-  loadlib P1, "libnci_test"
+    pir_output_is( <<'CODE', <<'OUTPUT', "nci_it" );
+.loadlib 'io_ops'
+.sub 'main' :main
+  loadlib $P1, "libnci_test"
   printerr "loaded\n"
-  dlfunc P0, P1, "nci_it", "it"
+  dlfunc $P0, $P1, "nci_it", "it"
   printerr "dlfunced\n"
-  set S5, "ko\n"
-  set_args "0", S5
-  invokecc P0
-  get_results "0", I5
-  ne I5, 2, nok_1
+  set $S5, "ko\n"
+  set_args "0", $S5
+  invokecc $P0
+  get_results "0", $I5
+  ne $I5, 2, nok_1
   printerr "ok 2\n"
   end
 nok_1: printerr "nok 1\n"
-  printerr I5
+  printerr $I5
   printerr "\n"
   end
 nok_2: printerr "nok 2\n"
-  end
+.end
 CODE
 loaded
 dlfunced
@@ -636,6 +638,7 @@
     pir_output_is( <<'CODE', <<'OUTPUT', "nci_it" );
 
 .include "datatypes.pasm"
+.loadlib 'io_ops'
 
 .sub test :main
   loadlib $P1, "libnci_test"

Modified: trunk/t/pmc/string.t
==============================================================================
--- trunk/t/pmc/string.t	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/pmc/string.t	Thu May 27 08:45:23 2010	(r47051)
@@ -16,6 +16,7 @@
 
 =cut
 
+.loadlib 'bit_ops'
 
 .sub main :main
     .include 'test_more.pir'

Modified: trunk/t/pmc/stringhandle.t
==============================================================================
--- trunk/t/pmc/stringhandle.t	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/pmc/stringhandle.t	Thu May 27 08:45:23 2010	(r47051)
@@ -133,6 +133,7 @@
 
 pir_output_is(
     <<'CODE', <<'OUT', 'read opcode' );
+.loadlib 'io_ops'
 .sub 'test' :main
     $P0 = new ['StringHandle']
     $P0.'open'('README', 'w')
@@ -273,7 +274,7 @@
     $I0 = stringhandle.'eof'()
     if $I0 goto end_read_loop
 
-    test_line = readline stringhandle
+    test_line = stringhandle.'readline'()
     if test_line == "" goto end_read_loop
     test_line = chomp( test_line )
     $I1 = test_line

Modified: trunk/t/pmc/sub.t
==============================================================================
--- trunk/t/pmc/sub.t	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/pmc/sub.t	Thu May 27 08:45:23 2010	(r47051)
@@ -991,6 +991,7 @@
 unlink( $l1_pbc, $l2_pbc );
 
 pir_output_is( <<'CODE', <<'OUTPUT', "immediate code as const" );
+.loadlib 'trans_ops' # for atan
 .sub make_pi :immediate :anon
     $N0 = atan 1.0, 1.0
     $N0 *= 4

Modified: trunk/t/pmc/sys.t
==============================================================================
--- trunk/t/pmc/sys.t	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/pmc/sys.t	Thu May 27 08:45:23 2010	(r47051)
@@ -31,11 +31,12 @@
 
 .sub _test :main
      .local pmc O
-     open O, "$temp_pir", 'w'
+     O = new ['FileHandle']
+     O.'open'("$temp_pir", 'w')
      print O, ".sub _main :main\\n"
      print O, "\tsay \\"Hello, World!\\"\\n"
      print O, ".end\\n"
-     close O
+     O.'close'()
      load_bytecode 'config.pbc'
     .local pmc conf_hash
     conf_hash = _config()

Modified: trunk/t/pmc/testlib/packfile_common.pir
==============================================================================
--- trunk/t/pmc/testlib/packfile_common.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/pmc/testlib/packfile_common.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -7,6 +7,8 @@
 # Currently parrot doesn't support system independent PBCs. So, cross your
 # fingers and try different filename for binary-dependent tests...
 
+.loadlib 'io_ops'
+
 .sub '_filename'
     .local string filename
     filename = 't/native_pbc/number_1.pbc'

Modified: trunk/t/src/extend.t
==============================================================================
--- trunk/t/src/extend.t	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/t/src/extend.t	Thu May 27 08:45:23 2010	(r47051)
@@ -334,13 +334,13 @@
 print $TEMP <<'EOF';
   .pcc_sub _sub1:
   get_params ""
-  printerr "in sub1\n"
+  print "in sub1\n"
   set_returns ""
   returncc
   .pcc_sub _sub2:
   get_params "0", P5
-  printerr P5
-  printerr "in sub2\n"
+  print P5
+  print "in sub2\n"
   set_returns ""
   returncc
 EOF
@@ -471,8 +471,8 @@
 print $TEMP <<'EOF';
   .sub foo
       .param pmc input
-      printerr input
-      printerr "in sub2\n"
+      print input
+      print "in sub2\n"
       $P0 = new "Integer"
       $P0 = 42
       .return($P0)
@@ -540,9 +540,9 @@
 print $TEMP <<'EOF';
   .pcc_sub _sub1:
   get_params ""
-  printerr "in sub1\n"
+  print "in sub1\n"
   find_lex P2, "no_such_var"
-  printerr "never\n"
+  print "never\n"
   returncc
 EOF
 close $TEMP;

Modified: trunk/tools/dev/nci_thunk_gen.pir
==============================================================================
--- trunk/tools/dev/nci_thunk_gen.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/tools/dev/nci_thunk_gen.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -45,8 +45,10 @@
     sigs = 'read_sigs'()
 
     $S0 = 'read_from_opts'('output')
-    $P0 = open $S0, 'w'
-    setstdout $P0
+    $P0 = new ['FileHandle']
+    $P0.'open'($S0, 'w')
+    $P1 = getinterp
+    $P1.'stdhandle'(1, $P0)
 
     if targ == 'head'          goto get_targ
     if targ == 'thunks'        goto get_targ
@@ -708,7 +710,8 @@
 
 .sub 'read_sigs'
     .local pmc stdin, seen, sigs
-    stdin = getstdin
+    $P0 = getinterp
+    stdin = $P0.'stdhandle'(0)
     seen  = new ['Hash']
     sigs  = new ['ResizablePMCArray']
 
@@ -735,7 +738,9 @@
                 $S0 = 'sprintf'(<<'ERROR', full_sig, lineno, $I0)
 Ignored signature '%s' on line %d (previously seen on line %d)
 ERROR
-                printerr $S0
+                $P0 = getinterp
+                $P1 = $P0.'stdhandle'(2)
+                $P1.'print'($S0)
             end_dup_warn:
             goto read_loop
         unseen:
@@ -758,7 +763,7 @@
     .param pmc fh
 
     .local string line
-    line = readline fh
+    line = fh.'readline'()
 
     # handle comments
     $I0 = index line, '#'

Modified: trunk/tools/dev/pbc_to_exe.pir
==============================================================================
--- trunk/tools/dev/pbc_to_exe.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/tools/dev/pbc_to_exe.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -55,7 +55,8 @@
 
   open_outfile:
     .local pmc outfh
-    outfh = open cfile, 'w'
+    outfh = new ['FileHandle']
+    outfh.'open'(cfile, 'w')
     unless outfh goto err_outfh
     print outfh, <<'HEADER'
 #include "parrot/parrot.h"
@@ -215,7 +216,8 @@
 .sub 'generate_code'
     .param string infile
     .local pmc ifh
-    ifh = open infile, 'r'
+    ifh = new ['FileHandle']
+    ifh.'open'(infile, 'r')
     unless ifh goto err_infile
 
     .local pmc codestring
@@ -229,7 +231,7 @@
     .local string pbcstring
     .local int pbclength
 
-    pbcstring = read ifh, 16384
+    pbcstring = ifh.'read'(16384)
     pbclength = length pbcstring
     unless pbclength > 0 goto read_done
 
@@ -251,7 +253,7 @@
     goto read_loop
 
   read_done:
-    close ifh
+    ifh.'close'()
 
     push codestring, "\n};\n\nconst int bytecode_size = "
     $S0 = size
@@ -304,7 +306,8 @@
 .sub 'generate_code_gcc'
     .param string infile
     .local pmc ifh
-    ifh = open infile, 'r'
+    ifh = new ['FileHandle']
+    ifh.'open'(infile, 'r')
     unless ifh goto err_infile
 
     .local pmc encoding_table
@@ -323,7 +326,7 @@
     .local string pbcstring
     .local int pbclength
 
-    pbcstring = read ifh, 16384
+    pbcstring = ifh.'read'(16384)
     pbclength = length pbcstring
     unless pbclength > 0 goto read_done
 
@@ -346,7 +349,7 @@
     goto read_loop
 
   read_done:
-    close ifh
+    ifh.'close'()
 
     push codestring, '"'
     push codestring, "\n;\n\n"
@@ -430,7 +433,8 @@
     rc_contents .= "\"\n"
 
     .local pmc rc_fh
-    rc_fh = open rc_path, 'w'
+    rc_fh = new ['FileHandle']
+    rc_fh.'open'(rc_path, 'w')
     unless rc_fh goto err_rc_open
     print rc_fh, rc_contents
     $I0 = rc_fh.'close'()

Modified: trunk/tools/util/parrot-config.pir
==============================================================================
--- trunk/tools/util/parrot-config.pir	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/tools/util/parrot-config.pir	Thu May 27 08:45:23 2010	(r47051)
@@ -88,8 +88,10 @@
     end
 usage:
     $S0 = argv[0]
-    printerr $S0
-    printerr " [ <config-key> | --dump | --help ]\n"
+    $P0 = getinterp
+    $P1 = $P0.'stdhandle'(2)
+    $P1.'print'($S0)
+    $P1.'print'(" [ <config-key> | --dump | --help ]\n")
     exit 1
 .end
 

Modified: trunk/tools/util/pgegrep
==============================================================================
--- trunk/tools/util/pgegrep	Thu May 27 06:29:37 2010	(r47050)
+++ trunk/tools/util/pgegrep	Thu May 27 08:45:23 2010	(r47051)
@@ -81,6 +81,9 @@
 # Readability improved!
 .include 'hllmacros.pir'
 
+# for getstdin and friends
+.loadlib 'io_ops'
+
 .sub main :main
 	.param pmc argv # the script name, then our options.
 	.local string progname


More information about the parrot-commits mailing list